学生档案管理系统课程设计.docx

上传人:牧羊曲112 文档编号:1881200 上传时间:2022-12-23 格式:DOCX 页数:37 大小:329.21KB
返回 下载 相关 举报
学生档案管理系统课程设计.docx_第1页
第1页 / 共37页
学生档案管理系统课程设计.docx_第2页
第2页 / 共37页
学生档案管理系统课程设计.docx_第3页
第3页 / 共37页
学生档案管理系统课程设计.docx_第4页
第4页 / 共37页
学生档案管理系统课程设计.docx_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《学生档案管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《学生档案管理系统课程设计.docx(37页珍藏版)》请在三一办公上搜索。

1、计算机工程学院数据库原理及应用课程设计报告课题名称: 学生档案管理系统 专业: 计算机科学与技术(网络技术) 班级: 网络1111 姓名: 周泽成 学号: 111一三11104 指导老师: 周泓、刘金岭、王新华、高丽 20一三 年 6 月 22 号课程设计任务及进度表课题名称学生档案管理系统设计目的通过对高校学生档案管理系统的设计和开发。了解了数据库的设计与开发的全过程,达到巩固数据库理论知识、锻炼实践能力和构建合理知识结构的目的。实验环境操作系统:Windows XP数据库管理系统:SQL Sever 2008编程环境:Visual Studio 2010任务要求1. 搜集高校学生档案管理问

2、题方面的资料,进行需求分析;2. 完成概念设计、逻辑设计等各阶段的设计;3. 编写程序代码,系统调试;4. 撰写课程设计报告;5. 参加答辩工作进度计划序号起止日期工 作 内 容120一三.5.1020一三.5.11查询资料、选择课题220一三.5.1220一三.5.20需求分析、总体设计320一三.5.2120一三.6.17系统整体设计、编写程序代码、调试程序420一三.6.1720一三.6.21撰写课程设计报告指导教师: 20一三 年 06 月 07 日 摘要学生档案管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立

3、起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 经过分析,我使用 MICROSOFT公司的 VISUAL STUDIO开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,可以在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,用ODBC连接数据库,直到形成最终的可行系统。关键词 控件,窗体,数据库,Microsoft Visual Studio 2010目 录1 引言62 需求分析62.1 系统目标62.2 功能划分63 概念设计73.3 数据流图84 逻辑结构设计84.1 E

4、R模型向关系模式转换84.2 数据库表结构设计95 应用程序设计116 编码(主要功能介绍)116.1登陆界面116.2新生档案录入216.3学生档案查询246.4更新学生档案257 项目测试29结 论30致 谢31参考文献32附录331 引言电子档案是档案工作中的新事物,具有传统纸质档案不具备的优点,能极大限度地提高工作效率。因此,档案管理者应顺应时代发展的潮流,正确积极地认识电子档案的特点,加强对电子档案管理的研究,使人类社会原始历史记录在信息时代得以真实、完整、可靠的保管。2 需求分析2.1 系统目标一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密

5、性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生档案信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 管理信息系统在最初级阶段是统计系统,所研究的内容是数量数据间表面的规律,他可以分成较相关和不相关的组,然后把数据转换成信息。第二

6、个阶段的数据更新系统,比如它不能告诉你以现在的售票的速度何时把票售完,从而采取补救措施。因而它也是管理信息系统的低级阶段。第三阶段是状态报告阶段系统,它可以分为生产状态报告、服务状态报告和研究状态报告。比如生产状态报告系统,它的典型代表是IBM公司的生产管理系统。众所周知,它是世界上最大的计算机公司,1964年它生产出中型计算机IBM360,使计算机的水平提高了一个台阶,但同时组织生产工作却大大的复杂化了。一台计算机超过了一五000个不同的部件,每一个部件又有若干个元件,加上IBM的工厂遍及美国各地,不同的定货有不同的元件和不同的部件。这样的以来管理就特别复杂了。在1968年,建立了公用制造信

