第一章本章简要阐述了软件开发的本质,即实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。在此基础上,概括地介绍了实现这一映射的基本途径,即系统建模。所谓系统建模,是指运用所掌握的知识,通过抽象,给出该系统的一个结构一系统模型。因此,模型是一个抽象。该抽象是在意图所确定的角度和抽象层次对物理系统的一个描述描述其中的成分和成分之间所具有的特定语义的关系,还包括对该系统边界的描述。在软件开发领域,系统模型分为两大类,一类称为概念模型,描述了系统是什么;另一类统称为软件模型,描述了实现概念模型的软件解决方案。软件模型又可进一步分为设计模型、实现模型和部署模型等。总之,正确认识软件开发的本质,认识建模的意义,了解模型概念以及模型分类,直接关系到对软件工程开发逻辑、开发途径有关知识的理解、掌握和正确应用。正如章首语所言:“正确认识软件开发,是从事软件开发实践和软件工程项目管理的思想基础。”第二章本章首先介绍了需求的定义,即“一个需求是一个‘要予构造’的陈述,描述了待开发产品(或项)功能上的能力、性能参数或者其他性质”,并指出了需求的5个必备的基本性质:必要的(Necessary),即该需求是用户所要求的;无歧义的(Unambiguous),即该需求只能用一种方式解释;可测的(Testable),即该需求是可进行测试的;可跟踪的(Trace-able),即该需求可从一个开发阶段跟踪到另一个阶段;可测量的(Measurable),即该需求是可测量的。需求的5个基本性质可作为需求发现和评估的基础。其次,为了更好地理解需求,介绍了需求的分类。软件需求可以分为功能、性能、外部接口、设计约束和质量属性,并把性能、外部接口、设计约束和质量属性这4类需求统称为非功能需求。除此之外,还给出了功能需求和非功能需求的基本关系。然后,介绍了5种常用的需求发现技术:自悟(Introspection)、交谈(Individualin-terview)、观察(Observation)、小组会(Groupsession)和提炼(Extraction),并指出采用系统化方法,例如,结构化方法和面向对象方法,可使发现的需求基本满足以上5个性质。最后,详细地介绍了需求规约(SRS)。其中,不仅给出了需求规约的定义、需求规约的基本性质和需求规约的格式,而且还介绍了表达需求规约的3种风格:非形式化的规约、半形式化的规约和形式化的规约。需求规约的作用可概括为以下4点:(1)需求规约是软件开发组织和用户之间一份事实上的技术合同书,是产品功能及其环境的体现。(2)对于项目的其余大多数工作,需求规约是一个管理控制点。(3)对于产品/系统的设计,需求规约是一个正式的、受控的起始点。(4)需求规约是创建产品验收测试计划和用户指南的基础。第三章本章比较详细地介绍了结构化方法,包含结构化需求分析方法和结构化软件设计方法。一下面对结构化方法作一小结。1)一般来说,分析是系统化地使用信息,对一个问题的估算。软件需求分析是这一概念的特化,即系统化地使用由“数据流’,、“加工”、“数据存储”、“数据源”和“数据潭”等术语所表达的信息,对待建系统“是什么”给出一个估算—系统概念模型,而“软件设计是定义满足需求所需要的结构”。结构化方法作为一种特定的软件开发方法学是从事系统分析和软件设计的一种思想工具。2)结构化方法的提出,是基于看待客观世界的基本观点,即一切信息系统都是由信息流构成的,每一信息流都有自己的起点一数据源,有自己的归宿一数据潭,有驱动信息流动的加工,所谓信息处理主要表现为信息的流动。3)人们解决问题的一般途径是,首先对那些非结构化和半结构化的问题,通常采用已掌握的知识,建造它们的模型定义问题;而后基于已定义的问题,给出相应的解决方案;最后采用一定的工具,实现这一解决方案,如图3-55所示。其中,使用数学作为工具,对一个特定的问题建造了一个模型:Y=x*x+5结构化方法遵循了人们解决问题的一般途径,其中需求分析就是通过建造待开发系统/产品的概念模型,定义需要解决的问题当采用一定技术验证后,表明该模型是可用的情况下就可进行总体设i}和详细设计,给出求解软件的一种方案,进而采用一种程序设计工具实现。当表明该模型不可使...