当前位置:文档之家› 软件工程考试题库

软件工程考试题库

软件工程考试题库
软件工程考试题库

软件工程概述

一单项选择

1.软件生命周期一般包括:软件开发期和软件运行期,下述(D )不是软件开发期所应包含的内容。

A需求分析 B 结构设计C程序编制D软件维护

2.软件是一种逻辑产品,它的开发主要是(A )。

A研制B拷贝C再生产D复制

3.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是( C )。

A喷泉模型 B 增量模型C瀑布模型D螺旋模型

4.在软件生存周期中,(B )阶段必须要回答的问题是“要解决的问题是做什么?”。

A详细设计 B 可行性分析和项目开发计划C概要设计D软件测试

5.软件产品与物质产品有很大区别,软件产品是一种(C )产品

A有形 B 消耗C逻辑D文档

6.(C )把瀑布模型和专家系统结合在一起,在开发的各个阶段上都利用相应的专家系统来帮助软件人员完成开发工作。

A 原型模型

B 螺旋模型

C 基于知识的智能模型

D 喷泉模型

7.( B )阶段是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。A概要设计 B 详细设计 C 编码 D 测试

8.下列软件开发模型中,适合于那些不能预先确切定义需求的软件系统的开发的模型是(A )。

A 原型模型

B 瀑布模型

C 基于知识的智能模型

D 变换模型

9.下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是( C )。

A 原型模型

B 瀑布模型

C 喷泉模型

D 螺旋模型

10.下列软件开发模型中,支持需求不明确,特别是大型软件系统的开发,并支持多种软件开发方法的模型是( D )。

A 原型模型

B 瀑布模型

C 喷泉模型

D 螺旋模型

11.软件特性中,使软件在不同的系统约束条件下,使用户需求得到满足的难易程度称为(C )。

A可修改性B可靠性C可适应性 D 可重用性

12.软件特性中,一个软件能再次用于其他相关应用的程度称为(B )。

A可移植性B可重用性 C 容错性 D 可适应性

13.软件特性中,(A )是指系统具有清晰的结构,能直接反映问题的需求的程度。

A可理解性B可靠性C可适应性 D 可重用性

14.软件特性中,软件产品交付使用后,在实现改正潜伏的错误、改进性能、适应环境变化等方面工作的难易程度称为( B )。

A可理解性 B 可维护性C可适应性 D 可重用性

15.软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是(C ).

A可理解性B可修改性C可移植性 D 可重用性

16.软件特性中,在给定的时间间隔内,程序成功运行的概率指的是( D )。

A有效性B可适应性C正确性 D 可靠性

17.软件特性中,允许对软件进行修改而不增加其复杂性指的是(A )。

A可修改性B可适应性C可维护性 D 可移植性

18.软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是(B )。

A可理解性B可互操作性C可维护性 D 可追踪性

19.软件特性中,根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行逆向追踪的能力指的是( C )。

A 可理解性

B 可互操作性C可追踪性 D 可维护性

20.软件的可修改性支持软件的(D )。

A 有效性

B 可互操作性C可追踪性 D 可维护性

21.软件的可移植性支持软件的(A )。

A 可适应性

B 可互操作性C可追踪性 D 有效性

22.软件的可理解性支持软件的(B )。

A 有效性

B 可移植性C可追踪性 D 可靠性

23.在软件工程的原则中,抽象、信息隐藏、模块化和局部化的原则支持软件的(C )。

A 有效性

B 可互操作性C可靠性 D 可追踪性

24.下列选项中,属于需求分析阶段的任务的是(D )。

A 组装测试计划

B 单元测试计划C软件总体设计 D 验收测试计划

25.下列选项中,属于概要设计阶段的任务的是(A )。

A 组装测试计划

B 单元测试计划C初步用户手册 D 验收测试计划

26.下列选项中,属于详细设计阶段的任务的是(B )。

A 组装测试计划

B 单元测试计划C初步用户手册 D 验收测试计划

27.下列选项中,属于实现阶段的任务的是(C )。

A 组装测试计划

B 绘制程序流程图

C 单元测试

D 验收测试计划

28.下列选项中,在验收测试结束时,必须提交给用户的是(D )。

A 项目开发总结报告

B 验收测试计划

C 需求规格说明书

D 最终用户手册

二填空

1.计算机软件是指与计算机系统操作有关的以及任何与之有关的文档资料。

答案:程序、数据

2.是将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型。

答案:瀑布模型

3.是软件生存周期中时间最长的阶段。

答案:维护阶段

4.是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。

答案:喷泉模型

5.软件生存周期是指一个软件从开始直到该软件最终退役为止的整个时期。

答案:定义

6.在软件的生产过程中,总是有大量各种信息要记录,因此,在产品的开发过程中起着重要的作用。

答案:文档

7.在软件生存周期中,软件定义过程的基本任务是确定软件系统的。

答案:工程需求

8.在软件生存周期中,软件定义过程可以通过软件系统的两个阶段来完成。答案:可行性研究和需求分析

9.在软件生存周期中,软件开发过程可以通过、实现、组装测试、验收测试共5个阶段组成。

答案:概要设计、详细设计

10.我们把支持软件项目的的软件叫做软件开发的工具软件。

答案:开发、管理、维护活动

11.软件工程由三部分组成,称为软件工程的三要素。

答案:方法、过程和工具

三名词解释

1.计算机软件

答:计算机软件是指与计算机系统操作有关的程序、数据以及任何与之有关的文档资料。

2.软件危机

答:软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。

3.软件工程

答:软件工程是指用工程、科学和数学的原则与方法开发、维护计算机软件的有关技术和管理方法

4.软件工程过程

答:软件工程过程指在定义、开发、使用和维护软件时,要实施的过程、活动和任务。

5.软件生存周期

答:软件从定义开始,经过开发、使用和维护,直到最终退役的全过程称为软件生存周期。

6.软件生存周期模型

答:软件开发模型(又称为软件生存周期模型)是指软件项目开发和维护的总体过程思路的框架。

7.计算机辅助软件工程

答:在软件工程活动中,人们按照软件工程的原则和方法,利用计算机及其集成的软件开发环境,辅助软件项目的开发、维护及管理的过程,称为计算机辅助软件工程(即CASE)。

四简答题

1.软件产品的特点是什么

答:①软件开发与硬件研制相比,更依赖于开发人员的业务素质、智力、人员的组织、合作和管理。

②大型软件仍然存在着潜伏的错误。

③软件产品开发成功后,只需对原版软件进行复制,即可生产出任意多的同样的产品。

④还有,软件在使用过程中的维护工作比硬件要复杂得多。

⑤由于软件不是物理产品,所以它不会磨损和老化。

2.软件危机的表现有哪些?

答:1)对软件开发成本和进度的估计常常很不准确。

2)用户对已完成的软件不满意的现象时有发生。

3)软件产品的质量往往是靠不住的。

4)软件常常是不可维护的。

5)软件通常没有适当的文档资料。

6)软件成本在计算机系统总成本中所占比例逐年上升。

7)软件开发生产率提高的速度远跟不上日益增长的软件需求。

3.产生软件危机的原因主要有哪些?

答:1)用户对软件需求的描述不精确。

2)软件开发人员对用户需求的理解有偏差。

3)缺乏处理大型软件项目的经验。

4)开发大型软件易产生疏漏和错误。

5)缺乏有力的方法学的指导和有效的开发工具的支持。

6)面对日益增长的软件需求,人们显得力不从心。

4.软件工程的7条基本原理是什么?

答:1)用分阶段的生存周期计划严格管理

2)坚持进行阶段评审

3)实行严格的产品控制

4)采用现代程序设计技术

5)结果应能清楚地审查

6)开发小组的人员应少而精

7)承认不断改进软件工程实践的必要性

5.软件工程的7条原则是什么?

答:1.抽象。

2.信息隐藏。

3.模块化。

4.局部化。

5.一致性。

6.完全性。

7.可验证性。

6.软件生存周期如何划分?

答:可将软件生存周期划分为3个过程共9个阶段。

软件定义过程:由可行性研究和需求分析2个阶段组成;

软件开发过程:由概要设计、详细设计、实现、组装测试、验收测试5个阶段组成;

软件使用与维护过程:由使用与维护和退役2个阶段组成。

7.常见的软件开发模型有哪些?

答:有瀑布模型、原型模型、螺旋模型、喷泉模型、变换模型、基于四代技术的模型、基于知识的智能模型等。

8.瀑布模型适合于哪类软件系统的开发?

答:瀑布模型一般适用于功能、性能明确、完整、无重大变化的软件系统的开发。例如操作系统、编译系统、数据库管理系统等系统软件的开发。

9.瀑布模型的缺点主要有哪些?

答:1)在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。

2)在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。

3)不支持产品的演化,缺乏灵活性,使软件产品难以维护。

10.实现快速原型的开发途径有哪三种?

1)仅模拟软件系统的人机界面和人机交互方式。

2)开发一个工作模型,实现软件系统中重要的或容易产生误解的功能。

3)利用一个或几个类似的正在运行的软件向用户展示软件需求中的部分或全部功能。

11.原型模型适于哪种情况的软件开发?

答:原型模型适合于那些不能预先确切定义需求的软件系统的开发,更适合于那些项目组成员(包括分析员、设计员、程序员和用户)不能很好交流或通信有困难的情况。

12.螺旋模型的每一个周期包括哪几个阶段?

答:螺旋模型的每一个周期都包括计划(需求定义)、风险分析、工程实现和用户评价与阶段评审4个阶段。13.螺旋模型的优点有哪些?

答:螺旋模型的主要优点有:

1)支持用户需求的动态变化。

2)原型可看作形式的可执行的需求规格说明,易于为用户和开发人员共同理解,还可作为继续开发的基础,并为用户参与所有关键决策提供了方便。

3)螺旋模型特别强调原型的可扩充性和可修改性,原型的进化贯穿整个软件生存周期,这将有助于目标软件的适应能力。

4)为项目管理人员及时调整管理决策提供了方便,进而可降低开发风险。

14.螺旋模型适于哪种情况的软件开发?

答:螺旋模型支持需求不明确、特别是大型软件系统的开发,并支持面向规格说明、面向过程、面向对象等多种软件开发方法,是一种具有广阔前景的模型。

软件工程单元二(软件项目管理)

一单项选择

1.软件项目管理必须(A )介入。

A)从项目的开头B)在可行性研究之后C)在需求分析之后D)在编码之后

2.下列选项中,属于成本管理的主要任务的是(B )。

A)人员的分工B)估算软件项目的成本

C)对控制软件质量要素D)对软件阶段产品进行评审

3.下列选项中,不属于质量管理的主要任务的是( C )。

A)制定软件质量保证计划B)按照质量评价体系控制软件质量要素

C)增加软件产品的功能D)对最终软件产品进行确认

4.下列选项中,属于软件配置管理的任务的是(D )。

A)人员的分工B)估算软件项目的成本

C)对软件阶段产品进行评审D)对程序、数据、文档的各种版本进行管理

5.(A )是对产品或过程的某个属性的范围、数量、维度、容量或大小提供一个定量的指示。

A)测量B)度量C)估算D)指标

6.(B )是对系统、部件或过程的某一特性所具有的程度进行的量化测量。

A)测量B)度量C)估算D)指标

7.(C )是对软件产品、过程、资源等使用历史资料或经验公式等进行预测。

A)测量B)度量C)估算D)指标

8.(D )是一个度量或度量的组合,它可对软件产品、过程或资源提供更深入的理解。

A)测量B)度量C)估算D)指标

