分析方法如何适应面临的挑战?
1,是否有利于对问题及系统责任的理解
要求分析方法采用与问题域一致的概念, 术语及系统成
分, 产生一个较好地映射问题域, 准确反映系统责任的
系统模型 。
2,是否有利于人员之间交流
要求分析方法使用与问题域一致的概念及术语, 尽可能
体现人类的日常思维方式, 使各类人员具有共同语言 。
3,对需求变化的适应性
要求分析方法把系统中最容易变化的因素隔离起来, 并
使系统的各个单元之间接口尽可能少 。 即把需求变化所
引起的影响局部化 。
4,是否支持软件复用
系统模型的基本成分具有完整性 ( 能完整地对应问题域
中的事物 ) 和独立性 ( 与其它成分接口尽量少 ) 。
分析方法的比较
功能分解法
数据流法
信息建模法
OOA
对问题域
和系统责
任的理解
改进交流 适应变化 支持复用
差 差 差最差
差 差较差较差
较好 较好 略好 略好
好 好 好 好
OOA的主要优点
有利于对问题的理解,使系统的复杂性得到控制
采用与问题域一致的概念、术语及系统成分,使系统能较
好地映射问题域,准确反映系统责任。
有利于各类人员之间的交流
使用与问题域一致的概念及术语,体现人类的日常思维方
式,从而使各类人员具有一 种比较易懂的共同语言。
对需求变化的适应性
按封装原则把系统中最容易变化的因素隔离起来, 系统的
各个单元成分之间接口很少, 把需求 变化所引起的影响局
部化 。
封装、继承、聚合等原则,对象的完整性,独立性以及与
问题域的良好对应,使面向对象方法非常有利于软件复用。
可复用构件的特征:
独立性、完整性、可标识
性、一般性、适应性、可
靠性、标准化支持软件复用
贯穿软件生命周期全过程的一致性
从 OOA开始使用与问题域一致的概念、词汇、原则及表示
法,这种一致性保持到设计、编程、测试、维护等各个阶
段,这对于整个软件生命周期的各种开发、维护及管理活
动都具有重要的意义。
实用性
仅仅数年以前,面向对象的软件开发还被许多人看作一种
理论研究或未来的新技术,现在已经无可置疑地成为一种
实用技术。
国外情况,国内情况。
有利于用户参与
中国的国情 ——用户更希望参与应用系统的开发
对用户而言,学习 OO方法的困难要比其它方法少得多。
—— 先进不等于难学难用