软件工程实验:软件设计说明书【学生选课管理系统】

目录

一、实验目的:

二、实验要求:

三、软件设计说明书

1 体系结构设计

1.1 功能结构图

1.2 包设计

2 界面设计

2.1 用户特性分析

2.2 用户工作分析

2.3 界面任务分析

2.3 界面类型确定

3 数据库设计

3.1 概要设计

3.2详细设计

4详细设计

4.1系统时序图

4.2系统类设计

4.1.1类定义

4.1.2. 系统类图


一、实验目的:

  1)完成学生课程管理系统概要设计

  2)完成学生课程管理系统详细设计

  3)撰写学生课程管理系统设计说明书


二、实验要求:

根据所要开发的软件系统,利用面向对象方法完成系统体系结构设计、数据设计、界面设计,系统功能模块设计。要求必须包括数据库的概要设计和详细设计,有详细的类设计映射表,并用时序图表示模块功能的业务过程。


三、软件设计说明书

1 体系结构设计

1.1 功能结构图

图1.1-1 学生选课系统功能结构图

1.2 包设计

(1)视图层包图

表1.2-1 视图层包图

(2)控制层包图

表1.2-2 控制层包图

2 界面设计

2.1 用户特性分析

 (1)学生

    学生角色主要是针对在校具有选课资格的大学生而设定,学生登陆并取得合法权限后,就可以使用学生模块,它主要包括:查看课程信息,选课,退课,查看课表4项功能。

(2)老师

老师角色主要是针对在校具有管理课程资格的教师而设定的。教师登录成功后进入教师界面,教师的功能包括录入课程信息,修改课程信息,查看课程表,查看学生信息。

(3)管理员

管理员是指系统功能的主要使用者,主要功能包括查看用户信息,管理用户信息,管理课程信息,排课生成课程表的功能。

2.2 用户工作分析

(1)学生工作

图2.2-1 学生工作图

(2)老师工作

图2.2-2 老师工作图

(3)管理员工作

图2.2-3 老师工作图

2.3 界面任务分析

(1)学生选课界面:

查看课程信息:包括课程名称、教师、上课时间、地点等信息。

添加选课:学生可以选择要选取的课程并提交。

删除选课:学生可以选择要退掉的课程并提交。

查看课程表:学生可以查看自己的选课情况和课程安排。

(2)老师录课界面:

录入课程信息:教师可以添加新的课程,包括课程名称、教师、上课时间、地点等信息。

修改课程信息:教师可以修改现有课程的信息。

查看课程表:教师可以查看自己所授课程的安排。

(3)管理员排课界面:

查看选课信息:管理员可以查看所有学生的选课情况。

审核选课信息:管理员可以审核学生的选课申请,批准或拒绝。

安排选课:管理员可以根据学生的选课情况和课程容量安排课程。

2.3 界面类型确定

在选用界面形式的时候,应当考虑每种类型的优点和限制,从以下几个方面来考虑,进行抉择:使用的难易程度、学习的难易程度、操作速度、复杂程度、控制和开发的难易程度。通常,一个界面的设计使用了一种以上的设计类型,每种类型与一个或一组任务相匹配。

(1)正文菜单:

菜单是由系统预先设置好的,显示于屏幕上的一组或几组可供用户选用的命令。按照显示的形象或样式来分类。正文菜单实质上是系统命令本身或者是其简写形式。简单的正文菜单的设置与选取方式:

1)首字符匹配方式

2)序号匹配方式

3)亮条匹配方式

(2)图标菜单:

图标菜单,简称图标,是安置在一个小方框之中的衣服象形的或表意的图画。

(3)正文和图标混合的菜单

这种菜单基本上还是正文式的。从屏幕上看,它还是由字符串构成。

1层—子系统层,这一层菜单在水平方向排成一行,安放于品目的上沿或下沿。

2层—当用户挑选了某一个操作类时,屏幕上将按垂直方向显示这组操作类的名称。

(4)对话

1)必须回答式:必须回答式的对话在屏幕上出现时,用户必须给予回答,否则系统不再做任何其他工作。

2)无需回答式:这类对话在屏幕上的出现,仅仅是为了告诉用户一些参考信息,不需要用户回答。

3)警告式:这类对话主要用于系统报错或者警告。

3 数据库设计

3.1 概要设计

(1)ER图:

图3.1-1 学生选课系统ER图

3.2详细设计

(1)数据库关系表

1)学生关系表

表3.2-1 学生关系表

数据名

数据类型

数据长度

能否NULL

是否为主键

描述

Stu_id

bigint

12

N

Y

学生学号

Stu_name

varchar

10

N

N

学生姓名

major

varchar

20

N

N

学生专业

class

varchar

10

N

N

学生班级

Stu_college

varchar

20

N

N

学生学院

Stu_account

varchar

20

N

N

学生账号

Stu_password

bigint

20

N

N

学生密码

2)老师关系表

表3.2-2 老师关系表

数据名

数据类型

数据长度

能否NULL

是否为主键

描述

Tea_id

bigint

12

N

Y

老师工号

Tea_name

varchar

10

N

N

老师姓名

Tea_course

varchar

20

N

N

教授课程

Tea_college

varchar

20

N

N

老师学院

Tea_account

varchar

20

N

N

老师账号

Tea_password

bigint

20

N

N

老师密码

3)管理员关系表

表3.2-3 管理员关系表

数据名

数据类型

数据长度

能否NULL

是否为主键

描述

Adm_id

bigint

12

N

Y

管理员工号

  Adm_name

varchar

10

