管理系统信息课程设计学生信息管理系统设计报告_第1页
管理系统信息课程设计学生信息管理系统设计报告_第2页
管理系统信息课程设计学生信息管理系统设计报告_第3页
管理系统信息课程设计学生信息管理系统设计报告_第4页
管理系统信息课程设计学生信息管理系统设计报告_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、学生信息管理系统设计报告 一、 设计目的作为c#课程结课设计,验证自身的学习效果,同时希望利用所学的基本知识和技能,进行简单数据库应用程序设计。希望通过项目实践,熟悉巩固所学知识,以使自身达到熟练掌握.net基本结构以及c#语言的基本知识和技能,基本掌握面向对象程序开发的基本思路和方法,了解ado.net数据库开发基本知识,为今后的进一步深入学习,奠定基础。二、需求分析学生管理系统的开发目的是为了实现学生课程、学籍的信息化管理。本系统需要完成的功能有:班级管理、学生管理、科目管理、课程管理、成绩管理以及系统管理员才具有的教师管理和用户管理。1.班级管理:可对班级进行添加、删除、修改、查找和报表

2、输出等功能,班级属性有:名称、班主任(来自于系统中保存的教师)、当前学生人数、建班日期和备注等属性。2.学生管理:可对学生进行添加、删除、修改、查找和报表输出等功能,学生属性有:学号、姓名、性别、所属班级(来自于系统中保存的班级)、相片、出生日期和备注等属性。3.科目管理:可对科目进行添加、删除、修改、查找和报表输出等功能,科目属性有:科目名称、学时数和备注等属性。4.课程管理:可对每一个班级的上课科目进行添加、删除、修改、查找和报表输出等功能,课程属性有:所属班级(来自于系统中保存的班级)、授课老师(来自于系统中保存的教师)、开课日期、结课日期和备注等属性。5.成绩管理:可对每一个班级的上课

3、科目的学生成绩进行添加、删除、修改、查找和报表输出等功能,成绩属性有:学生姓名、所属班级(来自于系统中保存的班级)、课程名、成绩、备注等属性。6. 系统管理:该模块的主要任务是维护系统的正常运行和安全性设置,包括添加用户、修改密码、重新登录等等。三、系统模块的实现在系统中包括以下功能:系统管理、学生信息管理、课程信息管 理、成绩信息管理、班级信息管理。系统各模块关系如图所示:本系统共分为三大部分:1、 登录模块 为了系统的安全,在进入系统之前首先会出现一个登录模块,用户只有在输入正确的用户名和正确的密码之后,才能进入系统。 用户登录窗体中放置了两个文本框(textbox),用来输入用户名和密码

4、;两个按钮(button)用来确定或者取消登录。设置一个sstab控件,供不同用户登录时选择用户权限,超级用户拥有一切权限(包括添加删除和修改以及对用户的管理),普通用户拥有受限制的权限(查询及修改密码),提高了数据库的安全性。添加一个tooltip组件,提示用户输入正确的用户名和密码形式,提示用户密码是佛正确。登陆条件判断代码:private void button1_click(object sender, eventargs e) if (this.textbox1.text = | this.textbox2.text = ) messagebox.show(用户名或密码不能为空!);

