软件危机
在计算机软件开发和维护过程中,所产生的一系列严重的问题,
通常导致开发效率降低,开发质量下降
产生原因:
1、软件需求快速增长,增加了软件开发和维护的难度。
2、当前技术水平有限,对已有需要维护的软件产品无法维护。
解决办法:
随着软件危机的产生,传统方法学和面向对象方法学应运而生;使得软件开发和维护的过程变的有章可循;
传统方法学
特点:
1、传统方法学又称生命周期方法学,将软件项目分成各个阶段,每个阶段都有
各自的任务和产物。并且顺序的完成各个阶段的任务;
2、每个阶段的开始和结束都有严格的标准,前一阶段的结束标志下一阶段的开始。
优点:
1、开发流程清晰,方便对软件开发过程的管理
2、每个阶段都有各自的任务,便于开发人员分工合作
缺点:
代码重用性低,需求的改变会使项目维护十分复杂;
面向对象方法学
以对象为中心,万物皆对象,将具体的事物抽象成一个个具有属性和行为的对象,
比如某学生就是一个对象,他有自己的学号,身高,等等一系列信息,
学生也可以进行一系列行为,比如吃饭,睡觉学习等行为。
优点:
1.与人类习惯的思维方法一致
2.可重用性好
3.可维护性好
4.稳定性好
5.较易开发大型软件
6. 面向对象的软件比较容易修改
7. 面向对象软件比较容易理解
总结:以考试为例;
传统方法学按步骤执行,
1、命题组命题
2、考生参加考试
3、公布成绩
4、录取
面向对象方法学,将分出各个对象;
1、学生对象
属性:学号、姓名、年龄、学校等;
行为:参加考试
2、出题组
行为:出题
3、监考官
行为:监考
通过一系列的细分对象,将整个考试的过程变为由一系列对象,
采取各自的行为,而完成考试这一事件。