文档库 最新最全的文档下载
当前位置:文档库 › 学生选课管理系统(数据库课程设计)

学生选课管理系统(数据库课程设计)

学生选课管理系统(数据库课程设计)
学生选课管理系统(数据库课程设计)

计算机科学与技术学部

数据库课程设计报告

题目:学生选课管理系统

指导老师:

学号:

姓名:

班级:计科0901班

时间:2011-12-23

分数:

摘要

随着计算机技术的日新月异,极大的推动的各个行业的信息化进程。各大高校也急需进行信息化改革,以促进教学质量和工作效率快速提升。

本文是在对各大高校全校公开课学生选课情况进行实地调查后,进行详细分析讨论后撰写的学生选课管理系统数据库设计报告。全文从最初的系统规划,到需求分析、概念设计、逻辑设计、物理设计。每一阶段都进行了详细的分析。接下来的实现、运行与维护阶段,还进行了对本系统的测试,最后是本次项目开发的心得和体会以及本文的参考文献。

本系统是采用MVC模式(jsp+javabean+servlet)进行的J2EE企业级开发,主要功能是对学生选课及相关信息进行管理。较行业同类产品而言,本系统人机界面设计更加合理、人性化,用户操作简单方便。数据库的安全性更高,对用户访问权限进行了严格控制。数据存取速度更快,使用年限更长。可以很好的满足高校公开课学生选课的要求,极大的提高了学校的工作效率。

关键字:学生选课管理系统;SQL Server;JSP

目录

第一章系统规划1

1.1 引言1

1.1.1 编写目的1

1.1.2项目背景1

1.2 可行性研究的前提1

1.2.1 目标1

1.2.2 要求2

1.2.3 条件假定和限制2

1.2.4 决定可行性的主要因素3

1.3 技术可行性分析3

1.3.1 技术的支持能力3

1.3.2 技术的优势3

1.3.3 技术的难点3

1.4 经济可行性分析4

1.4.1预期支出4

1.4.2预期收益4

1.5 社会可行性分析4

1.5.1 法律因素4

1.5.2 用户使用可行性5

1.6 意见结论5

第二章需求分析6

2.1 系统需求6

2.2 功能需求6

2.3 数据流图7

2.3.1 系统顶层图7

2.3.2 数据流程图一层分解图7

2.3.3 数据流程图二层分解图9

2.4 数据字典11

2.4.1 数据流条目11

2.4.2 数据处理13

2.4.3 数据存储14

第三章概念设计15

3.1 实体之间的联系15

3.2 E-R图15

3.2.1 局部E-R图15

第四章逻辑设计19

4.1 概念模型向关系模型的转换19

4.1.1 1:N联系的转化的关系模式19

4.1.2 M:N联系的转化的关系模式19

4.2 概念模型的优化20

4.2.1 确定X式级别20

4.2.2 实施规X化处理20

第五章物理设计22

5.1 数据库的存储结构22

5.1.2 数据库的表设计22

5.1.3数据的存放位置的设计24

5.1.4 关系模式的存取方法24

5.1.5.数据库安全性24

第六章实现、运行与维护25

6.1 实现25

6.1.1 数据库的实现25

6.1.2 视图的实现25

6.2 人机界面设计27

6.2.1 用户登陆界面27

6.2.2 学生选课管理界面27

6.2.3 教师管理界面28

6.2.4 管理员管理界面28

6.3 系统测试29

6.3.1用户登陆测试29

6.3.2 学生选课管理测试29

6.3.3 教师管理测试30

6.3.4 管理员管理测试31

6.4 运行维护32

总结33

参考文献34

第一章系统规划

1.1 引言

1.1.1 编写目的

可行性研究的目的是用最小的代价在尽可能的短的时间内确定数据库系统是否可能开发、是否值得开发、是否可以开发(在该报告中主要是考查《学生选课管理系统》是否可能开发、是否值得开发、是否可以开发)。其实质是在较高层次上以较抽象方式进行的、简化的压缩的需求分析和概要设计过程。

1.1.2项目背景

开发软件名称:学生选课管理系统

项目任务提出者:李军

项目开发者:洪峰、陈梓明等

用户:各大高校师生

1.2 可行性研究的前提

1.2.1 目标

系统实现后,极大的方便对学生进行选课和选课后临时班级的安排管理,学生选课信息的管理。避免在安排课程信息的滞后,减少信息交流的烦琐过程及其带来的开销。促进高校教育的计算机信息化进程,提高学校的工作效率。对于系统的本身而言,应该具有较高的实用性、安全性。能够极大的满足学生选课,以及学校对选课信息的管理。

1.2.2 要求

主要功能:

