系统概要设计说明书项目名称_________11社区_________ 拟制人____ _审核人_________ ___________批准人____ _编著日期____ ______目录目录1. 引言 (1)1.1 编写目的 (1)1.2 预期读者和阅读建议 (1)1.3 参考资料 (1)1.4 术语与缩略语 (1)2. 设计概述 (2)2.1 限制和约束 (2)2.2 设计原则和设计要求 (2)3. 系统的软件架构 (3)4. 子系统的结构和功能模块 (4)5. 系统接口、数据库设计规划 (7)5.1 接口设计 (7)5.2 数据库设计 (8)5.2.1 结构设计 (8)5.2.2 运用设计 (11)6. 难点及处理方案 (13)7. 文档历史 (13)1. 引言1.1 编写目的从该阶段考试正式进入软件的实际开发阶段,本阶段完成系统的大致设计并明确系统的数据库与软件结构。
在系统设计阶段主要是把一个软件需求转化为软件表示的过程,这种表示只是描述软件的总的概貌。
本概要设计说明书的目的就是进一步细化软件设计阶段得到的软件总体概貌,把它加工成在程序细节上非常接近于源程序的软件表示。
在完成了“11社区”系统的可行性研究和需求分析的基础上,为了明确软件需求、安排项目规划与进度,组织软件开发和测试,项目小组在考虑了几种可能的解决方案,并对每种方案进行深入探讨后,提出了这份概要设计说明书。
此概要设计说明书对BBS管理系统软件的软件架构、模块细化、程序的总体结构、接口设计以及数据库设计规划等方面做了全面的概括性说明,为“11社区”系统的详细设计奠定了基础。
1.2 预期读者和阅读建议该文档的预期读者为“11社区”程序开发员、系统设计师以及测试工程师等。
本文档主要针对“11社区”设计概述、软件架构、子系统的结构和模块功能以及系统接口、数据库设计规划等方面进行了详细的说明,笔者建议,在阅读本文档之前,细细阅读“术语与缩略语”部分,这将有利于您对本文档的理解。
对于程序开发员,笔者建议仔细阅读系统的软件架构及子系统的结构和功能模块部分,了解每个功能模块之后,这样对系统的功能及运行模式将有整体的把握,然后阅读后面几部分内容,有利于“11社区”系统的实现。
而测试工程师应把重点放在系统接口、数据库设计规划以及数据库设计上,在系统测试过程中,最容易出错的就是这两方面。
总之,笔者建议读者根据自己阅读本文档的目的选择着重点,这样在满足需求的同时提高效率。
1.3 参考资料[1] 王宜贵.软件工程[M].北京:机械工业出版社,2002:20-79[2] 孙卫琴.精通struts[M].北京:电子工业出版社,2004:50-70[3] 孙卫琴.精通hibernate[M].北京:电子工业出版社,2005:100-120[4] 张洪斌.java2高级程序设计[M].北京:中科多媒体出版社,2001:85-90[5] 林信良.spring2.0技术手册[M].北京:电子工业出版社,2006:50-100[6] 耿祥义编著.JSP基础编程[M].北京:清华大学出版社,2004:55-162[7] 孙鑫编著.Java Web开发详解[M].北京:电子工业出版社,2006:189-2741.4 术语与缩略语无2. 设计概述2.1 限制和约束1、技术条件:本系统涉及到开发平台的搭建、网站开发的框架设计、html基础、jsp 基础、java基础,我们学习的仅仅是皮毛而已,还需要进一步的学习。
2、资金状况:3、开发环境(包括:工具和平台);由于是个人电脑,所以硬件设施可能在性能上比较差;软件全部是免费的,功能可能会受到相应的限制;对windows xp比较熟悉,所以开发主要是在这个平台上进行的;4、时间限制:除了本系统的开发以外,本组成员还有其他的任务,不能将全部精力都放在本系统的开发上。
5、客户需求会经常变更,影响项目的进度。
在上述条件下,应该实现的系统目标为:以水木社区为模板,开发一个更适合师大全体师生交流的社区平台。
实现的主要功能和水木社区相似,为:会员注册、会员登陆、会员管理、论坛版块管理、帖子管理、帖子发表、帖子回复、帖子浏览、帖子检索、意见建议;但是要进行一定的改进,增加投票栏目、资源共享、新生家园、新手上路、版块介绍等这几个板块。
2.2 设计原则和设计要求“11社区”系统开发过程中的设计原则和设计要求见表 2-1。
表 2-1 设计原则及要求表设计原则及要求设计详述命名规则所有数据、模块、功能等命名要见名知意模块独立性原则高内聚低耦合边界设计原则边界明确,无模棱两可的说法灵活性要求①系统运行不响应时间不能超过10秒。
②对系统进行操作时,响应时间在5秒之内。
③多用户操作时,时间和相应的要求同上。
数据库设计规则①数据的共享性。
②数据独立性。
③数据的完整性,即保证数据库存中数据准确。
④灵活性,可在相当短的时间内回答用户的各种各样的复杂而灵活的查询问题。
⑤安全性与保密性,做到对数据指定保护级别和安全控制。
①权限控制根据不同用户角色,设置相应权限,用户的重要操作都做相应的日志记录以备查看,没有权限的用户禁止使用系统。
普通用户只能删除自己的发帖、跟帖内容;而版主、超级版主、系统管理员可以删除所有人的发帖、跟帖的内容。
安全措施及安全性和保密原则②重要数据加密本系统对一些重要的数据按一定的算法进行加密,如用户口令、重要参数等。
③数据备份允许用户进行数据的备份和恢复,以弥补数据的破坏和丢失。
④记录日志本系统应该能够记录系统运行时所发生的所有错误,包括本机错误和网络错误。
这些错误记录便于查找错误的原因。
日志同时记录用户的关键性操作信息。
⑤系统安全措施可靠、高效、可维护性好,有权限控制、口令控制、临时锁定控制,其中口令录入界面便于系统识别登录用户可靠性需求系统运行具有较高的可靠性,提供严格的并发控制,确保数据的一致性和正确性易操作性要求①界面人性化,方便操作,操作流程合理尽量从用户角度出发,以方便使用本产品。
如:发帖时,敲入回车键光标的自动跳转、输入法的自动转换,信息检索时输入汉语简拼快速检索到结果等。
可以通过快速键方便用户录入信息,所有操作可仅通过键盘完成。
②支持没有计算机使用经验、计算机使用经验较少及有较多计算机使用经验的用户均能方便地使用本系统。
③控制必录入项本系统能够对必须录入的项目进行控制,使用户能够确保信息录入的完整。
同时对必录入项进行有效的统一的提示。
④用户可自定义为了满足业务的不断变化,一些重要的参数应该可以灵活设置。
⑤联机帮助与操作指南。
可维护性要求为了保证系统的可维护性,要求具有详细的文档资料,同时,要求系统在功能设计上考虑可扩展性,以满足业务变动的需求。
从用户的实际需要出发进行系统开发,不盲目追求高新技术的应用3. 系统总体结构图根据系统需求说明书,方便网站的开发、维护,切合模块“高内聚、低耦合”思想,特将11社区管理系统分解为3个子系统:会员管理系统、帖子管理系统,后台管理系统。
会员管理系统主要负责用户信息的管理,如用户登录、注册等。
当用户发帖或回复帖子时,将由帖子管理系统进行处理。
若需对用户信息、站内帖子、站内版块进行综合管理,则需由后台管理系统完成。
系统的总体结构图见图3-1。
“11社区”管理系统会员管理子系统帖子管理子系统后台管理子系统会员登录会员注册帖子回复帖子查询用户管理帖子管理版块管理好友查找资料修改帖子发表图3-1系统的总体结构图根据系统的总结结构图,“11社区”子系统划分表见表3-1。
子系统编号英文名称中文名称业务职能SubSystem1 Member ManagerSystem会员管理子系统实现用户信息的管理,包括用户注册、登录,用户信息修改。
SubSystem2 Tip ManagerSystem帖子管理子系统实现用户发帖、回复、查找、删除帖子等功能。
SubSystem3Back-stageManager System后台管理子系统实现管理员对会员、帖子、论坛的管理。
管理员可对会员进行注册验证,修改会员信息,删除会员信息;删除、置顶帖子;改善站内版块功能。
4. 子系统的结构和功能模块会员管理子系统:在此子系统中,为了降低其复杂度,根据用户的不同操作,再将其分为会员注册、会员登录、好友查找、资料修改四个模块。
其具体分配模块见图4-1。
会员管理子系统会员登录会员注册好友查找资料修改图4-1 会员管理子系统模块划分图会员管理子系统模块划分见表4-1。
表4-1 会员管理子系统模块划分表模块编号英文名称中文名称业务职能所属子系统Module1-1 Member Login 会员登录实现用户的登录功能SubSystem1 Module1-2 Member Register 会员注册实现用户的注册功能SubSystem1 Module1-3 Member Search 好友查找实现用户对站内会员的查询SubSystem1 Module1-4 MemberInfo 资料修改实现用户对注册个人资料进SubSystem1Update 行修改找3个模块,其具体分配模块见图4-2。
帖子管理子系统帖子发表帖子回复帖子查找图4-2 帖子管理子系统模块划分图帖子管理子系统模块划分见表4-2。
表4-2 帖子管理子系统模块划分表模块编号英文名称中文名称业务职能所属子系统Module2-1 Tip Post 帖子发表完成用户在站内发表帖子功能SubSystem2Module2-2 Tip Reply 帖子回复完成用户对某帖子进行回复功能SubSystem2Module2-3 Tip Search 帖子查找完成用户对自己需要的帖子进行查询功能SubSystem2操作对象不同,将其分为三个模块:用户管理、帖子管理和版块管理。
其具体分配模块见图4-3。
后台管理子系统用户管理帖子管理板块管理图4-3 后台管理子系统模块划分图后台管理子系统模块划分见表4-3。
表4-3 后台管理子系统模块划分表模块编号英文名称中文名称业务职能所属子系统Module3-1 MemberManagement 用户管理实现管理员对于违反站内制度的会员,可将其禁言或删除其ID SubSystem3Module3-2 TipManagement 帖子管理实现管理员根据需要对某些帖子进行置顶或移动操作。
SubSystem3Module3-3 BoardManagement 版块管理实现管理员对版块根据需要进行添加新版块、删除旧版块、完善现有版块功能。
SubSystem3userDAO10..*1+findById() : User +addUser()+deleteUser()+updateUser()+findAll()<<interface>>UserDAO+find()+add()+delete()+update()+listAll()<<interface>>UserServiceUserDAOImp-userDAO : UserDAOUserServiceImp -boardid : Integer -boardname : String -parentid : IntegerBoard-userid : Integer -username : String -userpassword : String -flag : intUser-tipid : Integer -title : String -content : String -userid : Integer -boardid : IntegerTip-replyid : Integer -content : String -userid : Integer -tipid : IntegerReply10..*10..*0..*11+delete()+findById() : Tip +findListByUserId()+findListTip()+save()<<interface>>TipDAOTipDAOImp-tipDAO : TipDAOTipServiceImp +delete()+findById()+findListByUserId()+findListTip()+save()<<interface>>TipService11+boardDelete()+boardSave()+boardUpdate()+findBoard()+findBoardById() : Board+findParentBoard()<<interface>>BoardDAOBoardDAOImp+delete()+save()+update()+findBoard()+findBoardById() : Board +findParentBoard()<<interface>>BoardService-boardDAO : BoardDAO BoardServiceImp 11+findById() : Reply +findCountReply()+findListReply()+save()<<interface>>ReplyDAOReplyDAOImp+findById() : Reply +findCountReply()+findListReply()+save()<<interface>>ReplyService-replyDAO : ReplyDAOReplyServiceImp 11replyDAOboardDAO tipDAO图 4-4 “11社区”类图5. 系统接口、数据库设计规划5.1 接口设计5.1.1 外部接口在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。