1、简述软件工程过程的含义、目的以及包含的子过程。

2、数据字典的作用是什么,它有哪些条目?

3、简述结构化程序设计方法的基本要点。

4、简述原型的开发步骤。

5、什么是需求规约?简述需求规约的基本性质。

答:需求规约是一个软件项 / 产品/ 系统所有需求陈述的正式文档,它表达了一
个软件产品 / 系统的概念模型。需求规约一般需要满足一下 4 个基本性质:

  1. 重要性和稳定性程度:按需求的重要性和稳定性,对需求进行分级;
  2. 可修改性:在不影响其他需求的前提下可容易修改一个单一需求;
  3. 完整性:设备被遗漏的需求;
  4. 一致性:不存在互斥的需求。

6、什么是模块耦合?简述常用的模块耦合类型及其设计原则。

答:模块耦合:是指不同模块之间相互依赖程度的度量;
几中常见模块耦合类型为:内容耦合、公共耦合、控制耦合、标记耦合、数据
耦合等;
设计原则:如果模块间必须存在耦合,就尽量使用数据耦合,少用控制耦合,
限制公共耦合,避免内容耦合。

7、UML给出了那些表达关系的术语?简述它们的概念。

答:1. 为了表达各类事物之间的关系, UML给出了表达关系的术语:关联、泛
化、细化、依赖;
2. 关联是类目之间的一种结构关系,是对一组具有相同结构、相同链的描述;
3. 泛化是一般性类目和它的较为特殊类目之间的一种关系;
4. 细化是类目之间的语义关系,其中一个类目规约了保证另一个类目执行的契
约;
5. 依赖是一种使用关系,用于描述一个类目使用另一类目的信息和服务。

8、 简述 RUP的定义和特点。

答:RUP是基于一种过程框架,为软件开发,即为进行不同抽象层之间映射安
排其开发活动的次序,制定任务和需求开发的制品,提供了指导;并为对项目
中的制品和活动进行监督与度量,提供了相应的准则;
RUP特点是:以用况为驱动,以体系结构为中心,迭代、增量式开发。

9、简述软件测试步骤及关注的内容。

答:软件测试步骤及关注的内容有以下几点:

  1. 由于软件错误的复杂性,在软件工程测试中应综合运用测试技术,实施合理
    的测试步骤:单元测试、集成测试、有效性测试和系统测试;
  2. 单元测试关注每个独立的模块;
  3. 集成测试关注模块的组装;
  4. 有效性测试福按住检验是否符合用户所见的文档;
  5. 系统测试关注检验系统中所有元素之间的协作是否合适,整个系统的性能。
    功能是否达到。

10、简述瀑布模型以及可适应的情况。

答:1. 瀑布模型将软件生存周期的各项活动规定为按固定顺序而连接的若干阶
段工作,形如瀑布流水,最终得到软件产品; 2. 瀑布模型在支持结构化软件开
发的复杂性、促进软件开发工程化等方面起着很大作用; 3. 该模型适应的情况、
需求已被很好的理解,切开发组织非常熟悉为实现这一模型所需要的过程。

11、简述软件需求的分类及其关系。 (P23-24)

答:软件需求可以分为功能需求和非功能需求 2 大类;功能需求规定了系统及
构件必须执行的功能;非功能需求又可以分为性能需求、外部接口需求、设计
约束和质量属性需求。功能需求是整个软件需求的主体,没有工鞥需求就没有
性能、外部接口、设计约束和质量的需求;一个非功能需求可以用于 1 个功能
需求。

12、 什 么是模 块? 什么 是模 块内 聚 ?请列 出 从 低 到高 的常 见 内 聚 类型 。

答:模块是执行一个特殊任务的过程以及相关的数据结构。内聚是指一个模块
内部各个成分之间相互关联程度的度量。从低到高的内聚类型:偶然内聚;逻
辑内聚;时间内聚;过程内聚;通信内聚;顺序内聚;功能内聚。

13、 什 么是状 态? 什么 是状 态图 ? 简述实 际 应 用 中只 用状 态 图 的 作用 。

答:状态是类目的一个实例在其生存中的一种条件或情况;期间该实例满足这
一条件,就执行某一活动或等待一个消息。状态图是现实状态机的图,强调从
一个状态到另一个状态的控制流。从实际使用中状态图的作用:创建一个系统
的动态图和创建一个场景的模型。

14、简述 RUP中需求获取的基本步骤和相关制品。

答:需求获取的步骤和相关制品:

  1. 列出候选的特征,相关制品是特征表;
  2. 理解系统语境,相关制品是领域模型或业务模型;
  3. 捕获系统功能需求,相关制品是用况模型;
  4. 捕获非功能需求,相关制品是补充的需求过针对特殊需求的用况。

15、 简述黑盒测试技术的要点。

答:黑盒测试技术的要点:

  1. 支持测试工程模型的中间部分;
  2. 事务流测试技术是将路径测试技术用于功能测试的产物, 是一种实用的功能
    测试技术,通过事务的操作逻辑发现软件中的错误;
  3. 事务流测试技术是基于软件规约的, 对错误的假定是软件通过了与预想不同
    的事务路径;
  4. 基于事务的基本操作; 事务流测试技术的最大问题和最大代价是获取事务流
    程图及用例设计;
  5. 事务处理流程测试要达到基本的测试覆盖。

16、 简述增量模型以及可适应的情况。

答:增量模型意指需求可以机构化分组,形成一个个增量,并形成一个结构,
之后对每一个增量进行瀑布开发。用增量模型开发的前提是需求的节后花,模
型适合“技术驱动”的软件产品开发。

17、简述需求的基本性质。

答:需求的基本性质:

  1. 必要性,该需求是用户所要求的;
  2. 无歧义性,该需求只能用一种方式解释;
  3. 可测性,该需求是可进行测试的;
  4. 可跟踪性,该需求可从一个开发阶段跟踪到另一个阶段;
  5. 可测量性,该需求是可测量的;

18、简述在进行软件系统 / 产品的需求工作中所面临的挑战和应对方法。

答:面临的挑战:

  1. 问题空间解释;
  2. 人与人之间的通信;
  3. 需求的变化性;
    应对方法:为了应对三大挑战, 提出了系列软件开发方法, 面向数据结构方法,
    面向对象方法等。

19、什么是类?什么是对象?什么是类的构成成分?

答:类:类是一组具有相同属性、操作、关系和语义的对象的描述;
对象:对象是类的一个实例;
类的构成成分:类名、属性、操作。

20、什么是 RUP?它有什么特点?

答:RUP:即统一软件开发过程,它是基于 UML的一种过程框架,为软件开发,
即为进行不同抽象层之间映射安排其开发活动的次序,制定任务和需要开发的
制品,提供了指导; 并为对项目; 并为对项目中的制品和活动进行监控与度量,
提供了相应的准则;
RUP的特点是: 1. 以用况为驱动; 2. 以体系结构为中心; 3. 迭代、增量式开发。

21、 简述人们关于软件测试目的的认识所经历的几个阶段。

答:软件测试的几个阶段:

  1. 第一阶段认为软件测试和软件调试没有什么区别;
  2. 第二阶段认为测试是为了表明软件能正常工作;
  3. 第三阶段认为测试是为了表明不能正常工作;
  4. 第四阶段认为测试仅是为了将已察觉的错误风险减少到一个可接受的程度;
  5. 第五阶段认为测试不仅仅是一种行为,而是一种理念,即测试是产生低风险

22、36. 简述喷泉模型以及可适应的情况。

答:喷泉模型以及可适应的情况有以下几点:

  1. 喷泉模型体现了软件创建所固有的迭代和无间隙的特征;
  2. 喷泉模型说明了软件活动需要多次重复;
  3. 喷泉模型还说明活动之间没有明显的间隙;
  4. 该模型主要适应于面向对象技术的软件开发。

