软件工程---期末考试作业---课程设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

河北工程技术高等专科学校
计算机软件专业课程设计实验报告
--------------------------------------------------------------------------------组别:第2组
-------------------------------------------------------------------------------- 项目选题:网上选课系统
-------------------------------------------------------------------------------- 组长:
承担任务:资料收集、设计报告的编写探讨、课程设计实验报告的编写、数据库的设计与创建、课程管理子模块、管理员模块
-------------------------------------------------------------------------------- 组员:
承担任务:资料收集、设计报告的编写探讨、登录模块、学生管理子模块一部分
--------------------------------------------------------------------------------
组员:
承担任务:资料收集、设计报告的探讨、退出模块、学生管理子模块一部分
--------------------------------------------------------------------------------
本系统采用语言为PHP
数据库采用MySQL
编辑工具Editplus或Dreamweaver根据代码编写人员的个人情况而定
1、主要功能描述
系统首先维护校内所有课程的信息;课程分为选修和必修。

用户以学号和密码登陆,系统显示用户已选的课程、用户有权选但未选的其他课程,并显示具体信息(如学分)。

用户选择后,系统根据规则检查用户是否进行正确的选课(如时间冲突、跨专业选课等);如果错误提示用户改,否则修改选课数据库。

最后系统应能够向管理员提供查询界面和各类报表,统计每门课的选课情况。

2、系统的需求分析
学生选课系统主要满足来自两方面的需求,这两个方面分别是学生用户和管理员用户,也即是两类用户角色。

(1)学生用户是主要的需求者,主要需求功能是查询可选课程、查看自己选课情况及进行选课、退课操作等;
(2)管理员用户的功能需求较为复杂,包括对学生信息、课程信息进行管理。

在学生信息管理子模块中,实现对学生信息的添加、修改、删除操作,还可以输入查询条件进行查询操作。

在课程管理子模块中,实现对课程信息的添加,添加时为其分配任课教师、上课时间和地点,实现对课程的修改、删除、查看某个课程的详细信息等。

本系统将管理员用户、学生用户的身份及权限进行严格的划分,让管理员拥有最高权限,可以查看、维护系统中的所有信息,如添加学生,添加课程,修改课程信息等;让学生拥有选课和退选的权限;而修改密码模块的权限每个用户都可拥有,用以修改自己的密码信息。

通过进行严格的权限划分,可以更好地进行管理,也可更好地保护用户信息安全。

3、系统的功能模块详细设计
学生选课系统是实现学生选课退课以及学校教务管理员维护信息的一个平台,整个学生选课系统有前台和后台两部分,共分为3个模块:管理员模块,学生模块和公有模块,分别用于完成各自的功能。

以下为学生选课系统总体设计图和各功能模块说明:
(1)总设计图:
(2)各模块功能:
4、人机交互子系统
(1)用户分类
本系统的用户可分为两类:
管理员用户
学生用户
(2)用户描述
管理员用户的描述:
管理员用户在整个选课系统中起到管理和维护的作用,对学生和教师的信息进行管理和维护以及开设课设等职责。

学生用户的描述:
选课系统主要是针对管理学生的,学生在本系统中具有修改自己的信息,以及选课和退选的功能。

(3)设计命令层次
系统的人机交互子系统的内容和准则:
本学生选课系统的人机交互子系统在根据不同的用户身份登陆到不同的页面,然后按照不同的用户只能进行用户权限内的操作,其结构图如下:
通过采用树形结构,细化命令的组织方式,如下:
5、详细设计
学生选课系统是实现学生网上选课、学校教务管理员维护信息的一个平台,整个学生选课系统共分为3个大模块:管理员模块,学生模块和公有模块,其中复杂的方法和模块的详细设计流程图如下
(1)系统用户登录流程图
(2)用户密码修改流程图
(3)管理员添加课程流程图
(4)学生选修课程流程图
6、系统的数据库设计(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、学生用户选课协作图
说明:由于此设计报告中的内容较多,而且比较复杂,代码编写人员并没有非常强的代码编写能力,只能尽最大的努力去做,所以很多设计报告中的功能都没有达到,只达到了其中的一部分。

相关文档
最新文档