教师和学生登陆系统的XX和密码,初始都分别为教师和学号,登陆后密码可以修改。其中教师的职位可以是管理员。管理员和非管理员的老师及学生对系统的操作具有不同的权限。管理员登陆系统,对学生选课情况进行管理,包括发布选课信息,对学生的选课情况进行查看。管理员还可以对授课老师的信息进行增加、删除、修改、查询。教师登陆系统,能查看自己的个人信息,及所授课的班级的所有学生的本门课程的成绩信息,并能进行增加和修改。学生登陆系统,能进行选课,查看管理员发布的选课信息,自己的选课情况,本人的基本信息,以及课程的成绩。系统自动分配学生选课后的临时班级。

性能要求:

管理员发布的信息、学生选课的信息以及管理员和学生对系统操作的信息必须及时的反映在本系统上,且无差错。

输入要求:

具有很好的容错性和兼容性

输出要求:

应迅速、准确、实时

完成期限:预计五个星期,即截止2011年12月30日。

1.2.3 条件假定和限制

建议软件寿命:未知

经费来源:自费

硬件条件:Intel Pentium 4、1G内存同等性能及以上的硬件条件

运行环境:Window XP 、T omcat5.5、JDK1.6

数据库:Microsoft SQL server2005

投入运行最迟时间:2012年1月5日

1.2.4 决定可行性的主要因素

技术可行,现有技术可完全承担开发任务。

操作可行,软件能被操作人员快速接受。

经济可行,为小型系统软件,支出较小。

社会可行,使用软件全部为正版,且本软件在法律允许X围之内

1.3 技术可行性分析

技术上的可行性分析要考虑现有技术条件能否顺利完成开发工作及将来要采用的硬件和软件技术能否满足用户提出的要求。

1.3.1 技术的支持能力

本系统采用J2EE企业级开发方案,其中MyEclipse 8.5作为系统前台应用程序开发工具,采用SQL Server 2005工具建立数据库,并通过JDBC使两者进行连接从而进行系统软件开发。此前,我们已使用相同技术开发过类似软件系统,具有一定开发经验。此外,从开发人员的水平考虑,本系统的软件开发人员,都具有较强软件开发能力,且之前开发都参加过类似软件系统的开发,经验丰富。

1.3.2 技术的优势

一、J2EE体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求;

二、开发效率、代码重用率高;

三、跨平台,编写一次,随处运行;

四、开发界面友好,智能。

1.3.3 技术的难点

一、数据库设计和维护

二、系统负荷和安全问题

1.4 经济可行性分析

1.4.1预期支出

基础投资:

计算机10台:5000*10 = 5 万

人员工资:5000元*2月*10人=10万

宣传费用:1万

其他不可知支出: 2万

支出共计:18万

本学生选课管理系统其它所需的硬件(计算机及相关硬件)和软件环境(MyEclipse8.5+T omcat5.5+JDK1.6+SQL Server 2005),市场上都容易购买到或从相关下载。其中JDK1.5为开源免费软件。而SQL server 2005本软件采用的是学习版,也是免费的,MyEclipse8.5以前已经购得,开发成本较小。

1.4.2预期收益

预期发售价格:2万/套

目标客户:全国各大高校

预期发售量:40套/年

预期收益:40*2=80万

预期收益>预期支出,开发本系统能够为投资者带来较高的收益。

1.5 社会可行性分析

1.5.1 法律因素

开发使用的所有软件都选用正版,其中JDK1.5为开源免费软件。而SQL server 2005本软件采用的是学习版,也是免费的。

1.5.2 用户使用可行性

本软件操作简单,界面友好,功能完备,有一定计算机基础的人员就能进行操作。

1.6 意见结论

根据上述分析,技术、经济、社会可行性都可行,可以立即进行开发。

第二章需求分析

2.1 系统需求

用户的需求具体体现在选课信息和用户信息的提供、保存、更新和查询的方面。这就要求数据库的设计必须合理,使之能够充分满足各种信息的输入和输出,保证数据存储的可靠性,并且能够快速取出和存入。而前台显示部分,应具有人性化的界面,方便用户操作。因各个学校的实际情况不同,系统应该具有兼容性。例如:一些学校学生人数较多,同时登陆系统,系统承载的负荷就很大。系统需要同时处理很大的数据量,这时系统不会因此崩溃。此外,系统还应该具有较强的安全性,保证身份不同的用户,不能越权操作。非合法用户不能对数据进行操作。

2.2 功能需求

通过系统功能的分析,结合需求分析员在各大高校实地考查,调查的对象涵盖了,学校的教职工、在校师生。特别是对已经运行了与本系统同类产品的学校的师生使用选课管理系统心得体会进行了分析,总结出如下的需求信息:

(1)学生的需求:能进行选课,查看管理员发布的选课信息,自己的选课情况,本人的基本信息,课程的成绩;

