软件工程与项目管理_10

上传人:mg****85 文档编号:49622795 上传时间:2018-07-31 格式:PPT 页数:58 大小:1.21MB
返回 下载 相关 举报
软件工程与项目管理_10_第1页
第1页 / 共58页
软件工程与项目管理_10_第2页
第2页 / 共58页
软件工程与项目管理_10_第3页
第3页 / 共58页
软件工程与项目管理_10_第4页
第4页 / 共58页
软件工程与项目管理_10_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《软件工程与项目管理_10》由会员分享,可在线阅读,更多相关《软件工程与项目管理_10(58页珍藏版)》请在金锄头文库上搜索。

1、2012 Inspur GroupInspur Education 第10章 面向对象分析Inspur Education 2012 Inspur Group上讲回顾u 面向对象方法学概述 u 面向对象的概念 u 面向对象建模 u 对象模型 u 动态模型 u 功能模型 u 3种模型之间的关系Inspur Education 2012 Inspur Groupu 面向对象分析的基本过程u 需求陈述u 建立对象模型u 建立动态模型u 建立功能模型u 定义服务u 小结 本讲目标Inspur Education 2012 Inspur Group10.1 面向对象分析的基本过程u面向对象分析抽取和整理

2、用户需求并建立问题域精确模型 的过程.理解-用户、分析员和领域专家表达-需求规格说明书(对象模型、动 态模型、功能模型)验证-二义性,完善性对象模型最基本、最重要、最核心。Inspur Education 2012 Inspur Group10.1 面向对象分析的基本过程u3个子模型对所解决问题的描述角度进行划分:静态结构(对象模 型)3个子模型 交互次序(动态模型)数据变换(功能模 型)解决问题不同,三个子模型的重要程度也不 同。Inspur Education 2012 Inspur Group10.1 面向对象分析的基本过程u5个层次复杂问题 的对象模型的5个层次五个层次像是对象模型的5

3、张水平切片,一层比一层显示出对象模型的更多细节。主题题指读读者理解大型 、复杂杂模型的一种机 制(记忆记忆 的7+2原则则 )Inspur Education 2012 Inspur Group10.1 面向对象分析的基本过程u面向对象分析的过程寻找类与对象识别结构识别主题定义属性建立动态模型建立功能模型定义服务Inspur Education 2012 Inspur Group10.2 需求陈述u需求陈述是阐明“做什么”,而不是“怎样做 ” 问题范围 功能需求 性能需求 应用环境 假设条件Inspur Education 2012 Inspur Group10.2 需求陈述ATM机系统问题描

4、述 n银行网络中包含柜员和 ATM,ATM 被共享中心所分享。n每家银行利用自己的计算机维护自己的账户并处理账户所属的 交易,这些交易包括存款和取款。n某些银行拥有自己的柜员站,柜员站直接和该银行的计算机通 信,柜员键入账户数据和交易数据。nATM 和中心计算机通信,中心计算机再和银行清账。nATM 接受金融卡,要求用户做些操作后和中心计算机通信,执 行交易给予现金和打印收据。n系统要求保留交易记录和严守安全规定。n能同时存取客户的相同账户。Inspur Education 2012 Inspur Group10.2 需求陈述u自动取款机(ATM)系统ATM系统Inspur Education

5、 2012 Inspur Group10.3 建立对象模型建立对象模型典型的步骤: u确定对象类和关联,对于大型复杂问题还要进一步划分 出若干个主题; u给类和关联增添属性,以进一步描述它们; u利用适当的继承关系进一步合并和组织类。Inspur Education 2012 Inspur Group10.3 建立对象模型10.3.1 找出候选类与对象 1.找出候选的类与对象寻找以下五类客观事物 可感知的物理实体 人或组织的角色 应该记忆的事件 两个或多个对象的相互作用,通常具有交 易或接触的性质 需要说明的概念Inspur Education 2012 Inspur Group10.3 建立

