基于web设备管理系统设计与实现

系统业务需求分析与原型设计

    1. 总体业务需求分析

学校对于设备管理的要求越来越高,信息实时录入与查询,主要是提高工作效率,充分利用信息管理,管理学校的设备信息,减少繁琐而又繁重的手工统计工作,从系统总体业务分析来看,系统主要包括对基本信息管理设置,用系统内的自己人员组织及基本系统运行信息。系统主要针对海源学院的设备信息进行管理,包括设备的信息管理系统,以及设备管理的相关信息,系统还给系统使用者提供审批管理功能,系统充分考虑海源学院设备管理的现状方便用户管理和统计查询。因此,在软件开发的前期,系统业务需求分析就显得十分重要,它对于整个系统从开发、测试、质量、项目管理等方面起着非常重要的作用。

为了能够充分的理解用户的需求,我把需求收集分成两部分,一部分来自网上搜索的资料及相关信息,另一部分,来自到在学校的各个设备管理教师的走访,询问教师对他们的工作困难情况,和可以优化设备管理的过程的方法,方便管理者实时统计与查询,在进行系统需求分析阶段,首先规划使用者,以及相对应的功能,确定出海源学院设备管理系统主要面向三类用户:

系统管理员:功能需求是用户注册、用户信息修改、部门管理、系统基本信息维护;

设备管理员:功能需求是设备基本信息管理,学校教室信息管理,设备折旧信息等功能;

普通用户:查看设备信息,教室信息,可以申请设备,查看已经设备的流程信息。

本系统目前主要应用于海源学院系统的管理与申请,以及对可以设备信息进行统计与查询等功能。

    1. 总体业务流程分析

图3-1 系统功能需求图

首先,对海源学院设备管理系统进行了功能需求划分后,可以为以下几块:

部门管理:实现对系统部门组织机构信息进行管理,包括对部门信息的增加删除、修改等操作对部门信息进行基本的管理。

用户管理:根据按照已经添加的部门信息,添加部门内的成员信息,对部门的基本进行管理,添加的过程中可能可以用户信息添加角色。

教室管理:添加海源学院内的各个教室信息,并可以对教室进行维护,为设备存放信息进行管理。

设备管理:实现对设备信息进行管理维护,对海源学院内容的设备进行记录也可以进行一些相关信息的查询,对一些折旧的设备,系统进行记录,也可让用户进行对折旧的设备进行管理和利用。

设备申请:普通用户根据自己的需要进行设备申请填写相关的设备,从系统选择自己需要的设备,然后填写申请单相关信息,填写后,选择流程执行人。设备管理员审批并分配设备信息,并把信息记录在系统中,用户可以随时查看自己已经起草的申请单

查询统计:实现提供用户查询自己起草的申请信息,并可以随时其他的相关信息,包括设备信息,教室信息,设备的使用情况以及,设备的折旧信息。

之后,分析系统的业务流程。设备管理员,添加教室信息,并对教室信息进行管理,然后根据填写教室的信息,添加教室内的的设备以及这些设备的归属责任人然后,普通用户通过查询查看,如果是普通的设备,就可以正常查询如果是非正常的设备的时候,需要从已经录入的设备信息进行转折旧后,才能进行折旧设备申请使用。折旧设备已备其他人备用,用户通过查看设备信息后,进行设备申请,首先填写设备申请单,用户通过查询设备,填写申请单中的设备相关信息,然后选择申请流程的下一步 审核人,通过选择部门,然后再选择部门下的人,通过选择人后,直接确定流程的下一步执行人,只要登录的人 都有一个待办信息列表,待办人处理申请,填写意见,以及可以查看申请设备信息,然后设定下一步执行人,或者直接把申请流程结束,申请人直接查看自己已经申请的设备申请单,也通过申请单编号,查看已经流转完毕的申请单。并查看,可以了解流程的流转的情况,如果流转到系统的设备员,则设备管理员则判断申请单是否可以可以处理,如果不可以,则系统直接退回给申请人,如果可以申请,则确认申请单,并按照申请单的申请要求进行设备申请登记。如图3-2所示。

图3-2  总体业务流程图

系统总体业务用例描述:针对系统的几类主要的角色:系统管理员,普通用户,设备管理员展开,系统管理员负责对系统运行的基础数据进行维护包括组织机构、人员、维护、查看设备信息、教室信息、查看所有审批流程信息;普通用户负责主要填写设备申请单,并可以查看设备信息、教室信息、自己申请的审批流程信息;设备管理员,可以查看自己审批过的设备申请单,也可以查看和管理设备信息、教室信息,审批申请人提交的设备申请,并可以查看自己所有的审批设备信息。

