第04章 分析建模.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第04章 分析建模

* * * * * * * * * * * * 面向对象的根本特征,是面向对象之所以称其为面向对象的原因所在 多态:在同一副外表下表现出多种行为模式的能力 * * * * * * * * * * * * * VOPC类图: View of Participating Classes Class Diagram * * * -*- 实现-Realization Shape Tube Pyramid Cube Shape draw() move() scale() rotate() Interface Tube Pyramid Cube Realization relationship -*- 实现的示例 Circle Shape interface Shape { public void draw() ; } class Circle implements Shape { public void draw() {…..} …… } class Shape { public: virtual void draw() = 0 ; }; class Circle : public Shape { public: void draw() {…..} …… }; -*- 案例-识别关系 当前阶段,只是识别类之间的大致关系,更多的是基于一种“猜测”,只有在设计用例实现时,才能较为准确地确定类之间的关系。 后续工作中还会不断精化类间关系。 -*- 案例-识别关系 研究内容:CRC模型中的协作,事件流中对象间的交互等 识别关系并更新类图 关联关系、多重性 泛化 依赖 在识别和分析关系的过程中,可能会发现初始分析类图中的问题,可能会不断补充、调整类及其关系 本章内容安排 分析与设计概述 分析工作流 寻找分析类 寻找关系 用例实现(分析) -*- -*- 将用例行为分配到分析类中 针对每个用例的事件流 根据识别的分析类(实体类、边界类和控制类) 在交互图中建模分析类的交互与协作 -*- 分配职责的指导 边界类 涉及和参与者交互的行为 实体类 涉及通过抽象进行数据封装的行为 控制类 特定于用例的用于处理事件流的行为 -*- 分配职责的指导 判断谁拥有与执行职责相关的数据 如果1个类拥有该数据,将职责分配给它 验证准则 确保对象(或对象组合)可以完全实现用例,用例中事件流中的步骤、活动图中的活动等,都必须能够追踪到对象的相应职责。 -*- 顺序图(sequence diagram) -*- 顺序图示例 public class HelloWorldApp2 { public static void main(String[] args) { Greeting hello = new Greeting(); hello.greet(Hello World); } } class Greeting { public void greet(String s) { System.out.println(s); } } 寻找类 -*- -*- 确定用例的分析类 -*- 顺序图绘制方法 在顺序图中依次加入触发这个用例的参与者和对象 首先加入参与者 依次加入边界对象,然后是控制对象和实体对象 -*- 绘制顺序图 -*- 顺序图:创建 -*- 顺序图:销毁 -*- 顺序图:分支条件 顺序图:循环及其它 loop为循环执行 opt:根据监护条件选择执行 par:并行执行 -*- -*- 顺序图:分拆与引用 -*- 通信图(Collaboration diagram) -*- 通信图示例 -*- 单一交互图往往不充分 -*- 描述职责 -*- 重构类 将方法合并到类中之后,需要重新检查每个类,确保它们的职责依然集中,判断它们的方法是否一致 增加某个方法后,要核查该方法是否与其它方法保持一致,对象的职责和本质是否发生改变 若发现问题,要重构类(拆分、转移方法等),同步修改顺序图 -*- 案例-确定用例的分析类 逐个用例进行分析 对于每个用例,根据分析模型确定所涉及的分析类,需要加入边界类和控制类 综合各用例的分析类,将重复或相关的边界类和控制类进行整合,确定每个用例所需要的分析类,最后绘制每个的分析类图 -*- 案例-绘制顺序图 对于每个用例,为每个事件流绘制顺序图(用例实现),1个用例对应多个顺序图 用例实现以顺序图为主,部分用例绘制通信图,多数UML工具支持顺序图转化为通信图 绘制顺序图过程中,可能需要调整类图,应及时更新,以保持一致,并将识别的方法(职责)填入类图中 -*- 案例-分包组织顺序图 随着

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档