第一篇:40--学生收费系统——学生档案管理子系统
合肥学院
计算机科学与技术系
课程设计任务书 ~20 学年第学期
课专指业导
班教
程 C++课程设计 级 师
课程设计名称 学生收费系统学生档案管理子系统
年6 月
一、课程设计目的
将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。通过课程设计,学生在下述各方面的能力应该得到锻炼:
(1)进一步巩固、加深学生所学专业课程《C++程序设计语言》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。
(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。
(3)利用所学知识,开发小型应用系统,掌握运用C++语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。
(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。
(5)掌握结构化程序设计方法,熟悉面向对象程序设计方法。(6)熟练掌握C++语言的基本语法,灵活运用各种数据类型。(7)进一步掌握在集成环境下如何调试程序和修改程序。
二、课程设计名称及内容
课程设计名称:学生收费系统学生档案管理子系统
设计内容:设计一个学生收费系统中的学生档案管理子系统,该系统要求对即将进行收费的学生信息进行录入和维护。
任务和要求
运用面向对象的程序设计方法,要求选择动态数组类模板或链表类模板,任务中要运用I/O流对象对文件进行读写操作。(1)界面
************************************ 学生档案管理子系统
************************************ ** F1 –系统初始化 ** ** F2 –档案录入
** F3 –档案管理 ** F4 –档案查询
**
** ** 2 ** F5 –学生调班 ** ** ESC--退出系统 ** ************************************(2)功能
1)系统初始化:初始化年级,班级信息(可以从文件中读取)2)档案录入:将新学生信息添加到系统中,并保存到文件中。3)档案管理:修改学生档案信息。
4)档案查询:统计班级学生人数,年级学生人数。按学号/姓名/年级、班级信息查询并显示查询结果。
5)学生调班:将学生从一个班级调整到另一个班级,并将学号替换成新班级中学号(新班级原学号最大值+1即为该学生的新学号)6)退出系统:将数据保存在文件中,并退出系统 测试数据
学校共三个年级(初一,初二,初三)每个年级两个班(班级编号自己定义),程序应输入不少于12条学生信息,学生信息包括年级,班级号,班级名称,学号,姓名。其中学号不能重复。
三、主要知识点
面向对象程序设计方法 界面制作,switch的应用。类和对象。
动态数组(链表)类模板。文件的读写。
四、其他
程序设计可在Microsoft VC++6.0、Borland C++ Builder环境下进行。
五、参考资料
[1].郑莉 等编著《C++语言程序设计(第三版)》北京:清华大学出版社
[2].郑莉 等编著《C++语言程序设计(第三版)学生用书》北京:
清华大学出版社 [3].李春葆 等编著《C++程序设计学习与上机实验指导》 北京:清华大学出版社 [4].范辉 等编著《Visual C++6.0程序设计简明教程》 高等教育出版社 [5].李龙澍《C++程序设计实训教程》北京:清华大学出版社 [6].洪国胜 等编著 《C++ Builder程序设计轻松上手》北京:清华大学出版社 [7].严蔚敏等 《数据结构(c语言版)》 北京:清华大学出版社,1997年4月第1版。[8].胡学钢等《数据结构算法设计指导》北京:清华大学出版社,1999年 第1版。
第二篇:学生档案管理系统
目录 摘要
ABSTRACT 前言
第一章 为什么要开发一个学生档案管理系统? 第二章 计算机已经成为我们学习和工作的得力助手 1.1 在中小学中用计算机管理学生档案的意义 1.2 为将来学校上网做好准备 1.4 学生档案的设计分析
第三章 怎样开发一个学生档案管理系统? 2.1 编程环境的选择 2.2 关系型数据库的实现 2.3 二者的结合(DBA)
第四章 Windows下的Visual Basic 编程环境简介 3.1 告别“hello world”的年代 3.2 面对对象的编程 3.3 实现菜单选项 3.4 实现工具栏 3.5 帮助 3.6关于系统
第五章 使用Access2000 实现关系型数据库 4.1 数据库的概念 4.2 新建一个数据库 4.3 修改已建的数据库 4.4 实现数据库之间的联系 第五章 系统总体规划 5.1 系统功能 5.2 流程图
第六章 系统具体实现 6.1 用户界面的实现 6.1.1 封面 6.1.2 主界面 6.1.3 帮助系统 6.2 数据库的实现 6.2.1 学籍数据库 6.2.2 学生成绩库 6.2.3 课程库 6.3 与VB的连接 第七章 结束语
第八章 主要参考文献 附录
--------------摘要--------------
学生档案管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。
经过分析,我们使用 MICROSOFT公司的 VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。
关键字:控件、窗体、域。
--------------ABSTRACT--------------
The system of managing student file is a typical application of managing information system(know as MIS),which mainly includes building up data-base of back-end and developing the application interface of front-end.The former required consistency and integrality and security of data.The later should make the application powerful and easily used.By looking up lots of datum, we selected Visual Basic presented by Microsoft because of its objective tools in Win32.VB offered a series of ActiveX operating a data-base.It can give you a short-cut to build up a prototype of system application.The prototype could be modified and developed till users are satisfied with it.Keywords: ActiveX , Form , Field.--------------前言--------------
学生档案管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生档案管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生档案信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中我们将以开发一套学生档案管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。
--------------------下面就让我们开始正文的介绍 第一章
为什么要开发一个学生档案管理系统?
计算机已经成为我们学习和工作的得力助手:
今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面: 首先,计算机可以代替人工进行许多繁杂的劳动; 其次,计算机可以节省许多资源;
第三,计算机可以大大的提高人们的工作效率; 第四,计算机可以使敏感文档更加安全,等等。
在中小学中用计算机管理学生档案的意义
现在我国的中小学校中档案的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。
我作为一个计算机应用的本科生,希望可以在这方面有所贡献。改革的总设计师邓小平同志说过“科学技术是第一生产力”,我希望能用我四年的所学编制出一个实用的程序来帮助中小学进行更有效的学籍管理。
归纳起来,好处大约有以下几点:
1. 可以存储历届的学生档案,安全、高效;
2. 只需一到二名档案录入员即可操作系统,节省大量人力; 3. 可以迅速查到所需信息。
为将来学校上网做好准备
跟据1999年中国电信的调查报告显示我国的上网人数已达到890万,互联网已经十分普及,学校往界的毕业生希望能在世界的任何一个角落查到自己校友的信息,本系统为学校将来的上网作了先期工作,比如数据库的建立。
学生档案的设计分析
根据实际情况,我们使用原型法(Rapid Prototyping)即以少量代价快速地构造一个可执行的软件系统模型。使用户和开发人员可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的性质全部满足。此时模块也发展成为最终产品了。第二章
怎样开发一个学生档案管理系统?
编程环境的选择
微软公司的Visual Basic 6.0是Windows应用程序开发工具,使目前最为广泛的、易学易用的面向对象的开发工具。Visual Basic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。故而,实现本系统VB是一个相对较好的选择。
关系型数据库的实现
Access2000 就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。Access 的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外,Access 允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。Access 是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。如上所述,Access 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。
二者的结合(DBA)
微软的JET数据库引擎提供了与数据库打交道的途径,我们是通过它以及Visual Basic 来访问数据库并对其进行各种操作。Visual Basic、Access以及其他微软的软件产品都是通过共用JET数据库引擎,从而给用户提供了丰富的数据类型。
DATA 控件在数据库中的信息与将信息显示给用户看的Visual Basic程序之间架起了一座桥梁。我们可以设置DATA控件的各个属性,告诉它要调用那个数据库的哪个部分。缺省情况下,DATA控件根据数据库中的一个或多个数据表建立一个dynaset-type(动态集合)类型的记录集合。一个记录集合是动态的也就意味着,当原来的数据表中的容改变了以后,该记录集合中的记录也会随之改变。DATA控件还提供了用来浏览不同记录的各种跳转按钮。将DATA控件放置在窗体中之后,我们还必须在该控件与要处理的数据库之间建立联系。第三章
Windows下的Visual?
? ??? ?
? ?)。Visual Basic应用程序基本的构建块是用户所创建的对象,每一个对象都具有一些特性和行为(属性、事件和 方法)。开发人员可以最有效利用所创建的每一个对象。使用应用程序具有可通用性可说扩展性和强有力的功能。
Visual Basic应用由一系列对象组成,包括有函数、菜单、函数、结构和数据窗口、用户对象、用户事件等等,对象中又包含若干控件如命令按钮、单行编辑器等这些对象和控件都可在许多应用中重复使用。
实现菜单选项
菜单是程序最重要的特性之一,大多数程序都依赖一个定义良好的菜单使程序易于使用和维护,Visual Basic也提供了强大的创建菜单功能是程序更加标准。
您可以使用Visual Basic的Application Wizard也可以使用Visual Basic 的菜单编辑器建立菜单或者修改已经存在的菜单。
实现工具栏
CoolBar控件与Office97种看到的CoolBar是类似的。CoolBar就是一个可以在窗体上浮动的工具,同时也是其他ActiveX的容器。通过在CoolBar中迁入其他空间你局可以向用户提供更好的灵活性和义用性。
Toolbar 是工具条控件,是实现工具条的主体。其中的按钮可以显示图像和标题,并按功能分组或加入分隔符,还可以围棋设置鼠标停留在其上显示的提示字符。Toolbar也是一个控件容器且具有Style属性,并可以为其增加下拉按钮和平滑按钮等。
选择“工程”下拉菜单中的“部件”选项,显示“部件”对话框。在“控件”选项卡列表中选择“Microsoft Windows Common Controls 6.0”后工具相中增加改控件。其属性及对象如下:
1. Align属性定义工具条在窗体中的位置
2. ToolTipText属性是字符串类型,定义控件的提示字符 3. Style属性定义按钮外观。
4. ImageList属性定义与数据条对应的ImageList控件名,该控件定义工具条按钮显示的图像。5. HotImangeList属性设置一个ImageList控件名,该控件定义按钮获得热点时显示的图像。6. DisabledImageList属性定义工具条按钮无效时显示的图像。创建工具条包括ImageList和Toolbar控件 ImageList用于为其他控件提供图像库,将ImageList控件加入到工具箱的操作于前述Toolbar控件相同。
帮助
专业水平的软件通常都带有联机帮助功能。无论写出来的程序是要给大量的用户使用,还是仅仅局限于公司内部有限的使用者,我们都应该为用户提供详细的、易于理解的联机帮助文档。微软的Help Workshop4.0 是一套独立于Visual Basic 的用来协助我们创建、运行于32位Windows 操作系统下的帮助文件的工具。使用它我们可以为我们编写的应用程序生成一组帮助文件。
关于版本
为了是程序显得更具有专业风格,首先可以在其中加入通常的应用程序信息。这些信息包括公司名称、版本号、修订号以及其他类似信息。Visual Basic允许你使用APP对象来保存这些信息,APP对象是一个预定义对象,不需要在程序中创建它。APP对象的大多数属性被应用程序用来提供常规的信息,通过使用这些APP提供的属性,可以在应用程序和用户之间交流重要信息,在项目属性框中可以设置它的属性。
第四章
使用Access2000 实现关系型数据库
数据库的概念
数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系数据库(flat-file)和关系数据库(relational)。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。
新建一个数据库
创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。创建一个数据库结构的过程被认为是数据模型设计。1. 标识需要的数据;
2. 收集被标识的字段到表中; 3. 标识主关键字字段;
4. 绘制一个简单的数据图表; 5. 规范数据;
6. 标识指定字段的信息; 7. 创建物理表。
修改已建的数据库
数据库的修改分为:添加、编辑和删除记录。这三种操作均可由Visual Basic 创建的程序来完成,下面的章节将详细描述实现的具体方法。
实现数据库之间的联系
数据库之间的关系指明两个库之间共享一个共同的关键字值。一个连接是指一种虚拟的表,这种表是在当用户要求从相互关联的各个不同的表中获取信息时建立的,关键字段用于在相互连接的不同表中查找匹配的记录。一个更高级的连接形式称为自连接。这种连接是指一个表被连接到它自己的一个字段,或在不同的纪录中由重复数据的组合字段。数据库中有三种不同类型的关键字:主关键字、组合关键字和外关键字。在表中使用的关键字类型用于描述库表示什么以及在数据库中如何与其它的库建立关系。第五章
系统总体规划
系统功能
1. 可以进行文本操作; 2. 添加一个数据库项目; 3. 删除一个数据库项目; 4. 修改一个数据库项目; 5. 查询信息; 6. 察看课程表。
流程图
第六章
系统具体实现
用户界面的实现 6.1.1 封面
具体实现见 图_6.1.1
图_6.1.1 6.1.2 主界面
具体实现见.图_6.1.2 图_6.1.2
主界面包含三方面的内容,以下一一介绍: 1.记录操作
打开记录操作,进入记录操作菜单项分别由文件、视图及帮助三个选项。1.1文件包括:新建 打开
打开写字板---------如图<6.1.4>(源程序见附录清单6.1)保存 另存 打印 退出
<图6.1.4> 1.2视图包括:状态条 工具栏 背景颜色 显示
课程表---------如图<6.1.5> 文本编辑器
网络浏览 <图6.1.5> 1.3帮助包括:内容 关于帮助 2.记录操作
打开记录操作进入记录操作选项页分别由浏览记录、查找等三个选项组成。2.1浏览记录: 学生学籍库 课程库 成绩库
2.2查找记录 2.3备注 3.系统信息
打开系统信息进入选项页分别由系统信息、信息采集等组成。
6.1.3 帮助系统 具体实现见6.1.3
图6.1.3
数据库的实现
6.2.1学籍数据库
学籍数据库里存储了学生的档案包括:学号、姓名、年龄等 表如<6.2.6>
列名(中文)列名(英文)数据类型宽度小数点位数是否为空姓名Name Date8No学号CodeInteger6No性别SexDate2No年龄AgeDate6No民族NationDate6No政治面貌Visage...Date2...Yes...家庭住址AddressDate10No备注RecordDate15No 表<6.2.6> 学籍模块:
该模块主要完成学生基本信息的录入、删除、更新等功能。在此模块中定义了八个域名来进行学生的信息存储。如果用户修改某一纪录中的某一项,可单添加按钮进行学生记录的编辑,此窗口使用数据窗口的FREEDOM风格(典型的录入界面)。该种风格特点是列标题紧挨着数据列在此窗口还可以增加新学生纪录。
6.2.2成绩数据库
成绩数据库里存储了学生的成绩包括:学号、成绩、等如表<6.2.7 >
列名(中文)列名(英文)数据类型宽度小数点位数是否为空姓名Name Date8No学号CodeInteger6No成绩ScoreDate10No备注RecordDate15No 表<6.2.7> 成绩模块:
该模块主要完成学生成绩的基本信息的录入、删除、更新等功能。在此模块中定义了四个域名来进行学生的信息存储。
6.2.3课程数据库
课程数据库利存储了课程的信息:课程名、作者、出版社等如表<6.2.8>
列名(中文)列名(英文)数据类型宽度小数点位数是否为空课程IDCourseDate8No课程名NameDate15No出版社PublisherDate20No作者ScoreDate18No备注RecordDate15No 表<6.2.8> 课程模块:
该模块主要完成存储课程的所有信息及录入、删除、更新等功能
与VB的连接
Visual Basic提供了与底层数据库系统紧密的连接。Visual Basic 支持不同的关系数据库管理系统并充分发挥每一个数据库的特长。生成独立应用或脱离服务器运行的服务以上的应用,Visual Basic连接数据库的方式有两种: ·通过使用Visual Basic的 DATA控件。
·通过使用由Visual Basic提供的专用的直接与数据库相连的接口 第七章
结束语
经过三个多月的设计和开发,中小学档案管理系统基本开发完毕。其功能基本符合用户需求,能够完成学生学籍的存储和成绩的查询以及各类相关报表的打印。并提供部分系统维护功能,使用户方便进行数据备份和恢复、数据删除。,对于数据的一致性的问题也通过程序进行了有效的解决。
但是由于毕业设计时间较短,所以该系统还有许多不尽如人意的地方,比如联机文档比较少,用户界面不够美观,出错处理不够等多方面问题。这些都有待进一步改善。
致谢
在本次毕业设计中,我从指导老师雷震甲老师身上学到了很多东西。雷老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助,感谢他耐心的辅导。另外,在系统开发过程中雷老师的助手张彦明老师也给于我很大的帮助,帮助解决了不少的难点,使得系统能及时开发完成,还有同组的同学同样给与我不少帮助,这里一并表示感谢。
第八章
主要参考文献
[1] Visual Basic 6.0 使用指南
作者:Bob Reselman , Richard Peasley , Wayne Pruchniak.出版社:电子工业出版社
[2] 中文版Microsoft Office 97 自学通 作者:Ned Snell 出版社:机械工业出版社
[3] Visual Basic 6.0 中文版控件大全 作者:Microsoft 出版社;电子工业出版社
[4] 中文Access 2000 24学时教程
作者:Craig Eddy,Timothy Buchanan 出版社:机械工业出版社
附录程序清单及注释 程序清单6.1 Option Explicit Dim FileName As String '文件名,用于打开、保存文件 Dim UndoString As String '用于 Undo 操作 Dim UndoNew As String '用于 Undo 操作
Private Sub ImgUndoDisable()'禁用“Undo”按钮 UndoString = “" UndoNew = ”“ ImgUndo.Enabled = False ImgUndo.Picture = ImageDisable.ListImages(”Undo“).Picture End Sub
Private Sub ImgUndoEnable()'有效“Undo”按钮
ImgUndo.Enabled = True ImgUndo.Picture = ImageUp.ListImages(”Undo“).Picture End Sub
Private Sub Check_ImgPaste()'设置粘贴按钮
If Len(Clipboard.GetText)> 0 Then ImgPaste.Enabled = True ImgPaste.Picture = ImageUp.ListImages(”Paste“).Picture Else ImgPaste.Enabled = False ImgPaste.Picture = ImageDisable.ListImages(”Paste“).Picture End If End Sub
Private Sub Check_ImgCutCopy()'设置剪切、复制按钮
If Text1.SelLength > 0 Then ImgCut.Enabled = True ImgCut.Picture = ImageUp.ListImages(”Cut“).Picture ImgCopy.Enabled = True ImgCopy.Picture = ImageUp.ListImages(”Copy“).Picture Else ImgCut.Enabled = False ImgCut.Picture = ImageDisable.ListImages(”Cut“).Picture ImgCopy.Enabled = False ImgCopy.Picture = ImageDisable.ListImages(”Copy“).Picture End If End Sub Private Sub BackColor_Click()CommonDialog1.ShowColor Text1.BackColor = CommonDialog1.Color End Sub
Private Sub Box_Click()'显停工具栏
If Box.Checked Then '将停显工具栏
Box.Checked = False CoolBar1.Visible = False Else Box.Checked = True CoolBar1.Visible = True End If
Form_Resize '重新调整控件位置 End Sub
Private Sub Close_Click()Dim FileNum As Integer
If Len(FileName)> 0 Then '有输入文件名
FileNum = FreeFile()'获得可用文件号
Open FileName For Output As FileNum '打开输出文件 '如果无指定文件,则创建新文件 Print #FileNum, Text1.Text '输出文本 Close FileNum '关闭文件 End If
Text1.Text = ”“ FileName = ”“ End Sub
Private Sub ComboSize_Click()Text1.FontSize = Val(ComboSize.Text)End Sub
Private Sub ComboFont_Click()Text1.FontName = ComboFont.Text End Sub
Private Sub Copy_Click()Clipboard.SetText Text1.SelText '复制文本到剪裁板 End Sub
Private Sub Cut_Click()Clipboard.SetText Text1.SelText '复制文本到剪裁板 Text1.SelText = ”“ '清选择的文本 End Sub
Private Sub DataTime_Click()Text1.SelText = Now End Sub
Private Sub Delete_Click()Text1.SelText = ”“ '清选择的文本 End Sub
Private Sub Edit_Click()'当程序显示“编辑”子菜单前,触发该程序 If Text1.SelLength > 0 Then '文本框中有选中的文本 Cut.Enabled = True Copy.Enabled = True Delete.Enabled = True Else Cut.Enabled = False Copy.Enabled = False Delete.Enabled = False End If
If Len(Clipboard.GetText())> 0 Then '剪裁板中有文本数据 Paste.Enabled = True Else '没有可粘贴的文本 Paste.Enabled = False End If End Sub
Private Sub Exit_Click()Unload Me End Sub Private Sub FindText_KeyPress(KeyAscii As Integer)Dim BeginPos As Long
If KeyAscii = 13 Then BeginPos = InStr(1, Text1.Text, FindText.Text, vbTextCompare)If BeginPos > 0 Then Text1.SelStart = BeginPos1 ComboFont.AddItem Screen.Fonts(i)Next i End Sub
Private Sub Form_Resize()Dim TextTop As Long
'修改工具条大小
CoolBar1.Top = Me.ScaleTop ? ?? ??? ?? ??? ?? ? Me.ScaleLeft Text1.Width = Me.ScaleWidth If Me.ScaleHeight > CoolBar1.Height Then Text1.Height = Me.ScaleHeight” + FileName '修改标题显示 End If End Sub
Private Sub Paste_Click()Text1.SelText = Clipboard.GetText End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)Label1 = “工具栏” End Sub
Private Sub Picture1_Resize()If Picture1.Width > Label1.Left Then Label1.Width = Picture1.ScaleWidth" + FileName '修改标题显示 ImgUndoDisable End If End Sub
Private Sub Text1_Change()If Not ImgUndo.Enabled Then '使“Undo”按钮可用 ImgUndoEnable End If UndoString = UndoNew UndoNew = Text1 End Sub
Private Sub Text1_Click()Check_ImgCutCopy End Sub
Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)Check_ImgCutCopy End sub
第三篇:学生档案管理系统
本科生毕业设计
高校数据中心—基于WEB的学生档案管理系统开发
University Data Center — Development of Student File Management System which based on WEB
学生姓名 所在专业 所在班级 申请学位 指导教师 副指导教师 答辩时间
职称 职称
2011 年 6 月 4 日
目录
目 录
设计总说明............................................................................................................................I INTRODUCTION..............................................................................................................II 1 绪论..............................................................................................................................1 1.1 1.2 1.3 1.4 2 立项背景..............................................................................................................1 项目目的和意义..................................................................................................1 国内外现状及其存在的问题..............................................................................2 研究目标..............................................................................................................2
系统开发技术综述......................................................................................................3 2.1.NET技术综述........................................................................................................3 2.2 ADO.NET...................................................................................................................4 2.2.1 ADO.NET概述...................................................................................................4 2.2.2 ADO数据访问接口...........................................................................................5 2.3 关于B/S架构......................................................................................................5 2.3.1 B/S架构简介...................................................................................................5 2.3.2 B/S体系的三层结构.......................................................................................6 需求分析......................................................................................................................7 3.1 3.2 3.3 功能需求分析......................................................................................................7 系统的实现目标..................................................................................................7 可行性分析..........................................................................................................7
经济可行性...................................................................................................8 技术可行性...................................................................................................8 性能需求分析...............................................................................................8 运行需求分析...............................................................................................9 3.3.1 3.3.2 3.4 3.4.1 3.4.2 3.5 4 4.1 4.2 4.4 系统配置需求......................................................................................................8
用例分析..............................................................................................................9 数据流图............................................................................................................11 数据库概念结构设计........................................................................................11 数据库详细实现................................................................................................15
存储过程.....................................................................................................15 触发器.........................................................................................................16
数据库设计................................................................................................................11
4.3 E-R图....................................................................................................................14 4.4.1 4.4.2
目录 系统设计....................................................................................................................18 5.1 5.2 5.3 系统体系结构....................................................................................................18 系统模块划分....................................................................................................18 主要功能模块简介............................................................................................19 登陆界面............................................................................................................21 系统首页............................................................................................................21 用户管理............................................................................................................22 类别管理............................................................................................................22
年级管理.....................................................................................................22 学院管理.....................................................................................................23 专业管理.....................................................................................................23 班级管理.....................................................................................................23 学生档案信息录入.....................................................................................24 学生档案信息管理.....................................................................................24 学生档案信息导入.....................................................................................25 学生信息统计.............................................................................................25 数据库备份.................................................................................................26 数据库还原.................................................................................................27 系统空间占用信息.....................................................................................27 6 系统详细设计与实现................................................................................................21 6.1 6.2 6.3 6.4
6.4.1 6.4.2 6.4.3 6.4.4 6.5 6.5.1 6.5.2 6.5.3 6.5.4 6.6 6.6.1 6.6.2 6.6.3 7 7.1 7.2 学生档案管理....................................................................................................24
系统管理............................................................................................................26
系统测试....................................................................................................................28
测试目标............................................................................................................28 模块测试............................................................................................................28
登陆测试.....................................................................................................28 用户管理测试.............................................................................................29 班级管理测试.............................................................................................29 学生档案管理测试.....................................................................................29 系统管理测试.............................................................................................30 7.2.1 7.2.2 7.2.3 7.2.4 7.2.5 8 总结............................................................................................................................31
鸣 谢.................................................................................................................................32 参考文献.............................................................................................................................33
设计总说明
设计总说明
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。基于 Web 的学生档案管理系统正是作为计算机应用的一部分,使用计算机对学生档案信息进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是教育的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理系统成为必要。
学生档案管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端界面的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库,而对于后者则要求功能完备、易使用、界面美观等特点。工作主要内容包括: 1)设计并实现一个学生档案管理系统。
2)本系统采用的是基于.NET的Web应用框架构架模式,实现了B/S架构。开发工具使用了Microsoft公司的visualstudio2008,利用其提供的各种面向对象的开发工具,并结合SQL Server与IIS,开发出一个动态、交互、高效的Web学生档案管理系统。
3)本系统的用户对象针对不同用户的需求把用户类别划分为学生、教师、系统管理员三种。系统功能主要有用户管理、年级管理、学院(系)管理、专业管理、班级管理以及学生档案管理,同时还实现了学生档案的导入导出、学生人数统计、数据库远程备份还原等功能。
4)系统的主要技术及特点有:系统基于C#.NET语言开发,主要采用ASP.NET技术实现,页面与业务逻辑分离,能够结合多种开发语言开发,可采用可扩展的分层配置基本结构,实现灵活多样的安全配置与设计。系统开发和维护都在服务器端,用户只需要打开浏览器就可以通过网络远程管理、查询学生档案。
目前,该系统在本地测试运行正常,系统功能完善、应用方便灵活,界面友好,达到了预期的目标,提高了档案部门的管理水平。
关键词:学生档案管理系统;管理信息系统;ASP.NET;SQL Server;C#.NET
I
INTRODUCTION
INTRODUCTION As science and technology's improvement, computer science was also getting mature and it's great feature was deeply knowed by people.It had entered human society in fields and playing more and more important role.Student file management system that base on Web is a part of computer application.Management of student file information in computer, make several advantages which manual managing can't compare with.For example: quick search, convenient seeking, high dependability, huge memory space, excellent confidentiality, long service life, low cost etc.These advantages can improve the efficiency of student's file administration greatly, and it is important condition of education on it's way to socialization and regularization and connecting with the world.So, it's necessary to develop such a management of system.Student file management system is a typical management information system(MIS),which mainly includes building up data-base of back-end and developing the application interface of front-end.The former require consistency, integrality and security of data.The later should make the application powerful and easily used.It mainly include: 1)Designed and implemented a student file management system.2)The system used web application framework structuring mode that base on.NET and it realized the B/S structure.VisualStudio2008 of Microsoft was used here.Object-oriented developing tools was joined with SQL and IIS in programing a Dynamic,interactive ,efficient Web students file management system.3)User Object of the system divided user into student, teacher and system administrator for the needs of different user.The main system function includes user management, grade management, college management, major management, class management and student file management.In addition, the system realized import & export of student file, amount of student number and remote & reduction of data base.4)Main technology and characteristic of the system: it's development base on C#.NET language and was realized by ASP.NET.Pageframe and service logic of system was divided so it can be developed by different developing language, and the system used expandable Layered configuration basic structure with flexible security configure and design.System development and maintenance were operated in server so users just need to open the browser of network in distance if they want to manage or search student file.So far, the system's normal running in local test, and it performed perfect system function, flexible and convenient application, friendly interface.These advantages improved the management standard of the archives department.Keywords: Management system of student file;Information management system;ASP.NET;SQL Server;C#.NET
II
2011届本科生毕业设计
高校数据中心--基于WEB的学生档案管理系统开发
信息管理与信息系统,200711622123,刘鸿辉
指导教师:肖洪生 绪论 1.1 立项背景
随着时间的推移,我们已经进入了21世纪,这是一个信息和数字技术迅猛发展的时代,在全球遍布世界的互联网络正在无时无刻、无所不在的渗透到我们的工作、生活和学习中,成为推动社会发展的强大动力。
在此新世纪的开端,作为培养和造就新世纪人才的教育系统和学校,尤其是高等院校,也面临同样的社会环境变化趋势。只有率先领悟和认识到信息技术在教学和管理中的作用,并且用它来解决教学和管理中的问题,才能在全球的教育竞争中立于不败之地。随着互联网的迅猛发展,为校园的信息化建设提供良好的发展平台,而基于B/S的结构的校园信息管理系统具有很强的开放性和扩展性,模块化设计,集中式管理,灵活开放的平台管理,可方便地为校园信息化提供丰富的信息服务,从而实现以信息化的教学管理手段来实现学校日常教学和教务管理。通过校园信息化、数字化建设,利用互联网的特点和B/S架构的优点,通过信息化系统实现高校各个部门之间的信息交流,实现信息和资源的充分利用,提高高校的竞争力。
校园信息化的建设对学校的发展有很大的推动作用,其中学校的档案管理系统是校园信息化建设中的重要一环,负担着为整个学校提供详实准确的学生资料,以及一些其它的档案资料,如何做好档案管理工作,如何更好的为学院的日常工作和教学提供最有力的支持,档案管理系统就是在这样的背景下实施开发的。
1.2 项目目的和意义
学生档案管理系统是一间学校不可缺少的部分,它对于学校的决策者和管理者来说都是至关重要的,它能够为使用者提供丰富的信息和方便快捷的查询手段。但一直以来人们使用传统人工的方式管理文件或纸质档案,这种管理方式存在着许多的缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这给查找、更新和维护都带来了不少的困难。这种管理手段很明显已不能适应时代的发展,因为它浪费了了许多的人力和物力,在当今信息时代,这种传统的管理方法必然会被以计算机为基础的信息管理系统所代替。
众所周知,计算机已经成为我们学习和工作的得力助手。时至今日,计算机的价格已经十分低廉,性能却有了长足的进步。由于计算机可以代替人工进行许多繁杂的劳动,具备节省资源、提高
- 1 -
2011届本科生毕业设计
工作效率、使敏感文档更加安全等特点,它已经被应用于许多领域。因此使用计算机来实现学生档案管理的信息化已经成为当今时代发展的需要。应用计算机进行学生档案管理,归纳起来,主要有以下几点优势:
1)可以方便地存储历届的学生档案,管理更为安全、高效;
2)只需一到两名管理员对学生档案信息进行管理,节省大量人力、财力; 3)可以使用户方便、快速地查询及修改相关学生的档案信息。
1.3 国内外现状及其存在的问题
在管理体制与计算机技术相对落后的管理环境下诞生的传统信息管理软件或者系统,由于当时技术水平和管理水平的限制,目的主要是替代、减轻工作人员的劳动强度,提高录入、保存信息的质量,促进档案信息管理工作的规范化,提高管理水平与工作效率等。可是当年开发的系统多数都是基于C/S模式的,只能够在存档方面操作性强,只是单方面的管理系统而已。
新管理时代的到来和计算机技术的高速发展,对系统各方面的要求都与日俱增,不论是安全还是技术,抑或是其他方面的要求都是越来越高。现在的管理系统不仅是要求能够替代、减轻工作人员的劳动强度,提高录入速度、保存信息的质量,这么简单而已,还要求对信息的更新、对档案的规范、对管理操作的流程等都要有技术上的提高,安全上的升级,更要求交互性的增强,比如远程录入、查询等,在基于C/S模式的学生档案管理系统中都不能简单实现。
1.4 研究目标
实现一个基于WEB的学生档案管理系统,促进学生档案管理工作的规范化,提高工作效率;降低学生档案管理维护费用,提高行政工作效率,为学校领导决策提供支持,该系统的设计目标应尽量达到人力与设备的节省,并且提高处理数据的速度。并在系统开发过程中,提高自己对ASP.NET、SQL Server等前沿开发技术的理解、认识,进一步学习和加强自身在管理信息系统开发上的知识和实践经验。
- 2 -
2011届本科生毕业设计 系统开发技术综述 2.1.NET技术综述
.NET框架是微软公司全新的开发工具,Web应用程序和传统应用程序的开发者都能用它更高效、更灵活地开发应用程序。.NET框架是.NET平台的基础架构,其强大功能来自于公共语言运行环境和类库紧密结合在一起,提供了不同系统之间交叉与综合的解决方案和服务。.NET框架创造了一个完全可操控的、安全的和特性丰富的应用执行环境,这不但使得应用程序的开发与发布更简单,并且成就了众多语言间的无缝集成。.NET框架由以下三个主要部分组成:
1)公共语言运行时(CLR:Common Language Runtime)公共语言运行时在组件的开发及运行过程中,扮演着非常重要的角色。在组件运行过程中,运行时负责管理内存分配、启动或删除线程和进程、实施安全策略、同时满足当前组件对其他组件的需求。.NET框架的关键作用在于它提供了一个跨编程语言的统一编程环境。
2)统一的编程类
.NET框架为开发人员提供了一个统一、面向对象、层次化、可扩展的类库集(API)。现今,C开发人员使用的是Microsoft基类库,Java开发人员使用的是Windows基类库,而Visual Basic用户使用的又是Visual Basic API集。而.NET框架统一了微软当前的各种不同的框架。这样,开发人员无需学习多种框架就能顺利编程。而且,通过创建跨编程语言的公共API集,.NET框架可实现跨语言继承、错误处理和调试。实际上,从Perl到C++的所有编程语言,都是相互等同的,开发人员可以自由选择理想的编程语言。
3)活动服务器页面(ASP.NET)ASP.NET在原有ASP上添加了许多新特性,并增强了原有的功能。ASP.NET并非仅是ASP的补充。它建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的web应用程序。与以前的Web开发模型相比,它具有多个重要的优点:
a)增强的性能。ASP.NET是在服务器上运行的编译好的公共语言运行库代码。与被解释的不同,ASP.NET可利用早期绑定、实时编译、本机优化和缓存服务。这相当于在编写代码之前就显著提供了性能。
b)简易性。ASP.NET使执行常见任务变得容易,从简单的窗体提交和客户端身份验证到部署和站点配置。另外,公共语言运行库利用托管代码服务(如自动引用计数和垃圾回收)简化了开发。
c)可管理性。ASP.NET采用基于文本的分层配置系统,简化了将设置应用于服务器环境和Web应用程序。由于配置信息是以纯文本形式存储的,因此可以在没有本地管理工具帮助的情况下应用新设置。
d)安全性。借助内置的Windows身份验证和基于每个应用程序的配置,可以保证应用程序的安全。
- 3 -
2011届本科生毕业设计
下面给出.NET的体系结构,如图2-1所示。
图2-1.NET的体系结构
2.2 2.2.1 ADO.NET ADO.NET概述
ADO.NET在改进以前ADO的基础上,提供了很多用于以创建数据为中心的应用程序的特性。ADO.NET引入的新特性:对XML的充分支持、新数据对象的引入、语言无关的数据访问、使用和CLR一致的类型。
1)互操作性
互操作性是ADO.NET提供的关键特性之一。由于ADO.NET使用XML交换数据,因此任何支持XML的组件都可以从ADO.NET接收数据。这样就可以在ADO.NET和运行任何平台的应用程序之间传输数据,以支持跨平台应用。而ADO也可以通过使用COM封送处理在应用程序之间传输断开连接的数据集,这就存在数据类型转换的问题,同时COM组件也无法通过防火墙。而XML形式的Dataset组件却可以直接通过防火墙。
2)可扩展性
使用ADO.NET创建的应用程序比ADO创建的应用程序更易于管理和缩放。ADO.NET创建的应用程序使用XML在层之间传输数据,这样就可以很轻松地在已经部署的应用程序中增加层,并实现与新层中的对象无缝地交换数据。而ADO的使用数据集交换数据,要在已有的应用程序结构中增加中间层,就必须改变应用程序,无法实现无缝数据共享。
3)不存在数据类型转换
ADO.NET使用XML交换数据,不存在数据类型转换的需求,可以极大地提高应用程序的性能;而ADO使用COM组件传送数据,就需要进行类型转换,这种类型转换大大降低了应用程序的性能。
- 4 -
2011届本科生毕业设计
2.2.2 ADO数据访问接口
ADO.NET提供了对Microsoft SQL Server等数据源的一致访问。数据库使用者可以使用ADO.NET来连接到这些数据源,并检索、操作和更新数据。
下面给出ADO.NET的关系图,如图2-2所示。
图2-2 ADO.NET关系图
ADO.NET提供了对Microsoft SQL Server等数据源的一致访问。数据库使用者可以使用ADO.NET来连接到这些数据源,并检索、操作和更新数据。ADO.NET有两个核心组件:DataSet和.NET数据提供程序,其中.NET数据提供程序包括:Connection、Command、DataReader和DataAdapter对象。DataSet设计目的是为了实现独立于任何数据源的数据访问,可以用于多种不同的数据源,可以用于XML数据,或用于管理应用程序本地的数据。ADO.NET结构的另一个核心元素是.NET数据提供程序,设计目的是为了实现数据操作和对数据的快速、只读访问。Connection对象提供与数据源的连接。Command对象用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令。
DataReader从数据源中提供高性能的数据流,DataAdapter提供连接DataSet对象和数据源的桥梁。DataAdapter使用Command对象在数据源中执行SQL命令,以便将数据加载到DataSet中,并使对DataSet中数据的更改与数据源保持一致。
2.3 2.3.1 关于B/S架构 B/S架构简介
目前,网络应用软件运行的模式主要有两类:Client/Server 模式和 Browser/Web Server 模式。客户/服务器(C/S)模式主要的缺点是维护、升级较麻烦,浏览器/服务器模式(B/S)是近几年伴随 Internet 迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是网站服务器(Web Server),而 Web Server与数据库和应用服务器的紧密结合,使得这种模
- 5 -
2011届本科生毕业设计
式的应用范围不断扩大,它已不仅仅用于网上查询,有很多部门的业务系统、企业的 MIS系统纷纷采用这种模式。它的主要优点是集中化管理和维护,便于扩充应用、升级维护简便;而客户端的免安装和零维护的特点,极大地降低了日后的维护成本。利用 ASP.NET 技术是开发 B/S 模式软件最方便、最简单的方法。企业使用的各个管理系统的功能将需要不断的扩充和更新,数据库的数据表及其结构也随之需要进行更新,软件也必将不断地更新;同时软件产品本身就要经过一个不断自我完善的过程。基于上述考虑,用 Browser/Web模式来设计管理系统比较合适,服务器端采用 SQL Server 数据库系统和 ASP.NET 组件来构成管理系统的应用服务系统;客户端采用浏览器来完成管理的各项记录和查询的操作,同时可进行远程系统维护和管理。
2.3.2 B/S体系的三层结构
B/S结构是真正的三层结构,它以访问 WEB 数据库为中心,HTTP 为传输协议,客户端通过浏览器(Browser)访问 WEB 服务器和与其相连的后台数据库,我们称之为 B/S(Browser/Server)模式,其三层结构组成如图2-3所示。
客户端WEB服务器客户端图2-3 B/S三层结构图
后台数据库 从左到右,分为三个层次:
第一层是客户端即浏览器,主要完成客户和后台的交互及最终查询结果的输出功能。在客户端向指定的 Web 服务器提出服务器请求,Web 服务器用 HTTP 协议把所需文件资料传给用户,客户端接受并显示在 www.xiexiebang.computerLevel FirstLanguage SecondLanguage
varchar(20)varchar(50)varchar(20)varchar(50)char(10)varchar(50)varchar(20)varchar(20)varchar(20)tinyint varchar(50)varchar(50)varchar(20)varchar(20)varchar(20)varchar(50)varchar(50)varchar varchar(50)varchar(50)varchar(50)varchar(50)varchar(50)varchar(50)varchar(50)varchar(50)varchar(50)varchar(50)varchar(50)
√ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √
家庭出身 户籍所在地 籍贯 家庭住址 邮编 健康状况 身高 视力 体重 婚姻情况 就读院校 学历 学制 宿舍号 班主任 职务 生源所在地 培养类别 入学时间 毕业时间 毕业证书编号 入团情况 入团介绍人 入党情况 入党介绍人 第二学历 计算机水平第一外语 第二外语
4.3 E-R图
E-R图是描述概念数据模型的主要工具,E-R图也称为实体-联系模型,由实体,属性,联系三个要素构成。根据系统功能分析后,设计出满足各实体间相互关系的内容就可以用E-R图表达出来,部分实体E-R图如图4-3所示。
- 14 -
2011届本科生毕业设计
年级号年级名学院号学院名称年级1包含n学院1包含1专业n包含个人照片n专业名称专业号专业简介社会关系成绩信息家庭关系班级1包含n学生信息性别班级号班级名称班级简介学生号姓名政治面貌出生日期民族健康状况籍贯 图4-3 系统E-R图
4.4 4.4.1 数据库详细实现 存储过程
存储过程只在创建时进行编译,以后每次执行存储过程都不需再重新编译;使用存储过程一方面减少了浏览器与服务器间的交互,减少了网络传输,另一方面又省去了DBMS对SQL语句的语法检查、查询优化和编译等过程,从而可以明显改善系统的性能。我们在设计系统时,对于复杂的查询、汇总统计等功能采用存储过程实现,而不是由Web服务器或客户机来执行SQL操作。这样,既降低了Web服务器或客户机的负担,又提高了模块的独立性,优化了系统的性能。
1)统计学生人数存储过程
该存储过程的作用是根据输入的年级,统计出总人数,代码如下: create proc FileCount(@StuYear varchar(10))as select StuYear as 年级,StuCollege as 学院,专业数=count(distinct StuProfession),班级数=count(distinct StuClass),人数=count(*)from FileView where StuYear=@StuYear group by StuYear,StuCollege order by StuYear 2)统计年龄分段人数存储过程
该存储过程的作用是统计出各年龄段的人数,代码如下: Create proc AgeCount
- 15 -
2011届本科生毕业设计
As begin select sum(case when cast(datediff(yy,birth,getdate())as nvarchar)<18 then 1 else 0 end)as '18岁以下',sum(case when cast(datediff(yy,birth,getdate())as nvarchar)between 19 and 21 then 1 else 0 end)as '19--21岁',sum(case when cast(datediff(yy,birth,getdate())as nvarchar)between 22 and 24 then 1 else 0 end)as '22--24岁',sum(case when cast(datediff(yy,birth,getdate())as nvarchar)between 25 and 27 then 1 else 0 end)as '25--27岁',sum(case when cast(datediff(yy,birth,getdate())as nvarchar)>28 then 1 else 0 end)as '28岁以上' from StuFile end 4.4.2 触发器
触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作(insert,delete,update)时就会激活它执行。
1)登陆日志触发器
该触发器的功能是当用户登陆系统时,自动往日志表里添加登陆名、登陆时间和登陆IP地址,详细代码如下:
create trigger login_tri on dbo.UserInfo for update as insert into LoginLog(userid,logindate,loginip)select U_ID,U_lastdate,U_lastIP from inserted 2)禁止修改登陆日志触发器
该触发器的功能是禁止用户修改日志表,详细代码如下: create trigger tri1 on dbo.LoginLog for update as
raiserror('不能修改日志',16,10)
rollback transaction 3)自动添加学生账号触发器
该触发器的功能是当添加学生档案时,自动添加该学生的系统账号,其中登陆账号为学号,登陆密码为学生的身份证号,详细代码如下:
- 16 -
2011届本科生毕业设计
create trigger insert_user on StuFile for insert as begin declare @userID varchar(20),@userPass varchar(20),@userName varchar(20)select @userID = inserted.StuNo ,@userPass = inserted.IdentityID,@userName=inserted.StuName from inserted insert into UserInfo(U_ID,U_pass,U_name,U_power)values(@userID,@userPass,@userName,'学生')end 4)级联删除账号触发器
该触发器的功能是当删除某一学生的档案信息时,自动删除该学生的登陆账号,详细代码如下: create trigger delete_user on dbo.StuFile for delete as begin delete UserInfo from UserInfo,deleted where UserInfo.U_ID=deleted.StuNo end
- 17 -
2011届本科生毕业设计 系统设计 5.1 系统体系结构
学生档案管理系统采用的是三层体系结构,就是将系统的总体结构分为三层:表示层、业务逻辑层和数据层,将此三层相分离。因此可以对系统进行并行的开发和维护,提高开发和维护的效率,也降低了开发和维护的成本。
学生档案管理系统的体系结构如图5-1所示。
图5-1 学生档案管理系统体系结构图
5.2 系统模块划分
本系统为一个基于WEB平台下的学生档案管理系统,主要有用户管理模块、权限管理模块、年级管理模块、学院管理模块、专业管理模块、班级管理模块、学生档案管理模块、系统管理模块等几部分功能,其基本功能模块图5-2所示。
学生档案管理系统用户管理权 限 管 理年 级 管 理学 院 管 理专业管理班 级 管 理学 生 档 案 管 理系 统 管 理添加用户编辑用户删除用户编辑权限添加年级编辑年级删除年级添加学院编辑学院删除学院添加专业编辑专业删除专业添加班级编辑班级删除班级添加学生信息编辑学生信息删除学生信息导入学生信息导出学生信息学生人数统计数据库备份数据库还原 图5-2 系统基本模块图
本系统根据学校管理需要,共分为三种级别的用户,分别为:学生用户、教师用户和管理员用户。不同用户对应着不同的操作权限,其具体操作权限如下述。
1)学生用户:供在校学生使用。学生用户登录后,可以查看有关学生本人的信息,其访问操作包括修改密码、一些简单的查询等。具体操作权限如下: a)学生本人的档案信息查看
- 18 -
2011届本科生毕业设计
b)学生本人档案导出 c)学校相关信息的查看
2)教师用户:供本校教师使用。其操作权限如下:
a)修改个人密码
b)查询和查看学生档案信息 c)学生档案信息的导出 d)查看学生的统计信息
3)管理员用户:管理员用户具有该系统的所有权限,包括数据库的备份、还原等,具体权限如下:
a)用户的添加、删除、修改、查询和导出 b)用户的权限设置
c)年级信息的添加、删除、修改 d)学院信息的添加、删除、修改 e)专业信息的添加、删除、修改 f)班级信息的添加、删除、修改
g)学生档案信息的的添加、删除、修改、查询、导入、导出 h)数据库的远程备份、还原
5.3 主要功能模块简介
1)登陆验证模块
用户身份验证是实现系统安全性和保证系统稳定性的有效措施之一,用户身份验证可以防止非授权用户使用与入侵,同时也可以维护合法用户的权益,本系统采用用户登录方式限制对系统资源随意访问。在该模块中,学生的账号是由触发器自动添加的,对于其他用户,则必须由管理员添加用户信息后方可使用本系统。2)用户管理模块
用户管理模块主要是实现对用户的添加、删除、修改和查询,同时还可以根据需要导出相关用户的信息,如账号、密码等。3)权限管理模块
权限管理模块主要是实现对不同类别用户的权限设置,可对不同类别的用户赋予不同的权限,如学生类别的初始权限就只有修改密码、查看个人信息和导出个人信息,管理员可对其权限进行更改。
4)年级管理模块
年级管理模块主要是实现对年级信息的添加、删除和修改。5)学院管理模块
学院管理模块主要是实现对学院信息的添加、删除和修改。
- 19 -
2011届本科生毕业设计
6)专业管理模块
专业管理模块主要是实现对专业信息的添加、删除、修改和查询,在添加专业信息时必须选择学院,否则无法添加。7)班级管理模块
班级管理模块主要是实现对班级信息的添加、删除、修改和查询,在添加班级信息时必须选择年级、学院和专业,否则无法添加,并且不能添加相同名字的班级。8)学生档案管理模块
学生档案管理模块主要是实现对学生档案信息的录入、删除、修改、查询和EXCEL表格的导入,Word文档的导出等功能,该模块是本系统的核心模块,包含了丰富的学生个人信息,同时在此模块中还实现了复杂查询和模糊查询,可对学生信息进行不同条件的组合查询,并可对查询结果自定义格式查看和导出。此外,该模块还包含学生人数的统计,目前为止已实现的统计有:统计每个年级的人数分布、性别人数统计、政治面貌人数统计、年龄分段人数统计。9)系统管理模块
系统管理模块主要是实现对系统数据库的远程备份和还原,通过此模块可远程备份数据库,备份后还可将备份文件下载到本地,同时下载后可选择是否删除。还原功能则分为普通还原和强制还原,强制还原是强制关闭该数据库的进程,把数据库恢复到备份前状态。
- 20 -
2011届本科生毕业设计 系统详细设计与实现 6.1 登陆界面
系统的登陆界面在系统设计中起着举足轻重的作用,一个设计良好的登陆界面可防止未授权用户非法使用系统,避免个人信息的泄露等。在本系统的登陆界面中,实现了验证码技术,以防止用户信息被暴力破解,用户在输入正确的登陆信息后方可使用本系统,在登陆成功后,会自动往登陆日志表中添加本次登陆用户的用户名、登陆时间、登陆IP,以备管理员查询,而其它界面则采用了Sesssion参数来判断用户是否登陆,登陆界面如图6-1所示。
图6-1 登陆界面
登陆验证的关键代码请见附录。
6.2 系统首页
系统首页主要显示当前登陆用户的登陆信息,如登陆用户的登陆时间、登陆IP地址、累计登陆次数等信息,实现界面如图6-2所示。
图6-2 系统首页
- 21 -
2011届本科生毕业设计
6.3 用户管理
用户管理功能主要包括修改密码、添加用户、查询用户信息、导出用户信息等,实现界面如图6-3到图6-6所示。
图6-3 修改密码界面
图6-4添加用户界面
图6-5 用户管理界面
图6-6 权限管理界面
用户管理的关键代码请见附录。
6.4 类别管理
类别管理主要包括年级管理、学院管理、专业管理、班级管理等,在这些界面的实现中,使用了.NET 2.0新增的服务器控件—GridView。GridView是DataGrid的后继控件,GridView和DataGrid功能相似,都是在Web页面中显示数据源中的数据,将数据源中的一行数据,也就是一条记录,显示为在Web页面上输出表格中的一行。但GridViewd在功能上更加丰富,因为其提供了智能标记面板,更加易用、方便,常用的排序、分页、更新、删除等操作更是可以零代码实现。并且GridView还具有PagerTemplate属性,可以自定义用户导航页面,也就是说对分页的控制更加随心所欲,节省了项目开发的大量时间。
6.4.1 年级管理
年级管理包括年级信息的添加和管理,实现界面如图6-7和图6-8所示。
- 22 -
2011届本科生毕业设计
图6-7年级添加界面
图6-8 年级管理界面
6.4.2 学院管理
学院管理包括学院信息的添加和管理,实现界面如图6-9和图6-10所示。
图6-9 学院添加界面
图6-10 学院管理界面
6.4.3 专业管理
专业管理包括专业信息的添加、管理和查询,实现界面如图6-11和图6-12所示。
图6-11 专业添加界面
图6-12 专业管理界面
6.4.4 班级管理
班级管理包括班级信息的添加、查询和管理,实现界面如图6-13和图6-14所示。
- 23 -
2011届本科生毕业设计
图6-13 班级添加界面
图6-14 班级管理界面
班级管理的关键代码请见附录。
6.5 6.5.1 学生档案管理 学生档案信息录入
学生档案包含了丰富的学生个人信息,为方便浏览和录入信息,该界面使用了网页选项卡技术,把学生的信息分为基本资料
一、基本资料
二、测评信息、阅历及关系、其它情况、学籍变动、备注等七大类。因学生档案信息的严谨性,在此界面的设计中,大量使用了正则表达式来限制用户的输入,以防止错误信息的录入,如身份证号只允许输入15位或18位数字、日期必须是正确的时间格式、联系电话只能输入7位或11位数字等。同时因本系统包含大量的学生信息,为防止照片上传时因文件名相同而被覆盖,所以在此处实现了照片文件上传自动命名的功能。实现界面如图6-15所示。
图6-15 学生信息录入界面
6.5.2 学生档案信息管理
此页面主要负责对学生档案信息的管理,可使用多达10个查询条件组合起来进行学生查询,并可对查询结果自定义格式查看,选择自己需要显示的信息,通过导出功能还可把查询结果导出为word文档。
- 24 -
2011届本科生毕业设计
实现界面如图6-16所示。
图6-16 学生档案信息管理界面
6.5.3 学生档案信息导入
通过此界面可把EXCEL表格里面的学生数据导入到数据库里,实现界面如图6-17所示。
图6-17 学生档案信息导入界面
学生档案信息导入关键代码请见代码。
6.5.4 学生信息统计
本界面主要是实现对学生人数、类别的统计,因时间关系,只实现了年级人数统计、性别人数统计、政治面貌分布人数统计和年龄分段人数统计,其中类别人数统计功能中使用了第三方服务器控件DotNetCharting,DotNetCharting是一个.NET图表控件,对中文的支持非常好,而且操作方便,开发快速,实现效果如图6-18和图6-19所示。
- 25 -
2011届本科生毕业设计
图6-18 年级人数统计界面
图6-19 类别人数统计界面
学生人数统计关键代码请见附录。
6.6 系统管理
数据库作为信息系统的核心,在系统的运行中担当着重要的角色,尽管数据库系统中采取了各种保护措施来防止数据库的安全性和完整性被破坏,保证并发事务的正确执行,但是计算机系统中硬件的故障、软件的错误、操作员的失误以及恶意的破坏仍是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失。因此在系统实现中,数据库的备份和恢复功能显得尤为重要,系统管理模块正是实现了这两个功能,详细内容如下所示。
6.6.1 数据库备份
数据库备份界面主要实现了数据库备份功能,当备份成功后可选择是否把备份文件下载到本机,下载后可删除服务器上的备份文件。实现界面如图6-20所示。
- 26 -
2011届本科生毕业设计
图6-20 数据库备份
数据库备份关键代码请见附录。
6.6.2 数据库还原
数据库还原界面主要实现了数据库还原功能,备份文件可输入服务器上的备份文件名或选择本机上的备份文件,还原方式分普通还原和强制还原两种,当选择强制还原时,会强制中断连接进程,还原数据库。实现界面如图6-21所示。
图6-21 数据库还原界面
数据库还原关键代码请见附录。
6.6.3 系统空间占用信息
通过此界面可查看本系统的空间占用信息,实现界面如图6-22所示。
- 27 -
2011届本科生毕业设计
图6-22 系统空间占用界面 系统测试
7.1 测试目标
系统测试是系统开发周期中一个十分重要而漫长的阶段。其重要性体现在它是保证系统质量与可靠性的最后关口,是对整个系统开发过程包括系统分析,系统设计和系统实现的最终审查。系统测试的对象不仅仅是源程序,而应是整个系统,它把需求分析,概要设计,详细设计以及程序设计各阶段的开发文档,包括需求规格说明,概要设计说明,详细设计说明以及源程序,都作为测试的对象。测试的目的就是发现系统的错误。
7.2 7.2.1 模块测试 登陆测试
打开系统登录页面login.aspx,出现界面如图6-1。输入正确的用户名、密码和验证码,并选择相应的用户类别后文方可登录成功,跳转到系统首页,这样就达到了预期的登陆效果。该模块的测试结果如表7-1所示。
表7-1 登陆模块测试结果
测试操作
不输入任何信息 输入正确的用户信息
输入错误验证码,其他正确 使用学生账号登陆,选择身份“管理员”,其它信息正确 输入正确用户错误密码,其它信息正确
测试取值 无
admin、admin admin、admin 200711622123、123456
admin、1234
系统响应 显示错误提示信息 进入系统首页 显示错误提示信息 弹出错误提示框 弹出错误提示框
错误或提示
“请输入账号”,“请输入密码” 无
“验证码错误!”
“登陆信息错误,请确认!” “登陆信息错误,请确认!”
- 28 -
2011届本科生毕业设计
7.2.2 用户管理测试
登陆成功后,点击左侧导航的修改密码,进入密码修改界面。输入正确的旧密码和连续两次输入新密码后,即可更改当前登陆用户的登陆密码。该页面的测试结果如表7-2所示。用户管理界面的其它功能和学生档案管理类似,经测试运行正常,这里不再介绍,详细内容请见学生档案管理测试。
表7-2 密码修改界面测试结果
测试操作
不输入任何信息 输入错误的旧密码 旧密码为空,其它正确
旧密码正确,新密码和确认密码不一致 输入正确信息
测试取值 无
admin11
admin、admin admin、33、44
admin、1234、1234
系统响应 显示错误提示信息 显示错误提示信息 弹出错误提示框 显示错误提示信息 跳转到操作成功页面
错误或提示 “密码不能为空” “密码错误” “请输入旧密码” “密码不一致” 无
7.2.3 班级管理测试
登陆成功后,点击左侧导航的班级管理,出现界面如图6-14。点击“添加班级”,进入班级添加界面,如图6-13所示。选择该班级所在年级、学院、专业后,输入班级名称和备注说明,若已存在同名班级,则显示错误提示信息。添加成功后跳转到操作成功提示页面,如图7-1所示,显示该页面两秒后则会自动跳转到班级管理页面,如图6-13所示。在该页面可对班级信息进行查询、编辑和删除,点击“删除”将删除该班级的信息,点击“取消”取消删除,点击“确定”,成功删除数据库中的该条记录。如图7-2所示。
图7-1
图7-2
年级管理、学院管理、专业管理等模块与班级管理模块类似,经测试运行正常,这里不再进行叙述。
7.2.4 学生档案管理测试
登陆成功后,点击左侧导航的录入学生信息,出现界面如图6-15,在该界面按照要求正确填入学生信息后,点击右侧确定按钮,若存在相同学号的学生信息,则弹出提示框,如图7-3所示,若添加成功,则跳转到操作成功页面,并且两秒后会自动跳转回学生档案管理页面如图6-16。在该界面可对学生档案信息进行管理,输入查询条件后,下方的GridView显示出正确的查询结果。点击“自
- 29 -
2011届本科生毕业设计
定义格式查看”,可选择需要显示的信息。点击“导出”,则会把当前GridView内显示的信息导出到Word文档中,并弹出文件下载对话框,如图7-4所示。
图7-3 提示框
图7-4 下载对话框
7.2.5 系统管理测试
登陆成功后,点击左侧导航的数据库备份,进入数据库备份界面,如图6-20所示。输入存放备份文件的目录名和备份文件名,若不输入则默认为“DataBackup”和“当前日期_bak”,点击开始备份,备份成功后会显示如图7-5所示界面。点击下载备份文件,则会弹出下载对话框,如图7-6所示。点击删除备份文件,会弹出删除成功的提示框,如图7-7所示。
图7-5 数据库备份界面
图7-6 下载对话框
图7-7 提示框
点击左侧导航的数据库还原,进入数据库还原界面,如图6-21所示。按要求输入备份文件目录和文件名或选择本地备份文件,点击开始还原,还原成功后弹出提示框,如图7-8所示。若同时输
- 30 -
2011届本科生毕业设计
入文件名和选择本地备份文件,则会弹出提示框,如图7-9所示。
图7-8
图7-9
再对本系统其它功能模块进行详细测试,系统的各个能功模块界面、功能均运行正常,程序处理正确,达到了理想的效果。总结
经过了一个多月的学习和努力,我完成了基于WEB的学生档案管理系统的毕业设计。系统的详细设计根据系统分析阶段的结论将系统具体化,并完成了各个模块的功能,直到最后形成了一个完整的可行性高的学生档案管理系统。
本系统使用C#.NET作为开发语言,在开发的过程中采用Microsoft Visual Studio 2008作为开发工具,并选用了Microsoft SQL Server 2005 数据库系统以实现数据的存储,同时还使用了第三方服务器控件,如DotNetCharting。页面的设计则使用了Adobe Dreamweaver CS5 进行设计,同时使用了Adobe Photoshop CS5、光影魔术手等图像处理工具进行图像的处理和美化,最后设计出一个较为美观和人性化的系统。由于时间的限制和本人编程技术的不足,此系统的功能还有待于进一步的加强和完善。例如权限管理功能,原来的设想是把权限细分到每个用户上的,但因时间和技术关系,只能细分到用户类别。
通过此次毕业设计,让我知道了系统开发的艰辛与快乐,在设计的过程中,有时为了一个看起来很简单的功能,也要占用大量时间,有时还未必能彻底解决问题。所以在编写程序的过程中一定要有耐心和细心,否则一时的粗心也可能引发一大堆的错误。同时本次设计也让我知道了自己知识、能力、经验的缺乏,还有许多知识需要去了解和学习,从而提高自己的个人能力。ASP.NET的学习中是从无到有,从生疏到熟悉,让人回味无穷的一个过程,不但可以解决自己的问题,还可以帮助同学解决他们的难题,是一个很好的学习过程。
总的来说,本学生档案管理系统基本上可以满足学生档案管理的需要。在以后的日子里,本系统将会得到进一步的提高和完善。
- 31 -
鸣
谢
鸣 谢
首先感谢肖洪生老师给予了精心的指导和热情的帮助,然后就是感谢我的同学们的大力帮助!其次感谢家人对我在设计期间的关爱和照顾。在课题设计的构思 阶段和系统的设计阶段,导师提出许多宝贵的设计意见,在最后的论文修改阶段,老师在百忙之中抽出时间帮我指出和解决存在的问题,提供了很多的帮助,最后才得以顺利的完成论文的写作。在短暂的几个月的相处时间里,老师渊博的知识、敏锐的思路和实事求是的工作作风给我留下了深刻的印象,这将使得我终身受益,在此谨向老师表示衷心的感谢和崇高的敬意。同时也感谢07信管的同学们在这次毕业设计中对我的支持和帮助。另外,我要衷心感谢信息学院全体老师对我的教诲,他们不仅使我的知识、能力得到提高,更重要的是教会了我怎样提高自己的自学能力,怎样去适应社会,适应工作。还有网上众多不知名的专家和朋友,我要对他们说声谢谢,他们在网络上的文章帮我解决了许多困难,感谢所有帮助我的老师、朋友及家人。
- 32 -
参考文献
参考文献
[1]王辉,黄红超.ASP.NET实用教程[M].北京:清华大学出版社,2005.12.[2]求是科技.ASP.NET信息管理系统开发实例导航[M].北京:人民邮电出版社,2005.4.[3]金明花,李冉,邹婷.Flash 8从入门到精通[M].北京:中国青年出版社,2006.5.[4]Richard Leinecker.ASP.NET 实用全书[M].北京:电子工业出版社,2003.1.[5]张海藩.软件工程导论[M].北京:清华大学出版社,2008.2.[6]王珊方,萨师煊.数据库系统概论[M].北京:高等教育出版社,2008.4.[7]赵致格.数据库系统与应用(SQL Server)[M].北京:清华大学出版社,2005.9.[8]王志伟,宋晓鹏.突破ASP.NET 编程实例五十讲[M].北京:中国水利水电出版社,2002.5.[9] 杨天奇,王文,何朋,李会锋.ASP.NET网络编程技术[M].北京:机械工业出版社,2007.[10]微软公司.Microsoft ASP.NET标准教程[M].北京: 中国劳动社会保障出版社,2003.5.[11]孙良军.Flash 8入门与实例演练[M].北京:中国青年出版社,2006.3.[12]Louis Davidson.Professional SQL Server 2000 Database Design[M],o'reilly ,2003.- 33 -
附
录
附 录
(一)登陆验证的关键代码。String code = CodeTest.Code;
if(!this.tb_code.Text.Trim().Equals(code))
{Label1.Text = “验证码错误!”;}
else
{
String id = tb_id.Text.ToString();
String pass = tb_pass.Text.ToString();
string power = dd_power.SelectedValue.ToString();
StringBuilder sqlstr = new StringBuilder();
sqlstr.Append(“select * from UserInfo”);
sqlstr.Append(“ where U_ID=@id and U_pass=@pass and U_power=@power”);
SqlParameter[] parameters = { new SqlParameter(“@id”, SqlDbType.NVarChar, 20), new SqlParameter(“@pass”, SqlDbType.NVarChar, 20), new SqlParameter(“@power”, SqlDbType.NVarChar, 20)};
parameters[0].Value = id;
parameters[1].Value = pass;
parameters[2].Value = power;
DataSet ds = Query(sqlstr.ToString(), parameters);
DataTable dt = new DataTable();
dt = ds.Tables[0];
if(ds.Tables[0].Rows.Count!= 0)
{
String logindate = DateTime.Now.ToString(“yyyy-MM-dd HH:mm:ss”);
String loginip = Request.UserHostAddress;
Session[“id”] = dt.Rows[0][“U_ID”].ToString();
Session[“name”] = dt.Rows[0][“U_name”].ToString();
Session[“pass”] = dt.Rows[0][“U_pass”].ToString();
Session[“power”] = dt.Rows[0][“U_power”].ToString();
Session[“lastdate”] = dt.Rows[0][“U_lastdate”].ToString();
Session[“loads”] = Convert.ToInt16(dt.Rows[0][“U_loads”].ToString())+1;
Session[“lastip”] = dt.Rows[0][“U_lastIP”].ToString();
Session[“logindate”] = logindate;
Session[“loginip”] = loginip;
string strsql = @“update UserInfo set U_lastdate='” + logindate + “',U_lastIP='” +loginip+“', U_loads=U_loads+1 where U_ID='” + id + “'”;
using(SqlConnection conn = new SqlConnection(connStr))
{
using(SqlCommand comm = new SqlCommand(strsql, conn))
{
conn.Open();
int row = comm.ExecuteNonQuery();
- 34 -
附
录
}
if(power == “管理员” | power == “教师”)
Response.Redirect(“Main.aspx”);
else if(power==“学生”)
Response.Redirect(“user/Main.aspx”);
}
}
else
{ShowMessageBox(“登陆信息错误,请确认!”);}
}(二)用户管理关键代码
protected void Button1_Click(object sender, EventArgs e)
{
string q1 = DropDownList2.SelectedValue.ToString();
//用户类别
string q2 = DropDownList3.SelectedValue.ToString();
//查询方式
string qtext = TextBox4.Text.ToString().Trim();
string sqlstr = “select * from UserInfo where”;
if(q1 == “请选择...” & q2 == “请选择...” & qtext == “")
{
sqlstr = ”select * from UserInfo “ + ”order by U_Power,ID“;
SqlDataSource1.SelectCommand = sqlstr;
}
else
{
if(q1!=”请选择...“)
sqlstr = sqlstr + ” U_power='“ + q1 + ”' and “;
if(q2 == ”账号“ & qtext!= ”“)
sqlstr = sqlstr + ”U_ID like '%“ + qtext + ”%' and “;
if(q2==”姓名“& qtext!=”“)
sqlstr = sqlstr + ”U_name like '%“ + qtext + ”%' and “;
if(q2==”请选择...“& qtext!=”“)
sqlstr = sqlstr + ”U_name like '%“ + qtext + ”%' or U_ID like '%“ + qtext + ”%' and “;
sqlstr = sqlstr + ”1=1“;
SqlDataSource1.SelectCommand = sqlstr;
}
if(GridView1.Rows.Count!= 0)
{
Session[”SqlDataSouce1Command“] = SqlDataSource1.SelectCommand;
}
}(三)班级管理关键代码
protected void Button1_Click(object sender, EventArgs e)
{
if(tb_class.Text == ”“)
- 35 -
附
录
{
ShowMessageBox(”请输入班级名称“);
}
else if(CustomValidator1.IsValid)
{
string stu_year = DropDownList1.SelectedValue.ToString();
string stu_col = DropDownList2.SelectedValue.ToString();
string stu_pro = DropDownList3.SelectedValue.ToString();
string stu_class = tb_class.Text;
string stu_note = tb_note.Text;
string strsql = ”insert into StuClass(StuClass, Year_ID, College_ID, Profession_ID,Note)values('“ + stu_class + ”',“ + stu_year + ”,“ + stu_col + ”,“ + stu_pro + ”,'“ + stu_note + ”')“;
using(SqlConnection conn = new SqlConnection(connStr))
{
using(SqlCommand comm = new SqlCommand(strsql, conn)){
conn.Open();
int row = comm.ExecuteNonQuery();}
Response.Redirect(”success.aspx?success=5&url=StuClassManage.aspx“);//跳转到汇总页面
}} }(四)学生档案信息导入关键代码 Random number = new Random();
string filename = DateTime.Now.ToString(”yyyyMMddhhmmssfff“)+ ”_“ + number.Next(10000, 99999).ToString()+
”_“
+
FileUpload1.PostedFile.ContentLength
+ System.IO.Path.GetExtension(FileUpload1.PostedFile.FileName);
string path = Request.MapPath(”~/Temp/“);
FileUpload1.SaveAs(path + filename);
string connExcel = ”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/StuFileManage/Temp/“ + filename + ”;Extended Properties=Excel 8.0“;
SqlConnection sqlConnection1 = new SqlConnection(connStr);
OleDbConnection oleDbConnection = new OleDbConnection(connExcel);
try
{
oleDbConnection.Open();
sqlConnection1.Open();
//打开连接
DataTable dataTable = oleDbConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);//获取excel表
string tableName = dataTable.Rows[0][2].ToString().Trim();//获取sheet名,其中[0][1]...[N]: 按名称排列的表单元素
tableName = ”[“ + tableName.Replace(”'“, ”“)+ ”]“;(五)学生人数统计关键代码
private void Drawing()
{
Charting c = new Charting();
c.Title = ”广东海洋大学学生类别统计“;
- 36 -
附
录
c.XTitle = ”“;
c.YTitle = ”人数(人)“;
c.PicHight = 400;
c.PicWidth = 1000;
c.SeriesName = ”合计“;
c.PhaysicalImagePath = ”Temp“;//统计图片存放的文件夹名称
c.FileName = ”Statistics“;
c.Type = SeriesType.Cylinder;
c.Use3D = true;
SqlConnection Con = new SqlConnection(connStr);
//数据库连接
Con.Open();
string cmdtxt = ”select count(*)as 人数 from StuFile group by Gender“;
//SqlCommand Com = new SqlCommand(cmdtxt, Con);
DataSet ds = new DataSet();
SqlDataAdapter Da = new SqlDataAdapter(cmdtxt, Con);
Da.Fill(ds);
Con.Close();
SeriesCollection SC = new SeriesCollection();// 生成对比图
Series s = new Series();
s.Name = ”男生人数“;
Element e = new Element();
e.Name = ”性别“;//对应于X轴个尺度的名称
e.YValue = Convert.ToSingle(ds.Tables[0].Rows[0][”人数“]);
s.Elements.Add(e);
SC.Add(s);
Series s1 = new Series();
s1.Name = ”女生人数“;
Element e1 = new Element();
e1.Name = ”性别“;//对应于X轴个尺度的名称
e1.YValue = Convert.ToSingle(ds.Tables[0].Rows[1][”人数“]);
s1.Elements.Add(e1);
SC.Add(s1);
SC[0].DefaultElement.Color
c.DataSource = SC;
c.CreateStatisticPic(this.Chart1);
}(六)数据库备份关键代码
protected void Button1_Click(object sender, EventArgs e)
{
string fullpath = Server.MapPath(TextBox1.Text.Trim().ToString());
if(!Directory.Exists(fullpath))
{
Directory.CreateDirectory(fullpath);
}
string filename = TextBox2.Text.Trim().ToString()+”.bak“;
SqlConnection connection = new SqlConnection(connStr);
SqlCommand command = new
=
Color.FromArgb(255,99,49);
/
SC[1].DefaultElement.Color = Color.FromArgb(0, 156, 255);
- 37 -
附
录
SqlCommand(”use master;backup database StuFile to disk=@path;“, connection);
//备份数据库语句
connection.Open();
string path = fullpath + filename;
command.Parameters.AddWithValue(”@path“, path);
command.ExecuteNonQuery();
connection.Close();
bak_down.NavigateUrl = TextBox1.Text.Trim().ToString()+ filename;
bak_down.Visible = true;
bak_delete.Visible = true;
HyperLink4.Visible = true;
TextBox1.ReadOnly = true;
TextBox2.ReadOnly = true;
}(七)数据库还原关键代码
string path=Server.MapPath(TextBox1.Text.Trim().ToString());
System.IO.FileInfo file = new System.IO.FileInfo(path);
if(TextBox1.Text.ToString()!= ”“ & FileUpload1.HasFile)
{
ShowMessageBox(”不能同时选择两个数据库备份文件“);
TextBox1.Text = ”“;
}
else if(!FileUpload1.HasFile &!file.Exists)
{
ShowMessageBox(”备份文件不存在,请重新输入“);
TextBox1.Text = ”“;
}
else if(file.Exists)
{
try
{
SqlConnection connection = new SqlConnection(connStr);
SqlCommand command = new SqlCommand(”use master;restore database StuFile from disk=@path with replace;“, connection);
//还原数据库语句
connection.Open();
command.Parameters.AddWithValue(”@path“, path);
command.ExecuteNonQuery();
connection.Close();
ShowMessageBox(”还原成功");
}
catch(Exception ex)
{
ShowMessageBox(ex.Message);
}
- 38 -
第四篇:学生档案管理系统
目录 摘要 ABSTRACT 前言
第一章 为什么要开发一个学生档案管理系统? 第二章 计算机已经成为我们学习和工作的得力助手 1.1 在中小学中用计算机管理学生档案的意义 1.2 为将来学校上网做好准备 1.4 学生档案的设计分析
第三章 怎样开发一个学生档案管理系统? 2.1 编程环境的选择 2.2 关系型数据库的实现 2.3 二者的结合(DBA)
第四章 Windows下的Visual Basic 编程环境简介 3.1 告别“hello world”的年代 3.2 面对对象的编程 3.3 实现菜单选项 3.4 实现工具栏 3.5 帮助 3.6关于系统
第五章 使用Access2000 实现关系型数据库 4.1 数据库的概念 4.2 新建一个数据库 4.3 修改已建的数据库 4.4 实现数据库之间的联系 第五章 系统总体规划 5.1 系统功能 5.2 流程图
第六章 系统具体实现 6.1 用户界面的实现 6.1.1 封面 6.1.2 主界面 6.1.3 帮助系统 6.2 数据库的实现 6.2.1 学籍数据库 6.2.2 学生成绩库 6.2.3 课程库 6.3 与VB的连接 第七章 结束语 第八章 主要参考文献 附录
--------------摘要--------------学生档案管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。
经过分析,我们使用 MICROSOFT公司的 VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。
关键字:控件、窗体、域。
--------------ABSTRACT--------------The system of managing student file is a typical application of managing information system(know as MIS),which mainly includes building up data-base of back-end and developing the application interface of front-end.The former required consistency and integrality and security of data.The later should make the application powerful and easily used.By looking up lots of datum, we selected Visual Basic presented by Microsoft because of its objective tools in Win32.VB offered a series of ActiveX operating a data-base.It can give you a short-cut to build up a prototype of system application.The prototype could be modified and developed till users are satisfied with it.Keywords: ActiveX , Form , Field.--------------前言--------------学生档案管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生档案管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生档案信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
因此,开发这样一套管理软件成为很有必要的事情,在下面的各章中我们将以开发一套学生档案管理系统为例,谈谈其开发过程和所涉及到的问题及解决方法。第一章
为什么要开发一个学生档案管理系统?
计算机已经成为我们学习和工作的得力助手:
今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面: 首先,计算机可以代替人工进行许多繁杂的劳动; 其次,计算机可以节省许多资源;
第三,计算机可以大大的提高人们的工作效率; 第四,计算机可以使敏感文档更加安全,等等。
在中小学中用计算机管理学生档案的意义
现在我国的中小学校中档案的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。
我作为一个计算机应用的本科生,希望可以在这方面有所贡献。改革的总设计师邓小平同志说过“科学技术是第一生产力”,我希望能用我四年的所学编制出一个实用的程序来帮助中小学进行更有效的学籍管理。
归纳起来,好处大约有以下几点:
1. 可以存储历届的学生档案,安全、高效;
2. 只需一到二名档案录入员即可操作系统,节省大量人力; 3. 可以迅速查到所需信息。
为将来学校上网做好准备
跟据1999年中国电信的调查报告显示我国的上网人数已达到890万,互联网已经十分普及,学校往界的毕业生希望能在世界的任何一个角落查到自己校友的信息,本系统为学校将来的上网作了先期工作,比如数据库的建立。
学生档案的设计分析
根据实际情况,我们使用原型法(Rapid Prototyping)即以少量代价快速地构造一个可执行的软件系统模型。使用户和开发人员可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的性质全部满足。此时模块也发展成为最终产品了。第二章
怎样开发一个学生档案管理系统?
编程环境的选择
微软公司的Visual Basic 6.0是Windows应用程序开发工具,使目前最为广泛的、易学易用的面向对象的开发工具。Visual Basic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。故而,实现本系统VB是一个相对较好的选择。
关系型数据库的实现
Access2000 就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。Access 的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外,Access 允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。Access 是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。如上所述,Access 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。
二者的结合(DBA)
微软的JET数据库引擎提供了与数据库打交道的途径,我们是通过它以及Visual Basic 来访问数据库并对其进行各种操作。Visual Basic、Access以及其他微软的软件产品都是通过共用JET数据库引擎,从而给用户提供了丰富的数据类型。
DATA 控件在数据库中的信息与将信息显示给用户看的Visual Basic程序之间架起了一座桥梁。我们可以设置DATA控件的各个属性,告诉它要调用那个数据库的哪个部分。缺省情况下,DATA控件根据数据库中的一个或多个数据表建立一个dynaset-type(动态集合)类型的记录集合。一个记录集合是动态的也就意味着,当原来的数据表中的容改变了以后,该记录集合中的记录也会随之改变。DATA控件还提供了用来浏览不同记录的各种跳转按钮。将DATA控件放置在窗体中之后,我们还必须在该控件与要处理的数据库之间建立联系。
Visual Basic应用程序基本的构建块是用户所创建的对象,每一个对象都具有一些特性和行为(属性、事件和 方法)。开发人员可以最有效利用所创建的每一个对象。使用应用程序具有可通用性可说扩展性和强有力的功能。
Visual Basic应用由一系列对象组成,包括有函数、菜单、函数、结构和数据窗口、用户对象、用户事件等等,对象中又包含若干控件如命令按钮、单行编辑器等这些对象和控件都可在许多应用中重复使用。实现菜单选项
菜单是程序最重要的特性之一,大多数程序都依赖一个定义良好的菜单使程序易于使用和维护,Visual Basic也提供了强大的创建菜单功能是程序更加标准。
您可以使用Visual Basic的Application Wizard也可以使用Visual Basic 的菜单编辑器建立菜单或者修改已经存在的菜单。
实现工具栏
CoolBar控件与Office97种看到的CoolBar是类似的。CoolBar就是一个可以在窗体上浮动的工具,同时也是其他ActiveX的容器。通过在CoolBar中迁入其他空间你局可以向用户提供更好的灵活性和义用性。
Toolbar 是工具条控件,是实现工具条的主体。其中的按钮可以显示图像和标题,并按功能分组或加入分隔符,还可以围棋设置鼠标停留在其上显示的提示字符。Toolbar也是一个控件容器且具有Style属性,并可以为其增加下拉按钮和平滑按钮等。
选择“工程”下拉菜单中的“部件”选项,显示“部件”对话框。在“控件”选项卡列表中选择“Microsoft Windows Common Controls 6.0”后工具相中增加改控件。其属性及对象如下: 1. Align属性定义工具条在窗体中的位置
2. ToolTipText属性是字符串类型,定义控件的提示字符 3. Style属性定义按钮外观。
4. ImageList属性定义与数据条对应的ImageList控件名,该控件定义工具条按钮显示的图像。5. HotImangeList属性设置一个ImageList控件名,该控件定义按钮获得热点时显示的图像。6. DisabledImageList属性定义工具条按钮无效时显示的图像。创建工具条包括ImageList和Toolbar控件
ImageList用于为其他控件提供图像库,将ImageList控件加入到工具箱的操作于前述Toolbar控件相同。
帮助
专业水平的软件通常都带有联机帮助功能。无论写出来的程序是要给大量的用户使用,还是仅仅局限于公司内部有限的使用者,我们都应该为用户提供详细的、易于理解的联机帮助文档。微软的Help Workshop4.0 是一套独立于Visual Basic 的用来协助我们创建、运行于32位Windows 操作系统下的帮助文件的工具。使用它我们可以为我们编写的应用程序生成一组帮助文件。
关于版本
为了是程序显得更具有专业风格,首先可以在其中加入通常的应用程序信息。这些信息包括公司名称、版本号、修订号以及其他类似信息。Visual Basic允许你使用APP对象来保存这些信息,APP对象是一个预定义对象,不需要在程序中创建它。APP对象的大多数属性被应用程序用来提供常规的信息,通过使用这些APP提供的属性,可以在应用程序和用户之间交流重要信息,在项目属性框中可以设置它的属性。第四章
使用Access2000 实现关系型数据库
数据库的概念
数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系数据库(flat-file)和关系数据库(relational)。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。新建一个数据库
创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。创建一个数据库结构的过程被认为是数据模型设计。1. 标识需要的数据;
2. 收集被标识的字段到表中; 3. 标识主关键字字段; 4. 绘制一个简单的数据图表; 5. 规范数据;
6. 标识指定字段的信息; 7. 创建物理表。
修改已建的数据库
数据库的修改分为:添加、编辑和删除记录。这三种操作均可由Visual Basic 创建的程序来完成,下面的章节将详细描述实现的具体方法。
实现数据库之间的联系
数据库之间的关系指明两个库之间共享一个共同的关键字值。一个连接是指一种虚拟的表,这种表是在当用户要求从相互关联的各个不同的表中获取信息时建立的,关键字段用于在相互连接的不同表中查找匹配的记录。一个更高级的连接形式称为自连接。这种连接是指一个表被连接到它自己的一个字段,或在不同的纪录中由重复数据的组合字段。数据库中有三种不同类型的关键字:主关键字、组合关键字和外关键字。在表中使用的关键字类型用于描述库表示什么以及在数据库中如何与其它的库建立关系。第五章 系统总体规划
系统功能
1. 可以进行文本操作; 2. 添加一个数据库项目; 3. 删除一个数据库项目; 4. 修改一个数据库项目; 5. 查询信息; 6. 察看课程表。
流程图
第六章 系统具体实现
用户界面的实现 6.1.1 封面 具体实现见 图_6.1.1 图_6.1.1 6.1.2 主界面
具体实现见.图_6.1.2 图_6.1.2 主界面包含三方面的内容,以下一一介绍: 1.记录操作
打开记录操作,进入记录操作菜单项分别由文件、视图及帮助三个选项。1.1文件包括:新建 打开
打开写字板---------如图<6.1.4>(源程序见附录清单6.1)保存 另存 打印 退出 <图6.1.4> 1.2视图包括:状态条 工具栏 背景颜色 显示
课程表---------如图<6.1.5> 文本编辑器 网络浏览 <图6.1.5> 1.3帮助包括:内容 关于帮助 2.记录操作
打开记录操作进入记录操作选项页分别由浏览记录、查找等三个选项组成。2.1浏览记录: 学生学籍库 课程库 成绩库 2.2查找记录 2.3备注 3.系统信息
打开系统信息进入选项页分别由系统信息、信息采集等组成。6.1.3 帮助系统 具体实现见6.1.3
图6.1.3 数据库的实现 6.2.1学籍数据库
学籍数据库里存储了学生的档案包括:学号、姓名、年龄等 表如<6.2.6> 列名(中文)列名(英文)数据类型宽度小数点位数是否为空姓名Name Date8No学号CodeInteger6No性别SexDate2No年龄AgeDate6No民族NationDate6No政治面貌Visage...Date2...Yes...家庭住址AddressDate10No备注RecordDate15No 表<6.2.6> 学籍模块:
该模块主要完成学生基本信息的录入、删除、更新等功能。在此模块中定义了八个域名来进行学生的信息存储。如果用户修改某一纪录中的某一项,可单添加按钮进行学生记录的编辑,此窗口使用数据窗口的FREEDOM风格(典型的录入界面)。该种风格特点是列标题紧挨着数据列在此窗口还可以增加新学生纪录。6.2.2成绩数据库
成绩数据库里存储了学生的成绩包括:学号、成绩、等如表<6.2.7 > 列名(中文)列名(英文)数据类型宽度小数点位数是否为空姓名Name Date8No学号CodeInteger6No成绩ScoreDate10No备注RecordDate15No 表<6.2.7> 成绩模块:
该模块主要完成学生成绩的基本信息的录入、删除、更新等功能。在此模块中定义了四个域名来进行学生的信息存储。6.2.3课程数据库
课程数据库利存储了课程的信息:课程名、作者、出版社等如表<6.2.8> 列名(中文)列名(英文)数据类型宽度小数点位数是否为空课程IDCourseDate8No课程名NameDate15No出版社PublisherDate20No作者ScoreDate18No备注RecordDate15No 表<6.2.8> 与VB的连接
Visual Basic提供了与底层数据库系统紧密的连接。Visual Basic 支持不同的关系数据库管理系统并充分发挥每一个数据库的特长。生成独立应用或脱离服务器运行的服务以上的应用,Visual Basic连接数据库的方式有两种: ·通过使用Visual Basic的 DATA控件。
·通过使用由Visual Basic提供的专用的直接与数据库相连的接口 第七章 结束语 经过三个多月的设计和开发,中小学档案管理系统基本开发完毕。其功能基本符合用户需求,能够完成学生学籍的存储和成绩的查询以及各类相关报表的打印。并提供部分系统维护功能,使用户方便进行数据备份和恢复、数据删除。,对于数据的一致性的问题也通过程序进行了有效的解决。
但是由于毕业设计时间较短,所以该系统还有许多不尽如人意的地方,比如联机文档比较少,用户界面不够美观,出错处理不够等多方面问题。这些都有待进一步改善。致谢
在本次毕业设计中,我从指导老师雷震甲老师身上学到了很多东西。雷老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助,感谢他耐心的辅导。
另外,在系统开发过程中雷老师的助手张彦明老师也给于我很大的帮助,帮助解决了不少的难点,使得系统能及时开发完成,还有同组的同学同样给与我不少帮助,这里一并表示感谢。
第八章
主要参考文献
[1] Visual Basic 6.0 使用指南
作者:Bob Reselman , Richard Peasley , Wayne Pruchniak.出版社:电子工业出版社
[2] 中文版Microsoft Office 97 自学通 作者:Ned Snell 出版社:机械工业出版社
[3] Visual Basic 6.0 中文版控件大全 作者:Microsoft 出版社;电子工业出版社
[4] 中文Access 2000 24学时教程 作者:Craig Eddy,Timothy Buchanan 出版社:机械工业出版社
第五篇:学生档案管理系统任务书.
西安高新科技职业学院 负责人:张琳 批准日期: 毕 业 设 计(论 文任 务 书 专业 班 学生
一、毕 业设计(论文 课题 基于 Struts 的图书馆管理系统
二、毕业设计(论文 工作 2012 年 3 月 3 日起至 2012 年 6 月 8 日止
三、毕业设计(论文 进行地点 校 外
四、毕业设计(论文 的内容要求:
一、目的
在 Myeclipse8.0平台上, 使用 Java 语言以及 MYSQL 数据库, 完成基于 Struts 的图书馆 管理系统。
二、要求
1、查阅文献,收集解决方案并比较, 写出高质量开题报告。
2、总体结构设计及数据库设计。
3、详细设计:功能设计、流程设计、界面设计
4、实现。利用 Java 语言和 MYSQL 实现所设计的系统 , 主要功能为:⑴、修改密码 ⑵、查 询书籍 ⑶、添加书籍 ⑷、删除书籍(5、修改书籍(6、添加用户(7、修改用户(8、删除用户(9、查询用户(10、记事本(11退出系统。
三、设计步骤
1、查阅文献,收集解决方案并比较,写出高质量开题报告。
2、系统总体结构设计:对总系统进行划分,确定个子系统及其功能。
3、数据库设计:有关表为用户表、学生表、图书统计表、记事本表等。
4、系统详细设计:功能设计、流程设计、界面设计。
5、系统实现:熟悉 Myeclipse8.0平台的使用,用 Java 以及数据库技术实现本系统。
6、翻译 5000词英文文献、撰写设计论文。
四、毕业设计条件
1、本人计算机一台。
2、指导老师尽量提供设计需要的参考书,必要时为学生购买,提供学生必要的资料打印和 复印费用。
五、计划安排 详细内容见进度表。
六、论文要求
1、中英文摘要。
2、目录
3、正文,不少于 20页(16开
4、参考文挡
七、论文答辩
1、总结毕设主要工作。
2、分析毕设中遇到的难题及采用的方法和理论依据。
3、分析设计中取得的成果及未来展望。
八、要求阅读的资料1、2 负责指导教师 张琳 指 导 教 师 张琳
接受设计论文任务开始执行日期 2012年 2月 6日 学生签名 杨帅