1、选课系统的设计与实现 项目说明书 项目名称: 学生自主选课系统 项目成员: 指导老师: 提交日期: 1. 系统概述 本文档是针对开发的学生自主选课系统而编写的,文档中将会对软件系统的开发进行详细的分析,主要包括几大方面:系统的功能实现、系统的运行环境、数据库的描述与设计的各个阶段等等。1.1 系统开发目标本系统是学生自主选课系统。随着各大高校的扩招及信息化社会的到来,学校为了合理规划人力资源的利用,保证学校信息的安全性,对信息化处理数据的要求也越来越高。学生选课系统就是为了减少学校对信息管理的工作量,增强学生选课及成绩信息管理的安全性的双重要求下出现的。通过本系统,学生可以在网上自主选择自己想
2、要的课程,极大的减少学校在课程统计和学生选课记录上的工作量,而且也可以让学生自己安排选课时间,上课时间等,为学生和学校都提供了很大的方便。 本系统实现的主要功能是学生选课,成绩录入,成绩查询,课程信息管理,用户信息管理等。采用的B/S架构,其作用范围为所有在校本科生和在校研究生和系统管理员。项目背景Internet的发展给我们的教育更加现代化,现在网上信息管理是我们现在教育中的一个热点。现在,学生跟学校的之间的信息传播只在一指之间,时为我们创造方便快速的途径。学生自主选课系统是高校教学管理系统的重要组成部分。熟悉教学管理工作的全部过程,从教务工作的实际出发,解决工作中关键性的难点问题,并充分利
3、用计算机网络功能,实现教学工作全过程的计算机管理,帮助具体管理人员从复杂烦琐工作中解放出来。使得教学管理走向无纸化办公和规范化、现代化管理。 由于 Internet 具有影响范围广,能够方便快捷的传递信息,具有近乎实时的交互性,本身又是一个巨大无比的信息库等诸多优点。学生自主选课系统,学生和学校的管理效率。我们的目标是用学生自主选课系统实现最快对全校学习课程发布以及新闻发布,使学生最快知道,创造现代化的学习环境。学生选课是大学的主要管理工作之一,涉及到诸多方面,随着教学体制的不断改革,学生选课时的制约因素比较复杂,工作量也很大,而且往往需要在较短的时间内完成。在这里,运用计算机辅助选课,即能实
4、时地对大量选课数据进行检验和统计,十分方便地输出选课结果,同时也避免了人工处理时容易产生的错误。1.2 开发平台VS2012 ,ASP开发框架,SQL Server 2008。1.3 运行环境操作系统:Windows 98/2000/XP/2003数 据 库:SQL Server 20081.4 系统的条件与限制系统必须通过登录才能进行操作。对于数据库的操作权限大多数都是在管理员中,只有当管理员安排课程后,学生才能选修该课程。除学生自己外,没有人有权限去修改他人的选课记录。参考资料需求分析说明书概要设计说明书系统详细设计说明书软件工程概论 郑人杰 马素霞 殷人昆 编著 机械工业出版社2. 数据
5、描述2.1 数据的关系系统逻辑设计要点管理员信息表:(管理员ID,管理员姓名,管理员性别,管理员密码)管理员操作日志:(管理员日志ID,管理员ID,管理操作描述,管理操作时间)学生信息表:(学员学号,所属班级,学生密码,学生姓名,学生性别,当前可选学分,最多选课学分)学生操作日志:(学生日志ID,学生学号,操作描述,操作时间)选课记录表:(选课ID,课程ID,学生学号,课程成绩,选课时间)学院专业信息表:(班级,专业,学院)公告表:(公告ID,管理员ID,公告主题,公告内容,发布时间)课程记录(已发布):(课程ID,教师ID,科室ID,课程信息ID,班级,周数区间,周几,第几节,容量,剩余可选
6、)课程固定信息:(课程信息ID,课程名称,所属类别,所属学院,所属专业,课程学分)课室信息表:(课室ID,所属教学楼,课室号,课室容量)教师信息表:(教师工号,教师姓名,所属学院,教师性别)2.2 关系属性的类型一、管理员信息表字段名说明数据类型长度允许为空属性AdminID管理员IDvarchar50否主键AdminName管理员姓名varchar50否AdminSex管理员性别smallint50否AdminPassword管理员密码varchar50否二、管理员操作日志表字段名说明数据类型长度允许为空属性LogID管理员日志IDvarchar50否主键AdminID管理员IDvarcha
7、r50否外键LogContent管理操作描述varchar50否LogDate管理操作时间datetime否三、学生信息表字段名说明数据类型长度允许为空属性StudentID学生学号varchar50否主键ClassNo所属班级varchar50否外键StudentPassword学生密码varchar50否StudentName学生姓名varchar50否StudentSex学生性别smallintRestCredit当前可选学分intMaxCredit最多选课学分int四、学生操作日志表字段名说明数据类型长度允许为空属性LogID学生日志IDvarchar50否主键StudentID学生学
8、号varchar50否外键LogContent操作描述varchar200否LogDate操作时间datetime否五、选课记录表字段名说明数据类型长度允许为空属性SelectedID选课IDvarchar50否主键CourseID课程IDvarchar50否外键StudentID学生学号varchar50否外键CourseScore课程成绩decimal否SelectDate选课时间datetime否六、学院专业信息表字段名说明数据类型长度允许为空属性ClassNo班级varchar50否主键Major专业varchar50否College学院varchar50否七、公告表字段名说明数据类型
9、长度允许为空属性NoticeID公告IDvarchar50否主键AdminID管理员IDvarchar50否外键Theme公告主题varchar50否NoticeContent公告内容varchar50否NoticeDate发布时间dateTime否八、课程记录表字段名说明数据类型长度允许为空属性CourseID课程IDvarchar50否主键TeacherID教师IDvarchar50否外键ClassroomID课室IDvarchar50否外键CourseInfoID课程信息IDvarchar50否外键ClassNos班级Varchar50否Week周数区间Varchar50否Day周几Va
10、rchar50否Period第几节Varchar50否MaxNum容量int否RestNum剩余可选Int否九、课程固定信息表字段名说明数据类型长度允许为空属性CourseInfoID课程信息IDvarchar50否主键CourseName课程名称varchar50否Category所属类别varchar50否College所属学院varchar50否Major所属专业varchar50否CourseCredit课程学分int否十、课程信息表字段名说明数据类型长度允许为空属性ClassroomID课室IDvarchar50否主键Building所属教学楼varchar50否ClassroomN
11、o课室号varchar50否MaxNum课室容量varchar50否十一、教师信息表字段名说明数据类型长度允许为空属性TeacherID教师工号varchar50否主键TeacherName教师姓名varchar50否TeacherCollege所属学院varchar50否TeacherSex教师性别smallint否2.3 实体关系图(E-R图)2.4 数据流图学生自主选课系统数据流图:1 管理员公告管理和学生查看公告。管理员公告管理:管理员填写公告必要信息(内容,标题),保存时系统动从管理员信息表中获取当前发布公告的管理员姓名和当前时间,和公告信息一起保存到公告信息表内;另一方面,如果需要
12、修改、删除某些公告,要把其更新的信息记录在公告信息表中。学生查看公告:从公告信息表中获取相应公告信息,并显示出来。2管理员课程管理和学生选课。管理员课程管理:管理员新增课程时需要从课室信息表,教室信息表和学院专业信息表内选择空闲课室,任课教师和课程所属学院与专业。选择后填写课程其余信息,保存后分别将更新的信息分别保存到课室信息表(有课室被使用了),课程固定信息表和课程信息表。另一方面,如果需要修改、删除某些课程,要把其更新的信息记录在课程固定信息表和课程信息表中。学生选课:系统从课程记录表中获取课程信息并显示出来后,学生选择要进修的课程,如果学生被允许选择该门课程,则把选课记录记录到选课记录表
13、中;如果学生不满意自己本学期已选择的课程,可以选择退选,并将退选后的课程记录更新到选课记录表中。3课室管理。第一,当学校新建教学楼或拆除教学楼,课室数量或课室容量发生变化时,管理员通过本系统可以新增新的课室或对现有的课室进行更新,并将更新信息更新到课室记录表中;第二,管理员可以查看在某一个时间段的课室使用状态(使用中或空闲)。4学生基本信息管理。第一,管理员输入新的学生用户的基本信息,并保存到学生信息表中(管理员没有删除学生的权限);第二,如果需要查看当前学生人数,可以从学生信息表中获取当前使用学生用户的账号和姓名,并显示出来;第三,如果学生向学校书面提交重置登录密码的申请,那么管理员可以根据
14、学生的姓名和账号来重置学生登录密码(初始化为123456).5学生服务。本模块共分为四个功能:课程查询,成绩查询,课程表,修改密码课程查询:学生输入任何一个课程名,系统在课程信息表中查找。如果存在该课程,则显示该课程的开课记录,如果不存在,则提示查无此课程。成绩查询:系统根据当前登录用户的账号从选课记录表中获取用户的所有课程成绩,并显示出来。课程表:系统根据当前登录用户的账号从选课记录表中获取用户的所有选课记录,并显示出来。修改密码:用户输入旧密码和两遍新密码,如果旧密码和学生信息表中的密码相同并且两遍新密码相同,则允许修改密码,把新密码更新到学生信息表中。课程查询成绩查询课程表修改密码3.
15、功能描述3.1 功能的划分本学生自主选课系统主要由九大方面的功能组成:1. 登录。2. 公告管理。添加公告。3. 课程管理。添加课程,查看课程,开发学生选课。4. 课室管理。新增课室。5. 学生基本信息管理。添加学生,重置学生密码,学生账号表。6. 查看公告。7. 学生服务。课程查询,成绩查询,修改密码,课程表。8. 查看操作日志。9. 学生选课。专业外选修,专业内选修,通识课,公识课,重修,退选。3.2 功能描述1. 登录。不同的用户拥有不同的登录界面,用户输入账号密码登录系统,系统验证用户所提交的账号密码。如果是正确的账号密码则提示登录成功,并跳转到主界面;反之,则提示账号或密码错误,什么
16、都不做。管理员登陆: 学生登录:2. 公告管理。当管理员需要发布某些通知或更新说明时,管理员可以通过此功能面向所有学生发布公告,所有学生都可查看。管理员需要填写公告的内容和标题。3. 课程管理。课程管理是本系统的重中之重。管理员发布课程需要分为两个阶段:阶段一是新增课程,声明新增课程的名称,所属类别,所属学院,所属专业和课程学分,并不说明其余的课程信息。处于此阶段的课程学生不可选择。阶段二是发布课程,管理员阶段一所添加的课程新增其他信息如任课教师,地点,上课班别,上课时间和课程容量等,只有通过该阶段发布的课程才可以被学生选取(必修课程系统自动为学生选取)。查看课程是列出当前已开课的所有课程,管
17、理员也可以输入课程名称,课程编号和任课教师来查找课程信息。开发学生选课是为了方便管理员对学生选课的管理,不能让学生随时选课或退课 4. 课室管理。当学校新建了新的教学楼并能投入使用的时候,管理员可以使用该功能新增新的教学楼。当然如果现有的教学楼还有空闲课室没有使用到,也可以使用本功能在已有的教学楼上添加新的课室。5. 学生基本信息管理。该功能实现对学生账号的管理,包括添加学生账号,重置学生密码和学生账号表(管理员没有权限删除学生也没有权限修改学生信息)。添加学生即在学生选课系统上增加新的用户,而学生账号表是查看当前使用的学生的信息。而当有学生忘记了登录密码而不能登录选课系统时,可以通过向学校提
18、交书面申请,由学校相关部门审核通过后通知管理员重置学生密码,管理员需要输入需要重置密码的学生姓名和账号。 6. 查看公告。学生点击查看公告功能,界面中显示管理员已发布的所有公告,而当学生选择好需要查看的公告后,界面显示该公告的标题,内容,发布该公告的管理员姓名,发布时间。7. 学生服务。课程查询:学生输入需要查询的课程名称,点击查询按钮,系统显示当前所有关于查询课程的所有开课记录,支持模糊查询,如果没有相关课程的查询记录也会有相应的提示;成绩查询:以表格的形式显示出当前登录用户的所有已考核课程的所得成绩;修改密码:用户输入当前登录密码,新密码和确认密码(也就是再输入一次新密码),如果旧密码不正
19、确或新密码和确认密码不相同,都会修改密码失败并给出相应提示;课程表:显示当前学期登录用户的所有已选择课程。 8. 学生选课。学生根据自己不同选课需要可以分别选择专业内选修,专业外选修,通识课和公识课类型的课程。如果学生在之前的学期有过挂科记录的话,也可以通过本系统中的重修功能选择之前已经挂科的课程进行重修(系统会自动判定当前登录用户是否有挂科记录,如果有则显示)。退选:用户可以从当前已选修的课程中选择课程退选。 9. 查看操作日志。系统记录用户的操作并形成记录保存到学生操作日志表中。 4. 性能描述A. 数据精确度。本系统的数据类型主要包括:整型、字符型、日期类型。数据的录入一定要严格按照数据
20、的格式,否则系统不予响应处理,并显示出错的信息。B. 数据的完整性。凡是需要录入信息的表单(如添加用户,添加课程课室等),一定要求把所有数据都填写上,以免出现不满足数据的完整性。C. 时间特性。对于系统所有提交、删除、编辑等操作,以及向数据库查询、更新、插入等操作,可以在12秒响应其相关的操作。D. 适应性。本系统能适应多种操作系统。5. 安全需求本系统运用了系统的安全机制,用户不能通过注册成为管理员,其用户账号必须由系统管理员进行分配,提供初始的账号和密码,用户以此登录系统后可以进行更改密码的操作(不允许修改账号)。管理员不允许登录学生的选课系统,除了重置学生密码和添加学生外,管理员不允许修
21、改学生的任何信息,从而保证了学生信息和选课信息的完整性。学生也不能使用管理员的功能。6. 接口6.2.1 外部接口以网页的形式使用IE浏览器或360浏览器使用程序,在出错显示上使用JavaScript对话框提示及ASP框架自带的错误提示系统。6.2.2 内部借口内部接口方面,各模块之间采用控制器调用、函数调用、参数传递、返回值的方式进行信息传递。6.2.3 软件接口 程序使用ASP提供的对SQL Server的接口,进行对数据库的所有访问,数据库备份采用读出并保存到文件的方法,把数据库信息保存到磁盘文件上。6.2.4 硬件接口在输入方面,对于键盘、鼠标的输入,使用表单、链接等进行传递。7. 系
22、统存在的问题由于时间和设计等问题系统计划中的某些功能无法实现,如课室的修改、删除,查看空闲课室和系统自动安排课程等,所以系统功能并不完整。8. 收获及心得体会在本次的课程设计中,我们四个同学组成了系统开发团队,通过对本校学生选课系统的功能进行分析和根据自身在使用学校的选课系统时所遇到的一些问题进行讨论和总结,然后进行资料收集、需求分析、详细设计、系统测试等。基本上可以熟悉地运用软件工程的设计思想和设计方法去进行此次的课程设计开发,如使用单元测试,集成测试等测试方法进行软件测试。在开发过程中我们也遇到过许多问题,如:刚开始分工不合理,导致软件开发进度缓慢;数据库设计不合理;需求分析不完全等。但是在我们的努力下,都一一克服了。通过此次的课程设计实验我们学习到了很多,懂得了更加系统的软件开发方法和如何才能更好的调配和控制开发进度。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1