数据库原理课程设计——高校学生选课系统速提升。
本文是在对各大高校全校公开课学生选课情况进行实地调查后,进行详细分析讨论后撰写的学生选课管理系统数据库设计报告。
全文从最初的系统规划,到需求分析、概念设计、逻辑设计、物理设计。
每一阶段都进行了详细的分析。
接下来的实现、运行与维护阶段,还进行了对本系统的测试,最后是本次项目开发的心得和体会以及本文的参考文献。
本系统是采用 MVC 模式(jsp+javabean+servlet)进行的 J2EE 企业级开发,主要功能是对学生选课及相关信息进行管理。
较行业同类产品而言,本系统人机界面设计更加合理、人性化,用户操作简单方便。
数据库的安全性更高,对用户访问权限进行了严格控制。
数据存取速度更快,使用年限更长。
可以很好的满足高校公开课学生选课的要求,极大的提高了学校的工作效率。
关键字:高校学生选课系统;Mysql;JSP第一章系统开发可行性分析分析系统的可行性,说明该软件开发项目的实现在技术上、经济上和操作上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。
1.1技术可行性技术可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。
本课题是以jsp平台和Myeclipse作为开发工具,运用java 等语言进行开发,所使用的数据库是Mysql,数据库小巧、速度快,而且功能也十分完善,非常适合软件的开发。
而且,平台降低开发和管理他们的数据基础设施的时间和成本,使得系统可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。
因此,系统的软件开发平台已成熟可行。
硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。
综上所述,本系统所使用的技术完全可以满足该系统的开发。
1.2经济可行性本课题开发所涉及的操作平台、开发工具基本上都是实验室机房已具备的软件,都是免费使用的,而且如今的市场情况是:其他都在涨价,就电子类产品在降价。
而且我们可以免费参阅图书馆的书籍、期刊,免费下载相关文献资料,所以在经济上不存在很大的负担。
1.3操作可行性由于本系统是以数据、图表作为人机交互载体的,在整个系统的使用过程中,需要用户输入相关信息,根据相应提示进行选择即可,操作简单,人机交互界面友好,系统具有较强的亲和性和易用性,用户只需要阅读用户手册,或者观看别人演示,即可熟练掌握本系统的使用。
因此从操作可行性方面来说,本系统也是完全可行的。
第二章需求分析2.1引言为了规范、有条理的进行本系统的设计以及合理的满足使用者的需求,为使后续的开发维护工作变得可靠而轻松,编写本系统需求分析说明书,旨在开发过程中进行参考,使系统在需求的范围之内进行开发,避免重复劳动,加快开发进度以及提高开发效率,同时也是为以后系统维护服务提供指南。
2.1 系统需求用户的需求具体体现在选课信息和用户信息的提供、保存、更新和查询的方面。
这就要求数据库的设计必须合理,使之能够充分满足各种信息的输入和输出,保证数据存储的可靠性,并且能够快速取出和存入。
而前台显示部分,应具有人性化的界面,方便用户操作。
因各个学校的实际情况不同,系统应该具有兼容性。
例如:一些学校学生人数较多,同时登陆系统,系统承载的负荷就很大。
系统需要同时处理很大的数据量,这时系统不会因此崩溃。
此外,系统还应该具有较强的安全性,保证身份不同的用户,不能越权操作。
非合法用户不能对数据进行操作。
2.2编写目的本软件需求说明旨在分析、确定本系统的任务,以及明确系统在功能、性能、操作使用上、运行环境、与外界的数据接口、输入/输出等各相关方面的要求,用来给本系统的开发人员和用户阅读,同时也作为开发过程中的开发标准,当双方确认之后,以供开发参考。
预期读者是系统设计人员、数据库设计人员。
2.3 功能需求通过系统功能的分析,结合需求分析员在各大高校实地考查,调查的对象涵盖了,学校的教职工、在校师生。
特别是对已经运行了与本系统同类产品的学校的师生使用选课管理系统心得体会进行了分析,总结出如下的需求信息:1)学生的需求:能进行选课,查看管理员发布的选课信息,自己的选课情况,本人的基本信息,课程的成绩;2)教师的需求:能查看自己的个人信息,及所授课的班级的所有学生的本门课程的成绩信息,并能进行增加和修改;3)管理员的需求:对学生选课情况进行管理,包括发布选课信息,对学生的选课情况进行查看。
管理员还可以对授课老师的信息进行管理。
第三章数据库分析与设计3.1编写目的数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,是管理信息系统的一个核心部分。
为了便于程序与数据库的连接以及对数据库的管理维护,特编写本章,意在作为编程人员的参考以及数据库管理员维护数据的参考。
3.2逻辑模型的建立3.2.1 数据流图(1)系统顶层图图3.2.1学生选课系统环境图3.2.2 数据流程图一层分解图(1)用户登陆管理。
用户在登陆时,系统会进行判断。
用户一共有三种类型,分别是学生,教师和管理员。
其中,一部分教师是管理员。
在登陆的只有学生和教师两种类型,管理员的身份由系统自行判断。
在判定时需要查询用户信息库。
用户信息库,包括学生注册信息,教师注册信息,管理员信息等。
学生选课管理系统一层分解图——登陆管理,如下图所示:图3.2.2学生选课系统顶层数据流图注:F1:用户登陆信息F2:用户注册信息F3:用户基本信息F4:用户基本信息F5:学生选课信息清单F6:学生选课信息F7:登陆错误信息F8:系统反馈用户信息F9:用户信息清单F10:修改密码后的用户信息图3.2.3学生选课系统一层分解图—登陆管理注:F1:用户修改信息F2:密码修改反馈信息F3:用户登陆信息F4:用户登陆反馈信息F5:修改后的密码信息F6:库中的用户信息F7:学生登陆信息F8:教师登陆信息F9:管理员登陆信息(2)用户操作管理。
在登陆管理进行判断后,发送学生登陆信息,教师登陆信息,管理员登陆信息的其中一种。
根据用户身份信息的不同,进入不同的管理界面,相应的操作的功能,权限都有所不同。
如下图所示:图3.2.4学生选课系统一层分解图—学生管理注: F1:学生提交的操作信息 F2:学生操作后反馈信息 F3:原始学生信息 F4:学生查询选课信息 F5:学生操作后返回的信息图3.2.5学生选课系统一层分解图—教师管理注: F1:教师提交的操作信息 F2:教师操作后反馈信息 F3:原始教师信息 F4:教师查询选课信息 F5:教师操作后返回的信息图3.2.6学生选课系统一层分解图—管理员管理注: F1:管理员提交的操作信息 F2:管理员操作后反馈信息F3:原始管理员信息 F4:管理员查询选课信 F5:管理员更新后的选课信息3.2.3 数据流程图二层分解图(1)学生管理。
将 P2.1 进行分解,学生管理包括,查看选课信息和个人信息,进行选课、重新选课。
学生选课管理系统二层分解图——学生管理如下图所示:图3.2.7学生选课系统二层分解图—学生管理注:F1:提交的个人查询信息F2:查询个人信息后的反馈信息F3: 查询选课信息后的反馈信息F4: 提交的选课查询信息F5:选课信息F6:提交选课信息后的反馈信息F7: 删除选课信息后的反馈信息F8:删除选课信息F9:原始个人信息F10:原始用户信息F11:原始选课信息F12:增加选课的信息F12:删除选课的信息(2)教师管理。
将P2.2 进行分解,教师管理包括,查看选课信息和个人信息,填写学生的成绩。
学生选课管理系统二层分解图——学生管理如下图所示:图3.2.8学生选课系统二层分解图—教师管理注:F1: 选课信息F2:提交选课信息后的反馈信息F3: 填写学生成绩信息后的反馈信息F4: 提交的学生成绩信息F5: 提交的个人查询信息F6:查询个人信息后的反馈信息F7: 原始个人信息F8:需要修改的选课信息F9:修改后的学生信息F10:原始的选课信息(3)管理员管理。
将 P2.3 进行分解,管理员管理包括,1.管理学生信息,包括对学生信息的查询、增加,修改,删除;2.管理教师信息,包括对教师信息的查询、增加,修改,删除;3.选课信息管理,包括发布选课信息,增加,修改,删除选课课程等。
学生管理系统二层分解图——学生管理如下图所示:图3.2.9学生选课系统二层分解图—管理员管理注: F1: 提交的操作学生信息的条件 F2:提交管理学生信息后的反馈信息 F3: 提交的操作教师信息的条件 F4: 提交管理教师信息后的反馈信息 F5: 提交的操作管理员信息的条件 F6: 提交管理管理员信息后的反馈信息 F7: 原始学生信息 F8:调用用户信息库 F9: 调用用户信息库 F10: 原始教师信息 F11: 原始课程信息 F12: 调用选课信息库3.2.4数据字典第四章系统UML建模4.1 系统需求分析学生选课系统主要满足来自三方面的需求,这三个方面分别是学生用户、教师用户和管理员用户,也即是三类用户角色。
(1)学生用户是主要的需求者,主要需求功能是查询可选课程、查看自己选课情况及进行选课、退课操作等;(2)教师用户主要需求功能是查看自己所教授的课程、课程有哪些学生选修、以及利用本系统提交学生的成绩;(3)管理员用户的功能需求较为复杂,包括对学生信息、教师信息、课程信息进行管理。
在学生信息管理子模块中,实现对学生信息的添加、修改、删除操作,还可以输入查询条件进行查询操作。
在教师管理子模块中,实现对教师信息的添加、修改、删除、查询等操作。
在课程管理子模块中,实现对课程信息的添加,添加时为其分配任课教师、上课时间和地点,实现对课程的修改、删除、查看某个课程的详细信息等。
本系统将管理员用户、教师用户、学生用户的身份及权限进行严格的划分,让管理员拥有最高权限,可以查看、维护系统中的所有信息,如添加学生,添加课程,修改课程信息等;让教师拥有查看自己开设的课程的信息,以及提交所开设课程成绩的权限;让学生拥有选课和退选的权限;而修改密码模块的权限每个用户都可拥有,用以修改自己的密码信息。
通过进行严格的权限划分,可以更好地进行管理,也可更好地保护用户信息安全。
4.2系统用例图(1)管理员用例图图4.1管理员用例图(2)教师用例图图4.2教师用例图(3)教师用例图图4.3学生用例图4.3系统时序图4.3.1学生时序图学生首先使用自己的帐号和密码登录系统,登录模块会将学生的ID保存在系统缓存中并提交给课程查询模块。
课程查询模块提示学生输入查询条件,学生输入适当的查询条件后查询模块显示符合查询条件的课程列表。
学生得到课程列表后,提交自己想要选修的课程ID。