第一篇:学生信息管理系统的设计与实现
学号 10031010309004
中 南 大 学 现 代 远 程 教 育
毕 业 论 文
论文题目 学生信息管理系统的设计与实现
姓 名 谷 丰 专 业 计算机科学与技术 层 次 专升本 入学时间 2010.3 管理中心 河南电大 学习中心 河南南阳 指导教师 宋 长 斌
2012年 04 月 24日
0
学生信息管理系统的设计与实现
内容提要:由于学校规模进一步扩大,学生人数逐年上升,学生信息的管理也变得越来越复杂。为此,切实有效的把学生信息管理系统引入学校教务管理中,对于促进学校管理制度和提高学校教学质量有着显著意义。
本系统采用B/S结构,ASP为开发语言,SQL Server 2000为数据库来进行设计与开发。本论文,简要阐述了系统的开发背景与开发环境,对系统的构架进行分析,由此划分出各个模块,包括用户注册模块,用户登陆模块,个人管理模块,基本信息管理模块,特殊信息管理模块,毕业生信息管理模块,成绩管理模块,更多信息管理模块,退出系统模块。详细介绍了系统各个模块与功能的实现原理,最后总结开发阶段与测试阶段所遇到的问题与解决方法。
关键词:学生信息管理 数据库 管理信息系统
目 录:
一、学生信息管理系统开发背景 „„„„„„„„„„2
二、学生信息管理系统的总体设计„„„„„„„„„„„„„„2
三、学生信息管理系统的实现„„„„„„„„„„„„„„„„3
四、结束语„„„„„„„„„„„„„„„„„„„„5
五、参考文献„„„„„„„„„„„„„„„„„„„5 随着计算机的发展及网络技术的应用,当今社会,正快速向信息化社会前进,信息自动化的作用也越来越大。而在日常生活中信息技术的不断融入、技 1 术越来越先进的同时,应该从以前繁琐的事务中解放出来,来提高工作效率。学生信息管理系统就是使用计算机完成众多学生信息的处理。
一、学生信息管理系统开发背景
随着科学技术的不断提高,目前,学校学生管理是教务管理中的一个极为重要的环节,它是整个管理的核心和基础。由于学校规模进一步扩大,学生人数逐年上升,学生情况的管理也变得越来越复杂。面对如此繁杂的任务。如果让个人去管理文档,就会显得费时费力。近年来随着计算机的迅速发展,计算机已经在社会各个领域显示了它巨大的作用。毋庸置疑,切实有效地把计算机管理引入学校教务管理中,对于促进学校管理制度,提高学校教学质量与办学水平有着显著意义。由于上述原因,所以,学生管理系统的开发也是时代的一个必经阶段。本次设计主要采用B/S结构,从学生入学到毕业每个人在校的信息,以及成绩的管理。本系统主要分为六大模块,基本信息管理、特殊信息管理、毕业生信息管理、更多信息管理(补助信息管理、勤工助学信息管理、奖励信息管理、处罚信息管理、异动情况信息管理)、成绩管理、个人管理。用户可以对各种信息进行录入,修改,删除等操作。更方便各个专业老师对学生信息的系统化管理,提高办公效率,以达到更合理化,方便化等要求。
二、学生信息管理系统的总体设计
根据系统功能分析和学生信息需求的特点,经过模块化得到学生信息管理系统功能模块结构图,学生信息管理系统的功能设计构思: 功能说明
经过实际考察与分析研究,学生信息管理系统主要应具有以下功能:(1)登录用户信息的录入、修改和删除功能。(2)学生基本信息的录入、修改和查询功能。
2(3)课程的添加和修改。(4)成绩的输入、修改和查询。
登录的用户分为普通学生和管理员两种类型:学生为系统普通用户,只能运行此系统学生学籍、课程、成绩的查询功能; 系统管理员则具有运行系统所有功能的权限,利用不同用户具有不同权限设定的方法有效地保证了系统数据操作的安全性。2 数据库设计
根据上述的系统需求分析,需要建立一个学生信息数据库,在学生.mdb 数据库中建立学籍表、成绩表课程信息表、用户表和临时表五个表。其中“学籍表”、“成绩表”、“课程信息表”。
三、学生信息管理系统的实现 登陆模块实现用户登录窗体作为系统的启动窗体,用于验证用户的身份,当用户在窗体中输入用户名和用户密码后,系统自动判断所输入的用户是否存在和密码是否正确,若不正确,则显示“用户名不正确”或“密码输入错误”提示信息,当 3 次输入都不正确时,则自动退出登录窗体,结束系统运行。本窗体为两种不同的用户(教师,系统管理员)进入系统。以不同的权限进入系统,满足其不同的需求。其中系统管理员具有浏览、管理数据库,添加新用户等全部权限。而教师用户只具有浏览和查询权限,既不能对数据进行修改,也不能添加新用户。
在系统主窗体加载的过程中,首先判断此时登陆的用户权限,如果是“学生用户”,则将“用户管理”、“课程添加修改”、“学籍添加修改”、“成绩输入修改” 这几个菜单设置为不可见。系统主界面模块
按照在系统功能模块图中介绍的功能模块,可以将这些功能以菜单的形式设计出来。首先添加主窗体,设置其属性。在添加好的窗体中,单击鼠标右键,从弹出的快捷菜单中选择“菜单编辑器”命令,在弹出的菜单编辑器对话框中,按照菜单各自的功能要求,分别录入进去,并且使用方向键为菜单分级。用户管理模块
用户管理模块包括 “添加用户”“删除用户”“修改密码”三个窗体,分别起到对用户的用户名及密码信息进行添加、删除已有用户、修改用户信息的功能。学籍管理模块
在“学籍管理”模块中,可以添加、修改、查询学生的学籍信息,包括 “入学登记”、“学籍修改”、“学籍查询”三个窗体。学籍的全部查询是能够查看所有学生的学籍信息,还可以根据“学号”、“姓名”、“班级”等不同的字段进行查询。在显示这些信息时,将使用到“学籍表”数据表。课程管理模块
在“课程管理”模块中,可以添加、修改学生的课程信息。通过输入课程的编号和名称进行添加及修改,在显示这些信息时,将使用到“课程信息表”数据表。成绩管理模块
在“成绩管理”模块中,可以添加、修改、查询学生的学籍信息,包括 “成绩输入”、“成绩修改”、“成绩查询”三个窗体。学生成绩的查询可以根据“学号”、“姓名”、“课程”“班级”这些不同的字段进行查询。在显示这些信息时,将使用到“成绩表”数据表。
在对现有系统和现状认真调查分析的基础上,明确了学生信息管理工作本身存在的问题和建立管理信息系统的初步要求,经过调查、研究、分析、计算,在学生信息管理中的应用已经条件成熟,将从技术可行性、经济可行性、操作可行性等方面总结系统开发的可行性,确保学生信息管理系统能够使用计算机完成众多学生信息的处理。
结束语:
随着计算机的发展及网络技术的应用,当今社会,正快速向信息化社会前进,信息自动化的作用也越来越大。而在日常生活中信息技术的不断融入、技术越来越先进的同时,应该从以前繁琐的事务中解放出来,来提高工作效率。本系统基本达到了预期目标,系统运行可靠、操作简便。但由于研究时间和相关条件的限制,该系统还有一些不完善的地方,后续还会对该课题继续研究。
参考文献:
1.数据库基础与应用 作者:王利 中央广播电视大学出版社 1997年
2.SQL Server2000系统管理 飞思科技产品研发中心 电子工业出版社 2001年 3.软件工程 作者:陈明 中央广播电视大学出版社 2001年 4.计算机专业毕业设计指导 清华大学出版社
第二篇:基于ASP的学生信息管理系统的设计与实现
基于ASP的学生信息管理系统的设计与实现
摘 要
由于学校规模进一步扩大,学生人数逐年上升,学生信息的管理也变得越来越复杂。为此,切实有效的把学生信息管理系统引入学校教务管理中,对于促进学校管理制度和提高学校教学质量有着显著意义。
本系统采用B/S结构,ASP为开发语言,SQL Server 2000为数据库来进行设计与开发。本论文,简要阐述了系统的开发背景与开发环境,对系统的构架进行分析,由此划分出各个模块,包括用户注册模块,用户登陆模块,个人管理模块,基本信息管理模块,特殊信息管理模块,毕业生信息管理模块,成绩管理模块,更多信息管理模块,退出系统模块。详细介绍了系统各个模块与功能的实现原理,最后总结开发阶段与测试阶段所遇到的问题与解决方法。
关键词:ASP;SQL Server 2000;B/S结构引言
管理信息系统就是我们常说的MIS(Management Information System),在强调管理,强调信息的现代社会中它变得越来越普及。MIS是一门新的科学,它跨越了若干个领域,比如管理科学、系统科学、运筹学、统计学以及计算机科学。在这些学科的基础上,形成信息收集和加工的方法,从而形成一个纵横交织的系统。
近年来Internet的飞速发展,Intranet技术得到了应用,为企业MIS提供了良好的支持环境。管理信息系统在企业的应用中存在三个要素,这就是人、计算机和数据。人是指企业领导者、管理人员、技术人员,以及MIS建设的领导机构和实施机构,他们必须有企业管理人员,尤其是企业领导的积极参与。计算机技术使MIS得以实施的主要技术。在这些技术中,软件开发是MIS开发的重点。第三个因素也不能忽视。企业的管理数据是MIS正常运行的基础。广义地说,各项管理控制是MIS的基础。是想要计算一台机床的成本,需要按时输入、每个零件以及每个螺钉螺母的费用,涉及企业的生产车间、采购、库房、工艺设计和财务等多个部门,必须有一套管理制度作保证。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。目前,学校学生管理是教务管理中的一个极为重要的环节,它是整个管理的核心和基础。由于学校规模进一步扩大,学生人数逐年上升,学生情况的管理也变得越来越复杂。面对如此繁杂的任务。如果让个人去管理文档,就会显得费时费力。尤其在管理成绩时,任务更加繁重,就成绩管理本身来说,它是一项任务繁重、时效性较强的系统工作,它不但涉及学生个人成绩查询,更涉及到各教师的工作效率和质量。近年来随着计算机的迅速发展,计算机已经在社会各个领域显示了它巨大的作用。毋庸置疑,切实有效地把计算机管理引入学校教务管理中,对于促进学校管理制度,提高学校教学质量与办学水平有着显著意义。
现在我国的一些院校中的信息管理效率还不是很高,这样已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。所以,学生信息系统的设计与开发也是一个时代必经的阶段。本次设计主要采用B/S结构,主要实用于各高校的各专业,从学生入学到毕业每个人在校的信息,以及成绩的管理。本系统主要有六大模块,基本信息管理、特殊信息管理、毕业生信息管理、更多信息管理(补助信息管理、勤工助学信息管理、奖励信息管理、处罚信息管理、异动情况信息管理)、成绩管理、个人管理。用WindonwsXP为操作平台,ASP作为脚本语言,采用SQL Sever 2000作为数据库,用户可以实现对数据的录入,修改,删除等操作。系统开发背景
随着科学技术的不断提高,目前,学校学生管理是教务管理中的一个极为重要的环节,它是整个管理的核心和基础。由于学校规模进一步扩大,学生人数逐年上升,学生情况的管理也变得越来越复杂。面对如此繁杂的任务。如果让个人去管理文档,就会显得费时费力。近年来随着计算机的迅速发展,计算机已经在社会
各个领域显示了它巨大的作用。毋庸置疑,切实有效地把计算机管理引入学校教务管理中,对于促进学校管理制度,提高学校教学质量与办学水平有着显著意义。由于上述原因,所以,学生管理系统的开发也是时代的一个必经阶段。本次设计主要采用B/S结构,从学生入学到毕业每个人在校的信息,以及成绩的管理。本系统主要分为六大模块,基本信息管理、特殊信息管理、毕业生信息管理、更多信息管理(补助信息管理、勤工助学信息管理、奖励信息管理、处罚信息管理、异动情况信息管理)、成绩管理、个人管理。用户可以对各种信息进行录入,修改,删除等操作。更方便各个专业老师对学生信息的系统化管理,提高办公效率,以达到更合理化,方便化等要求。系统开发环境
3.1 系统开发理论依据
3.1.1 ASP概述
1.ASP基本含义和特点
ASP是Active Server Page的缩写,意为“活动服务器网页”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是.asp,现在常用于各种动态网站中。ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的web应用程序。与HTML相比,ASP网页具有以下特点:
(1)利用ASP可以实现突破静态网页的一些功能限制,实现动态网页技术;
(2)ASP文件是包含在HTML代码所组成的文件中的,易于修改和测试;
(3)服务器上的ASP解释程序会在服务器端制定ASP程序,并将结果以HTML格式传送到客户端浏览器上,因此使用各种浏览器都可以正常浏览ASP所产生的网页;
(4)ASP提供了一些内置对象,使用这些对象可以使服务器端脚本功能更强。例如可以从web浏览器中获取用户通过HTML表单提交的信息,并在脚本中对这些信息进行处理,然后向web浏览器发送信息;
(5)ASP可以使用服务器端ActiveX组建来执行各种各样的任务,例如存取数据库、发现那个Email或访问文件系统等。
(6)由于服务器是将ASP程序执行的结果以HTML格式传回客户端浏览器,因此使用者不会看到ASP所编写的原始程序代码,可放置ASP程序代码被窃取。
2.ASP的优点
ASP的主要优点大概可以归纳如下:
(1)可以用 VBscript 或Jscript创建脚本,同时结合HTML语言就能够非常方便地完成网站的应用程序。对于 VBscript和Jscript,使用哪种语言并不重要,Web 服务器等同地处理这两种语言,并向用户的浏览器发送 HTML 格式化结果。
(2)因为ASP采用script语言(VBscript和Jscript)就可以轻松编写程序,因此这就大节省了网络设计人员又得重新学习一种新语言的时间。而且编写ASP无须手工compile编译或链接程序,可在服务器端直接执行,这无疑是更加方便了编写过程。
(3)使用普通的使用记事本之类的文本编辑器,即可进行编辑设计,如:Windows的记事本。不要用FontPage98或DreamWeaver2.0等主页制作软件修改,因为会破坏源代码的。建议使用CuteFTP携带的CuteHTML编辑器进行编辑设计。
(4)ASP是运行在服务器端,所以无须担心浏览器是否支持ASP所使用的编程语言,用户端只要使用可执行HTML码的浏览器,即可浏览Active Server Pages所设计的网页内容。ASP在服务器端运行,当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。
(5)ASP能与任何ActiveX scripting语言相容。除了可用VBscript或Jscript语言来设计外,还通过plug-in的方式,使用由第三方所提供的其他脚本语言,譬如Perl、Tcl等。脚本引擎是处理脚本程序的COM(Component Object Model)组件。
(6)Active Server Pages的程序代码隐藏,在客户端上仅可以看到由ASP输出的动态HTML文件。因而可以避免所写的源程序被他人剽窃,也提高了程序的安全性。
(7)可使用服务器端的脚本来产生客户端的脚本。
(8)面向对象(Object oriented),并可扩展ActiveX Server组件功能。
(9)ActiveX Server Components(ActiveX服务器组件)具有无限可扩充性。可以使用任何编程语言来编写所需要的ActiveX Server 组件。
(10)可以通过ADO(ActiveX Data Objects,微软的一种新的数据访问模型,是一种可以提供WEB页面开发者轻松存取Internet的数据库,并可以在用户端实现网上立即、即时更新显示的最新WEB页面数据库技术。)非常方便地访问数据库,从而使存取数据库变得轻松容易。
3.1.2 SQL介绍
SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select, Insert, Update, Delete, Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。
3.1.3 B/S结构介绍
B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过www浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。
以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。
3.2 系统开发环境
3.2.1 系统软件环境
本系统采用的软件工具有:
Windows XP
Dreamweaver MX 2004
SQL Server 2000
IIS 5.1V
Inertnet Explorer 6.0以上
3.2.2 工具简介
Dreamweaver MX 2004简介
DreamweaverMX 2004 是 建立 Web 站点和应用程序的专业工具。它将可视布局工具、应用程序开发功能和代码编辑支持组合为一个功能强大的工具,使每个级别的开发人员和设计人员都可利用它快速创建界面吸引人并且基于标准的站点和应用程序。从对基于 CSS 的设计提供领先的支持到手动编码功能,Dreamweaver 在一个集成和高效的环境中为专业人员提供了所需的工具。开发人员可以将其选择的服务器技术与 Dreamweaver 配合使用,建立将用户连接到数据库、Web 服务和旧式系统的强大 Internet 应用程序。
SQL Server 2000简介
SQL Server 2000能够满足今天的商业环境要求不同类型的数据库解决方案。它一种应用广泛的数据库管理系统,具有许多显著的优点:易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等。性能、可伸缩性及可靠性是基本要求,而进入市场时间也非常关键。除这些核心企业品质外,SQL Server 2000 还为数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应,从而获得竞争优势。
从数据管理和分析角度看,将原始数据转化为商业智能和充分利用 Web 带来的机会非常重要。作为重要的基准测试可伸缩性和速度奖的记录保持者,SQL Server 2000 是一个具备完全 Web 支持的数据库产品,提供了对可扩展标记语言(XML)的核心支持以及在 Internet 上和防火墙外进行查询的能力。系统分析
4.1 系统目标
在对现有系统和现状认真调查分析的基础上,明确了学生信息管理工作本身存在的问题和建立管理信息系统的初步要求,进一步研究确定新系统的目标如下:
(1)按照管理信息系统的原理和方法,采用成熟的信息技术和手段,支持学生管理的全过程,提高教务工作的效率。
(2)针对现代计算机广泛应用的情况以及数据的封闭性,学生信息管理系统基于Windows系统研制、设计和开发。
(3)考虑经费等的原因,系统使用一台PC机和现有软件以节省资金、降低成本。
4.2 可行性分析
经过调查、研究、分析、计算,在学生信息管理中的应用已经条件成熟,将从以下几个方面总结系统开发的可行性,具体情况如下:
(1)技术可行性
以WindowsXP为操作系统,采用ASP为脚本语言,运用SQL的数据库技术,设计与开发学生信息管理系统。新系统的运行硬件环境PC机,当用户使用系统时,通过正确的口令进入系统,进行数据库的维护操作和运用。
(2)经济可行性
一方面,系统中友好的人机界面和更强劲的功能支持,会使教务人员的工作进一步提高,从而节省人力、物力,进而提高经济效益;另一方面系统开发成本低,现有PC机即可提供该系统开发工作需要的所有硬件设备环境。
(3)操作可行性
操作上是对Windows操作系统的引用,该系统的使用,主要凭借使用Windows操作技术即可完成数据录入、修改、删除等功能,方便简单。使用前只要对用户进行简单的说明或阅读帮助文件即可使用该系统。
第三篇:学生信息管理系统设计与实现C
毕业论文题目: 学生信息管理系统的设计与实现
1.学生信息由 :学号,姓名,班级,英语,高数,c语言,及平均成绩组成。
如: 0201,张三,0304,78,62,70,70(自动计算)
2.系统功能:
1)增加一个学生的信息,如 0201,张三,0304,78,62,70。代码如下: void AddStuInfor(struct student *S){ FILE *fp=NULL;fp=fopen(“e:file_student est.txt”,“a”);if(fp==NULL){
printf(“fopen file_student failedn”);} printf(“学号:n”);scanf(“%d”,&S->num);printf(“姓名:n”);scanf(“%s”,&S->name);printf(“班级:n”);scanf(“%d”,&S->grade);printf(“英语:n”);scanf(“%f”,&S->English);printf(“高数:n”);scanf(“%f”,&S->Math);printf(“C:n”);scanf(“%f”,&S->C);S->average=(S->English+S->Math+S->C)/3;S->flag=1;fseek(fp,0,SEEK_END);fwrite(S,sizeof(struct student),1,fp);fclose(fp);printf(“添加成功n”);system(“pause”);system(“cls”);} 2)学生信息的显示:显示出所有信息。代码如下: void PrintStuInfor(){
FILE *fp=NULL;
struct student st[Stu_Total];
int i=0,j;
fp=fopen(“e:file_student est.txt”,“r”);
if(fp==NULL)
{ printf(“fopen file_student failedn”);
}
while(!feof(fp))
{
fread(&st[i],sizeof(struct student),1,fp);
i++;
}
i=i-1;
printf(“学号t姓名t班级t英语t高数tCt平均成绩n”);
for(j=0;j
{
if(st[j].flag==1){
printf(“%dt%st%dt%0.2ft%0.2ft%0.2ft%0.2fn”,st[j].num,st[j].name,st[j].grade,st[j].English,st[j].Math,st[j].C,st[j].average);}
}
fclose(fp);
system(“pause”);
system(“cls”);} 3)学生信息查询,可按学号查询,可按姓名查询,有重名时均显示。(两个功能)代码如下: A.按学号查询: void NumSeek(int num){
FILE *fp=NULL;
struct student st[Stu_Total];
int i=0,j;
fp=fopen(“e:file_student est.txt”,“r”);
if(fp==NULL)
{ printf(“fopen file_student failedn”);
}
while(!feof(fp))
{
fread(&st[i],sizeof(struct student),1,fp);
i++;
}
i=i-1;
printf(“学号t姓名t班级t英语t高数tCt平均成绩n”);
for(j=0;j
{
if(st[j].num==num)
{
printf(“%dt%st%dt%0.2ft%0.2ft%0.2ft%0.2fn”,st[j].num,st[j].name,st[j].grade,st[j].English,st[j].Math,st[j].C,st[j].average);
}
}
fclose(fp);
system(“pause”);
system(“cls”);} B.按姓名查询: void NameSeek(char name[10]){
FILE *fp=NULL;
struct student st[Stu_Total];
int i=0,j;
fp=fopen(“e:file_student est.txt”,“r”);
if(fp==NULL)
{ printf(“fopen file_student failedn”);
}
while(!feof(fp))
{
fread(&st[i],sizeof(struct student),1,fp);
i++;
}
i=i-1;
printf(“学号t姓名t班级t英语t高数tCt平均成绩n”);
for(j=0;j
{
if(!strcmp(st[j].name,name))
{
printf(“%dt%st%dt%0.2ft%0.2ft%0.2ft%0.2fn”,st[j].num,st[j].name,st[j].grade,st[j].English,st[j].Math,st[j].C,st[j].average);
}
}
fclose(fp);
system(“pause”);
system(“cls”);
} 4)按学号删除一个学生的信息。代码如下: void DelStuInfor(struct student *a){ int num,j,i=0;FILE *fp1=NULL,*fp2=NULL;fp1=fopen(“e:file_student est.txt”,“r”);if(fp1==NULL){
printf(“fopen file_student failedn”);} printf(“请输入要删除的学生的学号:n”);scanf(“%d”,&num);while(!feof(fp1)){
fread(&a[i],sizeof(struct student),1,fp1);
i++;} i=i-1;fclose(fp1);fp2=fopen(“e:file_student est.txt”,“w”);if(fp2==NULL){
printf(“fopen file_student failedn”);} for(j=0;j
if(a[j].num==num)
{
a[j].flag=0;
}
else
{
fwrite(&a[j],sizeof(struct student),1,fp2);
} }
fclose(fp2);
printf(“删除成功n”);
system(“pause”);
system(“cls”);
} 5)按学号对学生信息排序。代码如下: void NumSort(){
FILE *fp=NULL;
struct student st[Stu_Total],temp;
int i=0,j,k;
fp=fopen(“e:file_student est.txt”,“r”);
if(fp==NULL)
{ printf(“fopen file_student failedn”);
}
while(!feof(fp))
{
fread(&st[i],sizeof(struct student),1,fp);
i++;
}
i=i-1;
for(j=0;j for(k=0;k if(st[k].num>st[k+1].num) { temp=st[k]; st[k]=st[k+1]; st[k+1]=temp; } } printf(“学号t姓名t班级t英语t高数tCt平均成绩n”);for(k=0;k printf(“%dt%st%dt%0.2ft%0.2ft%0.2ft%0.2fn”,st[k].num,st[k].name,st[k].grade,st[k].English,st[k].Math,st[k].C,st[k].average);} fclose(fp); system(“pause”); system(“cls”);} 6)按平均成绩高低对学生信息排序。代码如下: void AverSort(){ FILE *fp=NULL; struct student st[Stu_Total],temp; int i=0,j,k; fp=fopen(“e:file_student est.txt”,“r”); if(fp==NULL) { printf(“fopen file_student failedn”); } while(!feof(fp)) { fread(&st[i],sizeof(struct student),1,fp); i++; } i=i-1; for(j=0;j for(k=0;k if(st[k].average>st[k+1].average) { temp=st[k]; st[k]=st[k+1]; st[k+1]=temp; } } printf(“学号t姓名t班级t英语t高数tCt平均成绩n”);for(k=0;k printf(“%dt%st%dt%0.2ft%0.2ft%0.2ft%0.2fn”,st[k].num,st[k].name,st[k].grade,st[k].English,st[k].Math,st[k].C,st[k].average);} fclose(fp); system(“pause”); system(“cls”);} 7)修改学生信息,如更改某一科的成绩,或更改班级、学号信息等。代码如下: void ChangeStuInfor(int num){ int i=0,j,number,grade; float Math,English,C; char name[10]; struct student st[ Stu_Total]; FILE *fp1=NULL,*fp2=NULL; fp1=fopen(“e:file_student est.txt”,“r”); if(fp1==NULL) { printf(“fopen file_student failedn”); } while(!feof(fp1)) { fread(&st[i],sizeof(struct student),1,fp1); i++; } fclose(fp1); for(j=0;j { if(st[j].num==num) { printf(“要修改学生的信息:n”); printf(“学号t姓名t班级t英语t高数tCt平均成绩n”); printf(“%dt%st%dt%0.2ft%0.2ft%0.2ft%0.2fn”,st[j].num,st[j].name,st[j].grade,st[j].English,st[j].Math,st[j].C,st[j].average); printf(“学号:1,姓名:2,班级:3,英语:4,高数:5,C:6n”); printf(“请输入要修改内容的序号:n”); scanf(“%d”,&number); switch(number) { case 1:printf(“请输入修改后的学号n”); scanf(“%d”,&num); st[j].num=num;break; case 2:printf(“请输入修改后的姓名n”); scanf(“%s”,name); strcpy(st[j].name,name);break; case 3:printf(“请输入修改后的班级n”); scanf(“%d”,&grade); st[j].grade=grade;break; case 4:printf(“请输入修改后的英语成绩n”); scanf(“%f”,&English); st[j].English=English;break; case 5:printf(“请输入修改后的高数成绩n”); scanf(“%f”,&Math); st[j].Math=Math;break; case 6:printf(“请输入修改后的C成绩n”); scanf(“%f”,&C); st[j].C=C;break; default:printf(“输入有误,请重新输入n”);break; } } } fp2=fopen(“e:file_student est.txt”,“w”); if(fp2==NULL) { printf(“fopen file_student failedn”); } for(j=0;j { fwrite(&st[j],sizeof(struct student),1,fp2); } fclose(fp2); system(“cls”); } 8)要求有保存的功能,当关闭系统后,下次打开时依然可以看到之前的信息。代码如下: void store(){ char c;FILE *fp=NULL;printf(“是否保存上次的学生信息?(Y/N)n”);scanf(“%c”,&c);if(c=='n'||c=='N') {fp=fopen(“e:file_student est.txt”,“w”); if(fp==NULL) { printf(“fopen file_student failedn”); } } else { fp=fopen(“e:file_student est.txt”,“r”); if(fp==NULL) { printf(“fopen file_student failedn”); } PrintStuInfor(); fclose(fp);} system(“pause”);//请按任意键继续是由它产生的。 system(“cls”);} 9)退出功能。代码如下: while(correct){ Pic();scanf(“%d”,&number);//连续使用scanf,出现的n(它为一个字符)会输入到下一个scanf中,影响输入。 switch(number){ case 1: for(i=0;i { char c; if(stu[i].flag!=0) continue; else AddStuInfor(&stu[i]); printf(“是否继续增加?(Y/N)n”); scanf(“n%c”,&c); if(c=='n'||c=='N')break; } break; case 2:PrintStuInfor();break; case 3:printf(“请输入要查询的学生的学号:n”); scanf(“%d”,&num); NumSeek(num);break; case 4:printf(“请输入要查询学生的姓名:n”); scanf(“n%s”,name); NameSeek(name);break; case 5:DelStuInfor(stu);break; case 6:NumSort();break; case 7:AverSort();break; case 8:printf(“请输入要修改学生信息的学号:n”); scanf(“%d”,&num); ChangeStuInfor(num);break; case 9:correct=0;break;//退出系统即退出该while循环.default :printf(“输入信息有误,请重新输入:n”);break;} 3.完成一个对学生信息进行管理的系统,要求如下: 要求用绘出一个简单的界面。界面示例如:(界面可自行调整,更改,只要更能具备就可以。) ********************************************************************************** 学生信息管理系统 *** 1 增加学生信息 2显示学生信息按学号查询按姓名查询删除学生信息按学号排序 7按平均成绩排序 8修改学生信息 退出。******************************************************************************* 代码如下: void Pic(){ printf(“***************************************************n”);printf(“*** 学生信息管理系统 ***n”);printf(“1增加学生信息 2显示学生信息 3按学号查询n”);printf(“4按姓名查询 5删除学生信息 6按学号排序n”);printf(“7按平均成绩排序 8修改学生信息 9退出n”);printf(“***************************************************n”); printf(“请输入需要的操作的序号(1-9):n”);} 摘 要: 设计并实现了一种人事档案信息管理系统,经过分析用户需求、设计系统、测试系统等一系列工作,实现了登录和权限控制模块、查询模块、维护模块、报表统计模块以及使用帮助模块。开发的人事档案信息管理系统能够帮助人事部门有效管理档案及员工信息,该系统的开发对于档案管理和应用具有重要意义,为人事档案管理的规范化发挥了重要的作用。 关键词: 人事信息管理; 数据窗口控件; 权限控制; 工程对象 中图分类号: tn911?34; tm417 文献标识码: a 文章编号: 1004?373x(2016)15?0152?04 0 引 言 人事档案是人事部门开展工作的重要基础和管理个人信息的主要依据,对优秀人才的提拔,干部的识别考察,干部人才队伍建设的推动,各项工作的推动开展具有重要意义[1]。本文以研究院为背景,进行人事档案信息管理系统的设计工作。 由于人员信息改动复杂,研究单位人员流动大,开发此类信息化管理系统具有四大优点:档案管理员的工作水平可以得到有效提高;有利于提高档案管理人员日常工作的效率;有利于保护人事档案纸制载体;有利于改革干部人事制度[2]。利用本系统的查询、修改、删除等功能可以减少人事部门人员的工作时间,进一步提高工作效率。工作信息化后,人员的信息都可以从数据库中求得,减少了工作人员与原始材料的接触,有利于人事档案纸制载体的保护。系统需求分析 1.1 系统功能需求分析 系统采用从上往下式开发模式,根据研究院人事部门员工管理人事的工作流程和该部门对员工档案、考评、职称、工资等员工各类信息属性的管理,系统的主要功能模块包括:添加模块,主要是用于新进员工录入信息;修改模块,主要录入员工信息、删除、修改以及报表模块功能;权限控制模块,主要是用来约束管理员和一般用户对人事档案信息管理系统的操作权限。人事档案信息管理系统的子模块功能图如图1所示。 其中,人事档案信息管理系统通过登录模块进入到档案、查询、设置、管理和退出单元;人事管理单元包括基本信息、考核、员工退离功能;人事查询包括员工生日、基本信息查询、考核查询、员工退离查询等。系统具有如下五方面的任务和目标:录入员工的信息;修改员工的信息;可进行模糊查询,也可按照某种条件统计、查询各类符合条件员工的信息;删除辞职、转出、离退员工的信息; 输出打印统计、查询结果。 1.2 系统实现的策略 本系统开发选择快速原型法[4-6]进行开发,先实现出具有简单功能的系统,然后根据使用情况进行详细设计。 1.3 数据流图 通过考核表可以实现各单位与子单位之间统一化的人事管理,人事管理系统可查询人事档案,同时完成对信息的增加、删除和修改等功能,上述功能可以被政工部门充分利用,其中人事部门主要负责分配员工职务[7],如图2所示。 根据各个部门或单位的员工考核表,人事信息管理部门可以进行人事信息的录入以便于各个部门或单位人员查询人事方面的信息,人事部门还可以修改人事调动、分配信息从而进行人事方面的各类安排。通过数据流图可以清晰地发现各实体之间的关系以便详细设计和编码阶段对系统功能的实现,增强可用性。 数据库设计 基于企业和事业员工人事管理过程的实际数据,该系统处理的数据流程如图3所示。 2.1 数据库结构实现 根据数据流可以清晰地发现系统中各项数据的处理和流动状况,因此数据流设计过程中只需考虑基本逻辑功能而不用考虑实现方法,所以数据流图是较好的逻辑系统图[7]。人事档案信息管理系统的数据流如图4所示。 2.2 数据库概念结构设计 e?r图可以清楚地描述实体之间的关系[8?9],e?r图主要表述各个岗位是由员工来担任,而且各员工是属于其部门管理的,而工资应该发到各个员工的手里是工资和员工的关系,两种不同的权限分属不同的员工,其一是普通权限的员工可以进行查询,其二是具有管理员身份的员工可以进行修改、删除、增加等相应的操作。员工与职务的关系具体的体现在e?r图中,每个员工都有其对应的职务[10]。2.3 逻辑结构设计 各实体之间的关系采用e?r图体现,将其转化成如表1,表2所示的关系模型和数据库表。代码设计与实现 3.1 系统菜单功能设计与实现 总体菜单下设系统、窗口切换、职工信息维护、部门信息维护、岗位信息维护、工资信息维护、报表处理、帮助8个功能模块。 部门信息维护及时更新部门动态,明确部门性质、级别,从而确定人员的性质(主要有行政、事业以及事业单位分类),界定人员身份(行政部门都是国家公务员)、职称(只有事业单位才有)等,随时可以掌握全地区各种身份工作人员的数量,克服了每年干部年报统计系统的及时性(干部年报每年统计一次,是上年情况)。 人员信息维护可以实现人员信息的动态管理,发生变动,即时更新,使人员的年龄、身份、学历、工龄等一目了然,为工资套改、办理退休等工作提供依据。 其中,各页面都具有的功能是维护信息窗口,设计的主要目的在于实现原有信息的浏览、查询、录入、修改,包括员工号、姓名、性别、民族、籍贯等32项数据。 3.2 登录与权限的设计与实现 (1)登录功能 登录功能的目的是基于普通用户登录,对于不同业务科室的需求有独立的交互页面,为管理干部档案的专职人员设计了登录页面进行相关信息的整理,后台维护管理员具有独立权限进行信息维护,可以对相关人员信息进行查看。登录界面如图5所示。 (2)账户确认功能 (3)密码修改功能 通过更改密码可以进一步提高保密系数,因此根据工作的需要密码必须可以修改,如图6所示。 3.3 系统维护功能设计 (1)职工信息维护模块主要包括员工号、姓名、性别、民族、籍贯等32项数据。 (2)部门维护模块主要包括部门名称、部门代码、部门职能3项数据信息和密码修改、录入、保存、删除、刷新、关闭、打印等21个功能键,具体的控件代码和设计模型与员工信息维护窗口大致相同,而数据信息的不同是两者的主要区别。部门维护窗口如图7所示。 3.4 报表模块实现 用户登录根据权限有不同的功能。普通员工可以对自己个人档案信息、考勤、奖惩情况进行查询;信息管理员可以对员工档案信息进行管理:系统管理员可以对用用户权限进行修改以及数据库的更新维护,对用户权限进行划分,使不同权限的用户功能范围不同,有效地保护了数据库中数据的安全性。 (1)员工报表功能 新进员工可在员工报表图中进行搜索,在入职时间处填入入职日期范围,在此范围内的员工可呈现在列表中,操作人员可进行保存或者打印操作,打印选项中显示需要打印信息的选项,可进行勾选,勾选出所需要的信息进行打印。在实际工作中员工报表模块实用性很高,在考核员工或者更新员工信息时可利用此功能模块打印出所需列表信息。 (2)部门报表功能 为了方便使用,排序和组合查询控件组具有区别。把四个数据操作窗口从控件到数据窗口尽量做了一致安排,以便确保同一个软件使用风格相同。将下述两个数据操作窗口的差异进行比较。一般人员的权限只有对人事档案的信息进行查询,能对该信息进行管理的只有管理人员。输入密码和账号是管理人员进行人事档案信息维护的前提。一般用户可操作菜单上的“窗口切换”、“保存”、“插入”、“密码修改”“删除”、窗口关闭以及打印、浏览报表等功能。系统实现结果与软件测试 4.1 人事档案信息管理系统模块测试 在管理员登录的页面,用户通过输入账号和密码进行身份认证,登录之后,对应的功能模块窗口在用户登录后打开。如需修改密码,在打开相应的弹窗之后,选择密码修改项的菜单,通过录入相应用户账号、联系方式、密码保护问题,输入正确之后就可以更新为新的密码,再一次输入确认即可。登录及密码修改功能完全符合要求已通过测试。 在用户登录成功后,通过点击“修改”、“插入”、“确认”等选项,可以在职位信息、部门信息等的弹窗修改旧信息,修改完成之后点击“保存”按钮进行保存,则数据库中已成功保存输入的记录,通过测试,系统维护模块的功能一切正常。 4.2 可执行文件的生成 5 结 论 本文通过全面的调研和分析,最终确定了人事管理系统中用户的实际需求,针对需求完成了系统数据分析,基于数据分析的结果进行功能模块的设计,其中调试和编码在规定界面风格的基础上进行了针对性的设计和编辑。最终,系统实现了档案信息登记、统计、查询、分析、修改等功能。该系统的具体研发基于研究院人事部门的真实需求,其应用对于人事档案管理的研究工作具有重要的参考价值。 学生信息管理系统代码设计 第一章 概述 学生信息管理系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。在现今众多的学生管理系统中,最为常见的是学生学籍管理系统和学生课程成绩管理系统。这是对我国现今大多学校对学生管理的需要而开发设计的,但随着学校的发展,这种各自独立的系统远远不能满足学校管理的需要。学生档案管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生档案管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。而使用计算机对学生档案信息进行管理,具有手工管理所无法比拟的优点。例如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理的重要途径。 第二章 学生成绩管理系统功能的实现 2.1 系统功能模块设计 对上述各项功能进行集中、分块,按照结构化程序设计的要求,得到如图所示的系统功能模块图。 / 8 2.2 数据库的连接 在整个学生成绩管理系统中,数据库的打开在系统中是很重要的,下面给出本系统连接打开数据库的代码文件DB.ASP <% dim db set db=Server.CreateObject(“ADODB.Connection”)db.open “driver={Microsoft Access Driver(*.mdb)};dbq=”&Server.Mappath(“bysj.mdb”)%> 2.3 成绩管理系统的登录页面 学生成绩管理系统分为三种登录模式(1)系统管理员登录(2)教师登录(3)学生登录 成绩管理系统的安全性 系统是用ASP网页编程+ACCESS数据库+SQL查询语句,学生成绩管理系统中拥有的用户名和密码才能正常进入成绩管理系统,系统安全设计的判断页面为DLCL.ASP文件,以下给出整个文件的部分代码提供参考: 打开数据文件 <% if request.form(“xuehao”)=“" then response.write ”“ end if %> 输入的用户名进行判断,如果为空则自动跳回到系统首页 <% if request.form(”pwd“)=”“ then response.write”“ end if 输入的密码进行判断,如果为空则自动跳回到系统首页 <% if request.form(”xuehao“)<>”“ and request.form(”pwd“)<>”“ then user=trim(request.form(”xuehao“))pwd=trim(request.form(”pwd“))lx=request.form(”d1“)session(”a“)=0 if lx=”超 级 系 统 管理员“ then sql=”select * from admin“ set rs=db.execute(sql)do while not rs.eof if trim(rs(”admin“))=user and trim(rs(”pwd“))=pwd then session(”a“)=1 session(”user“)=user response.redirect ”admin.asp“ end if rs.movenext loop response.redirect ”errar.asp“ end if if lx=”学 生“ then / 8 sql=”select * from xuesheng“ set rs=db.execute(sql)do while not rs.eof if trim(rs(”xuehao“))=user and trim(rs(”pwd“))=pwd then session(”a“)=1 session(”xuehao“)=user response.redirect ”xuesheng.asp“ end if rs.movenext loop response.redirect ”errar.asp“ end if if lx=”教 师“ then sql=”select * from jiaoshi“ set rs=db.execute(sql)do while not rs.eof if trim(rs(”user“))=user and trim(rs(”pwd“))=pwd then session(”a“)=1 session(”user“)=user response.redirect ”jiaoshi.asp“ end if rs.movenext loop response.redirect ”errar.asp“ end if end if %> 以上代码是通过读取输入的用户名和密码在从数据库中进行查找,是否有当前输入的用户和密码,如果用户名正确与密码正确则进入相应页面的同时对SESSION存一个值,如果数据库中没有该用户则跳到错误处理页面ERRAR.ASP。 / 8 判断用户是否是从登录页面进入系统的处理页面文件ADERRAR.ASP的代码如下 <% session(”a“)=0 if session(”user“)=”“ then response.write ”“ end if %> 如果SESSION中的值为空,则自动跳转到登录页面 学生信息管理模块 1.添加学生信息。此部分实现了对学生信息的增加功能,public class AddStuInfo extends StuInfo { StuBean getSnum = new Stubean();public AddStuInfo(){ this.setTitle(”添加学生信息“); this.setResizable(false); sNum.setEditable(false); sNum.setText(”“+getSnum.getStuId()); sName.setEditable(true); sSex.setEditable(true); sSethnic.setEditable(true); sBirth.setEditable(true); sYear.setEditable(true); sMajor.setEditable(true); sCollege.setEditable(true); sHome.setEditable(true); //设置运行时窗口的位置 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation((screenSize.width300)/ 2 + 45);} 2.删除学生信息。此部分实现了对学生信息的删除。在删除前先查询出需要删除的学生的基本信息,在进行删除。 public class DelStuInfo extends StuInfo{ String sNum_str = ”“;public DelStuInfo(){ / 8 } this.setTitle(”删除学生信息“);this.setResizable(false);sNum.setEditable(false);sNum.setText(”请查询学号“);sName.setEditable(false);sSex.setEditable(false);sSethnic.setEditable(false);sBirth.setEditable(false);sYear.setEditable(false);sMajor.setEditable(false);sCollege.setEditable(false);sHome.setEditable(false);//设置运行时窗口的位置 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();this.setLocation((screenSize.width300)/ 2 + 45);3.修改学生信息。此部分实现了对学生信息的修改。在修改时先查询出要修改的学生的基本信息,然后在进行需要的改动并保存。 public class EditStuInfo extends StuInfo { String sNum_str = ”“;public EditStuInfo(){ this.setTitle(”修改学生信息“); this.setResizable(false); sNum.setEditable(false); sNum.setText(”请查询学号“); sName.setEditable(false); sSex.setEditable(false); sSethnic.setEditable(false); sBirth.setEditable(false); sYear.setEditable(false); sMajor.setEditable(false); sCollege.setEditable(false); sHome.setEditable(false); //设置运行时窗口的位置 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation((screenSize.width300)/ 2 + 45);} 2.4课程信息管理模块 1.增加课程信息。此部分实现了对课程信息的增加。 public class AddCourseInfo extends CourseInfo{ CrsBean getCnum = new CrsBean();public AddCourseInfo(){ this.setTitle(”添加课程信息“); / 8 } this.setResizable(false);cNum.setEditable(false);cNum.setText(”“+getCnum.getCrsId());cName.setEditable(true);cTeacher.setEditable(true);cType.setEditable(true);cTime.setEditable(true);cPlace.setEditable(true);//设置运行位置,使对话框居中 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();this.setLocation((int)(screenSize.width300)/ 2 +45);2.删除课程信息。此部分实现了对课程信息的删除。在删除时先查询出需要删除的课程基本信息,在进行删除。 public class DelCourseInfo extends CourseInfo{ String cNum_str = ”“;public DelCourseInfo(){ this.setTitle(”删除课程信息“); this.setResizable(false); cNum.setEditable(false); cNum.setText(”请查询课程号“); cName.setEditable(false); cTeacher.setEditable(false); cType.setEditable(false); cTime.setEditable(false); cPlace.setEditable(false); //设置运行位置,使对话框居中 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation((int)(screenSize.width300)/ 2 +45);} 3.修改课程信息。此部分实现了对课程信息的修改。在修改时先查询出需要修改课程的信息,在进行相应的修改。 public class EditCourseInfo extends CourseInfo { String cNum_str = ”“;public EditCourseInfo(){ this.setTitle(”修改课程信息“); this.setResizable(false); cNum.setEditable(false); cNum.setText(”请查询课程号"); cName.setEditable(false); cTeacher.setEditable(false); cType.setEditable(false); cTime.setEditable(false); cPlace.setEditable(false); //设置运行位置,使对话框居中 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); / 8 this.setLocation((int)(screenSize.width300)/ 2 +45);} 2.5 系统在调度中经常出现的问题(1)数据库的连接容易出错 (2)各种数据写入数据库时容易出错(3)在调度中经常出现数词不匹配 总 结 尤其是在做实验时,对JAVA连接数据库还很陌生,但是后来通过上网,去图书馆找资料就很快的搞定了。从中理解了大学对一个人来说,最重要的不是你学了多少知识,而是快速学习的能力,同时我也知道,任何一件事不是只有知道了相关信息才去做他,即使不知道相关信息也可以动手去做。一边学一边做,在信息时代里,这是一个人的生存手段。 其实,在编程过程之中,怎样让程序和界面的结合是一个很难处理的问题,因为处理不好就会有时出现触一发而动全身的现象,真的是很难处理,所以在编程开始,就要让程序函数之间不要耦合的太紧密了,这样才能处理好这种情况..总之,这次课程设计受益匪浅,不仅锻炼了我做事坚持不懈的心态,也慢慢地培养了我不懂就查书的好习惯,我的自学能力也有了一定的提高,我更明白了搞计算机这行,要学到真正的技术完全要靠自己,在课堂上只能学到最基本的东西,但这最基本的东西也一定要学好。 / 8第四篇:人事档案信息管理系统的设计与实现
第五篇:学生信息管理系统相关功能实现(xiexiebang推荐)