西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)第十章 面向对象技术——面向对象分析与设计

传统方法的缺点 瀑布模型的缺点:僵化 瀑布模型要求:生命周期各阶段间遵守严格 的顺序。 实际情况是:软件开发往往在反复实践中完 成 瀑布模型要求:预先定义并“冻结”软件需 求 实际情况是:某些系统的需求的一个逐渐明 确的过程,且预先定义的需求到软件完成时 可能已经过时
1 • 瀑布模型的缺点:僵化 • 瀑布模型要求:生命周期各阶段间遵守严格 的顺序。 • 实际情况是:软件开发往往在反复实践中完 成。 • 瀑布模型要求:预先定义并“冻结”软件需 求。 • 实际情况是:某些系统的需求的一个逐渐明 确的过程,且预先定义的需求到软件完成时 可能已经过时

传统方法学的缺点: 本质上是功能分解,以实现功能的过程为中心, 而用户的需求变化主要是针对功能的。这就使 基于过程的设计不易被理解;且功能变化往往 引起结构变化较大,稳定性不好。 系统有明确的边界定义,且系统结构依赖于系 统边界的定义,这样的系统不易扩充和修改。 数据与操作分开处理,可能造成软构件对具体 应用环境的依赖,可重用性较差
2 本质上是功能分解,以实现功能的过程为中心, 而用户的需求变化主要是针对功能的。这就使 基于过程的设计不易被理解;且功能变化往往 引起结构变化较大,稳定性不好。 • 系统有明确的边界定义,且系统结构依赖于系 统边界的定义,这样的系统不易扩充和修改。 • 数据与操作分开处理,可能造成软构件对具体 应用环境的依赖,可重用性较差. 传统方法学的缺点:

软件工程 第6章面向对象的分析与设计方法
3 第6章 面向对象的分析与设计方法

§1.OOM 81.面向对象方法学 面向对象方法学(0 bject-0 riented Methodology), 简称00M ●特点:尽可能模拟人类习惯的思维方式,即问题 域与求解域在结构上尽可能一致。与传统方法相反, OOM以数据或信息为主线,把数据和处理结合构成 统一体—对象。这时程序不再是一系列工作在数 据上的函数集合,而是相互协作又彼此独立的对象 的集合
4 §1. OOM 面向对象方法学(Object - Oriented Methodology), 简称OOM §1. 面向对象方法学 特点:尽可能模拟人类习惯的思维方式,即问题 域与求解域在结构上尽可能一致。与传统方法相反, OOM以数据或信息为主线,把数据和处理结合构成 统一体 —— 对象。这时程序不再是一系列工作在数 据上的函数集合,而是相互协作又彼此独立的对象 的集合

例 桂林 北京 Message 9 Post-office Send by method 我想把邮局搬到 Attributes location: 我家门口,多加几个 employee Obiect 邮递员2、24小时都开门 唉,那就先送束花 Methods: 对不起 Post_office. Send (request, payment) send 本邮局不提供 此类服务 对象 Object=属性 Attribute+操作 Method 注意:对象内部的属性不允许外部用户直接改动,只有当它提供了 相应的服务操作时,用户才能通过发送消息来提请它执行
5 桂 林 北 京 Post-office Message Send by method 对象Object Object = 属性Attribute Attributes: location; employee; …… + 操作Method Methods: send; sell;…… 注意:对象内部的属性不允许外部用户直接改动,只有当它提供了 相应的服务操作时,用户才能通过发送消息来提请它执行。 我想把邮局搬到 我家门口,多加几个 邮递员,24小时都开门 …… 对不起, 本邮局不提供 此类服务 唉,那就先送束花吧 —— Post_office.Send (request, payment) 例:

§1.OOM OOM的四要素: ①对象 object):世界由对象组成。 ②类( class):具有相同属性和操作的对象可划分为类; 单个对象可视为某一类的实例( Instance) ③继承( inheritance):类可分层,下层子类与上层父类 有相同特征,称为继承
6 OOM的四要素: ①对象(object):世界由对象组成。 ② 类 (class) :具有相同属性和操作的对象可划分为类; 单个对象可视为某一类的实例 (instance)。 ③ 继承(inheritance):类可分层,下层子类与上层父类 有相同特征,称为继承。 §1. OOM

§1.OOM ④消息( message):对象间只能通过发送消息进行联 系,外界不能处理对象的内部数 据,只能通过消息请求它进行处 理(如果它提供相应消息的话)
7 ④ 消息(message):对象间只能通过发送消息进行联 系,外界不能处理对象的内部数 据,只能通过消息请求它进行处 理(如果它提供相应消息的话)。 §1. OOM

§1.OOM OOM= Object+ Class+Inheritance+Communication with messages OOM的优点: ①传统方法:面向过程设计,以计算为核心,数据与 操作分离,不易理解。 OOM:以 object为核心,强调对现实概念的模拟而 不强调算法。“面向对象方法学的基本原则 是按照人们习惯的思维方式建立问题域的模 型,开发出尽可能直观、自然地表现求解方 法的软件系统”。 ◆Clas:由特殊到一般的归纳( Induction ◆ Inheritance:由一般到特殊的演绎 deduction)
8 OOM:以object 为核心,强调对现实概念的模拟而 不强调算法。 “面向对象方法学的基本原则, 是按照人们习惯的思维方式建立问题域的模 型,开发出尽可能直观、自然地表现求解方 法的软件系统” 。 Class:由特殊到一般的归纳(induction) Inheritance:由一般到特殊的演绎(deduction) OOM = Object+Class+Inheritance+Communication with messages OOM的优点: ① 传统方法:面向过程设计,以计算为核心,数据与 操作分离,不易理解。 §1. OOM