图3-3 总体业务用例图

    1. 总体业务功能及流程分析
      1.  用户组织功能需求

用户首先设定系统可以使用的部门,对部门信息进行管理,包括对部门增加,对部门的信息删除,对部门的管理。在系统内容已经添加的部门信息之下,添加用户信息,系统并对增加的信息进行管理,设置人员的时候可以顺便给用户附上基本角色。

功能需求如下图所示:

图3-4 用户组织功能需求图

用户组织用例描述

1、系统管理员添加部门信息,并对部门信息进行管理。

2、系统管理员在已经添加的部门信息下,添加用户信息,并对用户信息进行管理及维护。

图3-5 用户组织用例图

      1.  教室管理功能需求

对海源学院内的教室信息的进行登记,教室主要是为了记录设备的存放地址方便用户查询,以及对设备信息做到达良好记录,如果不对设备存放地址信息是不让存入数据库的,系统加以判断,教室信息主要是以海源学院内的现有教室信息,系统也对教学楼也进行登记,及管理,让教室信息可以随时查询,达到在线查询,随时都可以通过系统查询自己所需要的信息

功能需求如下图所示:

图3-6教室管理功能需求图

教室管理用例描述:

1、系统管理员添加教学楼信息,并可以教学楼信息进行维护与更新

2、系统管理员或设备管理员,利用系统记录海源学院内的教室信息,以及对教室信息进行维护

       

图3-7 教室管理用例图

      1.  设备功能需求

根据设备的记录设备的基本信息,以及设备所在教室信息,设备管理员根据实际实际情况记录设备信息,对设备信息进行增加、删除、修改、查看、以及列表展现。设备在使用中,设备随时有可能进行维护,系统提供对维护记录信息的登记,修改,查看等最基本信息管理,系统不提供记录无设备的信息,而只对已经有的设备信息进行维护记录登记,系统还提供对设备信息折旧情况记录,包括折旧信息的增加、删除,等最基本信息维护,对于折旧信息,只有系统已经的设备信息进行记录。

功能需求如下图所示:

图3-8设备功能需求图

项目下达用例描述:

1、设备管理员记录设备信息并根据实际业务情况随时更新业务信息。

2、设备管理员记录设备维护记录信息,设备管理员根据设备的使用情况,随时维护设备,对设备维修信息进行记录。

3、设备管理员对学校内的设备使用过程中,可能产生折旧信息,并随时记录以及更新。

图3-9 设备信息用例图

      1.  设备申请功能需求

系统如果需要申请设备使用时候,必须填写设备申请单,申请设备,而且填写设备申请的过程中,所填写的设备必须是系统内的设备,从系统内选择设备,并填写设备申请单,填写设备单后,必须选择流程人员,确定下一步执行人,如果 流程下一部执行人是设备管理员时,设备管理员可以随时可以回复、拒绝申请、分配申请单所需要的设备,系统的设备信息更新,如果系统使用者用完设备,则归还设备,直接提交归还申请单,然后设备管理者确认归还申请单,并接受设备归还情况,填写归还,记录。使用者在设备申请的过程中可以随时查看设备申请的情况,通过对设备的申请可以加快设备的申请速度以及效率。

功能需求如下图所示:

图3-10设备申请功能需求图

设备申请功能用例描述:

1、设备使用人员,在使用学校设备时需要从学校借设备,首先填写设备申请单,然后走审批流程,当审批流程结束,设备管理员同意把设备借给申请人员,则在系统记录,然后更新设备基本信息

2、设备使用人员在设备使用完后,填写设备归还申请,设备管理员确认归还申请,检查归还情况,并在系统记录设备使用情况,有无破损情况,以便其他人继续借用或者使用。如果借用者长时间借用不还,设备管理员,发起催还提醒,提醒用户及时归还或者继续续借设备。并填写相应的说明

图3-11 设备申请用例图

      1.  查询统计功能需求

系统给用户提醒查询功能,包括对设备信息的查询,也可让用户查询自己所需要的信息也可以查看设备的详细情况,查看设备使用的情况,以及现在是否被人占用的情况。系统的教室查询,给使用提供查询教室信息的情况,也可以查看教室的详细信息,及教室内的设备情况,让用户更加准确的了解设备的详细信息。系统给用户提供历史申请流程查询,让用户能查询自己已经申请过的设备申请单,并可以,系统给出设备整体使用情况,为用领导决策起到一定的辅助作用。