7、息系统CMIS运行很成功。状态报告系统还有一种形式是数据处理系统。主要是用来处理日常业务和生产报告。把手工作业自动化,提高效率和节省人力。最后的阶段是决策支持系统,它是用来辅助决策的信息系统。该系统可以计划、分析解答,它有较好的人机对话,但不强调全面的管理功能。因此,开发这样一套管理软件成为很有必要,我们将以开发一套学生档案管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。2.2 功能划分学生档案管理系统包括登陆权限管理、学生档案的查询修改录入、班级信息的录入、学生成绩的录入与更新等功能。 3 概念设计本系统规划出的实体有:课程信息实体、学生信息实体、成绩信息实体,它们之间的关系如下图所

8、示。班级号祖籍出生年月身份证姓名入学年月学生编号学生政治面貌家庭地址性别1所学专业班级职务学习N成绩课程学分课程名课程号图3.1 学生选课E-R图教务秘书添加NM政治面貌身份证号码学生学生号家庭住址姓名祖籍班级号性别入学日期图3.2 教务秘书添加学生信息E-R图N教务秘书添加M班级班级号学分班级名图3.3 教务秘书添加班级信息E-R图学生属性:学生号、学生姓名、性别、出生年月、祖籍、班级号、入学日期、家庭地址、政治面貌、身份证号码、班级职务、所学专业等;、班级属性:课程编号、课程名称、学分等;一个学生可以上多门课程,所以是1:N的关系;多个教务秘书可以添加多个学生的信息,所以是N:M的关系;多

9、个教务秘书可以添加多个班级的信息,所以是N:M的关系。3.3 数据流图教务秘书查询信息学生信息表查找页面查询信息查询结果图3.3.1 查找数据流图教务秘书已修改信息学生信息表页面学生信息验证已修改信息图3.3.2 学生档案数据流图新信息班级学生信息添加或修改新信息页面 班级、学生信息表管理员图3.3.3 档案添加修改数据流图4 逻辑结构设计4.1 ER模型向关系模式转换课程实体集可以转换为关系:课程(课程编号,课程名称,学分)学生实体集可以转换为关系:学生(学生编号,学生姓名,性别,出生年月,祖籍,班级号,入学日期,家庭地址,政治面貌,身份证号码,班级职务,所学专业)成绩实体集可以转换为关系:

10、成绩(课程编号,学生编号,成绩)4.2 数据库表结构设计表4.1 course列名数据类型长度描述Course_idint8课程号,定义为主键,自动编号Course_nameNvarchar(20)20课程名,不允许Null值Creditsmallint1学分,允许Null值表4.2 class列名数据类型长度描述Class_idint4班级号,定义为主键,自动编号Class_namenvarchar(40)40班级名字,不允许Null值GradeChar(10)10年级名,允许Null值SumStuint2班级现有人数,允许Null值MaxNumint2班级人数上限,允许Null值表4.3

11、Student_course列名数据类型长度描述Course_idint8班级号,学生号,共同定义为主键,自动编号student_idint8Gradeint4成绩,不允许为Null值Creditsmallint1学分,允许为空SC_semestersmallint学期,不允许为Null值School_yearsmallint8学年,不允许为Null值表4.4 SyUser列名数据类型长度描述Use_idint4用户号,定义为主键,自动编号Use_namechar(10)10用户名字,允许Null值Use_rolechar(10)10用户角色,允许Null值Passwordchar(6)6密码

12、,允许Null值表4.5 student列名数据类型长度描述Student_idint8学生号,定义为主键,自动编号Student_namenvarchar(10)10学生姓名,不允许为Null值Sexchar(2)2性别(男/女),允许为Null值Birthsmalldatetime出生年月,允许为Null值Nationchar(8)12祖籍,允许为Null值Class_idint一五班级号,定义为外键,不允许为Null值 Entrance_datesmalldatetime入学日期,不允许为Null值homenvarchar(40)40家庭地址,允许为Null值politicchar(10

13、)50政治面貌,允许为Null值IDnvarchar(一八)一八身份证号码,允许为Null值Jobnvarchar(20)20班级职务,允许为Null值specialtynvarchar(20)20所学专业,允许为Null值开始5 应用程序设计 输入账号密码 正确?NY用户登录学生档案管理系统权限修改模块 管理员登录模块班级管理模块新生档案录入模块学生档案查询模块更新学生档案模块课程管理模块学生成绩录入模块学生成绩查询模块用户选择操作 选择退出?YN执行服务操作退出图5.1 验证模块流程图 图5.2 系统功能模块图6 编码(主要功能介绍)6.6.1 登陆界面本窗体采用换肤小程序使得界面得意更美

