《新》第6章 面向对象分析.pptVIP

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
典型的五层次模型 复杂问题的对象模型通常由5个层次组成: 主题层、类与对象层、结构层、属性层和服务层。 5个层次 主题是指导读者(包括系统分析员、软件设计人员、领域专家、管理人员、用户等,泛指所有需要读懂系统模型的人)理解大型、复杂模型的一种机制。 通过划分主题把一个大型、复杂的对象模型分解成几个不同的概念范畴。 5个层次 5个层次对应着在面向对象分析过程中建立对象模型的5项主要活动: 找出类与对象; 识别结构; 识别主题; 定义属性; 定义服务。 OOA的共同特征 查找分析类:边界类 边界类代表系统与角色的接口,在每一个用例中,一个角色对应一个边界类。边界类收集来自角色的信息,并将其转换成实体类和控制类可以使用的中间接口。   根据角色的不同类型,边界类可以是用户接口、系统接口和设备接口。对于用户接口来说,边界类集中描述了用户与系统的交互信息,而不是描述用户接口的显示形式,如按钮、菜单等;对于系统接口和设备接口来说,边界类集中描述所定义的通信或交换协议,而不是说明协议如何实现的 在学生课程注册系统的例子中,通过发现用例-角色对,定义以下边界类 查找分析类:控制类 控制类负责协调边界类和实体类,通常在现实世界中没有对应的事物,它负责接收边界类的信息,并将其分发给实体类。   控制类与用例存在着密切的关系,它在用例开始执行时创建,在用例结束时取消。一般来说,一个用例对应一个控制类。当用例比较复杂时,特别是产生分支事件流的情况下,也可以有多个控制类。在有些情况下,用例的行为十分简单,这时可以没有控制类,学生注册课程系统中的用登录就是这种情况。 在学生课程注册系统的例子中,发现以下控制类 查找分析类:实体类 实体通常与域对象通信。(Entities usually correspond to domain objects ) 大多数实体是具有持久性的。 实体可以有非常复杂的行为。 识别实体类   实体类代表系统中需要存储和关系的信息,通常是永久存在的。启发分析员发现实体类的因素包括:   * 人员:通常系统会涉及到各种各样的人员,我们需要考虑的是由系统保存和管理其信息的人员,如教师、学生等。   * 组织:在系统中发挥一定作用的组织机构,如系、班级等。   * 物品:需要由系统管理的物品,可以是有形或无形的,如课程等。   * 设备:在系统中动态地运行、由系统进行监控或供系统使用的各种设备、仪表、机器、运输工具等。   * 事件:需要由系统长期记忆的事件,如学生注册课程的记录等。   * 表格:这里的表格是广义的,可以是各种业务报表、统计表、申请表、身份证、商品订单、帐目、学生成绩单等,注意不要将原始的表格进行简单对应,应该是分析和整理后形成的映射一些现实事物的表格。 在学生课程注册系统的例子中,通过分析和理解问题域,我们找出以下实体类 定义属性 对于每个对象,我们从以下方面考虑并发现对象的属性: (1) 按照一般常识,找出对象的某些属性,如人员的姓名、性别、年龄、地址等; (2) 认真研究问题域,找出对象的某些属性,如商品的条形码、学生的学号等; (3) 根据系统责任的要求,找出对象的某些属性; (4) 考虑对象需要系统保存和管理的信息,找出对象的相应属性,如课程需要保存和管理的信息; (5) 对象为了在服务中实现其功能,需要增设一些属性; (6) 识别对象需要区别的状态,考虑是否需要增加一个属性来区别这些状态; (7) 确定属性表示整体与部分结构和实例连接。   对于初步发现的属性,检查这些属性是否系统使用的特征、是否描述了对象本身的特征、是否可以通过继承得到、是否可以从其他属性直接导出等,对这些属性进行整理和筛选。 分析和认识各类对象之间的关系,从而使对象类构成一个整体的、有机的系统模型 (1) 对象之间的分类关系,即泛化关系; (2) 对象之间的组成关系,即聚合关系; (3) 对象之间的静态关系,即关联关系; (4) 对象之间的动态关系,即依赖关系 发现泛化关系 可以参考应用领域已有的一些分类知识,也可以按照自己的常识,从各种不同角度考虑事物的分类,找出对象类之间的泛化关系。另外,通过考察系统中每个类的属性和服务,找出类之间的泛化关系。   * 查看一个类的属性与服务是否适合这个类的全部对象,如果某些属性或服务只适合该类的一部分对象,说明应该从这个类中划分出一部分特殊类,建立泛化关系;   * 检查是否某些类具有相同的属性和服务,如果把这些相同的属性和服务提取出来,能否在概念上构成这些类的父类,形成泛化关系。 发现聚合关系 聚合关系可以清晰地表达问题域中事物之间的组成关系,我们可以考虑以下方面建立聚合关系: * 物理上的整体事物和组成部分,如设备与零部件的关系; * 组织机构及其下级组织,如学校和系的关系; *

文档评论(0)

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

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

1亿VIP精品文档

相关文档