§1.OOM ②传统方法:结构依赖于功能,不稳定。 OOM:以 object模拟实体,需求变化不会引起结构 的整体变化,因为实体相对稳定,故系统 也相应稳定。 ③传统方法:通过建立标准函数库来重用软构件。 但标准函数缺少必要的“柔性”,难 以适应不同场合的不同需要。 0OM:一个cass所有的 instances都可重用它的代 码;由 inheritance派生出的新的 class可 重用其父类的代码,并且可以修改、扩充 而不影响其父类的使用
9 OOM:以object模拟实体,需求变化不会引起结构 的整体变化,因为实体相对稳定,故系统 也相应稳定。 ② 传统方法:结构依赖于功能,不稳定。 ③传统方法:通过建立标准函数库来重用软构件。 但标准函数缺少必要的“柔性” ,难 以适应不同场合的不同需要。 OOM:一个class所有的 instances 都可重用它的代 码;由 inheritance 派生出的新的 class 可 重用其父类的代码,并且可以修改、扩充 而不影响其父类的使用。 §1. OOM

§1.OOM ④传统方法:可维护性是最令人头痛的问题。 OOM:从以下几方面改善了可维护性 稳定性好:软件功能需求的变化不牵动全局, 只需局部修改; Class独立性强:只要修改不涉及clas的对外 接口,则内部修改完全不影响外部调用; Inheritance和多态性( polymorphism)使其很容 易被修改和扩充; 容易理解; 有这一条就什么都好办了! 容易测试、调试。 这一点还可商榷
10 • 稳定性好:软件功能需求的变化不牵动全局, 只需局部修改; • Class 独立性强:只要修改不涉及class的对外 接口,则内部修改完全不影响外部调用; • Inheritance和多态性(polymorphism)使其很容 易被修改和扩充; • 容易理解; ④ 传统方法:可维护性是最令人头痛的问题。 OOM:从以下几方面改善了可维护性 —— 有这一条就什么都好办了! 容易测试、调试。 这一点还可商榷 §1. OOM
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)第十一 面向对象设计与UML.ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)第十三章 软件项目管理 Software Management.ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)第十二章 人机界面设计——用户界面设计.ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)第三章 需求分析.ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)第二章 可行性研究.ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)第一章 软件概述.ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)原理、方法与应用(第6章-第11章).ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)原理、方法与应用(第1章-第5章).ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源_电子教案.doc
- 西安石油大学:《软件工程 Software Engineering》课程教学资源_试题(填空题).doc
- 西安石油大学:《软件工程 Software Engineering》课程教学资源_试题(三).doc
- 西安石油大学:《软件工程 Software Engineering》课程教学资源_软件工程模拟试题(二).doc
- 西安石油大学:《软件工程 Software Engineering》课程教学资源_《软件工程学》试题.doc
- 西安石油大学:《软件工程 Software Engineering》课程教学资源_模拟试题及参考答案(共五套).doc
- 西安石油大学:《软件工程 Software Engineering》课程教学资源_软件工程试题.doc
- 西安石油大学:《软件工程 Software Engineering》课程教学资源_各章习题解答.doc
- 西安石油大学:《软件工程 Software Engineering》课程教学资源_实验指导书.doc
- 西安石油大学:《软件工程 Software Engineering》课程教学资源_教学大纲.doc
- 西安石油大学:《人工智能导论》课程教学资源(PPT课件)第9章 智能化网络.ppt
- 西安石油大学:《人工智能导论》课程教学资源(PPT课件)第9章 智能化网络.ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)第九章 面向对象方法概述.ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)第七章 软件测试.ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)第八章 软件维护.ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)第四章 软件设计——概要设计.ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)第五章 软件设计——详细设计.ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(PPT课件)第六章 编码、实现.ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源_从课程角度看软件工程教材和体系建设.doc
- 西安石油大学:《软件工程 Software Engineering》课程教学资源_软件工程复习纲要和要求.doc
- 西安石油大学:《软件工程 Software Engineering》课程教学资源_UML进行面向对象的系统分析及设计方法.pdf
- 中国矿业大学计算机科学与技术学院:UML在商业活动建模中的应用(宗梅、史有群).pdf
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(分析与设计案例)需求分析与建模说明书.doc
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(分析与设计案例)宿舍管理案例.ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(分析与设计案例)超市管理信息系统分析设计书(超市管理信息系统分析与点评).doc
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(分析与设计案例)面向对象方法例题——ATM网络系统.doc
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(分析与设计案例)医院病房监护系统案例(面向对象).ppt
- 西安石油大学:《软件工程 Software Engineering》课程教学资源(分析与设计案例)面向对象(OO)会议管理系统案例.ppt
- 西安石油大学:《计算机网络 Computer Network》课程教学资源_教学大纲.pdf
- 西安石油大学:《计算机网络 Computer Network》课程教学资源_电子教案.pdf
- 西安石油大学:《计算机网络 Computer Network》课程教学资源(习题解答)第1章 概述.pdf
- 西安石油大学:《计算机网络 Computer Network》课程教学资源(习题解答)第2章 物理层.pdf