生的权限不一样;
*管理员可以添加,删除和修改学生信息,可以添加,删除和修改课程信息,可以查看选课情况,可以修改选课期限。
*学生可以查看课程信息,只能在限定时间内选修课程,可以查询自己选修课程的情况,在限定的时间之内还可以退选课程或者增选课程。如果被选课程选修的人数已经达到上限,则学生不能选修该课程。
整个系统的流程是在用户的要求下进行的,学生子系统负责处理学生的选课,退选,增选等事务,并向用户显示操作情况对话框,同时更新数据库中相关表的数据。管理员子系统负责处理管理员对选课情况的管理,向管理员显示操作情况对话框,同时更新数据库中相关表的数据。
系统的数据流图如下:
>学生子系统
>管理员子系统
信号1(A):修改学生信息信号
信号2(B):修改课程信息信号
信号3(C):修改选课期限信号
简化的数据字典
(1)口令:用户身份验证
(2)数据流:事务=[输入|查询|选课|]
事务=[输入|查询|退选|]
事务=[输入|查询|增选|]
事务=[输入|查询|修改|]
(3)数据库=Courses表+Student表+Department表+Elective表+Admins表+Period表
后台数据库据库采用SQLServer2000,各表完成如下功能:
*Courses表:用于存放课程的详细信息。
*Student表:用于存放所有学生的资料。
*Department表:用于记录开设课程所属院系名称。
*Elective表:用于记录学生选课情况。
*Admins表:用于记录所有管理员的信息。
*Period表:用于设置选课的开始时间和选课的结束时间。
通过对用户提出要求的调查研究,明确了系统设计的目标,确定了系统的基本功能,并分析出数据的流动方向,在此基础之上可以开始着手设计系统,勾画出网上选课系统总体框架。
第三部分软件开发时期
经过软件定义时期以后,就步入了软件的开发时期。在此过程中,要尽量寻求实现此系统的最佳方案,进而实现系统的要求。
3.1总体设计
设计原理
本系统是C/S(客户端/服务器)两层结构.
服务器采用SQLServer2000关系数据库.数据库里存放着编译好的存储过程,主要负责数据的存取,也负责一些的业务逻辑的处理,例如判断学生是否在允许时间段内选课.
客户端包含两个系统:学生选课子系统和管理员管理子系统.学生子系统安装在学校公共机房,图书馆等场所的电脑上,供学生选课时使用,通过局域网访问教务处办公室的服务器;管理员子系统安装在教务处办公室的桌面型电脑上,供管理教务的教师使用.
客户端的设计
学生选课子系统结构图:
各模块完成以下功能:
查看课程信息:学生登录后,查看可供选择的课程信息。
查看已选课程信息:学生登录后,查看自己选择了哪些课程。
选修课程:学生登录后,通过此模块完成选课操作。
退选课程:学生登录后,通过此模块完成退选操作。
管理员子系统结构图:
各模块完成以下功能:
管理学生记录:管理员登录后,可以删除,修改,增加学生信息。
管理课程记录:管理员登录后,可以删除,修改,增加可选课程信息。
修改课程期限:管理员登录后,可以修改选修课程的开始及结束日期。
查看选课情况:管理员登录后,可以查看某门选修课已选人数是否达到限选人数,并可以查看总体选课情况。
数据库的设计
本系统后台数据库建立6个表:Courses表,Students表Departments表,Elective表,Admins表,和Period表。
1.Courses表
2.
Name
DataType
Size
CourseID
int
4
CourseName
varchar
50
DepartmentID
int
4
CourseHours
int
4
CourseScore
int
4
CourseTeacher
varchar
50
UpperLimitStudentNumber
int
4
SelectedStudentNumber
int
4
2.Student表
Name
DataType
Size
StudentID
int
4
StudentNumber
varchar
50
Name
nvarchar
50
Password
varchar
50
3.Departments表
Name
DataType
Size
DepartmentID
int
4
DepartmentNume
varchar
50
4.Elective表
Name
DataType
Size
ElectiveID
int
4
StudentID
int
4
CourseID
int
4
5.Admins表
Name
DataType
Size
AdminID
int
4
UserName
varchar
50
Name
nvarchar
50
Password
varchar
50
6.Period表
Name
DataType
Size
PeriodID
int
4
BeginTime
datetime
8
EndTime
datetime
8
Note
varchar
50
3.2详细设计
到了确定应该怎样具体的实现所要求的系统的时候了,这个阶段将得出学生选课系统的精确描述,从而在编码阶段可以把这个描述直接翻译成具体的程序设计语言书写的程序,这一阶段的结果直接决定了最终程序代码的质量。
1.人机界面设计
本系统对每一层都设置了确保安全的障碍和入口,用户只有进入了某一层才能获得相应那一层资源的访问权,这些措施保证了选课系统及具体数据的安全性。任何一位Web用户在进入选课系统主页面后,只有通过了系统的身份验证才能进入到系统相应的功能页面完成所要进行的操作。
本系统主要包含以下界面:
从此界面,可以分别进入管理员子系统、学生子系统登录界面,单击查询可以查看课程信息并可以查看打印预览。
在该界面学生输入学号、密码,单击登录按钮系统进行验证身份,如学号、密码与数据库中的记录吻合,则进入下一个界面,进行选课。
管理员登录后,可以添加课程、查看选课情况、对学生记录进行管理等,本界面为学生管理界面,管理员输入学生学号,单击查找按钮,在姓名和密码栏中显示该学生的信息,单击修改按钮或删除按钮,就可以完成相应操作。
在添加学生记录一栏中填写相应信息,单击添加按钮,该学生信息就可以添加到数据库中。
用户可以从主页直接进入成绩查询界面,用户可以通过此界面查看课程信息,分别可以按系、按课程名称、按授课教师等查询课程信息,这样大大方便了各级用户,使用户可以更直接、更方便的了解各门课程,有利于学生快速、准确的选课,同时也有利于管理员对课程的管理。通过打印预览子菜单,用户可以将所需信息打印出来。
本报表的制作采用CrystalReportDesigner,CrystalReportsforVisualStudio.NET是内置于VisualStudio.NET的报表设计工具,它能够在.NET平台上创建高复杂度且专业级的互动式报表,其以CrystalReport8.0的架构为基础,并且针对.NET平台作更进一步的强化与发展,以确保能提供.NET开发人员最丰富且完整的报表功能。
本系统利用此报表反馈出各系开设课程信息,既方便了学生选课,又减轻了管理员的管理负担,并同时提供打印功能,方便了管理员对局域网上各系开设课程总体情况的掌握。
制作报表过程如下:
首先在原有项目下创建新的窗体,从"工具箱"的Windows窗体选项卡中将CrystalReportViewer报表查看器控件拖放至窗体上,然后从"项目"菜单中选取"添加新项"指令,选择添加CrystalReport项,接下来选择作为空白报表一项,单击确定,即可编辑具有自己独特风格的报表了。需要说明的是:报表的数据源可由窗口左侧的数据库文件直接设定。
此界面为配置管理界面,管理员通过相关
上一篇:
网上选课系统Csharp+SQL(论文和程序)
下一篇:
基于web二手汽车交易管理系统(含录像)