文档编号: LMS - 02 版 本 号:
V1.0
文档名称: 项目名称:
编写:
校对: 软件设计说明书 图书管理系统 学号 姓名 学号 姓名
审核: 日期: 院系: 专业:
学号 姓名 20xx年5月17日 通达学院 计算机科学与技术
1.
引言
1.1 编写目的
根据《需求规格说明书》,在仔细考虑讨论之后,我们又进一步对《博客管理系统》软件的功能划分、数据结构、软件总体结构进行设计,从而完成概要设计,作为软件详细设计的基础。
1.2 项目背景
项目委托单位:计算机学院软件工程系。
开发单位:通达学院计算机科学与技术专业。
博客管理系统软件 V1.0是一功能比较完善的数据管理软件,具有数据操作方便高效迅速等优点。该软件采用功能强大的数据库软件开发工具进行开发,可在应用范围较广的WINDOWS系列等操作系统上使用。
1.3 定义
Blog:Weblog的简称。网络日志,通常称为博客。
BMS:Blogs Mangement System,博客系统。
1.4 参考资料
[1] Roger S.Pressman《软件工程实践者的研究方法》。北京:机械工业出版
社,2008。
[2] 郑人杰,殷人昆,陶永雷。《实用软件工程》(第二版)。北京:清华大学
出版社,1997。
[3] 本设计《需求分析报告》。
2.
任务概述
2.1 目标
本文档用于描述“博客管理系统”项目的系统需求,为该项目概要设计,详细设计和测试用例的设计依据。该需求规格说明书供概要设计人员阅读。
角色:
2.2 运行环境 硬件:
处理器 :Intel486以上系列、AMD K6 以上系列
内存 :1G (非最低配置)
网络 :带宽1M(非最低配置)
软件:
操作系统:windows(2000、XP、vista、7)、Linux
数据库 :SQL Server 2008
客户端 :Internet Explore 6.0及以上
主流浏览器(firefox,chrome, opera等)
2.3 条件与限制
由于时间比较短,使用计算机不方便以及对于网络编程不熟悉,本博客管理系统功能不怎么太全面。对信息的保护手段仅限于设置用户级别,以及提供数据
文件的备份,比较简单,安全性能有待进一步完善。
3.
总体设计
3.1 处理流程
系统流程图
1. 主流程
1) 建立与数据库的连接
2) 获取系统设置
3) 显示主对话框(即主界面)
4) 等待用户输入,如为访客:进入访客流程(显示访客对话框)。如为
注册用户:进入注册用户流程(显示注册用户对话框)。如为系统管理:进入系统管理流程(进行授权)。如为退出:检查所有子窗口,关闭对话框,断开与数据库的连接。
2. 访客流程
1) 要求用户输入用户名,密码,验证码;
2) 访客身份检验;
3) 获取相关的用户信息并显示;
4) 等待用户操作,如为确认,点击博主主页导航:查看文章,发表评论,
留言。退出,则离开博主页面。
3. 博主流程
1) 要求用户输入用户名,密码,验证码;
2) 访客身份检验;
3) 获取相关的用户信息并显示;
4) 等待用户操作,如确认,点击发表日志,查看日志评论及留言,回复
评论及留言,修改日志等。退出,离开主页。
4. 日志流程
1) 等待用户输入,如为日志类别:日志ID,日志类别,日志类别描述,
日志所属博客ID;
2) 日志发表及显示:日志ID,日志标题,日志内容,日志类别ID,日
志发表时间,日志修改;
3) 日志评论:日志ID,日志评论标题,日志评论内容,回复时间,日志
发表时间,评论者用户名,评论日志ID。退出,返回主界面。
5. 留言流程
等待用户输入,若发表留言:输入留言ID,留言标题,留言内容,发表时间,回复时间,留言者名字,博客ID。退出,离开博客界面。
6. 系统管理流程
1) 要求用户输入账号及口令
2) 用户操作权限检验
3) 根据操作权限级别显示系统管理对话框
4) 等待用户输入,对用户发表留言管理,评论管理等。
7. 数据统计流程
1) 等待用户输入,如为开始统计: 读入统计条件,生成统计结果并显
示。如为返回:结束统计流程。
3.2
3.2.1 总体结构
1) 主模块调用: 访客模块,博主用户模块,日志模块,留言模块,系统
管理模块。
2) 访客模块调用:访客身份检验模块,访问记录模块,数据库操作模块
3) 博主用户模块调用:博主用户身份检查模块,更新日志记录模块,更新
留言记录模块,数据库操作模块。
4) 日志模块调用:数据库查询模块,数据显示模块。
5) 留言模块调用:数据库查询模块,数据显示模块。
6) 系统管理模块调用:系统管理员身份验证模块。
7) 系统管理员身份验证模块:数据库查询模块。
总体结构和模块外部设计
8) 访问记录模块:数据显示模块。
9) 更新日志记录模块:数据显示模块。
10) 更新留言记录模块:数据显示模块。
11) 访客身份检验模块调用:数据库查询模块。
12) 博主用户检验模块调用:数据库查询模块。
13) 访问记录模块调用:数据库查询模块。
3.2.2 模块外部系统性描述
博客信息管理系统分为面向网络用户的前台及面向个人博客维护管理的后台,依据博客网站中所要实现的基本功能的设定,将所有功能分解为如下四个主要的功能模块来加以实现。用户以合法的用户名及密码登录,系统即可按该登录用户的权限分配操作模块。
1. 博客注册登录管理模块
博客注册登录管理模块用于建立博客网站固定的客户群体,通过记录对应的博客档案,实现对博客信息的后台维护及管理,同时也便于通过博客档案库将网站最新动态及相关企业的信息方便地传达给每一位潜在的客户。
该功能模块实现了以下几个子功能。
(1)新博客在线注册。
(2)博客登录管理。
(3)跳转到博客主页。
只有进行登录并通过身份验证的用户,才可以在个人博客页面发表日志,并借助个人设置实现对个人博客相关信息的管理维护。对于没有经过身份验证的网
络用户不允许在博客页面中发表日志,更不允许对博客页面信息进行管理维护。
该模块实现新博客的注册及登录验证功能。其中,注册新博客时会对用户输入的注册信息进行有效性验证,包括基本数据格式的有效性以及逻辑有效性,例如,用户名被占用时将及时给出提示。注册成功的博客登录时,会随时根据博客输入的登录信息进行提示,如用户名错误或者密码错误。
2. 博客及文章检索查询模块
博客及文章检索查询模块为网络用户提供便捷的搜索,以及日志阅读浏览等功能,同时对日志的评论信息、博客推荐也能够及时反馈给网络用户。
该功能模块实现了以下几个子功能。
(1)热门博客页面推荐。
(2)最新博客日志推荐。
(3)日志信息关键字搜索。
该模块能够在网页中随时提供在线的最新日志信息。该信息需要定期更新,网络用户可以随时获得最新日志以及最热门的博客推荐。在客户选择了某个博客或者某个感兴趣的日志后,可以方便地跳转到对应博客页面进行日志的阅读,并和博客进行交流互动。
为了使网络用户尽快定位到所需的博客资料及日志信息,本模块提供了搜索功能,用户可以对所关注的日志信息按照标题进行关键字搜索,以避免用户浏览多个页面来寻找所需的日志信息。
3. 博客页面显示模块
当网络用户进入某个人博客主页后,在该页面中将提供博客日志列表的显示,同时为了方便用户浏览,在该模块中提供根据分类名进行日志列表的显示,也提供日志评论的浏览,此外还允许用户在博客页面中发表评论及留言。
该功能模块实现了如下几个子功能。
(1)用户可以分页查看对应的日志内容及评论信息。
(2)用户可以针对日志内容发表评论。
(3)用户可以针对博客进行留言。
(4)用户可以分类查看日志内容。
在该模块中还提供了博客页面统计信息,日志、评论及留言信息分页显示等方便用户的显示效果。
4. 博客个人维护管理模块
博客个人维护管理模块用于实现用户对博客个人主页及相关信息的动态管理。
该功能模块实现了如下几个子功能:
(1)日志及日志分类管理。
(2)评论及留言管理。
(3)个人基本信息维护管理。
借助该模块,用户可以随时对个人博客主页中的内容进行增加或修改,包括日志分类信息的更新、评论及留言管理等功能,也允许用户对博客的个人信息进行维护及其管理。
3.3
功能分配
1. 浏览功能:
2. 更新功能:
3. 管理功能:
日志模块,留言模块 更新日志记录模块,更新留言记录模块,数据显示模块 系统管理模块,数据库查询模块
4. 权限验证功能: 博主用户身份检查模块,访客身份检验模块,系统管理
员身份验证模块
4.
接口设计
4.1 用户接口
使用基于对话框的GUI,用户通过鼠标的点击和键盘的输入完成操作,编辑框用于用户的输入。
4.2 外部接口
1.用户界面
使用Windows的标准对话框的形式,完全用对话框实现。应用工具:Visual C++。
1) 主对话框:三个文本框-用户名、密码、验证码;
两个按钮-确认、退出。
2) 博主用户对话框:
用户ID编辑框: 用于输入博客ID;
1个链接按钮:用于写日志;
日志显示区: 用于显示博主发布日志;
留言板显示区:用于显示所有用户留言信息;
两个文本区:日志与留言填写;
留言提交按钮:提交留言请求;
退出按钮。
3) 访客对话框:
用户ID编辑框: 用于输入博客ID;
查询方式复选框:用于选择查询所需满足的条件的文章;
两个文本区:日志与留言填写;
留言提交按钮:提交留言请求;
提交按钮:用于提交还书请求;
返回按钮:用于退出对话框。
4) 系统管理员对话框:
对文章评论与留言验证的两个确认按钮,两个删除按钮; 发送提示信息到受验证用户文本框;
确认,取消按钮;
退出查询按钮:用于退出对话框。
5) 更改口令对话框:
旧口令输入框:输入旧口令;
新口令输入框:输入新口令;
新口令确认输入框:再输入一次新口令;
确认按钮:确认输入的新口令,并提交。
2.软件接口
使用Access数据库的驱动程序,通过ODBC接口访问。
4.3 内部接口
1. 主模块:
输入:操作系统传递至的各种消息以及用户的输入数据
输出:用户界面显示
上层模块:无
下层模块:访客模块、博客用户模块、系统管理模块、日志模块、留言模块、更新日志记录模块、更新留言记录模块、数据显示模块、数据库查询模块、博主用户身份检查模块,访客身份检验模块,系统管理员身份验证模块。
2. 访客模块:
输入:用户名、密码、验证
输出:访客界面,可进入其他博主页面
上层模块:主模块
下层模块:日志模块、留言模块、数据显示模块、数据库查询模块,
访客身份检验模块
3. 博主模块:
输入:用户名、密码、验证
输出:博客界面,文章发表,留言查看,可进入其他博主页面 上层模块:主模块
下层模块:日志模块、留言模块、数据显示模块、数据库查询模块、
更新日志记录模块、更新留言记录模块、博主身份检验模块
4. 系统管理员模块:
输入:用户名、密码、验证
输出:进入管理员界面,可进入其他博主页面,对留言及评论审核 上层模块:主模块
下层模块:数据显示模块、系统管理员身份验证模块
5.日志模块:
输入:查询,发表,更新
输出:进入博主界面,对博主文章评论
上层模块:主模块,访客模块,博主模块
下层模块:更新日志记录模块、数据显示模块、数据库查询模块
6.留言模块:
输入:查询,发表
输出:进入博主留言员界面,对博主留言
上层模块:主模块,访客模块,博主模块
下层模块:更新留言记录模块、数据显示模块、数据库查询模块
4.4 功能分配
5. 浏览功能:
6. 更新功能:
7. 管理功能:
8. 权限验证功能: 博主用户身份检查模块,访客身份检验模块,系统管理日志模块,留言模块 更新日志记录模块,更新留言记录模块,数据显示模块 系统管理模块,数据库查询模块
员身份验证模块
5. 数据结构设计
5.1 逻辑结构设计
博客信息管理系统涉及的实体包括:
(1)用户:用户ID、用户名称、用户密码、博客主题、说明、E-mail、注
册日期、发表日志数。
(2)类别:类别编号、类别名、类别描述、用户ID。
(3)日志:日志编号、日志标题、日志内容、类别编号、发表日期、最后
修改日期、用户ID、浏览次数、评论数。
(4)评论:评论编号、评论标题、评论内容、发表日期、最后回复日期、
评论人、日志编号。
(5)留言:留言编号、留言标题、留言内容、发表日期、最后回复日期、
留言人、用户ID。
综合本系统各子模块要实现的功能,通过前面对博客信息系统数据的分析可以得到:用户表、类别表、日志表、日志评论表、留言表的数据库概念模型(E-R图)。
用户E-R图如图5.1所示。
图5.1 用户E-R图
日志类别E-R图如图5.2所示。
图5.2 日志类别E-R图
日志E-R图如图5.3所示。
图5.3 日志E-R图
日志评论E-R图如图5.4所示。
图5.4 日志评论E-R图
留言E-R图如图5.5所示。
图5.5 留言E-R图
5.2 物理结构设计
5.3 数据结构与程序的关系
主模块: 连接数据库;
博主用户模块:对博客的创建,调用日志模块、留言模块对博客数据库更新 日志模块: 日志管理显示模块列出了日志ID、日志标题以及相应的操作:编辑日志和删除日志。根据选择的分类显示当前分类下的日志列表。当然,对日志进行操作的前提条件是当前登录用户具备相应的管理权限。
留言模块:数据库更新留言。
系统操作模块:对日志模块,留言模块,调用数据库操作模块对各个库进行相应操作,对数据进行备份,在授权操作中检验用户身份。
数据的物理结构由使用的数据库决定。
6.
运行设计
6.1 运行模块的组合
程序启动后,进入主模块,用户的单击对话框按钮事件触发主模块调用各下层模块,进入对应的子对话框,同样由用户的输入触发这些模块调用其下层模块,完成相应操作。
6.2 运行控制
本软件控制流程:主程序运行,等待用户的输入,根据用户的输入调用各子模块。
6.3 出错处理及安全保密设计
1. 提供丰富的出错提示信息;
2. 提供一定的保密手段。
6.4 维护设计
第二篇:系统软件设计说明书格式
《软件工程导论》 系统软件设计说明书格式 附:系统软件设计说明书格式:
XXXXXX系统软件设计说明书
1 引言
1.1 编写目的
说明编写本软件设计说明书的目的。
1.2 背景说明
(1) 给出待开发的软件产品的名称;
(2) 说明本项目的提出者,开发者及用户;
(3) 说明该软件产品将做什么,如有必要,说明不做什么。
1.3 术语定义
列出本文档中所用的专门术语的定义,和外文首字母组词的原词组。
1.4 参考资料
列出本文档中所引用的全部资料,包括标题、文档编号、版本号、出版日期及出版
单位等,必要时注明资料来源。
2 总体设计
2.1 需求规定
说明对本软件的主要输入、输出、处理的功能及性能要求。
2.2 运行环境
简要说明对本软件运行的软件、硬件环境和支持环境的要求。
2.3 处理流程
说明本软件的处理流程,尽量使用图、文、表的形式。
2.4 软件结构
在DFD图的基础上,用模块结构图来说明各层模块的划分及其相互关系,划分原则
上应细到程序级(即程序单元),每个单元必须执行单独一个功能(即单元不能再
分了)。
3 运行设计
3.1 运行模块的组合
说明对系统施加不同的外界运行控制时所引起的各种不同的运行模块的组合,
湖北师范学院计算机科学系软件教研室 - 1 -
《软件工程导论》 系统软件设计说明书格式
说明每种运行所经历的内部模块和支持软件。
3.2 运行控制
说明各运行控制方式、方法和具体的操作步骤。
4 系统出错处理
4.1 出错信息
简要说明每种可能的出错或故障情况出现时,系统输出信息的格式和含义。
4.2 出错处理方法及补救措施
说明故障出现后可采取的措施,包括:
(1) 后备技术。当原始系统数据万一丢失时启用的副本的建立和启动的技术,如周
期性的信息转储;
(2) 性能降级。使用另一个效率稍低的系统或方法(如手工操作、数据的人工记录
等),以求得到所需结果的某些部分;
(3) 恢复和再启动。用建立恢复点等技术,使软件再开始运行。
5 模块设计说明
以填写模块说明表的形式,对每个模块给出下述内容:
(1) 模块的一般说明,包括:名称、编号、设计者、所在文件、所在库、调用本模块的
模块名和本模块调用的其他模块名;
(2) 功能概述;
(3) 处理描述,使用伪码描述本模块的算法、计算公式及步骤;
(4) 引用格式;
(5) 返回值;
(6) 内部接口,说明本软件内部各模块间的接口关系,包括:
a) 名称,
b) 意义,
c) 数据类型,
d) 有效范围,
e) I/O标志;
(7) 外部接口,说明本软件同其他软件及硬件间的接口关系,包括:
a) 名称,
b) 意义,
c) 数据类型,
湖北师范学院计算机科学系软件教研室 - 2 -
《软件工程导论》 系统软件设计说明书格式
d) 有效范围,
e) I/O标志,
f) 格式,指输入或输出数据的语法规则和有关约定,
g) 媒体;
(8) 用户接口,说明将向用户提供的命令和命令的语法结构,以及软件的回答信息,包
括:
a) 名称,
b) 意义,
c) 数据类型,
d) 有效范围,
e) I/O标志,
f) 格式,指输入或输出数据的语法规则和有关约定,
g) 媒体。
湖北师范学院计算机科学系软件教研室 - 3 -