23、 通过长期的软件开发实践,人们总结出了哪些模块设计的启发式规则?

答:通过长期的软件开发实践,总结出了实现模块“高内聚低耦合”的启发式
规则:

  1. 改进软件结构,提高模块独立性;
  2. 力求模块规模适中;
  3. 力求深度、宽度、扇出和扇入适中;
  4. 尽力使模块的作用域在其控制域之内;
  5. 尽力降低模块接口的复杂度;
  6. 力求模块功能可以预测

24、 什么是类?什么是对象?简述类在建模中的主要用途。

答:类是一组具有相同属性、操作、关系和语义的对象的描述。对象是类的一
个实例。类在建模中的主要用途:

  1. 模型化问题域中的概念。使抽象模型中的概念模型转化为系统模型中的类;
  2. 建立系统职责分布模型;
  3. 模型化建模中使用的基本类型。

25、简述软件测试和软件调试之间的区别。

答:软件测试和软件调试之间的区别有如下几点:

  1. 测试从一个侧面证明程序员的“失败” ,调试是为了说明程序员的正确;
  2. 测试已知条件开始,使用预先定义的程序且有预知的结果,不可预见的仅是
    程序是否通过。调试是以不可知的内部条件开始,除统计性调试外、结果不
    可预见的;
  3. 测试是有计划的,并要进行测试设计。调试不受时间约束的;
  4. 测试是一个发现错误、改正错误、重新测试的过程,调试是一个推理过程;
  5. 测试执行时是有规程的。调试的执行往往要求程序员进行必要的推理;
  6. 测试经常是独立测试组在不了解软件设计的条件下完成的。 调试必须有了解
    详细设计的程序员完成;
  7. 大多数测试的执行和设计可有工具支持。调试时,程序员能利用的工具主要
    是调试器。

26、 简述演化模型以及可适应的情况。

答:演化模型表达了一种弹性的过程模式,由一些小的开发步组成的,每一步
经历需求分析、 设计、实现和验证, 产生软件产品的一个增量。 通过这些迭代,
最终完成软件产品的开发。可适应的情况:只要针对事先不能完整定义的软件
开发的。

27、简述初始需求发现的常用技术。

答:初始需求发现的常用技术有以下几点:

  1. 自悟:需求人员把自己作为系统的最终用户,审视该系统并提出问题;
  2. 交谈:为了确定系统应该提供的功能,需求人员通过问答方式,直接询问用
    户需求的是一个什么样的系统;
  3. 观察:通过观察用户执行其现行的任务和过程,了解系统运行的环境,特别
    是了解要建立的新系统与现存系统、过程及工作方法间必须进行的交互;
  4. 小组会:举行客户和开发人员的联席会议,与客户代表共同开发需求;
  5. 提炼:复审技术文档,并提取相关的信息。

28、 什么是用况 (Use Case)?什么是用况图?一个用况图通常包含哪些模型元

素?
答:用况( Use Case):从外延上说它表达了参与者使用系统的一种方式,从内
涵上说它规约了系统可以执行的一个动作序列, 并对特定的参与者产生可见的、
有值的结果;
用况图:是一种表达系统功能模型的图形化工具;
一个用况图通常包含的模型元素是: 主题、用况、参与者、 关联、泛化、依赖。

29、简述白盒测试技术的要点。

答:白盒测试技术,又称为结构化测试技术,它依据程序的逻辑结构,以控制
流程图作为被测对象建模工具;
典型的是路径测试技术,路径测试大致有语句覆盖、分支覆盖、条件组合覆盖
和路径覆盖等测试策略;
这几种不同的测试策略之间具有偏序关系,即路径覆盖的测试度量最强,而语
句覆盖最低。

30、简述螺旋模型以及可适应的情况。

答:螺旋模型以及可适应的情况分为以下几点:

  1. 螺旋模型是在瀑布模型和演化模型的基础上, 加入两者所忽略的风险分析所
    建立的一种软件开发模型;
  2. 螺旋模型沿着螺旋线,经历制定计划,风险分析,实施工程,客户评估等 4
    个方面的活动,自内向外每旋转一圈便产生一个更为完整的新版本;
  3. 该模型适应的情况:项目的开发风险很大或客户不能确定系统需求。

31、简述需求的概念和基本性质。

答:软件需求以一种技术形成, 描述了一个产品 / 系统应该具有的功能、 性能和
其它性质。
需求的基本性质有以下 5 点:

  1. 必须的,该需求是用户所要求的;
  2. 无歧义的,该需求只能用一种方式解释;
  3. 可测的,该需求是可进行测试的;
  4. 可跟踪的,该需求可从一个开发阶段跟踪到另一个阶段;
  5. 可测量的,该需求是可测量的。

32、简述以结构化分析方法建立系统功能模型的建模工具和建模过程。

答:工具:DFD,数据流图是一种描述数据变换的图形化工具, 其中包含的元素
可以是数据流,数据存储,加工,数据源和数据潭。
过程有以下 4 点:

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

33、简述顺序图的概念、构成和主要作用。

答:顺序图的概念:用来描述为了完成确定事务、对象之间按照时间消息交互
的顺序关系;
欢迎阅读
页脚内容
顺序图的构成:顺序图是一种交互图,即由一组对象以及按时序组织的对象之
间的关系组成,其中还包括哲学对象之间所发送的消息。
顺序图的主要作用:顺序图作为一种描述在给定语境中消息是如何在对象间传
递的图形化方式,在使用起进行建模时。

34、简述增量模型的优缺点。

答:优点有以下 3 点:

  1. 第一个可交付版本所需要的成本和时间是较少的, 从而可减少开发由增量表
    示的小系统承担的风险;
  2. 由于很快分布的第一个版本,因此可以减少用户需求的变更;
  3. 允许增量投资,即在项目开始时可以仅对一个或两个增量投资;
    缺点有以下 3 点:
  4. 如果没有对用户的变更要求进行规划, 那么产生的初始增量可能会造成够来
    增量的不稳定;
  5. 如果需求不像早期思考的那样稳定和完整, 那么一些增量就可能需要重新开
    发,重新发布;
  6. 由于进度和配置的复杂性,可能会增大管理成本,超出组织的能力。

35、简述 CMMI模型支持的两种过程改善路径。

答:能力等级是一个过程改善路径,该路径可是组织针对单一过程域不断改善
该过程域、成熟度等级也是一种过程改善路径,该路径可使组通过关注一组过
程域不断改善一组相关的过程域。

36、简述需求的概念和基本性质。

答:软件需求以一种技术形成, 描述了一个产品 / 系统应该具有的功能、 性能和
其它性质。需求的基本性质:

  1. 必要的,该需求是用户所要求的;
  2. 无歧义的,该需求只能用一种方式解释;
  3. 可测的,该需求是可进行测试的;
  4. 可跟踪的,该需求可从一个开发阶段跟踪到另一个阶段;
  5. 可测量的,该需求是可测量的。

37、简述以结构化分析方法建立系统功能模型的建模工具和建模过程。

答:建模工具: DFD,数据流图是一种描述数据变换的图形化工具, 其中包含的
元素可以是数据流,数据存储,加工,数据源和数据潭。
建模过程:

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

38、简述顺序图的概念、构成和主要作用。

答:顺序图的概念:用来描述为了完成确定事务、对象之间按照时间消息交互
的顺序关系;
顺序图的构成:顺序图是一种交互图,即由一组对象以及按时序组织的对象之
间的关系组成,其中还包括这些对象之间所发送的消息;
顺序图的作用:顺序图作为一种描述在给定语境中消息是如何在对象间传递的
图形化方式,在使用其进行建模时。

39、 简述增量模型的优缺点。

