数据库课程设计学生课程管理系统
课题名称: 学生课程管理系统
专业: 计算机科学与技术
班级: 计1072
姓名: 陈道友
学号: 1071301207 指导老师:刘金岭、周海岩、冯万利、邱军林
2009年12月29日
计任务书
课题 学生课程管理系统 名称
通过一周的课程设计,完善课程管理系统的功能,并达到巩固理论知识、
锻炼实践能力、构建合理知识结构的目的。 设计
目的
操作系统:Windows 7
数据库管理系统:SQL Server 2005 实验 高级编程设计语言:Visual Studio 2008 环境
1. 搜集学生课程管理问题方面的资料;
2. 编写代码,完善窗体;
任务
3. 撰写课程设计报告; 要求
4. 参加答辩;
工作进度计划 序号 起止日期 工 作 内 容
2009. 12.20~2009.12.21 查询资料、选择课题 1
2009.12.22~2009.12.23 需求分析、总体设计 2
2009.12.24~2009.12.25 系统整体设计、编写程序代码、调试程序 3
2009.12.25~2009.12.26 撰写课程设计报告 4
指导教师(签章):
年 月 日
摘要:
随着科学技术的发展,计算机已被广泛的用于社会的各个领域,成为推动社会发展的技术动力。而在计算机应用中,软件的作用十分突出,软件已经发展成为信息技术的核心,主导着信息产品的开发和信息技术市场的进一步的开拓。软件产业已成为社会信息化进程中的一个战略性产业。在软件技术的应用中,软件的开发技术尤其是应用型软件产品的开发技术成了重中之重。不断开发适应用户需求、市场需要的新型软件产品迫在眉睫。随着社会的发展,软件也在不断的更新换代。计算机领域不断取得的新研究成果使计算机在代替和延伸脑力劳动方面发挥越来越重要的作用,不仅在工业方面而且在日常生活中也越来越离不开计算机。尤其是在学校里,要处理大量的学生数据。在数字化的今天,使用学生课程管理系统能使学校对学生数据的管理更加简单、到位,可大大的减轻管理人员的负担,实现高效办公。
关键词:学生课程管理系统;计算机;软件
目 录
1 需求分析 .................................................................................................................................. 1
1.1 需求详述 ............................................................................................................................ 1
1.2 功能需求 ............................................................................................................................ 2
1.3 数据需求 ............................................................................................................................ 2
1.4 系统数据字典 .................................................................................................................... 3 2 数据库的概念设计 ................................................................................................................ 5
2.1 概念模型 ............................................................................................................................ 6
2.2 E-R图表示概念模型 .......................................................................................................... 6
2.3 合并E-R图 ........................................................................................................................ 7
2.4 E-R图向关系模型转换 ..................................................................................................... 8 3 数据库的逻辑设计 ................................................................................................................ 9 4 数据库的物理设计 .............................................................................................................. 10 5 系统模块设计 ....................................................................................................................... 11
5.1登录界面 ........................................................................................................................... 11
5.2学生信息设置 ................................................................................................................... 12
5.2管理员设置 ....................................................................................................................... 13 6部分代码 ................................................................................................................................... 14
........................................................................................................................................... 17 总 结
致 谢 ......................................................................................................................................... 18
参 考 文 献................................................................................................................................ 19
《数据库原理及应用》课程设计
1 需求分析
1.1 需求详述
(1)系统需要能够对不同的用户给出不同的权限,比如系统管理员只有对用户的管理权限,它可以增、删、改用户;学校教务人员可以对课程信息和成绩信息进行管理,主要是增、删、改和查询相关信息;学校教工人员可以对班级信息进行管理,学生可以查询个人信息、查询个人成绩;
(2)新的一个学期开始之后,学校教工人员可以添加新的班级信息,比如班号、人数等;如果中途有新转来或转走或退学的学生,也可以修改班级信息;学生毕业之后,学校教
工人员可以删除该班的所有信息。另外该系统应该提供一个方便的查询班级信息的接口。
(3)新的一个学年开始之后,学校教工人员可以添加新的学生学籍信息,比如学号、姓名、性别等;如果学生的基本信息有变化,可以修改学籍的基本信息;如果学生毕业离开了学校,可以删除该生的学籍信息;如果需要查找某个学生的学籍信息,系统应该提供一个方便的查询学籍信息的接口。另外系统需要提供学籍报表的功能。
(4)学校教工人员可以管理学院信息,比如某个学院更名了,应该可以更新学员信息;或者某个学院不存在了,应该可以删除该学院的相关信息;如需要查找某个学院的信息,系统应该提供一个方便的查询学院信息的接口。
(5)学校教工人员可以管理教师信息,分配教师授课,更改教师信息,比如某个教师退休了,应该可以删除该教师相关信息;如需要查找某个教师的信息,系统应该提供一个方便的查询教师的接口。
(6)新的一个学期开始之后,学校教务人员可以添加新的课程信息,比如课程号、课程名等,如果课程的基本信息有变化,可以修改课程的基本信息;如果课程结束,应该可以删除课程信息;如果需要查找某个课程的信息,系统应该提供一个方便的查询课程信息的接口。
(7)课程结束之后,学校教务人员可以添加课程号、学生号、成绩等信息进行选课管理;如果需要查找成绩信息,系统应该提供一个方便的查询选课及成绩信息的接口;如果由于漏题或其余原因需要删除成绩,可以删除成绩信息。
1
学生课程管理系统——陈道友
同?时为了调研的需要,应该能根据学生选课信息按学生统计平均成绩和按课程统计平均成绩。另外,系统需要提供成绩报表的功能。
(8)系统运行在Windows平台上,要求有一个较好的图形用户界面,操作要求简单。
(9)系统应该有很好的可扩展性,以便学校根据实际情况添加新的功能。 1.2 功能需求
学生管理系统需要完成的功能有用户管理、班级管理、教师管理、课程管理、选课管理、成绩管理六个部分。
(1)用户管理 该功能用于管理使用该系统的用户,以及模块按权限进行分配,从而为系统提供一定的安全性。
(2)班级管理 添加、修改、删除和查询班级信息。
(3)教师管理 添加、修改、删除和查询教师信息。
(4)课程管理 添加、修改、删除和查询课程信息。
(5)选课管理 添加、修改、删除和查询选课信息。
(6)成绩管理 添加、修改、删除和查询成绩信息,并可以制作成绩报表。
1.3 数据需求
通过分析,总结出本系统对数据的需求如下:
(1)用户信息
包括:用户名、用户密码。
(2)学生信息
包括:学号、姓名、性别、班级编号、密码、简历。
(3)课程信息
包括:课程编号、课程名称、课程性质、学时、开课学院、学分、备注等。
(4)教师信息
包括:教师编号、教师姓名、性别。
(5)选课信息
包括:学生学号、课程号、成绩等。
(6)教师任课信息
2
《数据库原理及应用》课程设计
包括:教师编号、课程编号
(7)班级信息
包括:班级编号、所属学院编号。
1.4 系统数据字典
数据流图是结构化分析中不可缺少的有力工具,它描述了系统的分解,即系统由哪些部分组成,各部分之间有什么联系等。但是,它还不能完整地表达一个系统的全部逻辑特征,特别是有关数据的详细内容。因此,仅仅一套数据流图并不能构成系统说明书,只有对图中出现的每一个成分都给出详细定义以之后,才能全面地描述一个系统。对数据流、数据存储和数据处理的详细描述,需要用数据字典(DD)。它包括数据流、数据存储、外部项和处理过程的详细条目。数据字典中把数据的最小单位定义为数据项,而若干数据项
可以组成一个数据结构。数据字典是通过以数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。
(1)模块说明
模块名称:登录系统
输入数据流:用户登录信息
输出数据流:用户登录成功|登录失败
简要描述:主要负责具有不同权限的用户的登录,对其登录信息进行验证。
模块名称:成绩管理
输入数据流:成绩控制信息
输出数据流:成绩返回信息
简要描述:主要负责学生成绩方面的管理,包括课程代码、学号、成绩。
模块名称:选课管理
输入数据流:选课控制信息
输出数据流:选课返回信息
简要描述:主要负责学生选课方面的管理,包括课程代码、学号、
3
学生课程管理系统——陈道友
成绩。
模块名称:班级管理
输入数据流:班级控制信息
输出数据流:班级返回信息
简要描述:主要负责学生成绩方面的管理,包括班级代码、班级名、
班主任。
模块名称:教师管理
输入数据流:教师控制信息
输出数据流:教师返回信息
简要描述:主要负责教师信息方面的管理,包括教师代码、教师名、
所属院系。
模块名称:课程管理
输入数据流:课程控制信息
输出数据流:课程返回信息
简要描述:主要负责学生课程方面的管理,包括课程代码、课程名、
任课教师。
(2)主要数据流定义
数据流名称:登录信息
位置:用户 登陆处理
定义:登录信息,用户名,口令
说明:对于不同权限的用户具有不同的操作权只有
输入合法的用户名及口令,才能获得一定的操作权。
数据流名称:验证信息
位置:登陆处理 用户
定义:验证信息,『登陆成功|口令错误』
说明:该告知用户登陆的情况,如成功,就可进入操作界面。
4
《数据库原理及应用》课程设计 数据流名称:查询成绩
位置:教务人员 学生信息检索
定义:查询要求=『指定系』
说明:用户通过选择指定要查询的系及学生。
数据流名称:查询结果
位置:学生信息检索 教务人员
定义:查询结果=系记录,系统计人数,『学生记录』 说明:查询结果包括指定系的信息,系学生数(统计结果)和学生记录( 可同时显示多条记录)。
数据流名称:修改要求
位置:教务人员 教务信息维护
定义:修改要求,『系|学生|课程|选课』
说明:指定要维护的对象,然后输入修改的信息(增,删,改)
数据流名称:选课要求
位置:学生 选课处理
定义:选课要求,学号,指定课程
说明:学生在选课界面要首先输入学号,然后要指定选(退)课。
数据流名称:选课结果
位置:选课处理 学生
定义:选课结果,(出错信息)已修学分,新课表,新选学分,新选课门数
说明:出错信息包括学号不对,操作错误等。
2 数据库的概念设计
5
学生课程管理系统——陈道友
2.1 概念模型
概念结构设计就是从现实概念中抽象出概念模型,即对信息世界建模,所以概念模型应该能方便、准确的表示信息世界中的常用概念。概念模型的表示方法最著名的是实体—联系方法(Entity-Relationship Approach),在该方法中实体型用矩形表示,矩形框内写明实体名;属性用椭圆表示,并用无向边将其与相应的实体连接起来;联系用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁表上联系的类型(1:1,1:n或n:m)。
2.2 E-R图表示概念模型
(1)学生实体的E-R图
姓名 学号 班级
民族 备注
学生
性别 密码
图2-1学生基本信息E-R图
(2)教师实体E-R图
教师姓名
教师编号 所属院系
教师
图2-2学生基本信息E-R图
(3)课程实体E-R图
课程名 课程号 学时
课程
种类 学分
备注
图2-3课程基本信息E-R图
6
《数据库原理及应用》课程设计
(4)选课实体E-R图
课号
学号 成绩 选课
编号
图2-4选课基本信息E-R图
(5)班级实体E-R图
班级名
班级编号 所属系 班级
班主任
图2-5选课基本信息E-R图
(6)教师任课实体E-R图
教师号 课程号
教师任课
图2-6选课基本信息E-R图
2.3合并E-R图
通过分析上述实体间的联系将分E-R图合并为学生管理系统的基本E-R图。由于用户这一实体它是用来确定使用该系统权限的于其他实体间无内在联系,故在此不考虑。同时每个实体的属性在上面的分E-R图中已经给出,在此不予给出。
7
学生课程管理系统——陈道友
n 1
属 于 班 级 学 院
1 1
开属 选 课 设 于
n m n n
课 程 学 生 m n
教 师 授课
-7 总体E-R图 图2
2.4 E-R图向关系模型转换
在二元联系中,数据模型实体间的联系有一对一(1:1)、一对多(1:n)和多对多(m:n)三种。
两实体的联系为1:1,可将联系与任意一端对应的关系模式合并。具体做法是:将两个实体各用一个关系表示,然后将其中一个关系的关键字和联系的属性加入另一个关系的属性。一个关系的关键字存储在另一个关系中时,称为另一个关系的外键。
一个1:n联系可以与“1”端对应的关系模式合并。首先,一个实体用1个关系表示,然后将联系的属性和“n”端对应关系的键置于“1”端对应的关系中。 一个m:n转换为一个关系模式。多对多联系不能与任一端实体对应的关系模式合并,否则会引起插入异常和修改异常。联系本身的属性以及与该联系相连的实体的键都将转换为该关系的属性,关系的键是各实体键的组合。
根据以上转化原则,得到以下一组关系模式,关系模式的码用下划线标出。
(1)学生(学号,姓名,性别,班级编号,„)
此为学生实体的对应的关系模式。该关系模式已经包含了联系—“属于”所对应的关系模式。
(2)班级(班级编号,所属学院号)
8
《数据库原理及应用》课程设计
此为班级实体所对应的关系模式。该关系模式已经包含了联系—“属于”所对应的关系模式,所属学院号为该关系的候选码。
(3)学院(学院编号,学院名称)
此为学院实体所对应的关系模式。
(4)教师(教师编号,教师姓名,职称,„)
此为教师实体所对应的关系模式。
(5)课程(课程编号,课程名称,开课学院,„)
此为课程实体所对应的关系模式。该关系模式已经包含了联系—“开设”所对应的关系模式。
(6)选课(课程编号,学号,成绩)
此为联系“选课”所对应的关系模式
(7)授课(课程编号,教师编号)
此为联系“授课”所对应的关系模式。
3 数据库的逻辑设计
根据对需求分析得到的数据结构进行分析,按数据输入输出的要求,确定表和表间的关系,并进行验证、调整、修改、完善,使其能够实现用户对数据和功能的要求。本系统根据分析确定系统要设置如下表(为了在应用程序中方便使用表名、字段名,在设计表时
均采用英文简称或全称,在此为了便于理解均使用它们的中文别名):
(1)学生基本表,包括字段:学号、姓名、性别、班级编号、密码。学号为主键、主索引,为班级编号建立索引,通过该索引和班级基本表建立关联。
2)教师基本表,包括字段:教师编号、教师姓名。教师编号为主键、主(
索引。
(3)课程基本表,包括字段:课程编号、课程名称、课程性质、学时、学分。课程编号为主键、主索引。
(4)学生选课表,字段包括:学号、课程编号、成绩。学生、课程编号做主索引,分别为学号、课程编号、成绩建立索引,通过学号和学生基本表建立关联,通过课程编号和课程基本表建立关联,成绩索引用于做统计计算,学号和课程号一起构成主键,这两个字段均是外码。
9
学生课程管理系统——陈道友
(5)教师任课表,包括字段:教师编号、课程编号。分别为教师编号和课程编号建立索引,通过教师编号和教师基本表建立关联,通过课程编号和课程基本表建立关联。
(6)班级表,字段包括:班级编号、所属学院编号。为班级编号建立索引,通过班级编号和学生基本表建立关联,通过所属系编号和学院基本表建立关联。
(8)用户信息基本表,字段包括:用户名、用户密码。
4 数据库的物理设计
下面列出选课系统所有表的结构和索引,为了便于理解,将部分数据列出。
(1)学生信息基本表
表名:Student
结构:
字段名 类型 宽度 必填字段 索引 中文别名 User_id 字符型 20 是 是 学号 Student_name 字符型 20 否 学生姓名 Student_sex 字符型 4 否 性别
Student_nation 字符型 4 否 民族 Student_classid 字符型 50 否 班级 Student_home 字符型 50 否 家庭住址 Student_else 字符型 50 否 备注 User_password 字符型 50 是 密码
(2)教师基本表
表名:teacher
结构:
字段名 类型 宽度 必填字段 主键
Teacher_id 字符型 50 是 是 Teacher_name 字符型 50 是 Teacher_collage 字符型 50
(3)课程基本表
表名:course
结构:
字段名 类型 宽度 必填字段 主键 Course_id 字符型 50 是 是
10
《数据库原理及应用》课程设计
Course_name 字符型 50 Course_period 整型 4 Course_credit 整型 2 Course_kind 字符型 8
(4)学生选课表
表名:student_course
结构:
字段名 类型 宽度 必填字段 主键
ID 字符型 4 是 是 User_id 字符型 50 是 Course_id 字符型 4 Student_grade 字符型 2 Course_year 字符型 8
(5)班级信息表
表名:Class
结构:
字段名 类型 宽度 必填字段 主键 Class_id 字符型 50 是 是 Class_name 字符型 50 Class_department 整型 4 Class_collage 整型 2 Class_teacherid 字符型 8
5 系统模块设计
5.1登录界面
(1)运行程序,输入用户名和密码,如下图所示。
11
学生课程管理系统——陈道友
图5-1 登录界面
(2)单击“登陆”,即可进入系统的主界面,如下图所示。
图5-2 管理员登录界面图
图5-3 学生登录界面图
5.2 学生信息设置
图5-4 学生课程信息界面图
图5-5 学生选课浏览界面图
12
《数据库原理及应用》课程设计
图5-6 学生成绩查询界面图
5.2 管理员设置
图5-7 学生管理界面图
图5-8 班级管理界面图
13
学生课程管理系统——陈道友
图5-9 课程管理界面图
图5-10 教师信息界面图
图5-11 选课管理界面图
6部分代码
protected void Bt_login_Click(object sender, EventArgs e)
{
if (DropDownList1.SelectedItem.Text.ToString() == \"学生\")
{
14
《数据库原理及应用》课程设计
string conn =
\"server=(local);database=S_Class;UserID=sa;Password=123456\";
SqlConnection cn = new SqlConnection(conn);
cn.Open();
string strsql = \"select User_id,User_password,User_power from
Student where User_id='\" + Tbx_id.Text + \"' and User_password='\" + Tbx_pwd.Text
+ \"'\";
SqlCommand cm = new SqlCommand(strsql, cn);
SqlDataReader dr = cm.ExecuteReader();
if (dr.Read())
{
Session[\"User_id\"] = dr[\"User_id\"];
Response.Redirect(\"xsgr.aspx\");
}
else
{
MessageBox.Show(\"登录失败,请检查输入\\"警告\
~~
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
cn.Close();
}
if (DropDownList1.SelectedItem.Text.ToString() == \"管理员\")
{
string conn = \"server=(local);database=S_Class;User
ID=sa;Password=123456\";
SqlConnection cn = new SqlConnection(conn);
cn.Open();
string sql = \"select id,password from users where id='\" + Tbx_id.Text + \"'and password='\" + Tbx_pwd.Text+ \"'\";
SqlCommand da = new SqlCommand(sql, cn);
15
学生课程管理系统——陈道友
SqlDataReader ds = da.ExecuteReader();
if (ds.Read())
{
//Session[\"id\"] = ds[\"id\"];
Response.Redirect(\"student.aspx\");
}
else
{
登录失败,请检查输入~\警告~ MessageBox.Show(\"
\
}
cn.Close();
}
if(Tbx_id.Text==\"\"||Tbx_pwd.Text==\"\")
{
MessageBox.Show(\"登录失败,请检查输入~\警告~
\
}
}
16
《数据库原理及应用》课程设计
总 结
通过本次课程设计,我加深了对数据库知识的了解。为了做好这次课程设计,我重新复习了一遍跟题目相关的数据库知识,C#编程语言,特别是需要实现的那部分原理。除此之外,还有上网查询一些相关的资料,和一些实际问题实现的例子,通过理解别人实现的过程,学习实现的一些基本思路。在这个过程中,我对整个连接数据库程序的过程有了一个更立体的认识和了解。在这次的设计中,让我进一步认识了数据库的设计过程以及设计各阶段所做的工作和要注意的细节部分,对于数据库的功能也有了更深的了解。在了解了数据库的功能以后,我还学会了通过数据环境设计器连接数据库的方法,使得我可以通过VB的编程语言实现与数据库的连接,进而实现相关的读写操作。
在品味成功喜悦的同时我深知自己掌握的知识还远远不够,将学习到的一些理论知识应用到实践中去,总会出现这样或那样的问题,不是理论没有掌握好,而是光知道书本上的知识是远远不够的,一定要把理论知识和实践结合起来。把学到的知识应用到时间中去,多做多练,才可以把理论的精华发挥出来。知识不是知道,了解就好,一定要去应用它,发展它,让它在现实生活中得到充分的应用,从而解决一些问题,这才是学习的根本目的。而且知识又不是单一的,它是互相联系的,学科与学科之间都有着内在的联系。计算机是一门非常复杂且庞大的学科,一项课题往往需要多项技术才可以完成的。在设计阶段,通过对课题的深入分析与研究,迫使我们们对技术有了一定的了解。计算机技术的高速发展,使我们深深地认识到只有不断的加强学习,才能在计算机技术方面不至于被淘汰,今后,我还需加强学习。
17
学生课程管理系统——陈道友
致 谢
在做课程设计时遇到很多问题,但是在老师的虚心指导和同学的耐心的帮助下,使我增加了自信心,也培养了我对做课程设计的兴趣,一开始,因为有些概念不太清晰,所以做起来有很多困难,耐心与信心逐渐消磨,工作变的枯燥乏味,在老师和同学的帮助下,终于逐渐理清思绪,掌握基本要领,工作也变的顺利且有趣起来。
另外,课程设计过程中,我学会了很多东西:首先,要想更好的完成一项任务,必须要有一种不屈不挠的精神和坚持不懈的意志。因为设计的过程,是很枯燥乏味的,稍不留神就会出现错误,而一点小小的错误将导致程序不可运行。其次,严谨的科学态度也是必不可少的,忽视小的细节,或以无所谓的态度对待,都将导致事情做的不完美。再次通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
当我们回顾这过去的一周时,我会发现自己收获了很多,也成长了很多,懂得了如何去学习以前未曾学过的新思维新方法,懂得了如何去多方位地查找资料,完善和创新一些旧的思维方式,懂得了如何同老师和同学交流和协作„„ 相信这次课程设计的体验将成为今后我们更多更广学习中的奠基石。
最重要的是我要感谢感谢淮阴工学院、计算机工程系提供的实践机会,实验室人员提供的实验环境,指导教师的辛勤指导,同组同学的互帮互助,参考文献的原作者,以及所有给我提供过帮助的所有人员和机构。
18
《数据库原理及应用》课程设计
参 考 文 献
[1] 萨师煊,王珊(数据库系统概论(第三版)(高等教育出版社,2000.2
[2] 张海藩.软件工程.北京:清华大学出版社,2001.6
[3] 施伯乐等.数据库系统教程.高等教育出版社,2003.8
[4] 吴晨等编著. ASP.NET 2.0 数据库项目案例导航.北京:清华大学出版社,2007
[5] 刘金岭.数据库原理及应用.北京:请华大学出版社,2009
[6] Visual C# 2005入门与提高.北京:清华大学出版社,2006
19
指导教师评语
1071301207 学号 姓名 陈道友 班级 计1072 选题 学生课程管理系统 名称
序号 评价内容 权重(%) 得分 1 10 考勤记录、学习态度、工作作风与表现。
是否完成设计任务;能否运行、可操作性
2 30
如何等。
报告的格式规范程度、是否图文并茂、语言规
范及流畅程度;主题是否鲜明、重心是否突出、
3 30
论述是否充分、结论是否正确;是否提出了自
己的独到见解。
自我陈述、回答问题的正确性、用语准确
4 30
性、逻辑思维、是否具有独到见解等。
合计
指导教师(签章):
年 月 日
因篇幅问题不能全部显示,请点此查看更多更全内容