IT培训机构信息管理系统.docx
《IT培训机构信息管理系统.docx》由会员分享,可在线阅读,更多相关《IT培训机构信息管理系统.docx(31页珍藏版)》请在冰豆网上搜索。
![IT培训机构信息管理系统.docx](https://file1.bdocx.com/fileroot1/2023-1/31/0a9a9694-b0ed-4c97-9132-5bbbb9a71cba/0a9a9694-b0ed-4c97-9132-5bbbb9a71cba1.gif)
IT培训机构信息管理系统
学习中心编号:
XXXX
学习中心名称:
XXXXXXXXX
XXXXXXX
IT培训机构信息管理系统
学生姓名邱会会
学号1122871113001
类型网络教育
专业计算机科学与技术
层次专升本
指导教师XXXXXX
日期2013-10-04
IT培训机构信息管理系统
摘要
随着IT培训机构的规模不断扩大,学生数量急剧增加,有关学生、老师、课程等各种信息量也成倍增长。
面对庞大的信息量,就需要有IT培训机构管理系统来提高管理工作的效率。
本系统是根据现代化培训机构的发展而设计的IT培训机构管理系统,主要包括培训机构的学生管理、老师管理、课程管理、学生成绩管理等基础信息。
通过本系统可以实现全校学生信息、成绩信息在线查询;可以实现信息的修改及重新录入;可以实现IT培训机构所开设课程的在线查询及选课操作;还可以实现对信息的统计及打印等操作。
本系统界面友好,操作简单,比较实用,极大地方便了IT培训机构对学生的各种信息管理,提高了工作效益。
关键词:
IT培训机构,信息管理系统,培训基本信息管理
目录
摘要2
一、背景5
二、系统概述6
(一)系统软硬件环境以及工具6
(二)关键技术说明7
1.MVC设计模式7
2.Struts2框架9
3.Spring框架9
4.Mybatis框架11
5.MySQL框架11
三、可行性分析13
(一)技术可行性13
(二)经济可行性13
(三)运行可行性14
四、系统设计14
(一)需求分析14
(二)系统功能的分析15
(三)软件设计15
1.系统功能模块总体设计15
2.详细设计16
(四)数据库设计17
1.设计要求17
2.数据库需求分析18
3.数据库概念结构设计19
4.逻辑视图21
5.数据字典21
五、系统实现24
(一)登录功能25
(二)首页(综合)展示26
(三)基本信息维护26
(四)培训需求管理27
(五)统计报表管理28
(六)系统管理29
六、系统测试30
(一)单元测试31
(二)组合测试31
(三)确认测试31
(四)系统测试31
(五)用户验收测试32
七、结束语32
参考文献33
一、背景
IT管理信息系统简称ITMIS(ITManagementInformationSystem),系统在强调信息数据管理,管理是以信息数据为基础,以信息化管理为手段,以数据分析为核心,从而提供人们的工作效率IT管理系统。
ITMIS是汇集了多个领域科学,例如计算机科学、管理科学、统计科学等。
系统形成信息数据收集、处理、分析的过程,从而形成一个统筹管理的系统。
管理信息系统起初应用于最基础的工作,如打印报表、计算工资、人事管理等,进而发展到企业财务管理、库存管理等单项业务管理,这属于电子数据处理(EDP,ElectronicDataProcessing)系统。
当建立了企业数据库,有了计算机网络从而达到数据共享后,从系统观点出发,实施全局规划和设计信息系统时,就达到管理信息系统的阶段。
随着计算机技术的进步和人们对系统的需求进一步提高,人们更加强调管理信息系统能否支持企业高层领导的决策这一功能,更侧重于企业外部信息的收集、整合数据库、模型库、方法库和其他人工智能工具能否直接面向决策者,这是决策支持系统(DSS,DecisionSupportSystem)的任务。
我国20世纪70年代末有少数企业开始MIS的局部应用。
“六五”期间,选择一些大型企业进行MIS的开发试点,其中首都钢铁公司、北京第一棉纺厂、湖北第二汽车制造厂、宁江机床厂等取得了经验。
20世纪80年代中后期,在全国性的计算机应用热潮中,许多企业纷纷从财务管理、人事管理等单项应用入手,尝试建立MIS。
许多企业,如北京内燃机厂、北京电视机厂、沈阳鼓风机厂、天津渤海无线电厂的MIS初具规模,建立了覆盖全厂的计算机网络。
“八五”期间,企业逐步走向市场,MIS建设的目标和需求日益明确。
一些企业的系统,如北京第一机床厂、山西经纬纺织机械厂、成都飞机制造公司等都达到了很高的水平,与企业中其他系统集成,形成了CIMS。
目前,我国MIS已经有了相当的普及率,几乎覆盖了各个行业及各个部门。
在培训学校或培训机构,对于学生的管理是相当重要,而且也是相当麻烦的,它是学校管理中最基本的一项日常性工作。
而现在严重最突出的问题:
一是,学校管理都是依赖人工来进行的,面对如此众多的学生信息,其工作量是相当相当巨大的;
二是,每一个老师都有自己的管理方式,汇总或统计学生信息时,又需要大量的人力和时间去整理;
三是,这样不仅仅浪费了大量的人力物力,而且由于人工管理存在着大量的不可预知性,造成学生信息管理的一些不规范,使得信息管理陷入“事倍功半”的地步。
四是:
先市场有许多类型软件系统,但对一些小型学校或培训机构,成本高,而这些人员流动快,因此增加了系统使用培训的成本。
综合以上问题,可以发现现在市场上需求免费的基本功能的信息化管理软件,同时可以根据客户需求,在基本功能上提供个性化信息管理软件。
二、系统概述
根据社会背景,开发本系统就是为了解决小型学校在管理中的一些不规范,使学生信息的管理向着规范化、简单化、有效化的方向发展。
系统操作简单,无需培训就能操作。
根据学生信息管理系统的基本流程和培训班学生信息管理的实际要求,本系统需要实现以下功能:
1)学生基本信息的录入,基本信息包括学生的基本情况、所在班级、所学课程和成绩等;
2)要求在系统中能够对学生信息快速的浏览和查询;
3)要求在系统中能够对班级信息进行输入、查询和修改等;
4)要求能够对学校基本课程信息录入、修改和设置等;
5)要求能够对学生成绩信息进行输入、修改和查询等;
6)基于权限的管理,本系统可以提供给管理员或者学生本人使用。
对学生类用户,只能查看信息;而对于管理员类用户而言,可以管理所有的学生信息。
以上是系统基本功能软件需求,系统具有低耦合,稳定安全,模块化开发等特点,可以快速进行二次开发(个性化开发)。
(1)系统软硬件环境以及工具
系统开发环境包括硬件平台和软件平台两种:
1.硬件平台
硬件平台是指开发与运行所需要的硬件环境,主要包括计算机机型及硬件配置。
由于本系统是一个小型的MIS管理系统,因此对计算机硬件的要求不高,比较经济,只要配备有E57002.0GHZ(或以上)、DDR1G内存(或以上)、60G硬盘(或以上)的普通微机即可顺利运行。
2.软件平台
目前,国内外主流的系统厂商均采用JavaWeb技术体系的MVC框架(JSP+struts2+spring+Mybatis),采用B/S(Browser/Server,浏览器/服务器)结构通信,实现系统所有功能。
基于Java体系的框架成熟及成本低廉(成熟的免费、开源框架很多),所以从我们系统自身的需求考虑,同样确定优先选择使用Java作为平台主要的开发语言,选择java相关的基础开发框架作为平台实现的基础开发框架。
本系统软件开发使用开源框架:
struts2、spring3.5、Mybatis3、MySQL5.6、jquery等。
软件开发过程使用工具:
MyEclipse8.5、Tomcat6.0、AxureRPPro6.5、OFFICE办公软件、ezdml(数据模型)等。
(2)关键技术说明
1.MVC设计模式
MVC是一个WEB程序的设计模式,它强制性的使应用程序的输入、处理和输出分开。
使用WEB应用程序被分成三个核心部件:
模型、视图、控制器。
它们各自处理自己的任务。
M(model)主要由javaclass来做,也可以是javabean、ejb等;
V(view)由JSP来做;
C(controller)由servlet来做。
图2.1MVC的设计流程
上图大体描述了MVC设计模式的处理流程,可以发现MVC的处理流程最终要的就是输出和跳转的问题。
值得注意的是,由于所有的内容都是交给JSP进行页面的显示,那么这个时候最方便的属性范围就是request属性范围。
对于最合适的属性范围简单概括一下就是:
能用page(pageContext)属性范围的就不要使用request属性范围,能使用request属性范围的就不要使用session属性范围,能使用session属性范围的就不要使用application属性范围。
从实际的开发方面考虑,session属性范围用于登陆验证上使用较多,而request属性范围的主要功能就是在MVC设计模式上,就是将Servlet的内容交给JSP显示,而且这种显示在另外一次提交之后属性就消失了。
该系统主流开发语言采用java,基础开发框架采用struts2+spring+Mybatis,支持跨系统。
图2.1Struts2+spring+mybatis实现原理
2.Struts2框架
struts是开源软件。
使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。
Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts2可以理解为WebWork的更新产品。
图2.2Strut工作原理
3.Spring框架
Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
◆目的:
解决企业应用开发的复杂性
◆功能:
使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
◆轻量——从大小与开销两方面而言Spring都是轻量的。
完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。
并且Spring所需的处理开销也是微不足道的。
此外,Spring是非侵入式的:
典型地,Spring应用中的对象不依赖于Spring的特定类。
◆控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。
当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。
你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
◆面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。
应用对象只实现它们应该做的——完成业务逻辑。
它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。
◆容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。
然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。
◆框架——Spring可以将简单的组件配置、组合成为复杂的应用。
在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。
Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。
所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。
它们也为Spring中的各种模块提供了基础支持。
图2.3Spring结构
4.Mybatis框架
MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apachesoftwarefoundation迁移到了googlecode,并且改名为MyBatis。
MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。
MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。
MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(PlainOldJavaObjects,普通的Java对象)映射成数据库中的记录。
每个MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得。
SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。
用xml文件构建SqlSessionFactory实例是非常简单的事情。
推荐在这个配置中使用类路径资源(classpathresource),但你可以使用任何Reader实例,包括用文件路径或file:
//开头的url创建的实例。
MyBatis有一个实用类----Resources,它有很多方法,可以方便地从类路径及其它位置加载资源。
图2.4Mybatis框架
5.MySQL框架
MySQL是开源免费的SQL数据库管理系统,可用于各种流行操作系统平台的关系数据库系统。
MySQL完全适用于网络,用其建造的数据库可在因特网上的任何地方访问,因此,可以和网络上任何地方的任何人共享数据库。
MySQL具有功能强、使用简单、管理方便、运行速度快、可靠性高、安全保密性强等优点。
MySQL用C和C++编写,它可以工作在许多平台(Unix,Linux,Windows)上,提供了针对不同编程语言(C,C++,JAVA等)的API函数;使用核心线程实现多线程,能够很好的支持多CPU;提供事务和非事务的存储机制;快速的基于线程的内存分配系统;
图2.5MySQLServer架构图
数据库技术具有如下特点:
1)数据结构化
数据结构化不仅指数据库中数据文件自身是有结构的(由记录的型体现),更重要的是指数据库中的数据文件以特有的形式相互联系。
2)数据独立性高
数据独立性简单地讲是指数据独立于应用程序,即一方的改变不引起另一方的改变。
数据库系统的二级映像保证了独立性的实现。
3)共享性高、冗余度低
数据库的三级模式中,每个子模式都是模式的子集。
当增加新的应用时,仅增加一个新的子模式定义。
相同的数据可以被多个用户、多个应用共享,而在物理上这些数据仅存储一次,冗余度低。
数据的一致性指反映同一客观事物的数据无论在何时何地出现都是相同的。
4)DBMS的集中管理
DBMS不仅仅只是提供了对数据库的三级模式和二级映射的支持,而且对数据的并行操作性、安全性、保密性、完整性和可恢复性都提供了保证,使得在更大范围的(如Internet环境)数据共享成为可能。
5)方便的用户接口
在数据库系统中,DBMS除了提供数据描述语言DDL外,还提供数据操作语言DML(DataManipulationlanguage)。
用户使用DML语言可以很方便地访问数据库中的数据,例如SQL(StructureQueryLanguage)。
其次,相当多的DBMS还提供了可视化的编程方式以方便应用程序的开发,如VisualFoxPro的菜单生成器、表单生成器、报表生成器等;或者为用户使用其他第三方语言开发应用程序提供访问数据库的统一接口,如ODBC和JDBC等。
三、可行性分析
本系统是根据现代化教学的需要而开发的,方便、易操作及美观的界面给用户节省了不少宝贵的时间,全面实现对学生信息的输入、输出、修改、检索、插入和资料的打印等业务的计算机管理,大大减轻了管理工作人员的工作量,全面提高了管理效率。
(1)技术可行性
基于java体系的框架成熟及成本低廉(成熟的免费、开源框架很多),所以从我们平台自身的需求考虑,优先选择使用java作为平台主要的开发语言,选择Java相关的基础开发框架作为平台实现的基础开发框架。
因此,在技术上是可行的。
(2)经济可行性
估算本系统的成本效益分析,其中包括估计项目开发的成本(人、设备、沟通),以及商用后的运行、维护费用,估计系统将获得的效益,估算开发成本是否回高于项目预期的全部经费。
并且,分析系统开发是否会对其它产品或利润带来一定影响。
系统的效益可以从经济效益和社会效益两方面考虑。
对于IT培训机构信息管理系统则应着重分析其经济效益。
例如,系统投入运行后可以使学生管理实现科学化、规范化。
(3)运行可行性
本系统的研制和开发是在WindowsXP系统下设计制作的,对计算机的硬件和软件上的要求很低,能够在多种系统下运行。
并充分考虑管理者对系统的易于操作,管理者方便应用,从而能完全满足管理者的要求。
四、系统设计
(1)需求分析
开发“IT培训机构信息管理系统”的目的是使IT培训机构紧跟时代潮流,管理规范化,提高办学效率和水平,并能提高IT培训机构在社会上的知名度。
这一系统能实现学籍管理、教学管理、课程管理、成绩管理、教师管理等功能。
具体模型如下图所示:
图4.1IT培训信息管理系统模型
我们用简单的分层数据流程图表示不同级别上的功能模型。
数据流程图中,椭圆代表数据处理系统,矩形代表实体,箭头代表数据的录入和读取。
数据流图如下图所示:
图4.2IT培训信息管理系统数据流图
(2)系统功能的分析
系统开发的总体任务是实现学生信息管理的系统化、规范化和自动化。
系统功能分析是在系统开发的总体任务的基础上完成的。
学生信息管理系统需要完成的功能主要有:
1)学生基本信息的录入,基本信息包括学生的基本情况、所在班级、所学课程和成绩等;
2)要求在系统中能够对学生信息快速的浏览和查询;
3)要求在系统中能够对班级信息进行输入、查询和修改等;
4)要求能够对学校基本课程信息录入、修改和设置等;
5)要求能够对学生成绩信息进行输入、修改和查询等;
6)基于权限的管理,本系统可以提供给管理员或者学生本人使用。
对学生类用户,只能查看信息;而对于管理员类用户而言,可以管理所有的学生信息。
(3)软件设计
1.系统功能模块总体设计
系统的功能模块设计如图4.3所示
图4.3系统模块划分
2.详细设计
在这里,用流程图作为工具,给出部分模块的详细设计。
(1)系统访问详细设计
图4.4系统访问界面流程图
(2)权限认证详细设计
用户登陆时,要对用户名、密码和验证码进行验证,输入的用户名和密码只要其中之一有错,就不能登录系统,累计错误达到三次,仍试图登陆就会自动屏蔽输入框,同时提示“用户名和密码累计错误三次,1个小时候自动解除”系统。
用户名和密码由管理员分配管理,不同用户具有不同的访问权限,管理员有权创建用户和删除用户,并可以更改用户的权限。
图4.5权限认证流程图
(4)数据库设计
本系统在mysql数据库中建立一个数据库ITTrainingSystem库。
在这个数据库根据数据库设计要求创建本系统表。
1.设计要求
1)表名的定义:
规范格式:
IT_表名(首字母大写)
例如:
系统中的某个表定义为:
IT_Task;
2)表字段的定义:
规范格式:
字段名称(首字母大写),创建时需要避免字段重名出现在不同表中。
例如:
表IT_Task中的字段标识Id定义为:
TaskId;
3)表字段长度的定义:
规范格式:
长度一般为8的整数倍;
例如:
VARCHAR的长度可为8或16或24或32或64等;
4)表字段类型为日期型的定义:
规范格式:
一般日期型的字段设为VARCHAR,且长度一般为24(已精确到秒)
5)公共表名的定义:
规范格式:
PUBLIC_表名(首字母大写)
例如:
系统都会用到的公共表,如角色或操作日志表可定义为:
PUBLIC_Role,PUBLIC_Log;
6)私密信息:
以加密的形式存放的于数据库中的。
7)编号或是ID自增长说明:
课程编号规范:
英文首字母+四位数字(J0001),例如:
Java基础:
J0001,Java高级:
J0002,C++基础:
C0003。
学生学号编码规范:
以S+日期+四位数字,例如:
2013年9月份报名参加培训的:
S2*******01。
教师编号规范:
以T+日期+四位数字,例如:
2013年9月份入职的:
S2*******01。
2.数据库需求分析
用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。
收集基本数据、数据结构以及数据处理的流程,组成一份详细的数据字典,为后面的具体设计打下基础。
数据流程图:
数据项和数据结构:
·学生基本信息:
包括的数据项有:
学生学号、学生姓名、性别、出生日期、班号、联系电话、入校日期、家庭住址、备注等。
·班级信息:
包括的数据项有:
班号、所在班级、班主任姓名、所在教室等。
·课程基本信息:
包括的数据项有:
课程号、课程名称、课程类别、课程描述等。
·课程设置信息:
包括的数据项有:
年级信息、所学课程等。
·学生基本信息:
包括的数据项有:
考试编号、所在班级、学生学号、学生姓名、所学课程、考试分数等。
3.数据库概念结构设计
在得到数据项和数据结构以后,就可以设计出满足用户需求的各种实体,以及他们之间的关系,为逻辑设计打下基础。
实体有:
学生实体、产品实体、年级实体、课程实体。
学生实体E-R图:
图4.6学生实体E-R图
产品实体E-R图:
图4.7产品实体E-R图
课程实体E-R图:
图4.8课程实体E-R图
教师实体E-R图:
图4.9教师实体E-R图
实体和实体之间的关系E-R图:
图4.10实体之间的关系E-R图
4.数据库设计逻辑视图
图4.11数据库逻辑设计图
5.数据字典
IT_User
帐号表
字段名
逻辑名
数据类型
约束
说明
UserId
用户ID
PK
主键
Account
帐号
String(48)
非空
Password
密码
String(48)
非空
RoleId
角色
FK(16)
外键,非空
CreateDate
创建时间
Date
Public_Role
角色表
字段名
逻辑名
数据类型
约束
说明
RoleID
角色Id
PK
主键
RoleName
角色名称
String(48)
非空
CreateDate
创建时间
Date
Public_Resource
权限表
字段名
逻辑名
数据类型
约束
说明
ResourceId
权限Id
PK
主键
-1为超级权限,没有上级权限
Name
权限名称
String(48)
非空
ResourceNumber
权限编码
String(8)
非空
000F000,F前三位为功能编码,F后三位为操作编码
ParentId
上级权限
Integer(16)
Public_Role_Resource