14、观,并且可以根据鼠标的移动进行窗体移动,有放大不失真的效果。private void login_butt_Click(object sender, System.EventArgs e)trystrconn=select * from syuser where Use_name=+this.User_name.Text.ToString().Trim()+;/根据用户输入的用户名和密码初始化查询更新数据库字符串myconn=new SqlConnection(connstr);sqlda=new SqlDataAdapter(strconn,myconn);dset.Clear();sqld

15、a.Fill(dset,syuser);mytable=dset.Tables0;/查询的结果在Tables0中。for(int j=0;jmytable.Rows.Count;j+)Userrows=mytable.Rowsj;if(Userrows1.ToString().Trim()=this.User_name.Text.ToString().Trim()&Userrows3.ToString().Trim()=this.Passwords.Text.ToString().Trim() loginOrnot=true;Username=Userrows1.ToString().Trim

16、();this.Close();else MessageBox.Show(用户名/密码错误!请重试!,确认,MessageBoxButtons.OK);loginOrnot=false;this.User_name.Text=;this.Passwords.Text=;catch(Exception ex)MessageBox.Show(ex.ToString(),确认,MessageBoxButtons.YesNoCancel);return;private void Logout_butt_Click(object sender, System.EventArgs e)loginOrnot

17、=false;this.Close(); private void 紫色小花ToolStripMenuItem_Click(object sender, EventArgs e) this.panel_Top.BackgroundImage = Image.FromFile(strImagesPath + ximagespurpletop.png); this.panel_Left.BackgroundImage = Image.FromFile(strImagesPath + ximagespurpleleft.png); this.panel_Right.BackgroundImage =

18、 Image.FromFile(strImagesPath + ximagespurpleright.png); this.panel_Bottom.BackgroundImage = Image.FromFile(strImagesPath + ximagespurplebottom.png); this.picMinimize.BackgroundImage = Image.FromFile(strImagesPath + ximagespurplemin.png); if (bol = true) this.picMaximize.BackgroundImage = Image.From

19、File(strImagesPath + ximagespurplemax.png); else this.picMaximize.BackgroundImage = Image.FromFile(strImagesPath + ximagespurplemax_normal.png); this.picClose.BackgroundImage = Image.FromFile(strImagesPath + ximagespurpleclose.png); this.紫色小花ToolStripMenuItem.Checked = true; this.蓝色经典ToolStripMenuIt

20、em.Checked = false; this.绿色家园ToolStripMenuItem.Checked = false; this.BackgroundImage = Image.FromFile(strImagesPath + ximagespurplebackground.gif); private void 蓝色经典ToolStripMenuItem_Click(object sender, EventArgs e) this.panel_Top.BackgroundImage = Image.FromFile(strImagesPath + ximagesbluetop.png)

21、; this.panel_Left.BackgroundImage = Image.FromFile(strImagesPath + ximagesblueleft.png); this.panel_Right.BackgroundImage = Image.FromFile(strImagesPath + ximagesblueright.png); this.panel_Bottom.BackgroundImage = Image.FromFile(strImagesPath + ximagesbluebottom.png); this.picMinimize.BackgroundImag

22、e = Image.FromFile(strImagesPath + ximagesbluemin.png); if (bol = true) this.picMaximize.BackgroundImage = Image.FromFile(strImagesPath + ximagesbluemax.png); else this.picMaximize.BackgroundImage = Image.FromFile(strImagesPath + ximagesbluemax_normal.png); this.picClose.BackgroundImage = Image.From

23、File(strImagesPath + ximagesblueclose.png); this.紫色小花ToolStripMenuItem.Checked = false; this.蓝色经典ToolStripMenuItem.Checked = true; this.绿色家园ToolStripMenuItem.Checked = false; this.BackgroundImage = Image.FromFile(strImagesPath + ximagesbluebackground.gif); private void 绿色家园ToolStripMenuItem_Click(ob

24、ject sender, EventArgs e) this.panel_Top.BackgroundImage = Image.FromFile(strImagesPath + ximagesgreentop.png); this.panel_Left.BackgroundImage = Image.FromFile(strImagesPath + ximagesgreenleft.png); this.panel_Right.BackgroundImage = Image.FromFile(strImagesPath + ximagesgreenright.png); this.panel

25、_Bottom.BackgroundImage = Image.FromFile(strImagesPath + ximagesgreenbottom.png); this.picMinimize.BackgroundImage= Image.FromFile(strImagesPath + ximagesgreenmin.png); if (bol = true) this.picMaximize.BackgroundImage = Image.FromFile(strImagesPath + ximagesgreenmax.png); else this.picMaximize.Backg

26、roundImage = Image.FromFile(strImagesPath + ximagesgreenmax_normal.png); this.picClose.BackgroundImage = Image.FromFile(strImagesPath + ximagesgreenclose.png); this.紫色小花ToolStripMenuItem.Checked = false; this.蓝色经典ToolStripMenuItem.Checked = false; this.绿色家园ToolStripMenuItem.Checked = true; this.Back

27、groundImage = Image.FromFile(strImagesPath + ximagesgreenbackground.gif); private void picClose_Click(object sender, System.EventArgs e) Application.Exit(); /最大化事件。 /最小化事件。 private void picMinimize_Click(object sender, System.EventArgs e) top = this.Top; left = this.Left; hei = this.Height; wid = th

28、is.Width; this.Height = 0; this.Width = 0; bo = true; private void Login_Load(object sender, EventArgs e) 绿色家园ToolStripMenuItem_Click(sender, e); private void FormCusSkin_Activated(object sender, System.EventArgs e) if (bo) this.Top = top; this.Left = left; this.Height = hei; this.Width = wid; bo =

29、false; /上边框鼠标按下。 private void panel_Top_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) x = e.X; y = e.Y; this.bolTop = true; /上边框鼠标移动。 private void panel_Top_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) if (bolTop) this.Top += e.Y - y; this.Left += e.X - x; /上边框鼠标