答:增量模型的优点:

  1. 第一个可交付版本所需要的成本和时间是较少的, 从而可减少开发由增量表
    示的笑系统承担的风险;
  2. 由于很快发布的第一个版本,因此可以减少用户需求的变更;
  3. 允许增量投资,即在项目开始是可以仅对一个或两个增量投资;
    增量模型的缺点:
  4. 如果没有对用户的变更妖气进行规划, 那么产生的初始增量可能会造成后来
    增量的不稳定;
  5. 如果需求不像早期思考的那样稳定和完整, 那么一些增量就可能需要重新开
    发,重新发布;
  6. 由于进度和配置的复杂性,可能会增大管理成本,超出组织的能力。

40、简述 CMMI模型支持的两种过程改善路径。

答:能力等级是一个过程改善路径,该路径可是组织针对单一过程域不断改善
该过程域、成熟度等级也是一种过程改善路径,该路径可使组通过关注一组过
程域不断改善一组相关的过程域。

简述 CMMI提出所基于的基本思想。 (P282)

答:该模型基于过程途径思想,通过过程把软件质量的 3 个支撑点——受训的
人员、规程和方法、工具和设备进行集成,以开发所期望的系统 / 产品。为此,
CMMI紧紧围绕开发、 维护和运行, 把经过证明的 “最佳实践” 放在一个结构中。

简述 CMMI成熟度等级的概念、划分和组成。 (考纲解析 P104-105)

答:成熟度等级是指达到预先定义的一组过程域所有目标的一种过程改善等级。
在 CMMI中,应用于一个组织过程改善的成熟度等级有 5 个:

  1. 1 级:初始级;
  2. 2 级:以管理级;
  3. 3 级:以定义级;
  4. 4 级:以定量管理级;
  5. 5 级:持续优化级

41、简述何谓系统模型以及软件开发中所涉及的系统模型分类。 (P19)

答:所谓系统建模,是指运用所掌握的知识,通过抽象,给出该系统的一个结
构——系统模型。系统模型分为两大类,一类称为概念模型,描述了系统是什
么;另一类统称为软件模型,描述了实现概念模型的软件解决方案。

42、简述需求规约的定义,并写出需求规约满足的基本性质。 (P28)

答:需求规约是一个软件项 / 产品/ 系统所有需求陈述的正式文档,它表达了一
个软件产品 / 系统的概念模型。
需求规约一般需要满足一下 4 个基本性质:

  1. 重要性和稳定性程度:按需求的重要性和稳定性,对需求进行分级;
  2. 可修改的:在不过多地影响其他需求的前提下,可以容易地修改一个单一需
    求;
  3. 完整的:没有被遗漏的需求;
  4. 一致的:不存在互斥的需求。

43、简述结构化方法总体设计的任务、步骤和模式。 ( 考纲解析 P25)

答:总体设计的任务是把系统的工鞥需求分配到一个特定的软件体系结构中。
变换设计的基本步骤如下:

  1. 设计准备——复审并精化系统模型;
  2. 确定输入、变换、输出这三部分之间的边界;
  3. 第一级分解——系统模块结构图顶层和第一层的设计;
  4. 第二级分解——自顶向下,逐步求精;
    事务设计的基本步骤如下:
  5. 设计准备——复审并精化系统模型;
  6. 确定事务处理中心;
  7. 第一级分解——系统模块结构图顶层和第一层的设计;
  8. “第二级分解”——自顶向下,逐步求精。

44、简述软件开发的本质。 (P17/19)

答:软件开发的本质,即实现问题空间的概念和处理逻辑到解空间的概念和处
理逻辑之间的映射。

45、 简述常用的初始需求发现技术。 (P26)

答:初始发现需求的常用技术包括以下几个:

  1. 自悟。需求人员把自己作为系统的最终用户,审视该系统并提出问题;
  2. 交谈。为了确定系统应该提供的功能,需求人员通过提出问题 / 用户回答这
    一方式,直接询问用户需要的是一个什么样的系统;
  3. 观察。通过观察用户执行其现行的任务和过程,或通过观察他们如何操作与
    所期望的新系统有关的现有系统,了解系统运行的环境,特别是了解要建立
    的新系统与现存系统、过程以及工作方法之间必须进行的交互;
  4. 小组会。举行客户和开发人员的联席会议,与客户组织的一些代表共同开发
    需求。其中: 1) 通常是由开发组织的一个代表作为手洗需求工程师或软件工
    程项目经理,主持这一会议; 2) 必须自习地选择该小组的成员,不仅要考虑
    他们对目前和未来运行环境的理解程度,还要考虑他们的人品;
  5. 提炼。复审技术文档,并提出相关的信息。

46、什么是需求规约?简述需求规约的基本性质。

答:需求规约是一个软件项 /产品 /系统所有需求陈述的正式文档,
它表达了一个软件产品 /系统的概念模型。需求规约一般需要满
足一下 4 个基本性质:

  1. 重要性和稳定性程度:按需求的重要性和稳定性,对需求进
    行分级;
  2. 可修改性:在不影响其他需求的前提下可容易修改一个单一
    需求;
  3. 完整性:设备被遗漏的需求;
  4. 一致性:不存在互斥的需求。

47、什么是模块耦合?简述常用的模块耦合类型及其设计原则。

答:模块耦合:是指不同模块之间相互依赖程度的度量;
几中常见模块耦合类型为:内容耦合、公共耦合、控制耦合、标
记耦合、数据耦合等;
设计原则:如果模块间必须存在耦合,就尽量使用数据耦合,少
用控制耦合,限制公共耦合,避免内容耦合。

48、UML 给出了那些表达关系的术语?简述它们的概念。

答:1.为了表达各类事物之间的关系, UML 给出了表达关系的术
语:关联、泛化、细化、依赖;
2.关联是类目之间的一种结构关系,是对一组具有相同结构、相
同链的描述;
3.泛化是一般性类目和它的较为特殊类目之间的一种关系;
4.细化是类目之间的语义关系,其中一个类目规约了保证另一个
类目执行的契约;
5.依赖是一种使用关系,用于描述一个类目使用另一类目的信息
和服务。

49、简述 RUP的定义和特点。

答:RUP是基于一种过程框架,为软件开发,即为进行不同抽象
层之间映射安排其开发活动的次序, 制定任务和需求开发的制品,
提供了指导; 并为对项目中的制品和活动进行监督与度量, 提供
了相应的准则;
RUP特点是:以用况为驱动,以体系结构为中心,迭代、增量式
开发。

50、简述软件测试步骤及关注的内容。

答:软件测试步骤及关注的内容有以下几点:

  1. 由于软件错误的复杂性,在软件工程测试中应综合运用测试
    技术,实施合理的测试步骤:单元测试、集成测试、有效性
    测试和系统测试;
  2. 单元测试关注每个独立的模块;
  3. 集成测试关注模块的组装;
  4. 有效性测试福按住检验是否符合用户所见的文档;
  5. 系统测试关注检验系统中所有元素之间的协作是否合适,整
    个系统的性能。功能是否达到。

51、简述瀑布模型以及可适应的情况。

答:1.瀑布模型将软件生存周期的各项活动规定为按固定顺序而
连接的若干阶段工作,形如瀑布流水,最终得到软件产品; 2.瀑
布模型在支持结构化软件开发的复杂性、 促进软件开发工程化等
方面起着很大作用; 3.该模型适应的情况、 需求已被很好的理解,
切开发组织非常熟悉为实现这一模型所需要的过程。

52、简述软件需求的分类及其关系。 (P23-24)

答:软件需求可以分为功能需求和非功能需求 2 大类;功能需求
规定了系统及构件必须执行的功能; 非功能需求又可以分为性能
需求、外部接口需求、设计约束和质量属性需求。功能需求是整
个软件需求的主体,没有工鞥需求就没有性能、外部接口、设计
约束和质量的需求;一个非功能需求可以用于 1 个功能需求。