9.下列选项中属于产品的内部属性的是(A )。

A)模块耦合度B)软件可靠性C)软件有效性D)软件可维护性

10.下列选项中属于过程的外部属性的是(B )。

A)工作量B)成本C)事件D)计划及进度

11.下列选项中属于资源的外部属性的是(C )。

A)经验B)人员C)生产率D)工具

12.基于代码行的面向规模的度量方法适合于(D )。

A)过程式程序设计语言和事前度量B)第四代语言和事前度量

C)第四代语言和事后度量D)过程式程序设计语言和事后度量

13.下列说法中,不正确的是(A )。

A)功能点度量方法与程序设计语言有关B)功能点度量方法适合于过程式语言C)功能点度量方法适合于非过程式语言D)功能点度量方法适合于软件项目估算

14.下列说法中,不正确的是(B )。

A)软件项目工作量分布曲线不是线性的

B)到开发后期临时增加人力可加快进度

C)适当推迟交货时间可大幅度降低开发工作量

D)在软件生存周期的不同阶段各类人员的参与情况是不同的。

15.在软件质量要素中,程序满足需求规格说明及用户目标的程度指的是(C )。

A)完整性B)可用性C)正确性D)灵活性

16.在软件质量要素中,改变一个操作的顺序所需的工作量的多少指的是(D )。

A)完整性B)可用性C)正确性D)灵活性

17.在软件质量要素中,对未授权人员访问程序或数据加以控制的程度指的是(A )。

A)完整性B)可用性C)正确性D)灵活性

18.在软件质量要素中,学习使用软件(即操作软件、准备输入数据、解释输出结果等)的难易程度指的是( B )。

A)完整性B)可用性C)正确性D)灵活性

19.在软件质量要素的评价准则中,程序源代码的紧凑程度指的是(C )。

A)简单性B)准确性C)简明性D)执行效率

20.在软件质量要素的评价准则中,软件运行的效率指的是(D )。

A)简单性B)准确性C)简明性D)执行效率

21.在软件质量要素的评价准则中,程序易于理解的程度指的是(A )。

A)简单性B)准确性C)简明性D)执行效率

22.在软件质量要素的评价准则中,计算和控制的精确程度指的是(B )。

A)简单性B)准确性C)简明性D)执行效率

23.在软件质量要素的评价准则中,在各种异常情况下软件能继续提供操作的能力指的是(A )。

A)容错性B)检测性C)安全性D)可操作性

24.在软件质量要素的评价准则中,程序监视自身运行并标识错误的程度指的是(B )。

A)容错性B)检测性C)安全性D)可操作性

25.在软件质量要素的评价准则中,控制或保护程序和数据不被破坏、非法访问等机制的能力指的是(C )。A)容错性B)检测性C)安全性D)可操作性

26.在软件质量要素的评价准则中,操作该软件的难易程度指的是(D )。

A)容错性B)检测性C)安全性D)可操作性

27.下列选项中,不能进行并行工作的是(A )。

A)需求复审B)过程设计C)单元测试D)编码

28.在整个软件项目定义与开发各阶段一种典型的工作量分布原则,称为40-20-40分布原则,其中20%的工作量指的是( B )。

A)需求分析工作量B)编码工作量C)详细设计工作量D)测试工作量

二填空

1.软件项目管理的对象主要包括。

答案:产品、过程和资源等

2.对不依赖于其他属性的软件的简单属性的测量称为。

答案:直接度量

3.对涉及若干个其他属性的软件要素、准则或属性的度量,称为。

答案:间接度量

4.面向规模的度量是以软件的为基础的直接度量。

答案:代码行数

5.Albrecht首先提出了功能点度量方法。这是一种面向功能的方法。

答案:间接度量

6.在软件项目管理过程中的第一个活动应当是。

答案:估算

7.Putnam估算模型公式是:。

答案:L = C k E1/3t d4/3

8.估算工作量的公式:E = L3 / (C k3 t d4),式中的t d是对应于时的时间,它正好是工作量曲线的峰值,说明此时的工作量最大、参加项目的人最多。

答案:软件交付

9.软件开发项目每年所需的人年数与开发时间的关系满足Rayleigh-Norden分布,即软件项目的工作量分布曲线的,因此,参加软件项目的人员就不能一成不变。

答案:不是线性

10.开发软件项目的工作量和交货时间t d的4次方成反比,如果条件允许,适当地推迟交货时间(即使t d 增大),可大幅度降低。

答案:开发工作量

11.Putnam模型的优点是揭示了软件项目的、软件开发时间和工作量三者之间的关系,在理论上有重要意义。

答案:源程序代码长度

12.CoCoMo模型按其详细程度分为基本CoCoMo模型、和详细CoCoMo模型三个层次。

答案:中间CoCoMo模型

13.基本CoComo模型主要用于估算整个系统开发和维护的工作量以及软件开发所需要的时间。

答案:系统开发的初期

14.一般地,由N个程序员组成的程序员小组在完成相同规模的软件时需要的通信数量C(N)= 。

答案:N(N-1)/2

15.McCall等人提出了由、评价准则、定量度量三个层次组成的三层次度量模型。

答案:软件质量要素

16.程序图G的环形复杂度V(G)的值等于程序图中有界和无界的的个数。

答案:封闭区域

17.McCabe指出,V(G)可作为程序规模的定量指标,V(G)值越高的程序往往是越复杂、越容易出问题的程序。因此,他建议模块规模以为宜。

答案:V(G)≤10

18.Halstead给出了称为文本复杂性度量的模型。它是根据统计程序中的的个数来度量程序的复杂程度。

答案:操作符和操作数

19.软件可靠性定义为在某个给定内,程序按照规格说明成功运行的概率。

答案:时间间隔

20.软件的有效性函数A(t)定义为软件系统在按照规格说明成功运行的概率。

答案:时刻t

21.软件项目风险的一个显著特点是具有,某项风险可能发生也可能不发生。

答案:不确定性

22.风险分析的四个主要活动:、风险估算、风险评价、风险驾驭和监控。

答案:风险标识

23.风险分析的四个主要活动:风险标识、、风险评价、风险驾驭和监控。

答案:风险估算

24.风险分析的四个主要活动:风险标识、风险估算、、风险驾驭和监控。

答案:风险评价

25.风险分析的四个主要活动:风险标识、风险估算、风险评价、。

答案:风险驾驭和监控

26.软件项目的风险按照其影响的范围,可分为、技术风险和商业风险三类。

答案:项目风险

27.软件项目的风险按照其影响的范围,可分为项目风险、和商业风险三类。

答案:技术风险

28.软件项目的风险按照其影响的范围,可分为项目风险、技术风险和三类。

答案:商业风险

29.为了识别风险,Boehm建议使用各类来标识风险。

答案:风险检测表

30.为了评价风险,常采用三元组[ r i,p i,x i ]来描述风险。其中r i代表,p i表示第i种风险发生的概率,x i代表该风险带来的影响。

答案:第i种风险

31.为了评价风险,常采用三元组[ r i,p i,x i]来描述风险。其中r i代表第i种风险,p i表示,x i代表该风险带来的影响。

答案:第i种风险发生的概率

32.为了评价风险,常采用三元组[ r i,p i,x i ]来描述风险。其中r i代表第i种风险,p i表示第i种风险发生的概率,x i代表。

答案:该风险带来的影响

33.一个对风险评价很有用的技术就是定义风险参照水准。对于大多数软件项目来说,

就是典型的风险参照水准。

答案:成本、进度、性能

34.风险分析的目的是建立处理风险的策略,风险。

答案:监控、驾驭

35.在整个软件项目定义与开发各阶段一种典型的工作量分布原则,称为分布原则。

答案:40-20-40

36.目前,软件项目的进度安排的两种比较常用的方法是和关键路径法(CPM),这两种方法都生成描述项目进展状态的任务网络图。

答案:程序评估与审查技术(PERT)

37.目前,软件项目的进度安排的两种比较常用的方法是程序评估与审查技术(PERT)

和,这两种方法都生成描述项目进展状态的任务网络图。

答案:关键路径法(CPM)

38.某个子任务的最早启动时间是指该子任务的完成的最早时间。

答案:所有各前导子任务

39.某子任务的最早启动时间与完成该子任务所需时间之和就是该子任务的。

答案:最早结束时间

40.某个子任务的是指在保证项目按时完成的前提下最晚启动该子任务的时间。

答案:最迟启动时间

41.最迟启动时间与完成该子任务所需时间之和就是该子任务的。

答案:最迟结束时间

42.在制定进度计划时,应首先找到影响进度的,并在其上安排一定的节假日和机动时间,以

便应付可能出现的问题和难点。

答案:关键路径

43.正式的技术评审是降低的重要措施。

答案:软件成本

44.实践表明,向一个已经延期的软件项目追加新的开发人员,可能使项目完成得。

答案:更晚

三名词解释

1.测量(measure)

答:是对产品或过程的某个属性的范围、数量、维度、容量或大小提供一个定量的指示。

2.度量(metric)

答:是对系统、部件或过程的某一特性所具有的程度进行的量化测量。

3.估算(estimation)

答:是对软件产品、过程、资源等使用历史资料或经验公式等进行预测。

4.指标(guideline)

答:是一个度量或度量的组合,它可对软件产品、过程或资源提供更深入的理解。

5.软件可靠性

答:软件可靠性定义为在某个给定时间间隔内,程序按照规格说明成功运行的概率。

6.软件的有效性函数A(t)

答:软件的有效性函数A(t)定义为软件系统在时刻t按照规格说明成功运行的概率。

四简答题

1.软件项目管理的主要任务是什么?

答:软件项目管理的主要任务是根据选定的软件开发过程框架(即软件开发模型)和对其估算的结果制定软件项目实施计划;再根据计划对人员进行组织、分工;按照计划的进度,以及成本管理、风险管理、质量管理的要求,控制并管理软件开发和维护的活动,最终以最小的代价完成软件项目规定的全部任务。2.成本管理的主要任务是什么?

答:成本管理的主要任务是估算软件项目的成本,作为立项和签合同的依据之一,并在软件开发过程中按计划管理经费的使用。

3.质量管理的主要任务是什么?

答:质量管理的主要任务是制定软件质量保证计划,按照质量评价体系控制软件质量要素,对阶段性的软件产品进行评审,对最终软件产品进行确认,确保软件质量。

4.常用的软件项目的估算方法主要有哪4种?

答:1)自顶向下的估算方法

2)自底向上的估算方法

3)差别估算法

4)根据实验或历史数据给出软件项目工作量或成本的经验估算公式。

5.CoCoMo模型按其详细程度分为哪三个层次?

答:CoCoMo模型按其详细程度分为基本CoCoMo模型、中间CoCoMo模型和详细CoCoMo模型三个层次。6.软件质量的定义?

答:1983年,ANSI/IEEE std729标准给出了软件质量的定义如下:

软件质量是软件产品满足规定的和隐含的与需求能力有关的全部特征和特性,包括:

1)软件产品满足用户要求的程度;

2)软件拥有所期望的各种属性的组合程度;

3)用户对软件产品的综合反映程度;

4)软件在使用过程中满足用户需求的程度。

7.简述McCall等人的软件质量度量模型

答:McCall等人提出了由软件质量要素、评价准则、定量度量三个层次组成的三层次度量模型。其中第一层是将对软件质量的度量归结为对直接影响软件质量的若干个软件质量要素的度量;由于质量要素很难直接度量,所以第二层是用若干个可度量的评价准则来间接度量软件质量要素;而第三层是对相应评价准则的直接度量。