(2)教师的需求:能查看自己的个人信息,及所授课的班级的所有学生的本门课程的成绩信息,并能进行增加和修改;

(3)管理员的需求:对学生选课情况进行管理,包括发布选课信息,对学生的选课情况进行查看。管理员还可以对授课老师的信息进行管理。

2.3 数据流图

2.3.1 系统顶层图

根据系统主要信息的处理功能,整个系统可以看作登陆管理,用户选课管理

两个部分。从而得出了学生选课管理系统的顶层图如下所示:

图 2.1 学生选课管理系统顶层图

注:F1:用户登陆信息F2:用户注册信息F3:用户基本信息F4:用户基本信息F5:学生选课信息清单F6:学生选课信息F7:登陆错误信息F8:系统反馈用户信息F9:用户信息清单F10:修改密码后的用户信息

2.3.2 数据流程图一层分解图

(1)用户登陆管理。用户在登陆时,系统会进行判断。用户一共有三种类

型,分别是学生,教师和管理员。其中,一部分教师是管理员。在登陆的只有学

生和教师两种类型,管理员的身份由系统自行判断。在判定时需要查询用户信息

库。用户信息库,包括学生注册信息,教师注册信息,管理员信息等。学生选课

管理系统一层分解图——登陆管理,如下图所示:

图 2.2 学生选课管理系统一层分解图——登陆管理注:F2.1:学生登陆信息F2.2:教师登陆信息F2.3:管理员登陆信息

F7.1:用户身份信息F7.2:修改密码的错误信息

(2)用户操作管理。在登陆管理进行判断后,发送学生登陆信息,教师登陆信息,管理员登陆信息的其中一种。根据用户身份信息的不同,进入不同的管理界面,相应的操作的功能,权限都有所不同。如下图所示:

图 2.3.1 学生选课管理系统一层分解图——学生管理

注:F3.1:原始学生信息F5.1:学生更新后的选课信

F6.1:学生查询的选课信息F8.1:学生操作后返回的信息

注:F3.2:原始教师信息 5.2:教师更新后的选课信息 F6.2:教师查询的选课信息 F8.1:教师操作后返回的信息

注:F3.3:原始管理员信息F9.1更新后的用户信息F6.3:管理员查询的选课信息F8.1:管理员操作后返回的信息 F5.3:管理员更新后的选课信息 2.3.3 数据流程图二层分解图

(1)学生管理。将P2.1进行分解,学生管理包括,查看选课信息和个人

信息,进行选课、重新选课。学生选课管理系统二层分解图——学生管理如下图所示:

2.3.3 学生选课管理系统一层分解图——管理员管理

图 2.3.2 学生选课管理系统一层分解图——教师管理

图2.4 学生选课管理系统二层分解图——学生管理

注:F3.1:学生个人信息F5.1.1:增加后的选课信息F5.1.2: 删除后的选课信息(2)教师管理。将P2.2进行分解,教师管理包括,查看选课信息和个人信息,填写学生的成绩。学生选课管理系统二层分解图——学生管理如下图所示:

图2.5 学生选课管理系统二层分解图——教师管理

注:F3.2.1:教师个人信息F3.2.2:学生个人信息

F5.2.2:增加后的学生成绩信息F5.2.3:修改后的学生成绩信息

(2)教师管理。将P2.3进行分解,管理员管理包括,1.管理学生信息,包括对学生信息的查询、增加,修改,删除;2.管理教师信息,包括对教师信息的查询、增加,修改,删除;3.选课信息管理,包括发布选课信息,增加,修改,删除选课课程等。学生管理系统二层分解图——学生管理如下图所示:

图2.6 学生选课管理系统二层分解图——管理员管理

注:F3.3.1:原始学生信息F3.3.2:原始教师信息F3.3.3:原始课程信息F3.3.4:原始教室信息F9.1.1:修改后学生信息F9.1.2:修改后的教师信息F9.1.3:修改后的课程信息F9.1.3:修改后的班级信息

2.4 数据字典

2.4.1 数据流条目

2.4.2 数据处理

表2.12 用户操作管理数据处理

2.4.3 数据存储

第三章概念设计

3.1 实体之间的联系

根据需求分析,归结出合适的联系:

1、一个学生最多能够选两门课,一门课可以被多个学生选

2、一个老师最多能教一门课,一门课可以被多个老师教授,

3、教师中只有一个是管理员

4、一个学生可以属于不超过两个临时班级,一个临时班级可以有多名学生

5、一名教师可以在多个临时班级上课,一个临时班级只有一名教师教授3.2 E-R图

3.2.1 局部E-R图

(1)学生课程联系E-R图

图3-1学生课程联系E-R图

(2)教师课程关系E-R图

图3-2 教师课程关系E-R图(3)学生临时班级联系E-R图

图3-3 学生临时班级联系E-R图

相关文档