53、什么是模块?什么是模块内聚?请列出从低到高的常见内聚

类型。 (P56,57,58,59)
答:模块是执行一个特殊任务的过程以及相关的数据结构。 内聚
是指一个模块内部各个成分之间相互关联程度的度量。 从低到高
的内聚类型:偶然内聚;逻辑内聚;时间内聚;过程内聚;通信
内聚;顺序内聚;功能内聚。

54、什么是状态?什么是状态图?简述实际应用中只用状态图的

作用。 (P107-108-113)
答:状态是类目的一个实例在其生存中的一种条件或情况; 期间
该实例满足这一条件, 就执行某一活动或等待一个消息。 状态图
是现实状态机的图, 强调从一个状态到另一个状态的控制流。 从
实际使用中状态图的作用: 创建一个系统的动态图和创建一个场
景的模型。

简述需求的基本性质。

答:需求的基本性质:

  1. 必要性,该需求是用户所要求的;
  2. 无歧义性,该需求只能用一种方式解释;
  3. 可测性,该需求是可进行测试的;
  4. 可跟踪性,该需求可从一个开发阶段跟踪到另一个阶段;
  5. 可测量性,该需求是可测量的;

56、简述在进行软件系统 /产品的需求工作中所面临的挑战和应对

方法。
答:面临的挑战:

  1. 问题空间解释;
  2. 人与人之间的通信;
  3. 需求的变化性;
    应对方法:为了应对三大挑战,提出了系列软件开发方法,面向
    数据结构方法,面向对象方法等。

57、什么是类?什么是对象?什么是类的构成成分?

答:类:类是一组具有相同属性、操作、关系和语义的对象的描
述;
对象:对象是类的一个实例;
类的构成成分:类名、属性、操作。

什么是类?什么是对象?简述类在建模中的主要用途。

答:类是一组具有相同属性、操作、关系和语义的对象的描述。
对象是类的一个实例。类在建模中的主要用途:

  1. 模型化问题域中的概念。使抽象模型中的概念模型转化为系
    统模型中的类;
  2. 建立系统职责分布模型;
  3. 模型化建模中使用的基本类型

58、简述人们关于软件测试目的的认识所经历的几个阶段。

答:软件测试的几个阶段:

  1. 第一阶段认为软件测试和软件调试没有什么区别;
  2. 第二阶段认为测试是为了表明软件能正常工作;
  3. 第三阶段认为测试是为了表明不能正常工作;
  4. 第四阶段认为测试仅是为了将已察觉的错误风险减少到一个
    可接受的程度;
  5. 第五阶段认为测试不仅仅是一种行为,而是一种理念,即测
    试是产生低风险软件的一种训练。

59、简述喷泉模型以及可适应的情况。

答:喷泉模型以及可适应的情况有以下几点:

  1. 喷泉模型体现了软件创建所固有的迭代和无间隙的特征;
  2. 喷泉模型说明了软件活动需要多次重复;
  3. 喷泉模型还说明活动之间没有明显的间隙;
  4. 该模型主要适应于面向对象技术的软件开发。

60、什么是需求规约?简述需求规约的作用。

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

  1. 需求规约是软件开发组织和用户之间一份事实上的技术合同
    书,是产品功能及其环境的体现;
  2. 对于项目的其余大多数工作,需求规约是一个管理控制点;
  3. 对于产品 /系统的设计,需求规约是一个正式的、受控的起始
    点;
  4. 需求毁约是创建产品验收测试计划和用户指南的基础。

61、通过长期的软件开发实践,人们总结出了哪些模块设计的启

发式规则?
答:通过长期的软件开发实践,总结出了实现模块“高内聚低耦
合”的启发式规则:

  1. 改进软件结构,提高模块独立性;
  2. 力求模块规模适中;
  3. 力求深度、宽度、扇出和扇入适中;
  4. 尽力使模块的作用域在其控制域之内;
  5. 尽力降低模块接口的复杂度;
  6. 力求模块功能可以预测。

62、什么是用况 (Use Case)?什么是用况图?一个用况图通常包

含哪些模型元素?
答:用况(Use Case):从外延上说它表达了参与者使用系统的一
种方式, 从内涵上说它规约了系统可以执行的一个动作序列, 并
对特定的参与者产生可见的、有值的结果;
用况图:是一种表达系统功能模型的图形化工具;
一个用况图通常包含的模型元素是: 主题、用况、参与者、关联、
泛化、依赖。

63、简述螺旋模型以及可适应的情况。

答:螺旋模型以及可适应的情况分为以下几点:

  1. 螺旋模型是在瀑布模型和演化模型的基础上,加入两者所忽
    略的风险分析所建立的一种软件开发模型;
  2. 螺旋模型沿着螺旋线, 经历制定计划, 风险分析, 实施工程,
    客户评估等 4 个方面的活动,自内向外每旋转一圈便产生一
    个更为完整的新版本;
  3. 该模型适应的情况:项目的开发风险很大或客户不能确定系
    统需求。

64、述需求的概念和基本性质。

答:软件需求以一种技术形成,描述了一个产品 /系统应该具有
的功能、性能和其它性质。
需求的基本性质有以下 5 点:

  1. 必须的,该需求是用户所要求的;
  2. 无歧义的,该需求只能用一种方式解释;
  3. 可测的,该需求是可进行测试的;
  4. 可跟踪的,该需求可从一个开发阶段跟踪到另一个阶段;
  5. 可测量的,该需求是可测量的。

65、简述增量模型的优缺点。

答:优点有以下 3 点:

  1. 第一个可交付版本所需要的成本和时间是较少的,从而可减
    少开发由增量表示的小系统承担的风险;
  2. 由于很快分布的第一个版本,因此可以减少用户需求的变更;
  3. 允许增量投资,即在项目开始时可以仅对一个或两个增量投
    资;
    缺点有以下 3 点:
  4. 如果没有对用户的变更要求进行规划,那么产生的初始增量
    可能会造成够来增量的不稳定;
  5. 如果需求不像早期思考的那样稳定和完整,那么一些增量就
    可能需要重新开发,重新发布;
  6. 由于进度和配置的复杂性,可能会增大管理成本,超出组织
    的能力。

66、软件维护有哪些内容?

a、校正性维护 b、适应性维护 c、完善性维护 d、预防性维护

67、软件维护的特点是什么?

a、非结构化维护和结构化维护
b、维护的困难性
c、软件强维护的费用

68、软件维护的流程是什么?

a、制定申请维护报告 b、审查申请报告并批准 c、进行维护并作详细记录 d、覆审

69、什么是软件的可维护性?可维护性的度量的特性是什么?

软件的可维护性:软件能够被理解、校正、适应及增强功能的容易程度。
可维护性的度量的特性是:可理解性、可测试性、可修改性、可靠性、可移植性、可使用性
和效率。

70、.提高可维护性的方法有哪些?

A、建立明确的软件质量目标。 B、利用先进的软件开发技术和工具。
C、建立明确的质量保证工作。 D、选择可维护的程序设计语言。
E、改进程序文档。

71、软件生命期各阶段的任务是什么?

答:软件生命期分为 7 个阶段: 1)问题定义:确定要解决的问题是什么; 2)可行性研
究:确定问题是否值得解,技术可行性、经济可行性、操作可行性; 3) 需求分析:确
定该系统必须做什么; 4)总体设计:确定系统如何实现,包括系统设计和结构设计;
5)详细设计:具体实现设计的系统; 6) 实现:编码和测试; 7)运行维护:保证软件正
常运行。

72、如何理解模块独立性?用什么指标来衡量模块独立性?

