软件工程导论(第五版)2讲义.ppt

  1. 1、本文档共697页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
聚集表示类与类之间是整体与部分的关系。 2. 聚集 1)共享聚集 课题组 人 成员 * 1…* 图9.10 共享聚集示例 处于部分方的对象可同时参与多个处于整体方对象的构成。 部分类完全隶属于整体类,部分与整体共存,整体不存在了部分也随之消失。 2)组合聚集 教材 描绘教材结构的对象模型(组合聚集) 封面 前言 1+ 1+ 目录 章 节 习题 包含 包含 例子: 3. 泛化(继承) 1)普通泛化 抽象类:描述子类的公共属性和行为,不能生成具体对象的类。 一个比较复杂的类图示例: 2)受限泛化 给泛化关系(继承关系)附加约束条件,说明该泛化关系的使用方法和扩充方法。 约束有:多重、不相交、完全和不完全。 多重继承:一个子类可以同时多次继承同一个上层基类。 不相交继承:一个子类不能多次继承同一个上层基类。 (默认为不相交继承) 完全继承:指父类的所有子类都已经在类图中穷举出来了。 不完全继承:指父类的所有子类并没有在类图中穷举出来了。 随着对问题理解的深入,不完全继承中可以不断扩充子类。 (默认为不完全继承) 4. 依赖和细化 1)依赖关系 类B 类A 《友元》 图9.15 友元依赖关系 描述两个模型元素(类、用例)之间的关系,其中一个模型元素是独立的(被箭头指),另一个依赖于独立的模型元素。如,一个类使用另一个类的对象作为自己的函数的参数。 (友元:依赖类可以使用独立类中私有的或保护的成员) 2)细化关系 分析类 设计类 图9.16 细化关系示例 细化用来协调不同阶段模型之间的关系,表示各个开发阶段不同抽象层次模型之间的相关性,通常用于跟踪模型的演变。 例子: 公司 员工 名字 电话号码 主要产品 地址 雇佣 解雇 姓名 地址 身份证号码 工资 1+ 职务 部门名 部门 工人 经理 0…1 管理 产品 产品名 成本 重量 项目 项目名 预算 优先级 生产 1+ 主持 参加 1+ 1+ 1+ 一家公司的对象模型 组成 9.5 动态模型 1)事件:事件是某个特定时刻所发生的事情。它是引起对象状态转换的控制信息。 2)状态:状态就是对象在其生命周期中的某个特定阶段所处的某种情形。 3)行为:行为是指对象达到某种状态时所做的一系列处理操作。 通常用UML提供的状态图来描绘动态模型。 注意: 每个类的动态行为用一张状态图来描绘,各个类的状态图通过共享事件合并起来,从而构成系统的动态模型。 实例: 电话的状态图 9.6 功能模型 通常,功能模型由一组数据流图组成。 UML提供的用例图也是进行需求分析和建立功能模型的有力工具。 以用例图建立起来的系统模型称为用例模型,它描述的是外部行为者所理解的系统功能。 9.6.1 用例图 1、系统 2、用例(use case) 行为者感受到的一个完整的功能。 用例是类,代表一类功能,用例的实例称为脚本。 3、行为者(actor) 与系统交互的人或其他系统。它代表一种角色。 4、用例之间的关系 1)扩展关系 向一个用例中添加一些动作后构成另一个用例,它们之间构成扩展关系。 2)使用关系 一个用例使用另一个用例,它们之间构成使用关系。 描述一般行为的变化时采用扩展关系; 两个或多个用例中出现重复描述时可采用使用关系。 9.6.2 用例建模 一个用例模型由若干幅用例图组成。 创建用例模型的工作包括:定义系统、寻找行为者、寻找用例、描述用例、定义用例之间的关系、确认模型。 1、寻找行为者 下述问题有助于发现行为者: 1)谁将使用系统的主要功能? 2)谁需要借助系统的支持来完成日常工作? 3)谁来维护和管理系统? 4)系统控制哪些硬件设备? 5)系统需要与哪些其他系统交互? 6)哪些人或系统对本系统产生的结果感兴趣? 2、寻找用例 可以通过每个行为者回答下述问题来获取用例: 1)行为者需要系统提供哪些功能? 2)行为者自身需要做什么? 3)行为者是否需要读取、创建、删除、修改或存储系统中的信息? 4)系统中发生的事件需要通知行为者吗? 5)行为者需要通知系统某些事情吗? 6)系统需要哪些输入输出? 7)当前使用的系统存在的主要问题是什么? 9.7 三种模型之间的关系 1)针对每个类建立的动态模型,描述了实例的生命周期或运行周期。 2)状态转换驱使行为发生,这些行为在数据流图中被映射成处理,在用例图中被映射成用例,它们同时与类图中的服务相对应。

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档