C部分习题参考答案

更新时间:2023-11-09 05:49:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《软件工程》(高校自考 2011年版)部分习题参考答案

第1章 ............................................................................................................................. 2

第2章 ............................................................................................................................. 3 第3章 ........................................................................................................................... 5 第4章 ........................................................................................................................... 9 第5章 ..........................................................................................................................11 第6章 ......................................................................................................................... 12 第7章 ......................................................................................................................... 14 第8章 ......................................................................................................................... 15

1

第1章 返回

1. 解释术语 (1)软件

计算机软件一般指计算机系统中的程序及其文档,即软件=程序+文档 (2)软件工程

应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度实现满足用户要求的软件产品的工程,或以此为对象的学科。

(3)软件危机

在软件开发和维护过程中所遇到的一系列难以控制的问题所导致的供需矛盾 2.简答题

(1)简述软件开发的本质

软件开发的本质可概括为:不同抽象层术语之间的“映射”,以及不同抽象层处理逻辑之间的“映射”。

软件是用来解决某一类问题(即问题域)的,最终表现为运行平台上的东西。从问题域到运行平台之间有距离,这种距离体现在问题域中的概念和处理逻辑与运行平台中相应的概念和处理逻辑有区别。要“弥补”问题域与运行平台之间存在的上述“距离”,就要想办法将问题域中的概念映射为运行平台层面上的概念,把问题域中的处理逻辑映射为运行平台层面上的处理逻辑。如果将问题域中的概念和处理逻辑直接映射到运行平台,势必存在一定的复杂性。为了控制这一复杂性,需要在问题域与运行平台之间确定多个抽象层,确定各个抽象层的概念和处理逻辑。最后在各相关抽象层之间进行映射,直到映射到运行平台这一抽象层为止。

(2)简述实施软件开发的基本途径

自顶向下的开发途径是软件开发基本途径,首先通过需求建模,把问题域的概念和处理逻辑想需求层进行映射,再把需求层的概念和处理逻辑向设计层进行映射,接着将设计层的概念和处理逻辑向实现层进行映射,依次进行,直到映射到运行平台这一抽象层。 (3)简述何谓模型以及软件开发中所涉及的模型

所谓模型,简单地说,是待建系统的任意抽象,其中包括所有的基本能力、特性或其他一些方面,而没有任何冗余的细节。进一步说,模型是在特定意图下所确定的角度和抽象层次上对物理系统的描述,通常包含对该系统边界的描述、对系统内各模型元素以及它们之间关系的语义描述。

软件开发中所涉及的模型大体上可分为概念模型和软件模型,其中概念模型描述了“系统是什么”,而软件模型描述了实现概念模型的软件解决方案。软件模型进一步可分为设计模型、实现模型和部署模型。

(4)简述软件开发所涉及的两大类技术

软件开发设计两大类技术,一是过程方向,即求解软件的开发逻辑,给出了软件产品在开发、运行和维护中有关过程、活动和任务的框架,是十分重要的问题,事关项目成败;二是过程途径,即求解软件的开发手段。基本手段是问题建模,也就是运用掌握的知识,通过抽象,给出问题的一个结构。软件开发实践中才采用的建模手段主要包括结构化方法、面向对象方法和面向数据结构方法等。

2

第2章 返回 1.解释以下术语 (1)软件需求

是描述待开发系统/产品应该具有的功能、性能和其他性质的一种技术.是问题域的映射,是系统/产品设计、实现以及验证的基本信息源之一,是任何软件工程项目的基础。

(2)功能需求

功能需求是规约系统或系统构件必须执行的功能的一类需求,是整个需求的主体。

(3)非功能需求

是指软件产品为满足用户业务需求而必须具有的除功能需求以外的特性,包括性能需求、外部接口需求、设计约束需求和质量属性需求。 (4)需求规约

需求规约是一个系统/产品所有需求陈述的正式文档,它表达了一个系统/软件产品的概念模型。

2.简述需求与需求规约的基本性质

单一一个需求必须具有如下5个基本性质:(1)必要的,需求是用户所要求的;(2)无歧义的,需求只能用一种方式解释;(3)可测的,需求是可进行测试的;(4)可跟踪的,需求可从一个开发阶段跟踪到另一个阶段;(5)可测量的,需求是可测量的。

需求规约一般需要满足以下4个基本性质:(1)重要性和稳定性程度:按需求的重要性和稳定性,对需求进行分级,如基本需求、可选需求和期望需求;(2)可修改的:在不过多地影响其他需求的前提下,可以容易地修改一个单一需求;(3)完整的:没有被遗漏的需求;(4)一致的:不存在互斥的需求。

3.简述软件需求的分类

软件需求分为两大类:一类是功能需求,一类是非功能需求,而非功能需求又可分为性能需求、接口需求、设计约束需求和质量属性需求。 4.举例说明功能需求和非功能需求之间的关系

