第九章面向对象方法学引论
传统方法学的缺点
软件工程的新途径
面向对象的基本概念
面向对象建模
对象模型
动态模型
功能模型
传统方法学的缺点
几十年的实践证明,传统的生命周期方法学不能消除软件危机,软件产业仍然存在以下问题:
生产率的提高仍然不能满足日益增长的软件需求。
软件重用程度很低。
软件维护十分艰难。
软件需求很难把握,目标系统往往不能真正满足用户的需求。
以上问题产生的原因
僵化的瀑布模型
某些类型的系统需求是模糊的
项目参与者之间存在通信鸿沟
预先定义的需求可能是过时的
结构化技术的缺点
系统稳定性差。SA、SD的本质是功能分解,它是围绕实现一个个处理功能的“过程”来构造系统的,而用户需求的变化大部分是针对功能的。所以,一旦需求稍有变化,就会引起系统结构的大变化。
难以修改和扩充。SA、SD技术清楚地定义了目标系统的边界,软件通过界面与客观世界通信。
数据和操作分离和模块化的任意性使得软件可重用性差。
软件工程的新途径
快速原型法
面向对象方法学
面向Agent的软件工程
快速原型法
两类不同的软件系统
全部需求能够预先精确定义的软件系统
需求难以预先定义的软件系统
原型法的基本思想
快速建立一个能够反映用户主要需求的原型系统,让用户评价是否符合其需求。如果满足需求,说明SRS正确、完备和一致;否则,对原型系统进行修改,再给用户评价。
用原型法开发软件的过程
抛弃原型法
演化原型法
基于原型系统的两种开发模型
Boehm提出的螺旋模型
分析,建原型,评价与修改;
设计,建原型,评价与修改;
程序设计,建原型,评价与修改
Gilb渐增模型
完成一部分分析工作
完成一部分设计工作
完成一部分程序分析工作
建原型并评价
重复上述过程
面向对象方法学
人们认识世界的三个构造法则
认识和区分对象及其属性,如一棵树和树的大小。
认识和区分整体对象及其组成部分,如区分一棵树和树枝。
认识和区分不同对象类的形成,如所有树的类和所有石头的类的形成和区分。
OO方法正好适应了以上法则
问题空间和解空间得到进一步的“拟合”,它们的结构十分一致;
对数据和操作封装而形成一个统一体;
解空间中的对象行为更丰富,削弱了“语义断层”。
What is Object-Oriented?
Object orientation is an approach to software development anizes both the problem and its solution as a collection of discrete objects;
It is a kind of representation that describe object’s data structure and behavior.
It is a kind of modeling technology.
OO方法所具有的四个要点
对象
认为客观世界是由各种对象组成的,任何事物都是对象,复杂对象由简单对象以某种方式组成。
类
把所有对象按类划分形成对象类。
继承
整个系统由若干个对象类组成,类的等级形成系统的层次结构,子类可以继承父类的相同特性。
消息传递
对象之间只能通过消息传递实现相互的联系,实现对象的“封装”。
Characteristics of OO Representation
Identity—name, reference, handle
Abstraction
Classification
Encapsulation
Inheritance
Polymorphism
Persistence
09 面向对象方法学引论 来自淘豆网m.daumloan.com转载请标明出处.