高校教材管理系统(精选8篇)
高校教材管理系统 第1篇
高校教材管理系统
随着高等学校扩大招生情况的出现,每一个高校需要处理的各种教材的数量逐年倍增。如何改变低效率的原始教材管理方式,成为摆在高校管理人员面前的一个重要课题。而建立高效的教材管理系统就是一个解决此根本问题的思路。所以,这里为读者介绍一个高校教材管理系统的建模实例。
2.1需求分析
高校教材管理系统的功能性需求综述如下:
(1)高校的每个学生使用自己的姓名和学号登陆系统之后,可以查询自己每个学期的教材使用情况,也能够查询自己的教材费用。
(2)高校的每个老师使用自己的姓名和密码登陆系统后,能够查询自己教材的使用情况,也可查询自己的教材费用(供报销用)。
(3)系统管理员通过用户名和密码登陆系统后,能够输入教材订购计划,生成订购单,统计各个班级教材费用和教材使用情况,同时,还可以更新删除学生﹑教师﹑教材等各类信息。
2.2系统建模
在系统建模以前,我们首先需要在Rational Rose 2003中创建一个模型。并命名为“高校教材管理系统”,该名称将会在Rational Rose 2003的顶端出现,如下图2-1所示。
图2-1创建项目系统模型
2.2.1创建系统用例模型
创建系统用例的第一步是确定系统的参与者。高校教材管理系统的参与者包含以下三种:
(1)学生(2)教师(3)系统管理员
此三个参与者如图2-2所示。
图2-2 系统参与者图 2-3 学生用例图
然后,我们根据参与者的不同分别画出各个参与者的用例图。
(1)学生用例图:学生在本系统中可以进行登录、教材费用查询和教材使用情况查询的相关操作,通过这些活动创建的学生用例图如图2-3所示。
(2)教师用例图:教师在本系统中可以进行登录、查询教材费用和教材使用情况查询的操作,通过这些活动创建的教师用例图如图2-4所示。
图 2-4 教师用例图图 2-5 系统管理员用例图
(3)系统管理员用例图:系统管理员在本系统中可以进行登录、教材订购资料输入、生成订购单、统计教材费用、统计教材使用情况和管理各类信息的操作,通过这些活动创建的系统管理员用例图如图2-5所示。
2.2.2创建系统静态模型
从前面的需求分析中,我们可以依据主要六个类对象:学生、教师、班级、教材、库存和订单创建完整的类图如图2-6所示。
图2-6 系统类图
2.2.3创建系统动态模型
系统的动态模型可以使用交互作用图、状态图和活动图来描述。
2.2.3.1 创建序列图和协作图
1.学生在本系统中活动步骤分为:(1)进行注册个人信息(2)登录通过身份验证(3)选择查询的教材(4)查询使用情况(5)返回查询结果(6)退出系统。根据以上步骤创建的序列图和协助图,如下图2-7和图2-8所示。
图 2-7 学生序列图
图 2-8 学生协作图
2.表示教师的序列图和协作图与学生序列图和协作图相似,只是把学生换成了教师。
3.系统管理员在本系统活动的步骤分为:(1)进行注册个人信息(2)登录通过身份验证(3)管理学生信息、管理教师信息或管理教材信息。(4)退出系统。根据以上步骤创建的的序列图和协作图,如图2-9和图2-10所示。
图 2-9 系统管理员序列图
图 2-10 系统管理员协作图
2.2.3.2 创建活动图
我们还可以利用系统的活动图来描述系统的参与者是如何协同工作的。高校教材管理系统中,根据教材管理人员、学生和教师的活动步骤,我们可以创建活动图如下图2-11所示。
图 2-11 系统活动图
2.2.3.3 创建状态图
在高校教材管理系统中,有明确状态转换的类是系统参与者,在整个验证过程前后有各种不同的状态。本系统的状态图如下图2-12所示。
图 2-12 参与者状态图
2.2.4创建系统部署模型
对系统的实现结构进行建模的方式包括两种,即构件图和部署图。高校教材管理系统的构件图我们通过构件映射到系统的实现类中,说明该构件物理实现的逻辑类,在本系统中,我们可以对学生类、系统管理员类、教师类、教材库存、订单类、教材类和班级类分别创建对应的构件进行映射,创建的高校教材管理系统的构件图如图2-13所示。
.图2-13 系统构件图
高校教材管理系统的部署图描绘的是系统节点上运行资源的安排。包括四个节点,分别是:客户端浏览器、Http服务器、数据库服务器和打印机,创建后的部署图如图2-14所示。
图 2-14 系统部署图
高校教材管理系统 第2篇
1引言
随着现代科学技术的飞速发展,教学媒体愈来愈广泛地应用于教学实践,教学媒体是承载和传播(递)教学信息的载体或工具,教材这种最常用的教学媒体在教学过程中所体现的作用很大,在教师和学生之间起着桥梁和纽带作用,它能承载的信息量也是非常有利于学生的学习过程与内化过程,因此在选择和管理教材过程需要科学化、系统化的管理方式。
随着各高校办学规模的不断扩大,教材种类和数量也迅速增加,教材管理工作给教材购买和管理部门人员带来了很多困难,任务繁重,重复性工作较多,且容易受各方面因素的影响,效率较低。因此需要设计出一套适用于高校教材科的教材管理系统,以实现教材管理工作的现代化、系统化和规范化。本文基于实用性和创造性的设计思想,在.NET平台上,运用C/S三层模式,利用SQLserver数据库和C#语言等工具设计了基于.NET的高校教材管理系统。
2系统设计思想
教材管理系统运用了软件工程的原理与方法,对软件开发的各个时期的任务给予详细地分析和设计,充分保证了系统的实用性、可用性、易用性、先进性、扩展性、及时性、可靠性和安全性。在充分分析的基础上,系统将在Windows环境下,利用SQLServer数据库和C#语言在.NET平台上进行开发,并将系统设计为在三层C/S模式下,用户需要在局域网范围内且安装相应软件才能进行相关操作,将应用处理逻辑、复杂的统计检索等工作集中到服务器上实现,客户端主要负责与用户交互、事物处理等工作,同时系统开发和维护工作量也小。通过这种方式,使新开发的系统发挥其安全、科学、高效的特点。
3系统数据流程
教师根据教学计划和教学大纲选择合适的教材,通过院系审查后将订购教材的通知单交给教材科,由教材科根据库存进行教材的订购,进行相应教材的入库,根据教材销售情况记录出库情况,销售分为零售和班级领书,教师可通过领书单领取教师用书。同时在教材管理过程中还需要进行库存管理、报废处理等,所有的出库信息都将由财务处进行结算。
4教材管理系统的模块结构图
按照模块设计的原则,以功能聚合作为模块划分的最高标准得出教材管理的模块结构,共需9个模块,即基本信息设置模块,教材订购模块,销售管理模块,库存管理模块,退书管理模块,出入库统计模块,结算管理模块,报废管理模块和系统管理模块。
设计基本信息设置模块的目的是能够在系统的使用过程中,可以随时随地通过系统录入相关信息,使需要的数据更新及时、快捷且简单,增加了数据的准确性,主要完成:维护学院、专业、班级、出版社、供书单位、教材基本信息;可进行教材信息浏览,通过查询方式查看某个教材或某类教材的信息;可以导入外部excel文件。
教材订购模块主要是通过预定和计划方式将教材订购信息进行各类汇总,并生成对外订购计划,主要完成教师预定和对外订购计划,生成计划或读取以往的订购计划,形成对外订购计划单。
教材管理过程中的库存管理主要涉及教材的库存量、库位等信息,直接和教材对外订购相关,库存管理模块主要功能有入库管理,出库管理和盘点管理,每一个功能都能进行查询。
销售管理模块主要完成班级领书,教师领书,零售,教师领书、班级领书和零售查询和零售统计,通过选择日期来对零售进行日查询和月查询。
退书管理模块主要功能有班级退书,教师退书,零售退书:通过选择条件来查找要退回教材的情况,形成零售退书单,供货商退书以及各类退书管理的查询。出入库统计模块主要功能有出入库日统计和出入库月统计,通过设置起止时间可以查询到响应的出入库信息。
结算管理模块主要功能有班级领书结算和教师领书结算,从备选中选择想要结算的班级或书情况进行详情查询,进行结算,并可打印报表。
报废管理模块主要功能有报废管理,即输入报废原因,在查询框中可以输入报废书籍的信息,快速查找到相应书籍的信息,从备选教材中选择出要报废的书籍,输入报废数量,进行报废处理,得出报废表,并会自动修改统计报表。
系统管理模块主要实现用户管理和据库备份,方便管理系统和用户。
5据库设计
系统总的设计思想是通过访问数据库来进行读写查询等操作,在设计数据库的具体过程中,分别对各表进行了具体的分析和设置,最后进行数据库实施、运行和维护。
根据功能模块的划分结果可知,系统的用户基本上以管理员和教师为主。由于管理员和教师的权限和操作功能大不相同,系统中需要的数据实体有以下5个:
(1)管理员数据实体:只需要记录管理员的登录名、姓名和密码。(2)教师数据实体:包括教师姓名、学院等信息。(3)班级数据实体:用于记录班级的基本信息,方便管理和查询。(4)教材数据实体:用于记录教材的基本信息。(5)供货商数据实体:用于记录教材供应商的基本信息,以便订购教材时联系方便。
6系统特点
(1)协调性的提升。充分运用了人机工程学原理,使系统具有人性化、方便性、安全性、控制性和界面友好性。(2)可维护性与可扩充性较强。系统中各模块是相互独立而又彼此联系的实体,易于维护和扩充,从而提高了整个系统的可维护性和可扩充性。(3)可移植性高。系统是在.NET技术基础上完成的,而C#语言本身与平台无关,具有可移植性,所以本系统可以适用于不同的操作平台。
7结语
本文在研究了教材管理的重要性后,将管理信息系统理论、数据库理论、软件工程理论和先进的计算机技术引入到系统开发中,提出了基于三层C/S模型、.NET平台,用C#语言和SQLServer编写的高校教材管理系统,为高校教材管理工作提供了方便、科学的系统环境。该系统经过实际运行,基本上达到了设计要求和目的,满足了高校教材科的需求。
[参考文献]
高校教材管理系统的设计与实现 第3篇
1 SSH框架技术
在当今企业级应用解决方案中,Java Web应用已不再局限于企业级应用的开发,Internet上许多商业网站都有它的影子。一个基于Web框架开发Web应用的时代已经来临,Web框架技术表现出旺盛的生命力[2,3]。而基于SSH(Struts+Spring+Hibernate的简称)的Web框架是当今企业级开发的主流框架。
1.1 Struts
Struts是基于Java EE平台的经典MVC框架,主要采用Servlet和JSP技术来实现。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的时间中备受关注。Struts把Servlet、JSP、自定义标签和信息资源整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大地节省了时间,所以说Struts是一个非常不错的应用框架[4]。
1.2 Hibernate
Hibernate是一个开放源代码的对象关系映射框架,它对Java数据库连接(Java Data Base Connectivity,JDBC)进行了非常轻量级的对象封装,使得Java程序员可以随心所欲地使用面向对象方式来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java Application中使用,也可以在Servlet/JSP的Web应用中使用,最具有革命意义的是,Hibernate可以在应用Java的企业Bean(Enterprise Java Beans,EJB)的Java EE框架中取代委托容器管理的永续性(Container-Managed Persistence,CMP),完成数据持久化的重任[5]。
1.3 Spring
Spring框架是一个轻量级的控制反转(Inversion of Control,IoC)技术和面向切面编程(Aspect Oriented Programming,AOP)技术的容器框架,利用Spring框架中的IoC技术可以实现J2EE平台中所倡导的由容器实现对象的生命周期管理,而利用Spring框架中的AOP技术可以实现J2EE平台中所倡导的分离应用系统中业务逻辑组件和通用的技术服务组件[5]。
2 需求分析
软件需求分析的目标是深入描述软件的功能和性能,确定软件的约束和软件同其他系统元素的接口细节,定义软件的其它有效性需求[7]。
下面从教材管理工作的业务流程和功能需求两个方面进行描述。
2.1 教材管理工作业务流程
以新余学院为例,通过实地调研可以发现,参与到教材管理工作中的人员主要有教务秘书、教师、教研室管理员、教务处管理员、教材科管理员和学生六种。
核心业务流程如下:
1)教务秘书主要负责为本院系教师制定教学安排;
2)教师根据自己的教学安排进行教材等的申报;
3)教研室管理员对本教研室教师的申报信息进行初步审核;
4)教务处管理员对院系审核通过的申报信息进行二次审核;
5)教材科管理员根据二次审核通过的申报信息进行书籍的征订、入库、出库等操作;
6)学生查询自己的书籍使用情况及其费用。
2.2 功能需求
功能需求指定系统必须提供的服务。通过需求分析应该划分出系统必须完成的所有功能。具体说来,就是要分清系统中的角色以及为每个角色提供的服务[6]。
高校教材管理系统是一个高校用来对教材进行管理的管理信息系统。该系统能够方便满足相关人员的查询等操作,也能够提高高校教材管理工作的效率,降低管理成本。
根据不同的用户需求,系统应实现的主要功能有以下几个方面:
1)学生可以查询所使用的教材及其费用。
2)教师可以查询本人的教学安排,然后根据教学安排进行教材的申报,最后可以查询申报结果。
3)教研室管理员可以查询该教研室教师的教学安排,并对教师的教材申报记录进行审核。
4)教务秘书可以制定本院系的教学安排。
5)教务处管理员可以查询全校所有院系的教学安排及各院系教研室审核通过的教材申报记录,并对这些申报记录进行审核。
6)教材科管理员可以查询教务处审核通过的教材申报记录,以及对教材出入库的管理。
7)系统维护人员负责系统的维护工作,主要负责数据库的备份和恢复。
通过需求分析,我们得知需要提供的功能主要包括个人信息管理模块、信息查询模块、教材申报管理模块、教材科信息管理模块、院系信息管理模块、文件信息管理模块及数据库信息管理模块。
3 总体设计
总体设计主要是指在系统分析的基础上,对整个系统的划分(子系统)、机器设备(包括软、硬设备)的配置、数据的存贮规律以及整个系统实现规划等方面进行合理的安排[8]。
3.1 体系结构设计
本系统采用目前主流的SSH三层架构技术,SSH三层架构技术是目前流行的MVC框架之一。典型的J2EE三层结构,分为表现层、业务逻辑层和持久层。该系统的架构图如图1所示。
3.2 功能设计
通过系统需求分析,可以将系统分为七个模块:个人信息管理模块、教材申报管理模块、信息查询模块、教材科信息管理模块、院系信息管理模块、文件信息管理模块及数据库信息管理模块。系统功能结构图如图2所示。
个人信息管理模块包括用户密码的修改、登录日志查询;教材申报管理模块包括制定教学安排、查询教学安排信息、教材申报、教材申报两重审核、审核结果查询;信息查询模块主要是针对学生书籍费用的查询;教材科信息管理模块包括书籍、作业本、实验报告纸的出入库信息及其它信息的管理;院系信息管理模块主要是角色的分配管理、行政单位的设置及一些基本信息的管理;文件信息管理模块包括文件的上传和下载;数据库信息管理模块主要是针对系统维护人员进行数据库的备份和恢复。根据需求分析可知系统角色共分为:学生、教师、教研室管理员、教务秘书、教务处管理员、教材科管理员及维护人员七种,不同的角色在不同的管理模块要实现的功能也不尽相同。
4 详细设计与实现
在该系统开发的过程中,涉及到的功能模块比较多,该文仅以制定教学安排、申报教材、审核申报结果等几个功能设计和实现过程为例进行具体的描述。
4.1 制定教学安排功能
制定教学安排是针对教务秘书实现的主要功能。教务秘书可以对本院系的教师进行教学任务的安排。
1)教学安排制定功能的工作流程描述如下:
(1)教务秘书进入教学安排制定界面,提交添加信息。
(2)系统将教务秘书提交请求传递给相关的控制对象,检查添加信息是否合法。如果信息合法,对信息进行查询。如果信息不存在,将信息添加到相关的数据表中。
(3)控制对象将添加结果返回到教学安排制定界面显示。
(4)教务秘书在教学安排制定界面获得添加结果。
2)该功能实现过程中各框架的职能:
(1)JSP在该功能中负责完成与用户的交互,包括添加前界面的显示、添加信息失败界面的显示以及添加成功后主界面的显示。
(2)Struts在该功能中负责处理用户提交的表单JiaoxuejihuaForm,Struts控制器根据配置将用户请求转交给Spring代理处理,处理完成后返回ActionForward对象,Struts控制器再根据该对象返回给用户添加成功或是失败的JSP页面。
(3)Spring在该功能中接受来自Struts控制器的请求,并根据请求参数jiaoxuejihua.do将该请求分发到JiaoxuejihuaAciton处理,该Action调用IJiaoxuejihuaDAO对象的isExist()方法,如果该方法返回true则表明添加失败,否则调用IJiaoxuejihuaDAO对象的addJiaoxuejihua()方法添加信息。
(4)Hibernate在该功能中负责在数据库映射实体中执行添加查询操作。
教务秘书制定教学安排成功界面如图3所示。
4.2 申报教材功能
教材申报功能是针对教师实现的主要功能。教师可以对根据本人的教学安排进行学生用书、教师参考书和教师用书的申报。
1)教材申报功能的工作流程描述如下:
(1)教师进入教材申报界面,并提交申报信息。
(2)系统将教师提交的申报信息传递给相关的控制对象,检查申报信息是否合法。如果信息合法,到相关的数据表中对申报信息进行查询,判断是否可以添加。如果可以添加,将信息添加到相关的数据表中。
(3)控制对象将添加结果返回到教材申报界面显示。
(4)教师在教材申报界面获得申报结果。
2)该功能实现过程中各框架的职能:
(1)JSP在该功能中负责完成与用户的交互,包括申报前界面的显示、申报失败信息的显示以及申报成功后主界面的显示。
(2)Struts在该功能中负责处理用户提交的表单ShujishenbaoForm,Struts控制器根据配置将用户请求转交给Spring代理处理,处理完成后返回ActionForward对象,Struts控制器再根据该对象返回给用户添加成功或是失败的JSP页面。
(3)Spring在该功能中接受来自Struts控制器的请求,并根据请求参数shujishenbao.do将该请求分发到ShujishenbaoAciton处理,该Action调用IShujishenbaoDAO对象的isExist()和isExist2()方法,如果该方法返回true则表明添加失败,否则调用IShujishenbaoDAO对象的addShujishenbao()方法,对用户提交的信息进行添加。
(4)Hibernate在该功能中负责在数据库映射实体中执行添加查询操作。
教师申报教材成功界面如图4所示。
4.3 审核申报结果功能
教材申报审核主要包括系审核和院审核两层。系审核主要由各院系教研室管理员进行,院审核由教务处相关负责人进行。该文主要以系审核为例进行描述。
1)系审核申报结果功能的工作流程描述如下:
(1)教研室管理员进入教材申报结果查询界面,并提交审核请求。
(2)系统将教研室管理员提交的审核请求传递给相关的控制对象。
(3)控制对象向数据库表中插入修改后的数据。
(4)控制对象将审核结果返回到教材申报结果查询界面显示。
(5)教研室管理员在教材申报结果查询界面获得审核结果。
2)该功能实现过程中各框架的职能:
(1)JSP在该功能中负责完成与用户的交互,包括审核前后界面的显示。
(2)Struts在该功能中负责处理用户提交的请求,Struts控制器根据配置将用户请求转交给Spring代理处理,处理完成后返回ActionForward对象,Struts控制器再根据该对象返回给用户审核后的JSP页面。
(3)Spring在该功能中接受来自Struts控制器的请求,并根据请求参数xishenhe.do将请求分发到ShenheAciton调用IShenheDAO对象的shenhe()方法。
(4)Hibernate在该功能中负责根据数据库中映射实体执行修改和查询操作。
5 结束语
高校教材管理系统以学校教材管理的基本业务流程为基础,应用Struts、Hibernate、Spring技术,使开发的系统具有较好的可用性、可重用性、可维护性和扩展性,使教材管理工作更加现代化、规范化,从而达到提高工作人员工作效率的要求。
参考文献
[1]舒克,金杨.高校教材管理工作创新探究[J].法制与社会,2009,12(下):258-259.
[2]刘中兵.开发者突击——Java Web主流框架整合开发[M].北京:电子工业出版社,2009:3-13
[3]张莉.基于J2EE架构的教材管理系统的设计与实现[D].大连:大连理工大学,2009
[4]吴王平.基于J2EE的高校采购系统的研究与设计[D].杭州:浙江工业大学,2009
[5]刘斌.精通Java Web整合开发[M].北京:电子工业出版社,2008:3-5
[6]王福强.Spring揭秘[M].北京:人民邮电出版社,2009:1-5
[7]张海藩,等.软件工程导论[M].北京:清华大学出版社,2009:54-73
高校教材管理刍议 第4篇
高校教材管理人性化构建论文 第5篇
(1)人性化管理对教材管理系统的要求。这里我们可以以浙江大学城市学院的教材管理系统做例子,很好的说明它在人性化方面的优势。教材系统基本信息是管理学生、教材的基本信息,学生的学籍更改,教材项的更新等。订单管理是特色管理,生成班级数据,做到每门课程教材下面具体学生姓名,还可以提供供应书商分包单,便于打包发放。入库是以实物导入系统,生成入库清单进行结算,出库是对学生领用教材的扣款,精确到每个人。库存管理是做到实物和系统数据完全统一,便于教师和管理人员查询。数据审核后,学生可以通过web网对自己本学期的教材进行核查,如有问题可以及时到教材印刷中心进行更正,做到完全透明。
(2)人性化管理对工作人员的要求。现在学分制下的教材管理都是全信息化管理,所以需要工作人员具备较高的学历和实际操作能力。能熟练的应用系统,能教材的入出库、统计、查询等很好的进行。还有多进行自我的提升,比如业务学习,自我思考,参加一些同行的座谈,吸取好的经验。不断研究如何更好管理教材。
(3)人性化管理对教材供应和发放的要求。这里以浙江大学城市学院教材印刷中心为例,最大的亮点就是给班级编码,教材联动编码,然后按照班长所在的宿舍楼,打包送书上门,让学生不用排长队到教材中心领取,极大方便了学生,又节省时间和提高效率。400多个班级,在一天时间都发放完毕,每个供应商只需要用时2小时就做到了。这在省内高校中也是创新带头作用的举措,是真正为学生谋福利的一种工作管理模式。这就需要书商和教材印刷中心有良好的沟通,教材一律公开招标采购,减少中间环节,最大限度获得让利折扣。
综上所述,教材管理是一种全新的模式,按照“人性化”的管理要求,不断创新、改进,更好的服务教师和学生,在教学管理中起到重要辅助作用。推动高校的教材往健康、高效、和人性化方向发展。
【参考文献】
石瑞祥.学分制下教材供应模式的研究【j】哈尔滨学院学报,,(6)
徐绍金,陈永莉.高校教材管理工作初探【j】.中国民营科技与经济,,(9):90-92
高校人员信息管理系统 第6篇
开发一个简易的高校人员信息管理系统,主要针对高校人员的基本信息进行管理。采用对象链表或对象数组存放各个对象,实现新增、修改、删除、查询以及统计等功能。
下面源代码用c++三段式格式实现 ** peo.h**
#ifndef _P #define _P class person {
protected:
char number[30];//学号
char name[30];//姓名
char sex[30];//性别
int age;//年龄
char department[30];//部门
char tel[30];//联系方式
person *next;
// 基类的指针作为next指针 public: friend class manage;person(char a[],char b[],char c[],int d,char e[],char f[]);~person();virtual void change(const char*)=0;virtual void display()=0;virtual void save()=0;};
class student:public person //学生类 { protected: char grade[30];//班级
char major[30];//专业
double result;//成绩 public: student(char a[],char b[],char c[],int d,char e[],char f[],char g[],char h[],double i);~student();void save();void change(const char*);void display();//在派生类实现具体方法,即所谓的“多种方法” };
class teacher:public person {
protected: char title[30];//职称
char major[30];//专业 public: teacher(char a[],char b[],char c[],int d,char e[],char f[],char j[],char k[]);~teacher();void save();void change(const char*);void display();//在派生类实现具体方法,即所谓的“多种方法” };
class worker:public person {
protected: char job[30];//职务
char rank[30];//级别 public: worker(char a[],char b[],char c[],int d,char e[],char f[],char l[],char m[]);~worker();void save();
void change(const char*);void display();//在派生类实现具体方法,即所谓的“多种方法” };//template
protected: static int count;//人员数量
person *head;
//链表头指针 public:
manage();~manage();void insert(person*);//添加人员信息
插入结点
void add();void search(const char*);//按学号查询信息
void del(const char*);//删除人员信息
void change(const char* s);//修改人员信息
void display();//显示
显示结点信息
void save();//保存
将所有人员信息写入到文件 };#endif //****************************
2**peo.cpp*************************// #include“peo.h” #include student::student(char a[],char b[],char c[],int d,char e[],char f[],char g[],char h[],double i):person(a,b,c,d,e,f){ strcpy(grade,g);strcpy(major,h);result=i;} student::~student(){} void student::display(void){ cout<<“学号”< 姓名 性别 年龄 部门 联系方式 班级 专业 成绩”< teacher::teacher(char a[],char b[],char c[],int d,char e[],char f[],char j[],char k[]):person(a,b,c,d,e,f){ strcpy(title,j);strcpy(major,k);} teacher::~teacher(){} void teacher::display(void){ cout<<“学号”< 姓名 性别 年龄 部门 联系方式 职称 专业”< worker::worker(char a[],char b[],char c[],int d,char e[],char f[],char l[],char m[]):person(a,b,c,d,e,f){ strcpy(job,l);strcpy(rank,m);} void worker::display(void){ cout<<“学号”< cout<<“打开文件失败”;} file1< 姓名 性别 年龄 部门 联系方式 职务 级别”< /*******************************************************************************/ manage::manage(){ head=0;cout<<“链表开始”< void manage::insert(person *i){ person *node;if(head==0){ head=i; head->next=0;} else { node=head; while(node->next) node=node->next; node->next=i; i->next=0;} } void manage::search(const char* s)//按学号查询人员信息 { person* node=head;int flog=0;while(node){ if(strcmp(node->number,s)==0) { flog=1; node->display();//显示查询结果 break; } else node=node->next;} if(flog){ // node->display(); cout<<“查找成功”< cout<<“未找到该结点”< void manage::del(const char* s)//按学号删除人员信息 { person *node1,*node2;int flog=0;node1=head;if(strcmp(head->number,s)==0){ head=head->next; node1->~person(); flog=1;} else { while(node1) if(strcmp(node1->number,s)==0) { node2->next=node1->next; node1->~person(); flog=1; break; } else { node2=node1; node1=node1->next; } } if(!flog) cout<<“未找到要删除的结点”< cout<<“结点被删除”< cout<<“空链表”< node=head; while(node) { node->display(); node=node->next; } } } void manage::save(){ person *node;if(head==0) cout<<“空链表”< node=head; while(node) { node->save(); node=node->next; } } } void manage::change(const char* s)//按学号修改人员信息 { person* node=head;int flog=0;while(node){ if(strcmp(node->number,s)==0) { flog=1; node->change(s);//显示修改结果 break; } else node=node->next;} if(flog){ // node->display(); cout<<“修改成功”< cout<<“未找到该结点”< void manage::add() //添加人员信息 { cout<<“****************************添加*****************************”< 人员人员管信息 理系统 cout<<“ 请选择需要操作的对象:(选择其他则退出)”< 1.学生”< 2.老师”< 3.职工”< cin>>i; cout<<“请输入个人信息”< if(i==1){ cout<<“请输入班级、专业、成绩”< a=new student(number,name,sex,age,department,tel,grade,major,result); //table.insert(a);} if(i==2){ cout<<“请输入职称及专业”< a=new teacher(number,name,sex,age,tel,department,title,major);//table.insert(a);} if(i==3){ cout<<“请输入教职工的职务及级别”< a=new worker(number,name,sex,age,tel,department,job,rank);//table.insert(a);} insert(a);save(); } display();cout<<“***添加成功***”< { int j=0,k=1; char number[30]={0}; manage table;//定义一个对象 while(k) { system(“cls”); cout<<“**********************************高校人员管理系统***************************”< cout<<“ 请选择需要操作:(选择其他则退出)”< cout<<“ 1.添加人员信息”< cout<<“ 2.查询人员信息”< cout<<“ 3.删除人员信息”< cout<<“ 4.保存人员信息”< cout<<“ 5.显示人员信息”< cout<<“ 6.修改人员信息”< cin>>j; switch(j) { //read(i); case 1://添加 { table.add(); //table.display(); }break; case 2://查询 { cout<<“请输入需要查询的号码”< cin>>number; table.search(number); }break; case 3: //删除 { cout<<“请输入需要删除的号码”< cin>>number; table.del(number); }break; case 4://保存 { cout<<“文件已保存”< }break; case 5://显示 { table.display(); }break; case 6://修改 { cout<<“请输入需要修改的号码”< cin>>number; table.change(number); }break; default: system(“cls”);//清屏 break; // return 0; } cout<<“ 0.退出操作 cin>>k; } } 继续操作”< 在调研的过程中,根据用户需求了解到,不但各种管理工作,数据统计等工作都完全在计算机上完成并形成报表,而且学校各部门、教师和学生都能通过终端软件查询数据库中的信息,并根据权限对数据进行增加或修改。在着手设计之前,需要对实际情况进行全面调查,对用户需求进行详细分析,为系统成功、准确地实施提供保证。 2、功能要求 学生档案管理: 学生的一般情况; 学生成绩管理: 学习成绩,补考成绩; 住宿管理:学生宿舍情况 .1学籍管理.学生基本信息(学号,姓名,曾用名,性别,出生年月,民族,政治面貌,身份证号,籍贯,生源地省(市),家庭地址,邮编,健康状况) 家庭成员(学号,家庭成员关系,家庭成员姓名,家庭成员联系地址,邮编,联系电话) 个人补充信息(学号,通讯地址,手机,QQ,[E-mail],个人特长,社会实践经验,备注) 2.成绩管理 课程(课程号,课程名) 选修(学号,课程号,学期代码,成绩,绩点) 课程设置(课程号,专业名称,学期代码,考核方式学分) 3住宿管理 寝室(寝室号,楼号,寝室电话,床位数,住宿收费标准) 近年来,高校招生规模不断扩大,学生人数超过万人的大学相当普遍。高校实行学分制以后,选修课的开设越来越多,教材管理任务十分繁重。教材管理工作手段落后,工作效率偏低,制约了教材工作的发展。一方面,教材工作量加大,特别是学分制的实行,学生选课的随机性随之增大,打破了专业、系科的限制,同时不受学制年限的制约,选修课门类多,上课学生人数难以精确统计,更是增加了教材工作的难度;另一方面,有些高校对教材管理工作重视不够,投入不足,相应的计算机软件还没有应用到教材管理工作中,工作手段仍然停留在手工操作层面,远远不能适应高校教材改革的需要。 针对以上问题,笔者开发了基于.net的教材管理系统。本系统实现了教材管理工作所需要的功能,主要包括教材进货管理、教材出售管理、教材库存管理、教材基本信息管理、系统管理、查询统计管理等功能。该系统解决了大量订购书籍信息、查询书籍信息等问题,帮助学校工作人员和学生及时了解图书信息,大大提高了教材管理工作的效率。 1 系统需求分析 1.1 系统业务流程分析 教材管理系统主要业务包括教材进货管理业务、教材销售管理业务等。教材进货管理业务流程首先是由教务处提供学生选课情况;其次,生成教材订单,并核对教材订单是否有误;然后,生成教材采购单;最后,将采购的书籍入库,更改系统库存。其教材进货管理系统业务流程如图一所示。 1.2 系统功能分析 (1)教材进货管理:本模块主要是操作员录入采购的各种教材信息。教务处发布学期教材订购信息,教材中心核实教材采购单,订单若无差错则进行教材采购工作,教材采购完成进行教材入库。系统可以对教材采购订单和入库工作进行统一管理和维护。 (2)教材销售管理:教材销售模块主要涉及教材发放工作。教材入库后对教材进行发放,在教材发放结束后要对库存数量进行相应的修改,以确保数据库中数据与实际库存相符合。发放教材完毕,计算教材成本,并对教材进行结算备注。 (3)库存管理:库存管理模块是用于教材出入库,是对数据库的操作,保证数据库中数据与实际库存相符。同时,当库存出现异常时,会发生库存报警。 (4)查询统计管理:本模块应具有灵活的查询统计功能,主要是展示提供给操作人员及管理员其所需要的各类数据的查询与统计。可提供每日、旬、月的各种业务数据报表,报表的结构和内容更加灵活,查询更加方便。 (5)系统管理:本模块应含有系统权限管理、用户管理、出版社信息管理等子模块。其中,权限管理具有灵活的配置功能,因为随着系统新的需求不断出现,可能出现新的角色,人员分工需要调整,这就要求系统权限能够灵活授权。 2 系统总体设计 2.1 系统架构设计 教材管理系统Web应用程序使用三层架构实现,其架构模型如图二所示。三层架构即表现层、逻辑层、数据层分离。在部署上表现层为Web客户端浏览器,逻辑层对应Application Serve(XML Web Service),数据层对应Database Server(SQL Server)。 2.2 系统功能划分 根据教材管理系统功能需求,主要将系统功能模块进行划分,包括基本信息管理模块、查询统计模块、教材进货管理模块、教材销售管理模块、系统管理模块、教材信息管理模块、库存管理模块等。其中,教材进货管理模块主要包括教材采购管理、教材入库管理、教材计划管理等功能;教材销售管理模块主要包括发放教材、计算成本、结算备注管理等功能;系统管理模块主要包括系统权限管理、数据库管理、系统日志管理、用户管理等功能;教材基本信息管理主要包括教材征订查询、教材发放查询、教材采购查询、教材信息管理等功能;系统基本管理主要包括出版社管理、管理员信息管理等功能;库存管理主要包括查询库存信息、库存预警等功能。其系统功能划分如图三所示。 2.3 数据对象设计 通过对教材管理系统进行详细的需求分析,可以得出以下几个主要的对象类:(1)对象类教材信息表,主要属性有教材编号、教材名称、教材类别、教材作者、出版社名称、教材ISBN号等。(2)对象类教材进货,主要属性有教材进货编号、用户编号、出版社名称、教材类别、教材名称、进货数量、进货时间、进货价格、需要金额、实收金额、备注。(3)对象类出版社信息,主要属性有出版社编号、出版社名称、出版社负责人、出版社电话、出版社地址。(4)对象类用户,主要属性有用户编号、班级名称、负责人、负责人电话、所属学院。(5)对象类库存,主要属性有教材名称、库存数量。(6)对象类教材发放,主要属性有教材发放编号、管理员编号、用户编号、教材名称、教材数量、发放教材时间、教材进货价格、付款金额、已付款金额、备注。(7)对象类管理员,主要属性有管理员编号、管理员姓名、系统操作员姓名、密码、性别、身份证号、管理员电话、住址、管理权限。 3 系统实现 3.1 教材基本信息功能实现 教材基本信息模块是只有系统管理员才可以进行操作的模块,其模块的主要功能包括添加教材信息、修改教材信息、删除教材信息。教材信息主要包括教材的名称、出版社、作者、教材类别、教材的IS-BN。此模块的重要性在于,为后面的模块提供了教材信息操作的数据基础。其系统实现界面如图四所示。 3.2 教材进货模块的实现 教材进货模块是本系统的一个主要功能模块,其中包括了教材采购的管理和教材采购信息查询。在教材采购模块,对教材采购信息进行添加、修改、删除等操作。用户分为管理员和操作员,对教材采购信息的管理是有区别的,管理员可以管理所有用户的教材采购信息,而操作员只能管理自己记录的教材采购信息。采购教材界面如图五所示。 4 结束语高校学生管理系统1 第7篇
高校教材管理系统的设计与实现 第8篇







