牛腩新闻发布系统之系统分析、后台设计

2024-08-26 01:48

本文主要是介绍牛腩新闻发布系统之系统分析、后台设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

牛腩新闻发布系统前17讲主要是针对系统分析及后台的设计和编码。主要包括以下几部分的工作:
1.系统设计说明书编写
首先应该明确自己要做的是什么,明确分析用户的需求,接下来就是要计划自己怎么去做这件事,最后还要考虑一下,如何才能更好的去完成这件事。文档编写主要包括以下几个方面:
(1)系统介绍(明确自己要做的是什么)
(2)系统功能图、数据库设计图
(3)数据库文档编写
这个主要是针对数据库的介绍,其中包含那几张表、表中包含哪些字段、字段的属性及说明等。
2.界面原型图设计(前台)
3.数据表操作代码编写
(1)用SQL语句建立数据库、表、字段
以前只是听说过可以在数据库里面写SQL语句进行建立数据库等的操作,看了牛腩老师的视频自己也学会了,真的很方便的,而且操作也非常的简单,以后就用这个办法建表啦。
(2)编写SQLHelper类
机房重构的时候就用到了SQLHelper类,真个重构下来这个数据库小助手确实给我们省了不少事哈。无非还是那些功能:数据库的连接与关闭、有参数的增删改和无参数的增删改方法、带参查询和不带参查询。将公用的东西放到一起,封装成一个类到时候用到哪个就直接调用一下就好啦。重构的时候虽然说是用到了这个类,但是是站在巨人的肩膀上,可以说更多是引用。看了牛腩视频之后,老师对SQLHelper类的编写是不断优化的,从繁琐到精简,我也是一步步的跟着操作,真正体会到了代码优化的过程。
(3)编写数据表操作类
牛腩新闻发布系统一共涉及到了三张表:新闻表、类别表、评论表。关系如下:


首先先把三者的关系理清了,明确各自需要实现的功能,接下来再说代码的事。举个最简单的例子:评论类DAL层代码设计
CommentDAO类包含的方法:
(1)根据新闻ID取出该新闻所有评论
(2)插入评论
(3)删除评论
这样将需要实现的方法先明确了,接下来是对数据库的一些操作了:查询、增加、删除。这个就是要调用SQLHelper类的相关增删改查的方法了。和七层的重构没有什么区别。

为了给DAL层减负,还用到了多个存储过程。既方便有减少了出错率。

期间如果我们想删除某一个新闻类别,因为设置了外键关联。其下面关联的还有相应的评论,关系到评论表,所以总是会提示出现错误,无法删除新闻类别。这个时候我们需要用到触发器。先看一段代码:

看了这个之后相信大家都明白触发器是做什么的了吧,哈哈,没错它可以实现级联删除功能:先删除某ID下的评论,再删除该ID的新闻,最后删除该类别、这样的话就大功告成了。

还需要注意的是使用该软件的人可能是丝毫没有软件编程基础的人,这样的话,还需要防止SQL的注入,如果使用者一不小心乱输了一串字符恰好执行了数据的某些操作,歪打正着,无意间破坏了软件。作为程序员,我们一定要对自己设计的软件考虑周全。之前只是听说过,也见到过别人对这放慢的总结,自己之前在设计软件的时候可能并没有进行破坏性试验,所以知道现在才真正认识它。举个例子:比方说,你想要搜索新闻,然后你不小心在输入框中输入了:
娱乐新闻c')delete category where id=4--
你在实现搜索新闻功能的时候,需要实现的是通过文本框中用户输入的信息,然后对应到数据库中,一旦写的不严谨,就有可能把文本框的这句话当成一个SQL语句执行了。


所以我们需要对自己的这段代码进行优化,避免SQL注入:不使用拼接的形式,用更为严谨的方式:使用带参数的SQL语句(在SQLHelper类中编写带参数的增删改方法)


4.编写BLL层代码
根据DAL层的方法编写BLL层代码,从而实现用户需求。很简单,就不多说了。

关于代码规范:
1、类头的注释
2、类中方法的注释

总结,至此为止算是基本上完成了牛腩新闻发布系统的系统分析、后台实现,接下来就该进行前台界面等的设计了。

这篇关于牛腩新闻发布系统之系统分析、后台设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1107203

相关文章

Windows系统宽带限制如何解除?

《Windows系统宽带限制如何解除?》有不少用户反映电脑网速慢得情况,可能是宽带速度被限制的原因,只需解除限制即可,具体该如何操作呢?本文就跟大家一起来看看Windows系统解除网络限制的操作方法吧... 有不少用户反映电脑网速慢得情况,可能是宽带速度被限制的原因,只需解除限制即可,具体该如何操作呢?本文

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设

电脑找不到mfc90u.dll文件怎么办? 系统报错mfc90u.dll丢失修复的5种方案

《电脑找不到mfc90u.dll文件怎么办?系统报错mfc90u.dll丢失修复的5种方案》在我们日常使用电脑的过程中,可能会遇到一些软件或系统错误,其中之一就是mfc90u.dll丢失,那么,mf... 在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包

电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案

《电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案》最近有不少兄弟反映,电脑突然弹出“mfc100u.dll已加载,但找不到入口点”的错误提示,导致一些程序无法正... 在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“找不到指定的模块”或“缺少某个DL

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

售价599元起! 华为路由器X1/Pro发布 配置与区别一览

《售价599元起!华为路由器X1/Pro发布配置与区别一览》华为路由器X1/Pro发布,有朋友留言问华为路由X1和X1Pro怎么选择,关于这个问题,本期图文将对这二款路由器做了期参数对比,大家看... 华为路由 X1 系列已经正式发布并开启预售,将在 4 月 25 日 10:08 正式开售,两款产品分别为华

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1