UML面向对象建模2011—2012学年信息工程学院面向对象方法的发展1950s:FORTRAN(最早的高级语言)1960年代后期:C,PASCAL,Simula1970s:Smalltalk1980:使用面向对象方法的软件工程广泛运用。面向对象的基本概念对象:由数据和作用于数据上执行的操作构成的一个独立整体。与客观实体有直接对应关系。类(Class):对象的模板,即是对一组有相同数据和相同操作的对象的定义。消息对象之间进行通信的一种规格说明。面向对象的主要特征封装性:是一种信息隐藏技术,是对象的重要特性。继承性:子类自动共享父类数据和方法的机制。多态性:同一消息为不同的对象接收时可产生完全不同的行动。面向对象方法面向对象分析(OOA)面向对象设计(OOD)面向对象实现(OOI,OOP)OOA的主要步骤1.确定对象和类2.确定结构3.确定主题4.确定属性5.确定方法OOD的主要工作1.对象定义规格的求精2.数据模型和数据库设计3.优化设计OOI面向对象的任务,包括:每个对象内部功能的实现确定对象哪些处理能力应在哪些类中进行描述确定并实现系统的界面、输出的形式及其他控制机理。程序设计范型面向对象设计范型过程式设计范型软件建模可视化建模:是使用一些图形符号进行建模可视化建模的作用:捕捉用户的业务过程;作为一种很好的交流工具;管理系统的复杂性;定义软件架构;增加重用性;软件系统的建模:将需求、分析、实现、布署等各项工作流程的构想与结果予以呈现。软件建模软件建模的好处使用模型便于从整体上、宏观上把握问题,可以更好的解决问题。加强人员之间的沟通。更早的发现问题或遗漏的地方,模型为代码生成提供依据对系统进行可视化详细说明系统的结构或行为给出了一个指导系统的模板对做出的决策进行文档化软件建模软件建模的误区建模=写文档建模是在浪费时间从开始阶段就形成一个很完美的模型UML简介UML:UnifiedModelingLanguage是一种标准的图形化建模工具可以用来为面向对象系统的产品进行说明、可视化和编制文档的方法由三位著名的方法学家GradyBoch、JamesRumbaugh和IvarJacobsonv在20世纪90年代提出的由OMG(ObjectManagementGroup)采纳作为业界标准UML简介UML的特点标准的表示方法与软件开发的成功经验集成UML的应用贯穿在系统开发的五个阶段UML的结构图,元模型UML的三个基本构造块事物、关系、图UML简介UML事物包含:结构事物,行为事物,分组事物和注释事物UML关系:依赖关系;关联关系;泛化关系;实现关系图:类图;对象图;用例图;顺序图;协作图;状态图;组件图;部署图;活动图UML简介UML的视图用例视图:用来描述系统应该具有的功能集。逻辑视图:揭示系统内部的设计和协作状况。并发视图:显示系统的并发工作状况。组件视图:显示代码组件的组织方式。部署视图:显示系统的物理架构。UML简介UML图形符号UML建模工具简介编号工具名称厂商1PowerDesignerSybase2RoseRational3VisioMicrosoft4EnterpriseArchitectSparx5楚凡西安楚凡科技有限公司用例图功能:把应满用户需求的基本功能聚合起来的强大工具。基本组成:用例,参与者,系统用例图的目的:促成开发者与客户共同协商系统需求通过反复讨论需求的规格说明,达成共识,明确系统的基本功能确定系统应具备哪些功能,为系统的功能提供清晰一致的描述,为系统验证工作打下基础,提供踊跃进入系统中具体实现的类和方法,检查其是否正确的能力。用例图参与者的三种类型:系统用户;其他系统;一些可以运行的程序。用例的特征:用例总是由参与者开始初始化;用例为参与者提供值用例具有完全性用例间的关系:泛化关系;使用关系;包含关系;扩展关系用例图建立用例模型步骤:确定参与者根据每个参与者确定与之相关联的用例类图类通常划分的三种类型:实体类;边界类;控制类类图的基本组成具体类,抽象类,接口类图七种关联:普通关联;递归关联;限定关联;或关联;有序关联;三元关联;聚合;关联可以使用名称,角色,多重性和导航性关联PowerDesignerPowerDsigner:Sybase公司的CASE工具集,使用它可以方便地对软件系统进行分析设计,它几乎包括了数据库设计的全部过程。四种主要模型:概念数据模型;物理数据模特;面向对象模型;业务模型状态图状态图:主要用来描述对象、子系统、系统的生命周期。通过状态图可以了解一个对象所有可以达到的状态,以及对象收到的事物对对象的影响。状态图组成起点和终点;状态;事件;转换;活动图活动图显示活动动作及其结果,着重描述操作实现所完成的工作以及用例实例或对象中的活动。活动图组成动作状态;活动状态;动作流;分支与合并;分叉与汇合;泳道;对象流;组合活动活动图与流程图的比较:活动图用来表示并行过程;流程图用来表示串行过程。顺序图顺序图用来描述对象之间传送消息的时间顺序,用来表示用例中的行为顺序。顺序图组成:对象生命线消息激活顺序图顺序图的建模步骤设置交互语境确定对象分析消息和条件分析附加约束对建模结果精化和细化协作图协作图:描述协作对象间的交互和链接,强调的是对象结构相关信息。协作图组成:对象;链接;消息物理建模物理建模:系统的逻辑设计之后,设计执行文件、库和文档等的物理结构。组件图:描述软件组件及组件之间的关系,显示代码的结构组件图的组成组件;接口;接口和组件的关系物理建模部署图描述处理器、设备、软件组织在运行时的架构。部署图的组成节点;关联关系;组件RUPRUP:RationalUnifiedProcess六大核心工作流程:业务建模;需求;分析设计;实施;测试和部署三大支持工作流程:配置与变更管理;项目管理和环境。四大迭代过程:初始;细化;构造和移交四个基本模型元素角色;行为;产品;工作流