软件工程实验指导书(2016年修订)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数学与信息学院(软件学院)
《软件工程实验》指导书
编写:梁早清朱凯严尚维林毅申
完成人信息
学号姓名主要角色和任务比重
朱凯2016年修订
分组至少3人至多4人。
备注:此文档仅作为《软件工程》实验指导用,其他课程的文档模板请根据其他老师提供的模板撰写。
软件工程实验课实验说明
本实验指导书是数学与信息学院、软件学院《软件工程实验》课程的指导书,目的在于让同学们通过这些实验,体会软件开发的过程(从需求分析到设计和测试计划)。老师们试图通过一个较为简单的易实现的软件系统,让同学们分阶段完成需求分析、体系结构设计、部件级设计等设计和功能测试的工作,并完成相应的文档。同学们之间根据规范相互评审每一阶段的文档,过后老师再统一评讲。以此让同学们加深对结构化分析与设计、功能测试的方法的理解。(特别指出:因课时所限,软件工程中面向对象的设计与分析方法不在本实验课上讨论,学院另外开设有《面向对象的设计与分析》课程。)
题目如下:
一、软件系统需求的文本描述
《课程成绩管理系统》提供一个方便我校任课老师管理学生成绩的小型软件系统。该系统为教师提供方便的成绩管理功能,也为学生提供查询成绩的功能。系统描述如下:学生的成绩包含以下4个部分:课堂点名成绩、课堂考试成绩、课后作业成绩和期末考试成绩。各成绩评判标准和在总成绩中所占比例如下:
1.课堂点名3次,每次点名没有到的不得分(即记0分),到了的100分。第一次点
占总成绩的1%,第二次和第三次各占总成绩的2%,课堂点名占总成绩的5%;
2.课堂考试3次,每次满分100分,具体成绩由老师给出。其中,第一次和第二次占
总成绩的7%,第三次占总成绩的6%,共20%;
3.课后作业3次,每次满分100分,具体成绩由老师给出。其中,第一次和第二次占
总成绩的8%,第三次占总成绩的9%,共25%;
4.期末考试试卷满分100分,占总成绩的50%。
教师能通过成绩管理软件来管理学生的成绩,包含添加、删除、修改、查看、统计学生的成绩。各个功能具体描述如下:
1.添加学生成绩:填写学号,点击添加,然后在添加界面上录入对应学生的第一次点
名、第二次点名、第三次点名、第一次课堂考试、第二次课堂考试、第三次课堂考
试、第一次课后作业、第二次课后作业、第三次课后作业,期末考试卷面成绩。点
名用0和100分别表述每次是否有缺课。其他的成绩也利用百分制录入。以上各项
成绩录入后,系统自动根据各项成绩在总成绩中所占比例计算出该学生的总成绩,
并保存这些数据。
2.查看单个学生成绩:在查询界面上,输入学生的学号,系统能够将这个学生的各项
成绩和总评成绩显示出来,如果还没有该学生的成绩,给出没有该学生成绩的提示。
3.修改学生成绩:根据学生的学号,进入该生成绩修改界面,系统能够将该学生的成
绩显示出来,教师根据实际情况可以修改第一次点名、第二次点名、第三次点名、
第一次课堂考试、第二次课堂考试、第三次课堂考试、第一次课后作业、第二次课
后作业、第三次课后作业,期末考试卷面成绩,确认后保存修改的信息。
4.删除学生成绩:在删除界面上输入学生的学号,如果不存在该学生,提示用户输入
有误;找到了该学生记录后,系统能够将该学生的成绩显示出来,并警示提示用户
操作风险,取消删除操作不删除,确认删除后系统删除该学生的信息。
5.成绩统计:成绩统计包含学生成绩的平均分、最高分、最低分、优秀率(大于或等于
90分的学生人数占所有参加考试人数的百分比)、良好率(大于或等于80分且低于
90分的学生人数占所有参加考试人数的百分比)、不及格率(低于60分的学生人数
占所有参加考试人数的百分比)。进入统计界面,选择成绩统计的具体菜单项(平均
分、最高分、最低分、优秀率、良好率、不及格率),系统将显示所需要的统计值。
学生查询成绩:为保护隐私,学生输入自己的学号,由于预先在个人基本信息中保存了每个学生的手机号,在界面上点击获取手机验证码,要求60秒内在界面上回填并提交验证码,若超时或未收到则需要重新获取手机验证码。如果学号和验证码都通过,系统将按照点名成绩、课堂作业成绩、课后作业成绩、期末考试成绩、总评成绩显示查询结果。如果学号和验证码不能验证通过,提示查询失败。
简单起见,不考虑注册、登录、学生和教师的个人基本信息录入等环节,假设已经有了这些数据。
二、要求:
采用结构化分析与设计方法,完成软件需求分析文档(含模型)、设计文档和测试计划三份文档。具体分解到实验课每一周的任务见后页:
具体要求:
准备部分:熟悉Visio用法
这一部分安排一周时间(课上2课时)。学生参考附件1和附件2中的内容,熟悉Visio 绘制数据流图(DFD)和模块调用关系图的用法。
说明:数据流图对应教材P69 5.2节。模块调用关系图对应教材P91 5.6节中的结构图,只是叫法略有不同。
第一部分:需求分析文档
这一部分安排两周时间(课上4课时)。第一周按分组完成这一部分文档,并打印纸质版。第二周课上交换后相互批改纸质版文档,然后老师评讲。具体评分细节参考附件3。
需求分析文档主要由以下4部分构成:
(1)分层数据流图
由顶层图的模型开始,逐层分解,就这个系统而言,大致上分3层即可分解到位。要求耐心细致地用Microsoft Visio工具画图,然后粘贴矢量图到Word文档中。体会数据流图的划分,体会Visio功能的方便。需要注意的地方参考教材P76开始的分层数据流图的审查一节。
(2)数据字典
只需定义出数据流词条即可。要求与数据流图一致,按教材上的格式做。参考教材P84数据流条目和数据项条目的格式。
(3)实体-关系分析模型
为数据库设计奠定基础,即给出E-R图(模型)。实体-关系模型是在数据库课堂上学的,软件工程所用到,请参考数据库教材中的有关章节。
(4)加工规约
加工规约严格讲属于数据字典的范围,此处单独作为第4点旨在强调它的重要性,它为模块的内部实现细节奠定基础。注意,只需要对应数据流图中的底层加工(即基本加工)进