




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第八章 面向对象方法学引论,8.1面向对象方法学概述,客观世界的问题是由客观实体及实体之间的关系构成的,抽象为问题域的对象 客观世界中实体既具有静态的属性又具有动态的行为。 计算机借助编程语言处理计算机中的实体(解空间的对象) 传统语言提供的解空间对象实质上仅是描述实体属性的数据,必须在程序中从外部对它施加操作,才能模拟它的行为。 面向对象方法是以数据或信息为主线,把数据和处理相结合的方法,把对象作为由数据及可以施加在这些数据上的操作所构成的统一体。 对象是对数据进行处理的主体。必须发消息请求对象主动地执行它的某些操作,处理其私有数据,不能从外界直接对它的私有数据进行操作。,传统方法数据与过程是分离的,过程1,输入,输出,过程2,过程3,数据实体,属于该对象 的数据,对象,处理数据的方法,消息,消息,对象把数据和处理数据的方法封状成一个单元,8.1面向对象方法学概述,传统开发方法把程序看作是工作在数据上的一系列过程或函数的集合。 面向对象方法学把程序看作是相互协作而又彼此独立的对象的集合。每个对象就像一个微型程序,有自己的数据、操作、功能和目的。 减少语义断层 解空间与问题空间的结构十分一致,易于理解和维护。,8.1面向对象方法学概述,传统方法 系统是过程的集合 过程与数据实体交互 过程接受输入并产生输出,面向对象方法 系统是交互对象的集合 对象与人或其它对象交互 对象发送与响应消息,8.1面向对象方法学概述,面向对象方法学要点 认为客观世界是由各种对象组成的 用对象分解取代功能分解 把所有对象都划分成各种对象类 按照子类父类的关系把对象类组成一个层次结构的系统 对象之间仅通过传递消息 OO = Objects+Classes+Inheritance+Communication with messages,8.1面向对象方法学概述,优点 自然性 追求软件系统对现实系统的直接模拟,尽量实现将 现实世界中的事物直接映射到软件系统的解空间中 软件复用 reusebility 对象所固有的封装性和信息隐藏机理保证了对象具有很强的自含性和较强的独立性。 可扩展性 对象的独立性、继承机制 可管理性 面向对象的软件稳定性较高、较容易修改、较容易理解、易于测试和调试。,8.2 面向对象的概念,对象(客观世界)具有动态和静态两个方面 对象的形象表示,8.2 面向对象的概念,对象的定义 对象是具有相同状态的一组操作的集合 对象是对问题域中某个东西的抽象,该抽象反映了系统保存有关这个东西的信息或交互能力,既对象是对属性值和操作的封装 对象: 对象封装了数据结构和施加在这些数据结构上的操作的封装体,它有唯一的标识,对外提供一组服务 对象的特点 以数据为中心 对象是主动的 对数据封装 本质上具有并行性 独立性好,8.2 面向对象的概念,1. 类(class) 2. 实例(instance) 3. 消息(message) 4. 方法(method) 5. 属性(attribute) 6. 封装(encapsulation),提供接口,隐藏数据 7. 继承(inheritance) 8. 多态性(polymorphism)(P186),滞后联编 9. 重载(overloading)(P187),静态联编,8.4 对象模型,模型(P187) 为理解事物而对事物作出的一种抽象,是对事物的一种无歧义的书面描述。 有一组图示符号和组织符号的规则组成,8.3 面向对象建模,对象-关 系模型,类/对象 模型,对象-行为模型,使用实例 (Use Case),操作、,属性、,协作者,8.4对象模型,对象模型可以看成是数据流和语义数据模型的结合 对象模型表示静态的、结构化系统的“数据”性质。 它是对模拟客观世界实体的对象,以及对象彼此间的关系的映射,描述了系统的静态结构。 对象模型是一个类(包括其属性和行为)、对象(类的实例)、类和(或)对象之间关系的定义集。 类名是一类对象的抽象命名,其命名是否恰当对系统的可理解性影响相当大。 对象模型还必须表示类/对象之间的结构关系。类/对象之间的关系一般可概括为关联、归纳(泛化)、组合(聚集)三类。,8.4对象模型,类图的基本符号 定义类 定义属性 定义服务,8.4对象模型,表示关系的符号 关联:表示两个类的对象之间有某种语义上的联系 关联的表示、关联名、重数、关联的角色 关联的种类:普通关联、限定关联、关联类 普通关联,8.4对象模型,限定关联,关联类,8.4对象模型,聚集(部分与整体的关系) 共享聚集 组合聚集,8.4对象模型,泛化(继承) 种类:普通泛化、受限泛化,8.4对象模型,8.4对象模型,受限泛化:多重、不相交、完全、不完全,8.4对象模型,依赖与细化(P195),8.5动态模型,动态模型表示瞬间的、行为化的系统“控制”性质,它规定了对象模型中对象的合法变化序列。 对象运行周期中的阶段就是对象的状态。 对象状态是对对象属性的一种抽象。 对象之间相互触发/作用的行为(称为事件),引起了一系列的状态变化。 事件是某个特定时刻所发生的一个系统行为,它是对引起对象从一种状态转换到另一个状态的现实世界事件的抽象。 对象对事件的响应,取决于接受该触发的对象当时所处的状态,其响应包括改变自己的状态,或者是形成一个新的触发行为(事件)。 动态模型描绘了对象的状态,触发状态转换的事件,以及对象行为(对事件的响应)。,8.6 功能模型,功能模型表示变化的系统的“功能”性质,指明了系统应该“做什么”。 它更直接地反映了用户对目标系统的需求。 面向对象是以用例驱动的。用例站在用户的角度描述用户的交互过程,有助于软件开发人员更深入地理解问题域,改进和完善自己的分析和设计。 对象模型、动态模型和功能模型相辅相承,使得对系统的需求分析和设计描述更加直观、全面。 对象模型是最基本、最重要的,它为其他两种模型奠定了基础。,8.6 功能模型,用例图 1. 系统 2. 用例 3. 行为者 4. 用例之间的关系,8.6 功能模型,8.6 功能模型,用例着眼于为用户增加价值,提供了一种捕获功能需求的系统且直观的方法,可驱动整个开发过程。 用例从某个特定参与者的角度用简单易懂的语言说明一个特定的使用场景。 要开始开发用例,应列出特定参与者执行的功能或者活动。 用例模型帮助客户、用户和开发人员在如何使用系统方面达成共识。 用例图描述部分用例模型,显示带有联系的用例和参与者的集合,8.6 功能模型,需求捕获的目标: 发现真正的需求 以适用于用户、客户和开发人员的方式加以表示 系统用户表示为一个参与者 参与者在与用例进行交互时使用系统 用例向参与者提供某些有价值结果而执行一些动作序列,8.6 功能模型,8.6 功能模型,8.6 功能模型,用例名称:处理销售 范围:POS机应用 级别:用户目标 主要参与者:收银员 涉众及其关注点: 收银员:希望能够准确、快速地输入,而且没有支付错误,因为如果少收货款,将从其薪水众扣除。 售货员:希望自动更新销售提成 顾客:希望以最小代价完成购买活动并得到快速服务。希望便捷、清晰地看到所输入的商品项目和价格。希望得到购买凭证,以便退货。 公司:希望准确地记录交易,满足顾客要求。希望确保记录了支付授权服务的支付票据。希望有一定的容错性,即便在某些服务器构件不可用时(如远程信用卡验证),也能够完成销售。希望能够自动、快速地更新帐户和库存信息。 经理:希望能够快速执行超控操作,并易于更正收银员的不当操作。 前置条件:收银员必须经过确认和认证。 成功保证(或后置条件):存储销售信息,更新帐户和库存信息,记录提成,生成票据,记录支付授权的批准。,8.6 功能模型,1.顾客携带所购商品或服务到收银台通过POS机付款。 2.收银员开始一次新的销售交易。 3.收银员输入商品条码。 4.系统逐步记录出售的商品,并显示该商品的描述、价格和累计额。价格通过一组价格规则来计算。收银员重复34步,直到输入结束。 5.系统显示总额和计算折扣。 6.收银员告知顾客总额,并请顾客付款。 7.顾客付款,系统处理支付。 8.系统记录完整的销售信息,并将销售和支付信息发送到外部的账务系统(进行账务处理和提成)和库存系统(更新库存)。 9.系统打印票据。 10.顾客携带商品和票据离开。,8.7 UML,统一建模语言(UML,Unified Modeling Language)是一种基于面向对象的可视化建模语言。 UML用丰富的图形符号隐含表示了模型元素的语法,而用这些图形符号组成元模型表达语义,组成模型描述系统结构(或称为静态特征)以及行为(或称为动态特征)。 UML的模型元素: 一类模型元素用于表示模型中的某个概念,如类、对象、用例、结点、构件、包、接口等; 另一类模型元素用于表示模型元素之间相互连接的关系,主要有关联、泛化(表示一般与特殊的关系)、依赖、聚集(表示整体与部分的关系)等。,8.7 UML,UML模型元素,8.7 UML,UML主要是用来描述模型的。它可以从不同视角为系统建模,形成不同的视图(View)。每个视图是系统完整描述中的一个抽象,代表该系统一个特定的方面;每个视图又由一组图(Diagram)构成,图包含了强调系统某一方面的信息。 两类图: 静态图:包括用例图、类图、对象图、构件图和部署图 动态图:包括状态图、时序图、协作图和活动图 五种视图: 用例视图从用户角度表达系统功能; 结构视图主要使用类图和对象图描述系统静态结构; 行为视图展示系统动态行为及其并发性; 实现视图展示系统实现的结构和行为特征; 部署视图展示系统的实现环境和构件是如何在物理结构中部署的,用户需求:可使用用例图来捕获用户的需求,用例图从用户的角度来描述系统的功能,表示了操作者于系统的一个交互过程。 系统分析:可使用类图来描述系统的静态模型,为了实现用例,类之间需要协作,可用动态模型的状态图、顺序图、协作图来描述。分析阶段只考虑问题域的对象建模。需要通过静态模型和动态模型来描述系统结构和系统行为 系统设计:对类进行细化,如引入人机交互的接口类、处理数据类、处理通信类。 系统实现:用构件图描述代码构件的物理结构以及构件之间的关系。用配置图来
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 员工年休假管理办法
- 导师成长手管理办法
- 动物管理办法三十一
- 小企业外贸管理办法
- 水利变更及管理办法
- 本溪通勤车管理办法
- 机关俱乐部管理办法
- 学生俱乐部管理办法
- 南宁大学区管理办法
- 施工试验室管理办法
- 车贷中介服务及贷后管理合作协议
- 2024年度浙江省二级造价工程师之土建建设工程计量与计价实务题库练习试卷A卷附答案
- 【课件】破茧 逐光-2026届新高三启航主题班会:挑战极限成就梦想(含规划指南、学法指导、心理护航)
- 2025至2030中国GPU芯片行业市场发展现状调研及竞争格局与产业运行态势及投资规划深度研究报告
- 三聚氰胺基复合气凝胶:制备工艺、性能表征与应用前景探究
- 2025广西中医药大学赛恩斯新医药学院教师招聘考试试题
- 医院存货盘点管理制度
- 社区干部考试题库及答案
- 学校特殊教师管理制度
- 电玩城制度管理制度
- DB31/T 779-2014学校物业管理服务规范
评论
0/150
提交评论