### 统一建模语言UML复习知识点梳理 #### 一、基础知识概述 **统一建模语言(UML)**是一种面向对象的标准化建模语言,用于软件工程中描述、可视化、构造和文档化软件系统的架构。UML通过一套丰富的图形符号支持软件系统的规格定义、开发、维护等多个阶段。 #### 二、UML基本概念 1. **面向对象程序的基本特征**:UML主要基于面向对象编程思想,其核心特征包括: - **抽象**:提取问题领域的本质特性。 - **封装**:隐藏对象的具体实现细节。 - **继承**:子类继承父类的属性和方法。 - **多态**:同一接口在不同情况下表现出不同的行为。 2. **Rose工具**:Rose是一种常用的UML工具,支持正向工程和逆向工程。正向工程指从UML模型生成代码,逆向工程则是从现有的代码生成UML模型。 3. **用例图的核心元素**:参与者与用例是用例图的两大核心要素,它们共同描述了系统的行为需求。 4. **顺序图的组成**:顺序图展示了对象间的交互过程,主要由对象、生命线、控制焦点和消息等构成。 5. **状态机图的作用**:状态机图用于描述一个对象在其生命周期内的状态变化,以及导致这些变化的事件。 #### 三、UML图分类及应用场景 1. **类图**:展示系统的静态设计视图,包括类之间的关系和属性等。 2. **用例图**:对系统的行为进行组织和建模,明确系统的功能需求。 3. **序列图**:描述对象间交互的时间顺序,关注消息传递的时间序列。 4. **协作图**:强调对象间的组织结构和空间关系,适合展示对象如何相互协作完成任务。 #### 四、具体知识点详解 1. **关联关系与依赖关系**: - 关联关系:表示两个类之间的联系,例如学生和课程之间的多对多关联。 - 依赖关系:表示一个类依赖于另一个类的功能实现,如类A调用了类B的方法,则A依赖于B。 2. **多重性**:表示类之间的关联程度,如一个订单与多个客户之间的关系。 3. **自身关联**:当一个类的对象可以扮演多种角色时,就会发生自身关联。 4. **泛化关系**:表示一般与特殊的关系,子类继承父类的所有属性和方法,并可以添加新的属性或方法。 5. **组合与聚合**:组合是强类型的聚合,表明部分体只能属于一个整体;而聚合则表示部分体可以属于多个整体。 6. **实现与继承**:虽然两者在UML中的表示方式类似,但实现关系用于表示接口与类之间的关系,而继承关系用于表示类之间的关系。 7. **UML的重要概念**:用例和面向对象是UML背后的两个核心概念,分别描述了系统的需求和设计。 8. **状态图与其他图的区别**:状态图主要用于描述单一对象的状态变化,而类图和顺序图等可以用于描述多个对象的结构和交互。 9. **状态图中的动作**:入入口动作、出口动作和do动作,用于描述对象在特定状态下的行为。 10. **顺序图的消息表示**:水平箭头线表示消息的传递方向,垂直虚线代表对象的生命线。 11. **逻辑分支的表示方法**:顺序图通过生命线的分支来表示逻辑分支,而协作图则使用嵌套的序号来表示。 12. **顺序图与协作图的区别**:顺序图强调时间顺序,协作图则更关注对象间的空间关系。 #### 五、UML工具——Rational Rose 2003 1. **界面组成**:Rational Rose 2003具有友好的用户界面,包括标题栏、菜单栏、工具栏、模型浏览器窗口等。 2. **工具栏类型**:图工具栏与当前打开的模型图相关,标准工具栏则与模型图无关。 3. **图标锁定**:为了方便在模型图中重复使用相同的图标,可以通过编辑工具栏中的锁定功能来避免重复选择同一图标。 统一建模语言(UML)是一套完整的建模语言体系,通过不同的图示和符号来描述软件系统的各个方面,包括静态结构和动态行为。掌握UML不仅可以帮助软件开发者更好地理解系统的设计,还可以提高团队之间的沟通效率,从而提升软件开发的整体质量。






















剩余19页未读,继续阅读


- 粉丝: 876
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 技术转移机构如何借助AI+数智应用应对市场竞争加剧与服务能力不足的挑战?.docx
- 技术转移机构如何通过AI+数智应用实现业务增长与客户价值提升?.docx
- 技术转移机构在AI+数智应用转型中面临挑战,如何借助AI+数智应用方案突破瓶颈?.docx
- 科技服务合作伙伴如何借助AI+数智应用帮助提升产品差异化竞争力?.docx
- 科技服务机构如何借力AI+数智应用提升品牌价值和客户信任度?.docx
- 科技服务产品同质化严重,如何借助AI+数智应用打造差异化竞争力?.docx
- 科技服务机构如何借助AI+数智应用低成本构建智能化服务体系?.docx
- 科技服务机构如何借助AI+数智应用低成本拓展业务增量?.docx
- 科技服务机构如何借助AI+数智应用高效满足企业多元化需求?.docx
- 科技服务机构如何借助AI+数智应用工具高效支持企业技术创新?.docx
- 科技服务机构如何借助AI+数智应用结合企业共性需求,打造高附加值解决方案?.docx
- 科技服务机构如何借助AI+数智应用工具提升品牌价值并拓展客户群体?.docx
- 科技服务机构如何借助AI+数智应用快速响应企业的临时创新需求?.docx
- 科技服务机构如何借助AI+数智应用手段丰富服务内容、延伸服务链?.docx
- 科技服务机构如何借助AI+数智应用提升产品差异化竞争力?.docx
- 科技服务机构如何借助AI+数智应用提升竞争力?.docx


