第1章 基本概念
1.1 概述:系统生命周期
我们假定本书读者已经全面学习了程序设计的基本课程,并具备了扎实的编程基础。程序设计的基本方法通常强调的是掌握一门编程语言的语法(它的语法规则),并且应用这门语言去解决一些相对小的问题。本书将超越基本概念和方法的局限,提供一些对于设计和实现大规模计算机系统所必须的工具和技术。我们相信,在数据抽象和封装、算法规范、性能分析和测量等方面坚实的基础将会为读者提供必要的程序设计方法学。本章将讨论这方面的一些细节。还将简略地讨论递归程序,因为许多读者可能对这种重要的技术仅仅只有粗浅的认识。然而,在开始讨论具体的工具和技术以前,需要强调的是,程序设计不仅仅是编写代码,还包括许多其他的内容。一个好的程序员把大规模计算机程序看成是一个包含了许多复杂交互部分的系统。作为系统,这些程序要经历一个被称为“系统生命周期”的开发过程。这个生命周期由需求、分析、设计、编码和验证等阶段组成。尽管我们将分别讨论这些生命周期阶段,但它们是密切相互关联的,而且对这些生命周期阶段的时间划分也是粗略的。在第1.8节中,列出了一些关于系统生命周期及其各个不同阶段的一些资料,这些资料将给读者提供更详细的补充信息。
(1)需求。所有大型的程序设计项目在开始时,都需要定义一组描述该项目目标的规格说明。这些需求描述了程序所必须得到的信息(输入),以及必然产生的结果(输出)。通常,初始的规格说明都是含糊不清的,必须经过逐步细化,才能够得到严格的包括各种情况的输入和输出描述。
……