面向对象软件开发_第1页
面向对象软件开发_第2页
面向对象软件开发_第3页
面向对象软件开发_第4页
面向对象软件开发_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、面向对象软件开发v面向对象技术是一个有全新概念的开发模式,其特点是: 方法是对软件开发过程所有阶段进行综合考虑而得到的;从生存期的一个阶段到下一个阶段所使用的方法与技术具有高度的连续性;将OOA、OOD、OOP集成到生存期的相应阶段。面向对象软件开发 面向对象分析 OOAv面向对象分析方法确实不同于结构化分析方法吗?vFichman and Kemerer Fichman and Kemerer 在“Object-oriented Object-oriented Conventional Analysis and Design Methodologies”Conventional Analys

2、is and Design Methodologies” 中阐述:v我们的结论是面向对象分析方法表现了相对面向过程的方法学(如结构化分析)的根本性变化,而且相对面向数据的方法学仅仅是增量性的变化。面向过程的方法学在建模过程中的关注点不是对象的内在性质,从而导致了和面向对象的三个基本原理相正交的问题域模型。OOAvOOA方法使得软件工程师能够定义待解决问题的类和对象,类之间的相互关联的方式,对象的内部结构(属性和操作),以及允许对象在一起工作的通信机制(消息)来对问题域进行建模。vOOA的目标是开发一些列的模型,这些模型描述软件系统,以满足用户需求。与结构化分析方法的目标是一致的。OOAv建立分

3、析模型5个基本原则:(1)建模信息域;(2)描述模块功能;(3)表示模型行为;(4)分解数据、功能和行为模型 以表示更多细节;(5)早期模型表示问题的本质, 而后期模型提供 实现细节。OOAvOOA的意图是提供系统的精确、简明、易理解的面向对象模型,也就是“蓝图”自动化。为了达到这个目标,必须完成以下任务: 1. 必须在客户和软件工程师之间沟通, 了解基本的用户需求; 2. 必须标识类(定义属性和方法); 3. 必须刻划类的层次结构; 4. 表示对象与对象关系(关联); 5. 必须建模对象行为; 6. 任务1到5迭代反复使用,直至完成建模。OOA建模方法v建模方法过程标记工具 过程:说明如何收

4、集需求并确定要建模的提炼。 标记:用于交流模型的一种图形“语言”。 工具:使标记工作自动化, 一般使用“Drag and Draw”方式。 v过程是最重要的,然后是标记,工具是三者中重要性最低的。流行的几种建模方法vBooch方法vCoad-Yourdon方法vJames Rumbaugh方法 (Object Modeling Technology, OMT) vJacobson方法(简称OOSE)vESA的HOOD方法vWirfs-Brook的RDD方法v由Rumbaugh, Booch, Jacobson 提出的统一建模语言(Unify Modeling Language, UML)Boo

5、ch方法vBooch方法包含微开发过程和宏开发过程。微级别定义一组分析任务在宏过程中的每个步骤中被反复应用。其宏过程包括:标识类和对象标识类和对象的语义标识类和对象间的关系进行精化Jacobson方法vJacobson方法提出面向对象的软件工程OOSE,强调use case,描述用户和产品或系统之间如何交互的场景scenario.Coad/Yourdon方法vCoad/Yourdon的OOA过程概述:使用“寻找什么”标准来标识对象定义一般/特殊结构定义整体/部分结构标识主题(子系统构件的表示)定义属性定义服务 Rumbaugh方法 (OMT)vRumbaugh的OOA过程概述:开发对问题的范围

6、陈述建造对象模型开发动态模型构造系统的功能模型统一的OOA方法vRumbaugh, Booch, Jacobson提出的统一建模语言(Unify Modeling Language, UML)。vUML是一种定义良好,易于表达,功能强大且普遍实用的建模语言。 OOA建模v不同面向对象分析方法的相似步骤:(1)获取系统的用户需求;(2)标识场景scenario或用例usecase;(3)使用基本需求作为指南,选择类和对象;(4)为对象定义属性和操作;(5)定义类的结构和层次;(6)建造对象-关系模型;(7)建造对象-行为模型;(8)根据usecase来评审OOA模型。义。义。 7.4 建立动态模

7、型v建立动态模型的步骤: 1)编写典型交互行为的脚本; 2)从脚本中提取事件,确定触发每个事件的动作对象以及接受事件的目标对象; 3)排列事件发生的次序,确定每个对象可能有的状态及状态间的转换关系,并用。7.4.1 编写脚本 所谓“脚本”,原意是指表演戏曲,话剧,拍摄电影和电视剧等所依据的本子,里面记载了台词和故事情节等。 在建立动态模型的过程中,脚本是指系统在某一执行时间内出现的一系列事件。 编写脚本的过程实际上是分析用户对系统行为的要求的过程。ATM系统的正常脚本vATM请用户插入银行卡vATM接受该卡并读取它上面分行代码和卡号vATM请求用户输入密码vATM请求总行验证卡号和密码;然后通

8、知ATM该卡有效vATM要求用户选择事务类型(取款,查询等);用户选择“取款”vATM要求用户输入取款额vATM确认取款额在规定的限额内,然后要求总行处理这个事务;总行把请求转给分行,该分行成功处理完这项事务并返回该帐户的新余额vATM吐出现金并请用户拿走现金;用户拿走现金vATM问用户是否继续;用户回答“不”vATM打印帐单,推出银行卡;用户拿走银行卡和帐单vATM请用户插入银行卡7.4.2 设想用户界面v大多数交互式行为都可以分为应用逻辑和用户界面。v应用逻辑是内在的,本质的内容,用户界面是外在的表现形式。v采用不同的用户界面可以实现同样的程序逻辑。v动态模型着重表示应用系统的控制逻辑。7

9、.4.3画事件跟踪图1 确定事件2 画出事件跟踪图 书上图7.9是ATM系统正常情况下的事件跟踪图7.4.4画状态图v状态描绘事件与对象状态的关系。v通常用一张状态图描绘一类对象的行为,它确定了由事件序列引出的状态序列。v从一张事件跟踪图出发画状态图时,应该集中精力仅考虑影响一类对象的事件。7.4.5审查动态模型v各个类的状态图通过共享事件合并起来,构成了系统的动态模型。v应该审查每个事件,跟踪它对系统中各个对象所产生的效果,以保证它们与每个脚本都匹配。7.5建立功能模型v7.5.1 画出基本系统模型图v7.5.2 画出功能级数据流图v7.5.3 描述处理框功能7.6定义服务v7.6.1 常规行为v7.6.2 从事件导出操作v7.6.3 与数据流图中处理

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论