基于UML的建筑工程综合管理系统.docx
《基于UML的建筑工程综合管理系统.docx》由会员分享,可在线阅读,更多相关《基于UML的建筑工程综合管理系统.docx(48页珍藏版)》请在冰豆网上搜索。
基于UML的建筑工程综合管理系统
基于UML的建筑工程综合管理系统
第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技术项目三个项目组成,具体包括四个部分组成——EclipsePlatform、JDT、CDT和PDE。
JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,EclipsePlatform则是一个开放的可扩展IDE,提供了一个通用的开发平台。
Eclipse最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。
IBM提供了最初的Eclipse代码基础,包括Platform、JDT和PDE。
目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、RationalSoftware、RedHat及Sybase等。
Eclipse是一个开发源码项目,它其实是VisualAgeforJava的替代品,其界面跟先前的VisualAgeforJava差不多,但由于其开放源码,任何人都可以免费得到[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.3Java介绍
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于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最近发布了叫做远程方法调用(RemoteMethodInvocation,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是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MysqlAB公司。
目前Mysql被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,选择了Mysql作为网站数据库[3]。
Mysql特点:
(1)使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。
(2)支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统。
(3)为多种编程语言提供了API。
这些编程语言包括C、C++、Python、Java、PERl、PHP、Eiffel、Ruby和Tcl等。
(4)支持多线程,充分利用CPU资源。
(5)优化的SQL查询算法,有效地提高查询速度。
(6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。
(7)提供TCP/IP、ODBC和JDBC等多种数据库连接途径。
(8)提供用于管理、检查、优化数据库操作的管理工具。
(9)可以处理拥有上千万条记录的大型数据库。
第2章系统需求
2.1需求分析
2.1.1需求分析的任务
需求分析的任务是通过详细调查现实世界要处理的对象,充分了解原系统工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
新系统必须充分考虑今后可能的扩充和改变[9]。
(1)需求信息的收集
需求信息的收集又称为系统调查。
为了充分地了解用户可能提出的要求,在调查研究之前,要做好充分的准备工作,要了解调查的目的、调查的内容和调查的方式。
1)调查的目的
首先,要了解组织的机构设置,主要管理活动和职能。
其次,要确定组织的目标,大致管理流程和任务范围划分。
因此,建筑工程管理系统主要是通过对现有的工程管理系统进行考察、研究,并且通过和建筑工程管理人员、工人交流来确定系统功能。
2)调查的内容
外部要求:
信息的性质,响应的时间、频度和如何发生的规则,以及管理的要求,安全性及完整性要求。
管理的现状:
即工程管理信息的种类,信息流程,信息的处理方式,各种服务工作过程。
组织机构:
了解工程管理机构的作用、现状、存在的问题,及是否适应计算机管理。
3)调查的方式
通过对工程管理人员的访问、交谈可获得工程管理高层的、内部的管理需求,以及工程管理的管理目标、未来工程管理发展变化趋势和长远规划的有关信息【8】。
(2)需求信息的分析
要想把收集到的信息(如文件、图表、票据、笔记等)转化为下一阶段设计工作可用的形式信息,必须对需求信息做分析整理的工作。
分析方法中结构化分析方法SA(StructuredAnalysis)是一种简单实用的方法。
SA从最高层的系统组织机构入手,采用自顶向下、逐层分解的方式分析系统。
2.1.2选题的背景和意义
建筑工程是指通过对各类房屋建筑及其附属设施的建造和与其配套的线路、管道、设备的安装活动所形成的工程实体。
其中“房屋建筑”指有顶盖、梁柱、墙壁、基础以及能够形成内部空间,满足人们生产、居住、学习、公共活动等需要。
而管理系统则是为了更方便更好的管理这些,使人们生活更加方便管理者更加轻松准确的去管理这些内容。
随着软件技术的不断发展,应用软件的层出不穷,随处可见,大到国家小到个人,并且正在以其独特的优势服务于社会的各个层次各个行业。
将软件用于现代化的建筑工程中,不仅仅省去了人力解决了过去记账统计核算的费时费力,又容易出错的问题,利用本系统可以快速的解决问题轻松的完成财务的计算,既不费时也不费力,只需轻敲键盘就可以提高效率快捷完成。
为建筑工程的发展创造了巨大空间。
信息管理系统从20世纪50年代中期计算机用于管理领域以来经历了从简单到复杂,从单机到网络,从功能单一到功能集成、从传统到现代的演化。
21世纪以信息技术为特征的制造业革命正在全球范围内展开,信息技术正以前所未有的速度快速地渗透到制造业的各个领域中,使制造业的产品、研发方式、生产模式和精英管理的理念都发生了深刻地变化。
中小企业信息化对整个制造业的发展乃至国民经济的发展有着举足轻重的作用。
从管理信息系统的发展及其内容的扩展可以看出,它始终是以中小企业的管理活动为核心,不断综合新的信息技术、计算机技术和网络技术来改善系统功能,以提高更完善的服务或满足新的需求。
这一发展过程也体现出管理信息系统不断集成新技术并扩展系统功能的发展特点。
管理信息系统是一个不断发展的概念,它将朝着智能、集成和网络等方向的趋势不断发展[6]。
2.2可行性分析
(1)技术可行性
本系统在网络环境下,采用客户端/服务器端形式利用Java和Mysql数据库进行开发。
服务端要求:
WinXP及以上系统数据库Mysql5.0及以上版本。
客户端系统要求WinXP及其以上。
系统在数据库设计方面完全依据规定的标准设计,确保管理系统标准化和代码规范化。
系统采用模块化结构和规范的代码结构,是的系统具有通用性可扩充性及良好的可维护性。
系统在现阶段的开发过程中,利用现有的人力和物力是