第07章UML建模-2

(83页)

'第07章UML建模-2'
第7章 基于UML的系统分析与设计-27.1.2系统分析o 面向对象系统分析的基本任务是:运用面向 对象方法,对问题域和系统责任进行分析和 理解,对其中的事物和它们之间的关系产生 正确的认识,找出描述问题域以及系统责任 所需的类及对象,定义这些对象的属性和澡 作,以及它们之间的静态和动态关系。o 最终产生一个符合用户需求,并能够直接反 应问题域和系统责任的问题域模型及其详细 说明。系统分析o 具体来说,分析阶段的活动主要是:o 识别对象;o 为对象分类;o 确定类的属性和操作;o 确定类之间的关系:o 确定对象之间的交互:o 确定对象的状态变化等。1.识别对象o 识别对象并不是从零开始的工作,应该最大 限度地利用已有的劳动成果。比较典型的可 利用的资料有。 n 用例模型和用例描述。 n 术语表。权威的术语定义集合。课程注册系统的术语表o 课程 课程目录o 职员 财务系统o 年级 教授o 学期成绩单 名册o 学生 教学日历发现对象o 从用例模型和用例描述中找出名词来。o 但名词可能是参与者、对象和对象属性,所 以还要区别它们。o 参与者通常比较容易区别,区别对象和对象 属性可以通过分析是否有行为,o 对象是有行为的,而属性只是单纯的信息。三种对象类型o 分析模型中最常用的三种对象类型,它们是: n 实体(Entity) n 边界(Bountary) n 控制(Control)⑴实体对象o 实体对象主要的任务是装载信息,同时也具 有相关的行为,但是这部分行为主要包括那 些和实体对象自身信息直接相关的操作。可以找到实体对象的几个办法o ①考虑解决问题所需要的全部数据和行为, 然后将数据按相关性分组。o ②识别出重要的名词,并将它们作为实体对 象,然后确定每一个实体对象包含的数据和 行为。o ③列出所有的数据、行为以及听起来很重要 的名词,然后将数据和行为分配到不同类型 的实体对象中。识别实体对象可参考下列问题:o 识别实体对象可参考下列问题: n 该对象是否是某个问题中的重要的名词? n 该对象是否包含用来解决系统问题的重要的 信息? n 该对象是否包含可以解决系统问题的计算或 者验证逻辑?⑵边界对象o 边界对象用于描述拟建系统内部运作与外部 环境之间的交互。o 边界对象主要用于描述三种类型的内容:o 拟建系统和用户的界面,o 拟建系统和外部系统的接口o 拟建系统与设备的接口。⑵边界对象o 通过检查在用例图中的参与者与用例之间的 关系,我们可以识别出边界对象。o 通常,在分析模型中,每一对参与者/用例 都构成了一个边界对象。识别边界对象的可参考下列问题:o 识别边界对象的可参考下列问题: n 该对象是否描述了必须显示的信息以及必须 提供的服务? n 该对象是否包含所有的接口设计细节? n 该对象是否描述了与外部系统的交互?⑶控制对象o 控制对象用于描述对一个用例所特有的事件 流的控制行为。o 控制对象相当于协调人o 它自己通常不处理具体的任务,但它知道那 些类有能力完成具体的任务。o 通常一个用例对应一个控制类。识别控制对象可参考下列问题:o 是否对业务逻辑进行控制?o 是否将业务逻辑提交给实体对象?顺序图中的边界对象,控制对象和实体对象 : 用户 : 边界对象 : 控制对象 : 实体对象 输入信息 请求处理 处理 建立连接 数据处理2.描述对象的协作关系o 我们还需要详细了解对象在系统中的行为和 责任。o 责任是响应消息的能力。消息被要求者提出, 责任由响应者承担。o 确定责任主要根据责任和消息的简明对应关 系,所谓找出责任是根据消息的要求定义责 任,即用责任满足消息所提出的要求。对象的行为o 对象的行为是通过系统中对象之间的交互以 及对象内部状态的转化来表现的。o 对象间通过发送消息而产生交互。o 同时在一个对象的生命周期内也存在状态的 转移以及对事件的响应。⑴系统动态分析o 动态分析的主要任务包括o 分析用例的实现过程(要求有详细的用例描 述),从而更好地理解业务流程以及为发现 类打好基础;o 用于进行动态分析的UML图包括顺序图、协作图、 活动图和状态图。⑴系统动态分析o 建立交互图o 交互图表现的是参与者与系统以及系统内部 对象之间的交互,o 将消息加进交互图时,是在向接收消息的对 象指定职责。错误的顺序图——消息错误地标成注释错误的顺序图——无参与者错误的顺序图——向Actor发送消息错误的顺序图——数据流中断不妥地使用一去一回的消息顺序图与事件流o 用例的事件流中通常有一个基本事件流和多 个分支事件流、替代事件流。o 每个事件流应用一个顺序图描述。场景和用例o 用例中的场景描述可以是形成系统对象图的 一个出发点。它对于系统中对象的发现有极 大的帮助。o 每个场景代表了用例的一个实例。⑵对象状态分析o 状态图针对单个对象建模,通过分析单个对 象的内部状态转换来了解一个对象的行为。o 对于有多种内部状态的对象,状态图可以显 示对象如何从一种状态过渡到另外一种状态, 以及对象在不同状态中的不同行为。o 通过分析某一对象的状态变化,为设计此对 象的操作提供依据。步骤o 分析一个对象的状态可采用下列:o ①首先要确定该对象有那些状态是问题域所关心的。 当对象处于这些状态中时会有哪些动作。当然,我 们只识别哪些问题域所关心的对象的状态。o ②分析对象生命周期,确定对象活动“历程”;o ③确定对象生命周期划分策略;o ④按策略划分阶段描述对象的生命周期;o ⑤获取一系列候选状态;o ⑥针对每一个候选状态,分析出对象在此状态下的 动作。确定状态图的两种方法:o 检查类的属性:考虑一个类的实例在属性值 不同时如何表现,因为如果对象的行为表现 不同,则其状态也不同。o 例:某培训班的人数属性o 50人o 10人某培训班状态图检查类的关联o 检查类的关联:看看关联多重性中带0的关联,0表 示这个关联是可选的。o 关联存在和不存在时类的实例是否表现相同?如果 不同,则可能有多种状态o 雇员和公司o 雇员(多重性:0 )——失业(状态)o 雇员(多重性:1 )——有工作(状态)状态与属性 取钱[ 结余小于0 ] 打开 透支 do/ 通知客户 存款[ 结余小于0 ] 客户请求关闭 检查结余[ 结余小于0达30天以上 ] 关闭⑦最后应对得到的对象进行核查o 可从对象的状态确定性和状态间的互斥性两 个方面进行核查。o 所谓对象的状态确定性是指每个状态都可以 由对象某些数据属性的组合来唯一确定。o 状态间的互斥性是指对象的不同状态间必须 是互斥的,这样对象的状态才具有确定性。原则o 原则上一般只对复杂的类创建状态图。o 如果类对象有多种状态,每种状态中的表现 又大不相同,则可能要对其创建状态图。o 实际情况是,许多类根本就不需要状态图。o 状态图仅用于文档,而不用于生成代码。从 ROSE模型产生代码时,没有任何代码是从状 态图的信息中产生的。3.创建类图o 创建类图的工作主要包括:o 创建类o 标识类之间的关系分析类的概念o 分析模型中的所有类都是”分析类”。o 从设计视角看待, “分析类”忽略实现细节, 相当粗略。o “分析类”是为定义设计类做准备的。 确定“分析类”o 这个步骤就是确定一组备选的、能够执行用 例中行为的“分析类”。o 在确定“分析类”时,使用三种不同的构造 型识别和提取潜在的“分析类”,它们是:o 实体类、控制类、边界类。确定“分析类”o 边界类:每个参与者和用例的交互存在一个对 应的边界类。o 控制类:一般一个用例对应一个控制类。o 实体类:这个主要看用例里面用到的持久的数 据对象。用到数据库对象时,可能就使用了实 体类。类的获取o 类的获取有两种办法:o 从用例模型和用例描述中找出名词,有4种 名词:参与者、类、类的属性、其他描述性 名词。o 能够找出实体类类的获取o 另一种是检查交互图中的对象,研究对象具 有的共同属性和操作来发现类。o 如果采用第二种方法创建类图,需要先创建 交互图;袢”呓缋鄌 分析参与者与用例对,找出边界类边界类的复用控制类的考虑o 如果不同用例包含的任务之间有比较紧密的 联系,某些控制类可以参与多个用例实现。o 当用例事件流非常简单的情况下,控制类的 必要性明显降低。实体类的考虑o 实体类的适用范围和生命周期可能超越特定 的用例事件流。o 实体类通常不是某一特定用例所专有的。o 如果实体类B仅仅被另一个类A,并且实体 类B不具有明显的行为特征,那么,可以考 虑将实体类B作为类A的属性。无类间关系的分析类图4.识别分析类操作o 分析类在顺序图里要承担一定的“职责”o “职责”是对其他对象发送来的消息的响应。 也可能是对外部的响应,也可能是维护自身 信息所必要的“职责”。o 这种行为在分析类演化成设计类时,它可能 对应一个或多个具体的类的“操作”。找出分析类的“操作”o 通常有两种方法为类识别操作:o 第一是责任驱动法o 第二是通过交互图责任驱动法识别类“操作”o 责任驱动主要基于两个概念:o 第一,一个对象在系统中负有一定的责任, 例如它要获得特定的信息(了解的责任)和 为其他对象提供特定的信息(做的责任);o 第二,一个对象与其他对象合作来提供所要 求的服务。 责任驱动法识别类“操作”o 1)责任驱动法为类识别“操作”o 责任分析的一种有用技术CRC(Class- Responsibility-Collaboration
关 键 词:
第07章UML建模-2 ppt、pptx格式 免费阅读 下载 剑锋文库
 剑锋文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:第07章UML建模-2
链接地址: //www.wenku365.com/p-43737592.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给剑锋文库发消息,QQ:1290478887 - 联系我们

本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】。本站是网络服务平台方,若您的权利被侵害,侵权客服QQ:1290478887 欢迎举报。

1290478887@qq.com 2017-2027 //www.wenku365.com 网站版权所有

粤ICP备19057495号 

收起
展开