功能需求如下图所示:


图3-12 查询统计功能需求图

查询统计功能用例描述:

1、普通用户可以查看教室信息,并可以查看教室的详细信息。

2、普通用户查看设备的信息,并可以查看设备的详细信息

3、普通用户通过历史申请查询,可以查看申请设备的历史信息

4、设备管理员或者系统管理员可以查看设备总体情况

图3-13 查询统计用例图

      1.  设备管理原型设计

此图用word画

图3-18 设备管理功能列表

设备申请功能主要是以设备申请功能为主线,进行设备的申请,系统首先添加教学楼,然后在教学楼内添加教室信息,然后添加教室内的设备信息,设备信息包括设备的一些基本信息通过设备信息的记录对海源学院内的设备信息进行管理,也对设备的折旧情况进行记录和评价,系统使用者通过对设备提交的申请,先查询系统的可用的设备,然后起草设备申请单,填写申请单相关内容,选择流程执行人,用电子申请单代替原有的纸质的申请单,通过申请,用户可以随时查看自己提交的申请的流转状态已经查询自己已经完成的申请,在系统中都会有记录,设备管理员确认申请后,申请人可以查看提交的申请。在使用过后,设备管理员通过退还提醒,提醒用户及时归还设备。

图3-19 添加设备信息(原型)

图3-20设备申请(原型)

图3-21 设备申请审核(原型)

    1. 系统的非功能需求

非功能性需求,是指软件产品为满足用户业务需求而必须具有且除功能需求以外的特性。软件产品非功能性定义不仅决定产品的质量,还在很大程度上影响产品的功能需求定义。如果事先缺乏很好的非功能性需求定义,结果往往是使产品在非功能性需求面前捉襟见肘,甚至淹没功能性需求给用户带来的价值。[2]系统非功能性需求包括系统的性能、可靠性、可维护性、可扩充性和对技术和对业务的适应性等

1、系统的可靠性

在系统可靠性上本系统采用稳定的系统体系结构、良好的开发平台以及稳定成熟的开发技术。要求系统性能稳定,响应速度快,对于误操作有相应的信息提示。现代化管理可以大大提高工作效率和质量,当然也应包括可靠性。但是如果处理不当,系统可靠性没有得到足够保证,那么它也会带来严重的影响。试设想一下,假如在一次重要选举当中,采用计算机统计投票结果,却由计算机失误而打乱了进程,选出一个不该当选的领导人来,将是多么可笑。因此愈是走向现代化,愈要注意可靠性。 因此,人们在走向现代化的过程,必须在各个方面提高和改善系统可靠性。没有可靠性作基础的系统只能是空中楼阁

2、系统的安全性

安全性上系统要能够识别用户的身份,对用户具有权限的控制,只能让用户访问经过授权的功能,系统管理员对系统的操作具有了用户进添加、删除、修改、权限控制等。系统控制可以系统访问系统用户,系统访问 必须通过登录才可以进入系统,如果直接访问某个页面,系统是不让访问的,直接跳到访问首页页面。对于数据的安全性得到保障

3、系统的易用性

易用性上系统要具有了统一的用户界面,操作简单。由于设备申请的相关信息录入相当的多,所以在进行信息输入时应尽可能的采用下拉式菜单的选择,尽可能的减少用户输入信息的操作,在遇到操作不规范或是出现错误时要有相应的提示信息和帮助。而且系统使用过程中,给用户更加详细的讲解

4、系统的可维护性

可维护性上系统管理员要可以对系统的所有功能进行统一的管理和查看,并且要具有最高权限以方便对系统进行修改。基本数据信息都是可以维护的,都是在系统特定的角色中进行维护,特定的角色如管理员和设备管理员可以维护系统的数据信息,以便保障系统正常使用

5、系统的可扩充性

可扩充性上系统要有良好的扩充性能,当业务需求发生改变时,能够方便、有效地对系统增加新的功能,而且在多方需求的确认中也可考虑需求变化的情况,所以在系统设计的过程中,充分考虑到这一点,让系统有更好的易扩展性,让系统更加稳妥的运行,让用户更加容易的方便的使用系统,对系统有一个良好的印象,系统中的一些需求的设计是在经过反复思考,已经可能出现的情况下,充分考虑需求变化,以及需求发生比较大的变化的需求上着重考虑设计为后期的维护以及实施提供了保障

第四章 系统设计与实现

