网上选课系统—数据库原理与应用_第1页
网上选课系统—数据库原理与应用_第2页
网上选课系统—数据库原理与应用_第3页
网上选课系统—数据库原理与应用_第4页
网上选课系统—数据库原理与应用_第5页
已阅读5页,还剩9页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、高校网上选课系统数据库原理与应用目录1引言31.1编写目的31.2定义31.3参考资料32需求分析32.1功能模块分析32.2数据流图3221顶层流图3222第二层流图32.3数据字典33结构设计43.1概念结构设计4311局部E-R图4312 整体E-R图43.2逻辑结构设计4321基本表43.3物理结构设计44运用设计44.1安全保密设计44.2数据库实施5421创建数据库5422创建数据表5423添加完整性约束、触发器5424添加索引、视图5425 存储过程54.3数据库测试55结束语51引言1.1编写目的 学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关

2、重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对选课信息进行管理,有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管

3、理,与世界接轨的重要条件。因此,开发这样一套软件成为很有必要的事情,1.2定义学生选课系统需要满足来自三方面的需求,这三个方面分别是学生、教师和管理员。学生的需求是查询院系的课程、学生选课情况及学生信息的修改;教师对选课系统学生选课情况进行操作,同时形成学生选课查看确认;选课管理员的功能最为复杂,包括对学生、教师、选课进行管理和统计,及系统状态的查看、维护并生成选课报表。学生可以直接查看选课情况,学生可以根据本人学号和密码登录系统,还可以进行本人学科成绩情况的查询和维护部分个人信息。一般情况下,学生只应该查询和维护本人的选课情况和个人信息,若查询和维护其他学生的选课及成绩查询信息,就要知道其他

4、学生的学号和密码。这些是很难得到的,特别是密码,所以不但满足了学生的要求,还保护了学生的个人隐私。学校工作人员有修改学生选课的权限,所以需对工作人员登陆本模块进行更多的考虑。在此系统中,学校工作人员可以为学生加入选课或是登陆记录,并打印生成相应的报表给用户查看和确认院系管理人员功能的信息量大,数据安全性和保密性要求最高。本功能实现对选课信息、教师信息、总体选课情况信息的查询和统计、工作人员和管理人员信息查看及维护。学校管理员可以浏览、查询、修改、统计选课的基本信息;浏览、查询、统计和修改学生选课的基本信息,浏览、查询、统计学生信息,但不能添加删除和修改学生的信息,这部分功能应该由院系工作人员执

5、行,但是,删除某条学生选课基本信息记录时,应实现对该学生选课的级联删除。并且还应具有生成选课报表,并打印输出的功能。设计不同用户的操作权限和登陆方法对所有用户开放的学生选课查询和个人部分信息维护查看个人情况信息维护学生个人密码根据选课情况对数据库进行操作并生成报表根据选课情况对数据库进行操作并生成报表查询及统计各种信息维选课信息维护工作人员和管理员信息维护学生信息处理信息的完整性。 本系统主要实现教师信息管理、学生信息管理、课程信息管理和系信息管理,其中教师信息管理有教师姓名、教师工号、教师职称、教师所属系;学生信息管理有学生姓名、学生学号和学生所在系;课程信息管理有课程名称、学分、上课地点、

6、已选人数、课程性质、开课系、课程人数;系信息管理有系号和系名。1.3参考资料列出有关的参考资料:张剑平.学校管理信息系统.北京:中国铁道出版社,1997吴开军.选课系统的设计与实现,电脑开发与应用育.西南师大出版社,1999吴晨,ASP.NET+SQL Server-数据库开发与实例,清华大学出版社,出版2006年7月2需求分析2.1功能模块分析管理员界面的功能模块如图2-1所示:管理员登录系统管理专业管理系统院系管理系统课程管理学生管理教师管理查看专业添加专业修改专业删除专业查看院系添加院系修改院系删除院系查看课程修改课程添加课程删除课程查看学生添加学生修改学生删除学生查看教师添加教师删除教

