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

上传人:沈*** 文档编号:91920704 上传时间:2022-05-17 格式:DOCX 页数:37 大小:325.90KB
收藏 版权申诉 举报 下载
学生档案管理系统课程设计_第1页
第1页 / 共37页
学生档案管理系统课程设计_第2页
第2页 / 共37页
学生档案管理系统课程设计_第3页
第3页 / 共37页
资源描述:

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

1、计算机工程学院数据库原理及应用课程设计报告课题名称: 学生档案管理系统 专业: 计算机科学与技术网络技术 班级: 网络1111 姓名: 周泽成 学号: 111一三11104 指导老师: 周泓、刘金岭、王新华、高丽 20一三 年 6 月 22 号课程设计任务及进度表课题名称学生档案管理系统设计目的通过对高校学生档案管理系统的设计和开发。了解了数据库的设计与开发的全过程,到达稳固数据库理论知识、锻炼实践能力和构建合理知识结构的目的。实验环境操作系统:Windows XP数据库管理系统:SQL Sever 2021编程环境:Visual Studio 2021任务要求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 2021目 录1 引言62 需求分析62.1 系统目标62.2 功能划分63 概念设计73.3 数据流图84 逻辑结构设计84.1 ER

4、模型向关系模式转换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 Stude

11、nt_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密码,允许Nu

12、ll值表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)50政治面貌

13、,允许为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();sqlda.Fill(

15、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();this

16、.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=false;

17、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 = Image.

18、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.FromFile(st

19、rImagesPath + 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.蓝色经典ToolStripMenuItem.Chec

20、ked = 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); this.

21、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.BackgroundImage = Ima

22、ge.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.FromFile(st

23、rImagesPath + 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(object se

24、nder, 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_Bottom

25、.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.BackgroundIm

26、age = 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.BackgroundI

27、mage = 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 = this.Widt

28、h; 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 = false;

29、/上边框鼠标按下。 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; /上边框鼠标释放。 pri

30、vate 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, System.Win

31、dows.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.MouseEventArgs

32、 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_Bottom_Mo

34、useUp(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, System.

35、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 panelRightCor

36、nu_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; /右下角鼠标离开。 private void panelRightCorn

37、u_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) this.bolRightCornu = false; private void contextMenuStrip1_Opening(object sender, CancelEventArgs e) private void picMinimize_Click_1(object sender, EventArgs e) top = this.Top; left = this.Left; hei = this.Height; wid = this.Width; thi

38、s.Height = 0; this.Width = 0; bo = true; private void picMaximize_Click(object sender, EventArgs e) if (!bol) top = this.Top; left = this.Left; hei = this.Height; wid = this.Width; this.Top = 0; this.Left = 0; int hg = SystemInformation.MaxWindowTrackSize.Height; int wh = SystemInformation.MaxWindow

39、TrackSize.Width; this.Height = hg; this.Width = wh; bol = true; if (紫色小花ToolStripMenuItem.Checked) this.picMaximize.BackgroundImage = Image.FromFile(strImagesPath + ximagespurplemax.png); if (蓝色经典ToolStripMenuItem.Checked) this.picMaximize.BackgroundImage = Image.FromFile(strImagesPath + ximagesblue

40、max.png); if (绿色家园ToolStripMenuItem.Checked) this.picMaximize.BackgroundImage = Image.FromFile(strImagesPath + ximagesgreenmax.png); else this.Top = top; this.Left = left; this.Height = hei; this.Width = wid; bol = false; if (紫色小花ToolStripMenuItem.Checked) this.picMaximize.BackgroundImage = Image.Fr

41、omFile(strImagesPath + ximagespurplemax_Normal.png); if (蓝色经典ToolStripMenuItem.Checked) this.picMaximize.BackgroundImage = Image.FromFile(strImagesPath + ximagesbluemax_Normal.png); if (绿色家园ToolStripMenuItem.Checked) this.picMaximize.BackgroundImage = Image.FromFile(strImagesPath + ximagesgreenmax_N

42、ormal.png); private void picClose_Click_1(object sender, EventArgs e) Application.Exit(); private void panel_Top_DoubleClick_1(object sender, EventArgs e) picMaximize_Click(sender, e); private void panel_Top_MouseDown_1(object sender, MouseEventArgs e) x = e.X; y = e.Y; this.bolTop = true; private v

43、oid panel_Top_MouseMove_1(object sender, MouseEventArgs e) if (bolTop) this.Top += e.Y - y; this.Left += e.X - x; 6.2 新生档案录入private void NewStu_Load() DataSet NewStudClassset=new DataSet();string NewStuStrConnSql=select Class_name from class;this.NewStuConn=new SqlConnection(this.NewStuStrConn);this

44、.NewStusqlda=new SqlDataAdapter(NewStuStrConnSql,this.NewStuConn);NewStudClassset.Clear();this.NewStusqlda.Fill(NewStudClassset,Class);for(int i=0;iNewStudClassset.Tables0.Rows.Count;i+)Class.Items.Add(NewStudClassset.Tables0.Rowsi0);Class.SelectedIndex=0;/撤销按钮代码private void drawbackbutt_Click(objec

45、t sender, System.EventArgs e)Stu_name.Text=;Stu_sex.Text=;Stu_age.Text=;Stu_home.Text=;Stu_nation.Text=;Stu_specialty.Text=;Stu_position.Text=;Stu_idnum.Text=;Stu_politic.Text=;private void ExitNStu_Click(object sender, System.EventArgs e)if(MessageBox.Show(您确认要退出?,确认,MessageBoxButtons.YesNo)=Dialog

46、Result.Yes)this.Close();/输入新学生代码private void InputnewStu_Click(object sender, System.EventArgs e)trystring date=this.ERdateTime.Value.Date.ToString();if(date=|this.Stu_name.Text=)/保证学生姓名和入学日期必须得到填写MessageBox.Show(学生姓名、入学时间、班级必须填写!,提示);elseDataSet NewStudClassset=new DataSet();/首先需要检索出学生的班级号才可以在学生表中进

47、行插入新记录string NewStuStrConnSql=select Class_id from class where Class_name=+this.Class.SelectedItem.ToString().Trim()+;this.NewStuConn=new SqlConnection(this.NewStuStrConn);this.NewStusqlda=new SqlDataAdapter(NewStuStrConnSql,this.NewStuConn);NewStudClassset.Clear();this.NewStusqlda.Fill(NewStudClassset,Class);string ClassId=NewStudClassset.Tables0.Rows00.ToString().Trim();/检索数据库内是否已经有同名的记录DataSet NewStu=new DataSet();str

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!