本系统的开发环境如下:

技术平台:JDK1.6;

信息服务器:TOMCAT5.5版本;

开发语言:JSP,实现语言采用JAVA语言;

开发工具:MyEclipse6.5 版本;

数据库:SQL Server 2005;

服务器操作系统:开发过程采用Windows XP 操作系统,系统实施后采用Windows 2003 Server服务器操作系统。

图4-1 系统运行及开发环境图

    1. .2系统总体设计
      1.   基于JSP技术的三层结构模型设计

为了达到系统易于理解,易于维护,易于扩展的目的,海源学院管理信息系统采用ASP.NET构建三层式Web应用程序来开发设计模型,分别为表示层、业务逻辑层和数据访问层。如图4-2所示:

图4-2 系统三层设计模型图

对各结构层的描述如下:

(1)数据库为系统的最底层,用于存储环保项目管理信息系统的所有相关数据。

(2)数据访问层:建立在数据库之上,应用程序通过该层访问数据库。数据访问层一般封装操作数据库的选择、添加、修改、删除等操作,同时还为业务逻辑层提供访问数据库的接口或函数等,从而实现与数据库的交互。由于数据访问层是直接与数据库相关联,同时又为业务逻辑层服务,再加上访问数据库又是系统中频率发生且最消耗资源的操作,因此需要对数据访问进行优化性能和可缩放性。

(2)业务逻辑层:应用程序的业务层是大部分应用程序的特定功能驻留之外。这些功能由调用多个基本动作(select、update、Delete命令等)组成,以便使表示层与应用程序必须遵循的复杂规则分离。该层一般包括第三方系统的方法所需的链接。本系统在该层主要是实现业务逻辑的具体功能,如:设备申请,审核审核,归还提醒等具体业务。

(3)表示层:为客户端提供对应用程序的访问,该层离用户最近,是终端用户能看到的系统的唯一一部分,它可能是Web页的集合,甚至是命令提示符。这一层通过业务逻辑层,利用其功能进行工作——它不能直接访问数据库(或是数据层的其他部分)。通过这种方式,就可以隐藏许多应用程序的具体实现,只是提供最适合的表示信息和可能的选项。在本系统中表示层主要显示用户登录界面,项目申请界面,项目审核界面,项目下达界面等等。

采用这种模型来设计和开发Web应用程序具有以下优点:

①结构更加清晰,易于实现;

② 更好的可维护性,分工更加明确,各层之间只需要知道调用接口就可以了,而不需要知道是如何实现的;各层的功能相对独立,利于整个系统的开发,提高开发效率;

③更好的可移植性,采用分层式开发,实现了显示代码与逻辑代码的分离,可以在系统升级的时候更少的受到影响,利用维护;

④可靠的安全性,用户只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了。

      1.  系统网络拓扑结构的设计

本系统的主要用户是海源学院的各个学校的老师,海源学院内通过web服务器连接方便老师在任何场所都可以对数据进行管理,为了节约系统运行的成本,系统采取用户通过Internet进行项目在线申报的连接,同时为了保证服务器的安全,服务器与Internet之间采用防火墙进行隔离,而服务器由数据库服务器和Web服务器以及数据库备份服务器组成。如图4-3所示。

图4-3 系统网络拓扑结构

      1.  系统功能模块设计

通过前面的需求分析,从环保项目申请的实际情况出发,结合环保项目管理的特点,系统分为了6个功能模块:部门管理,用户管理,教室管理,设备管理,申请管理,查询统计。如图4-4所示。

图4-4 系统功能模块结构图

部门管理功能:对学校的内个各个部门进行管理主要包括对部门信息增加部门、删除部门、修改部门等操作。

用户管理功能:对学校的用户信息进行管理,主要包括增加用户信息,删除用户信息,修改用户信息,查看用户信息等操作。

教室管理功能:主要包括两部分功能,教学楼管理功能和教室管理功能,教学楼管理功能主要是实现对海源学院内的教学楼信息进行管理和记录,主要包括教学楼信息的增加,教学楼信息的删除,教学楼信息的修改,教学楼信息的删除。教室管理功能,主要是学校内的教学楼下的教室信息进行管理,主要包括对教室信息的增加、删除、修改以及列表显示系统现有的教室管理功能。

设备管理功能:主要包括三个功能,设备管理功能和设备折旧记录功能,维护记录。系统主要信息录入界面记录设备信息界面,也根据实际情况由专门人员进行相应的设备信息进行维护和管理。设备在使用过程中难免会有折旧损坏等,设备管理员会根据实际的业务情况进行登记,或者相应的数据更新等功能,对系统内的设备信息维护记录进行记录以方便对设备的详细情况进行查询