答:模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。
模块的独立性很重要:第一,有效的模块化(即具有独立的模块)的软件比较容
易开发出来。第二,独立的模块比较容易测试和维护。 模块的独立程度可以由两个
定性标准度量,分别是内聚和耦合。内聚衡量一个模块内部各个元素彼此结合的紧密
程度;耦合衡量不同模块彼此之间互相依赖(连接)的紧密程度。

73、软件重用的效益是什么?

答:1) 软件重用可以显着地改善软件的质量和可靠性; 2) 软件重用可以极大地提
高软件开发的效率; 3) 节省软件开发的成本,避免不必要的重复劳动和人力、财
力的浪费。

74、简述建模过程及步骤?

答:为了支持系统地使用信息来创建系统功能模型,结构化分析方法给出了建模的基
本步骤,该过程属于“自顶向下,功能分解”形式。 1. 建立系统环境图,确定系统语
境;2. 自顶向下,逐步求精,建立系统的层次数据流图; 3. 定义数据字典; 4. 描述加
工。

75、软件重用的效益是什么?

答:1) 软件重用可以显着地改善软件的质量和可靠性; 2) 软件重用可以极大地提
高软件开发的效率; 3) 节省软件开发的成本,避免不必要的重复劳动和人力、财
力的浪费。

76、需求规约的作用是什么?

答:需求规约的作用可概括为以下 4 点:1)需求规约是软件开发组织和用户之间一
份事实上的技术合同书,是产品功能及其环境的体现。 2)对于项目的其余大多数工
作, 需求规约是一个管理控制点; 3)对于产品 / 系统的设计,需求规约是一个正式
的、受控的起始点; 4)需求规约是创建产品验收测试计划和用户指南的基础。

77、软件质量与软件质量保证的含义是什么?

答:软件质量定义为:与所确定的功能和性能需求的一致性;与所成文的开发标准一
致性;与所有专业开发的软件所期望的隐含特性的一致性。而软件质量保证就是向用
户及社会提供满意的高质量的产品,确保软件产品从诞生到消亡为止的所有阶段的质
量的活动,即确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理
活动。

78、、一个良好的设计类需要满足四个特点,请详细描述这四个特点?

答:一个良好的设计类需要满足四个特点:
1)完整性和充分性: 2 )原始性; 3 )高内聚性; 4 )低耦合性。

79、、简述模块独立性的原则。

答:模块独立性是指软件系统中每个模块只涉及软件要求的具体子功能,而和软件系
统中其他的模块接口是简单的,模块独立性的概念是模块化、抽象、信息隐蔽和局部
话概念的直接结果,由耦合和内聚 2 个标准度量。

80、简述文档在软件工程中的作用。

答:文档在软件工程中的作用如下: 1、提高软件开发过程的能见度; 2、实现对软件
开发的工程管理; 3、提高开发效率; 4、作为开发人员在一定阶段的工作成果和结束
标志;5、提供软件运行、维护和培训有关资料; 6、记录开发过程中有关信息便于协
调以后的软件开发使用和维护; 7、便于用户了解软件功能、性能。

81、衡量模块独立的两个标准是什么?它们各表示什么含义?

答:两个定性的度量标准:耦合与内聚性。
耦合性指软件系统结构中各模块间相互联系紧密程度的一种度量,模块之间联系
越紧密,其耦合性就越强,模块的独立性则越差。
内聚性指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度
的度量,模块内元素联系越紧密,内聚性越高。

82、什么是软件危机?其产生的原因是什么?

答:当软件开发技术跟不上硬件技术的进步,不能满足开发的要求时,导致软件开发
中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,从而导致了
软件危机。
原因:软件的规模越来越大,结构越来越复杂;软件开发管理困难且复杂;软件
开发费

83、简述软件产品的特性。

84、简述软件开发的本质及基本途径。

1、软件开发的本质可概括为:实现问题空间的概念;
2、和处理逻辑到解空间的概念;
3、和处理逻辑之间的映射;
4、实现这一映射的基本途径是系统建模

85、简述结构化分析建模的基本步骤。

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

86、简述 RUP中用况模型和分析模型的区别。

1、前者使用客户端语言来描述,后者使用开发语言来描述;
2、前者给出的是系统对外的视图,后者给出的是系统对内的视图;
3、前者使用用况给予结构化,后者使用衍型类给予结构化;
4、前者可以作为客户和开发者之间的契约,后者可以作为开发者理解系统的基础;
5、前者在需求之间可能存在冗余问题,后者不存在冗余问题;
6、前者捕获的是系统功能,后者给出的是细化的系统功能;
7、前者定义了一些需要在分析模型中给予分析的用况,后者定义了用况模块中每个用况的细化;

87、35.简述泛化的概念及其约束。

1、泛化是一般性类目和它的的较为特殊性目(子类)之间的一种关系,是"is-a-kind-of" 关系,UML给出以下4个约束;
2、完整
3、不完整
4、互斥
5、重叠

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

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

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

1、软件生存周期过程回答软件开发需要做哪些工作;
2、软件生存周期模型回答软件开发活动或任务如何组织;
3、软件项目过程管理回答软件过程如何管理;
4、软件生存周期过程是软件生存周期模型和软件项目过程管理的基础;
5、软件生存周期模型为软件项目过程管理提供支持;

90、请用白盒测试法对题 39 图所对应的程序流程图进行测试。 要求从题 39 表给出的候选答

案中分别找出满足语句覆盖、 分支覆盖、 条件覆盖、 条件组合覆盖和路径覆盖 5 种覆盖标准
所需的最少测试用例。
1、语句覆盖
2、分支覆盖
3、条件覆盖
4、条件组合覆盖
5、路径覆盖

91、简述软件工程面临的问题。

答:内容:
①软件开发技术
②软件开发管理
面临的主要问题:
①软件费用
②软件可靠性
③软件维护
④软件生产率
⑤软件重用

92、简述可行性研究报告包含的主要内容。

1 技术可行性:对要开发项目的功能、性能、限制条件进行分析,确定在现有的资源条件下,技术风险有多大,项目是否能
实现。包括:开发的风险;资源的有效性;技术;开发人员在评估技术可行性时,一旦估计错误,将会出现灾难性后果。
2 经济可行性:包括成本 ―― 效果分析、公司经营长期策略、开发所需的成本和资源、潜在的市场前景。
3 社会可行性包括:合同、责任、侵权、用户组织的管理模式及规范,其他一些技术人员常常不了解的陷阱等。

93、简述快速原型的开发步骤。

答:快速原型开发步骤可划分下列阶段:
(1)快速分析:迅速确定基本需求、集中力量确定需求说明。
(2)快速构造原型:在快速分析基础上,在强有力的软件工具支持下,快速构造所需原型。
(3)运行原型:在开发者指导下,用户参与原型的运行,各类人员在共同运行原型中进一步加深对系统的了解及相互间的
理解,以发现各种问题。
(4)评价原型;在运行基础上,根据原型目标,考核原型的特性,分析原型效果是否满足用户需求,提出修改意见。
(5)修改原型:在评价基础上进行修改。若不满足需求说明,则根据明确的需求修改原型。若不满足用户需求,则先修改
并明确用户需求,再重新构造原型。

94、简述选择软件生存周期模型 (SLCM)的步骤。

(p228)
选择一个适合项目的生存周期模型的步骤可
概括为:
第一步:标识开发项目可用的 SLCM。其中应
考虑组织中可用的支持 SLCM的管理系统和工具。
第二部:在所期望的最终系统和开发环境中,
标识那些会影响 SLCM选择的属性。
第三部:标识为选择生存周期自考包过 q 模型
所需要的任何约束, 包括外部约束的或是内部的。
第四部:基于以往的经验和组织能力, 评估第
一步所选择的那几个 SLCM。

95、简述模块的控制域和作用域的概念以及她们的启发式原则。 (p61)