7、师修改教师图2-1 管理界面的系统功能模块图教师界面的功能模块如图2-2所示:学生界面的功能模块如图2-3所示:学生登录课 程个人信息管理查看个人信息修改个人信息添加选课删除选课查看选课信息学生信息查看选课信息教师登录选课学生信息教师信息担任学生课表添加选课课程如图2-2教师界面的功能模块 如图2-3学生界面的功能模块2.2数据流图221顶层流图222第二层流图2.3数据字典3结构设计3.1概念结构设计311局部E-R图管理员信息实体E-R图如图2-5所示教师用户实体E-R图如图2-6所示学生用户信息实体E-R图如图2-7所示院系信息实体E-R图如图2-8所示教师姓名所属院系教师工号教 师管理

8、员 密 码用户名 图2-5 管理员信息实体E-R图 如图2-6 教师用户实体E-R图院 系所属专业学 生性 别所属院系 用户编号院系名称学生姓名图2-7 学生用户信息实体E-R图 图2-8 院系信息实体E-R图专业信息实体E-R图如图2-9所示课程信息实体E-R图如图2-10所示课 程所属专业学生姓名所属院系用户编号管理员院系名称专业名称图2-9 专业信息实体E-R图 图2-10 课程信息实体E-R图312 整体E-R图 课 程教 师院 系专 业学 生选 课 3.2逻辑结构设计321基本表包括users、teacherinfo、studentinfo、deptinfo、majorinfo、ma

9、jorinfo、stucourse。其中每个表与逻辑设计中一种的关系模式相对应。下面是每个数据表中的属性,包括属性列的名称、数据类型是否可以为空等内容。Users为用户表,记录用户的登录信息,包括管理员、教师和学生的登录帐户。本系统默认用户为admin,其他可由管理员添加,默认密码都为123。其中userID为主键,其详细信息请看表2-1表2-1 Users(用户表)Teacherinfo为教师信息列表,以TeacherID为主键,记录教师相关的信息。其详细信息请看表2-2表2-2 Teacherinfo(教师信息列表)Studentinfo为学生信息列表,以StudentID为主键,记录学生

10、相关的信息。其详细信息请看表2-3表2-3 Studentinfo(学生信息列表)Deptinfo为院系列表,以DeptID为主键,记录院系的相关信息。其详细信息请看表2-4表2-4 Deptinfo(院系列表)majorinfo为专业信息列表,以majorID为主键,记录专业相关的信息。其详细信息请看表2-5表2-5 majorinfo(专业信息列表)courseinfo为课程信息列表,以courseID为主键,记录课程相关的信息。其详细信息请看表2-6表2-6 courseinfo(课程信息列表)stucourse为学生和课程的关系表,因为学生和课程多对多关系,所以用表建立以courseI