设备申请功能:主要包括三部分功能,包括设备申请、设备审核以及归还提醒。系统使用者主要通过设备的申请,填写申请单,通过电子的申请单能够加快申请的效率方便进行查询,用户填写申请单信息,选择要借用的设备,以及流程执行的执行人,在流程审核过中,审核人可以查看申请的信息,查看已经流转的流程信息,填写审批的内容,提交完成审核功能。申请人可以查看自己发起的申请或者已经流转完成的申请,通过申请的关键信息进行历史申请信息进行查询等功能

查询统计功能:用户通过查询统计功能查询自己所需要设备的以及设备的相关信息,包括三个主要功能,设备信息的查询,以及申请信息查询,以及设备统计功能

系统功能流程如下图所示:

4-5 系统功能流程图

      1.  系统静态模型

系统采用面向对象的系统分析与设计方法,UML建模技术进行系统分析,下面就用Microsoft visio2007依据系统的功能模块,将各功能模块内相似的类组合成包。

图4-6 功能模块包间关系图

包图说明:

1、UI是系统的用户界面,所有系统的输出至UI界面。

2、DEPT包,集成了系统中部门信息基本信息。

3、PERSON包,集成了系统中用户基本信息。

4、AREA包,集成了对设备存放地点的记录,包括教学楼信息维护基础类,。

5、CLASS包,对教室信息维护的基础类。

6、EQUIPMET包,对设备信息维护的相关类。

7、FLOW包,集成维护审批流程相关信息类。

      1.  系统类图设计

在类图中,一方面描述了类的本身,另一方面描述了类之间的静态关系,在本系统确定的类有:

DEPT(部门管理类)、PERSON(用户管理类)、AREA(教学楼信息管理类)、EQUIPTMENT(设备信息管理类)、FLOW(审核流程管理类)、login(登录控制类)。如图4-7所示。

图4-7 系统各类间的关系图

      1.  系统时序图和活动图的设计

时序图可以较好的说明对象之间的交互作用,有助于理解系统,并可以从中提取类的操作。

1、在本系统中,系统管理员在进行添加用户操作时主要的交互过程如下:系统主要的功能流程图,系统先通过添加用户信息然后,然后添加设备信息,对设备信息进行更改,然后进行设备申请,然后进行查询统计,查看自己的申请的信息或者查看系统提供的查询统计信息如图4-8所示。


图4-8 管理员操作系统时序图

图4-9 系统用户管理活动图

    1. 库设计

数据库在管理信息系统中是整个系统的核心部分,数据库结构设计的好坏将直接影响着应用系统的效率、安全及实现的效果,合理的数据库结构设计可以提高数据存储的效率,保证数据的完整性和一致性。

本系统采用SQL Server 2005作为应用程序的数据库。数据库结构设计则是考虑系统的实际需要,根据各模块的划分,建立了12张数据表,用于存放各个模块的数据,各数据表之间的关系如下图:

图4-16 数据库各表间的关系图

表4-1:数据库各表的功能说明情况

数据库表名

表名称

存储内容

备注

Area

教学楼表

教学楼信息

Classroom

教室信息表

用于存储教室信息

Role

角色表

存储角色表

Dept

部门表

存储部门表

Person

用户表

存储用户表

Equipment

设备信息表

存储设备信息表

Equitmentflow

设备申请流程信息

存储设备申请流程信息

Flowhistory

流程历史记录查询表

存储历史信息表

Equipmentfiles

设备相关附件

存储设备相关附件信息

Equipmentmodify

折旧信息

存储设备的折旧信息

Equipmentupdate

对设备的维修信息

存储设备的维修信息

Equipmentdetail

设备详细信息

存储设备详细信息

系统的安全性是系统设计与实现中的一个重要环节。根据环保项目管理信息的实际需要,主要采取以下安全措施:

1、访问控制

本系统采取用防火墙进行隔离,以实现对系统的直接访问控制,设置外部网络不能直接对内部网络进行访问,对内部资源的的访问需要经过边界防火墙的监控和许可。收集计算机系统和网络信息,并对这些信息加以分析,对保护的系统进行安全监控、攻击以及做出实时的反应。同时安装病毒过滤网关和杀毒软件,做到把病毒的传播渠道堵死并不断的进行维护和升级。使用IP级安全控制,设置对某些恶意的IP地址,禁止对本站点进行访问,以保证系统安全。

