目 录
建筑工程综合管理信息系统
[摘要] 随着改革开放的不断深化和社会主义市场经济的不断发展建设,工程投资规模越来越大建筑施工队伍的扩大。而我国建筑工程综合管理信息系统使用情况参差不齐,部分省市地方信息系统建设滞后,信息化重视程度不够。很多地区仍然没有采用以计算机为基础的现代化信息管理方式,这就使建筑信息管理的不规范、不完善。使用建筑工程综合管理信息系统来管理建筑工程库存用量人员信息,不仅可以提高施工队伍的管理水平和安全水平,更重要的是为管理者提供了便捷的服务,提高工作效率。
为了实现建筑工程综合管理信息的统一管理,对建筑安全的各个层面进行全面、细致、规范的管理,需要借助先进的信息技术建立一套方便、快捷、可靠、正规的信息管理系统,快速地对各种信息进行添加、修改、删除、检索。通过建筑安全监督管理信息系统的设计与实现。采用计算机对建筑工程信息进行管理,进一步提高施工监督的现代化水平。帮助管理人员提高建筑安全监督管理的效率,实现监督管理工作流程的系统化、规范化和自动化。
系统采用Java语言编写并配合Mysql数据库开发,首先建立系统应用关系模型,然后进行需求分析,开发出友善的系统界面。
[关键词] 建筑工程综合管理信息 Java Mysql 增删改查
The System of Construction Project Composite Information Management
[Abstract] With the continuous deepening of reform and opening up, and the socialist market economy continuous developing, the scale of capital projects are increasing, and the scale of the construction team is expansion. But the construction project composite information management system is uneven, part of the provincial and local information systems lagged behind, they are lack of the attention of informatizationthe.Even many areas are not using modern computerbased information management. There for the construction management was not standardized, incomplete. Using construction project composite information management system to manage construction repertory and people information, not only can improve the management level and safety level of the construction team, it also can provide more important for managers with convenient service, and improving work efficiency.
In order to realize the unified management of construction project composite information, detailed and standardized management, construction safety at all levels, it needs to use advanced information technology to establish a convenient, fast, reliable and regular information management system, rapid to carry out all kinds of information to add, modify, delete and retrieve. By designing and implementing the construction safety supervision and management of information systems.Help the managers improve the efficiency of the construction safety supervision and management, supervise and manage the workflow systematic, standardized and automated.
The system uses Java language and Mysql database development,First establishes the system application model .
[Keywords] construction project composite information management Java Mysql add.delete.modify.
第1章 绪论
1.1 管理信息系统介绍
1.1.1 管理信息系统的发展史
(1)管理系统的由来
管理信息系统包含抽象的系统概念和管理概念,以及具体的信息技术和实际应用。其学科框架由以下主要部分组成:
1)基本理论:这一部分主要包括与信息系统有关的科学理论和管理理论,其中包括系统科学理论、计算器科学理论、竟争战略理论等。
2)信息技术:信息技术包括硬件、软件、网络等。
3)系统开发:这一部分涉及企业人员和信息技术人员如何规划,开发和运作信息系统,涉及到许多系统开发方法。
4)系统运行:信息系统的应用十分广泛。信息系统在企业中的应用实例包括生产运作管理系统,电子商务系统等。
5)系统管理:这一部分主要涉及如何有效管理信息系统包括电子商务系统的管理方式和策略[1]。
(2)信息系统的概念和演化
用系统的观点来分析企业组织结构,企业是一个有生命的开放系统,信息系统则是企业的一个子系统。随着计算器技术的发展,信息系统越来越多地被用于企业各管理层的决策,信息系统从而被视为企业内部最具价值的子系统之一。采用企业信息系统有许多优点其中包括直接提高企业运作效率,降低成本,缩短生产准备时间等。一般来说,信息系统接受数据/信息以作为输入,通过过程转换,以信息的形式输出结果。此种信息往往是为某一信息需求服务的。在这一信息转换过程中涉及的功能包括:
1)数据的产生:企业内部数据的产生或获取。
2)数据的记录。
3)数据的处理过程。
4)信息的产生,存储,检索和传递。
5)信息为其需求所用。
(3)信息发展
信息作为生产力中最活跃的因素,很早就在人类经济生活中发挥着不可替代的作用,但把信息纳入企业经营管理系统中高效处理和应用是在计算机发明以后的50年代末。
目前人们所提到的管理信息系统,通常是指以计算机为工具,对管理信息进行收集、存贮、检索、加工和传递,使其应用于组织机构及企业管理领域的“人-机系统”,该系统是70年代初“后工业经济”时代的产物,企业管理信息系统在其发展的初期,是单一的人-机系统,系统功能简单,效率低,对管理的作用有限。
进入20世纪80年代末,随着计算机网络和通信技术的大力发展,企业管理信息系统进入网络化的发展时期。世界发达国家已建立起了完善的先进的管理信息系统体系,在其社会经济发展领域中发挥着巨大的作用。
我国的管理信息系统大发展是在80年代末90年代初,国家相继建立起了“金卡”、“金关”、“金桥”工程,多数企事业单位建立了局域网和广域网管理信息系统。随着世界经济和我国经济逐步向知识经济迈进,无论是基于工业经济的管理信息系统,还是面向少数专家和管理人员的专家系统(ES)或决策支持系统(DSS),其处理对象和服务对象,自身的系统结构,处理能力,都有了进一步的发展[6]。
(4)管理信息系统的发展
1)专业化发展。现代管理信息系统是建立在计算机技术、网络基础之上的,计算机技术对管理信息系统开发是必不可少的。人们往往误认为管理信息系统专业是计算机类的专业,但是,计算机、网络技术知识只是一个平台和工具,管理理论、信息分析、决策系统才是管理信息系统的核心。我国的管理信息系统专业一般都开设在高等院校的经济、管理、商学院,这对管理信息系统专业的发展是十分有利的。管理信息系统在我国未来社会经济生活中的重要地位,管理信息系统专业已经成为社会急需的热门专业,学科建设正在蓬勃发展。
2)技术继续进步。管理信息系统集成的目的是互通信息、共享数据资源,使用数据库数据仓库、数据挖掘和计算机网络技术。伴随着全球经济一体化的步伐,世界经济和我国经济正逐步向知识经济迈进,管理信息系统结构、处理能力,都将适应知识经济发展的要求。管理信息系统向智能信息系统发展,智能信息系统具有很高的知识创新功能,可以解决非结构化事务,在决策中处于主导地位,是人的向导。以基于网络神经元构件、遗传算法的智能网为主,到那时,信息系统对人类的贡献将会更大。
1.1.2 管理信息系统的组成
(1)管理信息系统的组成
管理信息系统在企业中的应用存在三个要素,这就是人、计算机和数据。
人是指企业领导者、管理人员、技术人员,以及MIS建设的领导机构和实施机构,他们在系统中起主导作用。MIS是一项系统工程,不是只靠一些计算机开发人员就可以完成的,必须有企业管理人员,尤其是企业领导的积极参与。
计算机技术是MIS(管理信息系统)得以实施的主要技术。在这些技术中,软件开发是MIS开发的重点。
第三个因素也不能忽视。企业的管理数据是MIS正常运行的基础。广义地说,各项管理制度是MIS建设成功的基础。试想要计算一台机床的成本,需要按时输入每个部件、每个零件以及每个螺钉螺帽的费用,涉及企业的生产车间、采购、库房、工艺设计和财务等多个部门,必须有一整套管理制度作保证。
(2)管理信息系统的界面特点
在计算机软件技术中,人机界面已经发展成为一个重要的分支。MIS人机界面设计一般遵循以下一些基本原则:
1)以通信功能作为界面设计的核心
人机界面设计的关键是使人与计算机之间能够准确地交流信息。一方面,人向计算机输入信息时应当尽量采取自然的方式:另一方面,计算机向人传递的信息必须准确,不致引起误解或混乱。另外,不要把内部的处理、加工与人机界面混在一起(人机界面程序只是通信),以免互相干扰,影响速度。
设计MIS时,针对每一个功能,都要按照模块化思想,使输入、处理与输出“泾渭分明”,充分体现人机界面的通信功能。这样设计出来的程序不易出错,而且易于维护。
报表打印是MIS必备的功能之一,而且打印之前常常需要计算。计算与打印分开设计,虽然消耗时间,但易于整个MIS系统的维护。
2)界面必须始终一致
统一的人机界面不至于会增加用户的负担,让用户始终用同一种方式思考与操作。最忌讳的是每换一个屏幕用户就要换一套操作命令与操作方法。
例如,在整个系统可以以问号图标表示帮助,以磁盘图标表示存盘,以打印机图标表示打印等。
3)界面必须使用户随时掌握任务的进展情况
人机界面应该能够告诉用户软件运行的进度。特别是在需要较长时间的等待时,必须让用户了解工作进展情况,如可以设计已经完成了百分之几的任务进度条等。目前,Windows下的应用软件无论大小,其安装程序几乎均做到了这一点。开发MIS软件时,这一点很值得借鉴。
4)界面友好,使用方便
多数MIS软件的数据输入量较大。对于一些相对固定的数据,不应让用户频频输入(特别是汉字),而应让用户用鼠标轻松选择。例如,人事管理系统中的“文化程度”是相对固定的数据,其值一般取“小学”、“初中”、“高中”、“大专”、“大本”、“硕研”、“博研”等。录入这类数据之前,MIS软件应在相应位置弹出一个列表框,待用户以鼠标点击,而不应让用户每次都输入这些汉字。
总之,所开发的MIS在使用过程中,应使用户的数据输入量降至最低限度减少用户的干预量。实践证明,用户干预愈少,MIS系统的满意程度愈高[4]。
1.2开发工具介绍
Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——Eclipse Platform、JDT、CDT和PDE。JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。Eclipse 最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。IBM提供了最初的Eclipse代码基础,包括Platform、JDT 和PDE。目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、Rational Software、Red Hat及Sybase等。Eclipse是一个开发源码项目,它其实是Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其开放源码,任何人都可以免费得到[3]。
Eclipse采用的技术是IBM公司开发的(SWT),这是一种基于Java的窗口组件,类似Java本身提供的AWT和Swing窗口组件;不过IBM声称SWT比其他Java窗口组件更有效率。Eclipse的用户界面还使用了GUI中间层JFace,从而简化了基于SWT的应用程序的构建。
Eclipse的插件机制是轻型软件组件化架构。在富客户机平台上,Eclipse使用插件来提供所有的附加功能,例如支持Java以外的其他语 言。 已有的分离的插件已经能够支持C/C++(CDT)、Perl、Ruby,Python、telnet和数据库开发。插件架构能够支持将任意的扩展加入到 现有环境中,例如配置管理,而决不仅仅限于支持各种编程语言。
Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。Eclipse基本内核包括:图形API (SWT/Jface), Java开发环境插件(JDT),插件开发环境(PDE)等。
1.3 Java介绍
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景[2]。
(1)简单
Java 设计目的是让专业程序员觉得既易学又好用。假设你有编程经历,你将不觉得Java 难掌握。如果你已经理解面向对象编程的基本概念,学习Java 将更容易。如果你是一个经验丰富的C++ 程序员,那就最好了,学习Java 简直不费吹灰之力。因为Java 承C/C++ 语法和许多C++ 面向对象的特性,大多数程序员在学习Java 时都不会觉得太难。另外,C++中许多容易混淆的概念,或者被Java 弃之不用了,或者以一种更清楚、更易理解的方式实现。
除了和C/C++ 类似以外,Java 的另外一个属性也使它更容易学习:设计人员努力使Java 中不出现显得让人吃惊的特性。在Java 中,很少明确地告诉你如何才能完成一项特定的任务。
(2)面向对象
尽管受到其前辈的影响,但Java 没被设计成兼容其他语言源代码的程序。这允许Java 开发组自由的从零开始。这样做的一个结果是,Java 语言可以更直接、更易用、更实际的接近对象。通过对近几十年面向对象软件优点的借鉴,Java 设法在纯进化论者的“任何事物都是一个对象”和实用主义者的“不讨论对象不对象”的论点之间找到了平衡。Java 的对象模型既简单又容易扩展,对于简单数据类型,例如整数,它保持了高性能,但不是对象。
(3)健壮性
万维网上多平台的环境使得它对程序有特别的要求,因为程序必须在许多系统上可靠地执行。这样,在设计Java 时,创建健壮的程序被放到了高度优先考虑的地位。为了获得可靠性,Java 在一些关键的地方限制你,强迫你在程序开发过程中及早发现错误。同时,Java 使你不必担心引起编程错误的许多最常见的问题。因为Java 是一种严格的类型语言,它不但在编译时检查代码,而且在运行时也检查代码。事实上,在运行时经常碰到的难以重现的、难以跟踪的许多错误在Java 中几乎是不可能产生的。要知道,使程序在不同的运行环境中以可预见的方式运行是Java 的关键特性。
为更好理解Java 是如何具有健壮性的,让我们考虑使程序失败的两个主要原因:内存管理错误和误操作引起的异常情况(也就是运行时错误)。在传统的编程环境下,内存管理是一项困难、乏味的任务。例如,在C/C++ 中,程序员必须手工地分配并且释放所有的动态内存。这有时会导致问题,因为程序员可能忘记释放原来分配的内存,或者释放了其他部分程序正在使用的内存。Java 通过替你管理内存分配和释放,可以从根本上消除这些问题(事实上,释放内存是完全自动的,因为Java 为闲置的对象提供内存垃圾自动收集)。在传统的环境下,异常情况可能经常由“被零除”或“文件未找到”这样的情况引起,而我们又必须用既繁多又难以理解的一大堆指令来对它们进行管理。Java 通过提供面向对象的异常处理机制来解决这个问题。一个写得很好的Java 程序,所有的运行时错误都可以并且应该被你的程序自己进行管理。
(4)多线程
设计Java 的目标之一是为了满足人们对创建交互式网上程序的需要。为此,Java 支持多线程编程,因而你用Java 编写的应用程序可以同时执行多个任务。Java 运行时系统在多线程同步方面具有成熟的解决方案,这使你能够创建出运行平稳的交互式系统。Java 的多线程机制非常好用,因而你只需关注程序细节的实现,不用担心后台的多任务系统。
(5)结构中立
Java 设计者考虑的一个主要问题是程序代码的持久性和可移植性。程序员面临的一个主要问题是,不能保证今天编写的程序明天能否在同一台机器上顺利运行。操作系统升级、处理器升级以及核心系统资源的变化,都可能导致程序无法继续运行。Java 设计者对这个问题做过多种尝试,Java 虚拟机(JVM )就是试图解决这个问题的。他们的目标是“只要写一次程序,在任何地方、任何时间该程序永远都能运行”。在很大程度上,Java 实现了这个目标。
(6)解释性和高性能
前面已提到,通过把程序编译为Java 字节码这样一个中间过程,Java 可以产生跨平台运行的程序。字节码可以在提供Java 虚拟机的任何一种系统上被解释执行。早先的许多尝试解决跨平台的方案对性能要求都很高。其他解释执行的语言系统,如BASIC,Tcl,PE-RL 都有无法克服的性能缺陷。然而,Java 却可以在非常低档的CPU 上顺利运行。前面已解释过,Java 确实是一种解释性语言,Java 的字节码经过仔细设计,因而很容易便能使用JIT 编译技术将字节码直接转换成高性能的本机代码。Java 运行时系统在提供这个特性的同时仍具有平台独立性,因而“高效且跨平台”对Java 来说不再矛盾。
(7)分布式
Java 为Internet 的分布式环境而设计,因为它处理TCP/IP 协议。事实上,通过URL 地址存取资源与直接存取一个文件的差别是不太大的。Java 原来的版本(Oak) 包括了内置的地址空格消息传递(intra-address-space) 特性。这允许位于两台不同的计算机上的对象可以远程地执行过程。Java 最近发布了叫做远程方法调用(Remote Method Invocation ,RMI )的软件包,这个特性使客户机/服务器编程达到了无与伦比的抽象级。
(8)动态
Java 程序带有多种的运行时类型信息,用于在运行时校验和解决对象访问问题。这使得在一种安全、有效的方式下动态地连接代码成为可能,对小应用程序环境的健壮性也十分重要,因为在运行时系统中,字节码内的小段程序可以动态地被更新。
1.4 数据库介绍
数据库在一个MIS系统中占有很重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。一个合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。同时,合理的数据库结构也将有利于程序的实现。
数据库是数据文件以及用于处理这些数据文件的程序集合,是数据管理的最新技术。数据库技术已成为现代信息技术的重要组成部分,是现代计算机信息系统和计算机应用系统的基础和核心。数据库技术是20世纪,60年代后期产生和发展起来的一项计算机数据管理技术,它的出现使计算机应用渗透到人类社会的广阔领域。目前数据库的建设规模和性能、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的标志,数据库技术也成为计算机科学技术学科的一个重要分支。
Mysql是一个精巧的SQL数据库管理系统,虽然它不是开放源代码的产品,但在某些情况下你可以自由使用。由于它的强大功能、灵活性、丰富的应用编程接口(API)以及精巧的系统结构,受到了广大自由软件爱好者甚至是商业软件用户的青睐,特别是与Apache和PHP/PE-RL结合,为建立基于数据库的动态网站提供了强大动力[3]。
Mysql是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。Mysql是以一个客户机/服务器结构的实现,它由一个服务器守护程序Mysql和很多不同的客户程序和库组成。SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用SQL语言为一个网站检索产品信息及存储顾客信息,同时Mysql也足够快和灵活,以允许你存储记录文件和图像。Mysql 主要目标是快速、健壮和易用。最初是因为我们需要这样一个SQL服务器,它能处理与任何可不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快,Mysql就开发出来。
数据库从最初的数据文件的简单集合发展到今天的大型数据库管理系统已经成为我们日常生活中不可缺少的组成部分。如果不借助数据库的帮助,许多简单的工作将变得冗长乏味,甚至难以实现。尤其是象银行、院校和图书馆这样的大型组织更加依靠数据库系统实现其正常的运作。再看互联网上,从搜索引擎到在线商场,从网上聊天到邮件列表,都离不开数据库。目前,市面上的数据库产品多种多样,从大型企业的解决方案到中小企业或个人用户的小型应用系统,可以满足用户的多样化需求。这里,我们所要向大家介绍的Mysql数据库是众多的关系型数据库产品中的一个,相比较其它系统而言,Mysql数据库可以称得上是目前运行速度最快的SQL语言数据库。除了具有许多其它数据库所不具备的功能和选择之外,Mysql数据库是一种完全免费的产品,用户可以直接从网上下载数据库,用于个人或商业用途,而不必支付任何费用[7]。
Mysql是一个开放源码的小型关联式数据库管理系统,开发者为瑞典Mysql AB公司。目前Mysql被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,选择了Mysql作为网站数据库[3]。
Mysql特点:
(1)使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。
(2)支持AIX、FreeBSD、HP-UX、Linux、MacOS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。
(3)为多种编程语言提供了API。这些编程语言包括C、C++、Python、Java、PERl、PHP、Eiffel、Ruby和Tcl等。
(4)支持多线程,充分利用CPU资源。
(5)优化的SQL查询算法,有效地提高查询速度。
(6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。
(7)提供TCP/IP、ODBC和JDBC等多种数据库连接途径。
(8)提供用于管理、检查、优化数据库操作的管理工具。
(9)可以处理拥有上千万条记录的大型数据库。
第2章 系统需求
2.1 需求分析
2.1.1 需求分析的任务
需求分析的任务是通过详细调查现实世界要处理的对象,充分了解原系统工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变[9]。
(1)需求信息的收集
需求信息的收集又称为系统调查。为了充分地了解用户可能提出的要求,在调查研究之前,要做好充分的准备工作,要了解调查的目的、调查的内容和调查的方式。
1)调查的目的
首先,要了解组织的机构设置,主要管理活动和职能。其次,要确定组织的目标,大致管理流程和任务范围划分。因此,建筑工程管理系统主要是通过对现有的工程管理系统进行考察、研究,并且通过和建筑工程管理人员、工人交流来确定系统功能。
2)调查的内容
外部要求:信息的性质,响应的时间、频度和如何发生的规则,以及管理的要求,安全性及完整性要求。
管理的现状:即工程管理信息的种类,信息流程,信息的处理方式,各种服务工作过程。
组织机构:了解工程管理机构的作用、现状、存在的问题,及是否适应计算机管理。
3)调查的方式
通过对工程管理人员的访问、交谈可获得工程管理高层的、内部的管理需求,以及工程管理的管理目标、未来工程管理发展变化趋势和长远规划的有关信息【8】。
(2)需求信息的分析
要想把收集到的信息(如文件、图表、票据、笔记等)转化为下一阶段设计工作可用的形式信息,必须对需求信息做分析整理的工作。分析方法中结构化分析方法SA(Structured Analysis)是一种简单实用的方法。SA从最高层的系统组织机构入手,采用自顶向下、逐层分解的方式分析系统。
2.1.2 选题的背景和意义
建筑工程是指通过对各类房屋建筑及其附属设施的建造和与其配套的线路、管道、设备的安装活动所形成的工程实体。其中“房屋建筑”指有顶盖、梁柱、墙壁、基础以及能够形成内部空间,满足人们生产、居住、学习、公共活动等需要。而管理系统则是为了更方便更好的管理这些,使人们生活更加方便管理者更加轻松准确的去管理这些内容。
随着软件技术的不断发展,应用软件的层出不穷,随处可见,大到国家小到个人,并且正在以其独特的优势服务于社会的各个层次各个行业。将软件用于现代化的建筑工程中,不仅仅省去了人力解决了过去记账统计核算的费时费力,又容易出错的问题,利用本系统可以快速的解决问题轻松的完成财务的计算,既不费时也不费力,只需轻敲键盘就可以提高效率快捷完成。为建筑工程的发展创造了巨大空间。
信息管理系统从20世纪50年代中期计算机用于管理领域以来经历了从简单到复杂,从单机到网络,从功能单一到功能集成、从传统到现代的演化。21 世纪以信息技术为特征的制造业革命正在全球范围内展开,信息技术正以前所未有的速度快速地渗透到制造业的各个领域中,使制造业的产品、研发方式、生产模式和精英管理的理念都发生了深刻地变化。中小企业信息化对整个制造业的发展乃至国民经济的发展有着举足轻重的作用。
从管理信息系统的发展及其内容的扩展可以看出,它始终是以中小企业的管理活动为核心,不断综合新的信息技术、计算机技术和网络技术来改善系统功能,以提高更完善的服务或满足新的需求。这一发展过程也体现出管理信息系统不断集成新技术并扩展系统功能的发展特点。管理信息系统是一个不断发展的概念,它将朝着智能、集成和网络等方向的趋势不断发展[6]。
2.2可行性分析
(1)技术可行性
本系统在网络环境下,采用客户端/服务器端形式利用Java和Mysql数据库进行开发。服务端要求:Win XP及以上系统数据库Mysql 5.0及以上版本。客户端系统要求Win XP及其以上。系统在数据库设计方面完全依据规定的标准设计,确保管理系统标准化和代码规范化。
系统采用模块化结构和规范的代码结构,是的系统具有通用性可扩充性及良好的可维护性。
系统在现阶段的开发过程中,利用现有的人力和物力是完全有能力开发出来的,作为阶段性产品,日后的发展空间很大,实现的方法逐步简单容易,所以建筑工工程管理信息系统在技术上是完全可行的。
(2)经济可行性
随着技术的发展现在小型的管理信息系统可由1-2人开发完成,因此成本较低。利用现阶段所有的计算机,开发工具,学校提供的图书资料等工具即可完成开发。所以经济上是完全可行的。
第3章 系统分析
3.1系统功能
通过调查分析,确定管理信息系统需要完成的功能主要有:
1. 工人基本信息的添加、删除、修改、查询,工人基本信息包括工人编号、工人姓名、工人性别、工人住址、联系电话等。
2. 工人工资的添加、删除、修改、查询,工人工资信息包括编号、在工天数和借款等。
3. 借款信息的添加、删除、修改、查询等。
4. 库存类别的添加、删除、修改、查询,库存类别包括类别编号,类别名称类别单价库存数量等。
5. 附件小工具包括计算器,记事本等。
6. 帮助信息密码修改等。
对上述各项功能进行集中、分块,按照结构化程序设计的要求,得到如下系统功能模块图。如图3-1所示
图3-1 系统功能模块图
3.2系统的UML建模设计
3.2.1 UML简介
UML是一种功能强大的、面向对象的可视化系统分析的建模语言,它采用一整套成熟的建模技术,广泛地适用于各个应用领域。它的各个模型可以帮助开发人员更好地理解业务流程,建立更可靠、更完善的系统模型。从而使用户和开发人员对问题的描述达到相同的理解,以减少语义差异,保障分析的正确性.
3.2.2建筑管理系统用例分析
该建筑管理系统用例分析图如图3-2所示。
图3-2 系统用例图
从用例图中我们可以看出管理员和用户对本系统所具有的用例。
3.2.3系统顺序图
顺序图是显示对象之间交互的图,这些对象是按时间顺序排列的。该建筑管理系统主要含有以下重要的顺序图,其他对象的顺序图和这些也类似。如图3-3所示。
图3-3 系统顺序图
3.2.4系统状态图
管理系统的状态图如下图3-4所示
图3-4 系统状态图
3.3系统流程图
系统流程图(System Flowchart)是描绘系统物理模型的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等),表达信息在各个部件之间流动的情况[6]。
3.3.1 登陆界面流程图
图3-5 登陆界面系统流程图
点击进入系统后开始执行登陆,需要用户输入账号密码,并且选择自己是管理员还是用户选择后输入正确的账号密码,系统会进行判断如果账号密码正确而且权限为1则进入用户界面如果账号密码正确权限为0则进入管理员界面如果账号密码错误则提示并且返回重新输入。如图3-5所示。
3.3.2 查询界面流程图
图3-6 查询界面流程图
进入查询界面后开始执行查询操作,需要输入要查询的工人idcard编号然后系统会在数据库中查询并返回结果是否存在,不存在则返回提示重新输入存在则显示查询结果。如图3-6所示。
3.3.3 删除界面流程图
图3-7 删除界面流程图
打开删除界面后执行删除的一系列操作,输入需要删除的工人idcard编号然后系统会在数据库中查询并返回结果是否存在,不存在则返回提示存在则返回注意事项并删除个人信息等资料,如图3-7所示。
3.3.4 修改界面流程图
图3-8 修改界面流程图
开始进入修改界面,首先输入需要修改的用户idcard 然后点击查询按钮进行查询操作,检查是否有要修改的用户信息存在如果有则进入下一步没有的话返回错误信息。如果有返回并显示在下方文本框中然后修改需要修改的项目并点击修改完成。返回修改是否成功。如图3-8所示
3.3.5 添加/注册界面流程图
图3-9 添加注册界面流程图
开始进入添加注册界面,输入需要添加注册的各种信息并且确认各项内容不为空,然后点击添加/注册。系统开始判断idcard是否重复如果不重复则写入并返回添加/注册成功,如果重返则返回错误并重新输入。如图3-9所示。
3.3.6 入库/出库界面流程图
图3-10 入库/出库界面流程图
打开入库/出库界面,首先输入需要入库/出库的物品编号idcard,然后点击查询,系统开始查询并返回查询的值,如果输入正确则显示查询到的内容在文本框中输入需要入库/出库的数量,必须为正整数,然后系统开始计算并且重新写入数据库。点击查询按钮会重新显示入库/出库后的新的数据。如图3-10所示。
第4章 系统设计
4.1总体设计
经过系统分析阶段的工做,系统必须做什么已经清楚,现在该决定怎样做了。总体设计的基本目的就是概括的来讲如何实现系统,总体设计又称为概要设计和初步设计。通过这个阶段的工作将划分出组成系统的物理元素----程序、文件、数据库等。但是这些具体内容将在以后详细设计。
总体设计过程首先需找实现目标系统的各种不同的方案,需求分析阶段得到的数据流图是设想各种方案的基础,然后分析并选择若干个合理的方案,综合这些合理的方案并从中选取一个最佳的,进一步设计结构。
4.2 数据库设计
4.2.1 数据库概念结构设计
将需求分析得到的用户需求抽象为信息结构及概念模型的过程就是数据库的概念结构设计,简称为数据概念设计,它的主要目的就是分析数据之间内在语义关联,在此基础上建立一个数据的抽象模型[4]。数据库概念设计的主要方法是E-R方法。规划出的实体有工人,工资,借款。具体的E-R 图如下。
图4-2 数据库E-R图
图4-3 数据库E-R图
4.2.2 数据库逻辑结构设计
按照上面得到的数据库概念结构,将其转化为Mysql所支持的实际数据模型,也就是数据库的逻辑结构。以下是涉及到的各个关系模式表。包括数据库结构表如表4-1所示,账号密码如表4-2所示,用户信息如表4-3所示,工资如表4-4所示,借款如表4-5所示,库存如表4-6所示。
表4-1 数据库结构
Tables_in_wxf |
borrow |
storage |
usekey |
user |
wage |
表4-2 usekey表
Field | Type | Null | Key | Default | Extra |
idcard | varchar(18) | NO | PRI | NULL | |
password | varchar(10) | YES | NULL | ||
compefence | int(11) | NO | NULL |
表4-3 use表
Field | Type | Null | Key | Default | Extra |
idcard | int(30) | NO | PRI | NULL | |
name | varchar(30) | NO | NULL | ||
adress | varchar(32) | NO | NULL | ||
phone | int(11) | NO | NULL | ||
sex | varchar(2) | YES | 男 |
表4-4 wage表
Field | Type | Null | Key | Default | Extra |
idcard | int(18) | NO | PRI | NULL | |
day | int(5) | NO | NULL | ||
grade | varchar(10) | NO | NULL | ||
due | int(7) | NO | NULL | ||
borrow | int(5) | YES | NULL | ||
gain | int(7) | YES | NULL |
表4-5 borrow表
Field | Type | Null | Key | Default | Extra |
idcard | int(10) | NO | PRI | NULL | |
day | data | YES | NULL | ||
cause | varchar(32) | NO | NULL | ||
number | int(10) | YES | NULL |
表4-6 storage表
Field | Type | Null | Key | Default | Extra |
id | int(10) | NO | PRI | NULL | auto_increment |
name | varchar(10) | NO | NULL | ||
price | varchar(10) | NO | NULL | ||
number | int(10) | NO | NULL |
第5章 系统的实现
5.1 登陆界面
打开已经打包好的jar程序并且双击运行。会进入如图5-1登陆界面,需要输入用户账号和用户密码并且选择用户和管理员两个不同的身份登陆如果输入正确的账号密码并选择了用户则会进入用户界面,如果输入正确的账号密码并选择了管理员则会进入管理员界面两者都未选择或者输入错误的信息则会弹出对话框提示输入错误信息,如果是新来的用户也可以点击注册来完成身份的注册。登陆界面如图5-1所示。
图5-1 登陆界面
5.2 注册界面
如果是新进入工地的工人并且对计算机有一定了解则可以自行注册并登陆,如果对计算机不了解可以由管理员帮忙注册并登陆。进入注册界面后需要输入用户名和密码,注册过的用户不允许重复注册并确保唯一idcard如果账号不重复且符合格式则会返回注册成功,此时用户完成注册并可以在登陆界面自行登陆。如果错误则返回错误值并重新注册。点击取消按钮则返回登陆界面。注册界面如图5-2所示。
图5-2 注册界面
5.3 主界面
主界面以管理员为例,管理员界面涵盖了所有用户界面的功能能执行增加删除修改查询等所有操作而用户则只能执行查询和修改密码操作。主界面包含了基本管理用户信息管理库存管理和附加功能,采用纯按钮布局这样管理员和用户可以直截了当的了解所有功能并且可以快速使用。除了增删改查操作外,管理员还需要记录日常记录和计算工人工资。点击界面中各个按钮会进入不同的界面并对应实现相应的功能。管理员界面如图5-3所示。
图5-3 管理员界面
5.4 基本管理界面
5.4.1 基本工资
基本工资界面,点击界面上的按钮并进入相应的子界面,界面上显示所有人的工资和对应的信息界面上还有个人工资查询、增加、修改、退出、打印,点击按钮会进入子界面并实现相应的功能,只有管理员有权限对个人工资进行修改,但是不能进行删除操作,工资数据库要进行留底方便以后对账等明细操作可以修改和增加,增加的用户必须为已经注册过且有个人信息的用户。修改则是为了修改工人的工时和日工资工阶等信息退出按钮则会退出当前界面返回主界面。工资界面如图5-4所示。
图5-4 基本工资界面
5.4.2 借款
借款界面,由于工人在工期间工资统一由年底或者在完工后发放所以当工人有需求是可以进行借款,并记录相关信息借款的日期缘由和数目,数目不会超过理论工资上限,借款的数量会在结款时统一扣除。如果用户想要了解自己的借款数目,可以自行登陆并且查询。点击退出返回主界面。借款界面如图5-5所示。
图5-5 借款界面
5.5 用户管理界面
5.5.1 添加
添加用户界面,当新来的工人不太熟悉电脑的时候由管理员帮忙注册账号,需要输入工人idcard即可密码默认为六个零,输入的idcard编号需要不为重复,用户自己注册后管理员无法重复注册,注册成功后弹出提示框成功,用户可以自行登陆并且修改密码。
添加界面如图5-6所示。
图5-6 添加用户界面
5.5.2 删除
当用户离开工地或者离职后即可删除用户信息只需要输入用户的idcard然后按下删除按钮即可以,删除成功后弹出提示框,删除成功完成删除。删除界面如图5-7所示。
图5-7 删除用户界面
5.5.3 查询
查询用户信息界面,新来的工人要统一到管理员处登记个人信息姓名,电话,住址等,打开查询界面时候会显示所有的人信息,点击按钮进入相应的界面进行精细的个人查找
添加个人信息,必须是注册过的用户才可以登记添加个人信息也可以进行用户个人信息的删除和修改点击退出就可以退出返回主界面。查询界面如图5-8所示。
图 5-8 查询用户界面
5.6 库界面
5.6.1 库存查询
库存查询界面显示所有的物品清单并且可以对单个物品进行查找 需要知道物品的编号id所有的物品是提前写入数据库的不需要增加物品只改变数量和单价点击退出按钮返回主界面即可。库存界面如图5-9所示。
图5-9 库存查询界面
5.6.2 进库
进库界面,当库存管理员新购买和有新货物进来时,要进行库存登记,输入新进货物的编号,然后点击查询按钮看看当时库存多少,如果输入错误则无法显示重新输入,正确后在下方的添加数量文本框中输入新进货物的数量,点击入库按钮成功则会返回入库成功对话框点击查询更新显示。入库界面如图5-10所示。
图5-10 入库界面
5.6.3 出库
同入库界面原理,当员工来取出货物时,管理员要进行库存登记,输入所取货的编号,然后点击查询按钮看看当时库存多少,如果输入错误则无法显示重新输入,正确后在下方的减少数量文本框中输入取出货物的数量,点击出库按钮成功则会返回入库成功对话框点击查询更新显示。出库界面如图5-11所示。
图 5-11 出库界面
5.7 附加功能界面
5.7.1 计算器
计算器界面,点击按钮进入计算器可以进行常规的加减乘除,点击6+9=则会在最上文本框中显示结果15.0默认小数点后一位点击c按钮清空点击+/-则是正负数,Backspace则是退格当输入错误时则删除最后输入的数字。计算器界面如图5-12所示。
图5-12 计算器界面
5.7.2 记事本
记事本界面,点击记事本进入记事本界面,选项栏只有打开和保存退出,帮助则是帮助文档,打开记事本输入内容点击选项保存即可保存基本的txt文档到需要的地方,也可以打开txt文档,进行简单的编辑和修改。记事本界面如图5-13所示。
图5-13 记事本界面
5.7.3 修改密码
修改密码界面,用户和管理员均可进行修改密码操作,只能进行已知的修改。当新用户由管理员帮忙注册后点击进入时 要修改自己的初始密码,防止被别人盗用。修改密码界面如图5-14所示。
图5-14 密码修改界面
5.8 帮助界面
5.8.1 帮助
帮助界面,帮助为一个txt文本文档对中间所有操作内容进行讲述并标明注意事项。
5.8.2 关于
关于界面,介绍整个程序的相关信息。关于界面如图5-15所示。
图5-15 关于界面
5.9 时间界面
时间界面,点击时间进入时间界面后会显示当前系统的时间方便查看当前时间以便实时记录操作和信息。时间界面如图5-16所示。
图5-16 时间界面
第6章 系统测试
软件生命周期包括软件定义、软件开发和软件维护三个时期,而软件的维护一直到软件真正停止运行的前一刻都在进行,软件的维护是保证软件正常运行的不可或缺的工作。而测试的目的是为了发现系统中的错误而反复多次执行程序的过程。一个好的测试方案可以发现迄今为止尚未发现的错误。因为没有一个程序是没有错误的,所以我们的测试方案应该尽可能多的发现程序中的错误,保证程序能够实现预期的功能。 除此之外测试的另一大内容是调试程序中错误的部分,并完善功能。只有检错而没有改正的测试是不完整的。下面我们将介绍软件的测试和维护工作。
6.1软件的测试
6.1.1测试的原则
(1)测试开始之前应当制定出完整的测试计划,避免盲目测试。
(2)所有的测试都应当针对软件的功能进行,必须确保功能实现。
(3)测试不可能完全,但应该充分,测试时要包括各种类型的测试数据,尽可能多的发现错误。
(4)测试工作应避免由程序的编写者自己进行。
(5)测试应当从小部分开始,例如单个模块,然后逐步扩大测试规模,最后对整个系统进行测试。
(6)选用科学有效的测试方法,尽量不用一种方法测试。
6.1.2测试的方法
(1)单元测试
单元测试以单个程序模块为单位,用详细设计描述作为指南,对重要的源程序进行测试,发现模块内部的错误。单元测试的目的是保证每个模块作为一个单元能正确运行,所以单元测试又叫模块测试。单元测试采用白盒测试,首先对模块的接口进行测试,然后对局部数据和重要的执行通路进行测试。输入的数据包括四类,分别是参数、成员变量、全局变量、IO媒体,而数据的输入,主要有三种分别是正常输入、边界输入、非法输入。
(2)集成测试
集成测试是单元测试的逻辑扩展。集成测试是在完成了单元测试之后,将应用的各个单元联合进行测试,以确认他们在可以单独工作的情况下能否一起工作没有冲突。本次测试计划采用自底向上集成的方法,即从最底层的模块开始组装和测试。
(3)确认测试
完成了集成测试后,可以确保接口的问题得到解决。但无法保证软件的功能和性能以及其它特性是否与用户要求一致。因此,下面还需进行确认测试。确认测试当中很重要的一部分是有效性测试,即用黑盒测试的方法,验证被测试软件是否满足需求规格说明书列出的需求。本系统使用eclipse工具测试运行,若发现错误可根据提示寻找解决方案。
(4)系统测试
系统测试是保证系统质量与可靠性的最后关口,需要对整个系统的分析、设计和实现进行最终审查。虽然前面进行了单元、集成和确认测试,但是难免会留下错误,系统测试的目的就是排除剩余的错误。集成测试包括以下几方面内容,集成功能测试、可靠性与适应性测试、系统自我保护恢复功能测试以及安全测试和强度测试。
6.1.3测试的内容
(1)写入数据库测试
当输入不重复且正确的账号密码是则返回成功如图6-1所示当输入重复的账号时,则返回注册失败如图6-2所示。
图6-1 注册成功
图6-2注册失败
(2)查询测试
输入idcard后点击查询则将返回的内容显示在各个文本框中如图6-3所示。如果输入错误则会返回错误值如图6-4所示。
图6-3 查询成功
图6-4 查询失败
(3)重写测试
入库当不输入编号是无法执行入库出库操作输入后点击查询然后才能进行入库如图6-5,图6-6所示。
图6-5 入库失败
图6-6入库成功
6.2程序的维护
(1)出错维护:程序运行后,发现程序中本身含有错误,影响程序的正常使用。
(2)适应性维护:程序运行中发现大量用户出现新的需求或者对已完成的程序存在不满,导致程序无法满足用户。又或者是硬件环境和运行环境发生了更新换代导致程序不适应市场。
(3)预防性维护:主动增加或改进程序,增加软件的可维护性和可靠性,以适应未来的软硬件变化,使得程序不被淘汰。因为这种修改存在风险,所以该部分在维护中只占很小一部分。
在系统设计过程中,从用户的角度出发,在系统的可用性和易用性上做了很多功夫,力求能达到最好的效果。
本系统在用户界面上不是很友好,没有很好的布局和用户习惯,还有很多的构思不能全部添加到系统中来。
总 结
在老师的指导和督促下,经过数月的紧张设计与开发,我的毕业设计基于Java管理系统终于开发完成了。
通过本次的系统开发,我深刻地认识到信息系统开发的每一步都是以上一步为基础的。因此每一步文档的编写都必须正确、完整,否则就会给下一步的工作带来不必要的麻烦,加大工作量。因为系统是为用户服务的,所以要充分了解用户的需求,考虑用户的特点和使用方面的习惯,以协调人机关系。在系统实施中应结合各方面的要求,尽可能选择自己熟悉的程序设计语言。系统测试中要根据实际情况设计有效的测试方法。
由于这是我第一次完整地开发一个系统,在系统分析、设计、实现过程中都遇到了不少困难。例如,如何细化用户的需求并将需求合理地安排在系统中,特别是在构建系统模型上,需要尽量满足用户需求,设计方面也要做到合理、完善,因此颇费了一番周折。在开发进入尾声时,最大的感受就是用户的需求调查和系统分析对系统的开发是否成功起着决定性作用,若这一部分没有做好,在开发过程中将困难重重,甚至会导致系统开发失败。经过艰辛劳动和不懈努力,虽然系统在小细节上有些漏洞,但系统基本功能还是实现了。
虽然以前也曾经参与过其他项目的系统开发,但毕竟只是接触,而没有像这次毕业设计那样非常系统地去完成,也没有系统开发设计的经验,而且毕业设计的时间有限,这些都使得本系统在某些方面表现得并不是非常的完善。通过这次系统开发,我将学习的理论与实践结合起来,我对管理信息系统和数据库的设计与开发有了更真实、具体的体会,我得到了一次很有价值的实践。