《面向对象开发技术》全套教学课件.pptx

《面向对象开发技术》全套教学课件.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《面向对象开发技术》全套教学课件.pptx《面向对象开发技术》全套教学课件.pptx《面向对象开发技术》全套教学课件.pptx《面向对象开发技术》全套教学课件.pptx《面向对象开发技术》全套教学课件.pptx

面向对象方法与技术

全套可编辑PPT课件

本课件是可编辑的正常PPT课件

课程内容

Part1:面向对象原理

第1章面向对象的引入和发展

第2章面向对象基本概念

第3章面向对象程序设计

Part2:面向对象建模

第4章UML基础

Part3:面向对象设计

第5章面向对象设计模式

第6章面向对象设计原则

本课件是可编辑的正常PPT课件

第1章面向对象的引入和发展

面向对象的发展历程

面向对象方法的动机

面向对象方法vs.过程化方法

面向对象潜在的优点

本课件是可编辑的正常PPT课件

1.1、面向对象的发展历程

起源于编程语言

Simula–67

OBJECT

Modula—2

ADT

SMALLTALK72、74、80

C++

JAVA

C#

本课件是可编辑的正常PPT课件

本课件是可编辑的正常PPT课件

本课件是可编辑的正常PPT课件

建模

UML

GradyBooch、Ivarjacobson、JimRumbaugh

其他

XML,JSON

O2、ObjectStore面向对象数据库系统

WEBSERVICE

本课件是可编辑的正常PPT课件

1.2、引入面向对象的动机

源于人们长久以来的一个希望:

提高软件开发的生产效率、可靠性、易维护性、易管理的要求

强调从问题域的概念到软件程序和界面的直接映射

把客观世界看成许多对象更接近人类的自然思维方式

易于理解,解决问题更加具有针对性

本课件是可编辑的正常PPT课件

结构化软件开发方法简介

复杂性是软件开发过程中所固有的特质。[Booch94]

软件工程所采用的方法不是唯一的

1978年,E.Yourdon和L.L.Constantine提出了结构化开发方法SADT(StructureAnalysisDesignTechnology)

结构化程序设计

设计过程程序组织语句构造结构化

结构化分析设计

数据流图数据字典模块结构图

结构化编程SP(StructureProgramming)

程序的主体是过程(函数)

过程(函数)是最小的功能模块

一组相关的过程组合成一个大的功能模块

本课件是可编辑的正常PPT课件

结构化开发方法

自顶向下(Top-down)的功能设计

Topmostfunctionalabstraction

把软件系统的功能看做是根据给定的输入数据,进行相应的运算,然后输出结果

本课件是可编辑的正常PPT课件

结构化开发过程举例

一个画板系统Panel

包括4个功能

选择形状

画长方形

画圆

画直线

工具:数据流图DFD

选择形状模块数据流图

本课件是可编辑的正常PPT课件

结构化编程

定义形状标示常量

drawCircle()

drawLine()

drawRectangle()

selectShape()

接收用户输入的形状

switch

voidselectShape(){

intshape;

scanf(%d,shape);

switch(shape){

caseCircle:

drawCircle();

break;

caseLine:

drawLine();

break;

caseRectangle:

drawRectangle();

break;

default:

printf(输入的形状不存在);

break;

}

}

假定需求发生变化

要求增加一个画三角形的功能

需要对系统做多处改动

增加一个形状常量定义

增加一个画三角形的功能方法

在selectShape中增加一个分支逻辑

本课件是可编辑的正常PPT课件

结构化的好处

科学化可读性模块化信息隐蔽...

结构化开发方法局限性

不能灵活地适应用户不断变化的需求。比如,要求修改现有软件的实现方式或追加新功能时

模块之间的松耦合性不够,修改或增加一个模块会影响到其他模块

制约了软件的可维护性和可扩展性

这些缺陷的根本原因在于:

自顶向下地按照功能来划分。问题:但是软件的功能不是一成不变的

软件系统中最小的子系统是方法。问题:方法和与之相关的数据分离,全局变量和常量数据分散在系统的各个角落,削弱了各个系统之间的相对独立性

本课件是可编辑的正常PPT课件

本课件是可编辑的正常PPT课件

面向对象编程的观点,即对象分摊工作和责任,对我们而言是十分熟悉的,因为现实中人类也采用这样的交互方式

例如一位企业主,并不需要对所有的事亲历亲为,事实上,该企业主只需要将任务分配给雇员。每位雇员不仅要完成给定的任务,并且还得负责维护和该任务相关的数据。

比如,秘书不仅需要负责打印

文档评论(0)

163 + 关注
实名认证
内容提供者

知识分享

1亿VIP精品文档

相关文档