第一章本章简要阐述了软件开发的本质,即实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射
在此基础上,概括地介绍了实现这一映射的基本途径,即系统建模
所谓系统建模,是指运用所掌握的知识,通过抽象,给出该系统的一个结构一系统模型
因此,模型是一个抽象
该抽象是在意图所确定的角度和抽象层次对物理系统的一个描述描述其中的成分和成分之间所具有的特定语义的关系,还包括对该系统边界的描述
在软件开发领域,系统模型分为两大类,一类称为概念模型,描述了系统是什么;另一类统称为软件模型,描述了实现概念模型的软件解决方案
软件模型又可进一步分为设计模型、实现模型和部署模型等
总之,正确认识软件开发的本质,认识建模的意义,了解模型概念以及模型分类,直接关系到对软件工程开发逻辑、开发途径有关知识的理解、掌握和正确应用
正如章首语所言:“正确认识软件开发,是从事软件开发实践和软件工程项目管理的思想基础
”第二章本章首先介绍了需求的定义,即“一个需求是一个‘要予构造’的陈述,描述了待开发产品(或项)功能上的能力、性能参数或者其他性质”,并指出了需求的5个必备的基本性质:必要的(Necessary),即该需求是用户所要求的;无歧义的(Unambiguous),即该需求只能用一种方式解释;可测的(Testable),即该需求是可进行测试的;可跟踪的(Trace-able),即该需求可从一个开发阶段跟踪到另一个阶段;可测量的(Measurable),即该需求是可测量的
需求的5个基本性质可作为需求发现和评估的基础
其次,为了更好地理解需求,介绍了需求的分类
软件需求可以分为功能、性能、外部接口、设计约束和质量属性,并把性能、外部接口、设计约束和质量属性这4类需求统称为非功能需求
除此之外,还给出了功能需求和非功能需求的基本关系
然后,介绍了5种常用的需求发现技术:自悟(Introspection