




免费预览已结束,剩余34页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈阳航空航天大学毕业设计(论文) 摘 要在企业的生产中,常常会发生一些人为的、机械的安全事故,给企业带来或大或小的损失。所以,安全事故作为影响企业生存命运的因素之一,一直都受到企业人的高度重视。也正因为如此,安全事故管理便成为了一门科学。可以说,管理好安全事故可以很大程度的预防安全事故的发生率,可以在很大程度上减少安全事故所带来的损失。本文主要介绍了安全事故登记管理系统的分析设计与实现的全部过程。并运用功能结构图、运行时序图和协作图等对核心模块的设计过程进行了详细的说明。安全事故登记管理系统基于swt+eclipse开发平台,后台数据库选用oracle,使用java编程语言来实现。实现了事故等级管理,事故类别管理,专家组档案管理,事故处理,用户管理,密码修改等功能。实现了从事故明细的录入,事故类别,事故等级的填写,在到专家组的处理这一运行周期。简化了繁琐的手工操作,规范化整个处理流程,更加方便快捷。本系统经过测试,运行效果稳定,操作方便。能够很好的解决企业遇到的管理困难,为企业带来更多的利润。关键词:swt;安全事故管理;oracle9i;eclipse+swtabstractswt (standard widget toolkit) gui is an open source programming frameworks to provide a better use of interface and processes. therefore, the use of swt platform, allows customers to edit out the use of a simple java program more easily . in this paper, through the swt / jface components developed under the eclipse integrated development environment, the main process of java applications and ideas. in order to use suns jdk to develop a more simple graphical user interface, we use the eclipse integrated development environment, the installation designed specifically for gui swt / jface component 5, through which the use of designer designer to develop registration of security incident management system java application. back-end database management system using oracle9i, to achieve the security incident management, investigation with a group of experts, accident statistics, queries and so on.this paper introduces the swt-based security incident management system for registration of basic functions and philosophy design, focusing on the introduction, needs analysis, outline design, detailed design and system operation and testing of this five parts described up. first introduced title source of introduction, the design goal; secondly, the needs analysis focuses on the software development space in the market and achieve the required software; again, the outline design, detailed design focuses on the whole idea of the software, the required technical and is how to achieve internal procedures; finally, the system tests are mainly implemented for each of the software to run steps to ensure that the software is finished there are no errors.keywords: swt;registration of security incident management system;oracle9i;eclipse+swt目 录1 引言11.1 课题背景11.2 题目内容12 技术概述42.1 mvc模式42.2 系统代码组织体系42.2.1 界面层设计52.2.2 实体层设计62.2.3 业务层设计62.2.4 数据存取层设计72.3 hibernate概述72.4 数据存取接口设计72.5 sql语言和hql语言92.6 开发环境103 系统分析123.1 需求分析123.1.1 功能需求123.1.2 数据需求133.2可行性分析143.2.1经济可行性分析143.2.2法律可行性分析143.2.3技术可行性分析154 概要设计164.1系统e-r图164.2数据库表结构设计174.2.1用户信息表(i_user)174.2.2事故类别表(i_incidenttype)174.2.3事故等级表(i_incidentlevel)184.2.4专家组表(i_engineergroup)184.2.5事故表(i_incident)185 系统分析205.1系统功能结构图205.2事故类型管理225.3事故等级管理245.4专家组管理管理265.4.1用户管理275.4.2密码修改285.4.3事故管理296 调试分析317 结束语33参考文献34致 谢3535沈阳航空航天大学毕业设计(论文)1 引言1.1 课题背景对于企业来说,安全事故永远都是不可避开的话题。避免和减少安全事故的发生率,降低安全事故的等级能有效的保证企业利益。监管部门的有效监管和对事故的及时处理能有效的监督企业的安全生产和减少事故的损失。从而减少事故的发生和降低事故的等级。一个可以登记、管理、处理企业发生的安全事故的软件在此过程中将发挥较大的辅助作用。为避免和减少事故,宣传安全理念,企业必须建立完善的安全事故登记管理系统,为事故的及时管理、上报、调查和根源分析提供必要的系统管理和使用工具。从而事企业实现消除隐患、减少事故和保护员工健康安全的最终目标,同时也最大化的减少了企业的损失。1.2 题目内容企业在生产过程中出现了工作的失误、其他一些人为因素,造成了安全的发生。尤其最近,各地频繁出现各种事故,建立一个安全事故管理系统、快速的建立事故调查组、及时上报事故信息等工作显得尤为重要。swt(standard widget toolkit)是一个开源的gui编程框架,对java程序提供更好的操作界面与处理流程。开发的安全事故登记管理系统包含如下功能:安全事故录入功能安全事故后发生后,安全事故管理员可以在第一时间录入安全事故的具体信息。包括事故的类别、事故等级、事故发生时间、事故发生单位等;安全事故专家组的配备 当管理员录入了安全事故的明细后,系统显示事故状态应为未处理,事故的处理过程首先要为事故抽取相应的调查专家组。系统可以根据安全事故的类别,和级别自动为安全事故配备调查专家组;安全事故调查专家组档案的管理 安全事故登记管理系统不仅可以及时的根据管理员录入的信息为安全事故配备合适的专家组,还可以根据调查专家组人员配备情况及时调整和更改专家组的信息,比如增加和删除专家组,还可以根据专家组专业水平修改其类别和等级。这样使专家组最大化的发挥其自身的作用,大幅度减少人力资源的浪费;安全事故信息的统计功能系统可以统计用户给定时间段的所有事故,统计功能可以通过事故类别,事故级别,和处理状态等条件异议实现;安全事故的查询功能 系统管理员和操作人员可以随时登陆软件进行查询事故以及专家组的所有信息,系统设定可以根据任意条件匹配查询;事故数据的上报由于国家会定期抽调企业的安全事故信息,所以安全事故登记管理系统可以按照国家要求的格式形成文件,实现事故数据上报功能。为事故的调查和根源分析提供必要的系统管理。1.3设计目标系统通过swt平台,构建出了一个操作界面,在安全事故发生后,安全事故管理员可以及时的将安全事故的明细存入数据库。并且通过事故的类别和等级与安全事故调查专家组匹配,及时为安全事故抽取相应的调查专家组从而及时有效的处理事故。当一个安全事故发生后,安全事故管理员通过登录界面,进入到安全事故登记管理操作系统,录入安全事故的明细,在处理阶段系统会根据录入的安全事故的类别,级别自动抽取调查专家组,为安全事故配备相应的调查专家组。对系统管理人员和专家组以及事故的维护主要包括增、删、改操作。1.4课题意义安全事故一直都是企业生产中不可避免的问题,而且安全事故的预防及处理直接关系到企业的发展命运,在企业生产中至关重要。但是通过网络资源的分析,对于企业安全事故登记管理系统一直都是处于初步发展的阶段,所以根据市场经济的分析,安全事故登记管理系统必然会成为企业生产类软件研究的必然方向。 但是对于世界科技发展的大前提下,自动化已经成为了不可逆转的趋势,而目前做出的软件录入的信息尚且需要人为手动的录入,所以对于企业在生产中发生的安全事故的登记和管理系统更好的实现,还需要许多的时间和努力。2 技术概述2.1 mvc模式模型视图控制器(mvc)是xeroxparc在八十年代为编程语言smalltalk80发明的一种软件设计模式,至今已被广泛使用。mvc是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用mvc应用程序被分成三个核心部件:模型、视图、控制器。mvc模式图如图2.1所示:图2.1 mvc模式图2.2 系统代码组织体系2.2.1 界面层设计swt本身仅仅是eclipse组织为了开发eclipse ide环境所编写的一组底层图形界面 api。至今为止,swt无论是在性能和外观上,都超越了sun公司提供的awt和swing。目前swt已经十分稳定。这里指的稳定应该包含两层意思:一是指性能上的稳定,其中的关键是源于swt的设计理念。swt最大化了操作系统的图形构件api,就是说只要操作系统提供了相应图形的构件,那么 swt只是简单应用jni技术调用它们,只有那些操作系统中不提供的构件,swt才自己去做一个模拟的实现。可以看出swt的性能上的稳定大多时候取决于 相应操作系统图形构件的稳定性。另一个稳定是指swt api包中的类、方法的名称和结构已经少有改变,程序员不用担心由于eclipse组织开发进度很快(eclipse ide每天都会有一个nightly版本的发布),而导致自己的程序代码变化过大。从一个版本的swt更新至另一版本,通常只需要简单将swt包换掉就可以了。2.2.2 实体层设计实体层就是一些实体类。每个实体类应对应一个数据库表,实体类的每条属性对应数据库表中相应的一条记录。本程序设计的数据库表有i_incidenttype、i_incidentlevel、i_incident、i_engineergroup、i_user,因此我们创建五个实体类,即:incidenttype、 incidentlevel、incident、engineergroup、user 。2.2.3 业务层设计本程序设计的数据库表有i_incidenttype、i_incidentlevel、i_incident、i_engineergroup、i_user,因此我们创建五个dao类,即:incidenttypedao incidentlevelservice、incidentservice、engineergroupservice、userservice。这些 service对象都是无状态的,即内部不保存方法的调用状态,每次调用dao中的方法,都是一次独立的交互。既然是无状态的,这些service对象只需要一个即可,因此我们可以把这些service对象作为静态成员放到servicefactory静态类中。2.2.4 数据存取层设计数据存取层又称dao层,在该层主要完成对象-关系映射的建立,通过这个映射,再通过访问业务对象即可实现对数据库的访问,使得开发中不必再用sql语句编写复杂的 数据库访问程序,这样就简化了对数据库的访问,提高了开发效率。同时通过对象-关系映射的配置,可以建立业务对象之间的复杂关系,如一对多、多对一、一对 一、多对多等关系。这样就不再需要在数据库中建立表之间的复杂联系,使得业务对象之间的关系和数据库相分离,简化了数据库的建立和维护。在这一层中主要使 用hibernate框架来实现。2.3 数据存取接口设计我们采用dao技术设计数据存取接口。dao亦即数据访问对象(data access object),是工业设计模式。dao设计模式可以帮助应用完成只对数据库的不同的crud操作。dao类提供插入、删除、更新及查找方法。创建dao的基本目的是松散耦合和非代码重复。任何与数据库交互的应用(系统),需要进行对数据表的crud操作,因为对表的操纵可由不同的类进行,因此在各个类中重复相同的代码而使它变得繁琐;此外,即使重复代码后,与数据库交互所需的任何改变,都使数据库交互代码的维护很难做。我们通过继承自spring framework的hibernatedaosupport类实现自己的dao类。hibernatedaosupport需要提供一个sessionfactory对象,才能与物理数据库进行交互。sessionfactroy接口负责初始化hibernate。它充当数据存储源的代理,并负责创建session 对象。为了使用方便,我们把这个sessionfactory对象放到了全局静态类appglobal内,并在该静态类初始化时创建sessionfactory对象。appglobal在程序main函数运行时将被调用到,因此可以确保appglobal的初始化函数能够得以执行。系统通过hibernate.cfg.xml配置文件创建sessionfactory。dao对象只需要一个即可,因此我们可以把这些dao对象作为静态成员放到daofactory静态类中。appglobal、daofactory和dao类之间的关系如图2.2所示:图2.2 appglobal、daofactory和dao类的关系图2.4 开发环境本系统采用客户服务器(c/s)管理模式,客户端开发环境为eclipse3.5,开发语言为 java语言,界面采用swt技术构建,系统在windows系统环境下运行,后台数据库为oracle 10g。oracle10g是业界第一个完整的、智能化的新一代internet基础架构,oracle10g电子商务平台实际上是指oracle数据库10g、oracle应用服务器10g和oracle开发工具套件10g的完整集成。oracle数据库10g是第一套具有无限可伸缩性与高可用性,并可在集群环境中运行商业软件的互联网数据库,具有400多个领先的数据库功能,在集群技术、高可用性、商业智能、安全性、系统管理等方面都实现了新的突破。作为甲骨文公司长达十年的软件技术研发成果,真正应用集群技术(real application clusters)能够提供近乎无限的扩充能力与整体可用性,为用户带来透明的、高速增长的集群功能。oracle开发工具套件10g是一套完整的集成开发工具,可用于快速开发使用java和xml语言的互联网应用和web服务,支持任何语言、任何操作系统、任何开发风格、开发生命周期的任何阶段以及所有最新的互联网标准。3 系统分析需求分析是指开发人员,即程序员在与软件交付方即客户进行充分沟通,形成一个最终的开发方案的一个过程。需求分析的结果将指导软件开发。本系统由于客户与程序开发人员都是开发人员,即模拟客户的需求来进行设计。3.1 需求分析3.1.1 功能需求安全事故登记管理系统的功能主要如下: (1) 基础信息的维护功能基础信息包括专家组信息,事故等级,事故类别信息。当安全事故发生后,对于安全事故的类别,等级的维护十分的重要,所以本系统的首要功能便需要是基础信息的维护功能,通过这个功能,系统可以很好的对基础信息进行维护,保障信息的安全。(2) 事故管理功能事故管理功能主要提供了对事故的添加,修改,查询,统计等功能。管理员可以随时的在登录系统后,对事故进行添加和修改,而系统通过事故的类别和等级与专家组的联系,会自动的为事故配备调查专家组。同时,在事故被管理员修改成功后,系统会按照事故的类别,等级等统计事故的发生情况。并且生成xml作为上报国家的数据。(3) 系统管理功能系统管理功能包括密码修改,用户管理和退出系统三类功能。系统管理功能为管理员提供了密码修改功能,管理员可以随时修改密码,保障信息的安全。其uml的用例图如图3.1所示:图3.1 系统用例图3.1.2 数据需求用户信息表 users包含内容:id 用户,loginname用户登陆名称,username 用户实际姓名,sex 用户性别,birthday 生日, password 密码,usertype 用户类型;事故表incident包含内容:id 事故,title 事故标题,unit 事故单位,incidenttime 事故发生时间,description 详细描述,incidenttypeid 事故类型编码,incidentlevelid 事故等级编码;事故类型表incidenttype包含内容:id 事故类型编码,name 事故类型名称;事故等级表incidentlevel包含内容:id 事故等级编码,name 事故等级名称;专家组表engineergroup包含内容:id 专家组id,name 专家组名称,description 详细描述,incidenttypeid 事故类型编码,incidentlevelid 事故等级编码。3.2可行性分析软件可行性分析最根本的任务是对以后的行动方针提出建议。如果问题没有可行的解,分析员应该建议停止这项开发工程,以避免时间、资源、人力和金钱的浪费;如果问题值得解,分析员应该推荐一个较好的解决方案,并且为工程制定一个初步的计划。本系统的可行性从以下三个方面来考虑:3.2.1经济可行性分析在系统开发发面,本系统的开发配置要求不高,硬件方面仅需要一台可以稳定运行的电脑,内存1g便可,硬盘80g便可,在显卡,主频等其他方面没有很大的限制。软件方面,本系统的开发基于swt+eclipse,所以操作系统为windows,linux皆可。在安装好了操作系统后,在电脑上在安装上eclipse和oracle,jdk便可以进行开发工作。综上所述,本系统的开发要求的硬件大概需求3000圆左右,软件需要500圆左右。而本系统的开发,测试等工作需要的时间大概是一个月左右,所以人力资源费大概在1000左右。统计得知,本系统从开发,到投入使用大概需要花销4500圆。但本系统的目的在于及时的处理,调查安全事故,记录并且统计安全事故,应用到生产中可以大量的预防和减少安全事故发生的概率,极大的减少企业的损失,所以综上所述,此系统具有经济可行性。3.2.2法律可行性分析本系统是本人自主开发的管理系统,是很有实际意义的系统,开发这个系统不同于开发普通的系统软件,即该系统不同于原来已有的现代化的系统,不存在侵权等问题,本系统开发不会侵犯他人、集体或国家利益,不违反国家法律,因此具有法律可行性。3.2.3技术可行性分析通过需求分析,本系统的主要功能便是对安全事故进行登记,统计,处理等功能。首先,为了方便用户使用本系统软件,所以所有对系统的操作都是在窗口上进行,那么,根据这点的分析,开发人员首要解决的问题就是窗口的构建,由于本系统的开发环境是swt+eclipse,而eclipse提供了多种的窗口布局,事件处理等技术,所以在这方面的技术可以实现。分析了窗口的创建后,下一步便需要分析数据库的实现,本系统使用的数据库是oracle10g,通过sql,hql语句都可以连接到数据库,在数据库的调用方面是技术可行的。在总体建构方面,本系统使用了目前比较流行的mvc模式,其中model的建立,view的限定都可以通过本系统的开发工具eclipse实现。综上所述,本系统的一些常见性的开发问题,都可以在本系统的开发环境中,通过java语句,通过eclipse中提供的事件,容器,布局管理,控件来实现,所以本系统具有技术可行性。4 概要设计本章为概要设计部分,包括了系统总体设计思想主要是用类图来体现的、系统用例设计等具体内容。此部分内容为整个毕业设计过程的铺垫,为以后的详细设计及编码与测试等过程奠定了坚实的基础。4.1系统e-r图本系统涉及多个实体,各实体都是围绕事故这个关键实体展开形成一个完整的系统,实体间关系简单明确。实体有事故,事故等级,事故类型,用户,专家组等实体。系统的e-r图如图4.1所示。事故专家组事故等级事故类型用户属于属于n11nn11nn11n图4.1 系统e-r图图不对,专家组与事故等级、事故类型无关,至于事故发生关系,也没有用户这个实体。4.2数据库表结构设计本节根据图4.1描述的系统e-r图,从实际应用出发,定义了以下5个表结构,对于表中的各个属性也给出了相关的定义。4.2.1用户信息表(i_user) 表4.2是用于记录用户信息,其中包括用户编码、用户名称、用户密码以及用户类信息等。表4.2 用户信息表属 性 名 称键型数据类型备注idpkvarchar2(36)用户id loginnamevarchar2(50)用户名usernamevarchar2(50)用户姓名sexvarchar2(2)用户性别birthdaydate出生日期createtimedate创建时间createuseridvarchar2(36)创建人iddeletedinteger是否被删除deletetimedate删除时间deleteuseridvarchar2(36)删除人idpasswordvarchar2(50)密码usertypeinteger用户类型用户信息表储存用户的信息。以员工的用户名和密码登陆。姓名因为会有重名,所以不能作为主键,只能用于统计。创建时间和创建人以及删除时间和删除人的信息是为了更好的管理用户界面,便于查询,也作为后来对事故调查的依据。用户类型包括管理员和操作员。4.2.2事故类型表(i_incidenttype)表4.3用来记载安全事故的类型信息,包括事故类型编码和事故类性型名称。表4.3 事故类型表属 性 名 称键型具体类型备注idpkinteger事故类型编码namevarchar2(250)事故类型名称事故类别表记录事故类型的信息,事故类型可由管理员依情况自定义。事故类型主键为事故类型编码,不排除事故类型名称重复的可能性。当存在由于管理人员操作原因导致事故类型名称重复此特殊情况时根据事故类型编码区分。4.2.3事故等级表(i_incidentlevel)表4.4用来记载特种事故的等级信息,包括事故等级编码和事故等级名称。表4.4 事故等级表属 性 名 称键型具体类型备注idpkinteger事故等级编码namevarchar2(250)事故等级名称事故等级表与事故类别表大同小异。事故等级表记录事故登记信息,事故等级由管理员依照相关法律规定定义。事故等级主键为事故等级编码。4.2.4专家组表(i_engineergroup)表4.5用来记载专家组信息,包括专家组编码和专家组名称等等。表4.5 专家组表属 性 名 称键型具体类型备注idpkvarchar2(36)专家组idnamevarchar2(250)专家组名称descriptionvarchar2(4000)描述incidenttypeidinteger事故类型编码incidentlevelidinteger事故等级编码createtimedate创建时间createuseridvarchar2(36)创建人iddeletedinteger是否被删除deletetimedate删除时间deleteuseridvarchar2(36)删除人id专家组表记录专家组信息。姓名因为会有重名,所以不能作为主键,只能用于统计。创建时间和创建人以及删除时间和删除人的信息是为了更好的管理专家组,便于查询,也作为后来对事故调查的依据。在这里事故的类别编码和等级编码的设置是为了对事故匹配相应安全事故调查专家组。描述可以对专家组除类别以及等级属性之外的技能描述。4.2.5事故表(i_incident)表4.6用来记载事故的信息,包括事故标题和事故创建时间,创建人等等。表4.6 事故表属 性 名 称键型具体类型备注idpkvarchar2(36)事故编idtitlevarchar2(250)事故名称unitvarchar2(250)事故单位incidenttimedate事故发生时间descriptionvarchar2(4000)详细描述incidenttypeidinteger事故类型编码incidentlevelidinteger事故等级编码createtimedate创建时间createuseridvarchar2(36)创建人iddeletedinteger是否被删除deletetimedate删除时间deleteuseridvarchar2(36)删除人idprocessedinteger是否已处理processtimedate处理时间processuseridvarchar2(36)处理人idengineergroupidvarchar2(36)专家组idnovarchar2(50)事故编号事故表是记录整个事件发生详情、处理办法以及处理结果的信息表。主键为事故id。事故的发生时间能够帮助事后确定事故现场的目击人以及责任人。事故的类型和等级编码为匹配键。创建和删除信息使事故调查有据可依。涉及到的处理信息能够帮助及时准确的处理事故并且记录处理人便于以后的生产中对生产设备的维护和管理。5 概要设计本部分是对整个系统的详细设计,主要讲述了各功能模块所要完成的功能和实现过程。5.1系统功能结构图根据需求分析的要求,本系统的功能模块分为四类:登录退录、基础信息、事故管理、系统管理。其中:登录退录:用户通过登录窗口登陆系统。这里只包含一个用户登陆功能。若用户要想重新登录,需要退出系统,重新启动并登录。系统当前登录用户可以通过点击“退出系统”菜单项或点击主窗口上的退出按钮退出系统。基础信息:包括事故类型、事故等级、专家组。事故类型的功能包括:增加事故类型、修改事故类型、删除事故类型。事故等级的功能包括:增加事故等级、修改事故等级、删除事故等级。专家组的功能包括:增加专家组、修改专家组、删除专家组。事故管理:包括增加事故、修改事故、删除事故、处理事故、查询事故、统计事故。当一个新的安全事故需要录入时,通过增加事故模块完成事故的登记录入。当一个安全事故信息存在错误时,可以通过修改事故模块完成对事故信息的修改。系统允许删除一个未经处理的事故,可以通过组合条件查询事故,可以按事故类型、事故等级、事故处理情况(分为:已处理、未处理)等分类方式对事故的数量进行分类统计。系统管理:包括修改密码、用户管理、退出系统。系统当前登录人可以通过修改密码模块修改自己的密码。用户管理的功能包括:增加用户、修改用户、删除用户。系统功能模块组织结构图如图5.1: 安全事故管理系统基础信息管理事故管理系统管理基础信息管理基础信息管理基础信息管理增加事故修改事故删除事故处理事故查询事故事故统计修改密码用户管理退出系统图5.1 系统功能结构图5.2事故类型管理本模块实现对事故类型的添加,修改,删除。事故类型设计为值域形式,即一个代码对应一个名称。比如0-未知,1-泄露,2-爆炸。在本模块中,用户可以通过事故类型管理界面操作添加事故类型,修改事故类型和删除事故类型三项操作。其具体的时序图,协作图如图5.2,5.3:图5.2 事故类型时序图图5.3 事故类型协作图当用户在事故类型管理的界面实施操作后,即对事故类型进行增加,修改或者删除,事故类型界面接口将会收到用户的信息,然后同过调用相应的服务函数将数据发送到业务逻辑层,即业务逻辑接口,在业务逻辑层中,接口收到的数据将会被验证,验证成功的数据将会通过调用对应的数据库的函数将验证后的数据送到数据存取接口中,而后数据将会被存储到数据库中,当数据被顺利的存储到数据库中以后,数据库将会对事故类型管理界面接口发送数据,通过对存取结果的判断,事故类型管理界面上将会显示出对应的话语,如“修改成功”。5.3事故等级管理本模块实现对事故等级的添加,修改,删除。事故等级设计为值域形式,即一个代码对应一个名称。比如0-未知,1-一级,2-二级。在本模块中,用户通过窗口,可以进行添加,修改,删除安全事故操作。其具体的时序图和协作图如图5.4,5.5:图5.4 事故等级时序图 图5.5 事故等级协作图当用户在窗口进行对应的操作时,事故等级界面接口会通过调用相应的函数连接到业务逻辑层的业务接口,接下来,在业务逻辑层中将会对数据进行验证,验证成功后的数据为1,验证成功后,业务逻辑层会通过调用针对具体数据库的数据函数连接到数据存取接口,而后,数据将会通过数据存取接口存入到对应的数据库中,当数据存储成功后,数据口将会向事故等级界面返回数值,事故等级界面将会显示出数据存储成功。其具体的窗口操作效果如图5.6:图5.6 增加事故等级程序运行效果图5.4专家组管理管理本模块实现对专家组信息的查看,增加,修改,删除四个功能。在这个模块中,将专家组有事故等级,类别一一对应。比如,在事故等级模块中,0-未知,1-一级,2-2级,那么在专家组模块中,0-处理未知事故等级的专家组,1-处理一级事故的专家组,2-处理2级事故的专家组,用户可以通过窗口选择,对专家组进行信息查看,专家组增加,专家组修改,删除四个功能 ,其时序图和协作图如图5.7,5.8:图5.7 专家组时序图图5.8 专家组协作图 在用户在窗口选择对专家组进行操作的时候,专家组界面接口会根据用户的不同需要连接到不同的接口,如果用户想要对专家组进行增加、删除或者修改的话,专家组界面接口会连接到专家组业务接口,在专家组业务接口中会对专家组界面接口传递的信息进行验证,后专家组业务接口会通过调用具体的针对增加、修改和删除的函数连接到专家组数据储存接口,然后系统会通过存取函数连接到数据库,存取结束后,数据库会向专家组接口返回存取信息,过程结束。当客户想要修改专家组处理事故的类型或者级别的时候,专家组接口会将信息分别发送到事故类型、事故级别数据存储接口,然后通过对应的函数,经过事故类型业务接口和事故级别业务接口连接到对应的数据存取接口,然后通过存取函数连接到数据库。存取结束后,数据库向专家组界面接口返回值,在界面上显示出存储的结果,过程结束。5.4.1用户管理本模块实现的主要功能的对用户的增加,修改,删除三个功能。由于在生产需要定时的修改事故录入员的人数等信息,所以在系统中设置了这个管理的模块,其具体实现的时序图、协作图如图5.9,5.10:图5.9 用户管理时序图图5.10 用户管理协作图当系统管理员在管理界面选择对用户增加、修改和删除功能的时候,系统会连接到用户界面接口,然后系统会调用对应的增加、修改或者删除函数连接到用户业务接口,在用户业务中首先对接收到的数据进行验证,然后通过调用针对具体数据库的增加、修改、删除函数将验证后的数据发送到数据库连接接口,然后系统会通过存取数据函数连接到数据库,当数据库存取完成后,数据库会向用户界面接口发送存储信息,操作完成。对增加用户的操作程序运行效果图如图5.11:图5.11 增加用户程序运行效果图5.4.2密码修改本模块实现了用户对密码修改的功能。同样的,为了实现密码修改的功能,需要通过几个接口和调用对应的函数来实现,其具体的实现过程的时序图和协作图如图5.12,5.13:图5.12 密码修改时序图图5.13 密码修改协作图当用户选择密码修改操作的时候,密码修改接口将会受到相应的信息,然后通过密码修改函数连接到用户业务接口,接下来,用户业务接口受到的数据将会被验证,验证后的数据将被系统通过调用针对具体数据库的密码修改函数连接到用户数据存取接口,接下来数据将会通过存取数据的函数将数据存储到数据库中,存储结束后,数据库向密码修改界面发送存取信息,过程完成。其程序运行效果如图5.14:图5.14 密码修改程序运行效果图5.4.3事故管理本模块实现用户对事故的增加、修改、删除功能,并且实现了用户对事故类型、事故等级的查询。其具体实现过程的时序图协作图如图5.15,5.16:图5.15 事故管理时序图图5.16 事故管理协作图当用户选择对事故进行增加、修改或者删除操作的时候,事故界面接口将会得到用户输入的信息,然后通过调用增加、修改、删除函数,连接到事故业务接口,然后事故业务接口收到的数据将会被验证,接下来系统会通过调用针对具体数据库的增加、修改、删除函数连接到事故数据存取接口,然后事故数据存取接口会通过数据存取函数连接到数据库,对数据库进行存取,存取完成后,数据库将会向事故界面接口发送信息,返回存取结果,过程完成。当用户要进行查询事故类别,事故等级的时候,事故界面接口会通过调用查询事故等级表或者查询事故类别表连接到事故等级业务接口或者事故类型业务接口,然后系统会通过调用针对具体数据库的查询事故等级列表函数或者查询事故类型列表函数连接到事故等级数据存取接口或者事故类型数据存取接口,然后系统通过执行查询sql()连接到数据库,接下来数据库向事故界面接口返回存取结果,操作完成。6 调试分析由于实践经验的缺乏和对开发环境的不熟悉,在系统开发的过程中不断遇到各种难题和困难。java语言中对书写的要求非常严格,例如大小写的规则、汉字字符和汉字符号等都会引起错误,而且不容易发现。这些都是平时不注意养成的毛病,多加注意就能避免,也说明了一个好的编程习惯是很重要的。由于初学java语言,初步尝试根据要求完成项目,所以对于开发平台、工具不很了解,所以造成了许多的错误。但庆幸的是,在老师的帮助下,我很快的找出并改正了错误,并且通过老师的讲解,更一步的了解了swt和eclipse。在对数据库进行操作时,表中属性是否可为空的问题,在设计数据库表的时候并没有注意,导致了在录入时发生错误。还有在eclipse的使用中,对于这个工具不是很了解,所以在许多的地方运用事件,调用函数出现了问题。在数据库的调用中,也就是在dao类中,由于应用到了hibernate,所以在开始的时候根本没有使用sql语句,全部用的hql语句,这样造成了错误和不必要的繁琐。所以根据进一步的研究、调试,将部分的hql语句变成了sql语句,转化例子如下:hql:string hql=from incident where id=+id+转化成sql为sql:string sql=select+from i_incident where id=+id+可以看到,当遇到多表复杂的查询时,使用hql语句十分容易出错,所以通过分析,系统中的单表查询不变,继续使用hql语句,而多表查询则改成sql语句。在调试的过程中,另外一个主要的问题便是对话框的位置问题,由于初次使用eclipse开发工具,虽然大致了了解了界面的布局管理器,但是对于整个界面的布局还不是那么的得心应手,由此导致的问题就是,对话框在每个界面上的的位置不固定,所以根据分析,利用一个静态函数public static void aligencenter()便可以实现另全部的对话框出现在界面的中心位置,其具体设计的代码如下:public static void aligncenter(shell parent, shell shell) rectangle rectparent = parent.getbounds();rectangle rectshell = shell.getbounds();shell.setbounds(rectparent.x + (rectparent.width - rectshell.width) / 2,rectparent.y + (rectparent.height - rectshell.height) / 2,rectshell.width, rectshell.height)然后将这个静态函数放入公共组件units中的dialogunit.java中,便可以实现对话框居中的设定了。调试后的主界面登录窗口运行效果图如图6.1:图6.1 调试后居中的主界面对话窗口7 结束语通过本系统的开发,我对软件开发过程有了更清晰的了解,首先是问题定义、需求分析,然后是功能设计、详细设计等,并对软件编写、测试的方法、手段有了较深的理解,并且通过对本系统的开发,大致了解到了软件架构,mvc模式等一些应用于实际的开发方面的内容,使得我感到受益匪浅。在系统的开发初期,必须要从软件的要求分析出其功能、目的,并且要了解到其应用的地方,比如我做的系统应用于安全事故的管理方面,所以,我需要做的便是通过查询资料,思考软件的要求
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年数据科学与大数据技术考核试卷及答案
- 2025年公路工程项目管理考试题及答案
- 动作题材剧本改编授权及电影制作合同
- 文化创意园区招商运营管理合同
- 绿色建筑项目碳排放总量控制合同
- 跨境艺术品运输综合保险服务协议
- 潜水器材租赁及国际市场拓展服务合同
- 房地产虚拟现实销售培训与市场推广执行合同
- 线上线下融合带货分成协议补充条款
- 婚姻出轨防范与赔偿保障协议书
- 2025 ACC-AHA急性冠脉综合征患者管理指南解读课件
- 绿化工程施工专项施工方案
- 1.2区域整体性和关联性-以青田县稻鱼共生为例课件-高中地理人教版(2019)选择性必修2
- 2025年上半年能源集团所属辽宁能源煤电产业股份限公司招聘易考易错模拟试题(共500题)试卷后附参考答案
- “5领导作用-5.1领导作用和承诺”专业深度解读与应用指导材料(雷泽佳编制-2025C0)
- 《基于AAO-MBR工艺某县城5万立方米日处理量污水处理厂工程设计》13000字(论文)
- 二零二五年度老旧小区改造房屋联建合作协议3篇
- 新版人教版一年级数学下册第五单元100以内的笔算加减法
- 内控检查报告范文
- 2024届高考生物一轮复习必考重点大全宝典
- 清华大学课程结构与教学模式
评论
0/150
提交评论