(计算机应用技术专业论文)公路工程管理服务系统的设计与实现.pdf_第1页
(计算机应用技术专业论文)公路工程管理服务系统的设计与实现.pdf_第2页
(计算机应用技术专业论文)公路工程管理服务系统的设计与实现.pdf_第3页
(计算机应用技术专业论文)公路工程管理服务系统的设计与实现.pdf_第4页
(计算机应用技术专业论文)公路工程管理服务系统的设计与实现.pdf_第5页
已阅读5页,还剩69页未读 继续免费阅读

(计算机应用技术专业论文)公路工程管理服务系统的设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

东北大学硕士学位论文 公路工程管理服务系统的设计与实现 摘要 近年来我国公路事业得到飞速发展,但因公路工程的地域分布和工程数据的 实时更新,使得对整个公路工程项目海量数据的管理变得异常复杂。如何借助现 代化信息处理技术加强对公路工程的全面系统管理,显得尤为重要。本文所论述 的公路工程管理服务系统就是根据辽宁省交通厅的要求,针对公路工程管理的现 实问题,应用先进软件设计理念开发实现的。 对于上述的复杂信息系统,人们经常借助模型进行系统分析设计,其中以 u m l ( 统一建模语言) 为代表的面向对象建模方法成为软件工程行业的标准。它使 多种方法逐渐走向统一,消除了不同方法在表示法和术语上的差异,避免了符号 表示和理解上不必要的混乱,为理解系统需求架起沟通的桥梁。 本文采用面向对象软件建模方法,进行了系统需求分析,得到了系统用例模 型,确定了系统的类和对象,在此基础上提出了系统的静态模型和动态模型。本 文还分析了公路工程管理服务系统在开发建设中所面临的问题,从系统要实现的 功能入手,对系统实现框架、体系结构等重要因素进行了分析设计,给出了个 基于c s 结构的公路工程管理服务系统方案。 公路工程管理服务系统完成了设计功能,达到了设计要求,现已在辽宁省推 广应用。 关键词软件工程公路工程项霉管理丽向对象统一建模语言远程通讯 i i - 蔓些查兰堡主兰垡笙墨 垒! ! ! ! ! 生 t h e d e s i g na n di m p l e m e n t a t i o n o fh i g h w a yp r o j e c tm a n a g e m e n ta n ds e r v i c es y s t e m a b s t r a c t w i t lt h er a p i dd e v e l o p m e n to fh i g h w a yp r o j e c t ,h o wt om a n a g et h el a r g ev o l u m eo f d a t am o r ee f f i c i e n t l yf o rt h ee n t i r eh i g h w a ys y s t e mh a sb e c o m em o r ea n dm o r e d i f f i c u l td u et ot h eg e o g r a p h i c a ld i s t r i b u t i o no fh i g h w a yp r o j e c ta n de v e r - c h a n g i n g d a t a i ti si m p e r a t i v et ou s em o d e r nt e c h n o l o g yi np r o c e s s i n gi n f o r m a t i o nt ob u i l dt h e i n f r a s t r u c t u r ef o r h i g h w a ym a n a g e m e n t b a s e do nt h er e q u e s to f t r a n s p o r t a t i o nb u r e a u o fl i a o n i n gp r o v i n c e ,h i g h w a yp r o j e c tm a n a g e m e n ta n ds e r v i c es y s t e mi st h u s d e s i g n e da n di m p l e m e n t e dt ot a c k l et h ec u r r e n tp r o b l e m si nh i g h w a ys e r v i c ea n d m a n a g e m e n t m o d e l i n gm e t h o di s o f t e nu s e dw h e np e o p l e d e s i g nc o m p l i c a t e di n f o r m a t i o n s y s t e m s ,a m o n gw h i c ht h eo b j e c t - o r i e n t e dm o d e l i n gm e t h o dr e p r e s e n t e db yu m l ( u n i f i e dm o d e l i n gl a n g u a g e ) i sm o s tf r e q u e n t l ya p p l i e da n di th a st h u sb e c o m et h e s t a n d a r do fs o f t w a r ei n d u s t r y u m lu n i f i e sd i f f e r e n te x p r e s s i o n sa n dt e r m se x i s t e di n t h ep r e v i o u sm o d e l l i n gm e t h o d s u m ls e r v e sa st h e b r i d g ei nu n d e r s t a n d i n ga n d d e s i g n i n gas y s t e ma n dm a k e si tf r e ef r o mu n n e c e s s a r ys y m b o lc o n f u s i o n u s i n gt h eo b j e c t - o r i e n t e dm e t h o d ,t h i sp a p e ra n a l y s e dt h es y s t e mr e q u i r e m e n t , i d e n t i f i e dt h es y s t e mu s ec a s em o d e la n dt h u ss e tt h es y s t e mc l a s sa n do b j e c t a n dt h e n t h ed y n a m i cm o d e l i n ga n ds t a t i c m o d e l i n gw e r ep r e s e n t e da n dt h em a j o rp r o b l e m si n h p m s sd e v e l o p m e n tw e r ea n a l y z e d f o c u s i n go ns y s t e mf u n c t i o n ,t h ea n a l y s i sa n d d e s i g no fs y s t e mf r a m e w o r k ,t h ep a p e rp r o p o s e dc sa r c h i t e c t u r e ,b a s e do nw h i c h h i g h w a yp r o j e c tm a n a g e m e n ta n ds e r v i c es y s t e mi sp r e s e n t e d h p m s sa c c o m p l i s h e st h ed e s i g n e df u n c t i o n ,m e e t st h ee x p e c t e dr e q u e s to ft h e s y s t e ma n dh a sb e e n 谢d e l yp u t i np r a c t i c ei nl i a o n i n gp r o v i n c en o w k e yw o r d s s o f t w a r ee n g i n e e r i n g ,h i g h w a ye n g i n e e r i n g ,o b j e c t - o r i e n t e d ,u m l r e m o r ec o m m u n i c a t i o n i i i 独创性声明 本人声明所呈交的学位论文是在导师的指导下完成的。论文中 取得的研究成果除加以标注和致谢的地方外,不包含其他人己经发 表或撰写过的研究成果,也不包括本人为获得其他学位而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中 作了明确的说明并表示谢意。 学位论文作者签名:彳蝌 日期;俨譬;it qt 7 i a 学位论文版权使用授权书 本学位论文作者和指导教师完全了解东北大学有关保留、使用 学位论文的规定:即学校有权保留并向国家有关部门或机构送交论 文的复印件和磁盘,允许论文被查阅和借阅。本人同意东北大学可 以将学位论文的全部或部分内容编入有关数据库进行检索、交流。 ( 如作者和导师同意网上交流,请在下方签名;否则视为不同 意。) 学位论文作者签名: 签字日期: 导师签名:1 例 导师签名:炉 签字日期:胛 ,。1 东北大学硕士学位论文 第一章引言 1 1 问题提出 第一章引言 近年来随着我国公路事业的飞速发展,如何加强公路施工全面系统的管理, 在公路建设中显得尤为重要。它不仅决定公路建设的规模与标准,同时也是我国 公路建设管理水平向现代化迈进的标志。 公路工程项目管理涉及两方面的因素,即政府管理部门( 业主) 和施工单位。 业主的目标是以合理的投资获得按照生产或服务计划建成的设施,使建设资金投 入控制在预算范围内。如何有效管理施工的进度控制、质量管理和合同管理,便 成为工程双方,尤其是业主方的主要管理任务。传统管理模式多为业主方通过各 种报表汇总各施工单位的汇报和测量部门的测量数据,根据工程总进度、总成本 和质量的控制要求向各施工单位、监理单位和其它相关单位下达工程施工调度、 进度安排等管理事项。这种方法会存在很多问题,突出表现为各施工单位汇报的 数据不及时或不同步,使得各种数据不能及时地汇总,极大影响了业主方的决策 和管理。 政府管理部门( 业主) 对公路工程的现行管理模式是省市县三级或省直属、市 直属项目,省市县三级数据紧密联系。因公路工程信息地域分布的广泛性和数据 更新的时效性,迫切需要借助现代化信息技术,开发公路工程项目服务管理系统, 加强公路工程项目的管理,推动公路工程信息化建设。 公路工程项目服务管理系统要研究解决的问题如下: _ 理顺管理层各部门与工程项目间的关系,满足关键业务处理需求,具有统 一的工程项目管理规范,实现完整、规范和集成化的事务处理和数据处理, 促进管理工作规范化、标准化,提高整体管理效率和各工作组及部门间的 协同工作能力。 规范工程项目管理的关键业务,实现操作规程,基础数据、传递程序和使 用方法的标准化,保证原始数据准确、一致和可靠。 一建立标准数据处理过程,统一数据报表和图表格式,建立集中、统一和可 供不同专业及部门共享的工程管理数据库,高效地完成日常事务处理业 务,优化人力、物力、财力等资源分配,提供工作效率。 完成以工程管理为主线、以决策服务为目的、面向工程建设管理的全过程、具 有辅助决策和预测功能的综合管理服务系统,为工程决策提供提供准确及时的数 东北大学硕士学位论文 第一章引言 据,是系统开发的目标所在。 本文针对解决上述问题设计实现了公路工程管理服务系统。省市县三层公路 工程管理服务系统构成了辽宁省公路工程管理服务系统,可为省市县三级政府公 路管理部门从事公路规划、建设、养护、路政等领域的管理工作,提供强大支持。 应用此系统,用户方便的得到公路工程的各种信息,还可以发掘公路工程信息资 源的潜在知识,为实现公路管理现代化构造坚实的基础。系统设置了对数据库的 访问权限,数据加密传输,保护了数据库的安全,并使数据库的实际连接数量远 小于用户应用数量,提高了信息服务的速度和可靠性。 公路工程管理服务系统面临的许多技术与管理问题,诸如系统的分层、数据 的采集方式等。经反复调研论证决定系统采用较为复杂的分布对象技术。因此, 系统的复杂性和采用技术的难度决定了该系统不仅仅是为用户提供一定功能的软 件系统,更是一项复杂的工程,依靠面向对象软件工程的方法论和工具对其进行 设计开发,是顺利实现系统功能的最有效途径。 1 2 技术背景 软件产业作为一项特殊形式的产业,在全球经济中占据了日益举足轻重的地 位。软件领域的主流技术面向对象技术很快从编程领域向软件系统设计和分 析方面延伸,出现了一系列面向对象的软件工程方法和技术。 面向对象分析和设计技术是面向对象软件工程中的重要组成部分,主要对系 统编码实现前的分析、设计工作进行指导。在此技术从产生之时到现在出现了许 多不同的方法,且每种方法都有自成体系的标记法和表示符号。这些标记和符号 使开发人员能够准确而简洁地表述复杂的概念。但在涉及许多参与者的项目中, 参与者有着不同的技术和文化背景,如果他们同时使用不同的标记符号,就会给 他们之间的协调带来了困难,为系统后期实现、集成和移植等活动设置了障碍。 为解决这个矛盾,人们开始致力于开发一套能够进行准确交流的统一符号系统, 其中的每个元素必须有明确定义的语义,必须适合表示系统的某个方面,并且能 够被项目参与者很好的理解。 。 于是,统一建模语言( u r f i f i e dm o d e l i n gl a n g u a g e ,u m l ) 出现了。u m l 不仅统 一了b o o e h 、r u m b a u g h 和j a c o b s o n 这些主流的面向对象设计和分析中的表示方 法,而且对其作了进一步的发展,并最终统一为大众所接受的标准建模语言。它 使不同厂商开发的系统模型能够基于共同的概念,使用相同的表示法,呈现彼此 致的模型风格。 2 东北大学硕士擘位论丈 第章引言 u m l 表示方法的标准化有效地促进了不同背景间人员的交流。无论分析、 设计和开发人员采取何种方法或过程,他们提交的设计产品都是用u m l 来描述 的,有利地促进了彼此的沟通,以至于u m l 常被用于信息系统,技术系统,嵌 入式实时系统,分布式系统和商业系统等的升发中。 总而言之,u m i 。是一种定义怠好、易于表达、功能强大且普遍适用的建模语 言。它不仅适用于以面向对象技术来描述任何类型的系统,而且适用子系统开发 的不同阶段从需求规格描述直至系统完成后的测试和维护。所以,考虑公路 工程管理服务系统中分析设计阶段的需要,决定使用u m l 作为建模语言,进行 具有领域特征的面向对象建模。 , 1 3 本文研究方法和目标 项目管理是为实现特定任务对有限资源进行计划,组织、指导和控制的系统 管理方法。在工程项目管理中,各种施工管理又是整个管理工作的重点。建设项 目经批准新开工建设,项目便进入了建设实施阶段。这是项目决策的实施、建成 投产发挥投资效益的关键环节。铁路、公路、水库等需要进行大量土、石方工程 的,以开始进行土、石方工程日期作为正式开工日期。分期建设的项目,分别按 各期工程开工的日期计算。施工活动应按设计要求、合同条款,预算投资、施工 程序和顺序、施工组织设计,在保证质量、工期、成本计划等目标的前提下进行, 达到交工标准要求,经过竣工验收后,移交给建设单位【2 。这期间的管理就是施 工管理,可以说一个优秀的施工管理是工程项目成功实现的有力保障。 本文结合实际工程需求( 中百公路工程管理系统) ,采用面向对象的方法,完成 了公路工程管理服务系统的分析、设计及部分编程工作。工程实践表明:该系统 在规范公路工程管理、提高工作效率、增加工作过程迓明性、促进企业信息化建 设等方面获得了令人满意的效果。 公路工程管理服务系统是多人开发的大型项目,如何使开发人员明确分工, 统一编程规范,明确程序流程,简化和缩短项目开发周期是关系项目开发成功与 否的关键。上述因素和项目本身的复杂性要求系统开发必须采用一种工程化的软 件开发方法,为软件开发团队制定一个标准的软件开发过程,在编程之前进行适 当的系统分析和设计,建立系统模型。系统采用u m l 建模方法,对公路工程管 理服务系统进行面向列象分析和设计,本文主要完成了下列工作: 分析了公路工程管理服务系统在开发建设中面临的问题,并结合当今技术 的发展动态,设计开发了公路工程管理服务系统的方案。 的发展动态,设计开发了公路工程管理服务系统的方案。 东北大学硕士学位论文 第一章引言 一从公路工程管理服务系统要实现的功能入手,对系统的实现框架、体系结 构等重要因素进行了设计。 一按照具有公路工程领域特点的软件建模方法,运用u m l 建模方法,对系 统进行了建模,从不同角度描绘了公路工程管理服务系统。 确定系统的实现平台和工具,完成系统的工程实现。 1 4 论文体系结构 本文从工程实际出发,提出构建公路工程管理服务系统的设想,并着重分析 了系统开发中,利用具有领域特征的建模方法将u m l 高效地应用于系统分析与 建模。 第一章,引言。介绍了公路工程管理服务系统项目问题的提出,技术实现分 析,以及本文要解决的问题。 第二章,u m l 与面向对象分析和设计。本章首先介绍了面向对象的概念,面 向对象分析和设计方法的起源、特点及其应用,然后介绍了u m l 的发展、特点、 组成以及建模应用。 第三章,公路工程管理服务系统的分析与建模。本章从工程实际出发,对公 路工程管理服务系统进行了详细的需求分析,并利用u m l 建立了系统模型。 第四章,公路工程管理服务系统设计。本章首先对系统的拓扑结构和软件的 层次结构进行了分析和设计,然后对数据库及数据模型、系统功能进行了设计和 论述。 第五章,公路工程管理服务系统实现。本章介绍了系统开发环境及工具,并 对典型模块的实现作了详细说明。 第六章,结束语。本章对u m l 建模过程和系统实现的功能进行了总结。 。4 东北大学硕士学位论文 第二章u m l 与面向对象分析与设计 第二章u m l 与面向对象分析与设计 软件开发过程一般包括四个阶段:分析、设计、实现和维护。其中分析阶段 是软件开发的起点,分析的质量决定后续三个阶段工作的成败。所谓分析,就是 对需求进行分析,去掉需求中非实质性内容,领悟需求的实质,进而从需求中抽 象出一个分析模型。该模型能够准确地反映需求的实质,以分析模型为基础进行 的软件开发,能取得理想的效果。因此,建立高质量的需求分析模型就成为软件 开发的关键。传统建模技术是面向功能的,其建模过程是对需求进行功能分析, 最终生成一个功能模型。但该建模技术随着软件规模的增大和软件复杂程度的提 高,其弊端也越来约明显,主要表现在: _ 面向功能的建模技术很难自然、准确的反映现实世界,因而建立在功能模 型基础之上的软件,往往很难保证其质量,有时甚至需要重新开发。 一功能模型是通过编制功能模块来实现的,软件维护非常困难。 传统建模技术不适应现代软件开发的要求,面向对象技术( o b j e c to r i e n t e d , 0 0 ) 应运而生,这是一种非常实用的软件开发方法,通过含有数据及对数据操作 的指令构成的对象,把现实世界表示为模型。它具有如下特点: 一是方法唯一性,即方法是对软件开发过程所有阶段进行综合考虑而得到 的。 一二是从生存期一个阶段到下一阶段的高度连续性,即在一个阶段所用的部 分与在下一个阶段所用的部分是衔接的,使用的技术经过每个生存期后保 持不变。 三是把面向对象分析( o b j e c to r i e n t e da n a l y s i s ,o o a ) 、面向对象设计 ( o b j e c to r i e n t e dd e s i g n ,o o d ) 和面向对象编程( o b j e c to r i e n t e dp r o g r a m , o o p ) 集成到生存期的相应阶段【2 4 1 。 面向对象分析与设计在上世纪末出现了一个高潮,u m l 就是这个高潮的产 物。u m l 不仅统一了g r a d yb o o c h 、j a m e sr u m b a u g h 和i v a rj a c o b s o n 所提出的 面向对象方法中的符号表示,而且在其基础上进一步发展,并最终被统一为现在 为广大开发者所接受的统一建模语言u m l l 9 ”j 。 5 东北大学硕士学位论文 第二章u m l 与面向对象分析与设计 2 1 面向对象技术 2 1 1 面向对象的提出 人们苦苦寻求解决一种不合理的现象,即:认识一个系统的过程和方法同用 于分析、设计和实现该系统的过程和方法存在不一致。对个系统的认识是渐进 过程,是在继承以往有关知识基础上,经多次反复而逐步深化。以前,人们用于 分析、设计和实现一个系统的过程和方法大都是“瀑布似”的,即后一步是实现 前一步所提出的需求或者是进一步发展前一步所得出的结果。当系统越大,问题 越复杂时,这种对系统的认识过程和设计实现过程不一致引起的困扰也就越大。 为解决上述问题,就应使分析、设计和实现个系统的方法尽可能地接近人 所认识该系统的方法。就是说应使描述问题的问题域和解决问题的方法域在结构 上尽可能一致。这就是面向对象方法学的出发点和基本原则。 客观世界由各种对象组成,每种对象都有各自的内部状态和运动规律,不同 对象间的相互作用和联系构成了不同的系统,组成了客观世界。 面向对象方法是基于客观世界对象模型的软件开发方法。设计和实现一个系 统时,如能在满足需求的条件下,把系统设计成有一些相对固定部分组成的最小 集合,则这个设计是优秀的,而这些相对固定的部分被看成是不同的对象。面向 对象方法就是要建立与语言无关的对象模型,并围绕这些对象展开设计。 面向对象技术属于思维科学中的一项工程技术,从2 0 世纪9 0 年代开始,面 向对象技术已成为研究抽象思维的强有力手段。 2 1 2 面向对象概述 与传统软件设计方法相比,面向对象是以对象为中心的系统分析、设计方式, 是一种新的软件工程方法和程序设计范型( p a r a d i g m ) ,其基本思想是使用对象、类、 继承、封装和消息等概念进行程序设计和实现。面向对象技术基本思想是尽可能 地运用人类自然思维方式来构造软件系统。 面向对象分析和设计的主要目的是完成问题域的分析和系统建模。具体地说, 它的任务是描述系统中的对象,对象的属性和操作,对象的动态特性,对象间的 构造关系、映射关系和通信关系,建立系统的静态结构和动态活动模型,从而达 到增进软件生产效率,提高质量和加强可维护性的目的【2 ”。 现实世界是由客观实体和实体之间的联系构成,对象就是客观实体的抽象。 6 东北大学硕士学位论丈 第二章u m l 与面向对象分析与设计 面向对象开发模式的基本成分就是对象。对象是客观事务的模型化描述,可用一 组属性和一组可执行操作来表示,属性一般只能通过执行对象的操作来改变,操 作又称为方法或服务,用来描述对象执行的功能,若通过消息传递还可以为其它 对象使用。消息是一个对象与其它对象间通信的手段,是要求其它对象执行类中 某个操作的规格说明。 现实世界中任何实体都可被统一地模型化为唯一标识的对象,对象按类和类 层次被分类。类是一组具有相同数据和操作的对象集合,它封装了描述某些现实 世界实体的内容和行为所需数据和过程的抽象。类和从类导出的对象数据和数据 上的操作都在个包内,这就提供了封装、继承和多态的特性,这是面向对象系 统与传统系统间的关键区别之一。对象和类相比,前者更具体、更容易发现,后 者比较抽象,更具有一般性【2 ”。 面向对象的基本观点如下i l : - 客观世界由对象组成。任何客观事物或实体都是对象,复杂对象可以分解 为若干简单对象。 _ 具有相同数据和相同操作的对象可以归并为一个类,对象是类的一个实 例。从一个类可以产生许多对象。 一类可以派生出子类,子类继承父类的全部特性( 数据和操作) ,又可以有自 己的新特性。子类和父类之间形成类的层次结构。 _ 对象之间通过消息传递相互联系。类具有封装性,它的数据与操作对外界 是不可见的,只能通过消息请求进行操作,提供所需服务。 因此,软件工程学家c o a d 和y o u r d o n 认为 6 】: 面向对象= 对象+ 类+ 继承+ 通信。 面向对象方法有如下主要优点: 1 、与人类习惯思维方法一致 传统方法以算法为中心,把数据和过程作为相互独立的部分,忽略了数据和 操作间的联系,面向对象方法以对象为中心,按照人的习惯思维方式建立问题域 模型,能够开发出尽可能直观、自然的软件系统。 2 、稳定性好 传统开发过程基于功能分解和数据分析。传统方法建立的软件系统结构紧紧 依赖于系统功能,功能需求变化会引起软件整体结构的改变。实际上,用户需求 变化大部分也是针对功能的,所以这样的软件系统是不稳定的。面向对象软件系 统结构是根据问题领域模型建立,不是基于对系统应完成功能的分解,所以,系 统功能需求的变化并不会引起软件整体结构的改变,只需要局部性修改。总之, 7 东北大学硕士学位论文 第二章u m l 与面向对象分析与设计 因现实世界中实体是相对稳定的,以对象为中,t l , 构造的软件系统也是比较稳定的。 3 、可重用性好 传统软件重用技术是利用标准函数库,即用标准函数库中的函数作为“预制 件”来建造新的软件系统。但是,标准函数缺乏必要的“柔性”,不能适应不同应 用场合的需要,因此不是理想的可重用软件成分。面向对象方法对象所固有的封 装性和信息隐藏等机理,使得对象内部实现与外界隔离,具有较强的独立性。因 此,对象类提供了理想的模块化机制和可重用的软件成分。 4 、可维护性好 面向对象软件系统稳定性比较好,也比较容易理解和修改,而且对面向对象 的软件系统进行维护,主要通过从已有类派生出新类来实现。类是独立性很强的 模块,所以面向对象软件系统的可维护性是比较好的。 总之,面向对象技术开发过程开始于问题论域,而不是解空间,减轻了设计 者负担,使得在开发设计工作前,不必先制定非常完备的解决方案,通过面向对 象设计技术提供的有力支持,设计者可以处理更复杂的问题。 2 1 3 面向对象分析与设计方法 面向对象的方法由b o o c h 率先在1 9 8 6 年提出后,至今已有5 0 种以上的方法 出现,常见的b o o c h 、对象模型技术( o m t ) 、面向对象软件工程( o o s e ) 、面向对 象分析与设计( o o a o o d ) 、面向对象系统分析( o o s a ) 、责任导向设计( r d d ) 等。 这些方法备有特色,在b o o t h , o m t , o o s e 的基础上,广泛征求意见后形成统一 建模语言( u m l ) 。由于这三种方法是u m l 的直接来源,并且得到面向对象开发 界内的广泛认可,所以这三种方法在建模过程中仍然具有重要的作用。在实际开 发过程中,可以根据需要选用或综合这几种方法来进行建模。下面对这几种方法 的主要思想做一介绍: 1 、b o o c h 方法 b o o c h 方法产生于2 0 世纪9 0 年代,它区分系统的逻辑和物理结构并描述这 两种结构的静态和动态语义。b o o c h 方法不同于瀑布模型的顺序模型,它是一个 演化的模型,是一种迭代和增量的方法。b o o t h 方法内容和特点如下: _ 模型主要包括:逻辑模型、实体模型、静态模型和动态模型。 图视工具主要包括:类图、对象图、模块图、进程图、状态转换图和互动 图。 微观开发过程:识别出类和对象、识别出类和对象的语义、识别出类与对 8 东北大学硕士学位论文 第= 章u m l 与面向对象分析与设计 象的关系和实现类与对象。 - 宏观开发过程:建立关键需求、建立行为模型、建立体系结构、实现和管 理交付产品。 b o o c h 方法的微观过程使开发人员有充分的自由度,来实践渐进及可重用的 开发理念;而宏观过程则有利于管理者乱中有序地掌握与控制开发进度的过程、 工作品质与系统结构的正确性。两种开发过程对软件开发效率、软件品质的提高 及软件开发维护成本的降低均提供有益的帮助。 b o o c h 方法是u m l 的主要来源,其面向对象的概念十分丰富。主要概念有: 类、对象、继承、元类、消息、域、操作、机制、模块、子系统、进程等。 b o o t h 方法的优点是在项目的设计和构造阶段的表达能力特别强,其迭代和 增量的思想也是大型软件开发中的熏要思想。 2 、o m t 方法 o m t ( o b j e c t m o d e l i n g t e c h n i q u e ) 方法由r u m b a u g h 提出,应用于面向对象的 分析和设计。这个方法是在实体一关系模型上扩展了类、继承和行为而得到的。 主要内容和特点: o m t 方法提供了对象模型、动态模型和功能模型,分别从三个不同的角度分 析系统。 _ 对象模型:用来描述系统内部对象的结构,包括对象本身的定义、对象的 属性、对象的运算,以及对象与其他对象间的关系。 一动态模型:用来描述系统与时间相关的动态行为,表现出来的是对象彼此 之间经过交互作用后,随时间而改变的不同运算顺序。 功能模型:用来描述系统中数据的转换,在动态模型中,对象间彼此的交 互作用发生时,所需的数据流动情形由功能模型表达出来。 o m t 方法将开发过程分为三个阶段: 分析:基于问题和用户需求的描述,建立三种模型。 设计:结合问题域的知识和目标系统的体系结构( 解题域) ,将目标系统分解 为予系统;基于分析模型和解题域中的体系结构等添加的实现细节,完成系统 设计。 实现:将设计转换为特定的编程语言或硬件,同时保持可追溯性、灵活性和 可扩展性。 其中的视图和开发过程是u m l 的主要来源之一。 3 、o o s e 方法 o o s e ( o b j e c t o r i e n t e ds o f t w a r ee n g i n e e r i n g ) 是i v a rj a c o b s o n 在19 9 2 年提出 9 东北大学硕士学位论文 第二章u m l 与面向对象分析与设计 的一种面向对象的开发方法,以其“用例驱动的思想而著称。 使用实例是用来确定企业程序的一种简单而自然的途径。顾客是企业的用户, 他们是依循企业程序来使用企业。顾客对企业的每一种使用方法都是一个使用实 例。每个实际运做中的企业都是很复杂的,使用“用例”来为企业程序建立抽 象的模型,就得到了企业的用例模型。 o o s e 方法与上述两种方法有所不同,它涉及到整个软件生命周期,包括需 求分析、设计、实现和测试等四个阶段。并在用例模型的指导下产生需求模型、 分析模型、设计模型、实现模型和测试模型。 o o s e 对以用例作为一种途径来驱动需求捕获、分析和高层设计提供了极好 的支持。使用用例捕获需求是o o s e 对传统面向对象建模方法的很好补充。因为 用例是u m l 建模的重要部分,贯穿u m l 建模的整个过程。 2 2 统一建模语言u m l 2 2 1u m l 概述 u m l 是一种标准软件建模语割 ,是对软件制品绘制可视化标准蓝图或者 以图表方式对所加工产品进行可视化描述的工具。即u m l 是一种有利于交流和 适合详细描述的图形化语言,其中的每个符号都有明确含义。开发者可以用u m l 绘制一个模型并将其映射为编程语言,而另一个开发者( 甚至工具) 可以无歧义地 解释此模型。u m l 还适于建立系统体系结构及其所有的细节文档,能被用于所有 过程,贯穿于软件开发生命周期,而不必考虑不同应用实现技术的影响。 统一建模语言u m l 可归纳为如下三点 删: 1 、u m l 统一了b o o c h 、o m t 、o o s e 及其它面向对象的基本概念和符号, 同时又汇集了面向对象领域中很多人的思想。因此,u m l 具有表达力更强,更清 晰和一致,可以使工程在更广的范围建模。 2 、u m l 是一种先进实用的统一建模语言,汇入了面向对象领域与非面向对 象领域中的思想,但其中某些概念尚待实践来验证。u m l 的发展存在着一个进化 过程。 3 、u m l 是一种建模语言而不是一种方法。u m l 中没有过程的概念,而过 程正是方法的一个重要组成部分。u m l 本身独立于过程,这意味着用户在使用 u m l 建模时,可以选用任何合适的过程。过程的选用与软件开发过程的不同因素 有关,诸如所开发软件的种类、开发组织的规模等。但是,使用u m l 建模仍然 1 0 东北大学硕士学位论文 第二章u m l 与面向对象分析与设计 具有大致统一的框架,该框架包含了u m l 建模过程中的共同要素,同时又为用 户选用与其所开发的工程相适合的建模技术提供了很大的自由度。 2 2 2u m l 发展过程 随着社会发展和技术进步,软件规模越来越大,其组成与实现日益复杂,因 此对软件的可维护性、可重用性等要求也越来越高,从而促进了面向对象软件工 程的产生和发展。面向对象的分析与设计( o o a & d ) 技术是其中的重要组成部分, 此技术存在大量不同的方法和自成体系标记法,同一个符号对于不同的人可能意 义不同,同一个事物可能用不同的符号表示,造成了许多混乱,人们形象地用“方 法大战”描述了这种局面。 这种混乱局面导致了许多问题的产生。首先,面对众多的建模语言,用户无 法区别不同语言间的差别,很难找到一种比较适合自己应用特点的语言。其次, 众多建模语言实际上各有千秋。第三,虽然不同建模语言大多类同,但仍存在某 些细微差别,极大地妨碍了用户间的交流。因此有必要在总结不同建模语言优缺 点及预向对象技术应用实践的前提下,组织联合设计小组,根据应用需求,求同 存异,统一各种方法中的建模表示元素。 在这种背景下,u m l 树起了统一的旗帜,使不同厂商开发的系统模型能够 基于共同的概念,使用相同的表示法,呈现彼此一致的模型风格。而且它从多种 方法中吸收了大量有用( 或者对一部分用户可能有用) 的建模概念,使它的概念和 表示法在规模上超过了以往任何一种方法。统一建模语言u m l 结束了符号方面 的“方法大战”。 u m l 是对象管理组织o m g ( o b j e c tm a n a g e m e n tg r o u p ) 于19 9 7 年11 月批准 的一种用于描述和构造软件系统以及商业建模的标准建模语言,它是一种定义良 好、易于表达、功能强大且普遍适用的建模语言。u m l 溶入了软件工程领域的新 思想、新方法和新技术,其作用不限于支持面向对象的分析与设计,还支持从需 求分析开始的软件开发的全过程,是二十多年来面向对象技术发展史上的重大里 程碑。 u m l 的开发始于1 9 9 4 年8 月,鉴于b o o t h 和o m t 方法有许多相似之处, r a t i o n a l 公司的g r a d yb o o c h 和j i mr u m b a u g h 着手进行统一b o o c h 和o m t 方法 的工作。1 9 9 5 年1 0 月发行了统一方法( ( t h e u n i f i e d m e t h o d ) 的初版( o 8 版) 。同年 秋天,i v a r j a c o b s o n 加盟r a t i o n a l 公司,与b o o c h 和r u m b a u g h 合作,力图把o o s e 方法统一起来。经过r a t i o n a l 公司u m l 联合开发小组和众多关心u m l 的协作者 东北大学硕士学位论文第二章u m l 与面向对象分析与设计 的努力,与1 9 9 6 年6 月、1 0 月和1 9 9 7 年1 月7 曰,出版了u m l o9 版、0 9 l 版 和1 0 版,并向对象管理组织o m g 提交了u m l 资料,建议将u m l 采纳为面向 对象建模方法的标准。1 9 9 7 年1 1 月,出版了u m l l 1 版,被o m g 采纳为标准【l 。 1 9 9 8 年o m g 接管了u m l 标准的维护工作,使得u m l 成为软件工业界的标准, u m l i 3 版、1 4 版和l ,5 版相继诞生,并且仍在不断发展。最近o m g 正式批准 了2 0 版m 1 。 u m l 已经取得重要成功,成为在软件工业中占支配地位的建模语言,并在 许多领域的软件开发中得到应用。但其在取得成功的同时,也不断地受到批评。 如它过于庞大和复杂,用户很难全面、熟练地掌握它,大多数用户实际上只用到 其中的小部分。 统一建模语言u m l 代表了面向对象方法软件开发技术的发展方向,具有巨 大市场前景,也具有重大经济价值。 2 1 3u m l 的组成 u m l 包括3 种构造模块:元素、关系、图。元素是模型中具有代表性成分 的抽象;关系将这些元素连接起来;图将元素集合分组。 u m l 中的元素分为结构元素、行为元素、分组元素和注释元素4 种。 1 、结构元素( s t r u c t u r a lt h i n g ) 结构元素是u m l 模型中的名词。它们通常是模型的静态部分,描述概念或 物理元素。u m l 共有7 种结构元素:类( c l a s s ) 、接i ( i n t e r f a c e ) 、协作( c o l l a b o r a t i o n ) , 用例( u s ec a s e ) 、活动类( a c t i v ec l a s s ) 、组件( c o m p o n e n t ) 、节点( n o d e ) 。 2 、行为元素( b e h a v i o r a lt l l i n g ) 行为元素是u m l 模型的动态部分。它们是模型中的动词,描述了跨越时间 和空间的行为。u m l 共有交互作用( i n t e r a c t i o n ) 和状态机( s t a t em a c h i n e ) 两种行为 元素。 交互作用是由在特定上下文中为完成特定目的而在对象间交换消息集组成 的行为。交互作用包括许多元素:消息、动作序列( 由消息激活的行为) 、连接( 对 象闾的连接) 。 状态桃是一种规定了对象在其生命周期为响应事件雨经历的状态序烈,以及 对事件响应的行为。状态机包括状态、跃迁、事件和活动等元素。 3 、分组元素( g r o u p i n g 廿m 喀) 分组元素是u m l 模型中用来组织元素的元素。在所有分组元素中,最主要 1 2 东北大学硕士学位论文 第二章u m l 与面向对象分析与设计 的是包( p a c k a g e ) 。包把元素组织成组的机制,它完全是概念上的,即仅在丌发时 存在。 4 、注释元素( a n n o t a t i o n a lt i l i n g ) 注释元素是u m l 模型的解释部分。这些注释元素用来描述、说明和标注模 型的任何元素。注解( n o t e ) 是u m l 中主要的注释元素。 u m l 中结构模型元素是u m l 模型的静态组成部分。这些静态组成部分不是 孤立存在的,它们被组合在一起互相沩作以完成某项任务。因此,结构模型元素 之间必然存在某种语义上的联系。在u m l 中,这种联系是用关系表示的。关系 把事物结合在起,产生结果良好的模型。u m l 中4 种基本关系事物:依赖 ( d e p e n d e n c y ) 关系、关联( a s s o c i a t i o n ) 关系、类属( g e n e r a l i z a t i o n ) 关系、实现( r e a l i z a t i o n ) 关系。 依赖关系代表一个结构模型元素依赖于另一个结构模型元素的语义。当被依 赖的结构模型元素的语义部分地发生变化时,依赖元素的语义也会发生变化。 关联关系代表两个结构元素之间的某种语义上的连接。它是所有关系中语义 最弱的一种。从定义上看,关联关系是双向的,意味着被关联关系连接的两个模 型元素地位是相同的。如果两个结构模型元素之间存在着关联关系,则它们之间 可以互相访问。关联关系可以描述数据库记录之间的对应关系,可以描述结构模 型元素之间的部分和整体关系。结构模型元素之间的部分和整体关系是关联关系 的一种,又被称为聚合关系。 类属关系描述了一般事物与该事物的特殊种类之间的关系,也即父元素与子 元素之间的关系。子元素继承父元素所具有的结构和行为,通常子元素还要添加 新的结构和行为。在面向对象术语中,上述关系被称为继承( i n h e r i t a n c e ) ,u m l 中有的也称为泛化。 实现关系描述了规定协议的元素和遵守协议的元素之间的关系,如接口和实 现接口的类或组件之间的关系、用例和协作之间的关系。 ( d i a g r a m ) 聚集了相关的事物,是一组元素的图形表示。作为一种可视化的 建模语言,u m l 可以开发几种不同的可视框图,以从不同的角度表示系统的不同 方面。它由下面5 类框图1 0 种图形来表示,如图2 1 所示。 l 、用例图( u s ec a s ed i a g r a m ) 用例图展现了一组用例、参与者以及它们间的关系。从用户角度描述系统功 能,并指出各功能的操作者。用例图描述系统的静态使用情况。在对系统行为组 织和建模方面,用例图的作用相当重要。 1 3 , 东北大学硕士学位论文 第二章u m l 与面向对象分析与设计 图2 1 u m l 视图 f i g 2 1v i e wo f u m l 2 ,静态图( s t a t i cd i a g r a m ) 静态图描述系统的静态模型,包括类图( c l a s sd i a g r a m ) 、对象图( o b j e c td i a g r a m ) 和包图( p a c k a g ed i a g r a m ) 。 类图描述系统中类的静态结构。类图不但定义了系统中的类,表示了类之间 的聪系( 如关联、依赖、聚合等) ,还描述了类的内部结构( 类的属性和操作) 。 类图描述的是种静态关系,在系统的整个生命周期都是有效的。 对象图是类图的实例,使用与类图类似的标识。不同点在于对象图显示类的 多个对象实例,而不是实际的类。一个对象图是类图的一个实例。由于对象存在 生命周期,因此对象图也只存在于系统的某一个时间段内。 包图用来对一个图的元素( 如类和用例) 进行分组的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论