模块的控制域是指这个模块本身以及所有直接或间接从属于它的模块的集合。
模块的作用域是指受该模块内一个判定所影响的所有模块的集合。尽力使模块的作用域在其控制域之内。

96、简述提高软件考维护性的方法。

1、建立明确的软件质量目标
2、利用先进的软件开发技术和工具
3、建立明确的质量保证工作
4、选择可维护性的程序设计语言
5、改进程序文档

97、简述结构化程序设计的基本要点

答 :(1)、设计软件系统结构(简称软件结构)
a、采用某种设计方法,将一个复杂的系统按功能划分成模块(划分)
b、确定模块的功能 。(功能)
c、确定模块之间的调用关系(调用)
d、确定模块之间的接口,即模块之间传递的信息。(接口)
e、评价模块结构的质量(质量)
(2)、数据结构及数据库设计
a、数据结构设计
b、数据库设计:(概念设计、逻辑设计、物理设计)
(3)、编写概要设计文档(文档主要有:概要设计说明书、数据库设计说明书、用户手册、修订测试计划)
(4)、评审

98、如何理解模块独立性?用什么指标来衡量模块独立性?

答:模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。
模块的独立性很重要:第一,有效的模块化(即具有独立的模块)的软件比较容易开
发出来。第二,独立的模块比较容易测试和维护。 模块的独立程度可以由两个定性标准
度量,分别是内聚和耦合。内聚衡量一个模块内部各个元素彼此结合的紧密程度;耦合衡量不同模块彼此之间互相依赖(连接)的紧密程度。

99、软件重用的效益是什么?

答:1) 软件重用可以显着地改善软件的质量和可靠性; 2) 软件重用可以极大地提高软
件开发的效率; 3) 节省软件开发的成本, 避免不必要的重复劳动和人力、 财力的浪费。

100、需求规约的作用是什么?

答:需求规约的作用可概括为以下 4 点:
1)需求规约是软件开发组织和用户之间一份事实上的技术合同书,是产品功能及其环境的体现。
2)对于项目的其余大多数工作, 需求规约是一个管理控制点;
3)对于产品 / 系统的设计,需求规约是一个正式的、受控的起始点;
4)需求规约是创建产品验收测试计划和用户指南的基础。

101、简述模块独立性的原则。

答:模块独立性是指软件系统中每个模块只涉及软件要求的具体子功能,而和软件系统中其他的模块接口是简单的,模块独立性的概念是模块化、抽象、信息隐蔽和局部话概念的直接结果,由耦合和内聚 2 个标准度量。

102、简述软件开发的本质以及基本途径。

103、简述需求的基本性质。

1.必要的 2.无歧义的 3.可测 (试)的 4.可跟踪的 5.可测量的

104、简述结构化设计中的启发式规则。

105、为什么说“UML 是一种可视化的建模语言,而不是一种特定的软件开发方法学”

106、简述 RUP 中迭代增量式开发的概念以及规定的开发阶段。

107、简述控制流程图的概念、基本元素以及它与程序流程图的差异。

108、假设某信息管理系统的业务是:将学员发来的信件收集分类后,按以下情况处理。

(1)如果是报名请求,则将报名数据送给负责报名事务的职员,他们将查阅课程文件,检
查该课程是否额满,然后在学生文件、课程文件上登记,并开出报告单交财务部门,
财务人员开出发票给学生。
(2)如果是注销请求,则由注销人员在课程文件、学生文件和账目文件上做相应的修改,
并给学生注销单。
(3)如果是付款请求,则由财务人员在账目文件上登记,也给学生一张收费收据。
请画出该系统的数据流图,并指出其包含的元素。

109、简述需求的基本性质。

1.必要的 2.无歧义的 3.可测 (试)的 4.可跟踪的 5.可测量的

110、简述软件开发的本质以及基本途径。

111、简述结构化设计中的启发式规则。

112、简述控制流程图的概念、基本元素以及它与程序流程图的差异。

113、简述软件开发的本质。

( 1)软件开发的目标是将问题域中的概念映射为运行平台层面上的概
念,把问题域中的处理逻辑映射为运行平台层面上的处理逻辑;
(2)软件开发就是要弥补问题域与运行平台之间的距离, 从而在两者之
间直接进行映射;
(3)软件开发的本质概括为: 不同抽象层术语之间的映射, 以及不同抽
象层处理逻辑之间的映射。

114、简述常用的初始需求发现技术。

115、简述变换设计与事务设计的区别及联系。

116、简述 CMMI 成熟度等级的概念、划分和组成。

117、简述验证和确认的定义、作用和区别。

118、什么是需求规约 ?简述需求规约的基本性质。

119、简述快速原型的开发步骤。

答:快速原型开发步骤可划分下列阶段:
(1)快速分析:迅速确定基本需求、集中力量确定需求说明。
(2)快速构造原型:在快速分析基础上,在强有力的软件工具支持下,快速构造所需原型。
(3)运行原型:在开发者指导下,用户参与原型的运行,各类人员在共同运行原型中进一步加深对系统的了解及相互间的
理解,以发现各种问题。
(4)评价原型;在运行基础上,根据原型目标,考核原型的特性,分析原型效果是否满足用户需求,提出修改意见。
(5)修改原型:在评价基础上进行修改。若不满足需求说明,则根据明确的需求修改原型。若不满足用户需求,则先修改

120、软件生存周期可以分为几个阶段,每个阶段的提交物是什么?

(1)可行性研究和项目开发计划,提交项目开发计划
和可行性分析报告;
(2)需求分析,提交软件需求说明书;
(3)概要设计,提交概要设计说明书;
(4)详细设计,提交详细设计说明书;
(5)编码,提交源程序清单;
(6)测试,提交测试报告;
(7)维护,提交维护报告。

121、简述面向对象的特征。

(1)对象唯一性: 每个对象都有自身唯一的标识, 通
过这种标识,可以找到相应的对象。
(2)分类性:分类性是指将具有一致的数据结构 (属
性)和行为(操作)的对象抽象成类。
(3)继承性:继承性是子类自动共享父类数据结构
和方法的机制,这是类之间的一种关系。
(4)多态性:多态性是指相同的操作或函数、过程
作用于多种类型的对象上并获得不同的结果。不同
的对象收到同 一消息可以产生不同的结果。

122、简述黑盒测试技术的要点。 P186

答:黑盒测试技术的要点:
(1)支持测试工程模型的中间部分;
(2)事务流测试技术是将路径测试技术用于功能测试的产物,是一种实用的功能测试技术,通过事务的操
作逻辑发现软件中的错误;
(3)事务流测试技术是基于软件规约的,对错误的假定是软件通过了与预想不同的事务路径;
(4)基于事务的基本操作;事务流测试技术的最大问题和最大代价是获取事务流程图及用例设计;
(5)事务处理流程测试要达到基本的测试覆盖。

123、简述 RUP 中需求获取的基本步骤和相关制品。 P132

答:需求获取的步骤和相关制品:
第 1 步是列出候选的特征,相关制品是特征表;
第 2 步是理解系统语境,相关制品是领域模型或业务模型;
第 3 步是捕获系统功能需求,相关制品是用况模型( use case模型);
第 4 步是捕获非功能需求,相关制品是补充的需求或针对特殊需求的用况。

124、简述软件开发的本质。
答:软件开发的本质就是实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。

简述实施软件开发的基本途径。
答:实施软件开发的基本途径是系统建模。 所谓系统建模, 是指运用所掌
握的知识,通过抽象,给出该系统的一个结构——系统模型。

125、简述软件开发所涉及的两大类技术。

答:软件开发所涉及的两大类技术为:一是求解软件的开发逻辑,二是求解软件的开发手段。

126、简述需求与需求规约的基本性质。

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

