版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1系统集成项目管理工程师
串讲2上午题:选择题基础知识150分钟下午题:问答题案例分析150分钟考试科目分析3历年考试情况分析-基础知识历年考试情况所属学科2009.052009.11平均比例信息化知识454.56.00%信息系统服务管理423.04.00%信息系统集成技术专业知识141514.519.33%项目管理一般知识433.54.67%立项管理433.54.67%项目整体管理523.54.67%项目范围管理433.54.67%项目时间管理666.08.00%项目成本管理031.52.00%项目质量管理042.02.67%项目人力资源管理444.05.33%项目沟通管理010.50.67%项目采购管理777.09.33%项目风险管理333.04.00%文档与配置管理735.06.67%信息系统安全管理142.53.33%法律法规和标准规范322.53.33%专业英语555.06.67%4软件的定义软件(
Software)是计算机系统中与硬件相互依存的另一部分,它是包括程序(Program)
,数据(Data)及其相关文档(Document)的完整集合。Software=Program+Data+Document程序是按事先设计的功能和性能要求执行的指令序列数据是使程序能正常操纵信息的数据结构文档是与程序开发,维护和使用有关的图文材料5软件危机的表现软件成本高逐渐增高计算机软件和硬件费用比逐渐增大软件质量得不到保证由于软件质量问题导致失败的软件项目非常多进度难以控制维护非常困难6软件工程定义总之:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。它借鉴传统工程的原则、方法,以提高质量,降低成本为目的。7软件生命周期模型问题定义软件定义可行性研究
需求分析
总体设计详细设计软件生命周期软件开发编码单元测试综合测试运行维护
持久满足用户需求8软件过程模型
软件生命周期的每一阶段都有明确的任务,把规模大、结构复杂、管理复杂的软件开发变得容易控制和管理。各个阶段的活动如何衔接,开发过程中采用什么样的策略,应遵守什么样的规定和制约,将这些活动框架(忽略不必要的细节)用一种模型表示出来,称为软件过程模型(或软件开发模型或软件生命周期模型)。
也就是说,
软件过程模型是软件开发全部过程、活动和任务的结构框架。9瀑布模型(WaterfallModel)10实际的瀑布模型11面向对象模型—
喷泉模型分析设计实现测试集成演化特点:主要用于支持面向对象开发过程体现了软件创建所固有的迭代和无间隙的特征12螺旋模型13统一软件开发过程RUP每个周期划分为初始、细化、构造和移交四个阶段,每个阶段围绕着五个核心工作流(需求、分析、设计、实现、测试)分别迭代。14RUP的特点
初始阶段:进行问题定义,确定目标,评估其可行性,降低关键风险。
细化阶段:制定项目计划、配置各类资源、建立系统架构(包括各类视图)。
构造阶段:开发整个产品,并确保产品可移交给用户
移交阶段:产品发布、安装、用户培训。不同阶段工作流的侧重点不同,前两阶段大部分工作集中在需求、分析和架构设计上;在构造阶段,重点转移到详细设计、实现和测试上。15现有的软件开发方法大致可分为两类:重型软件开发方法和轻型软件开发方法。重型软件开发方法一般具有严格和详尽的软件开发过程,软件开发需产生大量的文档。轻型软件开发方法则强调软件开发过程的简洁性和灵活性,软件开发只需编写少量的文档。极限编程简介16敏捷思想敏捷软件开发是一类轻型的软件开发方法,它提供了一组思想和策略来指导软件系统的快速开发并响应用户需求的变化。不同于已有的其它软件开发方法,该方法对软件开发具有以下四个方面的基本认识:1)较之于过程和工具,应更加重视人和交互的价值;2)较之于面面俱到的文档,应更加重视可运行软件的价值;3)较之于合同谈判,应更加重视客户合作的价值;4)较之于遵循计划,应更加重视响应用户需求变化的价值。极限编程简介17四大价值观极限编程将其核心思想归结为四条:交流反馈简单勇气极限编程简介18五个原则快速反馈简单性假设逐步更改支持变化高质量的工作极限编程简介19十二个最佳实践计划游戏(PlanningGame)隐喻(Metaphor)小型发布简单设计测试重构结对编程代码集体拥有持续集成每周工作40小时现场用户编码标准极限编程简介20需求分析的任务
需求分析是软件定义时期的最后一个阶段,它的基本任务不是确定系统怎样完成它的工作,而是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。并在在需求分析阶段结束之前,由系统分析员写出软件需求规格说明书,以书面形式准确地描述软件需求。即:
----准确地回答“系统必须做什么?”。21系统流程图系统流程图是概括地描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件(程序,文档,数据库,人工过程等)。系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是物理数据流图而不是程序流程图。22基本符号----以概括的方式抽象地描绘一个实际系统所用符号23数据流图一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程,是系统逻辑功能的图形表示。设计数据流图时只需考虑系统必须完成的基本逻辑功能,完全不需要考虑怎样具体地实现这些功能,所以它也是今后进行软件设计的很好的出发点。DFD----DataFlowDiagram24数据流图四种基本符号数据加工/处理/变换数据源点或终点(外部实体)数据流(dataflow)数据存储文件或或或25数据字典&用途
数据流图和数据字典共同构成系统的逻辑模型
没有数据字典数据流图就不严格,没有数据流图数据字典也难于发挥作用。数据字典的任务是:对于数据流图中出现的所有被命名的图形元素在字典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。----DD(DataDictionary)26判定表如果数据流图的加工需要依赖于多个逻辑条件的取值,使用判定表来描述比较合适27判定表如果数据流图的加工需要依赖于多个逻辑条件的取值,使用判定表来描述比较合适28判定树判定树也是用来表达加工逻辑的一种工具。有时侯它比判定表更直观。检查发货单金额>$500金额$500欠款>60天不发出批准书欠款60天发出批准书、发货单欠款>60天发出批准书、发货单及赊欠报告欠款60天发出批准书、发货单29软件设计基础自顶向下,逐步细化软件结构程序结构结构图模块化抽象化信息隐蔽30结构化设计方法首先研究、分析和审查数据流图。从软件的需求规格说明中弄清数据流加工的过程,对于发现的问题及时解决。然后根据数据流图决定问题的类型。数据处理问题典型的类型有两种:变换型和事务型。针对两种不同的类型分别进行分析处理。由数据流图推导出系统的初始结构图。利用一些启发式原则来改进系统的初始结构图,直到得到符合要求的结构图为止。修改和补充数据词典。制定测试计划。3131结构程序设计:goto语句慎用,3三种基本程序结构人机界面设计:可用性,合法性,界面友好过程设计的工具:程序流程图,N-S,PAD,PDL,IPO面向数据结构的设计方法:Jackson方法程序复杂程度的定量度:McCabe详细设计重点32abX1X2X7X6X4X3X5higfedcjFTFFFTTT多分支选择结构先判定型循环结构选择结构后判定型循环结构程序流程图33N-S图由而且仅由顺序、选择、循环三种基本结构组成。基本图例如下:顺序结构块1块2块3块4条件TF块1块2选择结构CaseI=1,2,3T块1块2多分支选择结构F块3块当条件成立时当型循环块直到条件成立时直到型循环N—S图34PAD图—问题分析图(problemAnalysisDiagram)其基本控制结构如下:任务1任务2任务3顺序结构WHILE型条件循环体先判定型循环结构条件then部分else部分选择结构TFUNTIL型条件循环体后判定型循环结构控制变量
任务1任务2任务n多分支选择结构值1值2值nPAD图PAD图基本结构35这是一种结构化的语言。是非形式化比较灵活的语言,用于描述模块内部过程的具体算法,以便在开发人员之间比较精确的进行交流。PDL的语法是开放式的,其外层语法是确定的,而内层语法则不确定。外层语法描述控制结构它用类似于一般程序设计语言控制结构的关键字:如:IF-THEN-ELSEWHILE-DOREPEAT-UNTILDOCASEDOWHILE等表示。有时还用关键字反排,表示控制结构结束:
DO-ODIF-FIPDL(ProgramDesignLanguage)
程序设计语言361、建立数据结构JACKSON方法中数据结构表示为树型结构,有顺序、选择和循环三种基本结构。2、以数据结构为基础,建立相应的程序结构图,也称为JACKSON图。当没有结构冲突时,转换过程是简单的。JACKSON方法的设计过程
371、实现包括编码和测试两个阶段2、
编码=设计结果翻译成程序(某种程序语言编写)3、测试包含静态测试和动态测试,测试步骤至少分为:1.模块测试---单元
2.子系统测试---局部3.系统测试---集成4.验收测试---用户参与4、白盒测试和黑盒测试是软件测试的两类基本方法实现重点38软件测试的目标暴露问题并不是软件测试的最终目的,发现问题是为了解决问题,测试阶段的根本目标是尽可能多地发现并排除软件中潜藏的错误,最终把一个高质量的软件系统交给用户使用。39软件测试的策略和方法静态测试方法动态测试方法
人工测试方法计算机辅助静态分析方法白盒测试方法黑盒测试方法测试方法4040测试步骤大型软件系统的测试过程基本上由下述几个步骤组成:1.模块测试---单元
2.子系统测试---局部3.系统测试---集成4.验收测试---用户参与5.平行运行---新旧共存
4141白盒测试技术逻辑覆盖
逻辑覆盖----是以程序内部的逻辑结构为基础的设计测试用例的技术。(1)语句覆盖(2)判定覆盖(3)条件覆盖(4)判定/条件覆盖(5)条件组合覆盖(6)点覆盖(7)边覆盖(8)路径覆盖4242发现错误的能力标准含义1(弱)语句覆盖每条语句至少执行一次2判定覆盖每一判定的每个分支至少执行一次3条件覆盖每一判定中的每个条件,分别按“真”、“假”至少各执行一次4判定/条件覆盖同时满足判定覆盖和条件覆盖的要求5(强)条件组合覆盖求出判定中所有条件的各种可能组合值,每一可能的条件组合至少执行一次
逻辑覆盖测试的5种标准4343黑盒测试着重测试软件功能。黑盒测试并不能取代白盒测试,它是与白盒测试互补的测试方法,它很可能发现白盒测试不易发现的其他类型的错误。黑盒测试力图发现下述类型的错误:①功能不正确或遗漏了功能;②界面错误;③数据结构错误或外部数据库访问错误;④性能错误;⑤初始化和终止错误。黑盒测试技术:等价划分法、边界值分析法、错误推测法、因果图法等。黑盒测试技术4444软件维护
----就是在软件已经交付使用之后,为保证软件在相当长的时期能够正常运作所进行的软件活动。
维护的类型有四种:
改正性维护适应性维护扩充与完善性维护预防性维护软件维护的定义4545软件维护过程维护过程本质上是修改和压缩了的软件定义和开发过程,而且事实上远在提出一项维护要求之前,与软件维护有关的工作已经开始了。维护组织维护报告维护的事件流维护档案记录维护评价46软件的可维护性许多软件的维护十分困难,原因在于这些软件的文档不全、质量差、开发过程不注意采用好的方法,忽视程序设计风格等。许多维护要求并不是因为程序中出错而提出的,而是为适应环境变化或需求变化而提出的。为了使得软件能够易于维护,必须考虑使软件具有可维护性。软件可维护性是指纠正软件系统出现的错误和缺陷,以及为满足新的要求进行修改、扩充或压缩的容易程度。47决定软件可维护性的因素
1.可理解性表现为外来读者理解软件的结构、功能、接口和内部处理过程的难易程度。2.可测试性诊断和测试的容易程度取决于软件容易理解的程度。软件结构、可用的测试工具和调试工具,以及以前设计的测试过程也都是非常重要的
3.可修改性(和第五章设计原理和启发规则直接有关)4.可移植性
把程序从一种计算机环境(硬件配置和操作系统)转移到另一种计算环境的难易程度.5.可重用性指同一事物不做修改或稍加改动就在不同的环境中多次重复使用.48文档文档是影响软件可维护性的决定因素。往往文档比程序代码更重要。软件系统的文档可以分为用户文档和系统文档两类。
----用户文档主要描述系统功能和使用方法,并不关心这些功能是怎样实现的;
----系统文档描述系统设计、实现和测试等各方面的内容。49软件复用的基本概念
软件复用的定义
50软件复用的重要性
软件复用的目的是能更快、更好、成本更低地生产软件制品。一般地说,在软件开发中采用复用构件可以比从头开发这个软件更加容易。51软件复用的粒度
按照可复用的粒度,软件制品从小到大分为以下几类:源代码复用软件体系结构复用应用程序生成器领域特定的软件体系结构的复用52横向复用和纵向复用
横向复用是指复用不同应用领域中的软件元素。纵向复用是指在一类具有较多公共性的应用领域之间进行软部品复用。领域分析用户需求软件开发与构件开发目标软件确认可复用构件库检索理解53
能力成熟度模型(CMM)CMMCapabilityMaturityModel,软件过程成熟度模型定义、实施、度量、控制和改进软件过程的指南(MarkPaulk,WattsHumphrey等),主要流行于美国及印度SEISoftwareEngineeringInstitute,软件工程研究所位于美国Pennsylvania州PittsburghCarnegieMellon大学,成立于1984年任务是在软件工程领域中努力提高依赖软件的系统质量,促进软件开发和维护的工程化管理,为军方服务开始主要用于大型软件项目的招投标活动的评审依据;后应用于软件机构的内部过程改进54CMM发展过程1986年11月应美国政府要求,SEI和Mitre公司合作,共同开发一种模型,用以评估软件承包商能力,给出软件组织改进软件过程的过程能力成熟度框架。1987年6月SEI提出初始模型框架,9月给出包含有101个问题的初步成熟度提问单(Questionnaire)。1991年推出CMMVersion1.0,这是SEI对软件过程成熟度框架和初始成熟度提问单经过四年实践的基础上提出的。1992年4月召开了有400位软件专业人员参加的CMM研讨会,针对CMMV1.0开展了深入的讨论,提出了改进意见。55CMM发展过程1993年SEI提出了CMMVersion1.1技术报告文本,有70页之多,对关键实践的描述文本有450页。1997年经过对V1.1大量使用,吸收多方面的实践经验,再次修改,形成CMMVersion2.0。SEI与Mitre公司承担项目1986过程成熟度框架成熟度提问单1987CMMV1.01991CMMV1.11993CMMV2.0199756基本概念成熟:项目开发是依据企业早已明确的过程准则来实施;开发结果较少以来个人能力和自然因素;项目有过程控制并可对整个生产作出预测;产品质量得到有效监控(借助与客观定量化的数据);历史经验得以积累并可系统地用于现行和未来的项目之中。不成熟没有明确的软件过程体系可以依据;无法对生产进行预测;不严格执行生产过程;质量无法保证;无健全的过程控制及质量控制体系;项目开发没有准则可遵循;开发结果主要依据项目小组及个人的带有主观因素的能力发挥。57CMM族Konrad.M于1996描述了SEI开发的5种CMM-based模型,初始的CMM是针对软件过程的,后发展到其它相关领域。SW-CMM软件(Software)SA-CMM软件获取(SoftwareAcquisition)SE-CMM系统工程(SystemEngineering)IPM-CMM集成产品管理(IntegratedProductManagement)P-CMM人员(People)TSP小组软件过程(TeamSoftwareProcess)PSP人员软件过程(PersonnelSoftwareProcess)CMMI把分散的各个CMM集成在一起……58CMM5个成熟度等级经反馈得以改进的过程结果生产率和质量风险已管理级保持优化的组织,但仍为人员密集的过程技术变更、问题分析、问题预防过程度量、过程分析、量化质量计划培训、测试、技术常规和评审、过程关注、标准和过程项目管理、项目策划、配置管理、软件质量保证(量化的)已度量的过程(量化的)已定义且制度化的过程(直觉的)过程依赖于个人个别的、混乱的过程优化级已定义级可重复级初始级四五三二一主要需解决的问题特征等级59初始级有制度的过程标准、一致的过程可预测的过程不断改进的过程可重复级已确定级已管理级优化级60关键过程域KeyProcessArea软件机构为改进其软件过程所应集中关注的区域,即对改进过程能力最为有效的实践为达到成熟度所必须着手解决的问题和必须满足的要求共18个KPA,分布在2~5级中区域目标概括表明了KPA的范围、界限、和目的。61过程变更管理PCM技术变更管理TCM缺陷预防 DP软件产品工程SPE集成软件管理ISM培训大纲 TP组织过程定义 OPD组织过程焦点 OPF软件配置管理
SCM软件质量保证
SQA软件子合同管理 SSM软件项目追踪与监督 SPTO软件项目策划
SPP需求管理
RM同行评审
PR组间协调 IC软件质量管理SQM定量过程管理 QPM优化已管理5级级4级3级2已定义可重复初始规范化过程标准化过程可预测过程持续改进过程个别过程62
面向对象的基本概念面向对象的基本思想
面向对象是一种新兴的程序设计方法,或者是一种新的程序设计规范(paradigm),其基本思想是使用对象、类、继承、封装、消息等基本概念来进行程序设计。从现实世界中客观存在的事物(即对象)出发来构造软件系统,并且在系统构造中尽可能运用人类的自然思维方式。开发一个软件是为了解决某些问题,这些问题所涉及的业务范围称作该软件的问题域。其应用领域不仅仅是软件,还有计算机体系结构和人工智能等。63面向对象的基本概念1.对象的基本概念
对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务组成。主动对象是一组属性和一组服务的封装体,其中至少有一个服务不需要接收消息就能主动执行(称作主动服务)。2.类的基本概念
类是具有相同属性和服务的一组对象的集合,它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属性说明和服务说明两个主要部分。3.消息 消息就是向对象发出的服务请求,它应该包含下述信息:提供服务的对象标识、服务标识、输入信息和回答信息。服务通常被称为方法或函数。64面向对象的基本特征1.封装性
封装性就是把对象的属性和服务结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节,包含两个含义:
把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(即对象)。
信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成一个边界〔或者说形成一道屏障〕,只保留有限的对外接口使之与外部发生联系。
封装的原则在软件上的反映是:要求使对象以外的部分不能随意存取对象的内部数据(属性),从而有效的避免了外部错误对它的"交叉感染",使软件错误能够局部化,大大减少查错和排错的难度。65面向对象的基本特征2.继承性
特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。 一个类可以是多个一般类的特殊类,它从多个一般类中继承了属性与服务,这称为多继承。 在java语言中,通常我们称一般类为父类(superclass,超类),特殊类为子类(subclass)。3.多态性
对象的多态性是指在一般类中定义的属性或服务被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或服务在一般类及其各个特殊类中具有不同的语义。例如:"几何图形"的"绘图"方法,"椭圆"和"多边形"都是"几何图"的子类,其"绘图"方法功能不同。66面向对象程序设计方法
OOA-ObjectOrientedAnalysis面向对象的分析OOD-ObjectOrientedDesign面向对象的设计OOI-ObjectOrientedImplementation面向对象的实现67UML面向对象的分析与设计统一建模面向对象分析方法概述UML静态建模UML动态建模68§1UML概述1、UML概述统一的建模语言(UML)已经在企业中广泛使用它把Booch、Rumbaugh和Jacobson等各自独立的OOA和OOD方法中最优秀的特色组合成一个统一的方法。在UML中用5种不同的视图来表示一个系统,这些视图从不同的侧面描述系统。每一个视图由一组图形来定义。用户模型视图:从用户角度来表示系统。它用使用实例(usecase)
来建立模型,用它来描述由用户方面的可用的场景。结构模型视图:从系统内部来看数据和功能性。即对静态结构(类、对象和关系)模型化。69行为模型视图:这种视图表示了系统动态和行为。它还描述了在用户模型视图和结构模型视图中所描述的各种结构元素之间的交互和协作。实现模型视图:将系统的结构和行为表达成为易于转换为实现的方式。环境模型视图:表示系统实现环境的结构和行为。通常,UML分析建模的着眼点放在系统的用户模型和结构模型上,而UML设计建模的着眼点则定位在行为模型、实现模型和环境模型上。§1UML概述70UML基本模型71UML静态模型有:用户、结构、实现、环境模型(用例图、类图、对象图、包、构件图和配置图)1.用例图(1)用例模型(Usecasemodel)用例模型描述的是外部执行者(Actor)所理解的系统功能。它将系统看作黑盒,从外部执行者的角度来理解系统,一个用例模型由若干个用例图描述,用例图主要元素是用例和执行者。用例图是包括执行者、由系统边界(一个矩形)封闭的一组用例,执行者和用例之间的关联、用例间关系以及执行者的泛化的图。§2UML静态建模72用例图73使用和扩展(UseandExtend):表示用例之间的使用和扩展关系扩展关系:当一个用例与另一个用例相似,但所做的动作多一些,将多余部分扩展为一个用例,两用例间关系称为扩展关系使用关系:当有一大块相似的动作存在于几个用例,又不想重复描述该动作,将重复的部分分离为一个用例,两用例间关系称为使用关系扩展与使用都是从几个用例中抽取那些公共的行为并放入一个单独用例中,而这个用例被其他几个用例使用或扩展。但使用和扩展的目的是不同的。§2UML静态建模742.类图、对象图和包(结构模型)(1)类图(ClassDiagram)类图描述类和类之间的静态关系。它显示了信息的结构和行为。类图是定义其它图的基础。在类图的基础上,状态图、合作图等进一步描述了系统其他方面的特性。(2)类和对象(Object)对象、类、类属性、操作类的名称属性属性:数据类型属性:数据类型=初值操作操作(参数表):结果类型类的属性语法:可见性属性名:类型=
缺省值{约束特性}75§3UML动态建模UML动态模型有:状态图、顺序图、合作图、活动图1.消息对象间的交互是通过对象间消息的传递来完成的。当一个对象调用另一个对象中的操作时,即完成了一次消息传递。当操作执行后,控制便返回到调用者。对象通过相互间的通信(消息传递)进行合作,并在其生命周期中根据通信的结果不断改变自身的状态。简单消息(SimpleMessage)表示简单的控制流。用于描述控制如何在对象间进行传递,而不考虑通信的细节。76同步消息(SynchronousMessage)表示嵌套的控制流。操作的调用是一种典型的同步消息。调用者发出消息后必须等待消息返回,只有当处理消息的操作执行完毕后,调用者才可继续执行自己的操作。异步消息(AsynchronousMessage)表示异步控制流。当调用者发出消息后不用等待消息的返回即可继续执行自己的操作。异步消息主要用于描述实时系统中的并发行为。772.状态图(StateDiagram)状态图用来描述一个特定对象的所有可能状态及其引起状态转移的事件。状态图表示单个对象在其生命周期中的行为。一个状态图包括一系列的状态以及状态之间的转移。(1)状态:状态是对象执行了一系列活动的结果。当某事件发生后,对象的状态将发生变化。状态图中定义的状态有:初态、终态、中间状态、复合状态。其中,初态是状态图的起始点,而终态则是状态图的终点。一个状态图只能有一个初态,而终态则可以有多个。一个状态可以进一步地细化为多个子状态,我们将可以进一步细化的状态称作复合状态。子状态之间有“或关系”和“与关系”两种关系。78793.顺序图(SequenceDiagram)时序图顺序图用来描述对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。顺序图存在两个轴:水平轴表示不同的对象,垂直轴表示时间。顺序图中的对象用一个带有垂直虚线的矩形框表示,并标有对象名和类名。垂直虚线是对象的生命线,用于表示在某段时间内对象是存在的。对象间的通信通过在对象的生命线间画消息来表示。消息的箭头指明消息的类型。顺序图中的消息可以是信号(Signal)、操作调用或类似于C++中的RPC(RemoteProcedureCalls)和Java中的RMI(RemoteMethodInvocation)。当收到消息时,接收对象立即开始执行活动,即对象被激活了。通过在对象生命线上显示一个细长矩形框来表示激活。80814.合作图(CollaborationDiagram)合作图用于描述相互合作的对象间的交互关系和链接关系。虽然顺序图和合作图都用来描述对象间的交互关系,但侧重点不一样。顺序图着重体现交互的时间顺序,合作图则着重体现交互对象间的静态链接关系。链接关系:类似于类图中的联系(但无多重性标志)。通过在对象间的链接上标志带有消息串的消息(简单、异步或同步消息)来表达对象间的消息传递消息流:在合作图的链接线上,可以用带有消息串的消息来描述对象间的交互。消息的箭头指明消息的流动方向。消息串说明要发送的消息、消息的参数、消息的返回值以及消息的序列号等信息。82合作图:打印835.活动图(ActivityDiagram)活动图描述操作(类的方法)的行为,或描述用例和对象内部的工作过程。活动图是由状态图变化而来的,它们各自用于不同的目的。活动图依据对象状态的变化来捕获动作(将要执行的工作或活动)与动作的结果。活动图中一个活动结束后将立即进入下一个活动(在状态图中状态的变迁可能需要事件的触发)。授权收费84活动图:磁盘856.四种图的运用为帮助理解类而画它的状态图。状态图描述跨越多个用例的单个对象的行为,而不适合描述多个对象间的行为合作。为此,常将状态图与其它技术(如顺序图、合作图和活动图)组合使用。顺序图和合作图适合描述单个用例中几个对象的行为顺序图突出对象间交互的顺序,而合作图的布局方法能更清楚地表示出对象之间静态的连接关系。当行为较为简单时,顺序图和合作图是最好的选择。但当行为比变复杂时,这两个图将失去其清晰度。因此,如果想显示跨越多用例或多线程的复杂行为,可考虑使用活动图。顺序图和合作图仅适合描述对象之间的合作关系,而不适合对行为进行精确定义,如果想描述跨越多个用例的单个对象的行为,应当使用状态图。86应用集成技术主要内容:微软的应用集成技术对象管理协会(OMG)的应用集成技术Java平台上的应用集成技术Web服务871微软的应用集成技术COM是微软制订并颁布的一种不依赖于任何编程语言的构建对象模型。COM+是最近微软宣布的以COM为基础的新一代技术。在COM+的基础上,微软将多年积累下来的技术精华集合起来而形成一个完整的、多层结构的企业应用总体方案----WindowsDNA,它使Windows真正成为企业应用平台。88.NET应用架构微软的.NET是基于一组开放的互联网协议,推出的一系列的产品、技术和服务。.NET开发框架在通用语言运行环境基础上,给开发人员提供了完善的基础类库、数据库访问技术及网络开发技术,开发者可以使用多种语言快速构建网络应用。.NET开发框架如图:
通用语言运行环境(CommonLanguageRuntime)处于.NET开发框架的最底层,是该框架的基础,它为多种语言提供了统一的运行环境、统一的编程模型,大大简化了应用程序的发布和升级、多种语言之间的交互、内存和资源的自动管理等。基础类库(BaseClassLibrary)给开发人员提供了一个统一的、面向对象的、层次化的、可扩展的编程接口,使开发人员能够高效、快速地构建基于下一代互联网的网络应用。89
对象管理协会(OMG)的应用集成技术OMG(ObjectManagementGroup,对象管理组织)是CORBA规范的制订者,是由800多个信息系统供应商、软件开发者和用户共同构成的国际组织,建立于1989年。OMG在理论上和实践上促进了面向对象软件的发展。OMG的目的是为了将对象和分布式系统技术集成为一个可相互操作的统一结构,此结构既支持现有的平台也将支持未来的平台集成。90公共对象请求代理结构CORBAOMG的主要工作是通过建立行业指导和对象管理规范为应用开发提供公共的框架。OMG是一个仅仅制订规范的组织,而不提供具体的实现。通过CORBA规范的制订,OMG将对象引入了分布式的环境中。CORBA(CommonObjectRequestBrokerArchitecture,公共对象请求代理体系结构)是由OMG提出的应用软件体系结构和对象技术规范,其核心是一套标准的语言、接口和协议,以支持异构分布应用程序间的互操作性及独立于平台和编程语言的对象重用。
91CORBA体系结构概述CORBA规范充分利用了软件技术发展的成果,在基于网络的分布式应用环境下实现应用软件的集成,使得面向对象的软件在分布、异构环境下实现可重用、可移植和互操作。CORBA规范的特点:引入中间件(MiddleWare)作为事务代理,完成客户机(Client)向服务对象方(Server)提出的业务请求(引入中间件概念后分布计算模式如图所示);实现客户与服务对象的完全分开,客户不需要了解服务对象的实现过程以及具体位置(参见如图所示的CORBA系统体系结构图);
92CORBA的主要应用方向及中间件产品介绍软件市场中能够见到的CORBA中间件产品很多,但基于不同公司的产品战略以及研发方向,各个产品在服务性能、对高级语言的支持和所依赖的系统平台方面有很大区别。根据整理的资料,对主要产品在上述几方面进行分析:
933Java平台上的应用集成技术RMI(RemoteMethodInvocation,远程方法调用)是Java在JDK1.1中实现的,它大大增强了Java开发分布式应用的能力。RMI是开发百分之百纯Java的网络分布式应用系统的核心解决方案之一。可以被看作是RPC的Java版本。传统RPC并不能很好地应用于分布式对象系统。而JavaRMI则支持存储于不同地址空间的程序级对象之间彼此进行通信,实现远程对象之间的无缝远程调用。RMI目前使用Java远程消息交换协议JRMP(JavaRemoteMessagingProtocol)进行通信。JavaRMI具有Java的"WriteOnce,RunAnywhere"的优点,是分布式应用系统的纯Java解决方案。用JavaRMI开发的应用系统可以部署在任何支持JRE(JavaRunEnvironmentJava,运行环境)的平台上。94RMI与CORBA的关系RMI和CORBA常被视为相互竞争的技术,因为两者都提供对远程分布式对象的透明访问。但这两种技术实际上是相互补充的,一者的长处正好可以弥补另一者的短处。RMI和CORBA的结合产生了RMI-IIOP,RMI-IIOP是企业服务器端Java开发的基础。1997年,I
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024版酒店红酒供货合同
- 2025年度新能源汽车充电桩运营管理合同重点条款探讨3篇
- 2024政府机关绿化工程采购合同范本二零二四2篇
- 二零二五版合同能源服务与节能产品推广协议模板3篇
- 2025年度智能场馆场地租赁合同范本3篇
- 2024自建房施工合同包工包料合同
- 二零二四年度35kv架空线路施工工程设计与施工协调合同
- 2025年度金融机构外汇借款合同模板12篇
- 劳动合同编号:XX-2025年度-001
- 2025年智能燃气表推广与应用居民供气合同3篇
- 2023年湖北省武汉市高考数学一模试卷及答案解析
- 城市轨道交通的网络安全与数据保护
- 英国足球文化课件
- 《行政职业能力测验》2023年公务员考试新疆维吾尔新疆生产建设兵团可克达拉市预测试题含解析
- 医院投诉案例分析及处理要点
- 烫伤的安全知识讲座
- 工程变更、工程量签证、结算以及零星项目预算程序实施细则(试行)
- 练习20连加连减
- 五四制青岛版数学五年级上册期末测试题及答案(共3套)
- 员工内部岗位调换申请表
- 商法题库(含答案)
评论
0/150
提交评论