8.软件复杂性的概念?

答:K. Magel从6个方面来描述软件复杂性:

1)理解程序的难度;

2)维护程序的难度;

3)向其他人解释程序的难度;

4)按指定方法修改程序的难度;

5)根据设计文件编写程序的工作量;

6)执行程序时需要资源的多少。

9.衡量软件的复杂程度有哪些基本原则?

答:衡量软件的复杂程度有12条基本原则,如下:

1)软件的复杂性与其规模的关系不是线性的;

2)数据结构复杂的程序较复杂;

3)控制结构复杂的程序较复杂;

4)转向语句使用不当的程序较复杂;

5)循环结构比选择结构复杂、选择结构比顺序结构复杂;

6)语句、数据、子程序模块等出现的顺序对复杂性有影响;

7)非局部变量较多的程序较复杂;

8)参数按地址调用(Call by reference)比按值调用(Call by value)复杂;

9)函数副作用比显式参数传递难理解;

10)作用不同的变量同名时较难理解;

11)模块、过程间联系密切的程序较复杂;

12)程序嵌套层数越多越复杂。

10.软件开发项目管理过程主要包括哪几个方面?

答:软件开发项目管理过程主要包括以下几个方面:

1)启动一个软件项目。

2)成本估算。

3)风险分析。

4)进度安排。

5)追踪和控制。

11.风险分析有哪四个主要活动?

答:风险分析的四个主要活动:风险标识、风险估算、风险评价、风险驾驭和监控。

12.解释评价风险的三元组[ r i,p i,x i ]。

答:在评价风险的三元组[ r i,p i,x i ]中,r i代表第i种风险,p i表示第i种风险发生的概率,x i代表该风险带来的影响,i=1,2,…,l,表示软件开发项目共有l种风险,i为风险序号。

13.风险评价过程可分为哪四步?

答:风险评价过程可分四步进行:

1)定义项目的风险参照水准;

2)定义每种风险的三元组[ r i,p i,x i ],并找出和每个参照水准之间的关系;

3)预测一组参照点以定义一个项目终止区域,用一条曲线或一些易变动区域来定界;

4)预测各种风险组合的影响是否超出参照水准。

14.风险驾驭与监控的主要目标有哪些?

答:风险驾驭与监控的主要目标有三个:

1)判断一个预测的风险是否已经发生;

2)确保针对每一个风险而制定的风险驾驭步骤正在合理地实施;

3)收集有关风险分析的所有信息,以备将来使用。

15.软件项目开发的进度安排必须解决好哪几个问题?

答:软件项目开发的进度安排必须解决好以下几个问题:

1)任务、人力、时间等资源的分配应与工程进度相一致;

2)任务的分解与并行开发;

3)工作量的分配;

4)具体进度安排。

16.软件质量保证(SQA)活动主要包括哪些内容?

答:SQA活动主要包括以下内容:

1)在需求分析阶段提出对软件质量的需求,并将其自顶向下逐步分解为可以度量和控制的质量要素,为软件开发、维护各阶段软件质量的定性分析和定量度量打下基础;

2)研究并选用软件开发方法和工具;

3)对软件生存周期各阶段进行正式的技术评审(FTR);

4)制定并实施软件测试策略和测试计划;

5)及时生成软件文档并进行其版本控制;

6)保证软件开发过程与选用的软件开发标准相一致;

7)建立软件质量要素的度量机制;

8)记录SQA的各项活动,并生成各种SQA报告。

17.正式的技术评审(FTR)的过程一般由哪6个步骤组成?

答:FTR的过程一般由6个步骤组成:

①制定评审计划,即安排好评审会议日程。

②介绍工程情况。

③准备工作。评审小组成员自己审阅文档资料,并把发现的问题和错误记录下来,以备在评审会议上讨论。

④正式召开评审会议。

⑤工程返工。

⑥工程复审。

如此反复、直至通过复审为止。

18.在建立软件开发组织的时候要注意的原则是哪些?

答:在建立软件开发组织的时候要注意的原则是:

①尽早落实责任。特别是软件项目负责人的责任;

②减少接口。组织应该有良好的组织结构、合理的人员分工,以减少不必要的通信;

③责权均衡。指软件经理的责任不应比赋予他的权力还大。

19.程序设计小组的组织形式有哪几种?

答:程序设计小组的组织和小组内部人员的组织形式对生产率都会产生影响。常采用的组织形式有主程序员制小组、民主制小组、层次式小组3种。

20.一个主程序员制小组由哪些人员组成?

答:由1位主程序员(高级工程师)、2~5位程序员(技术员)、1位后援工程师组成,还可以配备辅助人员(如资料员)。

21.民主制小组是怎样的一种组织形式?

答:民主制小组由若干程序员组成,虽然也设置一位组长,但是每当遇到问题时,组内的成员可以进行民主协商,以平等的地位交换意见。工作目标的制定、做出决定都有全体组员参加,即强调发挥小组每一个成员的积极、主动性和协作精神。

22.层次式小组是怎样的一种组织形式?

答:层次式小组是将组内人员分为3级:组长1人,他作为项目负责人负责全组工作;他直接领导2 ~ 7名高级程序员;每位高级程序员通过基层小组管理若干名程序员。

23.软件开发各个阶段都需要哪些人员?

答:在软件项目的计划和分析阶段,只需要少数人,主要是系统分析员、从事软件系统论证和概要设计的软件高级工程师和项目高级管理人员,人数虽不多,但都是高层次人员。概要设计阶段要增加几个高级程序员,详细设计阶段要增加软件工程师和程序员,在编码和测试阶段还要增加初级程序员和软件测试员。在这一过程中,各类专门人员和管理人员也在逐渐增加,到验收测试时,维护人员也加入其中,使各类人员的数量达到了最高峰。在软件产品交付使用的初期,参加软件维护的人员较多,此时为防止给维护活动带来困难,不应过早地解散软件开发人员。软件经过一段时间的纠错性维护后,出错率会明显减少,这时可以逐步撤出软件开发人员,之后,软件维护人员也逐步撤离。

24.在软件项目中配备和使用人员应遵循的3个主要原则是什么?

答:在软件项目中配备和使用人员时,应遵循的3个主要原则是:

①重质量:使用少量有实践经验、素质高、有能力的人员去完成关键性任务,常常比使用较多的经验不足的人员更有效。

②重培训:花力气培养所需的技术和管理人员是解决人员问题的有效方法。

③双阶梯提升:人员要么按照技术职务提升,要么按照管理职务提升,两者不应兼得。

25.对软件项目经理人员的要求有哪些?

答:对项目经理除了要求具有较强的管理能力外,还要求其应具有的能力有:

①把用户提出的非技术性要求加以整理提炼,以技术说明书形式转告给分析员和测试员。

②能说服用户放弃那些不切实际的要求,以保证合理的要求得以满足。

③具有综合问题的能力。

④具有很强的沟通能力。

26.一个好的开发人员应具备的素质和能力有哪些?

答:一个好的开发人员应具备的素质和能力有:

①善于与周围人员团结协作,建立良好的人际关系,善于听取别人的意见。

②牢固掌握计算机软件的基本知识和技能。

③善于分析和综合问题,具有严密的逻辑思维能力。

④工作踏实、细致,遵循标准和规范,不靠碰运气,具有严格的科学作风。

⑤工作中表现有责任心、有毅力、有耐心。

⑥具有良好的书面和口头表达能力。

27.项目管理人员经常采用的跟踪方式主要有哪些?

答:项目管理人员经常采用的跟踪方式主要有:

①定期召开项目工作会议,让每个项目成员汇报任务进展情况和存在的问题。

②在软件开发过程中,请专家和用户按照里程碑对阶段性成果进行管理复审,判定实际开发进度是否与计划中定义的里程碑保持一致。

③对照进度计划检查各子任务的实际开始时间是否与计划的开始时间一致。

④及时了解项目开发人员的进展情况及存在的主要问题。

五、综合题

1.已知有一个国外典型的软件项目的记录,开发人员M=6人,其代码行数=20.2KLOC,工作量E=43PM,成本S=314000美元,错误数N=64,文档页数Pd=1050页。试计算开发该软件项目的生产率P、平均成本C、代码出错率EQR和文档率D。

解:根据给出的已知数据,可得:

P = L / E =20.2 KLOC /43 PM = 0.47 KLOC / PM = 470 LOC / PM

C = S / L = 314000美元/ 20.2 KLOC = 15.54 美元/ LOC

EQR = N / L = 64个/ 20.2KLOC = 3.17 个/ KLOC

D = Pd / L = 1050 页/ 20.2 KLOC = 51.98 页/ KLOC

2.已知有一个软件项目的记录,开发人员M=3人,其代码行数=12.1KLOC,工作量E=24PM,成本S=168000美元,错误数N=29,文档页数Pd=365页。试计算开发该软件项目的生产率P、平均成本C、代码出错率EQR和文档率D。

解:根据给出的已知数据,可得:

P = L / E =12.1 KLOC /24 PM = 0.504 KLOC / PM = 504 LOC / PM

C = S / L = 168000美元/ 12.1 KLOC = 13.88 美元/ LOC

EQR = N / L = 29个/ 12.1 KLOC = 3.4 个/ KLOC

D = Pd / L = 365 页/ 12.1 KLOC = 31.4 页/ KLOC

3.已知某软件项目的特征为:用户输入数为30,用户输出数为60,用户查询数为24,共有8个文件,有2个外部界面。如果每个信息量的加权因子都取“一般”值,所有的技术复杂性调节因子都取“普通”值,用Albrecht方法计算该软件项目的功能点。

解:基本功能点CT为:

CT = 用户输入数×4 + 用户输出数×5

+ 用户查询数×4 + 文件数×10 + 外部接口数×7

= 30 ×4 + 60 ×5 + 24 ×4 + 8 ×10 + 2 ×7

= 610

FP = CT ×TCF = CT [0.65 + 0.01∑F i ]

= 610 ×[0.65 + 0.01 ×3 ×14]

= 652.7功能点

答:该软件项目共有652.7功能点。

4.1978年,Putnam提出了大型软件项目的动态多变量估算模型L = C k E1/3t d4/3。如果将开发时间t d延长20%,工作量可以减少到原来的百分之几?

解:由L = C k E1/3t d4/3式可得:

E = L3 / ( C k3 t d4 ) (1)

由已知,开发时间延长为t d1 =1.2t d,有:

E1 = L3 / ( C k3 t d14 ) (2)

E1 / E = [L3 / ( C k3 t d14 )]/[ L3 / ( C k3 t d4 ) ] = t d4/t d14 = t d4/ (1.2t d )4= 0.48

即E1= 0.48E

答:工作量可以减少到原来的48%。

5.已估算出CAD软件的代码行数为33.5KLOC,CAD软件为半独立型、中等规模的软件,通过查表得知a = 3.0,b = 1.12,c = 2.5,d = 0.35。用基本CoCoMo模型计算开发CAD软件所需的工作量、开发时间以

及需要参加项目的平均人数。 解: E = a L b

= 3.0×33.5

1.12

= 153 PM D = c E d =2.5 × 153

0.35

= 14.54(月)

N = E / D = 153 / 14.54 ≈ 11人

答:CAD 项目的开发工作量为153PM ,开发时间为14.54月,平均需要约11人。

6.设某软件项目由5个程序员组成的程序员小组来开发完成。在开发过程中每两个人之间通信的平均工作量为0.13PM ,试求开发该软件所需的通讯工作量。

解:由已知N=5 ,μ=0.13PM ,开发该软件需要的通信数量为:

