最新实验课5_编写类图和时序图、状态图演示教学

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验课5_编写类图和时序 图、状态图
学习目标:
根据用例规约提取分析类 编写类的属性、方法和职责 分析、讨论类图与对象图 分析、讨论顺序图与协作图 分析、讨论状态图与活动图 分析、讨论构件图与部署图
实验任务
各组讨论,评分 评分标准:
讲述:20分 内容:60分 完整修改:20分
完善实验
课后完成 提交修改版本 提交截止日起:下周结束前
可见性---类、包
Public (+) The element is visible outside of the enclosing package and you can import it to other portions of your model. Operations are accessible to all clients. Protected (#) The element is accessible only to nested classes, friends, or to the class itself. Private(-) The element is accessible only to nested classes, friends, or to the class itself. Implementation The element is visible only in the package in which it is defined. An
类的提取与设计
类的种类
边界类 实体类 控制类 参数类
类的提取
掌握类的概念及作用 学会在用例及其行为描述中提取
类(属性和操作)。
百度文库
类的提取
定义系统对象类 如上述所说的实体类的定义 定义用户界面类 如:类MainWindow 是系统的主界面,系统的主界面有菜单和菜
单项
实体类的识别
实体对象是实体类的实例 用来保存或更新关于某个现象的信息 通常是持久性的 独立于它们的环境、独立于应用程序 通常是那些被系统用来完成某些责任的类 如图书管理系统中的借阅者,物理书刊,借
注释体 注释体用于对UML实体进行文字描述
注释连接 注释连接将注释体与要描述的实体相连
类图的划分
概念层(Conceptual)
概念层类图描述问题域中的概念
说明层(Specification)
说明层类图描述软件接口部分
实现层(Implementation)
实现层才真正有类的概念,并且揭示软件的实现部 分
阅记录等
分析类寻找过程***
分析类经验法则 每个类大约3~5个职责 不存在独立的类 当心非常小的类 当心几个非常庞大的类 当心“伪类” 当心万能类 避免深度继承类
分析类寻找过程***
“寻找类”
Meyer(软件工程专家)在其著作中指出: 不存在找出恰当分析类的简单算法,如果 这样的算法存在,那么意味着存在没有错 误的方法来设计OO软件,这同找出没有错 误的方法证明数学定理一样是不可能的。
见性、属性名称、类型、缺省值和约束 UML规定类属性的语法为: 【可见性】属性名【:类型】【=初始值】【{属性
字符串}】 【】中的部分是可选的 实践中属性名用短名词或名词短语
类的操作
UML规定操作的语法为:
【可见性】操作名【(参数)】【:返回类型】【{属性字符 串}】
实践中操作名用短动词或动词短语
分析讨论类图
类图的主要组成
类 接口 协作 依赖、类属、实现或关联关系 注释和约束
类图元语-1
Package

第一栏是类名,第二栏是类的属性,第三栏 是类的操作

包表示一个类图的集合
对象
对象是类的一个实例
关联 聚集关联 组成关联
关联用于表示类的对象之间的关系,其特殊 形式有组成关联和聚集关联
分析类寻找过程***
2)CRC寻找类
类、职责、协作者。(制作便笺,或在ROSE中 制作类图)
阶段1:脑力风暴----收集信息 阶段2:分析信息
类名
职责
协作者
分析类寻找过程***
3)创建初步分析模型(类图) 比较上述两种方法得到的结果 从结果中整合出分析类、职责、属 性,并把它们制作中ROSE中(或其 它CASE工具)。 协作者代表类间的关系 按照标准命名约定来改进CRC的命名
对象图——Object Diagrams
对象图模拟类图中所含有的类的实例,对 象图是描述某一瞬间对象集及对象间的关 系
对象图为处在时域空间某一点的系统建模 描绘系统的对象、对间的状态及对象间的
关系 主要用于对象结构建模
operation is part of the implementation of the class.
图示可见性
确立关系
1)依赖关系 2)类属关系(泛化关系) 3)关联关系 4)聚合关系 5)组合关系 6)实现关系
分析教材P182-P191
关系
建立关联 创建角色 确定重数 高级关联
类名的定义
每个类都有一个名字,跟其他的类相 区别
在实践中,类名通常用问题域中的短 名词或名词词组来表示
类名中的每个组成词的第一个字母大 写
类的命名尽量用问题域中的术语,应 明确无歧义
类的属性
原则上类的属性应能描述并区分每个特定的对象 只有与系统有关的特征才包含在类的属性中 系统建模的目的也会影响到属性的选取 根据图的详细程度,每个属性可以包括属性的可
聚集关联用于表示类的对象之间的关系是整 体与部分的关系
组成关联用于表示类的对象之间的关系是整 体拥有各部分且部分与整体共存亡
类图元语-2
链接
链接用于表示对象之间的关联关系的一个 实例
泛化关系 依赖关系
泛化关系(继承关系)定义类和包之间的一 般元素和特殊元素之间的分类关系
有两个类或包X、Y,修改X的定义引起对Y 的定义的修改,则称Y依赖于X
仍然存在导致良好答案的已尝试和测试的 技术,来做这件事。
分析类寻找过程***
1)名词/动词分析寻找类 它是基于问题域语言的直接分析经验 法,因此要求分析人员对问题域要有 尽可能多的了解。 名词/名词短语----类/类的属性 动词/动词短语----职责/类的操作 用颜色/字体标识文档,找出候选类 及属性,分配属性,关联类,精化。
相关文档
最新文档