5、 sqlconnection conn = new sqlconnection(connstring); string str = select * from users where username= + this.textbox1.text.trim() + ; try conn.open(); sqlcommand cmd = new sqlcommand(str, conn); sqldatareader read = cmd.executereader(); if (read.read() if (textbox2.text.trim() = readuserpassword.tos

6、tring().trim() messagebox.show(用户正确,欢迎您使用本系统!); this.hide(); 主界面 fm = new 主界面(); fm.show(); else messagebox.show(密码错误,请重新输入!); catch (exception ex) messagebox.show(ex.message); conn.close(); private void button2_click(object sender, eventargs e) application.exit(); 2、 系统主界面模块登陆成功后,即可进入,系统主界面模块。窗体名称为

7、界面功能介绍。主界面为进入学生管理系统各模块的入口,用户可根据menustrip上面各个模块名称单击进入各个管理模块,从而进行对系统的管理操作。主界面入口代码: private void 学生增删toolstripmenuitem_click(object sender, eventargs e) 学生管理 fm4 = new 学生管理(); fm4.show(); private void 课程管理toolstripmenuitem_click(object sender, eventargs e) 课程管理 fm7 = new 课程管理(); fm7.show(); private voi

8、d 科目管理toolstripmenuitem_click(object sender, eventargs e) 科目管理 fm8 = new 科目管理(); fm8.show(); private void 成绩管理toolstripmenuitem_click(object sender, eventargs e) 成绩管理 fm10 = new 成绩管理(); fm10.show(); private void 用户管理toolstripmenuitem_click(object sender, eventargs e) 用户管理 fm12 = new 用户管理(); fm12.sho

9、w(); private void 修改密码toolstripmenuitem_click(object sender, eventargs e) 更改密码 fm14 = new 更改密码(); fm14.show(); private void 班级管理toolstripmenuitem_click(object sender, eventargs e) 班级管理 fm2 = new 班级管理(); fm2.show(); 3、 各功能模块1. 用户管理:可对用户进行添加、删除、修改、查找等功能,用户属性有:用户名、密码、用户类型、用户权限、用户注册日期等信息。在用户管理界面,用户可根据自身

10、权限查看用户信息,系统超级管理员可根据需求进行添加、删除用户等相关操作。进入用户管理界面后,将会出现一个主窗体,选择系统管理模块下的添加用户,就可以进入添加用户窗体,可以通过该窗体增加新的用户。 在这个窗体中放置了三个文本框,用来输入用户名和密码;两个按钮用来确定是否添加用户;三个标签用来标示文本框的提示。用户添加界面,超级管理员可通过本界面对用户修改用户类型,用户权限设置。1.4.2修改密码窗体的创建 在系统管理模块下,进入修改密码窗体,用户可根据需要修改自己的密码。在这个窗体中放置了两个文本框,用来输入密码和确认密码;两个按钮用来确定是否修改密码;两个标签用来标示文本框的内容。密码修改界面

11、主要包括用户名、新设置密码、以及确认等功能。主要供普通用户进行密码修改、以及密码清除操作。2. 班级管理:班级信息管理界面班级属性有:名称、班主任(来自于系统中保存的教师)、当前学生人数、建班日期和备注等属性。班级管理模块主要分为班级信息管理和班级查询两个界面,班级基本信息管理界面中的groupbox班级档案,显示班级编号、班级名称、学制、专业、班主任、开班日期、备注等基本信息情况。datagridview显示数据库中班级详细信息以及伴随操作产生的数据变动情况。在本操作界面内,管理员可对班级信息进行添加、删除、修改等各种操作。班级查询界面班级查询界面,主要实现班级基本信息的查询,面向没有管理权

12、限的普通用户访问系统信息,根据班级编号对班级信息进行查询操作,详细信息会在窗体上面datagridview中显示,普通用户只能浏览信息,不能进行删除、修改等管理权限操作。3. 课程管理:课程管理模块主要分为课程管理界面和教师管理界面两部分实现。课程管理界面中的datagridview显示课程基本信息,包括科目编号、班级编号、开课学期、教师编号、开课日期、捷克日期等基本信息。管理员可对每一个班级的上课科目进行添加、删除、修改、查找等功能,也可对全部课程进行查看、修改、添加、删除等基本操作。sql = select * from classcourse; da = new sqldataadapt

13、er(sql, connstring); ds = new dataset(); da.fill(ds, classcourse); binds = new bindingsource(ds, classcourse); datagridview1.datasource = binds;教师管理模块主要包括教师基本档案,教师属性为编号、姓名、联系电话、教师姓名、任教年限、性别、专业、出生年月。在教师管理模块可进行相应的查询与信息修改。4.课程管理模块课程信息浏览功能:点击主窗体中课程管理模块下的科目信息浏览,可进入科目信息浏览窗体。为了用户的使用方便,我使用了sstab控件,故在该窗体中同时包

14、含了科目信息的添加和修改的功能。并且我还在窗体上设置了myflexgrid控件。添加和修改记录后,对于数据有何变化都可以在myflexgrid中显示出来,使用户对所做的操作一目了然。 课程设置功能:进入课程管理模块下的年级课程设置窗体,可以对每一个年级的课程进行设置。 sqlconnection conn = new sqlconnection(connstring); string sql = insert into classcourse values( + + textbox1.text + , + textbox2.text + , + textbox3.text + , + text

15、box4.text + , + datetime.parse(datetimepicker1.text) + , + datetime.parse(datetimepicker2.text) + ); try conn.open(); messagebox.show(打开数据库连接成功); sqlcommand cmd = new sqlcommand(sql, conn); cmd.executenonquery(); messagebox.show(添加记录成功!); catch (sqlexception ex) messagebox.show(数据库连接失败! + 添加记录失败! +

16、ex.message); 可对科目进行添加、删除、修改、查找等功能,修改sqlconnection conn = new sqlconnection(connstring); string sql = update classcourse set courseno= + textbox1.text + , + classno= + textbox2.text + , + startterm= + textbox3.text + , + teano= + textbox4.text + , + startdata= + datetime.parse(datetimepicker1.text) +

17、 , + finishdata= + datetime.parse(datetimepicker2.text) + + where courseno= + temp; try conn.open(); messagebox.show(打开数据库连接成功); sqlcommand cmd = new sqlcommand(sql, conn); cmd.executenonquery(); messagebox.show(修改记录成功!); catch (sqlexception ex) messagebox.show(数据库连接失败! + 修改记录失败! + ex.message); 科目管理

18、模块科目属性主要包括科目名称、学时数和备注等属性。同时包括教师管理,教师管理包括教师姓名、电话、性别、科目、职称等一系列基本信息;可对教师进行添加、删除、查询等基本操作。5.成绩管理模块成绩添加代码实现sqlconnection conn = new sqlconnection(connstring); string sql = insert into scores values( + + textbox1.text + , + textbox2.text + , + textbox3.text + ); try conn.open(); messagebox.show(打开数据库连接成功);

19、 sqlcommand cmd = new sqlcommand(sql, conn); cmd.executenonquery(); messagebox.show(添加记录成功!);成绩删除代码实现sqlconnection conn = new sqlconnection(connstring); dialogresult ret = messagebox.show(确定要删除吗?, 删除, messageboxbuttons.okcancel); if (ret = dialogresult.cancel) return; string sql = delete from scores

20、 where stuno= + textbox1.text; sqlcommand cmd = new sqlcommand(sql, conn); try conn.open(); int rows = cmd.executenonquery(); if (rows = 1) messagebox.show(删除成功!, 提示, messageboxbuttons.ok, messageboxicon.information);成绩查询代码实现sql = select * from scores where stuno=+textbox1.text+; da = new sqldataada

21、pter(sql, connstring); ds = new dataset(); da.fill(ds, scores); binds = new bindingsource(ds, scores); datagridview1.datasource = binds;成绩管理模块主要包括成绩信息管理功能点击成绩管理模块下的成绩信息浏览,进入成绩信息浏览窗体,考虑到美观和实用性,界面设置如下图。用frame控件在窗体中划定一个可浏览成绩信息地方,再在frame中添加msflexgrid控件,运行时将在msflexgrid中显示所有学生的成绩信息。使用toolbar来建立工具条。点击工具条中的

22、修改、添加和查询按钮就可分别进入修改成绩信息窗体、添加成绩信息窗体和查询成绩信息窗体。这三个窗体的界面设置分别类似于学籍管理下修改学籍信息窗体、添加学籍信息窗体和查询学籍信息窗体。成绩管理模块,管理员可对每一个班级的上课科目的学生成绩进行添加、删除、修改、查找和报表输出等功能,成绩属性有:学生姓名、所属班级(来自于系统中保存的班级)、课程名、成绩、备注等属性。6.学生管理模块添加学籍信息功能sqlconnection conn = new sqlconnection(connstring); /memorystream ms; /picturebox1.image.save(ms); /byt

23、e img = ms.toarray(); string sql = insert into student(stuno,stuname,stusex,classno,stubday,stuadress,stupostno,stuphone,studata,sturemarks) values( + textbox1.text + , + textbox2.text + , + textbox3.text + , + textbox4.text + , + datetime.parse(datetimepicker1.text) + , + textbox5.text + , + textbo

24、x6.text + , + textbox7.text + , + datetime.parse(datetimepicker2.text) + , + textbox8.text + ); sqlcommand cmd = new sqlcommand(sql,conn); try conn.open(); messagebox.show(数据库连接成功!); cmd.executenonquery(); messagebox.show(添加记录成功!); catch (sqlexception ex) messagebox.show(ex.message); 选择主窗体中学生管理模块下的添

25、加学籍信息,就可进入添加学籍信息的窗体,在该窗体中我们可以对学生的学号、姓名、性别、出生日期、班号等学生的信息进行添加。设计时我尽可能设想各种边界条件,如记录为空,输入为空,输入出错等,当输入的信息满足这些边界条件时,将会弹出一个提示框提醒用户,以便用户能及时地做出修改。添加的信息将全部存储到数据库中。 在窗体上放置多个文本框和下拉式文本框,用来输入学籍信息;两个按钮用来确定是否输入学籍信息;一个按钮用来退出窗体;多个标签用来提示文本框中需要输入的内容。在学生管理窗体下,可对学生进行添加、删除、修改、查找和报表输出等功能,学生属性有:学号、姓名、性别、所属班级(来自于系统中保存的班级)、相片、

26、出生日期和备注等属性。修改删除学生信息sqlconnection conn = new sqlconnection(connstring); dialogresult ret = messagebox.show(确定要删除吗?, 删除, messageboxbuttons.okcancel); if (ret = dialogresult.cancel) return; string sql = delete from student where stuno= + temp; sqlcommand cmd = new sqlcommand(sql, conn); try conn.open()

27、; int rows = cmd.executenonquery(); if (rows = 1) messagebox.show(删除成功!, 提示, messageboxbuttons.ok, messageboxicon.information); catch (sqlexception ex) messagebox.show(数据库连接失败! + ex.message); 点击学籍管理模块下的修改学籍信息,就进入修改学籍信息的窗体,在该窗体中我们可以对前面添加的学籍信息进行修改。由于用户的需求不同,有的是要对学生的信息做个别的改动,有的是需要删除该条记录,所以该窗体同时包括了修改记录的

28、功能和删除记录的功能。又考虑到用户的误操作,为了方便,我在该窗体中增添了取消修改的功能,可一次性把输入文本框的内容全部置空。查询学籍信息功能/string conn = initial catalog=mazhongyuan;data source =localhost;integrated security=true; sqlconnection connection = new sqlconnection(connstring ); sqldataadapter adapter = new sqldataadapter(select * from student ,connection); datatable table = new datatable(); adap

温馨提示

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

评论

0/150

提交评论