C (N )= C (5)= N (N-1)/2 = 5(5-1)/ 2 = 10 则由5人组成的程序员小组增加的通信工作量为: E C = μC (5)=0.13PM ×10=1.3PM 答:开发该软件所需的通讯工作量为1.3PM 。

7.要度量某软件的质量要素F 2(可靠性),假设C 23=0.2,C 24=0.3,C 25=0.3,C 26=0.2,其余的C 2k = 0,F 2对一致性的测量值M 3=0.8、对容错性的测量值M 4=0.7、对准确性的测量值M 5=0.6,对简单性的测量值M 6=0.5,试求可靠性的度量值F 2。 解:

= C 23M 3+C 24M 4+C 25M 5+C 26M 6 =0.2×0.8+0.3×0.7+0.3×0.6+0.2×0.5 =0.65

答:该软件可靠性F 2的度量值为0.65。

8.要度量某软件的质量要素F 2(可靠性),假设C 23=0.1,C 24=0.3,C 25=0.4,C 26=0.2,其余的C 2k = 0,F 2对一致性的测量值M 3=0.7、对容错性的测量值M 4=0.6、对准确性的测量值M 5=0.5,对简单性的测量值M 6=0.8,试求可靠性的度量值F 2。 解:

= C 23M 3+C 24M 4+C 25M 5+C 26M 6 =0.1×0.7+0.3×0.6+0.4×0.5+0.2×0.8 =0.61

答:该软件可靠性F 2的度量值为0.61。

9.要度量某软件的质量要素F 6(可维护性),假设C 63=0.1,C 66=0.2,C 610=0.2,C 616=0.1,C 618=0.2,C 621=0.2,其余的C 6k = 0,F 6对一致性的测量值M 3=0.7、对简单性的测量值M 6=0.6、对检测性的测量值M 10=0.8,对简明性的测量值M 16=0.8,对自文档化的测量值M 18=1,对模块化的测量值M 21=0.9,试求可维护性的度量值F 6。

F 2 = ∑

C 2k M k

21

k =1

F 2 = ∑

C 2k M k

21

k =1

解:

= C 63M 3+C 66M 6+C 610M 10+C 616M 16+C 618M 18+C 621M 21 =0.1×0.7+0.2×0.6+0.2×0.8+0.1×0.8+0.2×1+0.2×0.9 =0.81

答:该软件可维护性F 6的度量值为0.81。

10.要度量某软件的质量要素F 1(正确性),假设C 11=0.3,C 12=0.3,C 13=0.4,其余的C 1k = 0,F 1对可追踪性的测量值M 1=0.7、对完全性的测量值M 2=0.9、对一致性的测量值M 3=0.6,试求正确性的度量值F 1。 解:

= C 11M 1+C 12M 2+C 13M 3 =0.3×0.7+0.3×0.9+0.4×0.6 =0.72

答:该软件正确性F 1的度量值为0.72。

11.程序流程图如图1所示,试求出其巡回秩数V (G )。

解:

(1)画出与图1所示的程序流程图对应的程序图如图2所示。于是有: V (G )= E – N + 2 = 11 – 9 +2 = 4

(2)由图2给出的程序图可以看出,其有界区域有R1、R2、R3共3个,还有1个无界区域R4,共4个封闭区域,所以V (G )= 4。

(3)由图2给出的程序图可以看出,结点b 、c 、h 是谓词结点,即谓词结点数P=3,于是有:V (G )= P+1 = 3+1 = 4。

12.如图1所示的程序流程图,试计算其巡回秩数V (G )。

图1 程序流程图

图2 程序图

F 6 = ∑

C 6k M k

21

k =1

F 1 = ∑

C 1k M k

21

k =1

解:由程序流程图画流图或称程序图如图2所示。于是有:

(1)V (G )= E –N +2 = 13 –10 +2 = 5 (2)V (G )= 封闭区域个数 = 5

(3)V (G )= 谓词结点个数+1 = P+1 = 4+1 = 5

13.如图1所示的程序流程图,试计算其巡回秩数V (G )。

解:由程序流程图画流图或称程序图如图2所示。于是有:

(1)V (G )= E –N +2 = 12 –9 +2 = 5 (2)V (G )= 封闭区域个数 = 5

(3)V (G )= 谓词结点个数+1 = P+1 = 4+1 = 5

14.甲乙两名程序测试员同时对一个程序进行独立测试一个月,甲发现并改正了24个错误;乙发现并改正

图1 程序流程图 图2 程序图

图1 程序流程图 图2 程序图

了20个错误,其中有10个错误甲也发现了。试估算该程序经过甲乙两人这一个月测试后,还残留多少个错误?

解:由题意知,E 1 = 24, E 2 = 20,E 0 = 10,该程序所含错误总数可估算如下:

E T = E1×E 2 / E 0 = 24×20 / 10 = 48(个)

经过一个月的测试,该程序还残留的错误数为:

E r(τ)= E T– E C(τ)

E r(1)= E T– E C(1)

= E T–(E 1 + E 2– E 0)

= 48 –(24+20-10)

=14(个)

答:还残留14个错误。

15.甲乙两名程序测试员同时对一个程序进行独立测试一个月,甲发现并改正了20个错误;乙发现并改正了16个错误,其中有8个错误甲也发现了。试估算该程序经过甲乙两人这一个月测试后,还残留多少个错误?

解:由题意知,E 1 = 20, E 2 = 16,E 0 = 8,该程序所含错误总数可估算如下:

E T = E1×E 2 / E 0 = 20×16 / 8 = 40(个)

经过一个月的测试,该程序还残留的错误数为:

E r(τ)= E T– E C(τ)

E r(1)= E T– E C(1)

= E T–(E 1 + E 2– E 0)

= 40 –(20+16-8)

=12(个)

答:还残留12个错误。

16.甲乙两名程序测试员同时对一个程序进行独立测试一个月,甲发现并改正了24个错误;乙发现并改正了23个错误,其中有12个错误甲也发现了。试估算该程序经过甲乙两人这一个月测试后,还残留多少个错误?

解:由题意知,E 1 = 24, E 2 = 23,E 0 = 12,该程序所含错误总数可估算如下:

E T = E1×E 2 / E 0 = 24×23 / 12 = 46(个)

经过一个月的测试,该程序还残留的错误数为:

E r(τ)= E T– E C(τ)

E r(1)= E T– E C(1)

= E T–(E 1 + E 2– E 0)

= 46 –(24+23-12)

=11(个)

答:还残留11个错误。

17.对一个包含10000LOC的程序进行一个月的测试后,总共改正了15个错误,此时MTBF=10h,又经过

一个月测试后,改正了10个错误,此时MTBF=15h。试完成:

(1)根据已知数据确定MTBF与测试时间之间的函数关系。

(2)为做到MTBF=100h,必须进行多长时间的测试?当测试结束时,总共改正了多少个错误?还有多少个错误潜伏在程序中?

解:

(1)∵λ= kεr(τ),MTBF=1/λ,E r(τ)= I T εr(τ)= I T/ (k · MTBF)

∴E c(τ)= E T– I T/(k · MTBF)

即:15 = E T– 10000 / (k · 10)

15 + 10 =E T– 10000 / (k · 15)

解上述方程组,得:E T = 45, k = 100 / 3

假设:单位时间内改正错误后剩余的错误数与改正前错误总数成正比,于是有:

Er(1)= k1E T (1)

k1 Er(1)=k12 E T(2)∴用数学归纳法可证明:Er(τ)= k1τE T(3)

由(1)式,45 –15 = k1×45,得k1=2/3 ,

∴MTBF(τ)=I T / (k Er(τ))= I T / (k k1 τE T)

=10000/[(100/3)×(2/3)τ×45]=6.666667×(3/2)τ(4)

(2)将已知MTBF(τ) = 100,代入(4)式:100= 6.666667×(3 / 2)

τ

∴τ= ln15 / ln1.5 = 6.68(月)

将τ=6.68(月)代入上面的(3)式,得:

Er(6.68)= (2/3)6.68 ×45 = 2.9986 ≈3(个)

E c(6.68)= E T– E r(6.68)= 45 – 3 = 42(个)

答:(1)MTBF与测试时间之间的函数关系:MTBF(τ)=6.666667×(3/2)τ。

(2)为做到MTBF=100h,必须进行6.68(月)的测试?当测试结束时,总共改正了42个错误?还有3个错误潜伏在程序中。

软件工程单元三(计算机系统工程)

一单项选择

1.下列选项中,不属于可行性研究的任务的是(A )。

A)概要设计B)经济可行性研究C)技术可行性研究D)开发方案的选择

2.下列选项中,(C )不属于基于计算机的系统的系统要素。

A)人B)数据库C)车间D)硬件

3.在软件工程中,不属于软件定义部分的任务是(B )。

A)软件验收测试计划B)组装测试计划C)需求分析D)软件项目计划

4.在软件工程中,(C )不属于软件开发部分的任务。

A)软件总体设计B)单元测试计划C)软件经销D)组装测试计划

二填空

1.计算机系统工程包括、软件工程、人机工程、数据库工程等4个子工程。

答案:硬件工程

2.计算机系统工程包括硬件工程、、人机工程、数据库工程等4个子工程。

答案:软件工程

3.计算机系统工程包括硬件工程、软件工程、、数据库工程等4个子工程。

答案:人机工程

4.计算机系统工程包括硬件工程、软件工程、人机工程、等4个子工程。

答案:数据库工程

5.硬件工程可以划分为、硬件设计、硬件制造与销售维修三个阶段。

答案:硬件定义

6.硬件工程可以划分为硬件定义、、硬件制造与销售维修三个阶段。

答案:硬件设计

7.硬件工程可以划分为硬件定义、硬件设计、三个阶段。

答案:硬件制造与销售维修

8.可行性研究要在之后进行。

答案:初步的需求定义

9.技术可行性研究是根据客户提出的系统功能、性能要求及实现系统的各项约束条件,

从的角度研究实现系统的可行性。

答案:技术

10.、原型建造和模拟是基于计算机系统技术可行性研究的有效工具。

答案:数学建模

11.数学建模、和模拟是基于计算机系统技术可行性研究的有效工具。

答案:原型建造

12.数学建模、原型建造和是基于计算机系统技术可行性研究的有效工具。

答案:模拟

三名词解释

1.计算机系统工程

答:计算机系统工程是用工程、科学和数学的原则与方法研制基于计算机的系统的有关技术方法和过程。

四简答题

1.在基于计算机的系统中一般都包含哪些系统要素?

答:包含的系统要素:①硬件;②软件;③人;④文档;⑤数据库;⑥过程。

2.在硬件工程中,硬件定义阶段的任务有哪些?

答:硬件定义阶段的任务是:

1)制定硬件开发计划,确定项目成本和工程进度;

2)进行硬件需求分析,给出硬件规格说明。

3)软件产品的质量往往是靠不住的。

3.在硬件工程中,硬件设计阶段的任务有哪些?

答:硬件设计阶段的任务是:

1)设计分析,画出设计图;

2)必要时建造原型(即样机)并对其进行测试;

3)制造分析,画出生产图。

4.在硬件工程中,硬件制造与销售维护阶段的任务是什么?

答:硬件制造与销售维护阶段的任务是:按照质量保证计划生产硬件产品并销售,相应的服务机构对硬件产品进行售后服务。

5.在人机工程中,人机界面的开发过程主要包括哪几个步骤?

答:1)活动分析。

2)动作定义和设计。

3)动作的实现。

4)用户环境设计。

5.原型设计。

6.简述数据库工程完成的主要任务有哪些?

