【教学课件】第九章面向对象分析.ppt
《【教学课件】第九章面向对象分析.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第九章面向对象分析.ppt(54页珍藏版)》请在三一办公上搜索。
1、第九章 面向对象分析,10.1 面向对象分析的基本过程10.2 需求陈述10.3 建立对象模型10.4 建立动态模型10.5 建立功能模型10.6 定义服务10.7 小结,10.1 面向对象分析的基本过程,面向对象分析 抽取和整理用户需求并建立问题域精确模型的过程.理解-用户、分析员和领域专家 表达-需求规格说明书(对象模型、动态模型、功能模型)验证-二义性,完善性 对象模型最基本、最重要、最核心。,10.1 面向对象分析的基本过程,3个子模型 对所解决问题的描述角度进行划分:静态结构(对象模型)3个子模型 交互次序(动态模型)数据变换(功能模型)解决问题不同,三个子模型的重要程度也不同。,1
2、0.1 面向对象分析的基本过程,5个层次,复杂问题的对象模型的5个层次,五个层次像是对象模型的5张水平切片,一层比一层显示出对象模型的更多细节。,主题指读者理解大型、复杂模型的一种机制(记忆的7+2原则),面向对象分析的过程 寻找类与对象 识别结构 识别主题 定义属性 建立动态模型 定义服务,10.1 面向对象分析的基本过程,10.2 需求陈述,需求陈述是阐明“做什么”,而不是“怎样做”问题范围功能需求性能需求应用环境假设条件,ATM机系统问题描述银行网络中包含柜员和 ATM,ATM 被共享中心所分享。每家银行利用自己的计算机维护自己的账户并处理账户所属的交易,这些交易包括存款和取款。某些银行
3、拥有自己的柜员站,柜员站直接和该银行的计算机通信,柜员键入账户数据和交易数据。ATM 和中心计算机通信,中心计算机再和银行清账。ATM 接受金融卡,要求用户做些操作后和中心计算机通信,执行交易给予现金和打印收据。系统要求保留交易记录和严守安全规定。能同时存取客户的相同账户。,10.2 需求陈述,自动取款机(ATM)系统 ATM系统,10.2 需求陈述,10.3 建立对象模型,找出候选类与对象1.找出候选的类与对象寻找以下五类客观事物可感知的物理实体人或组织的角色应该记忆的事件两个或多个对象的相互作用,通常具有交易或接触的性质需要说明的概念,10.3 建立对象模型,找出候选类与对象1.找出候选的
4、类与对象(续)名词解析法 从陈述中找出所有名词,作为类和对象的初步候选者 银行,自动取款机(ATM),系统,中央计算机,分行计算机,柜员终端,网络,总行,分行,软件,成本,市,街道,营业厅,储蓄所,柜员,储户,现金,支票,账户,事物,现金兑换卡,余额,磁卡,分行代码,卡号,用户,副本,信息,密码,类型,取款额,账单,访问。通信链路 事务日志,10.3 建立对象模型,找出候选类与对象2.筛选出正确的类与对象筛选时主要依据下列标准,删除不正确或不必要的类与对象(1)冗余(2)无关(3)笼统(4)属性(5)操作(6)实现,银行,自动取款机(ATM),系统,中央计算机分行计算机,柜员终端,网络,总行,
5、分行,软件,成本,市,街道,营业厅,储蓄所,柜员,储户,现金,支票,账户,事物,现金兑换卡,余额,磁卡,分行代码,卡号,用户,副本,信息,密码,类型,取款额,账单,访问。通信链路 事务日志,(储户、用户;现金兑换卡、磁卡和副本),(成本、市、街道、营业厅和储蓄所),(银行、访问、信息、网络、系统、软件等),(现金、支票、取款额、账单、余额、分行代码、卡号、密码、类型),(事务日志、通信链路),10.3 建立对象模型,找出候选类与对象2.筛选出正确的类与对象 ATM、中央计算机、分行计算机、柜员终端、总行、分行、柜员、储户、账户、事务、现金兑换卡,10.3 建立对象模型,确定关联1.初步确定关联
6、 需求陈述中使用的描述性动词或动词词组,通 常表示关联关系。直接提取动词短语得出关联需求陈述中隐含的关联根据问题域知识得出的关联2.筛选(根据下述标准删除候选关联)已删去的类之间的关联与问题无关的或在实现阶段考虑的关联瞬时事件三元关联派生关联,直接提取动词短语得出的关联ATM、中央计算机、分行计算机及柜员终端组成网络。总行拥有多台ATM。ATM设在主要街道上。分行提供分行计算机和柜员终端。柜员终端设在分行营业厅及储蓄所内。分行分摊软件开发成本。储户拥有账户。分行计算机处理针对账户的事务。分行计算机维护账户。柜员终端与分行计算机通信。柜员输入针对账户的事务。ATM与中央计算机交换关于事务的信息。
7、中央计算机确定事务与分行的对应关系。ATM读现金兑换卡。ATM与用户交互。ATM吐出现金。ATM打印账单。系统处理并发的访问。,隐含的关联总行由各个分行组成。分行保管账户。总行拥有中央计算机。系统维护事务日志。系统提供必要的安全性。储户拥有现金兑换卡。中央计算机与分行通信,根据问题域知识得出的关联现金兑换卡访问账户。分行雇用柜员。,10.3 建立对象模型,确定关联3.进一步完善正名、分解、补充、标明重数,ATM系统原始的类图,10.3 建立对象模型,10.3.3 划分主题在概念上把系统包含的内容分解成若干个范畴应该按问题领域而不是用功能分解的方法来确定主题不同主题内的对象相互间依赖和交互最少的
8、原则 总行(总行和中央计算机)ATM系统 分行(分行、分行计算机、柜员终端、柜员 事务、柜员和账户等)ATM(ATM、远程事务、现金兑换卡和储户),10.3 建立对象模型,10.3.4 确定属性属性是对象的性质或特征注意在分析阶段不要用属性来表示对象间的关系,使用关联能够表示两个对象间的任何关系,而且把关系表示得更清晰、更醒目。确定属性的过程包括分析和选择两个步骤。,10.3 建立对象模型,10.3.4 确定属性选择在需求陈述中一般用名词词组表示属性需藉助于领域知识和常识才能分析得出属性属性对问题域的基本结构影响很小属性的确定与问题域和目标系统的任务有关。不要考虑那些超出所要解决的问题范围的属
9、性。先找最重要的属性,再逐渐把其余属性增添进去。分析阶段不考虑那些纯粹用于实现的属性。,10.3 建立对象模型,10.3.4 确定属性分析(1)误把对象当作属性同一个实体在不同应用领域中,到底应该作为对象还是属性,需要具体分析才能确定。例如,储户/账户.(2)误把关联类的属性当作对象的属性如果某个性质依赖于某个关联链的存在,则该性质是关联类的属性,不应该把它作为一般对象的属性。例如,带宽是体现关联的属性而不是ATM的,10.3 建立对象模型,10.3.4 确定属性分析(3)把限定误当成属性正确使用限定词往往可以减少关联的重数。如果把某个属性值固定下来以后能减少关联的重数,则应该考虑把这个属性重
10、新表述成一个限定词。在ATM系统的例子中,“分行代码”、“账号”、“雇员号”、“站号”等都是限定词。(4)误把内部状态当成了属性如果某个性质是对象的非公开的内部状态,则应该从对象模型中删掉这个属性。,10.3 建立对象模型,10.3.4 确定属性分析(5)过于细化在分析阶段应该忽略那些对大多数操作都没有影响的属性。(6)存在不一致的属性类应该是简单而且一致的。如果得出一些看起来与其他属性毫不相关的属性,则应该考虑把该类分解成两个不同的类。e.g.轮,帆;,经过筛选之后,得到ATM系统中各个类的属性,如图所示。,10.3 建立对象模型,建立类间的继承是为了共享其公共性质/属性。继承也对类按层次加
11、以组织。继承关系反映出一定深度的领域知识,需领域专家密切配合才能完成。继承前人的成果是提高效率的重要方法,也是复用的基础。,10.3.5 识别继承关系,两种建立继承(即泛化)关系的方式:(1)自底向上:抽象出现有类的共同性质泛化出父类,这个过程实质上模拟了人类归纳思维过程。例如,在ATM系统中,“远程事务”和“柜员事务”是类似的,可以泛化出父类“事务”;类似地,从“ATM”和“柜员终端”泛化出父类“输入站”。(2)自顶向下:把现有类细化成更具体的子类或从已知类派生出一个新类,这模拟了人类的演绎思维过程:从一般到特殊。带有形容词修饰的名词词组往往暗示了一些具体类。分析阶段应该避免过度细化。,增加
12、了继承关系之后的ATM对象模型,一次建模过程很难得到完全正确的对象模型。有些细化工作(例如,定义服务)是在建立了动态模型和功能模型之后才进行的。由于面向对象的概念和符号在整个开发过程中都是一致的,因此远比使用结构分析、设计技术更容易实现反复修改、逐步完善的过程。建模的步骤并不一定按照前面讲述的次序进行。它给初学者提供了一个指南。下面以ATM系统为例,讨论可能做的修改:,10.3.6 反复修改,1.分解“现金兑换卡”类“现金兑换卡”有两个相对独立的功能,它既是鉴别储户及使用ATM的权限的卡,又是ATM获得分行代码和卡号等数据的数据载体。因此,把“现金兑换卡”类分解为“卡权限”和“现金兑换卡”两个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 第九 面向 对象 分析
链接地址:https://www.31ppt.com/p-5661574.html