一、 类
区别分析和设计:分析是提取核心域知识,设计是添加非核心域知识
类的定义:对象具有状态、行为和标识,而类是共享一个公用结构和公用行为的对象集合
类的提取:没有寻找类的简单算法,靠分析员的头脑跨越鸿沟
一般可以阅读用例文档,抽取对应于实体或事件的词汇,将词汇分类、抽取出合适的类和属性(业务知识+建模技术)
审查类的属性是否合适:
① 属性是否直接描述类的特征(什么的什么)
② 是否有复杂结构或1对多的属性
③ 属性是否对类的所有对象都有意义
类的关系:
(1)泛化:子类通过继承复用超类的特征(集合关系)
(2)关联:对象通过组装复用其他对象的特征(个体关系)
泛化:识别泛化可以采用自上而下或者自下而上,不同领域的类之间不应形成泛化关系
关联:①聚合和组合没有必要分开,识别聚合(组合)有利于在动态建模时帮助责任分配②连接
关联的注意点:关联的名字胜过多重性,类之间的关联可以有多种,关联类也要有业务意义(警惕数据库的关系表习惯),不是拥有“外键”,而是拥有“对象”
泛化与关联的选择:
•共享数据--关联优先
•行为变异--泛化优先
依赖:既不是泛化也不是关联的关系(尽量不要在类图上画依赖)
类关系总结:聚合/组合不是万金油,尽量用连接关系
二、 画序列图
画序列图之前已有的工作是用例文档和类图,然后通过序列图完成责任分配(此时的序列图与业务序列图不同之处是业务实体被类取代)
三种类:
(1)边界类:用例的每个执行者映射一个边界类 责任:输入、输出、过滤
(2)控制类(可选):一个用例映射一个控制类 责任:控制事件流,负责为实体类分配责任
(3)实体类:一个用例有多个实体类参与,一个实体类可以参与多个用例 责任:业务行为的主要承载体
序列图和类图的映射:消息的传入:类对象所具有的操作--责任
消息的传出:类对象完成操作所需合作--协作
序列图的绘制要点:参考ppt
责任分配的总原则:低耦合(目的:复用),高内聚(明确责任)
耦合定义:描述设计的组成部分之间的相互依赖
内聚定义:描述模块内各元素的紧密结合程度
责任分配的交互原则:
(1)专家原则--资源决定消息内容
(2)老板原则--由老板发送消息给我
(3)可视(Demeter)原则--只发消息给朋友
判断一个设计好不好不在于能不能实现,而是看这个模型有没有抓住领域的内涵
关系三种:泛化、关联、依赖,泛化和关联是静态关系,依赖是动态关系
依赖不需要在类图上表现,可以在序列图上表示
识别是聚合还是连接不会影响系统的结构,只会界定责任分配
刚开始可以统一化成连接,在动态建模的时候再确定
业务序列图研究的范围:组织内部的系统之间
分析序列图研究的范围:开发的系统的内部之间
序列图上的箭头并不代表数据流向,而是代表责任分配
UML包含着程序员从不曾考虑的做出来的东西的卖点问题
不同领域的复杂性要分开,不要过早的把复杂性带到序列图里
三、 画状态图
状态图是把对象从所有的序列图中单独拿出来考察
状态图的要点:状态是属性值的组合(不是单一属性值决定行为)
分享到:
相关推荐
### UMLChina训练资料之需求知识点详解 #### 一、UML及其实现流程 - **UML(Unified Modeling Language)**: 统一建模语言,是一种标准的图形化建模语言,用于软件系统的可视化、规格说明、构建以及文档化。 - **...
### UMLChina训练资料知识点概览 #### 一、UML与时代背景 - **细节时代的来临**:随着市场竞争加剧,简单的机会驱动模式不再有效。例如,过去开餐馆或开发视频播放器仅凭市场需求就能获得收益的日子已经过去。在...
### UMLChina软件需求设计UML全程实作umlchina_01_overview #### 总览与背景 在《UMLChina软件需求设计UML全程实作umlchina_01_overview》这份材料中,作者潘加宇通过一系列的讲解和实例,探讨了在现代软件开发...
### UMLChina —— 4系统建模与设计之类(上) #### 一、引言 本章节主要探讨了UML(统一建模语言)中的一个重要组成部分:类图。类图是UML中用于描述系统中静态结构的核心工具之一,它通过图形化的表示方式来帮助...
### UML全程实作课件知识点总结 #### 一、UML全程实作课件概述 **UML全程实作课件**旨在为学习者提供一套全面深入的面向对象分析与设计的学习材料。该课程由UML_China组织并提供,内容丰富且具有很高的实用价值。...
《umlchina_04_req.pdf》则专注于需求分析,这是软件开发的第一步。UML的用例图、场景图和活动图等工具可以帮助我们明确用户需求,定义系统的功能边界。 接下来,《umlchina_05_r.pdf》可能涉及了关系...
《UMLChina讲座及用例文档示例》 在IT领域,统一建模语言(Unified Modeling Language,简称UML)是一种被广泛使用的可视化建模工具,尤其在软件工程中,它帮助开发者清晰地表述系统的设计和行为。UMLChina系列讲座...
第二章“愿景”聚焦于项目的目标和范围,也就是所谓的项目愿景。这一章可能会讲解如何通过UML来表达项目的长期目标、预期成果以及项目的关键特性。愿景是软件开发的起点,它为整个项目提供方向,并帮助团队保持一致...
### UML全程实作训练知识点概述 #### 一、概论 - **软件开发的主要工作流**:介绍软件开发从需求分析、设计、编码、测试到维护的整个生命周期中的主要阶段和活动。 - **用例驱动的面向对象方法**:强调以用户的需求...
**UMLChina培训课程** UML(Unified Modeling Language),统一建模语言,是软件工程领域中用于系统建模的一种标准化语言。它为软件开发者提供了一种可视化的方式来表达和理解复杂系统的设计,使得团队间的沟通更加...
《UMLChina讲义》是一份深入浅出的UML(Unified Modeling Language,统一建模语言)培训资料,旨在帮助初学者和有经验的开发者更好地理解和应用这一强大的建模工具。这份PDF文档全面覆盖了UML的基础知识和高级概念,...
UMLChina电子杂志的第二期刊物中,首先介绍了如何使用UML(统一建模语言)来设计Java应用程序。UML是一种用于描述软件密集型系统的可视化建模语言,广泛应用于软件工程中,尤其是在面向对象的设计中。它提供了一系列...
### UML全程实作课件一总览知识点详解 #### 一、UML与面向对象分析与设计概览 **UML(Unified Modeling Language)**,即统一建模语言,是一种标准化的图形化语言,用于描述面向对象系统的静态结构和动态行为。本...
《UMLChina提供的UML入门教材》是一套全面介绍统一建模语言(Unified Modeling Language,简称UML)的教程,适合初学者和有一定基础的学习者深入理解面向对象的设计理念。这套教材涵盖了用例图、顺序图、类图以及...
umlchina——6系统建模与设计
### UMLChina-Re系统建模与设计 #### UML与需求工程 统一建模语言(UML)是一种标准的图形化建模语言,用于软件工程领域中的系统建模与设计。UML的需求工程部分着重于如何通过建模来理解、记录和分析软件系统的...
### UMLChina培训幻灯之四需求定义 #### 核心知识点概述 本次UMLChina培训的主题是关于如何使用用例来定义需求的核心方法。由UMLChina的潘加宇老师主讲,主要内容包括理解需求的基本概念、用例在需求定义中的作用...
UmlChina的UML培训教程,一份带有图例说明的生动形象的UML教程,加深理解。