答:数据库工程完成的主要任务有:

1)调查用户对信息和信息处理的需求,进行可行性论证、成本估算,制定项目计划。

2)选择支持数据库系统的硬件和软件。

3)数据库设计与实现。

4)数据的收集与存储。

5)运行、管理与维护。

7.可行性研究的任务主要有哪几个方面?

答:可行性研究的任务主要有:

1)经济可行性研究;

2)技术可行性研究;

3)运行操作可行性研究;

4)法律可行性研究;

5)开发方案的选择。

8.简述可行性研究的步骤。

答:典型的可行性研究的主要步骤如下:

1)复审初步分析结果;

2)研究现有的系统;

3)导出新系统的高层逻辑模型;

4)导出新系统的高层物理解法;

5)推荐建议的方案;

6)评审、复审和决策。

9.基于计算机系统的成本主要由哪4个部分组成?

答:基于计算机系统的成本主要由以下4个部分组成:

1)购置并安装软硬件及有关设备的费用;

2)系统开发费用;

3)系统安装、运行和维护费用;

4)人员培训费用。

10.技术可行性研究主要包括哪些分析,各分析的任务如何?

答:1)风险分析。其任务是论证在给定的约束条件下,能否实现系统所需的功能和性能。

2)资源分析。其任务是论证是否具备系统开发所需的各类人员、软硬件资源和工作环境等。

3)技术分析。其任务是论证现有的技术水平和开发能力是否支持开发的全过程,并达到系统功能和性能的目标。

11.试画出基于计算机的系统结构模板。

答:基于计算机的系统结构模板如下图所示:

面向服务的软件体系架构总体设计分析

面向服务的软件体系架构总体设计分析 计算机技术更新换代较为迅速,软件开发也发生较多改变,传统软件开发体系已经无法满足当前对软件生产的需求。随着计算机不断普及,软件行业必须由传统体系向面向服务架构转变。随着软件应用范围不断增大,难度逐渐上升,需要通过成本手段,提高现有资源利用率。通过面向服务体系结构可提高软件行业应对敏捷性,实现软件生产的规模化、产业化、流水线化。 1 软件危机的表现 1.1 软件成本越来越高 计算机最初主要用作军事领域,其软件开发主要由国家相关部分扶持,因此无需考虑软件开发成本。随着计算机日益普及,计算机已经深入到人们生活中,软件开发大多面向民用,因此软件开发过程中必须考虑其开发成本,且计算机硬件成本出现跳水现象,由此导致软件开发成本比例不断提升。 1.2 开发进度难以控制 软件属于一种智力虚拟产品,软件与其他产品最大不同是其存在前提为内在逻辑关系。相较于计算机硬件粗生产情况,传统工作中的加班及倒班无法应用到软件开发中,提升软件开发进度无法通过传统生产方法实现。且在软件开发过程中会出现一些意料不到的因素,影响软件开发流程,导致软件开发未按照预期计划展开。由此可见不仅软件项目开发难度不断增加,软件系统复杂复杂性也不断提升,即使增加

开发人手也未必能取得良好效果。 1.3 软件质量难以令人满意 软件开发另一常见问题就是在软件开发周期内将产品开发出来,但软件本身表现出的性能却未达到预期目标,难以满足用户多方位需求。该问题属于软件行业开发通病,当软件程序出现故障时会导致巨大损失。在此过程中软件开发缺乏有效引导,开发人员在开发过程中往往立足于自身想法展开软件开发,因此软件开发具有较强主观性,与客户想法不一致,因此导致软件产品质量难以让客户满意。 1.4 软件维护成本较高 与硬件设施一样,软件在使用过程中需要对其进行维护。软件被开发出来后首先进行公测,发现其软件存在的问题,并对其重新编辑提升软件性能,从而为客户提供更好服务。其次软件需要定时更新,若程序员在开发过程中并未按照相关标准执行会导致其缺乏技术性文档,提升软件使用过程中的维护难度。另外在新增或更新软件过程中可能导致出现新的问题,影响软件正常使用,并可能造成新的问题。由此可见软件开发成功后仍旧需要花费较高成本进行软件维护。 2 面向服务体系架构原理 2.1 面向服务体系架构定义 面向服务体系构架从本质上是一种应用体系架构,体系所有功能均是一种独立服务,所有服务均通过自己的可调用接口与程序相连,因此可通过服务理论实现相关服务的调动。面向服务体系构架从本质上来说就是为一种服务,是服务方通过一系列操作后满足被服务方需求的

软件设计师知识点

·在输入输出控制方法中,采用DMA可以使设备与主存之间的数据块传送无须CPU干预。 ·内存容量为4GB,即内存单元的地址宽度为32位;字长为32位,即要求数据总线的宽度为32位。 ·ARP攻击造成网络无法跨网段通信的原因是:伪造网关ARP报文使得数据包无法发送到网关。 ·软件商标权的权利人是:软件注册商标所有人。 ·利用商业秘密权可以对软件的信息、经营信息提供保护。(管理方法、经营方法、产销策略、客户情报、软件市场的分析、预测报告、和对未来的发展规划、招投标中的标底以及标书内容)。 ·某项目组拟开发了一个大规模系统,且具备了相关领域以及类似规模系统的开发经验,则瀑布模型最适合开发此项目。 ·编译程序分析源程序的阶段依次是:词法分析、语法分析、语义分析。 ·结构冗余:按其方法可以分为静态、动态和混合冗余。 信息冗余:为了检测或纠正信息在运算或传输中的错误另外加的一部分信息。时间冗余:以重复执行指令或程序来消除瞬时错误带来的影响。 冗余附加技术:是指为实现上述冗余技术所需要的资源和技术。 ·软件过程的改进框架:过程改进基础设施、过程改进线路图、软件过程评估方法、软件过程改进计划。每一次改进要经历4个步骤:评估、计划、改进和监控。 ·软件复杂性度量的参数:软件的规模、软件的难度、软件的结构、软件的智能度。 ·软件系统的可维护性评价指标包括可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率,不包括可扩展性。 ·开-闭原则是面向对象的可复用设计的基石。开-闭原则是指一个软件实体应当对扩展开放,对修改关闭;里氏代换原则是指任何基类对象可以出现的地方,子类对象一定可以出现。依赖倒转原则就是要依赖于抽象,而不依赖于实现,或者说要针对接口编程,不要针对实现编程。 ·汇编语言的指令语句必须要有操作码字段,可以没有操作数字段。 ·贪心算法不能保证求得0-1背包问题的最优解。

软件工程试题及答案34385

软件工程期末试卷(A) 说明:本试卷为04级计算机专业(专升本)软件工程期末试卷,总计100分,时间100分钟 一、选择题:(每题1分,共20分)(将答案写在题号前的()中) ( C )1. 软件是()。 A. 处理对象和处理规则的描述 B. 程序 C. 程序及其文档 D. 计算机系统 ( B )2. 软件需求规格说明的内容不应包括()。 A. 主要功能 B. 算法的详细描述 C. 用户界面及运行环境 D. 软件的性能 ( B )3. 程序的三种基本控制结构是()。 A. 过程、子程序和分程序 B. 顺序、选择和重复 C. 递归、迭代和回溯 D. 调用、返回和转移 ( D) 4. 面向对象的分析方法主要是建立三类模型,即( )。 A) 系统模型、ER模型、应用模型 B) 对象模型、动态模型、应用模型 C) E-R模型、对象模型、功能模型 D) 对象模型、动态模型、功能模型 ( C ) 5. 在E-R模型中,包含以下基本成分( )。 A) 数据、对象、实体 B) 控制、联系、对象 C) 实体、联系、属性 D) 实体、属性、操作 ( A ) 6. 各种软件维护的类型中最重要的是( )。 A) 完善性维护B) 纠错性维护C) 适应性维护D) 预防性维护 ( B ) 7.软件测试的目标是()。 A. 证明软件是正确的 B. 发现错误、降低错误带来的风险 C. 排除软件中所有的错误 D. 与软件调试相同 ( D )8.软件生命周期中所花费用最多的阶段是() A.详细设计 B.软件编码 C.软件测试 D.软件维护 ( C )9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0, 1.001.设计这组测试用例的方法是()A.条件覆盖法 B.等价分类法 C.边界值分析法 D.错误推测法 ( D )10、详细设计的基本任务是确定每个模块的( )设计 A.功能 B.调用关系 C.输入输出数据 D.算法 ( A )11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。对于两个问题P1和P2,如果C(P1)>C(P2)显然E(P1)>E(P2),则得出结论E(P1+P2)>E(P1)+E(P2)就是:() A.模块化的根据B.逐步求精的根据C.抽象的根据D.信息隐藏和局部化的根据 ( D )12.下面几种白箱测试技术,哪种是最强的覆盖准则() A.语句覆盖B.条件覆盖C.判定覆盖D.条件组合覆盖

软考软件设计师必做练习题附答案

软考软件设计师必做练习题及答案 软件设计师考试属于全国计算机技术与软件专业技术资格考试(简称计算机软件资格考试)中的一个中级考试。考试不设学历与资历条件,也不论年龄和专业,考生可根据自己的技术水平选择合适的级别合适的资格,但一次考试只能报考一种资格。考试采用笔试形式,考试实行全国统一大纲、统一试题、统一时间、统一标准、统一证书的考试办法。下面是希 赛小编整理的软考软件设计师考前必做的练习题。 试题一分析 本题主要考查类图和顺序图。 【问题 1】 需要分析此门禁系统的体系结构,根据体系结构的描述来看什么数据放在什么类中最 为合适。题目中提到:系统中的每个电控锁都有一个唯一的编号。锁的状态有两种:“已锁住”和“未锁住”。所以Lock 中含有锁编号和锁状态这两个属性。又因为题中有:在主机 上可以设置每把锁的安全级别以及用户的开锁权限。只有当用户的开锁权限大于或等于锁的 安全级并且锁处于“已锁住”状态时,才能将锁打开。因此,Lock 中还有锁的安全级别。 【问题 2】 首先,( 1 )、( 2 )是 FingerReader和LockController之间的交互。所以我们看题 目中是如何描述他们的交互的。题目中有“指纹采集器将发送一个中断事件给锁控器,锁控器从指纹采集器读取用户的指纹”,所以(1)应填“中断事件”,( 2 )应填“读取指纹”。(3 )是主机与UserInfo的交互,从图2-35中可以看出,UserInfo中存储了用户的指纹信息和开锁权限,所以( 3 )应是从 UserInfo读取用户的指纹信息和开锁权限。(4)空应填“读取锁的安全级别”。( 5 )是 MainFrame向自己发送的一条消息,从题目中的“主 机根据数据库中存储的信息来判断用户是否具有开锁权限,若有且锁当前处于已锁住状态,

软件工程考试题库

软件工程考试题库 Final approval draft on November 22, 2020