127、需求规约的基本性质:

1 )重要性和稳定性程度:按需求的重要性和稳定性,对需求进行分级。
2 )可修改的:在不过多地影响其他需求的前提下,可以容易地修改一个单
一需求。
3)完整的:没有被遗漏的需求。
4)一致的:不存在互斥的需求。

128、简述软件需求的分类。

答:软件需求可以分为两大类:一类是功能需求,一类是非公能需求,而非公
能需求可分为性能需求,外部接口需求、设计约束和质量属性需求。

129、有哪几种常用的初始需求发现技术?
答:有 5 种常用的需求发现技术:自悟、交谈、观察、小组会和提炼。

130、简述需求规约的 3 种基本形式。

(1) 非形式化的需求规约。非形式化的需求规约即以一种自然语言来表达
需求规约,如同使用一种自然语言写了一篇文章。
(2) 半形式化的需求规约。 半形式化的需求规约即以半形式化符号体系 (包
括术语表、标准化的表达格式等)来表达需求规约。
(3)形式化的需求规约。 形式化的需求规约即以一种基于良构数学概念的符号体系来编制需求规约,一般往往伴有解释性注释的支持。

131、简述需求规约在项目开发中的基本作用。

答:需求规约的作用可概括为以下 4 点:
1)需求规约是软件开发组织和用户之间一份事实上的技术合同书,是产品功
能及其环境的体现。
2 )对于项目的其余大多数工作,需求规约是一个管理控制点。
3 )对于产品 / 系统的设计,需求规约是一个正式的、受控的起始点。
4 )需求规约是创建产品验收测试计划和用户指南的基础。

132、、简述需求规约和项目需求的不同。

答:需求规约和项目需求是两个不同的概念。 需求规约是软件开发组织和用户
之间一份事实上的技术合同书,即关注产品需求,回答“交付给客户的产品 / 系统是什么”;而项目需求是客户和开发者之间有关技术合同——产品 / 系统需求的理解,
应记录在工作陈述中或其他某一项目文档中,即关注项目工作与管理,回答“开发组要做的是什么”

133、 简述瀑布模型以及可适应的情况

瀑布模型将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到产品适应情况:需求已被很好的理解,并且开发组织非常熟悉为实现这一模型所需求的过程。

134、什么是验证和确认?简述它们的作用和区别

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

135、简述增量模型的优缺点

答:优点 1) 第一个可交付版本所需要的成本和时间是较少的,从而可减少开发由增量表示的小系统承担的风险
2) 由于很快发布第一个版本,因此可以减少用户需求的变更
3) 允许增量投资,即在项目开始时可以仅对一个或两个增量投资
缺点: 1) 如果没有对用户的变更要求进行规划,那么产生的初始增量可能会造成后来增量的不稳定
2) 如果需求不像早期思考的那样稳定和完整,那么一些增量就可能需要重新开发,重新发布
3) 由于进度和配置的复杂性,可能会增大管理成本,超出组织的能力

136、简述螺旋模型以及它与其它模型之间的主要区别

答:螺旋模型是瀑布模型与深化模型的基础上,加入两者所忽略的风险分析所建立
的一种软件开发模型螺旋模型关注解决问题的基本步骤,即标识问题,标识一些可选方案,选择一个最
佳方案,遵循动作步骤并实施后续工作,突出特征,在开发的迭代中实际上只有一
个迭代过程真正开发了可交付的软件
2) 与深化模型和增量模型相比, 同样使用了瀑布模型作为一个嵌入的过程, 即分析、设计、编码、实现和维护的过程,并且在框架和全局体系结构方面是等同的。但是,螺旋模型所关注的阶段以及它们的活动是不同的, 如增加一些管理活动和支持活动。尽管增量模型也有一些管理活动,但它基于以下假定:需求是最基本的、并且是唯
一的风险源,因而在螺旋模型中增大了决策和风险的空间,螺旋模型扩大了增量模型的管理范围。
如果项目的开发风险很大或客户不能确定系统需求,在更广泛的意义上来讲,还包括一个系统或系统类型的要求,这时螺旋模型就是一个好的生存周期模型

137、简述专用实践与共用实践关系

答:专用实践: 每一个过程域中都有一个或多个“专用实践” ,这些专用实践被认为对于达到该过程域的专用目标是重要活动,即期望以专用实践所描述的活动,会导致达到一个过程域的专用目标
共用实践: 每一个过程域中都有一个或多个“共用实践” ,这些共用实践被认为对于达到该过程域相关的共用目标是重要活动,例如,对共有目标“该过程予以制度化,使之成为一个已管理过程“而言,一个共用实践是”为该过程的执行、工作产品的开发以及该过程的服务,提供充足的资源“。之所以称为“共用实践“,是因为同一实践可应用于多个过程。

138、简述开发过程的专用目标与专用实践

答:专用目标 1:SG1 开发客户需求, 2 个专用实践
SP1.1 引出要求 SP1.2 开发客户需求
专用目标 2:SG2 开发产品需求, 3 个专用实践
SP2.1 建立产品和产品构件的需求 SP2.2 分配产品构件需求 SP2.3 标识接口需求专用目标 3:SG3 分析并验证需求 ,5 个专用实践
SP3.1 建立操作概念和场景 SP3.2 建立所需功能的定义 SP3.3 分析需求 SP3.4 分析需求,达到权衡 SP3.5 确认需求

139、软件产品的特性是什么?

a.软件产品是一种逻辑产品。

b.软件产品的生产主是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发完成后,复制就产生了大量软件产品。

c.软件产品不会用坏,不存在磨损、消耗问题。

d.软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,而且碰分是"定做"的。

e.软件费用不断增加,成本相当昂贵。

140、什么是软件工程?它的目标和内容是什么?

软件工程:用科学知识和技术原理来定义、开发、维护软件的一门学科。

软件工程的目标是成功的建造一个大型软件系统,所谓成功是要达到以下几个目标:

a.付出较低的开发成本;

b.面到要求的软件功能;
c.取得较好的软件性能;

d.开发的软件易于移植;

e.需要较低的维护费用;

f.能按时完成开发任务,及时交付使用;

g.开发的软件可靠性高;

141、软件工程的内容:

1)软件开发技术:软件开发方法、软件开发过程、软件开发工具和环境。

2)软件开发管理:软件管理学、软件经济学、软件心理学。

142、行性研究的任务是什么?

a.技术可行性:

考虑的因素(1).开发的风险(2)资源的有效性(3)技术(4)开发人员在主段技术可行性时,一旦估计错误,将会出现灾难性后果。

b.经济可行性。

c.社会可行性。

2、可行性研究有哪些步骤?

a.确定项目规模和目标

b.研究正在运行的系统

c.建立新系统的高层逻辑模型

d.导出和评价各种方案

e.推荐可行的方案

f.编写可行性研究报告

143、可行性研究报告有哪些就要内容?

a.引言

b.可行性研究前提

c.对现有系统的分析

d.所建议系统的技术可行性分析

e.所建议系统的经济可行性分析

f.社会因素可行性分析

g.其他可供选择方案

144、什么是需求分析?需求分析阶段的基本任务是什么?

需求分析是指:开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式主义功能规约(需求规格说明)的过程。

需求分析阶段的基本任务是:

(1) 问题识别:双方对问题的综合需求:a.功能需求b.性能需求c.环境需求d.用户界面需求.

(2) 分析与综合,导出软件的逻辑模型.

(3) 编写文档

145、什么是结构化分析方法?该方法使用什么描述工具?

结构化分析方法:是面向数据汉进行需求分析的方法。

描述工具:a、数据流图b、数据字典c、描述加工逻辑的结构化语言、判定表、判定树。

146、.结构化分析方法通过哪些步骤来实现?

结构化分析方法步骤:

