自考软件工程常考简答题历年真题

1.简述软件工程与软件危机的概念以及提出软件工程概念的目的。

软件工程是应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度实现满足用户要求的软件产品的工程,或以此为研究对象的学科。软件危机是指软件生产率和软件质量远远满足不了社会发展的需求,成为社会经济发展的制约因素。

提出软件工程概念的目的是倡导以工程的原理原则和方法进行软件开发,以期解决出现的软件危机。

2.简述需求规约的概念及其基本性质。

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

需求规约基本性质:重要性和稳定性程度,可修改的,完整的,一致的。

  1. 简述事务设计的基本步骤。

设计准备;
复审并精化系统模型;确定事务处理中心;
设计系统模块结构图的顶层和第一层;
自顶向下,逐步求精;

4.简述泛化的概念及其约束。

泛化是父类和子类之间的一种关系,“is-a-kind-of”关系, 四种约束:完整,不完整,互斥,重叠

5.简述RUp设计模型以及包含的元素。

RUp设计模型是rup设计的主要结果,尽量保持该系统具有分析模型的结构,并作为系统实现的输入,包括以下元素:设计子系统和服务子系统以及其依赖,接口和内容;设计类以及它们具有的操作/属性/关系及其实现需求;用况细化;体系结构描述。

6.简述因果图方法生成测试用例的基本步骤。

通过对软件规格说明书的分析,找出一个模块的原因和结果,并给每个原因和结果赋予一个标识符。
分析原因和结果 ,原因和原因之间的对应关系,画出因果图;
在因果图上表示出特定约束或者限制条件。
把因果图转换成判定表。
为每一列设计测试用例;

7.简述软件开发的本质。

软件开发的本质:实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑的映射 实现这一映射的基本途径是系统建模。

8.简述结构化分析建模的基本步骤。

建立系统环境图,确定系统语境;
自顶向下,逐步求精,建立系统的层次数据流图。
定义数据字典;
描述加工。

9.简述RUp中用况模型和分析模型的区别。

前者使用客户语言来描述,后者使用开发语言来描述。 前者给出的是系统对外的视图,后者给出的是系统对内的视图。
前者需求之间可能存在冗余,冲突,不一致的问题,后者不存在这些问题。 前者捕获的是系统功能,后者给出的是细化的系统功能。
前者定义了一些需要在分析模型中进一步予以分析的用况,后者定义了用况模型中每个用况的细。 前者使用用况予以结构化,后者使用衍型予以结构化类

10.简述软件生存周期过程、软件生存周期模型、软件项目过程管理之间的关系。

软件生存周期过程回答软件开发需要做哪些工作。 软件生存周期模型回答软件开发获得或任务如何组织。 软件项目过程管理回答软件过程如何管理。
软件生存周期过程是软件生存周期模型和软件项目管理过程的基础。 软件生存周期模型为软件项目过程管理提供支持。

11.计算机软件和软件工程提出的目的。

计算机软件是指计算机系统中的程序及其文档,程序是计算机任务的处理对象和处理规则的描述,文档是为了理解程序所需要的阐述性资料。

12.简述变换设计的基本步骤

1.设计准备,复审并精化系统模型;
2.确定输入,变换,输出三部分的边界;
3.设计系统模块结构图的定策和第一层;
4.自顶向下,逐步求精;

13.简述信息隐藏的概念及其意义。

信息隐藏是指模块中所包含的信息不允许其他不需要这些信息的模块访问;是实现模块低耦合的一种有效途径;但是如果一个模块是“绝对”信息隐藏的那么对于系统来说就毫无意义。

14.简述RUp中分析模型的表达及其创建所进行的主要活动。

在RUp中,一个系统的分析模型是由一个分析系统定义的,该分析系统包含一组具有层次结构的包,每一个包中可包含一些分析类和用况细化;一些分析类和用况细化还可以单独出现在分析模型中,以凸显它们在系统体系结构方面的作用。

15什么是验证和确认?有什么区别?

验证就是证实一个过程或项目的每一软件工作产品/服务是否正确的反映了所规约的需求;
确认就是证实所期望使用的软件工作产品是否满足其需求;
区别:验证是通过提供的客观证据,证实规约的需求是否得以满足。确认是通过提供客观证据,证实有关特定期望的使用或应用的需求是否得以满足。

16.关联,泛化,细化和依赖的概念及前三者与依赖的关系

关联是类目之间的一种结构关系,是对一组具有相同结构,相同链的描述;
泛化是一般性类目和它的较为特殊性类目之间的一种关系;
细化是类目之间的语义关系,其中一个类目规约保证了另一个类目执行的契约;
依赖是一种使用关系,用于描述一个类目使用另一类目的信息和服务。

17.简述RUp和UML之间的关系

RUp和UML构成了一种特定的软件开发方法学;
UML作为一种可视化建模语言,给出了表达事物和事物之间关系的基本术语,给出了多种模型的表达工具;
RUp利用这些术语定义了需求获取层,系统分析层,设计层,实现层,并给出了实现各层模型之间映射的基本活动和相关指导。

18.测试策略:

1.路径覆盖:执行所有可能穿过程序控制流程的路径。
2.语句覆盖:至少执行所有语句一次
3.分支覆盖:至少将程序中的每一个分支执行一次
4.条件覆盖:所有可能的条件取值,包括正反两面,要至少执行一次
5.条件组合覆盖:所有可能的条件取值组合,至少执行一次

19.程序流程图的主要优点和缺点:

主要优点是:对控制流程的描绘很直观,便于初学者掌握;
主要缺点是:不是一种逐步求精的工具;所表达的控制流,往往不受任何约束可随意转移,从而会影响甚至破坏好的系统结构设计;不易表示数据结构。

20.简述选择软件生存周期模型(SLCM)的步骤

1.标识开发项目可用的SLCM;
2.标识那些会影响SLCM选择的属性;
3.表示为选择SLCM所需要的任何约束;
4.评估所选择的SLCM;
5.选择最能满足项目属性和约束的SLCM

  • 0
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值