一填空题 1.用原型过程代替全部开发阶段,这种快速原型是(实验型或演化型)原型。 2.可行性研究实质上是进行一种简化、压缩了的(需求分析和设计)。 3.结构图的主要内容有(模块)、(模块的控制关系)、(模块的信息传递)。 4.模块之间的联系越紧密,其耦合性就越(强),模块的独立性就越(差)。 5.软件工程研究的主要内容包括软件开发技术和软件开发管理两个方面,在软件开发技术方面,主要是研究(软件开发方法)、(软件开发过程)、(软件开发工具和环境),在软件开发管理方面,主要是研究(软件管理学)、(软件经济学)、(软件心理学)。 6.状态图反映了(状态)与(事件)的关系,状态图确定了由事件序列引起的(状态序列)。 7.可行性研究实质上是进行一种简化、压缩了的(需求分析和设计)。 8.在数据流图中,(数据流)是数据在系统内传播的路径,因此由一组(成分固定的数据项)组成,加工(又称为数据处理)是对数据流进行某些(操作或交换)。 9.(偶然内聚)指一个模块内的各处理元素之间没有任何联系,这是内聚程度最(差)的内聚。 10假如n个相同的系统(硬件或软件)进行测试,它们的失效时间分别是t1,t2,tn,则平均失效等待时间MTTF=(1/n )。 11(维护申请报告)是一种由用户产生的文档,它用作计划维护任务的基础。 12在软件开发和维护过程中,一个软件往往有许多版本,版本控制工具用来存储、更新、恢复和管理一个软件的(多个版本)。 13软件工具通常由工具、(工具接口)和用户工具三个部分组成。 14类的实例化是(对象)。 15形式化规约语言由(语法)、(语义)和(一组关系)组成。 16 软件质量保证应从(产品计划和设计)开始,直到投入使用和售后服务的软件生存期的每一个阶段中的每一步骤。 17 为了提高软件的质量,软件质量保证的任务大致可归结为以下8类:(正确定义用户要求)、(技术方法的应用)、(提高软件开发的工程能力)、(软件的复用)、(发挥每个开发者的能力)、(组织外部力量协作)、(排除无效劳动)、(提高计划和管理质量)。 18 软件测试时需要的三类信息,分别是(软件配置)、(测试配置)、(测试工具)。 19 在面向对象方法中,信息隐蔽通过对象的(封装性)来实现,类结构分离了(接口)与(实现),从而支持了信息隐蔽。 20 增量模型在开发工程中以一系列(增量方式)开发系统,推迟某阶段的(细节),从而(尽早)产生工作软件。 二选择题 1.(A)是计算机程序及其说明程序的各种文档。 A 软件 B文档 C 数据 D 程序 2.软件生存周期包括可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、(B)和维护等活动。 A 应用 B 测试 C 检测 D 以上答案都不正确 3.建立原型的目的不同,实现原型的途径也有所不同,下列不正确的类型是(B)。 A 用于验证软件需求的原型 B 垂直原型 C 用于验证设计方案的原型 D 用于演化出目标系统的原型

软件设计师知识点

软件设计师考试的总体要求 软件设计师主要完成三项工作:(1)编写文档;(2)组织指导程序员开展工作;(3)软件优化和集成测试,开发高质量软件。本工作要求具有工程师的实际工作能力和业务水平。具体讲就是,通过本考试的合格人员,能根据软件开发项目管理和软件工程的要求,按照系统总体设计规格说明书进行软件设计,编写程序设计规格说明书等相应的文档,组织和指导程序员编写、调试程序,并对软件进行优化和集成测试,开发出符合系统总体设计要求的高质量软件。 考试内容要求 知识点的掌握程度从深到浅可分五个层次,分别要求为熟练掌握、掌握、理解、熟悉和了解。其中包括2个熟练掌握(常用数据结构和常用算法、软件设计的方法和技术)、8个掌握、2个熟悉,1个正确理解,具体体现在以下12个方面: (1) 掌握数据表示、算术和逻辑运算; (2) 掌握相关的应用数学、离散数学的基础知识; (3) 掌握计算机体系结构以及各主要部件的性能和基本工作原理; (4) 掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识; (5) 熟练掌握常用数据结构和常用算法; (6) 熟悉数据库、网络和多媒体的基础知识; (7) 掌握C程序设计语言,以及C++、Java、Visual Basic、Visual C++中的一种程序设计语言; (8) 熟悉软件工程、软件过程改进和软件开发项目管理的基础知识; (9) 熟练掌握软件设计的方法和技术; (10) 掌握常用信息技术标准、安全性,以及有关法律、法规的基本知识; (11) 了解信息化、计算机应用的基础知识;

(12) 正确阅读和理解计算机领域的英文资料。 分析:相对于2001年考试大纲,新大纲对知识面的要求更宽,更注重软件设计开发的实践能力,这一点充分体现在下午考试中。考试内容除了技术要求外,还增加了对软件工程实践能力、安全性、标准化、法律法规等方面知识的要求,毕竟软件设计师是软件产业的骨干,因此考试要求相对较高。 二、考试范围 考试科目1:计算机与软件工程知识 本部分包含以下内容: l 计算机科学基础 l 计算机系统知识 l 系统开发和运行知识 l 安全性知识 l 标准化知识 l 信息化基础知识 l 计算机专业英语 1.计算机科学基础 1.1 数制及其转换 ·二进制、十进制和十六进制等常用制数制及其相互转换 1.2 数据的表示 ·(原码、反码、补码、移码表示,整数和实数的机内表示,精度和溢出) ·非数值表示(字符和汉字表示、声音表示、图像表示)

软件工程考试题库

软件工程概述 一单项选择 1.软件生命周期一般包括:软件开发期和软件运行期,下述(D)不是软件开发期所应包含的内容。 A需求分析B结构设计C程序编制D软件维护 2.软件是一种逻辑产品,它的开发主要是(A)。 A研制B拷贝C再生产D复制 3.以文档作为驱动,适合于软件需求很明确的软件项目的生存周期模型是(C)。 A喷泉模型B增量模型C瀑布模型D螺旋模型 4.在软件生存周期中,(B)阶段必须要回答的问题是“要解决的问题是做什么?”。 A详细设计B可行性分析和项目开发计划C概要设计D软件测试 5.软件产品与物质产品有很大区别,软件产品是一种(C)产品 A有形B消耗C逻辑D文档 6.(C)把瀑布模型和专家系统结合在一起,在开发的各个阶段上都利用相应的专家系统来帮助软件人员完成开发工作。 A原型模型B螺旋模型C基于知识的智能模型D喷泉模型 7.(B)阶段是为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。 A概要设计B详细设计C编码D测试 8.下列软件开发模型中,适合于那些不能预先确切定义需求的软件系统的开发的模型是(A)。 A原型模型B瀑布模型C基于知识的智能模型D变换模型 9.下列软件开发模型中,以面向对象的软件开发方法为基础,以用户的需求为动力,以对象来驱动的模型是(C)。 A原型模型B瀑布模型C喷泉模型D螺旋模型 10.下列软件开发模型中,支持需求不明确,特别是大型软件系统的开发,并支持多种软件开发方法的模型是(D)。 A原型模型B瀑布模型C喷泉模型D螺旋模型 11.软件特性中,使软件在不同的系统约束条件下,使用户需求得到满足的难易程度称为(C)。 A可修改性B可靠性C可适应性D可重用性 12.软件特性中,一个软件能再次用于其他相关应用的程度称为(B)。 A可移植性B可重用性C容错性D可适应性 13.软件特性中,(A)是指系统具有清晰的结构,能直接反映问题的需求的程度。 A可理解性B可靠性C可适应性D可重用性 14.软件特性中,软件产品交付使用后,在实现改正潜伏的错误、改进性能、适应环境变化等方面工作的难易程度称为(B)。 A可理解性B可维护性C可适应性D可重用性 15.软件特性中,软件从一个计算机系统或环境移植到另一个上去的难易程度指的是(C). A可理解性B可修改性C可移植性D可重用性 16.软件特性中,在给定的时间间隔内,程序成功运行的概率指的是(D)。 A有效性B可适应性C正确性D可靠性 17.软件特性中,允许对软件进行修改而不增加其复杂性指的是(A)。 A可修改性B可适应性C可维护性D可移植性 18.软件特性中,多个软件元素相互通讯并协同完成任务的能力指的是(B)。 A可理解性B可互操作性C可维护性D可追踪性 19.软件特性中,根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行逆向

2019年上半年软件设计师上午试题及答案

2019年上半年软件设计师上午试题及答案 1.计算机执行指令的过程中,需要由()产生每条指令的操作信号并将信号送往相应的部件进行处理,以完成指定的操作。 A.CPU的控制器 B.CPU的运算器 C.DMA控制器 D.Cache控制器 2.DMA控制方式是在()之间直接建立数据通路进行数据的交换处理。 A.CPU与主存 B.CPU与外设 C.主存与外设 D.外设与外设 3.CPU访问存储器时,被访问数据一般聚集在一个较小的连续存储区域中。若一个存储单元已被访问,则其邻近的存储单元有可能还要被访问,该特性被称为() A.数据局部性 B.指令局部性 C.空间局部性 D.时间局部性 4.某系统由3个部件构成,每个部件的千小时可靠度都为R,该系统的千小时可靠度为(1-(1-R)2)R,则该系统的构成方式是()。 A.3个部件串联

B.3个部件并联 C.前两个部件并联后与第三个部件串联 D.第一个部件与后两个部件并联构成的子系统串联 5.在()校验方法中,采用模2运算来构造校验位。 A.水平奇偶 B.垂直奇偶 C.海明码 D.循环冗余 6.以下关于RISC (精简指令系统计算机)技术的叙述中,错误的是()。 A.指令长度固定、指令种类尽量少 B.指令功能强大、寻址方式复杂多样 C.增加寄存器数目以减少访存次数 D.用硬布线电路实现指令解码,快速完成指令译码 7.()防火墙是内部网和外部网的隔离点,它可对应用层的通信数据流进行监控和过滤。 A.包过滤 B.应用级网关 C.数据库 D.WEB 8.下述协议中与安全电子邮箱服务无关的是()。 A.SSL

B.HTTPS C.MIME D.PGP 9-10.用户A和B要进行安全通信,通信过程需确认双方身份和消息不可否认。A 和B通信时可使用()来对用户的身份进行认证;使用()确保消息不可否认。 A.数字证书 B.消息加密 C.用户私钥 D.数字签名 A.数字证书 B.消息加密 C.用户私钥 D.数字签名 11.震网(Stuxnet)病毒是一种破坏工业基础设施的恶意代码,利用系统漏洞攻击工业控制系统,是一种危害性极大的()。 A.引导区病毒 B.宏病毒 C.木马病毒 D.蠕虫病毒 12.刘某完全利用任职单位的实验材料、实验室和不对外公开的技术资料完成了一项发明。以下关于该发明的权利归属的叙述中,正确的是()。

软件设计师考试大纲

软考专家谈软考(六) 文章来源:中国计算机技术职业资格网时间:2010-03-18 软件设计师备考分析 软件设计师近几年的考试形式与考核内容已经完全趋于稳定,从2007年至2009年的考试情况分析来看,考核形式与内容变化不大,作为考生应该紧紧扣住2009新大纲,有针对性、有策略地复习。 本文将总结近几年考试的内容分布,给出软件设计师上、下午题目的组成,以帮助考生复习。 1、软件设计师上午试题 分析近三年的考试情况,上午试题的知识点分布如表1所示。 表1近三年上午试题考核内容分布情况 鉴于软件设计师上下午考试的侧重点不同,考生在准备上午考试的时候,需要注意掌握知识面的宽度,由于上午试题出题形式的局限性,必然不会出现

