辽 宁 工 业 大 学
管理信息系统设计课程设计报告(论文)
题目: 学生选课系统的分析与设计
院(系): 软件学院
专业班级: 软件工程112
学 号: 111301050
学生姓名: 安凯辰
指导教师: 翟宝峰
教师职称: 副教授
起止时间: 2012.5.28--2012.6.8
课程设计(论文)任务及评语
院(系):软件学院 教研室:软件教研室
目 录
第一章 系统分析... 1
1.1需求分析的任务... 1
1.2系统数据流图... 1
1.3数据字典... 2
第二章 系统设计... 3
2.1结构设计... 3
2.1.1概念设计... 3
2.1.2逻辑设计... 5
2.1.3物理设计... 5
2.2行为设计... 6
2.2.1总体设计... 6
2.2.2模块设计... 6
第三章 系统实现... 9
3.1 数据库实现... 9
3.2程序实现... 10
第四章 总结... 12
参考文献... 13
该学生选课系统是依据大学的选修课的网上申请和管理需求而进行设计的,目的是实现选修课的网上设置、申请功能。这既方便学生选课,又方便学校对学生选修课的管理与控制。根据大学选修课管理的基本过程,学生选课系统应具备课程设置、课程查询、学生选课、管理员管理等基本功能要求。系统的主要使用者有学生、开课教师和教务管理人员。网上选课系统是针对在校学生和教师使用,从学生的角度来说,通过网上进行课程发布能大幅度的减少教师的工作量,减少错误的发生几率。作为教师,也只要通过自己的电脑来操作即可,不用再奔波于教务处和办公室之间。
数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。数据流是一组数据。在数据流图中数据流用带箭头的线表示。如图1.1所示:
图1.1学生选课系统数据流图
数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。数据字典是一种用户可以访问的记录数据库和应用程序源数据的目录。主动数据字典是指在对数据库或应用程序结构进行修改时,其内容可以由DBMS自动更新的数据字典。被动数据字典是指修改时必须手工更新其内容的数据字典。
在需求分析的基础上进行概念设计,概念设计的任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法把它们抽象为一个不依赖与任何具体及其的数据模型,即概念模型。描述概念模型的有力工具是E-R图。E-R模型是一个面向问题的概念模型,它强有力的反应了各种表与表之间的关系,用简单的图形方式描述现实世界中的数据。选课系统总体E-R图如图2.1所示:
图2.1学生选课系统总体E—R图
1. 系统管理员包含了管理员ID和密码。如图2.2所示:
图2.2系统管理员实体E—R图
2. 学生包含了学生编号、登录密码、学生姓名、年龄、性别、班级。如图2.3所示。
图2.3学生实体E—R图
3. 教师包含了教师编号、登录密码、姓名、性别、年龄、毕业学校。如图2.4所示。
图2.4教师实体E—R图
4. 课程包含了课程编号、课程名称、上课时间、地点、课程选课等。如图2.5所示。
图2.5课程实体E—R图
5. 新闻包含了新闻编号、新闻主题、新闻详情。如图2.6所示。
图2.6新闻实体E—R图
数据库逻辑设计是整个设计的前半段,包括所需的实体和关系,实体规范化等工作。设计的后半段则是数据库物理设计,包括选择数据库产品,确定数据库实体属性(字段)、数据类型、长度、精度确定、DBMS页面大小等。
关系模型如上所示:每个关系模型的第一个数据项为该关系的主键。
管理员表(ano、password)
学生表(num、password、name、age、college、sex、dep、class)
教师表(tno、password、tname、tsex、tage、tcollage)
班级表(clno、clname、cltea)
课程表(id、course_code、course_name、college、course_time、start_end、course_tech、course_credit、course_site)
新闻表(id、title、detail)
数据库物理设计阶段的任务是根据具体计算机系统的特点,为给定的数据库模型确定合理的存储结构和存取方法。数据库中的属性中有数据库文件日志文件。
1.数据库文件
文件名TeachOnline_Data.MDF
位置:C:\Program Files\MicrosoftSQL Server\MSSQL\data\TeachOnline_Data.MDF
分配的空间(MB):2
文件自动增长:文件增长按百分比:10
最大文件大小:文件增长不受限
2.日志文件
文件名TeachOnline_Data.LDF
位置:C:\Program Files\MicrosoftSQL Server\MSSQL\data\TeachOnline_Data.LDF
分配的空间(MB):1
文件自动增长:文件增长按百分比:10
最大文件大小:文件增长不受限
数据库在物理设备上的存储结构与存取方法称为数据库的物理结构。据库中有主键和索引。
通过对系统需求进行分析,我们可以确定系统中有三类用户:管理员、教师和学生。各类用户的具体描述如下图:
图2.7 网上选课系统流程图
1.管理员维护整个系统,包括课程设置,选课时段设置,选课前学生不可登录;选课结束,学生只可查询,管理员对选课结果进行统计;查询选课情况对学生的选课申请进行处理,进行用户管理;限制最大选课人数;排课发布选课信息;数据备份和恢复等。
2.教师撰写教师反馈,反馈选课信息,对排课者提出反馈意见,供排课者在排课时参考使用。查询课程基本情况、学生情况。
3.在选课系统中查询课程、教室信息,,提交选课,重新选课,查询选课情况,登录系统,进行个人信息修改等与选课有关的活动。
本系统主要有三大模块组成:学生模块、教师模块、管理员模块。
1.管理员模块的功能模块如下图2.8所示:
图2.8学生网上选课系统图
public partial class frmLogin : Form{
public static string M_str_name;//记录登录用户名字
public static string M_str_pwd;//记录登录用户密码
public static string M_str_right;//记录登录用户的权限
CRM.BaseClass.BaseOperate boperate = new CRM.BaseClass.BaseOperate();
CRM.BaseClass.OperateAndValidate opAndvalidate = new
CRM.BaseClass.OperateAndValidate();
public frmLogin(){InitializeComponent();}
}private void btnLogin_Click(object sender, EventArgs e){
SqlDataReader sqlread=boperate.getread("select UserName,UserPwd from
where UserName='"+cboxUName.Text.Trim()+"' and UserPwd='"+txtPwd.Text.Trim()+"'");
sqlread.Read();
if (sqlread.HasRows){
M_str_name = cboxUName.Text;
M_str_pwd = txtPwd.Text.Trim();
frmMain fmain = new frmMain();
this.Hide();
fmain.Show();
}else{
MessageBox.Show("用户名或密码错误!", "提示", MessageBoxButtons.OK,
MessageBoxIcon.Information);
txtPwd.Text = "";
cboxUName.Focus();
}sqlread.Close();}
2.管理员功能设计所有页面都放在admin的文件夹中,管理员登陆网上选课系统后可以添加信息,可以修改密码,添加新用户,查看课程信息,添加新课程,此页面显示的是管理员点击浏览新闻是的界面。如下图2.9所示:
图2.9新闻浏览图
if (seed > 100)
{ seed-=1;var cmd="Helpor_net(" + seed + ")";
timerTwo=window.setTimeout(cmd,speed);}
else if (seed <= 100 && seed > 0)
{ for (c=0 ; c < seed ; c++)
{ out+=" ";}
out+=msg; seed-=1;
var cmd="Helpor_net(" + seed + ")";window.status=out;
timerTwo=window.setTimeout(cmd,speed); }
else if (seed <= 0)
{ if (-seed < msg.length)
{out+=msg.substring(-seed,msg.length);
seed-=1;var cmd="Helpor_net(" + seed + ")";
window.status=out;
timerTwo=window.setTimeout(cmd,speed);}
else { window.status=" ";
timerTwo=window.setTimeout("Helpor_net(100)",speed);
if (session.getAttribute("s1")==null){
response.sendRedirect("../index.jsp"); }%>
<table bgcolor="#CCCCFF" border="1" width="500" align="center">
<tr> <td width="50%" align="center">新闻标题</td></tr>
<% useBean2 enroll=new useBean2();enroll.useBean();
String strSQL="SELECT * FROM article";
ResultSet rs= enroll.executeQuery(strSQL);
while(rs.next())%>
数据库是指依照一定的格式存放在一起的数据记录文件。数据库以数据作为工作对象,指为了满足某种特定应用的需要,按照一定的数据模型在计算机系统中组织、存储和使用数据的数据集合。如图3.1所示:
图3.1学生选课系统关系模型
1. 教师表,此表中记录了教师的全部信息,表的具体设计如表3.1所示:
表3.1 教师表
2. 学生表,此表中记录了学生的全部信息,表的具体设计如表3.2所示:
表3.2 学生表
3. 课程表,此表中记录了选课信息和教师的课表,表的具体设计如表3.3所示:
表3.3 课程表
4. 新闻表,有管理员发布的新闻,表中包括编号标题和内容等如表3.4所示:
表3.4 新闻表
1.系统的首页面index.jsp在页面左边显示出三种身份登录的链接。便于不同用户清晰的看清登录的位置。不同身份的用户登录提交的用户名和密码提交到不同身份的数据库认证页面中。如学生用户登录提交到login.jsp。当验证通过时,跳到学生用户的页面。并把信息保存进session,以供其他页面判断登录系统首页如图3.2所示:
图3.2学生网上选课系统图
2.管理员登录学生选课系统时,会出现如下界面,此模块可分为用户管理,课程管理,系统公告及系统帮助和用户退出,用户管理可以修改密码,添加新用户,添加学生记录,查看所有学生信息,查看所教师信息,添加教师记录。课程管理分为查看课程信息,添加新课程两个连接。系统公告也有两个子模块包括浏览新闻,发布新闻。其中添加学生信息模块有两个单选按钮,这样可以方便信息的更改。如图3.3所示:
图3.3添加学生信息图
3.教师功能设计所有页面都放在teacher的文件夹中,教师登陆网上选课系统后可以查看很多信息,可以修改密码,添加新用户,查看课程信息,添加新课程,此页面显示的是教师点击浏览新闻是的界面,教师可以根据自己的需要随意点击新闻标题,然后页面自动跳转所要查看新闻内容。如下图3.4:
图3.4新闻浏览图
通过这次毕业设计,我充分体会到理论知识的重要性,但更加体会到实践的重要性。只有通过实践,我们才能发现并解决问题,才能真正掌握一项技术。我会在将来的软件设计、开发过程中进一步学习,不断提高自己的专业技能。
本系统主要是实现了学生选课,主要有三大方面的功能,学生可以通过登录自己的账号、密码登录选课系统进行选课、查课、退课、成看自己的成绩。老师可以登陆选课系统录入学生成绩,以至于学生可以方便的查询自己的成绩。再就是选课系统管理员可以登陆此系统,可以在选课系统中添加新开的课程、删除已有的课程、修改课程的信息等,这样,不管是学生还是老师都可以更方便的进行自己各方面的选课、录入成绩等.
在整个设计阶段感受最为深刻的是掌握学习的方式和解决问题的方法。首先是解决问题的方式,虽然面临的信息很多,但是如何从大量的信息中筛选出所需的信息,有用的信息,才是解决问题的关键,另外一个就是解决问题的方法,就像我在解决设计中的很多问题一样,一开始总是在看书,和书上的进行比对,虽然书本上的只是大部分都是有价值,正确的,但实际上每个人编程的思路和对数据处理的方法、思想都是不同的,这就要求我们一定要通过实践才能找到解决问题的方案。在整个毕业设计的过程中,我深刻的体会到了这一点的重要性,也牢记住了这一点,在今后的学习和研究中我也会继续将这种方法延续下去。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,才能做出自己想要的东西。从理论到实践,在将近半个月的日子里,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
这次经历给我留下了很深刻的印象。这次程序设计也让我知道了团结的力量,这样在以后的学习生活中我会吸取这次的经验,获得更多的知识。无论在哪项技术方面,你是弱者还是强者,都该以谦虚的姿态,脚踏实地的精神去做好本职工作。最主要的是,学会了认真做事,不敷衍应付,也许所做的课设还存在许多漏洞,但我相信,经过真真切切的努力过后,自身一定会有很大提高。
[1]张立厚.管理信息系统开发与管理.北京:清华大学出版社.2007,8.
[2]赵苹.管理信息系统案例教程.北京:北京大学出版社.2011,9
[3]朱顺泉.管理信息系统原理及应用.北京:机械工业出版社
[4]张骏等.信息系统课程设计.北京:科学出版社. 2006,1.
[5]薛华成.管理信息系统(第五版).北京:清华大学出版社.2006,3.
[6]滕佳东.管理信息系统(第二版).大连:东北财经大学出版社.2005,4.
[7]黄明. 数据库技术.北京:清华大学出版社.2011,9.
[8]冯小飞. SQL Sever基础练习+典型案例.北京:北京清华大学出版社.2006,3.
[9]吴晨. JSP.NET+SQL Server-数据库开发与实例.北京:清华大学出版社.2006,3.
[10]李荣贵.JAVA编程实例教程.北京:北京希望电子出版社.2005,4.
数据库课程设计报告指导老师贺亚茹组名组长组员完成日期成绩数据库课程设计报告一项目名称学生信息管理系统二项目需求分析1项目需求分析简…
课设名称学生成绩管理系统院系姓名学号年级专业班级指导教师时间20xx年6月目录第一部分摘要3第二部分目的背景与意义4第三部分需求分…
C程序设计报告书课题名称学号姓名班级指导老师成绩一程序设计目的本课程设计是在学习C基本理论之后的实践教学环节该实践教学是软件设计的…
C语言课程设计报告一问题描述题目七学生成绩管理系统设计学生成绩信息包括学期学号班别姓名四门课程成绩语文数学英语和计算机等主要功能1…
C可视化课程设计学生信息管理系统设计C基于MFC类可视化程序设计报告小组成员赵文琪倪涛学号31307042333130704234…
学生选课系统报告书目录第一章摘要关键词2第二章课程设计任务内容与思路3第三章程序功能划分及流程图第四章程序运行结果第五章设计心得第…
C语言程序设计学校:学院:班级序号:学号:指导老师:C语言程序设计报告一、C语言课程设计的目的:高级语言课程设计是学习完《高级语言…
武夷学院课程设计报告课程名称设计题目学生班级学生姓名指导教师完成日期C语言程序设计学生选课管理系统20xx级计算机科学与技术2班2…
C语言大型作业实践报告计算机1001制作者:20##年6月题目:选修课程管理系统要求:假定有N门选修课,每门课有课程编号、名称、课…
学生选课系统概要设计报告班级网络102班姓名张宇飞08103639王籽硕081036311引言11编写目的学生选课系统可对学生信息…
计算机与信息技术学院综合性实验报告一实验目的利用所学的UML建模知识设计学生信息管理系统由于信息技术的急剧发展和配合管理的思想的出…