软件危机
软件危机包含两方面问题:如何开发软件、如何维护规模越来越大的软件。
软件危机的原因:与软件本身特点有关、开发和维护不正确。
开发和维护不正确具体表现为:忽视软件需求分析的重要性,认为软件开发就是写程序,轻视软件维护等。
软件开发的过程:定义问题、进行可行性研究、需求分析、开发和测试、维护。
软件产品的组成:程序、文档和数据。
软件工程
软件工程的目标
- 提高软件的可维护性
- 减少软件维护的代价。
软件工程方法学
- 传统方法学:将软件生命周期的全过程一次划分为若干个阶段,顺序地完成每个阶段的任务。
- 面向对象方法学:既使用对象又使用类和继承等机制,而且对象之间仅能通过传递消息实现彼此通信。
软件生命周期
软件生命周期由三个阶段组成
系统分析: 问题定义、可行性研究、需求分析。
软件开发:总体设计、详细设计、编码和单元测试、综合测试。
运行维护
软件生命周期每个阶段的基本任务
问题定义:“做什么项目?”。通过对客户的调查,系统分析师扼要地写出关于问题性质、工程目标和工程规模的书面报告,得到客户的确认。
可行性研究:“值不值得做?”系统分析师在较高的抽象层次上进行研究,不是具体解决问题,而是研究问题的范围,