a.了解当前系统的工作流程,获得当前系统的物理模型.

b.抽象出当前系统的逻辑模型.

c.建立上标系统的逻辑模型.

d.作进一步补充和优化.

147、.画数据流图应该注意什么事项?

画数据流图注意事项:

a.命名.不论是数据流\数据存储还是加工,合适的命名使人们易于理解基含义.

b.画数据流而不是控制流.

c.一般不画物质流.

d.每个加工到少有一个输入数据流和一个输出数据流,反映出此加工数据的来源与加工的结果.

e.编号.

f.父图与子图的平衡.

g.局部数据存储.

h.提高数据流图的易理解性.

148、什么是字据字典?其作用是什么?它有哪些条目?

字据字典:简称DD,就是用来定义数据流图中的各个成分具体含义的,它以一种准确的\无二义性的说明方式为系统的分析\设计及维护提供了有关元素的一致的定义和详细的描述.

作用:1)为系统的分析\设计及维护提供了有关元素的一致的定义和详细的描述.

2)为分析人员查找数据流图中有关名字的详细定义而服务的.

3)它和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分.
条目:数据流、数据项、数据存储、基本加工。

149、描述加工逻辑有哪些工具?

a,结构化语言b,判定表c.判定树

150、简述SA方法的优缺点。

优点:

1)公认的、有成效的、技术成熟、使用广泛的一种方法,比较适合于开发数据处理类型软件的需求分析。

2)该方法利用图形等半形式化工具表达需求,简明、易读,也易于使用,为后一阶段的设计、测试、评价提供了有利条件。

缺点:

1)传统的SA方法主要用于数据处理方面的问题,主要工具DFD体现了系统"做什么"的功能,但它仅是一个静态模型,没有反映处理的顺序,即控制流程。因此,不适合描述实时控制系统。

2)SA方法在使用DFD在分析与描述"数据要求"方面是有局限的。

  1. DFD不适合描述人机界面系统的要求。

4)为了更精确地描述软件包需求,提高软件系统的可靠性、安全性,也便于实现自动化,SA方法可与形式方法结合起来。

151、

152、

153、

154、

155、

156、

157、

158、

159、

160、

161、

162、

163、

164、

165、

166、

167、

168、

169、

170、

171、

172、

173、

174、

175、

176、

177、

178、

179、

180、

181、

182、

183、

184、

185、

186、

187、

188、

189、

190、

191、

191、

192、

193、

194、

195、

196、

197、

198、

199、

198、

199、

200、

201、

202、

203、

204、

205、

206、

207、

208、

209、

210、

211、

212、

213、

214、

215、

216、

217、

218、

219、

220、

221、

222、

223、

224、

225、

226、

227、

228、

229、

230、

231、

232、

233、

234、

235、

236、

237、

238、

239、

240、

241、

242、

243、

244、

245、
246、

247、

248、

249、

250、

251、

252、

253、

254、

255、

256、

257、

258、

259、

260、

软件工程简答题和应用题相关推荐

  1. 简述原型模型的特点_软件工程简答题答案 第五版

    软件工程简答题 第一章 绪论 1 . 什么是软件危机?软件危机有什么表现?软件危机产生的原因是什么? 答: 所谓软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题. 主要是 指如何开发软 ...

  2. 【软件工程】简答题汇总

    [软件工程]简答题 第一章 软件工程 1.与硬件相比,软件的特点 (1)不是具体的物理实体,具有抽象性 (2)没有明显的制造过程 (3)存在退化问题 (4)对计算机系统有着不同程度的依赖性 (5)尚未 ...

  3. 西电机器学习简答题核心考点汇总(期末真题,教材西瓜书)

    文章目录 前言 一.机器学习和深度学习区别以及原因 二.卷积核,池化层作用 三.SVM转化为对偶问题的优点 四.核函数的作用 五.特征的相似度定义,性质 六.预剪枝与后剪枝优缺点 七.密度直接可达,密 ...

  4. 计算机科学与基础 简答题,计算机科学基础习题与解析

    计算机科学基础习题与解析 语音 编辑 锁定 讨论 上传视频 <计算机科学基础习题与解析>是2020年清华大学出版社出版的图书,作者是余宏华.刘小丽. 书    名 计算机科学基础习题与解析 ...

  5. 面试 -- C++简答题

    C++简答题 1.C++中什么数据分配在栈或堆,静态存储区以及常量存储区中? 堆区是动态分配的数据 通过malloc及new来申请动态分配存储 栈区是存储系统自动分配空间的变量, 如局部变量 静态存储 ...

  6. 西电数据库简答题核心考点汇总(期末真题+知识点)

    文章目录 前言 一.关系代数 1.1 真题一 1.2 真题二 二.SQL语句 2.1 真题一 2.2 真题二 三.事务 3.1 真题一 四.关系理论 4.1 真题一 4.2 真题二 五.数据库设计 5 ...

  7. 2018java二级考试大纲_2018年全国计算机二级java考试简答题练习二

    2018年全国计算机二级java考试简答题练习二 1.接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)? 答:接口可以继承接 ...

  8. Java项目:在线考试系统(单选,多选,判断,填空,简答题)(java+Springboot+ssm+mysql+html+maven)

    源码获取:博客首页 "资源" 里下载! 功能: 学生信息 班级 专业 学号 姓名  在线考试 成绩查询 个人信息 密码修改 教师管理 教师编号 姓名  所教科目  题库管理  单选 ...

  9. python快速编程入门课后简答题答案-编程python入门 编程python入门课后习题

    编程python入门 编程python入门课后习题 米粒妈咪课堂小编整理了填空.选择.判断等一些课后习题答案,供大家参考学习. 第一章 一.填空题 Python是一种面向对象的高级语言. Python ...

最新文章

  1. linux播放视频的最简单方法
  2. 关于js中的时间——计算时间差等
  3. iview的走马灯嵌套在模态框中,宽度为0的解决方案
  4. elk 日志管理_具有ELK的APIGEE API网关日志管理(弹性搜索,Logstash和Kibana)
  5. JEECG社区公司,招聘全职JAVA工程师(全职)
  6. 中国移动停售华为5G手机?双方回应...
  7. HLG 1532 The Bookcase
  8. np.sum() | 不同维度的数组在不同轴方向上相加
  9. Microsoft Bot Builder Overview
  10. 小学计算机课教后小记,小学信息技术课开展生活化教学的方法
  11. vue(组件、路由)懒加载
  12. 微信小程序中页面间跳转传参方式
  13. Atitit 人员评价能力模型 目录 1.1. 深度、大局观、 1 1.2. 影响力, 影响力 分享 1 1.3. 业务洞察力 价值识别 1 1.4. 视野 战略和人才 专业 1 1.5.
  14. frft雷达信号处理 论文
  15. 基于IS-LM模型的宏观经济政策成效分析:弹性视角
  16. 1062: 最大公约数 Python
  17. DataX及DataX-Web
  18. 2023青海大学计算机考研信息汇总
  19. JAVA中调用Arrays工具类遇见的问(帮忙指点一下)
  20. MAC笔记本安装python3遇到的坑和解法

热门文章

  1. 从零开始掌握Python机器学习(附不可错过的资源)
  2. 用R进行文本挖掘与分析:分词、画词云
  3. lamp mysql数据库设置_LAMP环境搭建图形界面配置MySQL数据库
  4. matlab建立二阶开环系统仿真图,实验二 Simulink仿真实验
  5. 服务器如何关闭登录日志文件,linux云服务器登录日志文件
  6. 使用conda管理虚拟环境
  7. Android XML文件使用
  8. 剑指Offer - 翻转单词顺序列
  9. Android 开发之 fill_parent、wrap_content和match_parent的区别
  10. 微软Azure首席架构师John Gossman就微软加入Linux基金会一事答疑