N

N

管理员姓名

Access_level

varchar

20

N

N

管理权限

Adm_account

varchar

20

N

N

管理员账号

Adm_password

bigint

20

N

N

管理员密码

4)课程关系表

表3.2-4 课程关系表

数据名

数据类型

数据长度

能否NULL

是否为主键

描述

Course_id

bigint

12

N

Y

课程号

 Course_name

varchar

10

N

N

课程名

Course_college

varchar

20

N

N

开设学院

Tea_id

bigint

12

N

N

授课老师

(2)类设计

  1)学生选课模块

     学生选课模块由查看课程信息,添加选课,删除选课,查看课程表等功能组成,该模块文件列表及存放路径如表3.2-5所示。

表3.2-5 学生选课模块文件列表及存放位置表

名称

类型

存放位置

说明

StudentId

实体类

gdoustuselect.modules.stuselect.molel

学生学号

StuName

实体类

gdoustuselect.modules.stuselect.molel

学生姓名

StuMajor

实体类

gdoustuselect.modules.stuselect.molel

学生专业

StuClass

实体类

gdoustuselect.modules.stuselect.molel

学生班级

StuCollege

实体类

gdoustuselect.modules.stuselect.molel

学生学院

StuAccount

实体类

gdoustuselect.modules.stuselect.molel

学生账号

StuPassword

实体类

gdoustuselect.modules.stuselect.molel

学生密码

CourseId

实体类

gdoustuselect.modules.stuselect.molel

课程号

CourseName

实体类

gdoustuselect.modules.stuselect.molel

课程名

CourseCollege

实体类

gdoustuselect.modules.stuselect.molel

开设学院

CourseTea

实体类

gdoustuselect.modules.stuselect.molel

授课老师

SelectRecord

实体类

gdoustuselect.modules.stuselect.molel

选课记录

SelectInterface

边界类

gdoustuselect.modules.stuselect.molel

选课界面

SelectService

控制类

gdoustuselect.modules.stuselect.molel

选课服务

2)老师录课模块:

老师录课模块由录入课程信息,修改课程信息,查看课程表等功能组成,该模块文件列表及存放路径如表3.2-6所示。

表3.2-6 老师录课模块文件列表及存放位置表

名称

类型

存放位置

说明

TeacherId

实体类

gdouteainput.modules.teainput.molel

老师工号

TeacherName

实体类

gdouteainput.modules.teainput.molel

老师姓名

TeacherCourse

实体类

gdouteainput.modules.teainput.molel

教授课程

TeacherCollege

实体类

gdouteainput.modules.teainput.molel

老师学院

TeacherAccount

实体类

gdouteainput.modules.teainput.molel

老师账号

TeacherPassword

实体类

gdouteainput.modules.teainput.molel

老师密码

CourseId

实体类

gdouteainput.modules.teainput.molel

课程号

CourseName

实体类

gdouteainput.modules.teainput.molel

课程名

CourseCollege

实体类

gdouteainput.modules.teainput.molel

开设学院

CourseTea

实体类

gdouteainput.modules.teainput.molel

授课老师

CourseInfoRecord

实体类

gdouteainput.modules.teainput.molel

课程信息记录

RecordInterface

边界类

gdouteainput.modules.teainput.molel

录课界面

RecordService

控制类

gdouteainput.modules.teainput.molel

选课服务

3)管理员排课模块:

管理员排课模块由查看选课信息,审核选课信息,安排选课等功能组成,该模块文件列表及存放路径如表3.2-7所示。

表3.2-7 管理员排课模块文件列表及存放位置表

名称

类型

存放位置

说明

AdmId

实体类

gdouadmmanager.modules.admmanager.molel

管理员工号

AdmName

实体类

gdouadmmanager.modules.admmanager.molel

管理员姓名

AdmLevel

实体类

gdouadmmanager.modules.admmanager.molel

管理员权限

AdmAccount

实体类

gdouadmmanager.modules.admmanager.molel

管理员账号

AdmPassword

实体类

gdouadmmanager.modules.admmanager.molel

管理员密码

CourseRecord

实体类

gdouadmmanager.modules.admmanager.molel

课程表记录

RecordInterface

边界类

gdouadmmanager.modules.admmanager.molel

排课界面

ManagerService

控制类

gdouadmmanager.modules.admmanager.molel

排课服务

4详细设计

4.1系统时序图

  1. 登录时序图

表4.1-1 登录时序图

2. 选课时序图

表4.1-2 选课时序图

3. 录课时序图

表4.1-3 录课时序图

4. 排课时序图

表4.1-4 排课时序图

4.2系统类设计

4.1.1类定义

1)学生类

属性:学号、姓名、专业、年级、已选课程

方法:选课、退课、查看课程表

2)课程类

属性:课程号、课程名称、授课老师、上课时间、上课地点、已选学生

方法:查看课程信息、查看已选学生

3)教师类

属性:教师工号、姓名、任教课程

方法:录入课程信息、查看课程表

4)管理员类

属性:管理员工号、姓名、权限等级

方法:查看选课信息、审核选课信息

4)选课系统类

属性:学生表、教师表、选课表、课程信息表

方法:学生选课、学生退课、查看课程信息

5)录课系统类

属性:学生表、教师表、课程信息表

方法:老师录入课程信息、老师修改课程信息、生成课程信息表

 6)排课系统类

属性:学生表、教师表、选课表、课程信息表

方法:管理员查看选课信息、管理员审核选课信息、生成选课表

4.1.2. 系统类图

表4.2-1 类图

  • 17
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值