第九章面向对象方法学引论 传统方法学的缺点 软件工程的新途径 面向对象的基本概念 面向对象建模 对象模型 动态模型 功能模型
第九章 面向对象方法学引论 •传统方法学的缺点 •软件工程的新途径 •面向对象的基本概念 •面向对象建模 –对象模型 –动态模型 –功能模型
传统方法学的缺点 几十年的实践证明,传统的生命周期方法 学不能消除软件危机,软件产业仍然存在 以下问题 生产率的提高仍然不能满足日益增长的软件 需求。 软件重用程度很低。 软件维护十分艰难。 软件需求很难把握,目标系统往往不能真正 满足用户的需求
传统方法学的缺点 • 几十年的实践证明,传统的生命周期方法 学不能消除软件危机,软件产业仍然存在 以下问题: – 生产率的提高仍然不能满足日益增长的软件 需求。 – 软件重用程度很低。 – 软件维护十分艰难。 – 软件需求很难把握,目标系统往往不能真正 满足用户的需求
以上问题产生的原因 僵化的瀑布模型 某些类型的系统需求是模糊的 项目参与者之间存在通信鸿沟 预先定义的需求可能是过时的 结构化技术的缺点 系统稳定性差。SA、SD的本质是功能分解,它是围绕实 现一个个处理功能的“过程”来构造系统的,而用户需 求的变化大部分是针对功能的。所以,一旦需求稍有变 化,就会引起系统结构的大变化 难以修改和扩充。SA、SD技术清楚地定义了目标系统的 边界,软件通过界面与客观世界通信 数据和操作分离和模块化的任意性使得软件可重用性差
以上问题产生的原因 • 僵化的瀑布模型 – 某些类型的系统需求是模糊的 – 项目参与者之间存在通信鸿沟 – 预先定义的需求可能是过时的 • 结构化技术的缺点 – 系统稳定性差。SA、SD的本质是功能分解,它是围绕实 现一个个处理功能的“过程”来构造系统的,而用户需 求的变化大部分是针对功能的。所以,一旦需求稍有变 化,就会引起系统结构的大变化。 – 难以修改和扩充。SA、SD技术清楚地定义了目标系统的 边界,软件通过界面与客观世界通信。 – 数据和操作分离和模块化的任意性使得软件可重用性差
软件工程的新途径 快速原型法 面向对象方法学 面向 Agent的软件工程
软件工程的新途径 • 快速原型法 • 面向对象方法学 • 面向Agent的软件工程
快速原型法 两类不同的软件系统 全部需求能够预先精确定义的软件系统 需求难以预先定义的软件系统 原型法的基本思想 快速建立一个能够反映用户主要需求的原型系统, 让用户评价是否符合其需求。如果满足需求,说 明SRS正确、完备和一致;否则,对原型系统进 行修改,再给用户评价。 用原型法开发软件的过程 抛弃原型法 演化原型法
快速原型法 • 两类不同的软件系统 – 全部需求能够预先精确定义的软件系统 – 需求难以预先定义的软件系统 • 原型法的基本思想 – 快速建立一个能够反映用户主要需求的原型系统, 让用户评价是否符合其需求。如果满足需求,说 明SRS正确、完备和一致;否则,对原型系统进 行修改,再给用户评价。 • 用原型法开发软件的过程 – 抛弃原型法 – 演化原型法