从新闻发布系统看软件工程

最近看牛腩老师的新闻发布系统,听他一步一步边做边讲。

实现一项工程,尤其是前期准备/设计到代码,所谓建模。

(注意:以下例子均以新闻发布系统为例)

-

一、前期准备,从硬件设备到软件安装。硬件不多说,软件的安装就要尽量周到齐全、专业。

例如,一个web系统的开发:

必备软件(开发工具):

Visual Web DeveloperSQL ServerSQL Server Management

其他软件(辅助工具):

DreamweaverFlashPhotoshop

浏览器(测试效果):

FirefoxOperaChromeIE6/7/8IETester

UML画图工具:

JUDE/Rose/EA

-

二、建模阶段:

首先要给这项工程分配一个WorkSpace工作空间,以存放有关此工程的所有文件。

其次,开始设计或阅读我们的文档(需求分析、概要设计、详细设计)

主要概括为以下几点:

1)系统介绍,即主要功能概括。

(能够实现后台人员添加新闻,浏览者能够在前台浏览新闻并发表评论。)

 

2)功能,功能详述。

角色   对象   操作

前台:浏览者(浏览新闻,发表评论,搜索新闻)

后台管理员:新闻类别(增加,删除,修改);新闻管理(增加,修改,删除);评论管理(删除,添加在前台,不能修改,只能删除))

 

3)数据库设计,根据功能来抽象实体类

新闻发布系统,需要管理类别,管理新闻,管理评论,抽象出基本实体类及他们的属性及属性数据类型。

类别表category(一级分类):idint(自增长类型)namestring

新闻表newsidinttitlestringcontentstringcreateTimeDatecaId:int(一对多)

评论表commentid:intcotent:stringcreateTime:datenewsId:int(一对多的关系)userIpstring

 

4)生成数据库文档:

名称 类型 说明

 

5)界面模拟图设计

i  首先是页面框架,也就是母版页。比如顶部应该有一个logobanner了,可以安置一个搜索栏啦,中间是内容区域,尾部有一个版权声明啦之类。

ii  然后设计网站主体内容,首页,新闻列表页和新闻内容页。

首页,首页套用母版页,内容可仿照其他网站首页模式,放置一些网站重要功能的内容。如新闻发布系统,主要功能是让人们浏览新闻,首页就要放置一些和帮助人们浏览新闻有关的内容,如新闻分类、最新新闻、热点新闻之类。

由首页新闻分类可进入新闻列表页,以便查看某一类别新闻,并方便切换到其它分类的新闻列表。

单击某一新闻的新闻标题,进入内容项,这里是新闻的主要内容,同时也要方便导航到其他新闻页,比如母版页中的logobanner导航到首页,新闻分类导航到其他分类页。新闻下部是其他浏览者都该新闻的评论,并可添加评论。

iii  再然后是一些功能页,包括辅助功能(搜索结果页)和后台管理(登陆页,后台管理页),还有就是错误页。

 

6)数据表操作类设计,针对各个表,有哪些操作

例如:

对类别表操作类:

取出当前所有新闻分类

增加类别

修改类别

删除类别(连同其下的新闻及新闻评论一起删除)

判断类别名称是否已存在

 

对新闻表操作类:

取出最新10条新闻(所属分类,新闻标题,发布时间)

取出10条热点新闻(所属分类,新闻标题,发布时间)

根据类别ID取出该类别下的所有新闻(所属分类,新闻标题,发布时间)

根据新闻ID取出该条新闻主体内容(所有,分类,标题,内容,发布时间)

根据标题搜索新闻

根据内容搜索新闻(全文索引更好些,这里用单纯的sql语句)

增加新闻

修改新闻

删除新闻(连同其下新闻评论一起删除)

 

对评论表操作类:

根据新闻ID取出该新闻的所有评论(评论ID,评论内容,时间,IP

添加评论

(注册用户能够修改他发表的评论)

删除(违禁)评论

 

7)代码规范

数据库命名,类命名及属性/方法名命名,变量命名等。

8)代码

--

写的比较零散,由前期准备(硬软件),然后初步文档(展现功能),UML图建立架构辅助文档,数据库设计,界面设计(可放置后面),类设计(针对功能)。

 

你可能感兴趣的:(sql,server,dreamweaver,string,数据库,文档,uml)