6、对象模型10.3.1找出候选类与对象 1.找出候选的类与对象(续)p名词解析法从陈述中找出所有名词,作为类和对象的初步候选者银行,自动取款机(ATM),系统,中央计算机,分行计算机,柜员终端,网络,总行,分行,软件,成本,市,街道,营业厅,储蓄所,柜员,储户,现金,支票,账户,事物,现金兑换卡,余额,磁卡,分行代码,卡号,用户,副本,信息,密码,类型,取款额,账单,访问。通信链路 事务日志Inspur Education 2012 Inspur Group10.3 建立对象模型10.3.1找出候选类与对象 2.筛选出正确的类与对象p筛选时主要依据下列标准,删除不正确或不必要的类与对 象 (1)

7、冗余 (2)无关 (3)笼统 (4)属性(5)操作 (6)实现银行,自动取款机(ATM),系统,中央计算机 分行计算机,柜员终端,网络,总行,分行,软件 ,成本,市,街道,营业厅,储蓄所,柜员,储户 , 现金,支票,账户,事物,现金兑换卡,余额, 磁卡,分行代码,卡号,用户,副本,信息,密码 ,类型,取款额,账单,访问。 通信链路 事务日志(储户、用户;现金兑换卡、磁卡和副本 )(成本、市、街道、营业厅和储蓄所) (银行、访问、信息、网络、系统、软件等)(现金、支票、取款额、账单、余额、分行代码 、卡号、密码、类型)(事务日志、通信链路) Inspur Education 2012 Inspu

8、r Group10.3 建立对象模型10.3.1找出候选类与对象 2.筛选出正确的类与对象ATM、中央计算机、分行计算机、柜员终端 、总行、分行、柜员、储户、账户、事务、现金兑 换卡Inspur Education 2012 Inspur Group10.3 建立对象模型10.3.2 确定关联 1.初步确定关联需求陈述中使用的描述性动词或动词词组,通常表示关联关系。 直接提取动词短语得出关联 需求陈述中隐含的关联 根据问题域知识得出的关联 2.筛选(根据下述标准删除候选关联) 已删去的类之间的关联 与问题无关的或在实现阶段考虑的关联 瞬时事件 三元关联 派生关联Inspur Education

9、 2012 Inspur Group直接提取动词短语得出的关联ATM、中央计算机、分行计算机及柜员终端组成网络。总行拥有多台ATM。ATM设在主要街道上。分行提供分行计算机和柜员终端。柜员终端设在分行营业厅及储蓄所内。分行分摊软件开发成本。储户拥有账户。分行计算机处理针对账户的事务。分行计算机维护账户。柜员终端与分行计算机通信。柜员输入针对账户的事务。ATM与中央计算机交换关于事务的信息。中央计算机确定事务与分行的对应关系。ATM读现金兑换卡。ATM与用户交互。ATM吐出现金。ATM打印账单。系统处理并发的访问。隐含的关联 总行由各个分行组成。 分行保管账户。 总行拥有中央计算机。 系统维护事

10、务日志。 系统提供必要的安全性。 储户拥有现金兑换卡。 中央计算机与分行通信根据问题域知识得出的关联 现金兑换卡访问账户。 分行雇用柜员。Inspur Education 2012 Inspur Group10.3 建立对象模型10.3.2 确定关联 3.进一步完善正名、分解、补充、标明重数ATM系统原始的类图Inspur Education 2012 Inspur Group10.3 建立对象模型10.3.3 划分主题 n在概念上把系统包含的内容分解成若干个范畴应该按问题领域而不是用功能分解的方法来确定主题 不同主题内的对象相互间依赖和交互最少的原则总行(总行和中央计算机)ATM系统 分行(

11、分行、分行计算机、柜员终端、柜员事务、柜员和账户等)ATM(ATM、远程事务、现金兑换卡和 储户)Inspur Education 2012 Inspur Group10.3 建立对象模型10.3.4 确定属性 n属性是对象的性质或特征n注意在分析阶段不要用属性来表示对象间的关系, 使用关联能够表示两个对象间的任何关系,而且把 关系表示得更清晰、更醒目。n确定属性的过程包括分析和选择两个步骤。Inspur Education 2012 Inspur Group10.3 建立对象模型10.3.4 确定属性 n选择在需求陈述中一般用名词词组表示属性 需藉助于领域知识和常识才能分析得出属性 属性对问

