数据库课程设计学生课程管理系统.doc_第1页
数据库课程设计学生课程管理系统.doc_第2页
数据库课程设计学生课程管理系统.doc_第3页
数据库课程设计学生课程管理系统.doc_第4页
数据库课程设计学生课程管理系统.doc_第5页
免费预览已结束,剩余20页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库课程设计报告课题名称: 学生课程管理系统 专业: 计算机科学与技术 班级: 计1072 姓名: 陈道友 学号: 1071301207 指导老师:刘金岭、周海岩、冯万利、邱军林2009年12月29日计任务书课题名称学生课程管理系统设计目的通过一周的课程设计,完善课程管理系统的功能,并达到巩固理论知识、锻炼实践能力、构建合理知识结构的目的。实验环境操作系统:Windows 7数据库管理系统:SQL Server 2005高级编程设计语言:Visual Studio 2008任务要求1. 搜集学生课程管理问题方面的资料;2. 编写代码,完善窗体;3. 撰写课程设计报告;4. 参加答辩;工作进度计划序号起止日期工 作 内 容12009. 12.202009.12.21查询资料、选择课题22009.12.222009.12.23需求分析、总体设计32009.12.242009.12.25系统整体设计、编写程序代码、调试程序42009.12.252009.12.26撰写课程设计报告指导教师(签章): 年 月 日 摘要:随着科学技术的发展,计算机已被广泛的用于社会的各个领域,成为推动社会发展的技术动力。而在计算机应用中,软件的作用十分突出,软件已经发展成为信息技术的核心,主导着信息产品的开发和信息技术市场的进一步的开拓。软件产业已成为社会信息化进程中的一个战略性产业。在软件技术的应用中,软件的开发技术尤其是应用型软件产品的开发技术成了重中之重。不断开发适应用户需求、市场需要的新型软件产品迫在眉睫。随着社会的发展,软件也在不断的更新换代。计算机领域不断取得的新研究成果使计算机在代替和延伸脑力劳动方面发挥越来越重要的作用,不仅在工业方面而且在日常生活中也越来越离不开计算机。尤其是在学校里,要处理大量的学生数据。在数字化的今天,使用学生课程管理系统能使学校对学生数据的管理更加简单、到位,可大大的减轻管理人员的负担,实现高效办公。关键词:学生课程管理系统;计算机;软件目录1 需求分析11.1 需求详述11.2 功能需求21.3 数据需求21.4 系统数据字典32 数据库的概念设计52.1 概念模型62.2 E-R图表示概念模型62.3 合并E-R图72.4 E-R图向关系模型转换83 数据库的逻辑设计94 数据库的物理设计105 系统模块设计115.1登录界面115.2学生信息设置125.2管理员设置136部分代码14总 结17致 谢18参 考 文 献19数据库原理及应用课程设计1 需求分析1.1 需求详述(1)系统需要能够对不同的用户给出不同的权限,比如系统管理员只有对用户的管理权限,它可以增、删、改用户;学校教务人员可以对课程信息和成绩信息进行管理,主要是增、删、改和查询相关信息;学校教工人员可以对班级信息进行管理,学生可以查询个人信息、查询个人成绩; (2)新的一个学期开始之后,学校教工人员可以添加新的班级信息,比如班号、人数等;如果中途有新转来或转走或退学的学生,也可以修改班级信息;学生毕业之后,学校教工人员可以删除该班的所有信息。另外该系统应该提供一个方便的查询班级信息的接口。(3)新的一个学年开始之后,学校教工人员可以添加新的学生学籍信息,比如学号、姓名、性别等;如果学生的基本信息有变化,可以修改学籍的基本信息;如果学生毕业离开了学校,可以删除该生的学籍信息;如果需要查找某个学生的学籍信息,系统应该提供一个方便的查询学籍信息的接口。另外系统需要提供学籍报表的功能。(4)学校教工人员可以管理学院信息,比如某个学院更名了,应该可以更新学员信息;或者某个学院不存在了,应该可以删除该学院的相关信息;如需要查找某个学院的信息,系统应该提供一个方便的查询学院信息的接口。(5)学校教工人员可以管理教师信息,分配教师授课,更改教师信息,比如某个教师退休了,应该可以删除该教师相关信息;如需要查找某个教师的信息,系统应该提供一个方便的查询教师的接口。(6)新的一个学期开始之后,学校教务人员可以添加新的课程信息,比如课程号、课程名等,如果课程的基本信息有变化,可以修改课程的基本信息;如果课程结束,应该可以删除课程信息;如果需要查找某个课程的信息,系统应该提供一个方便的查询课程信息的接口。(7)课程结束之后,学校教务人员可以添加课程号、学生号、成绩等信息进行选课管理;如果需要查找成绩信息,系统应该提供一个方便的查询选课及成绩信息的接口;如果由于漏题或其余原因需要删除成绩,可以删除成绩信息。同时为了调研的需要,应该能根据学生选课信息按学生统计平均成绩和按课程统计平均成绩。另外,系统需要提供成绩报表的功能。(8)系统运行在Windows平台上,要求有一个较好的图形用户界面,操作要求简单。(9)系统应该有很好的可扩展性,以便学校根据实际情况添加新的功能。1.2 功能需求学生管理系统需要完成的功能有用户管理、班级管理、教师管理、课程管理、选课管理、成绩管理六个部分。(1)用户管理 该功能用于管理使用该系统的用户,以及模块按权限进行分配,从而为系统提供一定的安全性。(2)班级管理 添加、修改、删除和查询班级信息。(3)教师管理 添加、修改、删除和查询教师信息。(4)课程管理 添加、修改、删除和查询课程信息。(5)选课管理 添加、修改、删除和查询选课信息。(6)成绩管理 添加、修改、删除和查询成绩信息,并可以制作成绩报表。1.3 数据需求 通过分析,总结出本系统对数据的需求如下:(1)用户信息包括:用户名、用户密码。 (2)学生信息 包括:学号、姓名、性别、班级编号、密码、简历。(3)课程信息 包括:课程编号、课程名称、课程性质、学时、开课学院、学分、备注等。 (4)教师信息 包括:教师编号、教师姓名、性别。(5)选课信息 包括:学生学号、课程号、成绩等。(6)教师任课信息包括:教师编号、课程编号(7)班级信息包括:班级编号、所属学院编号。1.4 系统数据字典数据流图是结构化分析中不可缺少的有力工具,它描述了系统的分解,即系统由哪些部分组成,各部分之间有什么联系等。但是,它还不能完整地表达一个系统的全部逻辑特征,特别是有关数据的详细内容。因此,仅仅一套数据流图并不能构成系统说明书,只有对图中出现的每一个成分都给出详细定义以之后,才能全面地描述一个系统。对数据流、数据存储和数据处理的详细描述,需要用数据字典(DD)。它包括数据流、数据存储、外部项和处理过程的详细条目。数据字典中把数据的最小单位定义为数据项,而若干数据项可以组成一个数据结构。数据字典是通过以数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。(1)模块说明模块名称:登录系统输入数据流:用户登录信息输出数据流:用户登录成功|登录失败简要描述:主要负责具有不同权限的用户的登录,对其登录信息进行验证。模块名称:成绩管理输入数据流:成绩控制信息输出数据流:成绩返回信息简要描述:主要负责学生成绩方面的管理,包括课程代码、学号、成绩。模块名称:选课管理输入数据流:选课控制信息输出数据流:选课返回信息简要描述:主要负责学生选课方面的管理,包括课程代码、学号、成绩。模块名称:班级管理输入数据流:班级控制信息输出数据流:班级返回信息简要描述:主要负责学生成绩方面的管理,包括班级代码、班级名、班主任。模块名称:教师管理输入数据流:教师控制信息输出数据流:教师返回信息简要描述:主要负责教师信息方面的管理,包括教师代码、教师名、所属院系。模块名称:课程管理输入数据流:课程控制信息输出数据流:课程返回信息简要描述:主要负责学生课程方面的管理,包括课程代码、课程名、任课教师。(2)主要数据流定义数据流名称:登录信息 位置:用户 登陆处理 定义:登录信息用户名口令说明:对于不同权限的用户具有不同的操作权只有 输入合法的用户名及口令,才能获得一定的操作权。 数据流名称:验证信息 位置:登陆处理 用户定义:验证信息登陆成功|口令错误说明:该告知用户登陆的情况,如成功,就可进入操作界面。数据流名称:查询成绩 位置:教务人员 学生信息检索定义:查询要求=指定系 说明:用户通过选择指定要查询的系及学生。数据流名称:查询结果位置:学生信息检索 教务人员定义:查询结果=系记录系统计人数学生记录 说明:查询结果包括指定系的信息,系学生数(统计结果)和学生记录( 可同时显示多条记录)。数据流名称:修改要求位置:教务人员 教务信息维护定义:修改要求系|学生|课程|选课 说明:指定要维护的对象,然后输入修改的信息(增,删,改) 数据流名称:选课要求位置:学生 选课处理定义:选课要求学号指定课程 说明:学生在选课界面要首先输入学号,然后要指定选(退)课。数据流名称:选课结果位置:选课处理 学生定义:选课结果(出错信息)已修学分新课表新选学分新选课门数 说明:出错信息包括学号不对,操作错误等。2 数据库的概念设计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图课号(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图中已经给出,在此不予给出。班 级开设1n学 院属 于n1学 生教 师授课mn课 程属于选 课1nnm图2-7 总体E-R图2.4 E-R图向关系模型转换在二元联系中,数据模型实体间的联系有一对一(1:1)、一对多(1:n)和多对多(m:n)三种。两实体的联系为1:1,可将联系与任意一端对应的关系模式合并。具体做法是:将两个实体各用一个关系表示,然后将其中一个关系的关键字和联系的属性加入另一个关系的属性。一个关系的关键字存储在另一个关系中时,称为另一个关系的外键。一个1:n联系可以与“1”端对应的关系模式合并。首先,一个实体用1个关系表示,然后将联系的属性和“n”端对应关系的键置于“1”端对应的关系中。一个m:n转换为一个关系模式。多对多联系不能与任一端实体对应的关系模式合并,否则会引起插入异常和修改异常。联系本身的属性以及与该联系相连的实体的键都将转换为该关系的属性,关系的键是各实体键的组合。根据以上转化原则,得到以下一组关系模式,关系模式的码用下划线标出。(1)学生(学号,姓名,性别,班级编号,)此为学生实体的对应的关系模式。该关系模式已经包含了联系“属于”所对应的关系模式。(2)班级(班级编号,所属学院号) 此为班级实体所对应的关系模式。该关系模式已经包含了联系“属于”所对应的关系模式,所属学院号为该关系的候选码。(3)学院(学院编号,学院名称) 此为学院实体所对应的关系模式。(4)教师(教师编号,教师姓名,职称,) 此为教师实体所对应的关系模式。(5)课程(课程编号,课程名称,开课学院,)此为课程实体所对应的关系模式。该关系模式已经包含了联系“开设”所对应的关系模式。(6)选课(课程编号,学号,成绩)此为联系“选课”所对应的关系模式(7)授课(课程编号,教师编号) 此为联系“授课”所对应的关系模式。3 数据库的逻辑设计根据对需求分析得到的数据结构进行分析,按数据输入输出的要求,确定表和表间的关系,并进行验证、调整、修改、完善,使其能够实现用户对数据和功能的要求。本系统根据分析确定系统要设置如下表(为了在应用程序中方便使用表名、字段名,在设计表时均采用英文简称或全称,在此为了便于理解均使用它们的中文别名): (1)学生基本表,包括字段:学号、姓名、性别、班级编号、密码。学号为主键、主索引,为班级编号建立索引,通过该索引和班级基本表建立关联。 (2)教师基本表,包括字段:教师编号、教师姓名。教师编号为主键、主索引。 (3)课程基本表,包括字段:课程编号、课程名称、课程性质、学时、学分。课程编号为主键、主索引。 (4)学生选课表,字段包括:学号、课程编号、成绩。学生、课程编号做主索引,分别为学号、课程编号、成绩建立索引,通过学号和学生基本表建立关联,通过课程编号和课程基本表建立关联,成绩索引用于做统计计算,学号和课程号一起构成主键,这两个字段均是外码。 (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是 是 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)运行程序,输入用户名和密码,如下图所示。 图5-1 登录界面 (2)单击“登陆”,即可进入系统的主界面,如下图所示。图5-2 管理员登录界面图 图5-3 学生登录界面图 5.2 学生信息设置图5-4 学生课程信息界面图 图5-5 学生选课浏览界面图 图5-6 学生成绩查询界面图 5.2 管理员设置图5-7 学生管理界面图 图5-8 班级管理界面图 图5-9 课程管理界面图 图5-10 教师信息界面图图5-11 选课管理界面图6部分代码protected void Bt_login_Click(object sender, EventArgs e) if (DropDownList1.SelectedItem.Text.ToString() = 学生) 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() SessionUser_id = drUser_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); SqlDataReader ds = da.ExecuteReader(); if (ds.Read() /Sessionid = dsid; Response.Redirect(student.aspx); else MessageBox.Show(登录失败,请检查输入!, 警告!, MessageBoxButtons.OK, MessageBoxIcon.Error); cn.Close(); if(Tbx_id.Text=|Tbx_pwd.Text=) MessageBox.Show(登录失败,请检查输入!, 警告!, MessageBoxButtons.OK, MessageBoxIcon.Error); 总 结通过本次课程设计,我加深了对数据库知识的了解。为了做好这次课程设计,我重新复习了一遍跟题目相关的数据库知识,C#编程语言,特别是需要实现的那部分原理。除此之外,还有上网查询一些相关的资料,和一些实际问题实现的例子,通过理解别人实现的过程,学习实现的一些基本思路。在这个过程中,我对整个连接数据库程序的过程有了一个更立体的认识和了解。在这次的设计中,让我进一步认识了数据库的设计过程以及设计各阶段所做的工作和要注意的细节部分,对于数据库的功能也有了更深的了解。在了解了数据库的功能以后,我还学会了通过数据环境设计器连接数据库的方法,使得我可以通过VB的编程语言实现与数据库的连接,进而实现相关的读写操作。 在品味成功喜悦的同时我深知自己掌握的知识还远远不够,将学习到的一些理论知识应用到实践中去,总会出现这样或那样的问题,不是理论没有掌握好,而是光知道书本上的知识是远远不够的,一定要把理论知识和实践结合起来。把学到的知识应用到时间中去,多做多练,才可以把理论的精华发挥出来。知识不是知道,了解就好,一定要去应用它,发展它,让它在现实生活中得到充分的应用,从而解决一些问题,这才是学习的根本目的。而且知识又不是单一的,它是互相联系的,学科与学科之间都有着内在的联系。计算机是一门非常复杂且庞大的学科,一项课题往往需要多项技术才可以完成的。在设计阶段,通过对课题的深入分析与研究,迫使我们们对技术有了一定的了解。计算机技术的高速发展,使我们深深地认识到只有不断的加强学习,才能在计算机技术方面不至于被淘汰,今后,我还需加强学习。 致 谢在做课程设计时遇到很多问题,但是在老师的虚心指导和同学的耐心的帮助下,使我增加了自信心,也培养了我对做课程设计的兴趣,一开始,因为有些概念不太清晰,所以做起来有很多困难,耐心与信心逐渐消磨,工作变的枯燥

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论