学生选课管理系统.docx
- 文档编号:24290459
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:79
- 大小:1.04MB
学生选课管理系统.docx
《学生选课管理系统.docx》由会员分享,可在线阅读,更多相关《学生选课管理系统.docx(79页珍藏版)》请在冰豆网上搜索。
学生选课管理系统
课程设计报告
(2014--2015年度第二学期)
名称:
软件工程课程设计
题目:
学生选课管理系统
院系:
数学与计算机学院
班级:
12信管
实验地点:
逸夫楼507机房
指导教师:
设计周数:
一周
日期:
2015年6月18日
小组成员表
学号
姓名
项目角色
任务完成情况简评
组内评分
成绩
《软件工程》课程设计
任务书
一、目的、要求
通过该课程设计要使学生树立起强烈的工程化意识,用工程化思想和方法开发软件。
切实体会出用软件工程的方法开发系统与一般程序设计方法的不同之处,学生在对所开发的系统进行软件计划、需求分析、设计的基础上,实现并测试实际开发的系统。
通过一系列规范化软件文档的编写和系统实现,使学生具备实际软件项目分析、设计、实现和测试的基本能力。
二、主要内容
要求学生掌握软件工程的基本概念、基本方法和基本原理,为将来从事软件的研发和管理奠定基础。
每个学生选择一个小型软件项目,按照软件工程的生命周期,完成软件计划、需求分析、软件设计、编码实现、软件测试及软件维护等软件工程工作,并按要求编写出相应的文档。
具体的方法可以选用传统的软件工程方法或者面向对象的方法,开发环境和工具不限。
三、进度计划
序号
设计(实验)内容
完成时间
备注
1
软件计划、软件需求分析、软件设计,制定出软件测试计划,软件测试用例
要求上机前做好充分的文档准备
2
各模块录入、编码、编译及单元测试
第1、2天
3
联调及整体测试,
第3、4天
4
验收,学生讲解、演示、回答问题
第5天
四、设计成果要求
1.至少提交4个文档,包括软件计划、软件需求规格说明书、软件设计说明书、软件测试计划,要求文档格式规范、逻辑性强、图表规范;
2.独自实现了系统的某些功能,基本达到了要求的性能,经过了测试,基本能运行。
五、考核方式
(1)提交的文档规范,工作量大,文档逻辑性强、正确,按《计算机综合实践指导》标准考核占70%
(2)系统验收、讲解、答辩占20%
(3)考勤占10%
学生姓名:
指导教师:
2015年6月12日
一、课程设计的目的与要求
1.课程设计目的
软件工程课程设计是学习软件工程课程后所进行的实践环节,目的是培养学生用工程化的思想和标准文档化的思想进行软件开发。
本次课程设计通过开发一个小型实用的软件系统,亲身体验软件生命周期中的各个环节,以加深对软件工程课程的深入理解、锻炼独立分析、解决问题的能力。
2.课程设计要求
2.1课程设计准备
1)复习软件工程课程的主要内容,熟练掌握软件生命周期的理论以及各阶段的基本概念。
2)明确可行性分析、需求分析、设计、测试等阶段的基本任务和基本方法。
3)熟练运用规范化的描述方法和文档,描述软件开发的各个阶段。
4)熟悉开发环境和开发工具。
2.2内容要求
1)对所设计和实现的系统进行可行性分析,提交可行性分析报告;
2)对系统进行需求分析,可以选择传统的分析方法或者面向对象的分析方法,提交软件需求规格说明书;
3)在软件需求规格说明书的基础上进行软件的概要设计和详细设计,提交软件设计文档;
4)遵循上述文档的要求,实现软件;
5)对所实现系统进行软件测试,完成软件测试报告。
(正文为宋体,五号字)
二、
设计正文
1.可行性分析报告
1.1项目简介
1.1.1项目目的:
明确说明系统需求,界定系统实现功能的范围,指导系统设计以及编码。
经过对此项目进行详细调查研究,初拟系统实现报告,对网站开发中将要面临的问题及其解决方案进行初步设计及合理安排。
明确开发风险及其所带来的经济效益。
1.1.2项目背景:
随着计算机应用的日益普及,教务管理自动化是提高工作效率的有效途径,随着高校学分制的实施,实现信息化管理学生选课势在必行。
学生选课管理系统是教学管理的重要组成部分,其开发主要包括后台、数据库的建立和维护以及前端应用程序的开发两个方面,前者要求建立起数据的一致性、完整性和安全性好的数据库,而对于后者则要求应用程序功能完备、易使用及界面友好等特点。
系统实现后,极大的方便对学生进行选课和选课后临时班级的安排管理,学生选课信息的管理。
避免在安排课程信息的滞后,减少信息交流的烦琐过程及其带来的开销。
促进高校教育的计算机信息化进程,提高学校的工作效率。
对于系统的本身而言,应该具有较高的实用性、安全性。
能够极大的满足学生选课,以及学校对选课信息的管理。
系统的简要描述,主要功能:
(1)在选课管理过程中,实现信息自动化管理;
(2)实现各种信息的修改、删除、录入等管理功能;
(3)实现对各种信息的查询、统计,支持模糊查询;
(4)管理员可以设置学生什么时间开始选课,什么时间结束选课;学生根据开设课程进行选课操作,可以选课、退课、查询课程和课表;根据身份不同,权限也不相同;
(5)当选课结束后,可以导出所有教师课程表,学生课程表;
(6)对学生选课的结果,实现汇总、归纳和分析;按年份统计课程的学生选课人数及名单,按年份统计学生的选课内容;
(7)按系统实际情况,数据量不低于200条记录。
1.2对现有系统的分析
1.2.1处理流程和数据流程(系统流程图)
(1) 网上选课系统总体业务流程图如下所示:
图1-1系统总体业务流程图
(2) 登录子系统主要验证不同的用户身份并取得不同的用户权限,进行不同的系统操作。
其业务流程图如下所示:
三、
四、
图1-2登录子系统业务流程图
(3) 排课子系统主要完成设置选课时段、限制最大选课人数、排课并检测排课冲突、发布选课信息等功能。
其业务流程图如下所示:
(4)选课子系统主要完成面向学生的选课功能,包括查询课程信息、提交选申请、撤销申请、查询选课情况等。
其业务流程图如下所示:
五、
六、
七、
八、
图3-4选课子系统业务流程图
1.1.1对现有系统的其他说明:
现用的管理系统在安全性,数据的读入功能方面存在不同程度的缺陷,有必要进行改进。
1.2技术可行性分析
我们身为首都经济贸易大学信息系的学生,最骄傲的就是拥有令其他系羡慕、向往的系机房。
因特尔奔腾四的中央处理器,40G大容量的硬盘,加上256M的内存,配上经久耐用、定位准确的光电鼠标,这都为系统的开发与运行提供了良好的硬件环境,就是这样一台台先进傲人的电脑躺在机房里供我们随时使用,便利程度真是如此了得啊!
身为计算机科学与技术专业大三的学生,通晓一些计算机软件知识是肯定的,运用软件编写程序的能力也是必备的。
当然,我们毕竟还是学生,能力还是有限的,但我们计算机系最不缺乏的就是计算机人才,向知识渊博、诲人不倦的郑小玲老师必会给我们以极大的帮助。
更何况,俗语说的好:
三个臭皮匠赛过诸葛亮。
我们组有4个人,起码也顶两个诸葛亮呢。
相信通过我们大家的集思广益,相得益彰,我们的系统将会以最完美的姿态展现在大家的面前。
我校自建校至今已有几十年的历史,各种课程比较齐备,且比较有条理。
学分制度也比较完善。
教师整体水平较高。
这使我们开发这一对我们来说比较复杂的系统成为可能。
虽然有如此好的客观条件,但始终没有一套完善简单易用的管理系统。
现行系统虽然拥有了比较规范、科学的管理方法,并积累了大量的数据信息,具有一定的可行性,但是并不能掩盖其工作量大,管理不够系统的缺点。
而我们的系统将充分利用学校为我们提供的宝贵信息,在继承其优点的基础上,
开发出一套更为可行的学生管理系统。
这套学生选课管理系统在今后的应用中再经过不断的修正与改进,将会使我学生选课更加完善、尽美。
1.2经济可行性分析
成本方面,关于各种软、硬件及辅助设备的购置、调试、机房及辅助设施(电源等)以及系统维护,内务开销这些费用都可以忽略不计,因为我们有自己的电脑。
学生选课管理系统省去了老师为学生展示学校为学生提供的选修课程,并作介绍,考试后把分数抄录多次以做备案和公告这些大量繁杂而由单一枯燥的劳动,可以让老师把精力放在教学和组织教学等更重要更具创造性的事情上,这就显著的提高了他们的工作效率。
取消了抄录成绩后,学校里也不会再出现残破的成绩单一层盖一层的贴在公告栏或黑板上的情景,校园环境也会因此而变得更整洁,而且也为学校省下了大量的纸张,虽然数量并不是很多,但将来系统扩展到整个学校也将是很可观的。
况且,在资源日益缺乏的今天,节省纸张已不仅仅是为学校减少办公费用这一单纯的意义。
众所周知,学校的的学生多,管理起来非常困难。
相应的也加大了老师的工作量,又因为教学制度的不断变动和改革,因此,总能及时统计出一份内容清晰,条理性强的学籍学分选课分析报表对老师来说真是难于登天。
但如果缺少这份报表,同学们就无法清楚了解自己的学分情况,盲目选课,打乱了学习计划,加重了课业负担,而那些基本顺从课程安排的同学则浪费了许多去学习有用知识的时间,甚至临毕业时却发现未修够学分而毕不了业。
这个关系到每个人命运的问题绝对马虎不得。
不能再坐以待毙了,我们这套学生选课管理系统将提供一份完整的学分选课报表,并会利用管理系统的易修改性及时进行更新,让同学们在选择课程,计算学分中更加游刃有余。
近几年来,我们宁夏大学一直都在扩招学生,外地生源的比例也比以前大了许多,而且还有日益增多的外国留学生,在管理上更增加了管理人员的劳动量,如此多的档案资料,以原有的工作人员数量要管理好实在不容易,但如果增加工作人员,管理成本必然也会增加,得不偿失,而我们这套系统这时就会发挥出它大大的作用,让实用这领会到它的优越之处,帮助老师轻轻松松管理好学生各方面的资料,无论学生是多是少,一切都会被管理得井井有条。
1.3社会因素可行性分析
1.3.1法律因素:
本系统的开发不会侵犯他人、集体或国家的利益,不违背当地法律法规。
1.3.2用户使用可行性:
本系统可以满足选课管理的要求,而且对使用本软件人员的计算机水平要求不高,只需了解软件操作流程就可以使用本软件,无需培训。
2.软件需求规格说明书(SRS)
2.1需求概述
运行环境
MicrosoftVisualStudio2010MicrosoftSQLServer2005
2.2功能需求
通过系统功能分析,针对一般的网上选课系统,总结出如下的需求信息:
(1)学生的需求:
网上选课、选课情况查询;
(2)本系统主要实现学生信息管理和选课查询。
学生信息包括学号、姓名、班级;课程信息包括课程名;
2.3数据描述
1静态数据:
系统密码,书籍名称,库存总数,剩余数,借出数。
2动态数据:
使用者输入的信息,包括添加的书籍信息,查询关键字。
3数据库描述:
系统数据库采用TXT文档。
4.1数据流图:
(1)网上选课系统顶层数据流图:
图4-1系统顶层数据流图
(2)网上选课系统第一层数据流图:
图4-2网上选课系统第一层数据流图
(3)根据不同的用户权限,展开登录处理过程,数据流图如下:
图4-3管理员登录数据流图
图4-4教师登录数据流图
图4-5学生登录数据流图
(4排课过程的数据流图
图4-6排课过程数据流图
(5)选课过程的数据流图如图:
图4-7选课过程数据流图
4.2根据数据流程分析,对系统数据进行分析和汇总,建立系统数据字典。
下面列出部分数据字典内容。
(1)排课
数据流编号:
A01
系统名:
网上选课系统
条目名:
排课
输入:
课程信息表,教学楼信息表,教师信息表,院系信息表
输出:
排课表,选课通知表
描述:
排课者按年级排课。
排课表内容包括课程代号,课程名称,受课院系,专业代码,专业名称,教师代号,考察方式,学分,开课时间,上课时间,地点,开课院系,最大上课人数和课程选则限制(必修或选修)等。
在排课过程中,排课者可以查询教室使用情况和院系课程设置。
在排课者提交排课表以后,系统应当确保该排课方案中没有时间冲突和教室冲突。
如果有冲突,系统应该提示排课者具体冲突产生的原因。
(2)选课
数据流编号:
A02
系统名:
网上选课系统
条目名:
选课
输入:
排课表,选课通知表,教师反馈表
输出:
学生选课表
描述:
学生可以在规定的时间段内选课。
该规定时间段由排课者通过发布消息通知教师和学生。
选课过程如下:
学生在选课表上单击课程号,则该信息被提交到服务器,并显示学生的选课结果。
选课表的内容包括排课表的全部内容。
如果一门课程已经达到最大选课人数,则不能再选择这门课程。
如果有学生退课,则该门课程的已选人数减1。
(3)设定选课时间段
数据流编号:
A03
系统名:
网上选课系统
条目名:
设定选课时间段
输入:
选课时间段表输出:
选课时间段表
描述:
排课者应该设定选课时间段。
学生只能在此设定的时间段内选课和退课。
2.4性能需求
1数据精确度:
选课时要确保查全率与查准率
2时间特性:
系统运行时间应该在用户能够接受的范围内
3适应性:
本软件属于小型软件,对不同的运行环境适应性很强,可以能够满足使用需求。
2.5运行需求
1)用户界面:
在TurboC2.0界面运行:
2)硬件接口:
普通PC机。
3)软件接口:
运行于装有TurboC2.0的操作系统。
4)故障处理:
如果在使用过程中出现程序出错,重新运行即可恢复。
3.软件设计说明书
3.1软件模块结构图
根据本系统需要实现的功能,管理职能分析以及设计管理员、教师与学生之间的关系流程图如下:
3.2概念模型设计
根据需求分析与关系模式画出系统的E-R图如下:
图5-1排课过程实体及其属性
图5-2排课过程E-R图
图5-3选课过程实体及其属性E-R图
图5-4选课过程E-R图
图5-5系统的总E-R图
3.3逻辑模型设计和优化(概念模型向关系模型的转换)
根据E-R图,通过对实体的属性和之间的联系的分析,我们将其由概念模型向关系模型转化,并且根据范式化理论进行优化
1:
N联系的转化的关系模式
(1)教师课程联系概念模型向关系模型的转化
教师表(教师号,教师名,性别,年龄,身份,密码,课程号)
课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)
(2)教师临时班级联系概念模型向关系模型的转化
教师表(教师号,教师名,性别,年龄,身份,密码)
临时班级表(班级号,班级名,人数,地点,教师号)
(3)课程临时班级联系概念模型向关系模型的转化
临时班级表(班级号,班级名,人数,地点,课程号)
课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)
M:
N联系的转化的关系模式
(1)学生选课联系概念模型向关系模型的转化
学生表(学号,姓名,性别,年龄,系部,密码)
课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)
选课表(学号,课程号,成绩)
(2)学生班级联系概念模型向关系模型的转化
学生表(学号,姓名,性别,年龄,系部,密码)
临时班级表(班级号,班级名,人数,地点)
学生班级关系表(学生号,班级号)
优化:
确定范式级别
根据上述分析所归结出来的数据依赖的种类和在本系统实际的开发过程中,需要涉及多表的查询及表的修改和删除,且存在多值依赖的实际情况下,其关系模式应达到BCNF。
实施规范化处理
由于学生选课联系的关系模式、学生班级的关系模式和教师管理员联系的关系模式已经不存非平凡且非函数依赖额多值依赖,所以在这里不需要做处理
各个关系模式的函数依赖集如下:
教师课程联系:
F={教师号→教师名,教师号→性别,教师号→年龄,
教师号→身份,教师号→密码,教师号→课程号}
班级临时班级联系:
F={班级号→班级名,班级号→人数,班级号→地点,班级号→教师号}
课程临时班级联系:
F={班级号→班级名,班级号→人数,班级号→地点,
班级号→课程号}
选课联系:
F={(学号,课程号)→成绩}
学生班级联系:
F={(学生号,班级号)}
(1)教师课程联系概念模型向关系模型的优化
教师表(教师号,教师名,性别,年龄,身份,密码)
课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)
教师课程联系(教师号,课程号)
(2)教师临时班级联系概念模型向关系模型的优化
教师表(教师号,教师名,性别,年龄,身份,密码)
临时班级表(班级号,班级名,人数,地点)
教师临时班级关系(班级号,教师号)
(3)课程临时班级联系概念模型向关系模型的优化
临时班级表(班级号,班级名,人数,地点)
课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)
经过规范化处理后的所有关系模如下:
学生表(学号,姓名,性别,年龄,系部,密码)
课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)
教师表(教师号,教师名,性别,年龄,密码)
教师课程关系(教师号,课程号)
选课表(学号,课程号,成绩)
3.4物理设计和实施
得到系统逻辑模型后,就该进行数据库的物理设计和实施数据库了,物理设计主要是要确定数据库的存储路径、存储结构以及如何建立索引等,可以采用系统的默认设置。
数据库实施主要包括在具体的DBMS中创建数据库和表的过程,本设计所选用的DBMS为SQLSERVER2010,有关创建数据库和关系表的SQL语句如下所示:
(1)创建数据库
/*==============================================================*/
/*DataBase:
学生选课管理,创建数据库,数据库名称为学生选课管理
*/createdatabase学生选课管理;
(2)创建表
Createtable学生基本档案
(学号char(10),
姓名char(10),
年龄int,
性别char
(2),
班级char(10),
院部char(15)
密码char(10);
Createtable教师基本信息
教师号char(10),
姓名char(10),
性别char
(2),
年龄int,
密码char(10);
Createtable课程信息
课程号char(10),
课程名char(10),
先行课char(10),
学分charint,
班级char(10),
年龄char(10);
Createtable选课表
课程号char(10),
课程名char(10),
先行课char(10),
学分charint;
4.软件测试
1、登录界面
图8-1学生选课管理系统登陆界面
代码如下:
namespace学生选课管理系统
{
publicpartialclassfrmLogin:
Form
{
publicfrmLogin()
{
InitializeComponent();
}
privatevoidbtnLogin_Click(objectsender,EventArgse)
{
try
{
if(txtUserName.Text=="")
{
MessageBox.Show("用户名不能为空");
}
else
{
if(txtPwd.Text=="")
{
MessageBox.Show("密码不能为空");
}
else
{
SqlConnectioncon=DBCon.createCon();
con.Open();
SqlCommandcmd=newSqlCommand("selectcount(*)fromUserswhereUserName='"+txtUserName.Text+"'andUserPwd='"+txtPwd.Text+"'",con);
inti=Convert.ToInt32(cmd.ExecuteScalar());
if(i>0)
{
if(cmbLogin.Text=="")
{
MessageBox.Show("请选择登录界面");
return;
}
elseif(cmbLogin.Text=="学生用户使用界面")
{
frmMainmain=newfrmMain();
main.adminname=txtUserName.Text;
main.admintime=DateTime.Now.ToShortDateString();
main.Show();
this.Hide();
}
else
{
ptMainptmain=newptMain();
ptmain.adminname=txtUserName.Text;
ptmain.Show();
this.Hide();
}
}
else
{
MessageBox.Show("用户名或者密码错误");
}
}
}
}
catch(Exceptionex)
{
MessageBox.Show(ex.ToString());
}
}
privatevoidbtnCancel_Click(objectsender,EventArgse)
{
this.Close();
}
privatevoidtxtPwd_KeyPress(objectsender,KeyPressEventArgse)
{
if(e.KeyChar==13)
{
btnLogin_Click(sender,e);
}
}
}
}
2、学生管理界面
图8-2学生选课管理系统学生管理界面
代码如下:
namespace学生选课管理系统
{
publicpartialclassfrmMain:
Form
{
publicfrmMain()
{
InitializeComponent();
}
publicstringadminname;
publicstringadmintime;
privatevoidfrmMain_Load(objectsender,EventArgse)
{
toolStripS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 选课 管理 系统