软件工程专业设计指导书.docx
《软件工程专业设计指导书.docx》由会员分享,可在线阅读,更多相关《软件工程专业设计指导书.docx(50页珍藏版)》请在冰豆网上搜索。
软件工程专业设计指导书
软件工程专业设计指导书
主编:
庄凯
适用专业:
软件工程
2015年8月
目录
第一章概述
1.1设计的目的和意义
本专业设计是软件工程专业的必修课程。
本专业设计是在学生学习完《程序设计语言》,《面向对象的系统分析与设计》、《数据库原理及应用》和《软件工程》等后开设的。
在前期专业的学习过程中,同学们掌握了软件开发的基本理论,并能用软件工程的理论指导软件开发的各个开发过程。
能用面向对象的系统分析方法分析系统,可以用数据库理论指导数据库的设计,会用程序设计语言完成系统实现。
通过综合性设计的设计,使软件工程专业的学生综合训练自己的分析问题、解决问题的能力,积累软件开发的工作经验,结合所学的软件开发理论,指导综合性应用系统的开发实践,提高学生专业开发所需具备的专业素质以及团队协作能力。
为以后完成毕业设计和从事软件系统开发工作打下坚实的基础。
1.2设计类型
本专业涉及到的设计类型主要是综合型设计设计。
本专业综合设计的推荐方法:
●充分理解题目内容,明确题目需求,从题目介绍和实际情况出发,找出一些隐含条件或者隐含的需求。
●查阅有关资料,画出必要的图表,按照软件工程的原理和方法来解决问题。
●着重从工程的角度和实际应用去考虑问题,从反复的动手做中积累经验。
●按照软件工程的要求,训练软件文档的书写能力,多画图、多分析,从图表中分析,把分析设计的结果用图表表示出来。
●和同组的同学充分合作,利用团队精神进行软件开发。
1.3设计的设计题目
1.公开信息管理系统设计
2.教师信息管理系统设计
3.教学信息管理系统设计
4.新闻发布审核信息管理系统设计
5.通知发布审核信息管理系统设计
6.文档信息管理系统设计
7.科研项目信息管理系统设计
8.设备信息管理系统设计
9.图书信息管理系统设计
10.资料信息管理系统设计
11.专业设计题目信息管理系统设计
12.学生评教信息管理系统设计(*)
13.选课信息管理系统设计(*)
14.学生成绩信息管理系统设计(*)
15.研究生信息信息管理系统设计
16.党建信息管理系统设计
17.网上答疑信息管理系统设计
18.消息传递信息管理系统设计
19.门诊挂号信息管理系统设计
20.药店管理系统设计(*)
21.题库管理系统设计(*)
说明:
带(*)的题目,相对难度要大一些。
1.4设计内容的要求
根据本专业的要求,对设计题目的基本内容作了如下设定:
1.公开信息管理系统设计
本设计目的在于面向外界介绍学院的公共信息,达到宣传学院的目的。
介绍的信息包括:
学院历史、专业介绍、部门介绍、设计室介绍、教师信息、学生信息、认证培训等信息,具体的信息在设计的实际调研过程中收集获得。
显示页面美观大方,页面操作方便简易,维护工作动态方便。
2.教师信息管理系统设计
本设计完成对教师基本信息管理。
教师基本信息包括个人基本情况,个人简历,教学经历,奖惩记录等。
能让教师方便地管理自己的基本信息(上传自己的信息、在线更新信息等);学院能方便地从教师基本信息中选取一些作为学院的统计信息使用(比如:
教师的姓名、所属教研室、职称、通信方式等)。
3.教学信息管理系统设计
本设计完成对教学基本信息管理。
教学信息包括教学专业信息,教学研究专业信息,专业介绍信息等。
主要完成教学基本信息的入库、更新、查询与统计等功能。
4.新闻信息管理系统设计
本设计实现新闻的提交、审核、发布等工作。
工作人员可网上提交要显示新闻;管理员审核新闻,通过审核的新闻可以显示在网上供大家阅览;并给浏览者提供查询功能。
5.通知信息管理系统设计
本设计实现通知的提交、审核、发布等工作。
工作人员可网上提交要显示的通知;管理员审核通知,通过审核的通知可以显示在网上供大家阅览;并给浏览者提供查询功能。
6.文档信息管理系统设计
本设计实现文档信息的管理工作。
教师网上填写文档信息,管理人员审核信息,教师可网上查询通过审核的科研信息,学院可以统计整个学院的科研情况以及各教研室的科研情况。
7.科研项目信息管理系统设计
本设计实现科研信息的管理工作。
教师网上填写科研信息,管理人员审核信息,教师可网上查询通过审核的科研信息,学院可以统计整个学院的科研情况以及各教研室的科研情况。
8.设备信息管理系统设计
本设计实现设备信息管理工作。
管理员网上维护这些信息,教师可查询相关资料,并设备领用等功能。
9.图书信息管理系统设计
本设计实现图书信息管理工作。
管理员网上维护这些信息,教师可查询相关资料,并实现借书等功能。
10.资料信息管理系统设计
本设计实现资料信息管理工作。
管理员网上维护这些信息,教师可查询相关资料,并实现借阅等功能。
11.专业设计题目信息管理系统设计
本设计实现专业设计题目的管理工作。
教师网上提交申报信息;学生可以网上查看、选报题目;教师审核学生的申请,确定学生的申报请求;能记录学生设计过程的信息,并提供相应的查询功能。
12.学生评教信息管理系统设计
本设计实现学生评教信息管理工作。
学生可网上评价自己所选专业授课情况,按照评教标准给授课教师评分;教学办对评分结果进行统计计算,得出结果;网上可查询这些结果。
13.选课信息管理系统设计
本设计实现学生选课信息管理工作。
学生可网上查询专业情况,并选择自己要学的专业;按照教课标准,教学办对选课结果进行审核、统计。
14.学生成绩信息管理系统设计
本设计实现学生成绩信息管理工作。
教学管理人员管理学生成绩,学生能网上查询这些结果。
教学管理人员负责学生成绩的维护工作。
15.研究生信息管理系统设计
本设计实现研究生信息信息管理工作。
导师和研究生可网上查询研究生的基本情况,学习情况,专业情况等;提供一个导师和研究生的交流平台,导师可以适时给研究生布置研究任务,研究生可以随时查看自己的任务。
教学管理人员负责信息的维护工作。
16.党建信息管理系统设计
本设计实现党建信息管理工作。
通过该系统可网上查询人员的基本情况,共青团推优人员、先进积极分子、预备党员情况;可网上审核共青团推优人员、先进积极分子、预备党员;可查询党员党费交费情况等。
17.学生信息管理系统设计
本设计完成对学生的信息管理工作。
可网上查询学生基本情况,学生干部情况,学生奖励处分情况。
18.网上答疑信息管理系统设计
本设计建立网上答疑信息系统。
学生在网上提出问题,教师回答各种问题;整个系统以专业为组织单位,每门专业有专门管理人员,系统管理人员管理使用人员及权限。
19.消息传递信息管理系统设计
本设计实现教师、学生的信息交流。
类似于电子邮件,教师之间,教师学生之间,学生之间可交流信息;每个用户可以方便地管理各种信息资源。
20.门诊挂号信息管理系统设计
本设计实现医院门诊部的挂号信息管理功能。
提供一个可维护的医生坐诊表,灵活安排每个医生上班的时间;对医生的基本信息进行管理,为病患挂号提供查询;根据不同的医生产生不同的挂号费,对每天、每月、每年的挂号量和费用进行统计;每次挂号都需要产生这个病患的就诊号。
21.药店库房管理系统
本设计实现药店药房各种信息管理。
对各种药品信息分类存放在数据库中,并对这些信息进行维护;对药品进行定期盘存,统计存量、销售量;对库存药品设置安全库存,随时查看存量不够的药品,并生成购药单。
23.题库管理系统设计
本设计实现对于常规练习题和试题的管理。
提供试题的入库、更新、查询等操作,实现试题的在线管理;每个任课教师都可以向题库中增加试题,并且有一定的重复判断;试题分为单项选择、多项选择、填空、简答这几种简单类型。
上述题目的内容为进行软件开发时必须参考的,包含了软件系统所必须包含的基本功能,学生所作软件系统在完成这些基本功能后,可以做一些扩展工作,从而丰富自己的设计。
上述内容包含了基本的需求信息以及一些隐含的需求信息,学生需要认真理解设计题目,在需求分析时可以向相关部门或指导教师再进一步作详细调查,以便挖掘出题目所包含的更详细的一些细节信息。
1.5设计环境
采用自己熟悉的开发工具,如应用JSP技术进行开发;推荐基于Tomcat+Mysql或Tomcat+MS-SQLServer作为调试和运行的环境。
●JDK版本:
J2SDK1.4以上版本
●操作系统:
主流操作系统,如Windows2000/XP/2003、Linux等
●程序开发工具:
Eclipse、Netbeans、JBuilder、JCreator等
●网页制作工具:
DreamWaver、FrontPage等
●应用服务器:
Tomcat、Resin等
●数据库:
MySQL、MS-SQLServer等
第二章设计要求
2.1设计过程要求
设计者必须服从指导教师的安排,遵守纪律与设计制度,爱护设备及卫生。
在指定的设计时间内,到机房内设计,其余时间可自行分析和设计。
此外在不影响完成专业设计的前提下,允许学生自行安排机时和地点。
本专业所涉及的c#/Java程序代码,都要求有较高的可读性和可重用性,符合面向对象的编程思想和规范。
要求学生以开发小组为单位进行软件开发设计,每个小组在设计的设计题目中选择一个进行设计,最后得出能运行的软件作品及相应的文档并交上,要求软件能正常运行。
软件完成后以组为单位与教师商定答辩时间,最迟的答辩时间不得迟于结课时间。
分组原则:
组员应按逻辑层(前台显示,中间逻辑处理,后台数据库)或者按现总后分(共同完成需求分析,然后分子系统或模块进行开发)进行合理分工,组员之间应团结合作共同完成系统开发;每组人数为1-5人,不提倡单独进行软件开发。
软件文档:
每一开发小组要提交一套设计说明文档(每人一份,按照功能),文档要求按照软件工程的要求进行书写,描述准确,图表使用工具进行绘制。
需要上交的文档包括:
1.需求分析报告;
2.软件设计报告(要求说明系统设计思路,实现的技术方案,功能模块);
3.系统的测试报告;
4.系统开发总结报告(要求说明组员之间的分工情况,开发过程的进行情况,每个人要说明自己开发的模块,完成情况)。
5.答辩:
答辩分为自述和指导教师提问两部分,每个小组自述时间不得超过15分钟,内容包括:
描述本课题设计思想、演示程序软件、关键代码分析等。
主要考查学生是否思路清晰、设计方案是否合理、工作量是否充足、是否完成题目所包含的任务、软件是否实用、界面是否友好。
答辩时间由指导教师安排,可在课内进行,也可在课余时间进行.
2.2文档书写要求
软件开发过程中文档的撰写工作是很重要的,培养同学们撰写规范的软件文档是设计的一项重要任务。
1.需求分析报告(需求规格说明书)
软件需求规格说明书是软件的定义,需求规格说明书的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解, 使之成为整个开发工作的基础。
需求规格说明书反映了需求分析的过程,体现了需求分析的结果,主要包括:
业务流程、功能列表、数据流图、数据字典、性能要求、运行环境规定;如果采用面向对象的分析方法,则主要包括:
业务流程、功能列表、对象-关系模型、对象-行为模型、性能要求、运行环境规定。
具体格式请参考附录A。
对于附录中的格式,仍然以上述内容为主,其他的根据具体情况可做适当的缩减或扩充。
2.软件设计报告
软件设计的任务,就是把分析阶段产生的软件需求说明转换为用适当手段表示的软件设计文档。
总体设计主要完成对总体设计方案和软件框架的设计,主要包括:
软件体系结构设计、接口设计、数据设计。
结构化的设计和面向对象的设计的书写不同,按照软件工程的规范进行。
具体格式请参考附录B。
对于附录中的格式,仍然以上述内容为主,其他的根据具体情况可做适当的缩减或扩充。
3.系统测试报告
软件测试的目的,就是找出软件系统的缺陷,对软件质量作出评价。
根据软件系统的具体情况设计测试案例,进行测试并比较测试结果。
通过测试,对软件测试欠缺的方面加以改进。
系统测试所采用的方法,包括功能测试、数据库测试、安装测试、安全性测试等。
具体格式请参考附录C。
对于附录中的格式,仍然以上述内容为主,其他的根据具体情况可做适当的缩减或扩充。
4.系统开发总结报告
软件测试的目的,就是对软件系统的开发过程作总结(开发报告每人一份),分析开发过程中出现的各种情况,采取的措施及达到的效果。
通过总结积累经验,不断提高软件开发能力。
总结要包括软件系统开发的各个过程,包括需求分析,方案比较,总体设计,详细设计,系统实现和系统测试等。
具体格式请参考附录D。
对于附录中的格式,仍然以上述内容为主,其他的根据具体情况可做适当的缩减或扩充。
第三章设计过程
本设计是综合型设计,指导教师应重视设计过程的指导工作,按照软件开发过程的不同阶段特点有针对地进行指导。
各阶段的情况和指导内容如下:
3.1开发准备
设计的第一阶段,这一阶段的主要任务是使同学们对设计有个总体的了解。
通过教师的指导同学们应了解下列内容:
●设计强调设计纪律和注意事项
●设计内容及要求
●设计方法推荐
●设计环境讲解
●环境配置
这一阶段,教师应检查下列内容:
●同学们对理解设计内容及要求的理解
●掌握工具的安装、环境的配置等情况,
●指导学生分组和选择题目。
3.2需求分析
这一阶段的主要任务是使同学们做好软件系统的需求分析工作。
通过教师的指导同学们应了解下列内容:
●需求分析的步骤和方法
●需求的详细调查
●需求点的分析和建立
●需求规格说明书的编写方法
这一阶段,教师应检查下列内容:
●了解需求调查的重要性,掌握需求获取的方法
●应用需求点、数据流图、数据字典等(或用例图、类模型、对象模型等)建立需求模型
●掌握需求规格说明书的编写方法
3.3总体设计及阶段审查
这一阶段的主要任务是指导同学们做好软件系统的总体设计工作。
通过教师的指导同学们应了解下列内容:
●总体设计的步骤和方法
●需求再理解与实际改进
●设计方案讨论
●方案设计
●系统框架(或子系统)设计
●总体设计的图表描述
●总体设计报告的编写方法讲解
这一阶段,教师应检查下列内容:
●方案设计的掌握
●总体设计中的重要图表的绘制
●应用结构化设计或面向对象设计进行系统框架(或子系统)的设计
●掌握总体设计报告的编写方法
3.4详细设计及阶段审查
这一阶段的主要任务是指导同学们做好软件系统的详细设计工作。
通过教师的指导同学们应了解下列内容:
●详细设计的步骤和方法
●总体框架的实际再改进
●按模块或子系统进行详细设计
●详细设计的图表描述
●详细设计报告的编写方法讲解
●详细设计报告的编写
这一阶段,教师应检查下列内容:
●详细设计中的重要图表的绘制
●应用结构化设计或面向对象设计进行详细设计
●总体设计报告的编写
3.5编码
这一阶段的主要任务是指导同学们做好软件系统的实现工作。
通过教师的指导同学们应了解下列内容:
●编码的良好风格
●说明注释的书写
●应用Web程序设计技术进行编码
●编码时的调试技术和技巧
●编码调试
这一阶段,教师应检查下列内容:
●培养良好的编码风格,掌握注释的书写
●应用Web程序设计技术进行编码
●掌握编码时的调试技术和技巧
3.6测试及阶段审查
这一阶段的主要任务是指导同学们做好软件系统的测试工作。
通过教师的指导同学们应了解下列内容:
●软件测试的方法
●单元测试、子系统测试、集成测试的方法
●测试报告的编写方法
这一阶段,教师应检查下列内容:
●应用软件测试的方法进行软件测试
●测试报告的编写
3.7总结报告的编写
这一阶段的主要任务是指导同学们做好软件系统的开发总结工作。
通过教师的指导同学们应了解下列内容:
●总结报告的作用和重要性
●总结报告的内容和编写方法
●总结报告的编写
这一阶段,教师应检查下列内容:
●掌握总结报告的内容和编写方法
3.8最后检查与答辩
这一阶段的主要任务是指导同学们做好软件系统的演示工作。
通过教师的指导同学们应了解下列内容:
●答辩的要求及准备工作
●组织文档材料
●准备演示系统
这一阶段,教师应检查下列内容:
●检查文档材料是否完整
●检查软件程序是否完成
●根据学生的讲述和所作软件的实际效果给与评分,答辩按组进行
附录A软件需求规格说明书内容
1 引言
1.1编写目的
说明编写这份软件需求说明书的目的,指出预期的读者。
1.2背景
说明:
a.待开发的软件系统的名称;
b.本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络;
C.该软件系统同其他系统或其他机构的基本的相互来往关系。
1.3术语定义
列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
1.4参考资料
列出用得着的参考资料,如:
a.本项目的经核准的计划任务书或合同、上级机关的批文;
b.属于本项目的其他已发表的文件;
c.本文件中各处引用的文件、资料、包括所要用到的软件开发标准。
列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。
2 目标系统概述
2.1目标
叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。
解释被开发软件与其他有关软件之间的关系。
如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。
如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口。
2.2用户简介
说明目标系统的实用人群,列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长,以及本软件的预期使用频度。
这些是软件设计工作的重要约束。
2.3组织结构与职责
将目标系统的组织结构逐层详细描述,建议采用树状的组织结构图进行表达,每个部门的职责也应进行简单的描述。
2.4业务流程
目标系统的业务流程是对现有用户业务流程的重组、优化与改进。
首先要有一个总的业务流程图,将各种业务之间的关系描述出来,然后再对每种业务进行详细的描述,如果是企业应用则应使业务流程与部门职责结合起来。
详细业务流程图可以采用直式业务流程图、UseCase图或其它示意图的形式。
不能在业务流程图中描述的内容,需要用文字进行描述。
2.5单据、账本、报表
(对企业用户来说)将目标系统中用户使用的正式单据、账本、报表等进行穷举、分类、归纳,其格式可以用表格来表示。
因为单据上的数据往往就是原始数据,所以一种单据一般对应一个实体;账本和报表往往是统计数据,所以一般对应中间表。
3 需求规定
3.1对功能的规定
3.1.1功能需求
在各个层面,用户都有哪些具体功能要求,文字表述或用功能模块图来表示。
3.1.2功能需求点列表
用列表的方式,逐项定量和定性地叙述对软件所提出的功能要求,说明输入什么量、经怎样的处理、得到什么输出,说明软件应支持的终端数和应支持的并行操作的用户数。
3.2数据流图、数据字典/类、对象模型、对象-关系模型、对象-行为模型
3.3对性能的规定
3.3.1精度
说明对该软件的输入、输出数据精度的要求,可能包括传输过程中的精度。
其中,输入输出数据的精度来源于用户业务流程中各种操作所涉及到的数据精度。
3.3.2时间特性要求
说明对于该软件的时间特性要求,如对:
a.响应时间;
b.更新处理时间;
c.数据的转换和传送时间;
d.解题时间等的要求。
3.3.3灵活性
说明对该软件的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,如:
a.操作方式上的变化;
b.运行环境的变化;
c.同其他软件的接口的变化;
d.精度和有效时限的变化;
e.计划的变化或改进。
对于为了提供这些灵活性而进行的专门设计的部分应该加以标明。
3.4输人输出要求
解释各输入输出数据类型,并逐项说明其媒体、格式、数值范围、精度等。
对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出、状态输出及异常输出)以及图形或显示报告的描述。
3.5数据管理能力要求
说明需要管理的文卷和记录的个数、表和文卷的大小规模,要按可预见的增长对数据及其分量的存储要求作出估算。
3.6故障处理要求
列出可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障处理的要求。
3.7其他专门要求
如用户单位对安全保密的要求,对使用方便的要求,对可维护性、可补充性、易读性、可靠性、运行环境可转换性的特殊要求等。
4 运行环境规定
4.1设备
列出运行该软件所需要的硬设备。
说明其中的新型设备及其专门功能,包括:
a.处理器型号及内存容量;
b.外存容量、联机或脱机、媒体及其存储格式,设备的型号及数量;
c.输入及输出设备的型号和数量,联机或脱机;
d.数据通信设备的型号和数量;
e.功能键及其他专用硬件。
4.2支持软件
列出支持软件,包括要用到的操作系统、编译(或汇编)程序、测试支持软件等。
4.3 接口
a与其它系统的接口,如监控系统、控制系统、财务系统、银行结算系统等;
b与系统特殊外设的接口,如IC卡机、刷卡机、柜员机等;
c与中间件的接口,如接口规范、入口参数、出口参数、传输频率等。
4.4控制
说明控制该软件的运行的方法和控制信号,并说明这些控制信号的来源。
5 目标系统的其它需求
a安全性;
b可靠性;
c特殊需求,比如进度需求、资金需求、培训需求。
附录B设计说明书内容
1 引言
1.1编写目的
说明编写这份总体设计说明书的目的,指出预期的读者。
1.2背景
说明:
a.待开发软件系统的名称;
b.列出此项目的任务提出者、开发者、用户以及将运行该软件的计算站(中心)。
1.3定义
列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
1.4参考资料
列出有关的参考文件,如:
a.本项目的经核准的计划任务书或合同,上级机关的批文;
b.属于本项目的其他已发表文件;
c.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。
列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。
2 总体设计
2.1需求规定
说明对本系统的主要的输入输出项目、处理的功能和性能要求。
2.2运行环境
简要地说明对本系统的运行环境(包括硬件环境和支持环境)的规定。
2.3基本设计概念和处理流程
说明本系统的基本设计概念和处理流程,尽量使用图表的形式,可以使用以子系统为单位的业务流程图来表示。
2.4结构
用一览表及框图的形式说明本系统的系统元素(各层模块、子程序、公用程序等)的划分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系。
结构化设计:
功能模块图、结构图,图上不容易表示清楚的可以用文字列表的形式加以补充。
面向对象设计:
子系统划分、子系统结构图,图上不容易表示清楚的可以用文字列表的形式加以补充。
2.5模块(组件)功能分配
模块式结构化设计中的概念,组件是面向对象设计中的概念。
2.5.1专用模块(组件)功能分配,
用列表来表示包含的项有:
编号、模块(组件)名称(多用英文)、详细功能分配、模块的接口标准(参数的类型、个数等)。
2.5.2共