一、实验目的
软件需求工程实验是软件需求工程课程中重要的实践环节,其目的是在理解软件需求工程的过程、方法、工具的基础上学习掌握实际软件项目中的需求获取、需求分析、需求的文档化、需求验证和需求管理,提高学生应用CASE工具进行软件需求分析和管理的能力。
二、实验要求
1、学生以3-6人为一个小组,每个小组选出一个PM,PM主要职责是确保整个项目按照项目计划完成。PM在项目开发过程中,要组织项目例会,分配任务,以及需求规格说明文档的整理与提交。
2、选题,并对所选项目进行调查,写出300字以上的需要解决的实际问题描述。
(1)可选参考题目
①学生选课系统 ②进销存系统 ③餐厅点餐系统 ④个人博客系统 ⑤课程质量评测系统 ⑥毕业设计过程管理系统 ⑦作业管理系统 ⑧学生平时成绩管理系统 ⑨答疑系统 ⑩实验预约系统
(2)可自拟题目
(3)可用教科书上的例题
3、实验步骤:
(1)确定项目的前景与范围
完成项目的业务需求分析,建立有效的高层解决方案及系统特性。注意:所反映的系统规模要适中,大概有3-5个问题需要解决。每个问题的难度也要适中,其解决方案涉及的输入/输出数据流在4-8个之间,解决方案需要的系统特性在3-5个。
(2)用户需求获取及分析
以用例/场景模型为主线索开展用户需求获取。
(3)撰写软件需求规格说明
参照教材第15章(15.3.2的内容)中的模板的标准格式。
4、文档要求
个人报告+小组报告。个人报告参照本文第四部分内容,每人提交一份。小组报告,按小组人数划分内容,每人写一部分,最后综合,并注明各部分作者,一个小组交一份。A4纸,双面打印。
三、实验主要设备
台式或笔记本计算机
四、实验内容
1 选题
学生选课系统
2 定义
学生选课系统:也称学生课程选修制,即允许学生对学校所开设的课程有一定的选择自由,包括选择课程、任课教师和上课时间,选择适合自己的学习量和学习进程。对于习惯了中小学课程(所有的课程由学校统一安排,而且科目从小学到高中有连续性)的大学新生来说,大学的课程多得令他们眼花缭乱,课程分类也比较复杂,因此选课对他们而言还是一件新鲜而陌生的事物。但大学的学习与选课有莫大的关系,必须了解它,才能掌握主动权。而要了解选课制,首先要对大学的课程设置有所认识。
作为计算机应用的一部分,使用计算机对选课信息进行管理,有着手工管理
所无法比拟的优点例如:检索迅速、查找方便、可靠性高、存储量大、 保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是大学的科学化、正规化管理,与世界接轨的重要条件。
3 参考资料
[1] 骆斌,丁二玉. 需求工程:软件建模与分析(第二版) [M]. 北京:高等教育出版社,2015.02
4 软件需求开发
4.1 明确问题
4.1.1 初步了解问题
会见者:李四 日期:2022年11月5日 被会见者:李磊 主题:学生选课 会见目标: 初步了解关于学生选课流程,了解后台管理员的任务; 了解学校关于学生面临的问题; 了解用户和管理员的一些希望和建议。 |
|
谈话要点: 简述现阶段学生选课管理流程 现阶段的面临的问题 对未来的的看法和期待 |
被会见者的观点: 管理员希望随时查看学生选课情况 |
下次会见的目标: 对此次会谈中不明确问题进一步了解 对提出的解决方案进行评估 找出下一个被会见者的观点 |
4.1.2 问题达成共识
鱼骨图
4.2 涉众分析
4.2.1 涉众识别和描述
涉众 |
特征 |
主要目标 |
态度 |
主要关注点 |
约束条件 |
学院领导 |
对系统开发具有直接的指导权力 |
提升学院的授课效率 |
支持 |
开发与维护成本不能超出预期,且系统功能要如预期实现 |
无 |
课程教师 |
具有向系统上传课程信息并启动选课程序的权力。 |
方便的上传课程信息 |
强烈支持 |
使用该系统可以更加稳定便捷地上传课程并了解已上传课程的被选情况。 |
可能短时间内无法熟练运用系统。 |
辅导员 |
负责向学生通知需要选课的信息并在出现错误时协助学生解决问题 |
系统的运行流畅度以及操作流程不能过于复杂 |
支持 |
系统的稳定性,交互界面产品的更新 |
可能没有相 关的计算机 技能
|
学生 |
无 |
更方便的完成选课程序,节约时间;提升系统信息更新的频率,避免选课失败。 |
强烈支持 |
快速完成选课,系统信息的及时更新 |
无 |
管理员 |
对线上(系统上)的信息管理 |
实现对学生信息的增删改查 |
强烈支持 |
该系统可以满足需求所涉及到的功能 |
对系统不能很好掌握 |
4.2.2 涉众评估
用户群体 |
任务 |
群体数量 |
优先级 |
学院领导 |
查看学院的课程信息 |
10 |
4 |
课程教师 |
课程信息更新 |
300 |
2 |
辅导员 |
向学生发送通知信息 |
100 |
3 |
学生 |
完成选课 |
20000 |
2 |
管理员 |
管理员登陆、对选课时间的设置,课程管理,密码管理, |
6 |
1 |
要素 |
内容 |
ID |
P5 |
提出者 |
学生 |
关联者 |
老师、学生、管理员 |
问题 |
学生线下选课存在一系列的问题,选的课程不存在或者前后选课存在矛盾,人工管理不灵活,查找更新维护很困难 |
影响 |
检索迅速、查找方便、可靠性高、存储量大、保密性好 |
目标 |
在后台管理模块,教师和学生的功能用来进行语言交流,选课管理和信息查询 |
4.4 定义解决方案及系统特性
4.4.1 确定高层次的解决方案
要素 |
内容 |
|
ID |
P5 |
|
解决方案 |
方案描述 |
通过记录老师、学生的相关选课信息以及问题,建立老师、学生信息数据库,并对信息进行分类处理 |
业务优势 |
记录老师、学生的选课信息以及问题,可以实现学生多课程的兴趣,对学生的选课管理更加高效,学老师可以结合学生选课进行教学工作上的安排 |
|
代价 |
学生老师学习工作上的方便的同时也增加了管理员的工作量,随之而来的是更高的系统费用 |
4.4.2 确定系统特性和解决方案的边界
针对的问题 |
解决方案 |
P1 |
1.系统记录保存学生信息 2.系统记录保存教师信息 |
然后根据这些功能特征,分析解决方案需要和周围环境形成的交互作用,定义解决 方案的边界。解决方案的边界确定了信息流的输入输出关系:
针对的问题 |
解决方案 |
P2 |
1.系统记录学生选课的信息 2.根据学生的信息,推送与该学生相同专业的学生的选课信息 3.学校负责人接受选课信息 |
然后根据这些功能特征,分析解决方案需要和周围环境形成的交互作用,定义解决 方案的边界。解决方案的边界确定了信息流的输入输出关系:
针对的问题 |
解决方案 |
P3 |
1.优化选课系统的性能 2.教务处老师合理规划学生选课的时段和人数 3.学生及时的听取老师的安排积极选课 |
然后根据这些功能特征,分析解决方案需要和周围环境形成的交互作用,定义解决 方案的边界。解决方案的边界确定了信息流的输入输出关系:
针对的问题 |
解决方案 |
P4 |
1.统计记录学生选课的信息 2.更新数据库,完善学生和老师选课信息 3.降低系统的冗余度,提高学生和老师选课体验 |
然后根据这些功能特征,分析解决方案需要和周围环境形成的交互作用,定义解决 方案的边界。解决方案的边界确定了信息流的输入输出关系:
针对的问题 |
解决方案需要具备的系统特性 |
P5 |
|
针对问题 |
解决问题的系统特性 |
P6 |
学生录入修改信息时与库内已有信息进行比对,某些信息不允许修改。 |
录入信息后按照已有标准进行预排序、分类等 |
4.4.3 确定解决方案的约束
约束源 |
约束 |
理由 |
操作性 |
对教师进行一定的录入培训 |
教师在系统上进行信息录入操作比较复杂,确保系统运行效率 |
操作性 |
需要通过一定手段取得学生的反馈输入; |
系统需要反馈数据进行学生选课信息,录入学生信息; |
操作性 |
需要对教务处老师进行工作上的安排和指导,合理的规划学生的选课时间和人数,要提高学生的选课积极性,及时的听取老师的安排完成选课 |
系统需要某一时段特定的在线人数上限,这样系统才能被更高效地使用。 |
系统及操作系统 |
数据库在服务器上大小不超过 500G |
控制成本,保证无冗余数据 |
设备预算 |
系统在已架构好的服务器和主机上开发 |
控制成本,方便 |
人员资源 |
不需要外部的人员,使用已有的员工 |
固定操作成本 |
技术要求 |
使用面向对象技术 |
增加系统可扩展性,支持多种 形式及自定义报表 |
4.4.4 确定系统边界
4.5 用户需求获取及分析
4.5.1 场景描述
场景3:学生通过手机进行网上选课
1.系统记录不同学号学生的选课信息
2.系统对已选课的学生进行分类
3.系统记录各个学生的选课信息
4.系统显示所记录的学生选课信息
5.系统对所有学生选课信息进行分析
6.根据系统的分析结果,合理的对学生进行分类汇总
4.5.2 用户需求列表
- 学生可以正常登入并使用系统
- 学生可以使用系统查询所有可选课程信息
- 系统应向学生反馈已选课程信息
- 学生可以向系统提交选课结果
- 教师发布课程以及开课的时间
- 学校可以通过选课情况来安排课程
- 任课老师可以查看选择该科的学生信息
4.5.3 用户用例描述
(1)用例图
ID |
5.3 |
名称 |
选修时间设置 |
优先级 |
高 |
参与者 |
教师 |
||||
触发条件 |
教师进行课程时间设置 |
||||
前置条件 |
教师课程信息录入完毕 |
||||
后置条件 |
教师通过此项功能设置选课时间段预选时间段和补选时间段,只有在选课时间段内,学生才可以选择课程,不在此时间段内,学生不能进行选课操作 |
||||
正常流程 |
|
||||
扩展流程 |
输入某课程信息数据库不存在 |
||||
业务规则 |
各项基本信息均有 |
||||
特殊需求 |
保证选课信息的安全性,仅个人双方可见 |
1.6 用户需求规格说明
见小组报告。
4.6.1 概述
教务处管理人员录入全校的课程基本信息,教师负责录入本人课程信息以及设置选课时间。在学生入学时,有学院管理人员负责录入学生信息。
学生可以登陆本系统进行选课,选课成功后信息存入数据库中,本系统中学生可以查询选课情况,存在一下情况时,系统自动判断选课失败:
- 所选课程的先修课没有选修记录;
- 所选课程与已选课程或所选课程之间的上课时间内相冲突;
- 本学期所选课程+已选课程总学分超过18学分;
学生在选课尚未结束时可是随时注销所选课程。
学院相关人员可以查询每个学生的基本信息,各个学期的选课情况;
教师可以在选课时间结束随时修改课程信息,并且可以在结束时间前24小时撤销选修学生人数不足的课程。
开课之后,学生要求退课,则由工作人员为学生办理退课。允许学生休学,由工作人员为学生学籍做冻结处理;复学之后为其办理解冻处理。每学期工作人员应为学生办理注册手续,没有办理注册手续的学生不能进行选课;学期末,由各科教师负责向系统录入学生成绩。
学生因故退学或者毕业时,由工作人员负责注销相关的学生信息。
4.6.2具体功能
1. 学生功能
l 密码修改
学生利用自己的学号注册成功之后,登录之后可到个人信息界面进行密码修改。
l 填写、修改个人信息
学生登录之后,选择个人信息,进入到个人信息管理界面,可进行个人信息的填写和修改,保存即可生效。
l 自主选课
学生登录之后,选择开始选课功能,跳转到自主选课界面,结合选课课表,进行选课,如果上课人数已满,系统会做出相应的提示如果课程可选,选课成功后,课程会自动添加到本页面上方必修课表中。如果学生在选课周期内,对自己已选课程不满意,可从新登陆本系统,进入自主选课界面,删除当前选择的课程,并重新选课;若超出选课周期,则选课结束,选课结果不能进行更改。
l 查询已选课程
学生登录本系统,进入到自主选课界面,则可以查看必修和选修的全部课程信息。
2. 教师功能
l 密码修改
教师用自己的教工号注册成功后,登录本系统,进入个人信息管理界面,可修改自己的密码。
l 填写、修改个人信息
教师登录本系统,进入个人信息管理界面,即可对自己的个人信息进行填写个修改,保存后即可生效。
l 课程信息发布
在学生选课开始之前,教师需提前将自己本学期所授课程的详细信息上传本系统,最终由管理员进行统一排课,生成选课课表,供学生选课使用。课程发布信息包括:课程名,学时,学分,任课教师。教师登录本系统后,进入课程信息发布界面,将课程信息发布上传给管理员。如若课程信息发布错误,任课教师可在课程信息发布界面进行修改和删除。
l 查询
本功能指教师查询自己所受课程的选课情况,教师登陆本系统,进入选课情况查询界面,输入对应的课程号,即可显示该门课程的选课情况,选课情况包括:学生的学号,姓名,班级,院系。教师可在本界面上对查询结构进行打印,以方便授课。
3. 管理员功能
l 管理员账户、密码说明
管理员的账户和密码是由学校教务最高领导直接提供的,不需要进行认证,系统设计时,根据用户领导的需求,为其直接建立符合需求数量的管理员账户名和密码,最终由用户自行派发。
l 用户注册认证
管理员将在校学生的学号和在校教师的工号录入系统,以便系统在注册认证时进行核对,不在库中的学生或教师无法认证成功,不能登录系统。管理员有权停止出最高用户以外的其余所有用户的使用权限。
l 更新信息
管理员要定期对库中的学生和教师信息进行更新,以便有新生和新教工入学后无法注册。
l 生成选课课表
管理员根据教师发布的课程信息,为课程编写课程编号,综合教室信息,最终生成选课课表,供学生选课使用。
l 发布选课公告
生成选课课表后,根据学校的时间安排,发布选课公告,之后开启学生的选课权限,让学生进行选课。
4.6.2产品的非功能性需求
1.外部接口说明
(1)用户接口
用户进行使用时,首先进入学校网站首页,选择教务管理,然后选择学生选课系统,跳转到本系统登录界面,进行注册或登录即可使用。
(2)软件接口
a.使用本系统时,需要用户连接到互联网,在学校网站进行登录。
b.提供MY SQL 2005 接口或其他数据库
2性能需求
- 本系统要支持至少数百人同时在线进行操作
- 峰值设定万人,用户并行操作超过一万人次,系统响应时间延长至分钟记,在5至10分钟内分先后顺序批次处理之前的事务,而后在响应后续用户的操作,以免造成系统瘫痪。
(1)硬件的限制,无特殊要求,要求能连接互联网
3属性
(1)友好性
- 页面内容:主题突出,栏目、菜单不值合理,内容丰富,文字准确,行文规范,格式统一。
- 导航结构:具有明确的导航指示,便于用户理解和使用。
- 艺术风格:背景颜色以绿色和蓝色为主,界面、版面形象清新悦目,布局合理,字号大小适宜,字体选择合适,动态效果号,色彩和谐,与主题吻合。
(2)安全性
a. 所有用户登录均需要用户名和密码登录;
b. 对用户的访问记录和操作进行后台记录,并定期进行更新;
c.对用户的访问权限做限制,不可访问于用户无关的信息;
d.用户的个人信息做相应的保密处理,不会对外泄露,不会被其他用户访问;
e.尽量保证模块功能的单一性;
f.对系统峰值进行处理,保证系统在达到峰值流量时仍然处于安全状态;
(3)可维护性
a. 系统在设计时,尽量保证模块功能的清晰性,灵活性和独立性,以便以后用户提出新的需求是进行系统的维护。
b. 易于故障的排除和日常管理操作方便,系统应可以在发现错误时不仅做出错误显示,还应该进行错误处理,并且系统能够进行自动修复。
(4)可转移/换性
系统基于Java平台进行开发,不同数据库之间的数据转换,保证系统在不同操作系统之间的转移。
4系统的运行环境
系统在有用户进行访问时开始运行,无用户访问以及事务处理完毕后结束运行,运行时间无限制,操作系统限制基于一般约束中的限制。
本文来自博客园,作者:一路向北~~,转载请注明原文链接:https://www.cnblogs.com/ylxb2539989915/p/16329596.html