软件工程 - 个人博客系统 - 概要设计与详细设计文档

时间:2024-10-01 18:23:03

0.   

软件工程

应用与实践

  

个人博客系统

--- 概要设计与详细设计文档


一、体系结构设计

1.软件结构化设计概述

该阶段主要在于定义个人博客系统的主要结构元素及其之间的关系。

详细的数据流图已在需求分析文档中给出。通过功能划分过程来完成软件结构设计,设计基本模块如下:浏览登录、发表文章、发表评论、附件上传下载、文章管理、站点管理、站点自定义等。另外还有统计流量、设立网站日志等其他功能模块。

 

2.结构化分析过程

i.                根据数据流图决定问题的类型:变换型和事务型。针对两种类型分别进行分析处理。

ii.               由数据流图推导出系统的初始结构图。

iii.             利用启发式原则来改进系统的初始结构图,得到符合要求的结构图。

 

3.结构图


(原图较大,建议200%放大查看)

二、接口设计

1.软件接口设计概述

依据数据流图中的自动化系统边界设计个人博客系统与用户(站长)之间的交互。

 

2.软件与用户间交互的接口设计

以下用几个例子描述该个人博客系统的人机交互界面的设计。

i.               发表评论与查看评论

 

ii.             写文章

 

iii.           管理分类

 

iv.           管理评论

 

v.             管理文章

 

vi.           自定义站点

 

3.模块与软件构件间的接口设计

模块间接口主要以参数传递的形式体现,部分接口信息如下所示:

站长登陆 – 密码验证(用户名)

发表文章 – 添加附件(文章ID)

发表评论 – 合法性验证(评论ID)

发表评论 – 评论审核(评论审核标志)

评论审核 – 评论显示(文章ID)

下载附件 – 权限检查(身份信息)

使用模板 – 选择模板(模板信息)

网站备份 – 网站恢复(网站信息记录)

等模块接口,不再逐一列出。

 

4.软件与其他软硬件系统之间的接口设计

个人博客系统运行需要PHP环境和MySQL支持,需要相应的驱动程序。网站系统运行需要Apache/Tomcat服务支持。

打印网站日志记录等需要子系统和硬件打印机接口的支持。

 

三、数据设计

1.数据设计概述

E-R图、数据字典描述、状态图等已在需求分析文档中给出。根据分析模型中的实体关系图和数据字典进行数据设计,包括数据文件的设计和数据库设计。

 

2.文件设计

i.               数据量较大的非结构化数据

数据库站长信息表、文章信息表、附件信息表等设计的照片在数据库中是以文件路径的形式存在,即照片等非结构化数据用文件存储,在工程路径/bin/image/下保存。

ii.             历史记录、表单数据、网站备份还原等

在个人博客系统中进行操作后会有记录,相应的操作记录会保存在文件中备查。

在系统中进行诸如发表文章、评论行为时,可以用来记录网站日志,日志明细以excel文件的形式保存在工程文件目录下,需要时可从excel文件中调取信息。

进行网站备份时,当当前网站照样拷贝,存储在备份目录backup/下,并创建专用的备份日志文件记录备份信息。需要还原网站时,调取日志文件信息找到backup/下相应网站镜像进行还原操作。

iii.           非关系层次化数据,如系统配置文件

系统需要PHP环境才能运行,个人博客系统初始化时需要检测本机环境,配置正确方能进入系统,配置信息从配置文件中获得。

 

3.数据库设计

i.               数据对象实体的映射

横切:网站备份表内信息采用横切的方式,即备份信息凡是超过3个月的转移到历史表或者文件中存储。

 

竖切:各信息表中常用的属性是ID、某名称、密码、权限等属性,而该信息其他相关的存储如评论地址、登陆地址、联系方式等属性较少使用,因此将必要信息独立成表,而把其他不常用信息存储在其他表中。

ii.             关系的映射

站长信息(登录名,密码,昵称,头像,联系方式,站长说明)

主码:登录名 唯一

外码:登录名

 

网站信息(序号,站名,URL,数据时间,模板地址,插件地址,附件地址,是否已备份,其他信息)

主码:序号 唯一

外码:序号

 

模板信息(序号,名称,模板地址,是否可用,说明)

主码:序号

外码:模板地址

 

插件信息(序号,名称,插件地址,是否可用,说明)

主码:序号

外码:插件地址

 

附件信息(序号,名称,附件地址,是否可用,权限,说明)

主码:序号

外码:附件地址

 

文章信息(序号,题目,分类名称,文章地址,附件地址,浏览量,发布时间,作者,附件下载量,权限)

主码:序号

外码:分类名称 作者

 

分类(序号,分类名称,描述)

主码:序号 分类名称

外码:分类名称

 

信息统计(文章序号,浏览量,附件下载量,其他信息)

主码:文章序号

外码:浏览量 浏览量附件下载量

 

文章评论(文章序号,评论序号,评论时间,评论内容,评论人,回复序号)

主码:文章序号 评论序号

外码:回复序号

 

评论回复(文章序号,回复序号,回复评论序号,回复时间,回复内容,回复人)

主码:文章序号 回复序号

外码:回复评论序号

 

评论审核(审核序号,文章序号,评论时间,评论内容,评论人)

主码:审核序号

外码:文章序号

 

四、过程设计

1.详细设计阶段描述

确定个人博客系统各个组成部分内的算法及内部数据结构,并选定某些过程的表达形式来描述各种算法。

依据分析模型中的加工规格说明、状态转换图进行过程设计。针对过程设计阶段,对该系统的内部详细设计用程序流程图的方式表达。

 

2.程序流程图设计

程序流程图设计以如下功能示例:发表评论、浏览文章、下载附件、发表文章、备份网站等,其他诸多流程不再逐一列出。

 

i.               浏览文章

 

ii.             发表评论

 

iii.           下载附件

 

iv.           发表文章

 

v.             备份网站



--------------------------------------------------------------------------------------------------------

文档有些简陋。。 就这样吧。。

原创所有。

--------------------------------------------------------------------------------------------------------

END

2016/11/08