较深的分析与设计类考题,因此考生应该在基本知识上多下工夫。 以数据结构为例,在多次考试中出现了考察考生对栈的理解,其内容无非是栈的操作以及栈的后进先出的特性,上午试题将很难考察栈的具体实现问题。同样,对于面向对象基础知识,更多的是考察面向对象分析、面向对象设计、类、对象、封装、继承、消息等基本概念;而算法则考察各种不同算法的时间和空间复杂度问题。 当然,考生在掌握基本概念的同时,也需要关注基本应用题型,例如很多基本知识结合一些实际的应用小例子,如设计模式、数据结构、程序语言等考核点就曾多次出现。笔者推荐考生参照官方推荐的教材进行复习,因为该教材基本涵盖了所有上午试题内容。 2.软件设计师下午试题 软件设计师下午的考核内容分布如表2所示。 表2近三年下午试题考核内容分布情况 近三年来的下午考题一直都是试题一到试题四是必答题目,试题五至试题七是选答题目,考核形式一直都没有发生变化,但笔者在观察2009年的考试时候出现了两个不同点,值得引起考生的注意: (1)算法与C语言的结合 算法早期的出题多是以伪代码或者流程图的形式出现,但2009年算法已经和C语言结合在一起出题,分析考试大纲,C语言应该是软件设计师必须掌握的内容之一,相信这也是2009新大纲出来后考试出题所作的调整,考生需要注意不仅要掌握算法的原理,还需要掌握算法的具体实现,尤其是使用C语言实现。另外,由于C语言与算法结合出现,意味着C语言本身是否还需要单独考

《软件工程》期中考试试题

可行性研究的目的是( ) 《软件工程》期中考试试题 选择题(每小题 1 分,共 40 分) 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( )。 A. 软件工程 B.软件周期 C.软件危机 D.软件产生 ( )是将系统化的、 规范的、 可定量的方法应用于软件的开发、 运行和维护的过程。 A 软件过程 B 软件测试 C 软件生存周期 D 软件工程 从结构化的瀑布模型看, 在它的生命周期中的八个阶段中, 下面的几个选项中哪个环节 出错,对软件的影响最大 ( )。 A 、详细设计阶段 B 、概要设计阶段 一个软件项目是否进行开发的结论是在( A. 软件开发计划 B ? 可行性报告 )文档中做出的。 C ?需求规格说明书 D.测试报告 需求分析的产品是( ) A ?数据流程图案 B .数据字典 C ?判定表 D ?需求规格说明书 需求分析中开发人员要从用户那里了解( ) A ?软件做什么 B ?用户使用界面 C .输入的信息 D ?软件的规模 瀑布模型本质上是一种( )模型。 A. 线性顺序 B.顺序迭代 C.线性迭代 D.早期产品 瀑布模型存在的问题是( )。 A ?用户容易参与开发 B ?缺乏灵活性 C ?用户与开发者易沟通 D ?适用可变需求 螺旋模型是一种将瀑布模型和( )结合起来的软件开发模型。 A ?增量模型 B .专家系统 C ?喷泉模型 D ?变换模型 原型化方法是用户和设计者之间执行的一种交互构成,适用于( )系统。 A ?需求不确定性高的 B ?需求确定的 C .管理信息 D ?实时 软件可行性研究实质上是要进行一次 ( )需求分析、设计过程。 A 、简化、压缩的 B 、详细的 C 、彻底的 D 、深入的 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. C 、 需求分析阶段 D 、 测试和运行阶段

2019年软件设计师考试真题及答案

2019下半年软件设计师考试真题及答案-上午卷 1、在cpu内外常需设置多级高速缓存cache,主要目的是()。 A、扩大主存的存储容量 B、提高cpu访问主存数据或指令的效率 C、扩大存储系统的存量 D、提高cpu访问内外存储器的速度 答案:D(如果D中没有“内”则选B) 2、某系统的可靠性结构框图如下图所示,假设部件1、2、3的可靠度分别为;;(部件2、3为冗余系统)若要求该系统的可靠度不小于,则进行系统设计时,部件4的可靠度至少应为()。 答案:A 3、计算机运行过程中,进行中断处理时需保存现场,其目的是()。 A、防止丢失中断处理程序的数据 B、防止对其他程序的数据造成破坏 C、能正确返回到被中断的程序继续执行 D、能为中断处理程序提供所需的数据 答案:C 4、内存按字节编址,地址从A0000H到CFFFFH的内存,共存()字节,若用存储容量为64k*8bit的存储器芯片构成该内存空间,至少需要()片。 A、80k B、96 k C、160 k D、192 k A、2 B、3 C、5 D、8 答案:D、B 5、执行指令时,将每一节指令都分解为取指、分析和执行三步,已知取指时间t取指=5△t,分析时间t分析= 2△t.执行时间t执行= 3△t如果按照重叠的流水线方式执行指令,从头到尾执行完500条指令需()△t. A、2500 B、2505 C、2510 D、2515 答案:B 6、下列协议中,与电子邮箱服务的安全性无关的是() A、SSL B、HTTPS C、MIME D、PGP 答案:C

7、下列算法中,不属于公开密钥加密算法的是()。 A、ECC B、DSA C、RSA D、DES 答案:D 8、kerberos系统中可通过在报文中加入()来防止重放攻击。 A、会话密钥 B、时间戳 C、用户ID D、私有密钥 答案:B 9、某电子商务网站向CA申请了数字证书,用户可以通过使用()验证()的真伪来确定该网站的合法性。 A、CA的公钥 B、CA的签名 C、网站的公钥 D、网站的私钥 A、CA的公钥 B、CA的签名 C、网站的公钥 D、网站的私钥 答案:A、B 10、李某受非任职单位委托,利用该单位实验室实验材料和技术资料开发了一项软件产品,对该软件的权利归属,表达正确的是()。 A、该软件属于委托单位 B、若该单位与李某对软件的归属有特别的约定,则遵从约定;无约定的原则上归属于李某 C、取决于该软件是否属于单位分派给李某的 D、无论李某与该单位有无特别约定,该软件属于李某 答案:B 11、李工是某软件公司的软件设计师,每当软件开发完成均按公司规定申请软件著作权,该软件的著作权()。 A、应由李工享有 B、应由公司和李工共同享有 C、应由公司享有 D、除署名权以外,著作权的其他权利由李工享有 答案:C 12、某考试系统的部分功能描述如下,审核考生报名表,通过审核的考生登录系统,系统自动为其生成一套试题,考试中心提供标准答案,问卷老师问卷,提交考生成绩,考生查看自己的成绩。若用数据流图对该系统进行建模,则()不是外部实体。. A、考生 B、考试中心 C、问卷老师 D、试题

软件工程考试题答案

专业:移动通信科目:软件工程 一、单项选择题 1.好的软件结构应该是() A.低耦合、低内聚 B.高耦合、高内聚 C.高耦合、低内聚 D.低耦合、高内聚 答案:D 2.需求分析中开发人员要从用户那里了解() A.软件的规模 B.软件做什么 C.用户使用界面 D.输入的信息 答案:B 3.软件调试技术包括() A.演绎法 B.循环覆盖 C.边界值分析 D.集成测试 答案:A 4.软件需求规格说明书的内容不应包括对()的描述。 A.用户界面及运行环境 B.主要功能 C.算法的详细过程 D.软件的性能 答案:C 5.常用动词或动词词组来表示() A.属性 B.关联 C.类 D.对象 答案:B 6.软件可行性研究实质上是要进行一次()需求分析、设计过程。 A.详细的 B.深入的 C.彻底的 D.简化、压缩的 答案:D 7.软件部分的内部实现与外部可访问性分离,这是指软件的()A.继承性 B.共享性 C.抽象性 D.封装性 答案:D

8.软件部分的内部实现与外部可访问性分离,这是指软件的() A.共享性 B.继承性 C.抽象性 D.封装性 答案:D 9.在详细设计阶段,经常采用的工具有() A.PDL B. DFD C.SC D.SA 答案:A 10.数据字典是对数据定义信息的集合,它所定义的对象都包含于()A.软件结构 B.程序框图 C.方框图 D.数据流图 答案:D 11.软件工程结构化生命周期方法,提出将软件生命周期划分为计划、开发和运行三个时期,下述()工作应属于软件开发期的内容。 A.问题定义 B.可行性研究 C.都不是 D.总体设计 答案:D 12.应用执行对象的操作可以改变该对象的() A.功能 B.数据 C.属性 D.行为 答案:C 13.软件质量因素不包括() A.可理解性 B.可测试性 C.正确性 D.高性能 答案:D 14.软件可行性研究实质上是要进行一次()需求分析、设计过程。 A.详细的 B.彻底的 C.深入的 D.简化、压缩的 答案:D 15.结构化设计是一种面向()的设计方法。

软件工程复习题库带答案完整版

