软件危机:在计算机软件开发和维护过程中所遇到的一系列严重的问题。

软件工程:采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济的开发出高质的软件并有效的维护它。

软件开发的复杂性体现在:
1.跟计算机体系结构相关
2.软件开发无法形成模式
3.软件的需求经常改变
4.软件元素间的关系不确定
5.软件依赖硬件环境

软件工程的一般原则:
分层:复杂问题分解成若干小问题,再分别解决,从而降低系统的复杂性。
抽象:抽取系统的基本特性忽略非基本的特性。
模块化:把系统划分为若干个模块(高内聚,低耦合)
封装(信息隐藏):隐藏内部实现细节
复用:指在多个系统中,尤其是新系统中使用已有的软件模块

几种基本的软件开发方法:
结构化的开发方法:SA,SD,SP 面向数据流
Jackson方法:面向数据结构
面向对象的开发方法:OOA,OOD,OOP (分析,设计,编码)

面向对象技术的优点:
1需求较小的改变不会影响软件的结构
2开发的系统更容易理解
3可靠性高
4复用
5结构化方法对问题进行功能分解,强调软件的结构按照功能来组织,一旦功能改变,软件的结构就会不稳定。
6对象方法按照问题域分解,能够更直接的描述现实世界。
posted on 2007-07-17 20:23  欣欣  阅读(192)  评论(0)    收藏  举报