2、系统角色设置

用户的角色管理和访问控制是管理信息系统的一个重要组织部分,也是系统安全运行的重要前提和有效保证。如何能让用户在职权范围内安全的使用系统开展业务工作,并对系统数据进行有效、可靠的权限访问,也是本系统能否得到成功应用的一个关键因素。

在以往的权限设置中,权限的管理和分配总是基于用户,角色直接和用户关联。这种权限的分配和管理必须为每一个用户分配设置一次总体权限,造成的了工作量大,且较为繁琐,当某一类型的用户权限需要改变时,就得对每一个用户重新进行授权变动,使得系统管理员的工作量变得非常繁重,同时还容易发生错误和一些安全问题。因此,结合本项目的实际情况,出于对用户的使用情况,角色的管理、系统的安全等方面的考虑。

3、数据备份

为了能够在系统的业务数据由于系统或是人为的恶意性操作造成损坏或是丢失后,能够及时在本地实现数据的恢复,数据备份在系统的安全方面就显得非常的重要。本系统采用PLUSWell数据镜像软件,将主服务器的数据实时的复制到备用服务器上,以保证主、备服务器上数据的一致性。数据镜像的实时备份功能可以最大限度的减少数据的丢失,数据的恢复工作简单快速。同时为了节省主服务器的存储空间,用增量或差分等高级备份选项,将任意一天的数据复制到备用服务器上,当数据受损时就可以恢复到任意一天的数据状况,从而进一步完善系统的数据安全性。

在前面的需求分析中我们已经对系统各功能模块进行了描述,这里主要是对系统的总体设计做更进一步的完善和细化。下面以项目申请模块为例,进行详细的设计和说明。

      1.  海源学院设备管理流程图设计

本系统主要是通过对设备基本信息录入及维护,然后用户通过申请设备的功能申请设备使用,通过系统在流程中的流转可以申请设备信息,通过设备管理员的确认得到设备详细的信息的情况以让系统申请者能查看并可以获取设备信息,如果借用时期过长,设备管理通过系统的退还提醒的功能提醒申请人要归还,完成对设备的信息管理。海源学院设备管理流程功能流程图如下:

图4-18海源学院设备管理模块流程图

由于设备申请所需要填写的内容相当多,为了减少用户输入的工作量,因此在设计原则上尽量采用了下拉式菜单,比如项目设备信息,教室信息,当前系统时间,当前登录人,登录部门等。

      1.  海源学院设备管理实体关系E-R图

海源学院设备管理实体关系E-R图,如下图所示:

图4-19 海源学院设备管理实体关系E-R图

      1.  设备管理系统数据库逻辑设计

本系统数据库采用的是SQL Server 2005。本系统的数据信息,都是通过数据的形式来进行管理和维护,他不同于实体的文字交流。数据库就形如一个仓库,他是用来存放数据的地方。我们在前台进行的每一步,都需要调用数据库中的数据。

数据库设计的合理与否,安全性,稳定性这些方面都直接影响着读书网的运作。一个好的数据库设计方案,往往能够让网站的效率事半功倍。所以在对数据库的设计要格外的悉心,考虑的要格外周全。

确定数据库的物理结构,在关系数据库中主要指存取和存储结构。如果物理设计结果满足原设计要求,即可进行实施,否则,就需要重新设计和修改物理结构,有时甚至要返回逻辑设计阶段修改数据模型。

数据库系统是多用户共享的系统,对于同一关系要建立多条存取路径才能满足多用户的多种应用要求。现代技术的飞速发展是数据库存储变的简单、方便、易行。无论是索引法还是聚簌法都可以使物理设计顺利实现。

在海源学院设备管系统中,设备管理所需要填写的相关信息和申报的材料相当多,因此在数据库设计的时候,我们将这些信息存放在不同的数据表中,这些数据表又通过项目的ID号来进行关联。各表之间的关系如下图:

图4-20 海源学院设备管理各表间的关系图

下面列出项目申请模块中的主要数据表:area:教学楼信息表、classroom:教室信息表:dept、部门信息表、person、人员信息表、:equipment设备表、equitpmentmodify、折旧信息:设备维修信息表、equipmentupdate:设备详细信息表、equipmentdetail:equipmentflow、设备流程信息:flowhistory、审批流程信息:equipmentback、退还提醒。

表4-2 PERSON (用户基本信息)表

列  名

数据类型

可否为空

说  明

