软件工程课后习题参考答案
软件开发的本质是实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。软件开发的基本途径是系统建模,所谓系统建模,是指运用所掌握的知识,通过抽象,给出该系统的一个结构——系统模型。
模型是一个抽象,该抽象是在意图所确定的角度和抽象层次对物理系统的一个描述,描述其中的成分和成分之间所具有的特定语义的关系,还包括对该系统边界的描述。软件开发中所涉及的模型可分为两大类,一类称为概念模型,描述了系统是什么;另一类统称为软件模型,描述了实现概念模型的软件解决方案。
软件开发所涉及的两大类技术为:一是求解软件的开发逻辑,二是求解软件的开发手段。
需求的基本性质包括:必要的,该需求是用户所要求的;无歧义的,该需求只能用一种方式解释;可测的,该需求是可进行测试的;可跟踪的,该需求可从一个开发阶段跟踪到另一个阶段;可测量的,该需求是可测量的。
需求规约的基本性质包括:重要性和稳定性程度:按需求的重要性和稳定性,对需求进行分级;可修改的:在不过多地影响其他需求的前提下,可以容易地修改一个单一需求;完整的:没有被遗漏的需求;一致的:不存在互斥的需求。
软件需求可以分为两大类:一类是功能需求,一类是非功能需求,而非功能需求可分为性能需求、外部接口需求、设计约束和质量属性需求。
非功能需求可作用于一个或多个功能需求,例如非功能需求可作用于一个或多个功能需求其中,非功能需求1 作用于功能需求1 和功能需求3 等;非功能需求2 作用于功能需求2 等。
有 5 种常用的初始需求发现技术:自悟、交谈、观察、小组会和提炼。
需求规约有 3 种基本形式:非形式化的需求规约、半形式化的需求规约和形式化的需求规约。
软件需求规约的内容有:引言、总体描述、特定需求、附录、索引。需求规约的作用可概括为以下 4 点:1) 需求规约是软件开发组织和用户之间一份事实上的技术合同书,是产品功能及其环境的体现。2) 对于项目的其余大多数工作,需求规约是一个管理控制点。3) 对于产品 / 系统的设计,需求规约是一个正式的、受控的起始点。4) 需求规约是创建产品验收测试计划和用户指南的基础。
需求规约在项目开发中的基本作用可概括为以下 4 点:1) 需求规约是软件开发组织和用户之间一份事实上的技术合同书,是产品功能及其环境的体现。2) 对于项目的其余大多数工作,需求规约是一个管理控制点。3) 对于产品 / 系统的设计,需求规约是一个正式的、受控的起始点。4) 需求规约是创建产品验收测试计划和用户指南的基础。
需求规约和项目需求是两个不同的概念。需求规约是软件开发组织和用户之间一份事实上的技术合同书,即关注产品需求,回答“交付给客户的产品 / 系统是什么”;而项目需求是客户和开发者之间有关技术合同——产品 / 系统需求的理解,应记录在工作陈述中或其他某一项目文档中,即关注项目工作与管理,回答“开发组要做的是什么”。
耦合是不同模块之间相互依赖程序的度量。耦合的类型包括:内容耦合、公共耦合、控制耦合、标记耦合、数据耦合等。
模块内聚是指一个模块内部各成分之间相互关联程度的度量。模块内聚的类型包括:偶然内聚、逻辑内聚、时间内聚等。
在软件开发过程中,需求规约和模块耦合、内聚等概念都是非常重要的,它们对软件开发的整个过程产生着重要的影响。因此,对这些概念的理解和掌握是软件开发人员必须具备的基本能力。