一、选择题 1、白盒测试法是通过分析程序的(C)来设计测试用例的。 A.应用范围 B.功能 C.内部逻辑 D.输入数据 2、风险预测从两个方面评估风险,即风险发生的可能性以及(D)。 A.风险产生的原因 B.风险监控技术 C.风险能否消除 D.风险发生所产生的后果 3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和(C)。 A.好的计划 B.不断的发布 C.反馈和勇气 D.持续集成 4、等价分类法的关键是(C)。 A.确定等价类的边界条件 B.按照用例来确定等价类 C.划分等价类 D.确定系统中相同和不同的部分 5、下列不属于黑盒测试的技术是(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途 D.模块的功能 6、为了提高模块的独立性,模块之间最好是(D)耦合。 A.控制耦合 B.公共耦合 C.内容耦合 D.数据耦合 7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用(A)来表述“谁做”。 A.角色 B.活动 C.制品 D.工作流 8、功能性注释嵌入在源程序内部,它是用来说明(A)。 A.程序段或语句的功能 B.模块的接口 C.数据的名称和用途 D.模块的功能 9、在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法有( C )。 A.只有结构化语言 B.有结构化语言和判定树 C.有结构化语言、判定树和判定表 D.有判定树和判定表 10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行( B )维护。 A.正确性 B.适应性 C.完善性 D.预防性 11、软件危机的主要原因是(A)。 A软件本身特点与开发方法B对软件的认识不够 C软件生产能力不足D软件工具落后 12、DFD是常用的进行软件需求分析的图形工具,其基本符号是(C)。 A.输入、输出、外部实体和加工 B.变换、加工、数据流和存储 C.加工、数据流、数据存储和外部实体 D.变换、数据存储、加工和数据流

软件设计师面向对象方法学(一)

[模拟] 软件设计师面向对象方法学(一) 选择题 第1题: 下列关于静态多态实现重载的描述中正确的是______。 A.重载的方法(函数)的方法名(函数名)可以不同 B.重载的方法(函数)必须在返回值类型以及参数类型上有所不同 C.重载的方法(函数)必须在参数顺序或参数类型上有所不同 D.重栽的方法(函数)只需在返回值类型上有所不同 参考答案:C 第2题: 程序设计语言提供了基本类型及其相关的操作,而______则允许开发者自定义一种新的类型及其相关的操作。 A.对象 B.实例 C.类 D.引用 参考答案:C 第3题: ______表示了对象间“is-a”的关系。 A.组合 B.引用 C.聚合 D.继承 参考答案:D 第4题: 若对象A可以给对象B发送消息,那么______。 A.对象B可以看见对象A B.对象A可以看见对象B C.对象A、B相互不可见

D.对象A、B相互可见 参考答案:B 第5题: 类描述了一组对象共同的特性,下列叙述中正确的是______。 A.类本身不能具有变量 B.对象具有类定义的所有变量的一份拷贝 C.对象间不能共享类定义的变量 D.可通过类名访问静态变量(类变量) 参考答案:D (6) 反映了类间的一种层次关系,而(7) 反映了一种整体与部分的关系。 第6题: A.继承 B.组合 C.封装 D.多态 参考答案:A 第7题: A.继承 B.组合 C.封装 D.多态 参考答案:B 第8题: 下列叙述中正确的是______。 A.d西向对象程序设计语言都不支持过程化的程序设计 B.面向对象系统只可采用面向对象程序设计语言实现 C.某些过程化程序设计语言也可实现面向对象系统

软件设计师水平考试大纲(新版)

2004年软件设计师水平考试大纲(新版) 一、考试说明 1.考试要求: (1) 掌握数据表示、算术和逻辑运算; (2) 掌握相关的应用数学、离散数学的基础知识; (3) 掌握计算机体系结构以及各主要部件的性能和基本工作原理; (4) 掌握操作系统、程序设计语言的基础知识,了解编译程序的基本知识; (5) 熟练掌握常用数据结构和常用算法; (6) 熟悉数据库、网络和多媒体的基础知识; (7) 掌握C程序设计语言,以及C++、Java、Visual、Basic、Visual C++中的一种程序设计语言; (8) 熟悉软件工程、软件过程改进和软件开发项目管理的基础知识; (9) 熟悉掌握软件设计的方法和技术; (10) 掌握常用信息技术标准、安全性,以及有关法律、法规的基本知识; (11) 了解信息化、计算机应用的基础知识; (12) 正确阅读和理解计算机领域的英文资料。 2.通过本考试的合格人员能根据软件开发项目管理和软件工程的要求,按照系统总体设计规格说明书进行软件设计,编写程序设计规格说明书等相应的文档,组织和指导程序员编写、调试程序,并对软件进行优化和集成测试,开发出符合系统总体设计要求的高质量软件;具有工程的实际工作能力和业务水平。 3.本考试设置的科目包括: (1) 计算机与软件工程知识,考试时间为150分钟,笔试; (2) 软件设计,考试时间为150分钟,笔试。 二、考试范围 考试科目1:计算机与软件工程知识 1.计算机科学基础 1.1 数制及其转换 · 二进制、十进制和十六进制等常用制数制及其相互转换

1.2 数据的表示 · 数的表示(原码、反码、补码、移码表示,整数和实数的机内表示,精度和溢出) · 非数值表示(字符和汉字表示、声音表示、图像表示) · 校验方法和校验码(奇偶校验码、海明校验码、循环冗余校验码) 1.3 算术运算和逻辑运算 · 计算机中的二进制数运算方法 · 逻辑代数的基本运算和逻辑表达式的化简 1.4 数学基础知识 · 命题逻辑、谓词逻辑、形式逻辑的基础知识 · 常用数值计算(误差、矩阵和行列式、近似求解方程、插值、数值积分) · 排列组合、概率论应用、应用统计(数据的统计分析) · 运算基本方法(预测与决策、线性规划、网络图、模拟) 1.5 常用数据结构 · 数组(静态数组、动态数组)、线性表、链表(单向链表、双向链表、循环链表)、队列、栈、树(二叉树、查找树、平衡树、线索树、线索树、堆)、图等的定义、存储和操作 · Hash(存储地址计算,冲突处理) 1.6 常用算法 · 排序算法、查找算法、数值计算方法、字符串处理方法、数据压缩算法、递归算法、图的相关算法 · 算法与数据结构的关系、算法效率、算法设计、算法描述(流程图、伪代码、决策表)、算法的复杂性 2.计算机系统知识 2.1 硬件知识 2.1.1 计算机系统的组成、体系结构分类及特性 · CPU和存储器的组成、性能和基本工作原理 · 常用I/O设备、通信设备的性能,以及基本工作原理 · I/O接口的功能、类型和特性 · I/O控制方式(中断系统、DMA、I/O处理机方式) · CISC/RISC,流水线操作,多处理机,并行处理 2.1.2 存储系统 · 主存-Cache存储系统的工作原理 · 虚拟存储器基本工作原理,多级存储体系的性能价格

《软件工程》期末考试题及答案++精华版!!

《软件工程》期末考试样题 一、填空题 1.软件开发模型有(瀑布模型)(螺旋模型)第四代技术模型(原型模型)构件组装模型、混合模型。 2.可行性研究一般可以从(经济)可行性、(技术) 可行性、运行可行性、法律可行性和开发可行性等方面来研究。 3.现在向银行存款,年利率为i,若希望在n 年后从银行得到F元,现在应该存入的钱数为 (F/(1+i)n)。 4.数据流图的基本符号包括(数据输入的源 点和数据输出的汇点)、(加工)、(数据流)、(数据存储文件)。 5.Jackson图除了可以表达程序结构外,还可以 表达(数据结构),它首先要分析(数据结构),并用适当的工具来描述。 6.详细设计的工具有图形工具)、表格工具和(语言工具)。 7.IPO图由(输入)、处理和(输出)三个框组 成。这个图的特点是能够直观的显示三者之间的关系。 8.面向对象技术是一整套关于如何看待(软件系统)和(现实世界)的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学。面向对象方法是一种运用(对象)、(类)、(继承)、(封装)、聚集、消息传送、多态性等概念来构造系统的软件开发方法。 二、单项选择题 1.下列( A )属于系统软件。 A.WINDOWS 2000 B.Word C.Flash D.3D MAX 2.下列哪个图是N-S图的构件( C )。 A. B.

3.对于螺旋模型,下列( D 卡尔坐标表达的活动。 A. 制定计划 B. 实施工程 C. 风险分析 D. 程序编码 三、多项选择题 1.软件危机可以表现为(ABXD A.产品不符合用户的需要 B.软件产品的质量差 C.软件的可维护性差 D.软件的价格昂贵 2.Jackson图中一般可能包括(A.表头 B.表体 C.表名 D.字段名 AD )。、内容耦合是最高程度的耦合 、应该尽量使用内容耦合 、高级语言一般设计成允许内容耦合的形式、如果一个模块有多个入口,可能发生内容.下列属于不标准的书写格式( BCD )。、书写时适当使用空格分隔 、一行写入多条语句 、嵌套结构不使用分层缩进的写法 、程序中不加注释 ,错误的) 软件生存周期是从软件开始开发到开发结束 () 系统流程图是一个典型的描述逻辑系统的传() 数据流图和数据字典共同构成系统的逻辑 A

软件设计师考试知识点汇总(一)

软件设计师考点知识点汇总(一) 2016年下半年软件设计师考试即将进行,进入全面复习的你是否已是胸有成竹,下面小编整理了一部分考点知识点汇总,希望对各位备考能有所帮助。 IP地址的概念 我们知道因特网是全世界范围内的计算机联为一体而构成的通信网络的总称。联在某个网络上的两台计算机之间在相互通信时,在它们所传送的数据包里都会含有某些附加信息,这些附加信息就是发送数据的计算机的地址和接受数据的计算机的地址。象这样,人们为了通信的方便给每一台计算机都事先分配一个类似我们日常生活中的电话号码一样的标识地址,该标识地址就是我们今天所要介绍的IP地址。根据TCP/IP协议规定,IP地址是由32位二进制数组成,而且在INTERNET范围内是唯一的。例如,某台联在因特网上的计算机的IP地址为:11010010 01001001 10001100 00000010 很明显,这些数字对于人来说不太好记忆。人们为了方便记忆,就将组成计算机的IP地址的32位二进制分成四段,每段8位,中间用小数点隔开,然后将每八位二进制转换成十进制数,这样上述计算机的IP地址就变成了:210.73.140.2。 IP地址的分类 因特网是把全世界的无数个网络连接起来的一个庞大的网间网,每个网络中的计算机通过其自身的IP地址而被唯一标识的,据此我们也可以设想,在INTERNET上这个庞大的网间网中,每个网络也有自己的标识符。这与我们日常生活中的电话号码很相像,例如有一个电话号码为0515163,这个号码中的前四位表示该电话是属于哪个地区的,后面的数字表示该地区的某个电话号码。与上

面的例子类似,我们把计算机的IP地址也分成两部分,分别为网络标识和主机标识。同一个物理网络上的所有主机都用同一个网络标识,网络上的一个主机(包括网络上工作站、服务器和路由器等)都有一个主机标识与其对应?IP地址的4个字节划分为2个部分,一部分用以标明具体的网络段,即网络标识;另一部分用以标明具体的节点,即主机标识,也就是说某个网络中的特定的计算机号码。例如,盐城市信息网络中心的服务器的IP地址为210.73.140.2,对于该IP地址,我们可以把它分成网络标识和主机标识两部分,这样上述的IP地址就可以写成: 网络标识:210.73.140.0 主机标识: 2 合起来写:210.73.140.2 由于网络中包含的计算机有可能不一样多,有的网络可能含有较多的计算机,也有的网络包含较少的计算机,于是人们按照网络规模的大小,把32位地址信息设成三种定位的划分方式,这三种划分方法分别对应于A类、B类、C类IP地址。 IP地址的类型 A类IP地址 一个A类IP地址是指,在IP地址的四段号码中,第一段号码为网络号码,剩下的三段号码为本地计算机的号码。如果用二进制表示IP地址的话,A类IP 地址就由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是“0”.A类IP地址中网络的标识长度为7位,主机标识的长度为24位,A类网络地址数量较少,可以用于主机数达1600多万台的大型网络。

软件工程试题及答案

1. 软件生命期各阶段的任务是什么? 答:软件生命期分为7个阶段: 1、问题定义:要解决的问题是什么 2、可行性研究:确定问题是否值得解,技术可行性、经济可行性、操作可行性 3、需求分析:系统必须做什么 4、总体设计:系统如何实现,包括系统设计和结构设计 5、详细设计:具体实现设计的系统 6、实现:编码和测试 7、运行维护:保证软件正常运行。 2、软件重用的效益是什么? 答:1、软件重用可以显著地改善软件的质量和可靠性。 2、软件重用可以极大地提高软件开发的效率。 3、节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费。 3、自顶而下渐增测试与自底而上渐增测试各有何优、缺点? 答: ①自顶而下渐增测试 优点:不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能够尽早发现上层模块的接口错误。 缺点:需要存根程序,底层错误发现较晚。 ②自底而上渐增测试 优点与缺点和自顶而下渐增测试相反。 4 、提高可维护性的方法有哪些? 答:在软件工程的每一阶段都应该努力提高系统的可维护性,在每个阶段结束前

的审查和复审中,应着重对可维护性进行复审。 在需求分析阶段的复审中,应对将来要扩充和修改的部分加以注明。在讨论软件可移植性问题时,要考虑可能要影响软件维护的系统界面。 在软件设计的复审中,因从便于修改、模块化和功能独立的目标出发,评价软件的结构和过程,还应对将来可能修改的部分预先做准备。 在软件代码复审中,应强调编码风格和内部说明这两个影响可维护性的因素。 在软件系统交付使用前的每一测试步骤中都应给出需要进行预防性维护部分的提示。 在完成每项维护工作后,都应对软件维护本身进行仔细认真的复审。 为了从根本上提高软件系统的可维护性,人们正试图通过直接维护软件规格说明来维护软件,同时也在大力发展软件重用技术。 简述软件测试要经过哪几个步骤,每个步骤与什么文档有关。 【解答】 测试过程按 4 个步骤进行,即单元测试(模块测试)、集成测试(子系统测试和系统测试)、确认测试(验收测试)和平行运行。 单元测试集中对用源代码实现的每一个程序单元进行测试,与其相关的文档是单元测试计划和详细设计说明书。 集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。与其相关的文档是集成测试计划和软件需求说明书。 确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。与其相关的文档是确认测试计划和软件需求说明书。 平行运行把已经经过确认的软件纳入实际运行环境中,与其他系统成份组合在一起进行测试。与其相关的文档:用户指南、使用手册等。 36.简述容错技术的四种主要手段,并解释。

相关主题
文本预览
相关文档 最新文档