12、题域的基本结构影响很小 属性的确定与问题域和目标系统的任务有关。 不要考虑那些超出所要解决的问题范围的属性。 先找最重要的属性,再逐渐把其余属性增添进去。分析阶 段不考虑那些纯粹用于实现的属性。Inspur Education 2012 Inspur Group10.3 建立对象模型10.3.4 确定属性 n分析(1) 误把对象当作属性同一个实体在不同应用领域中,到底应该作为对象还是属性,需 要具体分析才能确定。例如,储户/账户.(2) 误把关联类的属性当作对象的属性如果某个性质依赖于某个关联链的存在,则该性质是关联类的属 性,不应该把它作为一般对象的属性。例如,带宽是体现关联的属性而不是AT

13、M的Inspur Education 2012 Inspur Group10.3 建立对象模型10.3.4 确定属性 n分析(3) 把限定误当成属性正确使用限定词往往可以减少关联的重数。如果把某个属性值固 定下来以后能减少关联的重数,则应该考虑把这个属性重新表 述成一个限定词。在ATM系统的例子中,“分行代码”、“账号”、“雇员号”、 “站号”等都是限定词。(4) 误把内部状态当成了属性如果某个性质是对象的非公开的内部状态,则应该从对象模型中 删掉这个属性。Inspur Education 2012 Inspur Group10.3 建立对象模型10.3.4 确定属性 n分析(5) 过于细化在

14、分析阶段应该忽略那些对大多数操作都没有影响的 属性。(6) 存在不一致的属性类应该是简单而且一致的。如果得出一些看起来与其 他属性毫不相关的属性,则应该考虑把该类分解成 两个不同的类。e.g. 轮,帆;Inspur Education 2012 Inspur Group10.3 建立对象模型经过筛选之后,得到ATM系统中各个类的属性,如图所示 。Inspur Education 2012 Inspur Group10.3.5 识别继承关系建立类间的继承是为了共享其公共性质/属性。 继承也对类按层次加以组织。 继承关系反映出一定深度的领域知识,需领域专家密切 配合才能完成。 继承前人的成果是提高

15、效率的重要方法,也是复用的基 础。Inspur Education 2012 Inspur Group两种建立继承(即泛化)关系的方式: (1) 自底向上: 抽象出现有类的共同性质泛化出父类 ,这个过程实质上模拟了人类归纳思维过程。 例如,在ATM系统中,“远程事务”和“柜员事务”是 类似的,可以泛化出父类“事务”;类似地,从 “ATM”和“柜员终端”泛化出父类“输入站”。 (2) 自顶向下: 把现有类细化成更具体的子类或从已 知类派生出一个新类,这模拟了人类的演绎思维过程: 从一般到特殊。 带有形容词修饰的名词词组往往暗示了一些具体类。分 析阶段应该避免过度细化。Inspur Educati

16、on 2012 Inspur Group增加了继承关系之后的ATM对象模型Inspur Education 2012 Inspur Group10.3.6 反复修改一次建模过程很难得到完全正确的对象模型。 有些细化工作(例如,定义服务)是在建立了动态模型和 功能模型之后才进行的。 由于面向对象的概念和符号在整个开发过程中都是一致 的,因此远比使用结构分析、设计技术更容易实现反复 修改、逐步完善的过程。 建模的步骤并不一定按照前面讲述的次序进行。 它给初学者提供了一个指南。 下面以ATM系统为例,讨论可能做的修改:Inspur Education 2012 Inspur Group1. 分解“现金兑换卡”类 “现金兑换卡”有两个相对独立的功能,它既是鉴别储 户及使用A

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号