本人工程实践项目为自选题基于科大软院学生选课系统的开发,最近也在准备开题报告,所以跟这次高软作业也有部分重叠之处,本博客主要基于老师《从需求分析到软件设计》章节指导思想进行完成,从需求分析、用例建模、业务领域建模、数据模型、概念模型及工作过程角度进行了详细的分析与建模。也相信这次高软作业能对工程实践课题的理解大有裨益。
一、需求分析
显然对于本项目,用户主要有三类,一为科大软院的学生,二为参与授课的老师,三位负责整个系统维护的管理员,下面我们分别从不同用户的角度对其需求进行分析。
1.1学生角度
2.信息查询需求:这里的信息查询主要是指对于课程信息的查询、个人成绩的查询以及对于已选课程的查询。
1.2教师角度
1.3管理员角度
1.对学生信息增删改查:主要包括对学生选课信息进行增删,对学生基本信息进行增删改查,修改课程成绩这三个部分
2.对教师信息增删改查:主要包括修改教师的基本信息,修改教师的课程信息。
二、用例建模
根据上述对各个层次用户群体的需求分析,我们不难做出如下的用例图:
2.1管理员的用例图
1.2学生的用例图
1.3教师用例图
三、业务领域建模
业务领域建模的基本步骤如下:
1.收集业务领域的信息
2.执行团队进行头脑风暴
4.最后使用UML图将业务领域知识变得图形化
3.1本项目中的业务领域建模
上述基本步骤具体化到本项目中则变成了学生基础信息、教师基础信息、课程信息、账号密码储存、选课信息储存、管理员类六个类。
我们将其进行细化可以得到如下的属性:
课程信息类:课程编号、课程名、起始结束周、课程容量、授课老师职工号、课程介绍、上课起始结束节数
账号密码储存类:用户类型、用户id、密码
选课信息储存类:选课学生学号、该记录id、学生成绩、所选课程id号
管理员类:账号id
同时我们对各个类之间进行分析,可以绘制出如下类图:
四、数据模型
根据前面的需求分析与业务类图,我们可以设立出六个不同的表项用于存储所需的数据,前三张为学生、教师、课程的基础信息表,主要记录了一些关于教师、学生和课程的基础信息,后两张分别存储了学生的选课信息情况及学生教师管理员的账号密码,最后一张存储了管理员的基本信息。通过这六张表即完成了数据模型的部分。
4.1学生基础信息表
4.2教师基础信息表:
4.3课程信息表
4.4账号密码存储表
4.5选课信息存储表
4.5管理员基础信息表:
5.概念原型及对应工作过程
5.1概念原型的定义
在理解概念原型之前,我们首先要理解概念的定义——即人对能代表某种事物或发展过程的特点及意义所形成的思维结论。因此我们可以得出概念原型的定义,其是一种虚拟的、理想化的软件产品形式,更加直观的来说,概念原型等于数据模型加上用例。
5.2基于本选课系统项目的概念原型
总上所述,我们已经将用例和数据模型一一列出,至此我们可以得出基于本项目的概念原型——在本项目中一共有三个用例:软院学生、教师、管理员。及六个数据模型:学生基础信息表、教师基础信息表、课程信息表、账号密码储存表、选课信息储存表、管理员基础信息表。