Gid

Int

Null

用户编号

Lname

Varchar

Null

用户登录名

Pwd

Varchar

Null

用户密码

Email

Varchar

Null

邮箱

Gname

Varchar

Null

姓名

Addr

Varchar

Null

地址

Hy

Varchar

Null

学院

Js

Varchar

Null

专业

Lx

Varchar

Null

类型

表4-3DEPT(部门表)表

列  名

数据类型

可否为空

说  明

DPETID

Int

NOT NULL

主键ID

Deptname

Int

NULL

外键关联主表ID

Deptlev

nvarchar(MAX)

NULL

部门级别

Deptown

nvarchar(MAX)

NULL

部门名称

Deptwo

nvarchar(MAX)

NULL

部门负责人

Depttime

nvarchar(MAX)

NULL

部门时间

表4-4 area(地点信息表)表

列  名

数据类型

可否为空

说  明

areaID

Int

NOT NULL

主键ID

Areaname

Int

NULL

地点信息表

Arealocaiton

nvarchar(MAX)

NULL

地点位置

area

nvarchar(MAX)

NULL

地点目标

EhhectTarget

nvarchar(MAX)

NULL

地点目标

Condition

nvarchar(MAX)

NULL

地点条件

表4-5 classroom(教室信息)表

列  名

数据类型

可否为空

说  明

classrooID

Int

NOT NULL

主键ID

Areaid

Int

NULL

Areaid外键

Classroomname

Varcahr(500)

NULL

教室名称

TargetContent

nvarchar(600)

NULL

教室内容

ExcTime

float

NULL

教室

Classroomper

float

NULL

教室负责人

表4-6 equipment(设备信息表)

列  名

数据类型

可否为空

说  明

equipmentID

Int

NOT NULL

主键字段

Classroomid

Int

NOT NULL

外键对应主表ID

Equipmentname

nvarchar(50)

NULL

设备名称

ItemCode

nvarchar(100)

NULL

编码

Item1

nvarchar(50)

NULL

明显1

Item2

nvarchar(50)

NULL

明细2

Item3

nvarchar(50)

NULL

明细3

Time

nvarchar(50)

NULL

创建时间

Per

nvarchar(50)

NULL

创建人

Dpet

nvarchar(50)

NULL

创建人部门

Flag

nvarchar(50)

NULL

状态

State

nvarchar(50)

NULL

状态

Title

nvarchar(50)

NULL

标题

表4-7 equipmentdetail(设备明细)表

列  名

数据类型

可否为空

说  明

ID

bigint

NOT NULL

主键ID

InfoID

Int

NULL

外键关联主表ID

ItemName

nvarchar(50)

NULL

设备明细

MessureUnit

nvarchar(20)

NULL

计量单位

Num

float

NULL

数量

PrePrice

float

NULL

单价

ApplyFinal

float

NULL

申请金额

Accoding

nvarchar(100)

NULL

计算依据

Memo

nvarchar(600)

NULL

说明

表4-8 equipmentflow(流程信息)表

列  名

数据类型

可否为空

说  明

flowID

Int

NOT NULL

主键ID

Equipmentid

nvarchar(50)

NULL

外键关联ID

Name

Int

NULL

步骤名称

Per

float

NULL

接受人

Stepflag

float

NULL

接受人状态

Time

nvarchar(255)

NULL

处理时间

Sendper

varchar

NULL

发送人

History

nvarchar

NULL

历史标记

      1.  海源学院设备管理系统系统解决方案资源

图4-21 项目解决方案资源

  在项目解决方案中,webroot下的jsp文件做为系统的业务数据的展现界面,src路径对系统所有的业务处理逻辑归纳,包括对设备,地点,人员,组织,流程,查询管理。主要向用户呈现数据。

      1.  设备申请主要的类方法

图4-28 设备申请页面布局图

设备申请页面用于实现用户对项目申报的增加、修改和修改。在该页面中,用户对设备信息进行如,录入完毕后,单击“保存”按钮,并选择流程人员信息,主要涉及到了3个表的更新,设备申请的模块增加、修改、流转功能实现的代码如下:

