免费预览已结束,剩余20页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
广州华立科技职业学院毕业设计(论文)广州华立科技职业学院毕业设计(论文)题目:学生信息管理系统学 生 姓 名: 学 号: 专 业: 计算机软件技术 指导老师姓名: 论文提交时间: 2012年3月5日目录中文摘要(含关键词) 1英文摘要(含关键词) 1一、系统可行性研究 2 (一)技术可行性研究 2 (二)操作可行性研究 3二、需求分析 3 (一)开发平台3 (二)使用平台 4三、系统分析 4 (一)系统开发的意义 4 (二)系统概要设计 5(三)设计原则 5(四)功能需求 5(五)性能需求 8(六)逻辑关系图 8四、系统详细设计 10(一)系统功能结构图 10(二)代码实现 14五、结论 22参考文献目录 22中文摘要信息管理系统是一个计算机软硬件资源以及数据库的人-机系统。学生信息管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起资料安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。建立学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化,对整个学生管理进行记载,并实行电子化管理。 于是,我们使用 microsoft 公司的 visual basic 6.0 开发工具,在对系统进行设计和完善后,创建了 sql数据库。并将二者连接起来,形成学生信息管理系统。关键词:学生管理 软件工程 数据库 信息abstract information management system is a computer software and hardware resources and database people - machine system. students information management system is the typical information management system, its development mainly includes the setting and maintenance of database and the programming of the frontend application. the former required build material security good storehouse. for the latter requires the application program function complete, easy to use, etc. hence, we use the microsoft companys visual basic 6.0 development tools on system design and perfect, created after sql database. and both, forming students connected information management system.key words: student management software engineering database information 学生信息管理系统随着各个学校的规模增大,有关学生管理工作所涉及的数据量越来越大,各个学校的学生管理基本上都是靠手工进行,有的学校不得不靠增加人力、物力来进行学生管理。作为计算机应用的一部分,使用计算机对学生信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。建立学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生成绩信息管理工作流程的系统化、规范化和自动化。因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中我将以开发学生管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。一、系统可行性研究(一)技术可行性研究学生信息管理是高校管理的重要组成部分,是高等学校非常重要的一项数据资源,是一个教育单位不可缺少一部分。学生的稳定是学校快速发展的有力保障,这不仅仅关系到学生在校期间的表现,在很大程度上度量了一个学生的跟踪管理。学生管理的重要性不言而喻,但因为其包含的数据量大,涉及的人员面广,而且需要及时更新,所以学生管理在学校中是很繁琐的,在每个系,每个学生都需要有对应的档案记录。在学校各项管理中,学生管理牵涉到的其他管理内容是最复杂的,它牵涉到了学生个人档案管理、学籍管理、成绩管理、课程管理等。所以在实际管理工作中,往往由于记录的数量多、管理复杂、可连续性差,造成学生管理的混乱。对这一混乱,最好的解决办法就是借助计算机技术和数据库管理系统,对整个学生管理进行记载,并实行电子化管理。本课题的目的就是开发“学生管理系统”,通过这一系统来掌握学生的管理情况,实现学生信息管理的电子化,提供一个电子化的学生管理平台。以windows为操作系统,运用sql server的数据库技术,开发以windows为用户的操作平台,界面友善、功能齐全的学生管理系统。新系统的运行硬件环境pc机,当用户使用系统时,通过正确的口令进入系统,进行数据库的维护操作和运用。(二)操作可行性研究本系统采用基于windows的图形用户界面,而该系统是大家熟悉的操作系统,对于那些有一般的计算机知识的人员就可以轻松上手。而整个管理系统采用最友好的交互界面,简洁明了,不需要对数据库进行深入的了解。由此,该系统的操作是可行的,有必要开发该系统。综合以上三方面,该系统具有很高的开发可行性,无论是从技术上或者经济上还是操作上。因此,可以设计该系统的数据流程图。二、需求分析(一)开发平台1.数据库选择用户每秒数据库并发数据访问记录数稳定性要求维护水平备选数据库中型学校(20-100)5000-50000中一般sql server大型学校(100-1000)50000-200000较高较好sql server超大型学校(1000以上)200000以上高好oracle2、操作系统的选择用户每秒数据库并发数据访问记录数稳定性要求维护水平备选操作系统中型学校(20-100)500-2000较高较好windows2000,windowsxp,linux,unix大型学校(100-1000)500-2000较高较好unix超大型学校(1000以上)2000以上高好unix3、而本系统选择的开发平台是系统:microsoft windows2003硬件:计算机(cpu 2.40gh、内存 512mb、硬盘80g)软件:microsoft visual studio2005、sql server2000(二)使用平台硬件配置主要包括客户端硬件的选择和服务器端硬件的选择。学生管理系统的硬件配置根据用户对系统的稳定性要求、系统的容量、系统的吞吐量以及用户的维护水平来确定。 如:表1,表21. 客户端硬件选择用户稳定性要求备选客户端学生客户端低pentiumcpu/64mb/4gb管理员客户端中pentium iii/256mb/20gb表12.服务器端硬件选择用户每秒数据库并发数据访问记录数稳定性要求维护水平备选服务器中型学校(20-100)50-500中一般cpu/1gb/raid53*72gb大型学校(100-1000)500-2000较高较好小型计算机/双机热备 或者xeon4cpu/4gb/raid56*72gb超大型学校(1000以上)2000以上高好小型计算机双机热备 或者xeon8cpu/4gb/raid56*72gb表2三、系统分析(一)系统开发的意义学生管理系统的建立是可以有效的节省人力资源提高管理效率的投资,其设计理念很简单,变人工管理学生信息为计算机自动化进行学生信息的管理,既省时间又提高效率。因此在系统构建时,只要我们本着丰富学生管理的信息资源,为学生和教务管理员方便的快捷的学生信息查询途径和管理手段,去改变原有的效率低下的管理方式,那么学生管理系统是完全可行的.学生管理系统是一个学校不可缺少的部分,它的内容对于学校管理者来说是至关重要,所以学生管理系统应该能够为学校管理者提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理学生档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间长了,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着计算机科学技术的不断研究与发展,计算机正日益广泛地应用到社会各大领域,他在人类社会各个领域发挥着越来越重要的作用,给人们的学习、工作、生活带来了极大的便利,在教育系统领域亦是如此。作为计算机应用的一部分,使用计算机对学生信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高的效率,也是学校科学化、正规化管理的重要条件。(二)系统概要设计系统分成几个相对独立的模块,这些模块都进行集中式管理。分层的模块化程序设计思想,整个系统采用模块化结构设计。合理的数据流设计,在应用系统设计中,相对独立的模块间以数据流相互连接,使各模块间的耦合性较低,方便系统运行,提高系统安全性。(三)设计原则为了使本系统功能齐全完备,操作简便,最大限度的提高软件的质量,从而满足用户的实际需要,在设计开发过程中遵循了如下原则:正 确 性 原 则:消息在不同系统平台之间进行传递和显示时不会出现乱码现象。健 壮 性 原 则:能够容纳100-200人同时在线交流,服务器端程序连续应工作半年以上。可 靠 性 原 则:应用程序异常退出及崩溃的机率小于等于5%。准 确 性 原 则:对输入的相关资料建立检错机制,及时报错,使用户能够及时准确的输入合法资料。程序可读性原则:为了便于其他人员设计,维护人员读懂代码或以后的代码修改,软件升级维护,尽可能地做好代码注释工作。易 操 作 原 则:要求设计的系统功能齐全,界面友好,操作方便,必要的地方进行提示。(四)功能需求本系统采用自定向下方法开发,其功能模块主要有如下几个部分:系统主界面、基础资料部分、学生管理部分、课程管理部分、成绩管理部分。具体的功能描述如下:如表1所示功能用例名称后台信息维护用户登录基础设置学生管理课程管理成绩管理前台信息查询查询学生学籍信息查询学生成绩表1后台管理用例图:如表2所示 表21用户登录根据用户填写的名称和密码,判断该用户是否为管理员。如果用户名和密码都正确,则转到主界面,如果不正确,提示错误信息。业务流程图:如图3所示 图32基础资料设置基础资料设置包括院系设置、班级设置和学期设置等几个方面。(1)院系设置包括院系的添加、修改、查看、删除。(2)班级设置包括班级的添加、修改、查看、删除。(3)学期设置包括学期的添加、修改、查看、删除。3学生管理学生管理包括学生档案的管理编辑和学生学籍管理两个方面。(1) 学生档案管理编辑包括学生各种资料的添加、修改、查看、删除。(2) 学生学籍管理包括学生院系和班级的变动以及学生离校的处理。档案管理用例图:如图4所示 图44课程管理课程管理包括设置和班级选课两个方面。(1) 课程的设置:用户选择添加,修改,删除操作,系统执行添加课程信息。(2) 班级选课:班级选课是以班级为单位选择在某个学期内的所有课程,同时也为此班级内的所有成员选择了课程。因为每一班级每一个学期所学的课程名称不能相同,所有选择listbox将所有课程名称列出来,然后在选择此课程的同时,删除显示课程名称listbox中的此课程名称。这样在这个班的下个学期就不会再出现此课程了。同时根据选择课程名称创建表结构。以便查询所有学生的成绩。5成绩管理成绩管理包括学生成绩编辑和学生成绩分析两个方面。(1) 学生成绩编辑包括学生成绩录入和学生成绩修改。(2) 学生成绩分析是用列表和图形等方法给出某个班级某个科目的最高、最低、平均分统计和总体分数分布图。(3) 前台用户登录:根据不同的身份(学生,老师)登录,赋予用户不同的权限。(4) 以学生身份登录:学生以姓名,学号登录,学籍信息以及某个学期的所有成绩。如图5所示图5(5) 以老师身份登录:老师以用户名,密码登录的某系某班学生的所有学籍信息以及 某学期的所有人的成绩。或是某个任课老师想要查询他所教的学科的该班人的成绩。(五)性能需求1时间特性该管理系统软件从启动到进入系统登录界面的时间正常情况下应少于5秒,录入并更新数据的时间正常情况下少于2秒。2适应性该管理系统软件适用于windows 2000/xp及以上操作系统。(六)逻辑关系图1数据库关系图如图6所示图62逻辑结构图如表7,表8,表9,表10,表11,表12,表13,表14所示department(院系信息表)编号字段名称数据结构说明1departementidvarchar(10)院系编号2deparementnamevarchar(50)院系名称3phonenovarchar(20)电话号码表7class(班级信息表)编号字段名称数据结构说明1classidvarchar(10)班级编号2classnamevarchar(50)班级名称3departmentidvarchar(10)院系编号4studentnumbersmallint学生人数表8course(课程信息表)编号字段名称数据结构说明1courseidvarchar(10)课程编号2coursenamevarchar(50)课程名称3scorehourint课程学时4departmentidvarchar(10)所属院系表9semester(学期信息表)编号字段名称数据结构说明1semesteridvarchar(10)学期编号2semesternamevarchar(50)学期名称表10student(学生信息表)编号字段名称数据结构说明1studentidvarchar(10)学生编号2classidvarchar(10)班级编号3studentnamevarchar(50)学生姓名4sexchar(2)性别5agesmallint年龄6nationvarchar(50)民族7nativeplacevarchar(50)籍贯8statusvarchar(20)政治身份9indatesmalldatetime入学时间10picturevarchar(100)照片表11selectcourse(选课信息表)编号字段名称数据结构说明1serialnoint选课序列号2classidvarchar(10)班级编号3semesteridvarchar(10)学期编号4courseidvarchar(10)课程编号表12score(成绩信息表)编号字段名称数据结构说明1classidvarchar(10)班级编号2studentidvarchar(10)学生编号3courseidvarchar(10)课程名称4scoresmallint分数表13userinfo(用户表)编号字段名称数据结构说明1useridint用户编号2usernamevarchar(50)用户名称3pwdvarchar(50)密码表14四、系统详细设计(一)系统功能结构图学生管理系统提供:基础设置,学生管理,课程管理,成绩管理。登录界面如图1所示:图1 当以老师身份登录成功后,界面如图2所示:图21 成绩管理成绩管理包括学生成绩编辑和学生成绩分析两个方面。学生成绩编辑包括学生成绩录入和学生成绩修改,其界面如图3所示:图3当窗体加载时二次确认和修改按钮禁用。当选择院系、班级、学期后点击确认按钮后禁用解除,用户可以在课程框中选择课程,点击二次确认按钮数据加载成功。其界面如图4所示:图4选择所要修改的信息,按修改按钮进行修改,提示修改成功,其界面如图5所示: 图5修改完毕退出。2、成绩分析学生成绩分析是用列表和图形等方法给出某个班级某个科目的最高、最低、平均分统计和总体分数分布图。成绩列表情况,如图6所示:图6列表统计情况,如图7所示:图7图表分析情况,如图8所示:图8(二)、代码实现1、成绩编辑/确定院系、班级、学期以后 对选定课程的确认 private void btnscorecoursesure_click(object sender, eventargs e) if (this.cmbcourse.text = null | this.cmbcourse.text = ) messagebox.show(请选择课程, 用户提示); else string dispsql = exec proc_v_studentscore + this.cmbdepartment.selecteditem.tostring() + , + this.cmbclass.selecteditem.tostring() + , + this.cmbsemester.selecteditem.tostring() + , + this.cmbcourse.selecteditem.tostring() + ; dispds = dbcon.getdataset(dispsql); if (dispds.tables0.rows.count = 0) this.dgscoreedit.enabled = false; this.btnscoresubmit.enabled = false; else this.dgscoreedit.enabled = true; this.btnscoresubmit.enabled = true; this.dgscoreedit.datasource = dispds.tables0; /成绩修改 private void btnscoresubmit_click(object sender, eventargs e) try for (int i = 0; i dispds.tables0.rows.count; i+) double score = convert.todouble(dispds.tables0.rowsi2); string studentid = dispds.tables0.rowsi1.tostring(); string modsql = exec proc_update_v_studentscore +score+,+studentid+, + this.cmbdepartment.selecteditem.tostring() + , + this.cmbclass.selecteditem.tostring() + , + this.cmbsemester.selecteditem.tostring() + , + this.cmbcourse.selecteditem.tostring() + ; dbcon.updatescore(modsql); /this.label5.text = score.tostring(); messagebox.show(成绩修改成功, 用户提示); /更新stu_score string up_stuscore = update stu_score set + this.cmbcourse.selecteditem.tostring() + = + score + where 班级= + this.cmbclass.selecteditem.tostring() + and 学号= + studentid+; / dbcon.update_stu_score(up_stuscore); catch(exception ex) messagebox.show(ex.tostring(); /成绩退出 private void btnscoreexit_click(object sender, eventargs e) this.close(); /窗体加载 private void scoreedit_load(object sender, eventargs e) /读取所有院系 string departmentsql = select departmentname from department; dataset departmentds = dbcon.getdataset(departmentsql); foreach (datarow dr in departmentds.tables0.rows) this.cmbdepartment.items.add(drdepartmentname.tostring(); /选中某一院系 读取 特定班级、有几个学期 private void cmbdepartment_selectedindexchanged(object sender, eventargs e) this.cmbcourse.items.clear(); this.cmbcourse.text = ; /班级 this.cmbclass.items.clear(); this.cmbclass.text = ; string classsql = exec proc_v_allclass + this.cmbdepartment.selecteditem.tostring() + ; dataset classds = dbcon.getdataset(classsql); foreach (datarow dr in classds.tables0.rows) this.cmbclass.items.add(drclassname.tostring(); /学期 this.cmbsemester.items.clear(); this.cmbsemester.text = ; string semestersql = exec proc_v_allsemester +this.cmbdepartment.selecteditem.tostring()+; dataset semesterds = dbcon.getdataset(semestersql); foreach (datarow dr in semesterds.tables0.rows) this.cmbsemester.items.add(drsemestername.tostring(); 2成绩分析/窗体加载 private void scorefenxi_load(object sender, eventargs e) /读取所有院系 string departmentsql = select departmentname from department; dataset departmentds = dbcon.getdataset(departmentsql); foreach (datarow dr in departmentds.tables0.rows) this.cmbfxdepartment.items.add(drdepartmentname.tostring(); this.rvfenxi.refreshreport(); this.rvfenxi.refreshreport(); /选中某一院系 读取 特定班级、有几个学期 private void cmbfxdepartment_selectedindexchanged(object sender, eventargs e) this.cmbfxclass.items.clear(); this.cmbfxclass.text = ; this.cmbfxcourse.enabled = false; this.btncount.enabled = false; this.tabcontrol1.enabled = false; /班级 this.cmbfxclass.items.clear(); this.cmbfxclass.text = ; string classsql = exec proc_v_allclass + this.cmbfxdepartment.selecteditem.tostring() + ; dataset classds = dbcon.getdataset(classsql); foreach (datarow dr in classds.tables0.rows) this.cmbfxclass.items.add(drclassname.tostring(); /学期 this.cmbfxsemester.items.clear(); this.cmbfxsemester.text = ; string semestersql = exec proc_v_allsemester +this.cmbfxdepartment.selecteditem.tostring()+; dataset semesterds = dbcon.getdataset(semestersql); foreach (datarow dr in semesterds.tables0.rows) this.cmbfxsemester.items.add(drsemestername.tostring(); /开始统计 private void btncount_click(object sender, eventargs e) if (this.cmbfxcourse.text = null | this.cmbfxcourse.text = ) messagebox.show(请选择课程, 用户提示); else string dispfxsql = exec proc_v_studentscore + this.cmbfxdepartment.selecteditem.tostring() + , + this.cmbfxclass.selecteditem.tostring() + , + this.cmbfxsemester.selecteditem.tostring() + , + this.cmbfxcourse.selecteditem.tostring() + ; dispfxds = dbcon.getdataset(dispfxsql); if (dispfxds.tables0.rows.count = 0) messagebox.show(没有获取数据,相关控件将禁用); this.tabcontrol1.enabled = false; else this.tabcontrol1.enabled = true; this.dglist.datasource = dispfxds.tables0; /用三种方式显示数据 private void tabcontrol1_selected(object sender, tabcontroleventargs e) if (this.tabcontrol1.selectedindex = 0) this.dglist.datasource = dispfxds.tables0; else if (this.tabcontrol1.selectedindex = 1) this.lvcount.clear(); this.lvcount.columns.add(统计项); this.lvcount.columns.add(得分); double averagemark;/平均分 double maxmark = 0;/最高分 double minmark = 100;/最低分 double sum = 0;/总分 double score; for (int i = 0; i dispfxds.tables0.rows.count; i+) score = convert.todouble(dispfxds.tables0.rowsi2); if (maxmark score) minmark = score; sum = sum + score; averagemark = sum / (convert.todouble(dispfxds.tables0.rows.count); /显示平均分、最高分、最低分 listviewitem lviaverage = new listviewitem(); lviaverage.subitems.clear(); lviaverage.subitems0.text = 平均分; lviaverage.subitems.add(averagemark.tostring(); this.lvcount.items.add(lviaverage); listviewitem lvimax = new listviewitem(); lvimax.subitems.clear(); lvimax.subit
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京统一租赁房屋租赁合同
- 童谣儿歌我来读活动
- 肾脏移植手术
- 山东省滨州市2024-2025学年八年级上学期期中考试语文试题(含答案)
- 湖南省益阳市赫山区箴言龙光桥学校2024-2025学年一年级上学期期中考试数学试题(无答案)
- 电影机械行业相关投资计划提议
- 高端医用耗材相关行业投资方案
- 物联网导论配套课件
- 超声复合电导治疗仪
- 艾滋病工作年终经验介绍
- 电机维护保养作业指导书
- 国家开放大学《实用心理学》形考任务1-4参考答案
- 撤回支付令异议申请书
- 公元纪年法-完整版PPT
- 小学语文人教五年级上册(统编2023年更新)第五单元-群文阅读《说明方法的妙用》教学设计
- 高中英语外研版高中选修7Scopeandsequence-英语长难句教学反思
- 内部控制案例第06章案例18 乐视
- 科技金融项目银行工作总结汇报PPT模板
- 品质异常升级管理规定
- 实验室ISO17025认证推进计划表
- 四年级上册数学说课稿-价格问题 人教版
评论
0/150
提交评论