一般来说,功能需求是整个需求的主体,没有功能需求,就没有派生出来的其他功能需求,就没有性能、外部接口、设计约束和质量属性等非功能需求。但非功能需求可能作用于一个或多个功能需求。例如:(功能需求)邮箱网站的客户登录、邮件收发;(非功能需求)有能力支持1000个以上的并发用户,能支持20M以上的超大附件。前一个非功能需求同时作用于两个功能需求,而后一个仅作用于后一个功能需求。它们都是从功能需求派生出来的。 5.有哪几种常用的初始需求发现技术?

初始需求发现技术常用的有:自悟(需求人员把自己当做系统的最终用户,审视系统并提出问题,从而得出需求)、交谈(通过需求人员提问,用户回答的方式得到需求)、观察(观察用户执行的任务和过程,或观察用户如何操作现有系统等)、小组会(举行客户和开发人员联席会议,与客户组织的一些代表共同发现需求)、提炼(复审技术文档,提取相关信息)。 6.简述需求规约的3种基本形式

需求规约的3中基本形式是:

(1)非形式化的需求规约。以一种自然语言来表达需求规约

(2)半形式化的需求规约。以半形式化符号体系来表达需求规约。

3

(3)形式化的需求规约。以一种基于良构数学概念的符号体系来编制需求规约。

7.简述软件需求规约的内容和作用

需求规约的内容包括:引言、信息描述、功能描述、行为描述、检验标准、参考书目和附录。

需求规约的作用可概括为以下4点:

1)需求规约是软件开发组织和用户之间事实上的技术合同书,是产品功能及其环境的体现。

2)对于项目的其余大多数工作,需求规约是一个管理控制点。

3)对于产品/系统的设计,需求规约是一个正式的、受控的起始点。 4)需求规约是创建产品验收测试计划和用户指南的基础。 8. 简述需求规约在项目开发中的基本作用。

同上题中的“作用”

9. 简述需求规约和项目需求的不同。

需求规约和项目需求是两个不同的概念。需求规约是开发组织和用户之间一份事实上的技术合同书,关注产品需求,回答“交付给客户的产品/系统是什么”;而项目需求是客户和开发者之间对产品/系统需求的理解,关注项目工作与管理,回答“开发组要做的是什么”。

10.针对自己所熟悉的一个信息系统或系统一部分,采用任何一种需求发现技术,给出其非形式化的需求规约。

4

第3章 返回

1.解释以下术语 (1)需求分析

是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。就是确定计算机“必须做什么”。 (2)软件设计

应用各种各样的技术和原理,定义一个系统或部件的框架、组成、接口或 其他特征的过程或“该过程的结果”,是将软件需求变换成软件表示的过程。 (3)数据流图DFD

一种描述数据变换的图形化工具,其中包含的元素可以是数据流、加工、数据存储、数据源和数据潭等。若将软件系统视为数据变换装置,则数据流图就是一种表达待建系统功能模型的工具。

(4)变换型数据流图

输入和加工(变换)部分之间以及加工和输出部分之间均有较明显的边界,这类数据流图叫变换型数据流图。呈线性状。 (5)事务型数据流图

数据到达一个加工后,该加工根据输入数据的值,在其后的若干个动作序列(即事务)中选出一个执行,这类数据流图叫事务型数据流图。呈束状

(6)模块

是指整个系统中一些相对独立的程序单元,每个程序单元完成和实现一个相对独立的软件功能。也就是一些独立的程序段。

2.何谓模块耦合?简述模块耦合的类型。

耦合是指不同模块之间相互依赖程度的度量。常见的模块耦合有(从强到弱):

(1)内容耦合:指一个模块直接修改或操作另一个模块的数据,或一个模块不通过正常入口转入到另一个模块。(一般出现在汇编语言中) (2)公共耦合:两个或两个以上的模块共同引用一个全局数据项。

(3)控制耦合:一个模块通过接口向另一个模块传递控制信号,接收信号的模块根据信号值产生动作。

(4)标记耦合:共同接收来自同一模块的同一参数的两个或多个模块之间存在的耦合。 (5)数据耦合:模块之间通过参数(而不是控制参数、公共数据结构或外部变量等)来传递数据。

3. 何谓模块内聚?简述模块内聚的类型。

内聚是指一个模块内部各成分之间相互关联程度的度量。常见的内聚类型(按低到高)有:

(1)偶然内聚:一个模块内的各成分之间基本不存在任何关系。 (2)逻辑内聚:几个逻辑上相关的功能被放在同一模块中。

(3)时间内聚:模块内的各个部分因时间因素(如要求同时执行)而关联在一起。 (4)过程内聚:模块内的各个部分因特定的执行次序而被关联在一起

(5)通信内聚:模块内的各个成分都操作同一数据集或生成同一数据集。

(6)顺序内聚:模块内的各个成分和同一功能密切相关,且一个成分的输出作为另一成分的输入。

(7)功能内聚:模块内的各个成分共同完成某个单一的功能且都是基本的

5

本文来源:https://www.bwwdw.com/article/zryv.html

Top