软件工程课程设计实验报告
发布时间:2024-10-30
发布时间:2024-10-30
很好
重庆邮电大学
软 件 工 程
课程设计实验报告
——网上选课系统
姓名:雷雷 学号:专业:计算机科学与技术
班级:0410801 指导老师:邹洋 教室:S331-A 时间:
很好
一、实验题目:网上选课系统
主要功能描述:系统首先维护校内所有课程的信息;课程分为研究生、本科生;也可以分为必修、选修、辅修。用户以学号和密码登陆,系统显示用户以选的课程、用户有权选但未选的其他课程,并显示具体信息(如学分)。用户选择后,系统根据规则检查用户是否进行正确的选课(如时间冲突、跨专业选课等);如果错误提示用户改,否则修改选课数据库。最后系统应能够向管理员提供查询界面和各类报表,统计每门课的选课情况。
二、实验目的
软件工程课程设计是软件工程专业一个综合性的实践教学环节,其目的在于促进学生复习和巩固计算机软件设计知识,加深对软件设计方法、软件设计技术和设计思想的理解,并能运用所学软件设计知识和面向对象技术进行综合软件设计,提高学生的综合应用能力。通过这次课程设计,要掌握UML(统一建模语言),并能运用UML在Rational Rose中建模。
三、实验要求
1. 一人一组。
2. 熟悉Rose开发环境。
3. 掌握UML的基本模型元素(如角色、用例、类等)。 4. 熟悉UML,主要了解UML中的9大图:Use case diagram(用例图)、Class diagram(类图)、Sequence diagram(序列图)、Collaboration diagram(协作图)、Statechart diagram(状态图)、Activity diagram(活动图)、Component diagram(组件图)、Deployment diagram(配置图)、datamodel diagram(数据模型图)。
5. 进行系统需求分析与系统功能模块设计,绘出系统详细的业务流程图和数据流程图,建立完整的系统数据库的逻辑模型。 6. 完成对系统的建模实现。 7. 进行检查,并提交设计报告。
四、实验内容
1、系统的需求分析 学生选课系统主要满足来自两方面的需求,这两个方面分别是学生用户和管理员用户,也即是两类用户角色。
(1)学生用户是主要的需求者,主要需求功能是查询可选课程、查看自己选课情况及进行选课、退课操作等;
(2)管理员用户的功能需求较为复杂,包括对学生信息、课程信息进行管理。在学生信息管理子模块中,实现对学生信息的添加、修改、删除操作,还可以输入查询条件进行查询操作。在课程管理子模块中,实现对课程信息的添加,添加时为其分配任课教师、上课时间和地点,实现对课程的修改、删除、查看某个课程的详细信息等。
本系统将管理员用户、学生用户的身份及权限进行严格的划分,让管理员拥有最高权限,可以查看、维护系统中的所有信息,如添加学生,添加课程,修改课程信息等;让学生拥有选课和退选的权限;而修改密码模块的权限每个用户都可拥有,用以修改自己的密码信息。通过进行严格的权限划分,可以更好地进行管理,也可更好地保护用户信息安全。
很好
2、系统的功能模块详细设计
学生选课系统是实现学生选课退课以及学校教务管理员维护信息的一个平台,整个学生选课系统有前台和后台两部分,共分为3个模块:管理员模块,学生模块和公有模块,分别用于完成各自的功能。以下为学生选课系统总体设计图和各功能模块说明:
(1)总设计图:
3、人机交互子系统 (1)用户分类
本系统的用户可分为两类:
很好
①管理员用户; ③学生用户。 (2)用户描述
①管理员用户的描述:
管理员用户在整个选课系统中起到管理和维护的作用,对学生和教师的信息进行管理和维护以及开设课设等职责。
③学生用户的描述:
选课系统主要是针对管理学生的,学生在本系统中具有修改自己的信息,以及选课和退选的功能。
(3)设计命令层次
①系统的人机交互子系统的内容和准则:
本学生选课系统的人机交互子系统在根据不同的用户身份登陆到不同的页面,然后按照不同的用户只能进行用户权限内的操作,其结构图如下:
很好
②通过采用树形结构,细化命令的组织方式,如下:
4、详细设计
学生选课系统是实现学生网上选课、学校教务管理员维护信息的一个平台,整个学生选课系统共分为3个大模块:管理员模块,学生模块和公有模块,其中复杂的方法和模块的详细设计流程图如下
(1)系统用户登录流程图
很好
(2)用户密码修改流程图
很好
(3)管理员添加课程流程图
(4)学生选修课程流程图
5、系统的数据库设计 (1)数据库表
很好
(2)数据表之间的关系
五、系统设计用图及说明
1、网上选课系统用例图:
很好
用例图说明:
(1)系统的外部角色有:学生用户和管理员。 (2)系统主要用例的文档描述:
①学生管理用例:学生用户可见的功能,包含了选课、退课和查看选课三个用例功能。 ②信息管理用例:管理员可见的功能,这个用例进一步分为两个用例:学生信息管理用例和课程信息管理用例。
③学生信息管理用例:信息管理用例可见的功能,实现学生信息的管理功能,包含了添加学生、修改学生信息和删除学生三个用例。
④课程信息管理用例:信息管理用例可见的功能,实现课程信息的管理功能,包含了添加课程、修改课程信息和删除课程三个用例。
⑤修改密码用例:所有用户都可见的功能,用于修改用户的密码信息。 (3)系统用例之间的关系:
①学生管理用例与选课、查看选课、退课三用例之间是包含关系。
②信息管理用例与学生信息管理用例和课程信息管理用例之间是包含关系。
③学生信息管理用例与添加学生、修改学生信息和删除学生三个用例之间是包含关系。 ④课程信息管理用例与添加课程、修改课程信息和删除课程三个用例之间是包含关系。
2、网上选课系统类图
很好
类图说明:
(1)BaseUser类是一个系统角色用户的基类,主要方法有两个:
modifyPWD() 用于修改用户的密码; loginCheck() 用于用户登录验证。 (2)Admin类继承自BaseUser类。
(3)Student类继承自BaseUser类,主要方法有:
studentAdd() 用于添加学生; studentDel() 用于删除学生;
studentUpdate() 用于更新学生信息; getStudents() 用于获取学生列表。 (4)Course类是一个课程类,主要方法有:
courseAdd() 用于添加课程; courseDel() 用于删除课程;
courseUpdate() 用于修改课程信息; getCourses() 用于获取课程列表。
(5)Elect类是一个选课表类,主要方法有:
elect() 选修课程; electDel() 退选课程;
getElectInfo() 获取选课信息;
3、顺序图
(1) 管理员修改课程信息顺序图
很好
(2) 学生用户退课的顺序图
4、学生用户选课协作图
很好
五、心得体会
Rational Rose在之前的软件工程实验课上接触过了,当时并没有系统化的分析一个系统,再在本周的软件工程课程设计上,我更深刻的认识和更深入的学习了Rose。在课堂所学的基础上,把书本知识转化为实际的东西,在Rational Rose当中实践,因此我选择了书本上没有的实例——网上选课系统。刚拿到这个选题的时候并没有多少头绪,但多多少少见过学校的选课系统,因此还可以分析出角色。在这个选题中,需求分析并不是一间难事,因为系统本身的角色比较少;而难点在于如何实现用例之间的关系。为了得到一个更加完美的Rose模型,我查阅了书籍,上网搜寻了相关资料,并从众多选课系统模型中深刻的学习才有了本次课程设计的实验结果。通过本次软件工程课程设计,使我更加掌握了UML的建模,同时巩固了书本内容,强化了软件工程知识,受益颇多。
上一篇:笔记本电脑销售技巧总结
下一篇:电表过户申及请移表申请