2、统人机界面设计更加合理、人性化,用户操作简单方便。数据库的安全性更高,对用户访问权限进行了严格控制。数据存取速度更快,使用年限更长。可以很好的满足高校公开课学生选课的要求,极大的提高了学校的工作效率。关键字:学生选课管理系统;分析;设计第36页目录一、概述21.1设计背景251.2设计目的271.3设计内容31二、需求分析142.1功能分析52.2工作流图42.3数据流图52.4数据字典10三、概念模型设计133.1实体之间的联系133.2E-R图14四、逻辑设计184.1概念模型向关系模型的转换184.2概念模型的优化19五、源代码及查询截图205.1数据库的存
4、高学校的工作效率。对于系统的本身而言,应该具有较高的实用性、安全性。能够极大的满足学生选课,以及学校对选课信息的管理。1.3设计内容调查学校教务处,设计用于管理全校学生选修课活动的系统。主要功能有:全校选修计划课程管理;全校选修开课课程管理;全校学生选课管理;全校选修课成绩管理;能够实现课程的查询,修改与删除功能。二、需求分析2.1功能分析主要功能:教师和学生登陆系统的帐号和密码,初始都分别为教师和学号,登陆后密码可以修改。其中教师的职位可以是管理员。管理员和非管理员的老师及学生对系统的操作具有不同的权限。管理员登陆系统,对学生选课情况进行管理,包括发布选课信息,对学生的选
5、课情况进行查看。管理员还可以对授课老师的信息进行增加、删除、修改、查询。教师登陆系统,能查看自己的个人信息,及所授课的班级的所有学生的本门课程的成绩信息,并能进行增加和修改。学生登陆系统,能进行选课,查看管理员发布的选课信息,自己的选课情况,本人的基本信息,以及课程的成绩。系统自动分配学生选课后的临时班级。性能要求:管理员发布的信息、学生选课的信息以及管理员和学生对系统操作的信息必须及时的反映在本系统上,且无差错。输入要求:具有很好的容错性和兼容性输出要求:应迅速、准确、实时2.2工作流图系统需求:用户的需求具体体现在选课信息和用户信息的提供、保存、更新和查询的方面。这就要求数据库的设计必须合
6、理,使之能够充分满足各种信息的输入和输出,保证数据存储的可靠性,并且能够快速取出和存入。而前台显示部分,应具有人性化的界面,方便用户操作。因各个学校的实际情况不同,系统应该具有兼容性。例如:一些学校学生人数较多,同时登陆系统,系统承载的负荷就很大。系统需要同时处理很大的数据量,这时系统不会因此崩溃。系统还应该具有较强的安全性,保证身份不同的用户,不能越权操作。非合法用户不能对数据进行操作。功能需求:通过系统功能的分析,结合需求分析员在各大高校实地考查,调查的对象涵盖了,学校的教职工、在校师生。特别是对已经运行了与本系统同类产品的学校的师生使用选课管理系统心得体会进行了分析,总结出如下的需求信息
7、:(1)学生的需求:能进行选课,查看管理员发布的选课信息,自己的选课情况,本人的基本信息,课程的成绩;(2)教师的需求:能查看自己的个人信息,及所授课的班级的所有学生的本门课程的成绩信息,并能进行增加和修改;(3)管理员的需求:对学生选课情况进行管理,包括发布选课信息,对学生的选课情况进行查看。管理员还可以对授课老师的信息进行管理。2.3数据流图系统顶层图:根据系统主要信息的处理功能,整个系统可以看作登陆管理,用户选课管理两个部分。从而得出了学生选课管理系统的顶层图如下所示:D2选课信息库学生选课管理系统顶层图F1用户D1用户信息库P1登陆管理P2用户选课管理F2F3F4F5F6F7F8F
8、9F10注:F1:用户登陆信息F2:用户注册信息F3:用户基本信息F4:用户基本信息F5:学生选课信息清单F6:学生选课信息F7:登陆错误信息F8:系统反馈用户信息F9:用户信息清单F10:修改密码后的用户信息数据流程图一层分解图(1)用户登陆管理。用户在登陆时,系统会进行判断。用户一共有三种类型,分别是学生,教师和管理员。其中,一部分教师是管理员。在登陆的只有学生和教师两种类型,管理员的身份由系统自行判断。在判定时需要查询用户信息库。用户信息库,包括学生注册信息,教师注册信息,管理员信息等。学生选课管理系统一层分解图登陆管理,如下图所示:学生选课管理系统一层分解图登陆管理F
9、1用户D1用户信息库F3F2.1F2.2P1.1用户身份判断F2.3P1.2修改密码F1F10P2用户操作管理F7.1F7.2注:F2.1:学生登陆信息F2.2:教师登陆信息F2.3:管理员登陆信息F7.1:用户身份信息F7.2:修改密码的错误信息(2)用户操作管理。在登陆管理进行判断后,发送学生登陆信息,教师登陆信息,管理员登陆信息的其中一种。根据用户身份信息的不同,进入不同的管理界面,相应的操作的功能,权限都有所不同。如下图所示:P2.1学生管理学生D1用户信息库D2选课信息库F2.1F8.1F3.1F6.1F5.1学生选课管理系统一层分解图学生管理注:F3.1:原始学生信息F5
10、.1:学生更新后的选课信F6.1:学生查询的选课信息F8.1:学生操作后返回的信息P2.2教师管理教师D1用户信息库D2选课信息库F2.2F8.2F3.2F6.2F5.2学生选课管理系统一层分解图教师管理注:F3.2:原始教师信息5.2:教师更新后的选课信息F6.2:教师查询的选课信息F8.1:教师操作后返回的信息P2.3管理员管理管理员D1用户信息库D2选课信息库F2.3F8.3F3.3F6.3F5.3F9.1学生选课管理系统一层分解图管理员管理注:F3.3:原始管理员信息F9.1更新后的用户信息F6.3:管理员查询的选课信息F8.1:管理员操作后返回的信息F5.3:管理员更新后
11、的选课信息数据流程图二层分解图(1)学生管理。将P2.1进行分解,学生管理包括,查看选课信息和个人信息,进行选课、重新选课。学生选课管理系统二层分解图学生管理如下图所示:学生选课管理系统二层分解图学生管理D1用户信息库F8.1F5.1.1P2.1.1个人信息查询P2.1.2选课信息查询P2.1.3增加选课P2.1.4删除选课D2选课信息库F5.1.2F6.1F2.1F2.1F2.1F2.1学生F8.1F8.1F8.1F3.1F3.1注:F3.1:学生个人信息F5.1.1:增加后的选课信息F5.1.2:删除后的选课信息(2)教师管理。将P2.2进行分解,教师管理包括,查看选课信息和个人信息,
12、填写学生的成绩。学生选课管理系统二层分解图学生管理如下图所示:学生选课管理系统二层分解图教师管理D1用户信息库F3.2.1P2.2.1个人信息查询P2.2.3查询选课信息P2.2.4填写学生成绩D2选课信息库F5.2.2F6.2F2.2F8.2F2.2教师F8.2F8.2F8.2注:F3.2.1:教师个人信息F3.2.2:学生个人信息F5.2.2:增加后的学生成绩信息F5.2.3:修改后的学生成绩信息(3)教师管理。将P2.3进行分解,管理员管理包括,1.管理学生信息,包括对学生信息的查询、增加,修改,删除;2.管理教师信息,包括对教师信息的查询、增加,修改,删除;3.选课信息管理,包括
13、发布选课信息,增加,修改,删除选课课程等。学生管理系统二层分解图学生管理如下图所示:学生选课管理系统二层分解图管理员管理D1用户信息库P2.2.3管理学生信息P2.2.3管理教师信息F8.3F2.3F2.3F3.3.1F9.1.1F9.1.2F3.3.2D2选课信息库P2.2.3管理课程信息F2.3F3.3.3F9.1.3P2.2.3管理班级信息F2.3F3.3.3F9.1.4管理员F8.3F8.3注:F3.3.1:原始学生信息F3.3.2:原始教师信息F3.3.3:原始课程信息F3.3.4:原始教室信息F9.1.1:修改后学生信息F9.1.2:修改后的教师信息F9.1.3:修改后
21、号,成绩)(2)学生班级联系概念模型向关系模型的转化学生表(学号,姓名,性别,年龄,系部,密码)临时班级表(班级号,班级名,人数,地点)学生班级关系表(学生号,班级号)4.2概念模型的优化确定范式级别根据上述分析所归结出来的数据依赖的种类和在本系统实际的开发过程中,需要涉及多表的查询及表的修改和删除,且存在多值依赖的实际情况下,其关系模式应达到BCNF。实施规范化处理由于学生选课联系的关系模式、学生班级的关系模式和教师管理员联系的关系模式已经不存非平凡且非函数依赖额多值依赖,所以在这里不需要做处理。各个关系模式的函数依赖集如下:教师课程联系:F=教师号教师名,教师号性别,教师号年龄,教
24、据库的存储结构通过需求分析,概要设计和逻辑设计流程得到本系统的数据库结构。数据库的表设计进一步确定上一章逻辑设计中设计好的关系模式中各个数据项的类型和长度,将每个关系转换为数据库中的二维表格,并确定了各个表的主键和外键,得到以下表结构:学生表字段名称字段含义数据类型及长度约束默认值Sno学号varchar(15)主键Sname姓名varchar(15)非空Ssex性别varchar(2)男Sage年龄int0或0或=0或=0或=100学生临时班级关系表字段名称字段含义数据类型及长度约束默认值Sno学号varchar(15)主键,外键Csno班级号varchar(15)主键,外键教师课程关系
25、表字段名称字段含义数据类型及长度约束默认值Tno教师号varchar(15)主键,外键Cno课程号varchar(15)外键教师临时班级关系表字段名称字段含义数据类型及长度约束默认值Csno班级号varchar(15)主键,外键Tno教师号varchar(15)外键课程临时班级关系表字段名称字段含义数据类型及长度约束默认值Csno班级号varchar(15)主键,外键Cno课程号varchar(15)外键数据的存放位置的设计根据本系统的数据库的使用情况,主数据文件信息量大且使用频繁将其存储在高速存储器(硬盘)上。将表和表上的索引存储在不同的磁盘上以便提高查询效率,同时这样可以提高物理I/O读写
26、效率。数据库备份文件和日志文件等文件因为使用频率小而且数据量非常大,存放在低速存储设备上。关系模式的存取方法关系模式采用索引存取方法与聚簇存取方法共用。数据库安全性在数据库中,由于用户的身份不同,对数据库的访问权限也就不同。管理员几乎能够对所有的用户自定义表进行操作(包括增、删、改、查)。但根据实际情况,学生一旦选课成功,管理员是无法对其选课信息进行修改。同样,学生与教师对数据库的访问权限就更加小了。这样也就保证了数据库安全性。另外一方面,数据库表中,各表之间根据实体完整性、参照完整性、域完整性设置了各种约束。一旦一张表被非法操作,如删除,修改。也会影响其它的表。所以这就要求DBA定时进行备份
27、,防止当数据丢失时,引起不可估量的损失。5.2实现根据概要设计和逻辑设计的结果,在计算机上建立实际的数据库结构,导入数据进行程序调试。数据库的实现(1)创建数据库StudentcreatedatabaseStudenton(name=学生选课管理库,filename=E:db学生选课管理库.mdf,size=5,maxsize=15,filegrowth=2)视图的实现(1)创建查询可供选择课程的视图createviewcinfoasselectame,course.ccredit,class.address,course.ctime,course.cbegintime,cour
28、se.cendtime,class.number,o,class.csname,class.csnofromcourse,tc,class,ccwhereo=oando=oandclass.csno=cc.csno(2)创建教师信息视图createviewtinfoasselectteacher.tno,teacher.tname,teacher.tsex,teacher.tage,status,amefromteacher,course,tcwhereteacher.tno=tc.tnoando=o;(3)创建教师教师授课视图createviewtcinfoa
29、sselectteacher.tno,teacher.tname,o,amefromteacher,course,tcwhereteacher.tno=tc.tnoando=o(4)学生的选课信息视图createviewscinfoasselectstudent.sname,ame,course.ccredit,course.ctime,course.cbegintime,course.cendtime,student.snofromstudent,course,scwherestudent.sno=sc.snoando=o(5)教师任教情况createviewc
30、tinfoasselectteacher.tno,teacher.tname,class.csno,class.csnamefromclass,teacher,ctwhereclass.csno=ct.csnoandct.tno=teacher.tno(6)教师课程班级之间关系的视图createviewtcsasselecto,tc.tno,cc.csnofromcc,tcwhereo=o(7)学生课程班级之间的关系的视图createviewsccasselectscs.sno,scs.csno,ofromscs,ccwherescs.csno=cc.
31、csnoselect*fromsc(8)学生的已选课程的成绩createviewscgradeasselectscc.csno,class.csname,scc.sno,student.sname,o,ame,student.sclass,sc.gradefromscc,course,class,student,scwhereo=oandscc.csno=class.csnoandscc.sno=student.snoandscc.sno=sc.snoando=o(9)创建查询可供选择课程的视图createviewcinfoasselectcourse.
32、Cname,course.Ccredit,class.address,course.CTime,course.Cbegintime,course.Cendtime,class.number,course.Cno,class.CSname,class.CSno,teacher.Tnamefromtcs,teacher,class,coursewheretcs.tno=teacher.tnoandclass.csno=tcs.csnoando=o(10)创建查询已选可供选择的课程的视图createviewscinfoasselectstudent.sno,student.s
33、name,ame,course.ccredit,course.ctime,course.cbegintime,course.cendtime,o,sc.gradefromsc,student,coursewheresc.sno=student.snoando=o5.3人机界面设计用户登陆界面用户登陆界面是每一个用户,在登陆本系统时出现的界面,如要用户输入用户名、密码和验证码,以及确定用户身份。其界面如下图:用户登陆界面学生选课管理界面学生登陆成功后,进入学生管理模块,其界面如下:学生选课管理界面教师管理界面教师成功登陆系统后,教师管理界面如下图:教师管理界面管理员管理界面管
34、理员成功登陆系统后,管理员管理模块界面如下图:管理员管理界面5.4系统测试用户登陆测试(1)登陆信息验证测试。有一名用户,用户名为:S01001密码为:hongfeng,其身份为学生。当其在登陆界面所有的信息输入正确时将进入如图6-2的界面。如果该用户输入的为abcdef,系统就会提示用户出错,出错界面如下:登陆错误提示1(2)如果用户在输入登陆信息时不符合规范,将弹出错误提示。如:验证码要求输入4位数字,现在输入4位字符或3位数字,将会弹出一下提示框:登陆错误提示2学生选课管理测试(1)学生选课测试。一名学生用户,登陆系统后,进入图6-2界面,选择学生选课,进行选课。如下图:课程安
35、排(2)该用户选择了考研数学和汽车概论两门课程,点击选课按钮,系统提示选课成功。选课成功后,返回课程安排界面,如下图:选课后的课程安排(3)课程安排界面,点击已选课程,进入如下界面:已选课程教师管理测试(1)一名教师,登陆系统成功后,进入如图6-3界面,点击教师授课信息,显示该名教师临1101班任教,如下图:教师授课班级信息(2)在图6-7-1界面,点击查看临1101班的信息,进入如下界面:修改前的学生成绩(3)在界面点击修改,将“萧萧”的成绩修改成90,修改后的界面如下:修改后的学生成绩管理员管理测试(1)“王军”是本系统唯一一名管理员,登陆系统后,进入图6-4界面,下面对其对学生的