基于vc++的教职工信息管理系统.docx
- 文档编号:10816783
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:42
- 大小:256.40KB
基于vc++的教职工信息管理系统.docx
《基于vc++的教职工信息管理系统.docx》由会员分享,可在线阅读,更多相关《基于vc++的教职工信息管理系统.docx(42页珍藏版)》请在冰豆网上搜索。
基于vc++的教职工信息管理系统
1引言
教职工管理系统是一个教育单位不可缺少的管理工具,它管理的数据对于学校的决策者和管理者来说都至关重要,所以教职工管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来各个学校基本上都是靠传统的人工方式来管理教职工信息,这种管理方式存在着许多缺点,如:
效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于信息的查找、更新和维护都带来了不少的困难。
当今社会,信息迅速膨胀,随着各个学校的规模增大,有关信息管理工作所涉及的数据量越来越大,教职工信息量也大大增加,利用传统的手工查询、登记、修改等方法的处理速度远远跟不上学校的需求,有的学校不得不靠增加人力、物力来进行信息管理。
随着计算机技术的不断提高,计算机作为知识经济时代的产物,其强大的功能已为人们深刻认识,它已进入人类社会的各个行业和领域并发挥着越来越重要的作用,成为人们工作和生活中不可缺少的一部分。
而作为计算机应用的一部分,使用计算机对教职工进行管理,具有手工管理所无法比拟的优点。
例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高教职工管理的效率,也是学校的科学化、正规化管理和与世界接轨的重要条件[1]。
教职工管理系统作为一种管理软件正在各学校中得到越来越广泛的应用,且已达到了良好效果:
(1)管理人员角色和目标的改变
传统的教职工管理中,管理人员的大部分精力都耗费在繁琐的日常行政事务处理上,而作为学校管理层的参谋角色应该做的咨询和策略制定的工作相对缺乏。
通过教职工管理系统,管理人员可以将绝大部分精力放在进一步改进教学方法上,而在行政事务上的工作可以由电子化系统完成,只需占用管理人员极少的精力和时间。
(2)提高工作质量
教职工管理系统可以迅速、准确地管理教职工的各种信息,可以最大限度的减少在工作中由于各种原因而导致的误差。
用户可以直接从系统中获得自己所需的关于教职工的各种信息。
(3)减少工作量提高工作效率
教职工管理系统减少了教职工管理工作的工作时间、提高了工作效率,大大减少了工作量,不必再用传统的模式:
在教职工信息册上一页一页查找所需信息,工作繁琐且使得管理人员倍感疲惫。
有了教职工管理系统,可以轻松、快速地将工作很好地完成。
教职工管理系统有效地提高了教职工管理工作的质量及效率,减少了工作量,着实可行。
因此,开发这样一些高效率的管理软件势在必行。
我之所以选用VC++可视化编程进行教职工管理系统的开发是因为我在大学一年级学习了C++语言程序设计以及VC++可视化编程并对其比较熟悉,而其他的编程语言和编程方法我都接触甚少。
而选用SQLServer数据库管理系统是因为本课程设计的要求,并且我没学过其他数据库的相关知识。
2相关技术
2.1VisualC++6.0简介
VisualC++与C++不同,C++是由C语言发展而来的,既可以用于面向过程的结构化程序设计,也可以用于面向对象的程序设计,是一门功能强大的程序设计语言。
而VisualC++是一个功能强大的可视化软件开发工具,自1993年Microsoft公司推出VisualC++1.0后,随着其新版本的不断问世,VisualC++已成为专业程序员进行软件开发的首选工具。
虽然微软公司推出了VisualC++.NET(VisualC++7.0),但它的应用的很大的局限性,只适用于Windows2000,WindowsXP和WindowsNT4.0。
所以实际中,更多的是以VisualC++6.0为平台。
VisualC++6.0是Microsoft公司在1998年推出的基于Windows9X和WindowsNT一个优秀集成开发环境。
该开发环境为用户提供了良好的可视化编程环境,程序员可以利用该开发环境轻松地访问C++源代码编辑器、资源编辑器和使用内部调试器,并且可以创建项目文件。
VisualC++6.0不仅包括编译器,而且它还包括许多有用组件,如程序向导AppWizard、类向导ClassWizard等,通过这些组件的协同工作,可以在VisualC++6.0集成开发环境中轻松的完成创建源文件、编辑资源,以及对程序的编译、连接和调试等各项工作[2]。
2.2SQL简介
数据库是指以一定的组织形式存放在计算机存储介质上的相互关联的数据的集[3]。
SQL是英文StructuredQueryLanguage的缩写,意思为结构化查询语言。
SQL语言的主要功能就是同各种数据库建立联系,进行沟通。
按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。
SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。
目前,绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,MicrosoftSQLServer,Access等都采用了SQL语言标准。
虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select,Insert,Update,Delete,Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。
SQL之所以能够为用户和业界所接受,并成为国际标准,是因为它是一个综合的、功能强大同时又简洁易学的语言。
SQL集数据查询(DataQuery)、数据操纵(DataManipulation)、数据定义(DataDefinition)和数据控制(DataControl)功能于一体[4]。
主要特点包括:
(1)综合统一
数据库系统的主要功能是通过数据库支持的数据语言来实现。
非关系模型(层次模型、网状模型)的数据语言一般都分为:
·模式数据定义语言(SchemaDataDefinitionLanguage,模式DDL);
·外模式数据定义语言(SubschemaDataDefinitionLanguage,外模式DDL或自模式DDL);
·数据存储有关的描述语言(DataStorageDescriptionLanguage,DSDL);
·数据操纵语言(DataManipulationLanguage,DML);
它们分别用于定义模式、外模式、内模式和进行数据的存取与处置。
当用户数据库投入运行后,如果需要修改模式,必须停止现有数据库的运行,转储数据,修改模式并编译后再重装数据库,十分麻烦。
SQL则集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体。
语言风格统一,可以独立完成数据库生命周期中的全部活动,包括:
·定义关系模式,插入数据,建立数据库;
·对数据库中的数据进行查询和更新;
·数据库重构和维护;
·数据库安全性、完整性控制;
等一系列操作要求。
这就为数据库应用系统的开发提供了良好环境。
特别是用户在数据库系统投入运行后,还可以根据需要,随时地逐步地修改模式,并不影响数据库的运行,从而使系统具有良好的可扩展性。
另外,在关系模型中实体和实体间的联系均用关系表示,这种数据结构的单一性带来数据库操作的统一性,查找、插入、删除、更新等每一种操作都只需一种操作符,从而克服了非关系系统由于信息表示方法的多样性带来的操作复杂性[5]。
(2)高度非过程化
非关系数据模型的数据操纵语言是“面向过程”的语言,用过程化语言完成某项请求,必须指定存取路径。
而用SQL进行数据操作,只要提出“做什么”,而无须指明“怎么做”,因此无须了解存取路径。
存取路径的选择以及SQL的操作过程又系统自动完成。
这不但大大减轻了用户负担,而且有利于提高数据独立性。
(3)面向集合的操作方式
非关系数据模型采用是面向记录的操作方式,操作对象是一条记录。
而SQL采用集合操作方式,不仅操作对象查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
(4)以同一种语法结构提供多种使用方式
SQL既是独立的语言,又是嵌入式语言。
作为独立的语言,它能够独立地用于联机交互的使用方式,用户可以在终端键盘上直接键入SQL命令对数据库进行操作;作为嵌入式语言,SQL语句能够嵌入到高级语言(例如C,C++,Java)程序中,供程序员设计程序时使用。
而在两种不同的使用方式下,SQL的语法结构基本上是一致的。
这种以统一的语法结构提供多种不同使用方式的做法,提供了极大的灵活性与方便性。
(5)语言简洁,易学易懂。
SQL功能极强,但由于设计巧妙,语言十分简洁,完成核心功能只用了9个动词:
SELECT、CREATE、DROP、ALTER、INSERT、UPDATE、DELETE、GRANT和REVOKE。
SQL接近英语口语,因此容易学习和使用。
3系统总体分析与设计
3.1设计背景
系统的性质为管理软件,因而以数据库的设计与操纵为系统设计的核心,并辅以VisualC++可视化程序设计。
我在大学二年级期间学习了数据库的有关知识,并着重学习了VisualC++程序设计,具备一定的编程能力、系统分析与设计能力,比较熟悉数据库的设计与操纵;指导老师周书仁多年从事计算机科学与技术的教学与研究工作,具备充分的指导能力与经验,因而该系统的实现在技术上是可行的。
由于学校机房每天都开放,而且所有的计算机都安装了VC++的编程环境VisualC++6.0以及数据库MicrosoftSQLServer2000,我们可以随时上机调试运行自己所编写的程序。
因此,学校为我们提供了充足的条件。
而同学们又常常探讨用VC++进行系统开发的有关问题,老师也鼓励我们尝试利用各种程序设计语言和数据库进行各类系统的开发,使此设计得以顺利进行。
3.2需求分析
教职工管理系统具有良好的性能和较强大的功能,其性能的良好表现为:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等其,功能的强大表现为:
可以随时对个别教职工信息进行查询、添加、修改、删除、显示全体教职工信息以及对教职工人数进行统计,并且可以设置用户的权限。
这些优点能够极大地提高教职工管理工作的效率和质量,能够满足教职工信息正不断增加的各学校的需求。
3.3具体设计
教职工管理系统所管理的信息内容包括教职工的基本情况和其他个人信息。
其中基本情况包括:
教师编号,姓名,性别;其他个人信息包括:
职工分类,职称,年龄,学历,职务,政治面貌,具体情况如图3.1所示。
图3.1教职工管理系统管理内容总体框架图
教职工管理系统用于查询、添加、修改和删除教职工的相关信息,显示全部教职工信息,对教职工人数进行统计以及设置用户权限,包括七个功能模块,具体情况如图3.2所示。
图3.2教职工管理功能模块图
(1)“教职工信息的查询”
“教职工信息的查询”的主要功能是根据教职工的教师编号找到此教职工的其他详细信息。
通过“教职工信息的查询”功能的实现,可以进行系统数据源中的所有教职工信息及已添加的所有教职工个人信息的查询,只要知道教职工的教师编码,便可非常方便地轻易地找到该教职工详细的个人信息。
(2)“教职工信息的添加”
“教职工信息的添加”的主要功能是添加系统数据表中还不存在的教职工信息。
系统管理人员可以随时将新增教职工的有关信息逐项添加到管理系统内,可轻易实现系统内信息的更新,延长了系统寿命。
(3)“教职工信息的修改”
“教职工信息的修改”的主要功能是编辑系统数据源中已存在的教职工信息。
随着系统被采用的时间的增加,教职工的相关信息也在不停地发生多多少少的变化,譬如,教师的政治面貌变换,教师职称不断上升,教师学历上升或教职工的改变等。
这时,就需要将教职工的相关的更新的信息保存到系统中,以求教职工信息的准确性和有效性。
“教职工信息的修改”便有效地实现了这项工作的完成。
(4)“教职工信息的删除”
“教职工信息的修改”的主要功能是删除教职工管理系统已过期的不再有管理价值的教职工信息。
教职工管理系统是一个寿命比较长的系统,在系统的运行过程中,学校的教职工往往在流动,有新的教职工的加入,同样也有原有教职工的离开。
当教职工不再在该校任职,其信息对学校来说便不再需要,而存在数据源里又占一定空间,且不利于管理者对全体教职工信息的管理。
这时,便可查找到相关教职工的信息,利用“教职工信息的删除”对该信息进行处理。
(5)“全部教职工信息的显示”
“全部教职工信息的显示”的主要功能是显示管理系统中所有教职工的相关信息记录,方便浏览,有利于管理者的工作。
(6)“教职工人数的统计”
“教职工人数的统计”的主要功能是显示教职工总人数和根据学历、政治面貌、职称、等分别显示各类教职工人数,以便管理者对教职工信息的总体状况进行了解。
数据库设计E-R图如图3.3、图3.4和图3.5所示。
(7)“系统用户权限的设置”
“系统用户权限的设置”的主要功能是设置系统用户权限,通过用户名和密码进行登录,可以添加和删除用户,修改用户密码,以保证系统信息的安全性。
图3.3教职工E-R图
图3.4职务E-R图
图3.5数据库E-R图
本系统数据库设计中需建四个表:
教师个人基本信息表、教职工职务表、职称表以及登录权限表,用于存储教职工各类信息和用户登录信息,具体设计分别如表3-1、表3-2、表3-3和表3-4所示。
表3-1教职工个人基本信息表
列名
数据类型
长度
允许空
主/外键设置
教职工编号
Char
8
否
主键
姓名
Varchar
10
否
无
性别
Varchar
2
否
无
年龄
Char
4
是
无
政治面貌
Varchar
6
否
无
学历
Varchar
8
否
无
职称号
Char
8
否
外键
职务类别号
Char
8
否
外键
表3-2教职工职务表
列名
数据类型
长度
允许空
主/外键设置
职务类别号
Char
8
否
主键
职务
Varchar
8
否
无
职工分类
Varchar
9
是
无
表3-3教职工职称表
列名
数据类型
长度
允许空
主/外键设置
职称号
Char
8
否
主键
职称
Varchar
8
否
无
待遇级别
Char
4
是
无
表3-4登录权限表
列名
数据类型
长度
允许空
主/外键设置
用户名
Varchar
30
否
主键
密码
Char
20
否
无
4系统实现
4.1创建数据表
启动MicrosoftSQLServer2000,打开企业管理器,新建数据库teacher.MDF。
在数据库teacher中创建表indivinfo、duty、post、tbuser,如图4.1所示,各表设计分别如图4.2、图4.3、图4.4和图4.5所示。
图4.1数据库teacher中各表
图4.2表indivinfo
图4.3表duty
图4.4表post
图4.5表tbuser
在各表中添加数据,以便对系统进行运行测试。
4.2创建ODBC数据源
(1)进入ODBC数据源管理器,单击“添加”按钮,选择“SQLServer”。
(2)单击“完成”按钮,进入用于指定数据源的对话框,将前面创建的数据库调入。
(3)单击“下一步”按钮,弹出新的对话框,再单击“下一步”按钮,选择数据源,即teacher数据库,单击“确定”,然后进行测试,测试成功。
则刚创建的数据源被添加在“ODBC数据源管理器”的用户数据源列表中。
4.3在MFCAppWizard中选择数据源
过程如下:
(1)用MFCAppWizard创建一个单文档应用程序TeacherMIS。
(2)在向导的第一步对话框中加入数据库的支持。
(3)选中“数据库查看使用文件支持”项,单击DataSource按钮,弹出DatabaseOptions对话框,从中选择ODBC的数据源“teacher”。
(4)保留其他默认选项,单击OK按钮,弹出对话框,从中选择要使用的表。
(5)单击OK按钮,回到向导的第二步对话框。
单击“完成”按钮,开发环境自动打开表单视图TeacherMISView的对话框资源模板IDD_TeacherMIS_FORM以及相应的对话框编辑器,编译并运行。
4.4设计主界面
(1)为表单对话框资源模板添加控件。
(2)在MFCClassWizard对话框中的MemberVariables页面为添加的各控件添加相关联的成员变量。
(3)编译运行并测试,实现界面如图4.6所示。
图4.6记录页面的设计
(4)创建菜单IDR_MAINFRAME,创建菜单项“文件(F)”、“查看(V)”、“用户管理(M)”和“帮助(H)”,然后分别给每个菜单项建立下拉式子菜单。
其中在菜单项“文件(F)”的子菜单中添加“退出(X)”项,ID设为ID_APP_EXIT,用于退出系统;在菜单项“查看(V)”的子菜单中添加“状态栏(S)”项,ID设为ID_VIEW_STATUS_BAR,用于隐藏或显示状态栏;在菜单项“用户管理(M)”的子菜单中添加“修改密码”和“用户信息管理”项,ID分别设为ID_MENU_CHANGEPWD和ID_MENU_USERMAN,分别用于进入密码修改界面和添加或删除用户;在菜单项“帮助(H)”的子菜单中添加“状关于(A)”项,ID设为ID_APP_ABOUT,用于弹出显示版本信息的对话框,如图4.7所示。
为每个下拉菜单项添加相关代码,以进入相关界面。
图4.7菜单栏设计
4.5系统各功能的实现
(1)查询记录
新建一个对话框,标题设为“教职工信息查询”,ID号设为IDD_DIALOG_QUERY。
在对话框中添加相关控件,并将“OK”、“CANCEL”按钮分别改为“确定”、“取消”。
在MFCClassWizard对话框中为CTeacherMISView类中添加按钮控件“查询”的BN_CLICKED消息映射,并在映射函数中添加代码。
(2)添加记录
添加一个对话框资源,将标题设置为“添加教职工”,设置好ID号和字体属性。
将相关控件到对话框中,将OK和Cancel按钮的标题分别改为“确定”和“取消”。
为对话框资源创建一个对话框类,为对话框中的控件依次添加控件变量。
用MFCClassWizard为对话框类添加IDOK按钮的BN_CLICKED的消息映射,并添加代码。
打开用于表单视图CTeacherMISView的对话框资源,为“添加”按钮,添加BN_CLICKED的消息映射,并添加代码。
(3)修改记录
添加一个对话框资源,将标题设置为“教职工信息修改”,设置好ID号和字体属性。
为对话框资源创建一个对话框类,为对话框中的控件依次添加控件变量。
用MFCClassWizard为对话框类添加IDOK按钮的BN_CLICKED的消息映射,并添加代码。
打开用于表单视图CTeacherMISView的对话框资源,为按钮“修改”添加BN_CLICKED的消息映射,并添加代码。
(4)删除记录
打开用于表单视图CTeacherMISView的对话框资源,向表单中按钮“删除”添加BN_CLICKED的消息映射,并添加相关代码。
(5)所有记录显示
打开用于表单视图CTeacherMISView的对话框资源,向表单中按钮“全部记录”添加BN_CLICKED的消息映射,并添加相关代码。
为CTeacherMISView类添加OnCommand消息处理函数,并添加代码。
(6)人员统计信息显示
添加对话框资源,标题设置为“人员统计”,ID设置为IDD_DIALOG_COUNT。
添加所需控件,修改按钮标题并为“确定”按钮添加BN_CLICKED的消息映射以及相关代码。
打开用于表单视图CTeacherMISView的对话框资源,向表单中按钮“人员统计”添加BN_CLICKED的消息映射,并添加相关代码。
(7)用户权限设置
添加三个对话框,标题分别为“修改密码”、“用户管理”、“登录”,ID分别为IDD_DIALOG_CHANGEPWD、IDD_DIALOG_USERMAN和IDD_DIALOG_LOG。
分别为三个对话框添加对应控件,修改按钮标题,为按钮添加BN_CLICKED的消息映射和相关源代码。
为菜单项用户管理的两个子菜单分别添加BN_CLICKED的消息映射,并添加相关代码。
记录的查询、添加、修改、删除以及记录总数和当前记录号的显示的实现结果如下:
(1)登录界面和主界面的实现
当系统运行时,将显示系统主界面,并弹出登录对话框,如图4.8所示。
图4.8教职工管理系统主界面
输入用户名“admin”和系统默认密码“000”,点击确定,进入主界面。
(2)全部教职工信息的显示
在主界面点击“全部记录”按钮,显示全部教职工记录。
如图4.9所示。
图4.9全部记录的显示
(3)教职工信息的查询
点击以上界面的“查询”按钮,在弹出的“教职工信息查询”对话框的“编号”编辑框中输入所要查询的教职工的编号,然后点击“确定”按钮,例如输入“1”,界面显示如图4.10所示。
如果输入的编号不存在,将返回主界面,查询结果为无记录。
图4.10教职工信息的查询
(4)教职工信息的添加
继上一步点击“添加”按钮,界面显示如图4.11
(1)。
如果直接点击“确定”,弹出提示对话框,如图4.11
(2)所示。
在图4.11
(1)中各编辑框中输入要添加的信息,点击“确定”按钮,显示如图4.11(3)所示。
点击弹出对话框中的“确定”,回到主界面,教职工信息记录增加了一条,如图4.11(4)所示。
图4.11
(1)教职工信息的添加
图4.11
(2)教职工信息的添加
图4.11(3)教职工信息的添加
图4.11(4)教职工信息的添加
(5)教职工信息的修改
在主界面中点击“修改”按钮,弹出如图4.12
(1)所示的对话框。
在记录列表中选中最后一行,点击“修改”按钮,弹出如图4.12
(2)所示的对话框;若将职称改为“高级”,点击“确定”,弹出提示对话框,点击“确定”,返回主界面,再对该教职工信息进行查询,显示结果如图4.12(3)所示。
图4.12
(1)教职工信息的修改
图4.12
(2)教职工信息的修改
图4.12(3)教职工信息的修改
(6)教职工信息的删除
在主界面选中最后一个记录,即编号为“44”、姓名为“依蜡雪”的记录,点击“删除”,结果如图4.13所示。
图4.13教职工信息的删除
(7)人员统计显示
在主界面点击“人员统计”按钮,弹出如图4.14所示的对话框。
图4.14人员统计显示
(8)用户权限管理
在菜单栏点击“用户管理”的“修改密码”、“用户信息管理”选项,分别弹出如图4.15
(1)和图4.15
(2)所示的对话框。
通过该对话框,可以修改系统登录密码。
图4.15
(1)用户权限管理
图4.15
(2)用户权限管理
选择菜单项“文件”中的子菜单项“退出”,退出系统。
5结束语
本课程设计主要运用SQLServer数据库管理系统,辅以VC++可视化编程完成了一个教职工管理系统的开发。
该系统具的主要功能为:
实现教职工信息(教师编号,姓名,性别,职工分类,职称,年龄,学历,职务,政治面貌等)的查询、添加、修改、删除,全
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 vc 教职工 信息管理 系统