14.2.3 系统需求分析
(1)系统需求陈述。学生在线选课系统主要满足三方面的需求:学生、教师和管理员,这三类角色各自的需求如下述介绍。
①学生通过校园网查询可选课程、查看自己选课情况及进行选课、退课等操作。
②教师通过校园网查看所教授的课程、选修课程学生的信息、提交学生成绩。
③管理员对学生、教师和课程信息进行管理:在学生信息管理方面,实现对学生信息的添加、修改、删除、查询等操作;在教师管理方面,实现对教师信息的添加、修改、删除、查询等操作;在课程管理方面,实现对课程的增加、修改、删除和查看等操作,特别是在对课程添加时须为其分配任课教师、上课时间和地点。
本系统的上述三类用户的身份和权限不同:管理员享有最高权限,即可以查看、维护系统中的所有信息;教师享有查看自己开设课程信息、提交选课学生成绩的权限;学生享有选课、退选的权限;密码修改权限是上述三类用户的公共权限,这样可以更好地保护用户信息的安全。
(2)系统功能建模。功能模型主要指明了系统应该“做什么”,即系统应该实现哪些功能。通过对上述需求陈述的分析,对该系统进行功能模型的构建,其对应的用例图如图14.19所示。

图14.19 学生在线选课系统用例图
1)主要用例描述。
表14.11 学生在线选课系统的主要用例列表

在图14.19所示的用例图中,除了表14.11列出的主要用例之外,“修改密码”用例是本系统三类执行者(即:学生、教师和管理员)所共有的用例。
2)主要用例规格说明。
在这里主要以“选课”用例为例来介绍一下用例图中用例的规格说明格式及其组成,如表14.12所示。本系统其他用例的规格说明与此类似,在此就不做逐一介绍。
表14.12 选课用例的规格说明
(https://www.daowen.com)
(3)系统对象建模。对象模型是对系统静态结构的描述,它是面向对象分析模型(OOA)的关键和基础,主要定义了系统功能实现涉及的实体及其关系。通过对本节中系统需求陈述的分析,我们获得该系统涉及的对象类及其服务如表14.13所示,其对应的类图如图14.20所示。
表14.13 学生在线选课系统的对象类列表


图14.20 学生在线选课系统的类图
(4)系统的动态建模。动态模型主要描述系统主要功能实现时涉及的对象集合及其合法交互和变化序列和过程。本节主要介绍学生在线选课系统中关键用例功能实现时对应的顺序图,如图14.21至图14.23所示。
1)管理员修改课程信息。

图14.21 管理员修改课程信息顺序图
2)学生退课。

图14.22 学生退课顺序图
3)教师提交成绩。

图14.23 教师提交成绩顺序图