public class equitpmentDaoImpl

    implements GoodsDao {

  connDB conn = new connDB();

  chStr chStr = new chStr();

  public int insert(goods g) {

    int ret = -1;

    try {

      String sql = "Insert into equiptment (TypeID, Name,Introduce,Price,nowtime,picture,tile,content,sale) values(" +

          g.getTypeID() + ",'" + chStr.chStr(g.getGoodsName()) + "','" +

          chStr.chStr(g.getIntroduce()) + "'," + g.getPrice() + "," +

          g.getPrice() + ",'" + chStr.chStr(g.getPicture()) + "'," +

          g.getNewGoods() + "," + g.getSale() + ")";

      ret = conn.executeUpdate(sql);

    }

    catch (Exception e) {

      ret = 0;

    }

    conn.close();

    return ret;

  }

  public int update(area g) {

    int ret = -1;

    try {

     String sql = "update area set TypeID=" +g.getTypeID() +

         ",GoodsName='" + chStr.chStr(g.getGoodsName()) + "',introduce='" +

         chStr.chStr(g.getIntroduce()) + "',price=" + g.getPrice() +

         ",nowprice=" + g.getNowPrice() +",picture='" + chStr.chStr(g.getPicture())+ "',newgoods=" +

         g.getNewGoods() + ",sale=" + g.getSale() + " where ID=" + g.getID();

     ret = conn.executeUpdate(sql);

   }

   catch (Exception e) {

     ret = 0;

   }

   conn.close();

   return ret;

 }

  public int delete(goods g) {

    int ret=-1;

    try{

      String sql="Delete from tb_goods where ID="+g.getID();

      ret=conn.executeUpdate(sql);

    }catch(Exception e){

      ret=0;

    }

    conn.close();

    return ret;

  }

public class SmartFiles

{

    //private SmartUpload m_parent;

    private Hashtable m_files;

    private int m_counter;

    SmartFiles()

    {

        m_files = new Hashtable();

        m_counter = 0;

    }

    protected void addFile(SmartFile file)

    {

        if(file == null)

        {

            throw new IllegalArgumentException("newFile cannot be null.");

        }

        else

        {

            m_files.put(new Integer(m_counter),file);

            m_counter++;

            return;

        }

    }

    public SmartFile getFile(int i)

    {

        if(i < 0)

        {

            throw new IllegalArgumentException("File's index cannot be a negative value (1210).");

        }

        SmartFile file = (SmartFile)m_files.get(new Integer(i));

        if(file == null)

        {

            throw new IllegalArgumentException("Files' name is invalid or does not exist (1205).");

        }

        else

        {

            return file;

        }

    }

    public int getCount()

    {

        return m_counter;

    }

    public long getSize() throws IOException

    {

        long l = 0L;

        for(int i = 0;i < m_counter;i++)

        {

            l += getFile(i).getSize();

        }

        return l;

    }

    public Collection getCollection()

    {

        return m_files.values();

    }

    public Enumeration getEnumeration()

    {

        return m_files.elements();

    }

    protected byte m_binArray[];

    protected HttpServletRequest m_request;

    protected HttpServletResponse m_response;

    protected ServletContext m_application;

    private int m_totalBytes;

    private int m_currentIndex;

    private int m_startData;

    private int m_endData;

    private String m_boundary;

    private long m_totalMaxFileSize;

    private long m_maxFileSize;

    private Vector m_deniedFilesList;

    private Vector m_allowedFilesList;

    private boolean m_denyPhysicalPath;

    //private boolean m_forcePhysicalPath;

    private String m_contentDisposition;

    public static final int SAVE_AUTO = 0;

    public static final int SAVE_VIRTUAL = 1;

    public static final int SAVE_PHYSICAL = 2;

    private SmartFiles m_files;

    private SmartRequest m_formRequest;

以下是环保项目管理信息系统的界面实现。

1、系统登录界面

图4-29 系统登录界面

在用户名称处输入用户帐号,在密码处输入用户密码,单击“登录”进入系统。

2、系统首页界面

图4-30 系统首页界面

用户在输入正确用户名进行系统首页,系统内左侧的是系统使用菜单功能,右层是具体业务功能操作页面。

3、添加教室信息界面

图4-31 项目审核界面

输入教室名称,选择教室所在地点,点“保存”,把教室系想你记录在系统中。

4、用户添加界面

图4-32 用户添加界面

单击左侧菜单的添加用户信息添加系统用户信息,点“保存”,保存用户添加新用户信息。

5、添加设备界面

图4-33 添加设备界面

单击导航条“添加设备”,弹出设备添加页面,用户通过选择设备名称,设备所在地,上传附件,点“保存”,系统会输入的设备信息记录到设备信息表中,并提示“保存成功”。

6、添加设备申请界面

图4-34 添加设备申请界面

其他的定制服务  下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

翰文编程

你的鼓励 是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值