30、释放。 private void panel_Top_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) this.bolTop = false; /左边框鼠标按下。 private void panel_Left_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) x = e.X; this.bolLeft = true; /左边框鼠标移动。 private void panel_Left_MouseMove(object sender, Sys

31、tem.Windows.Forms.MouseEventArgs e) if (bolLeft) this.Width += x - e.X; this.Left += e.X - x; /左边框鼠标离开。 private void panel_Left_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) this.bolLeft = false; /右边框鼠标按下。 private void panel_Right_MouseDown(object sender, System.Windows.Forms.MouseEv

32、entArgs e) x = e.X; this.bolRight = true; /右边框鼠标移动。 private void panel_Right_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) if (bolRight) this.Width += e.X - x; /右边框鼠标离开。 private void panel_Right_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) this.bolRight = false; /下

33、边框鼠标按下。 private void panel_Bottom_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) y = e.Y; this.bolBottom = true; /下边框鼠标移动。 private void panel_Bottom_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) if (bolBottom) this.Height += e.Y - y; /下边框鼠标离开。 private void panel_Bo

34、ttom_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) this.bolBottom = false; /左下角鼠标按下。 private void panelLeftCornu_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) x = e.X; y = e.Y; this.bolLeftCornu = true; /左下角鼠标移动。 private void panelLeftCornu_MouseMove(object sender,

35、System.Windows.Forms.MouseEventArgs e) if (bolLeftCornu) this.Width += x - e.X; this.Left += e.X - x; this.Height += e.Y - y; /左下角鼠标离开。 private void panelLeftCornu_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) x = e.X; y = e.Y; this.bolLeftCornu = false; /右下角鼠标按下。 private void panelRightCornu_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) this.bolRightCornu = true; /右下角鼠标移动。 private void panelRightCornu_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) if (bolRightCornu) this.Width += e.X - x; this.Height += e.Y - y;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号