11、D为主键的多对对关系。其详细信息请看表2-7表2-7 stucourse(学生和课程的关系表)3.3物理结构设计建立系统程序员视图,包括:a 数据在内存中的安排,包括对索引区、缓冲区的设计;b 所使用的外存设备及外存空间的组织,包括索引区、数据块的组织与划分;c 访问数据的方式方法。4运用设计4.1安全保密设计说明在数据库的设计中,将如何通过区分不同的访问者、不同的访问类型和不同的数据对象,进行分别对待而获得的数据库安全保密的设计考虑。4.2数据库实施421创建数据库create database 学生选课库on primary(name=学生选课库,filename=g:学生选课库学生选课.

12、mdf)422创建数据表create table 课程(课程号 char(10)primary key, 课程名 char(10)not null, 任课老师 char(20), 课程类别 char(20)constraint c1 check (课程类别 in (管理类,经济类,电子类,计算机类)create table 学生(学号 char(10) primary key, 姓名 char(10) not null, 性别 char(2) check (性别 in (男,女), 系别 char(10);create table 选课(学号 char(10), 课程号 char(10), 成

13、绩 smallint default 60constraint c2 primary key (学号,课程号),constraint c3 foreign key (学号) references 学生(学号),constraint c4 foreign key (课程号) references 课程(课程号);423添加完整性约束、触发器create trigger 学生信息 on 学生 for delete as if (select count(*) from 选课,deleted where 选课.学号=deleted.学号)0 rollback transaction424添加索引、视

14、图创建索引create unique index 学生 on 学生(学号);create unique index 课程 on 课程(课程号);create index 选课 on 选课(学号,课程号);创建视图create view 学生成绩(学号,姓名,系别,课程号,课程名,成绩) as select 学生.学号,学生.姓名,学生.系别,课程.课程号,课程.课程名,选课.成绩 from 学生,课程,选课 where 学生.学号=选课.学号 and 课程.课程号=选课.课程号425 存储过程create procedure 课程查询1 课程类别1 char(20), 任课老师1 char(2

15、0) as select * from 课程 where 课程类别=课程类别1 and 任课老师=任课老师1go4.3数据库测试作为一个完整的系统,联机文档是其中不可缺少的部分也是相当重要的部分。好的文档能够使用户快速了解并准确的使用系统的各项功能。减少误操作,减少错误产生的可能,这对用户和开发人员都有很多的好处。所以在开发本系统中,也加入了不少的文档,除了对于四大模块的详细说明外,对于易出错和不易操作的地方(如多条件查询部分)又作了详细的说明。 由于本身能力的局限性,所以做编写的代码,即使经过反复检查也难免出错所以在本阶段力求使用有限的时间找出尽可能多的错误,力求系统尽量正确。我们在本系统的

16、测试中使用了黑盒法(即不关心程序内部的逻辑结构,而是根据程序的功能来设计是检测)请一位不熟悉本系统的人来进行随意性的操作,打破习惯的操作顺序,从中发现错误,在此阶段系统的大量错误得到了改正。 信息管理系统所涉及的数据库设计的重要步骤加载测试。加载测试工作贯穿于程序测试工作的全过程,整个录入、修改、查询、处理工作均可视为对数据库的加载测试工作。要设计出一个好的信息管理系统数据库,除满足系统所要求的功能外,还必须遵守下列原则:1)基本表的个数越少越好。2) 主键的个数越少越好。键是表间连接的工具,主键越少,表间的连接就越简单。3)字段的个数越少越好。4) 所有基本表的设计均应尽量符合第三范式。数据

17、库的设计中,如何处理多对多的关系和如何设计主键,是两个有着较大难度、需要重点考虑的问题。 5、总结这次的软件工程课程设计,我们做的是“网上课管理系统”,通过几个星期对其各阶段任务的分析实验操作(确定课题、可行性研究与计划、需求分析、设计等),使我们对这门课程有了更深层次的了解,同时也学到了很多东西。首先确定课题,弄清选题依据后,进行了可行性研究,可行性研究的主要任务不是具体解决系统中的问题,而是以最小的代价在尽可能短的时间内确定问题是否值得解决,是否能够解决,因此我们考虑了经济、技术与操作上的可行。接着是需求分析阶段,这部分任务用了较长的时间,因为除了用传统的结构化分析方法外,还用了面向对象的

18、分析方法。刚开始用结构化的方法时,由于对系统的了解程度不够,有很多方面都考虑的不周全。通过进行数据流程图的划分,使功能模块的实现看起来更具体。我们总共划分到第二次数据流,按照“自定而下,逐层分解”的总原则划分,逐层到每一层的复杂度。比较有难度的就是用面向对象的方法分析了,这种方法以前自己没有使用过,只是通过课程来了解其含义,理解起来也很空洞。一开始我们都觉得很难上手,在建立用例模型的时候,如何确定执行者、用例、用例之间的关系;在建立动态模型的时候,状态图、顺序图、协作图、活动图等都是如何定义与细化的;在建立静态模型的时候,如何分析确定类、确定类与类之间的关系等等都阻碍着分析的前行。为了解决这些问题,我们也不乏做了很多工作,比如把书上的各小节的例子与案例分析都仔细的研究了几遍,然后通过借鉴其它书本及网上搜索的资料,并根据我们所选系统定义的功能以及操作过程再反复斟酌,进一步对系统进行了较好的分析。同时通过两人之间的讨论配合,也是问题难度有了一定减弱。然后我们又花了两周进行设计阶段的工作,这部分我们熟悉了一个软件开发工具Rational Rose。用word来画模型图还是比较复杂,至少说很花时间的,用rose工具大大节约了时间并且减少了出错率,同时也使得我们对UML建模有了一个专业上的认知。之后根据需要对系统进行了数据结构的设计,这部分内容比较简洁,因为我们平时就有用到选课系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论