软件工程导论知识点

软件工程导论

一、各章知识点

1、 统一建模语言(UML):是一种面向对象的建模语言,它是运用统一的,标准化的标记

和定义实现对软件系统进行面向对象的描述和建模

2、 封装

从字面上理解,所谓封装就是把某个事物包起来,使外界不知道该事物的具体内容。 封装也就是信息隐藏,通过封装对外界隐藏了对象的实现细节。

3、 软件维护性的过程

分为四类:改正性维护;适应性维护;完善性维护;预防性维护

4、 白盒、黑盒测试的概念

·如果知道产品的内部工作过程,可以通过测试来检验产品内部动作是否按照规格说明书的规定正常进行。这种测试叫做白盒测试,也叫结构测试。

·如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用,这种测试叫做黑盒测试,也叫功能测试。

5、 继承:继承是指能够直接获得已有的性质和特征,而不必重复定义它们

继承分单继承(树型结构)和多重继承(网状结构)

6、 软件生命周期以及各阶段的任务(3个时期,9个阶段)

概括的说,软件生命周期由软件定义,软件开发和运行维护3个时期组成,通常把前两个时期再一步划分成若干个阶段。

软件定义时期:问题定义;可行性研究;需求分析三个阶段

软件开发时期:总体设计;详细设计;编码和单元测试;综合测试五个阶段

软件定义时期的任务是:

·确定软件开发工程的总目标;

·研究该项目的可行性;

·分析确定客户对软件产品的需求

·估算完成该项目所需的资源和成本,并且制定工程进度表

软件开发时期的任务是:具体设计和实现在前一个时期定义的软件

运行维护时期的任务是:通过对已交付使用的软件做必要的修改,使软件持久地满足客户的需求

7、 需求/概要/详细设计阶段是干什么的?

·需求分析阶段的基本任务是确定软件必须”做什么”,使用的概念主题是”功能”

·概要设计阶段的任务是确定“怎样做“,使用的概念是”模块“

·详细设计阶段的任务就是把解法具体化,即回答“应该怎样具体地实现这个系统”使用的概念是“数据结构“和”算法“

8、 软件生命周期中时间花费做多的是维护阶段

软件生命周期中最重要的是系统分析

9、 软件的开发模型。

瀑布模型;快速原型模型;增量模型;螺旋模型;喷泉模型等

10、 边界值:程序最容易在处理边界情况时发生错误。

边界值分析方法也是黑盒测试方法。

使用边界值分析方法设计测试方案首先应该确定边界情况。

通常设计测试方案时总是联合使用等价划分和边界值分析两种技术。

11、 什么是软件危机?以及表现形式?

通常把在计算机软件的开发与维护过程中所遇到的一系列严重问题笼统地称为软件危

表现形式:

·对软件开发成本和进度的估计常常不准确。

·用户对“已完成”系统不满意的现象经常发生。

·软件产品的质量往往靠不住。

·软件的可维护程度非常之低。

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

·软件的成本不断提高。

·软件开发生产率的提高赶不上硬件的发展和人们需求的增长。

12、

13、 软件的性质:有收费和免费两种类型 软件的测试分类:

单元测试;集成测试;确认测试;白盒测试;黑盒测试

14、 软件复杂性包含哪些?规模;难度;结构;智能度

15、 类聚和耦合的分类

·耦合是对一个软件结构内不同模块之间互连程度的度量。

分为:数据耦合;控制耦合;特征耦合;公共环境耦合;内容耦合。

·内聚度量一个模块内的各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的

自然扩展。(很可能会考,重点记)

在这里可能会出“模块的内聚性包含哪些?”(以简答题的形式)

分为⑴低内聚:偶然内聚,逻辑内聚,时间内聚

⑵中内聚:过程内聚,通信内聚

⑶高内聚:顺序内聚,功能内聚

模块的独立程度可以由两个定性标准度量:内聚和耦合

要保持高内聚和低耦合

16、 软件是一种逻辑产品,容易出现软件危机

17、 什么最容易出现重用的构建

重用也称为再用或复用,是指同一事物不经修改或稍加改动就多次重复使用。

面向对象中的“类构建”最容易出现重用。

18、 简述容错技术的四种主要手段,并解释。(可能考简答,重点记)

四种手段:结构冗余;信息冗余;时间冗余;冗余附加技术

·结构冗余:包括静态冗余、动态冗余和混合冗余。

·信息冗余:为检测或纠正信息在运算或传输中的错误,须外加一部分信息。

·时间冗余:指重复执行指令或程序来消除瞬时错误带来的影响。

·冗余附加技术:指为实现上述冗余技术所需的资源和技术。

19、 就程序设计的工程特性而言,对编代码的要求。(可能考简答,重点记)

(1)可移植性

(2)开发工具的可利用性

(3)软件的可重用性

(4)可维护性

20、 程序的三种结构:顺序;选择;循环

21、 软件危机产生的原因:

一方面与软件本身的特点有关;另一方面也和软件开发与维护的方法不正确有关

22、 提高软件可维护性的方法。

可理解性;可测试性;可修改性;可移植性;可重用性

23、 掌握软件设计过程中的原理有哪些?

模块化与模块独立;抽象;逐步求精;信息影藏;局部化

24、 软件文档在整个软件的开发过程中是非常重要的,它的重要性/作用?

文档是影响软件可维护性的决定因素。

软件系统的文档可以分为用户文档和系统文档两类。

·用户文档主要描述系统功能和使用方法

·系统文档描述系统设计,实现和测试等各面的内容

25、 弄清楚各种测试能发现的错误种类

26、 判定树

27、 流程图

28、 结构图

29、 软件工程的目标和要面临的主要问题(可能简答题)

目标:生产出能按期交付的,在预算范围内的,满足用户需求的,质量合格的软件产品。即:建造出高质量的软件。

问题:·对软件开发成本和进度的估计常常很不准确。

·用户常对“已完成的”软件系统不满意。

·软件产品的质量往往靠不住。

·软件常常很难维护。

·软件常常缺乏适当的文档资料。

·软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。

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

30、 软件测试的目的

·为了“破坏”已经建造好的软件系统——竭力证明程序中有错误,不能按照预定要求正确工作。

·或解释为:软件测试是

(1)为了发现错误而执行程序的过程;

(2)一个好的用例能够发现至今尚未发现的错误的测试。

(3)一个成功的测试是发现至今尚未发现的错误的测试。

31、 三种面向对象的模型以及每种模型的功能

对象模型;动态模型;功能模型

通常,使用统一建模语言UML提供的类图来建立对象模型。

·对象模型表示静态的,结构化的系统的“数据”性质。它为建立动态模型和功能模型提供了实质性的框架。对象模型定义了做事情的实体。

·动态模型表示瞬时的,行为化的系统的“控制”性质,它规定了对象模型中对象的合法变化序列。动态模型规定了什么时候做。

·功能模型表示软件系统的“功能”性质,它指明了系统应该“做什么”,因此更直接地反映了用户对目标系统的需求。

32、 jackson方法的三种基本结构

顺序结构;选择结构;重复结构

33、 黑盒测试的方法,包括:等价划分;边界值分析;错误推测。

34、 数据字典

35、 盒图

36、 测试用例

二、各章可能会考的题

1、银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并打印出存款单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款是未留密码,则系统计算利息并打印出利息清单给储户。

请用数据流图描绘本系统的功能,并用实体—联系图描绘系统中的数据对象。

答:⑴描绘本系统功能的数据流图如下图。

⑵本问题中共有两类实体,分别是“储户”和“储蓄所”,它们之间存在“存取款”关系。因为一位储户可以在多家储蓄所存取款,一家储蓄所拥有多为储户,所以“存取款”是多对多关系。

储户的属性主要有姓名、住址、电话号码、和身份证号码,储蓄所的属性主要是名词、地址和电话号码,而数额、类型、到期日期、利率和密码则是联系类型存款的属性。 下图是描绘计算机储蓄系统中数据对象的实体—联系图。

2、目前住院病人主要由护士护理,这样做不进需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。某医院打算开发一个以计算机 为中心的患者监护系统,请分层次地画出描述本系统功能的数据流图。

医院对患者监护系统的基本要求是随时接受每一个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安

全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统输出某个指定病人的病情报告。

答:从问题陈述可知,本系统的数据源点是“病人”和“护士”,他们分别提供生理信号和要求病情报告的信息。进一步分析问题陈述,从系统应该“定时记录病人情况以形成患者日志”这项要求可以想到,还应该有一个提供日期和时间信息的“时钟”作为数据源点。 从问题陈述容易看出,本系统的数据终点是接受警告信息和病情报告的护士。

系统对病人生理信号的处理功能主要是“接受信号”、“分析信号”和“产生警告信息”。此外,系统还应该具有“定时取样生理信号”、“更新日志”和“产生病情报告”的功能。

为了分析病人生理信号是否超出了医生规定的安全范围,应该存储“患者安全范围”信息。此外,定时记录病人生理信号所形成的“患者日志”显然也是一个数据存储。

本系统的基本系统模型如下图。

本系统的功能级数据流图

3、北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。

请用定义数据字典的方法,定义上述的电话号码。

答:电话号码=[校内电话号码|校外电话号码]

校内电话号码=非零数字+ 3 位数字 //后面继续定义

校外电话号码=[本市号码|外地号码]

本市号码=数字零+8位数字

外地号码=数字零+3位数字+8位数字

非零数字=[1|2|3|4|5|6|7|8|9]

数字零=0

3位数字=3{数字}3

8位数字=非零数字+7位数字

7位数字=7{数字}7

数字=[0|1|2|3|4|5|6|7|8|9]

4、复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。

请用状态转换图描绘复印机的行为

答:从问题陈述可知,复印机的状态主要有“闲置”、“复印”、“缺纸”和“卡纸”。引起状态转换的事件主要是“复印命令”、“完成复印命令”、“发现缺纸”、“装满纸”、“发生卡纸故障”和“排除了卡纸故障”。

下面所示状态转换图描绘了复印机的行为。

5、画出下列伪码程序的程序流程图和盒图

START

IF p THEN

WHILE q DO

f

END DO

ELSE

BLOCK

g

n

END BLOCK

END IF

STOP

答:

6、下图给出的程序流程图代表一个非结构化的程序,请问:

(1)为什么说它是非结构化的?

(2)设计一个等价的结构化程序。

(3)在(2)题的设计中你使用附加的标志变量flag吗?若没用,请再设计一个使用flag的程序;若用了,再设计一个不用flag的程序

答:(1)通常所说的结构化程序,是按照狭义的结构程序的定义衡量,符合定义规定的程序。图示的程序的循环控制结构有两个出口,显然不符合狭义的结构程序的定义,因此是非结构化的程序。

(2)使用附加的标志变量flag,至少有两种方法可以把该程序改造为等价的结构化程序,图示盒图描绘了等价的结构化程序。

1.软件复杂性度量的参数包括(B)

A.效率 B.规模 C.完整性 D.容错性

2.对象实现了数据和操作的结合,使数据和操作(C)于对象的统一体中。

A.结合 B.隐藏 C.封装 D.抽象

3.软件调试技术包括(B)

A.边界值分析 B.演绎法 C.循环覆盖 D.集成测试

4.瀑布模型的存在问题是(B)

A.用户容易参与开发 B.缺乏灵活性

C.用户与开发者易沟通 D.适用可变需求

5.软件测试方法中的静态测试方法之一为(A)

A.计算机辅助静态分析 B.黑盒法

C.路径覆盖 D.边界值分析

6.软件生命周期中所花费用最多的阶段是(D)

A.详细设计 B.软件编码 C.软件测试 D.软件维护

7.程序的三种基本控制结构是(B)

A.过程、子程序和分程序 B.顺序、选择和重复

C.递归、堆栈和队列 D.调用、返回和转移

8.详细设计的结果基本决定了最终程序的(C)

A.代码的规模 B.运行速度 C.质量 D.可维护性

9.需求分析中开发人员要从用户那里了解(A)

A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模

10.结构化程序设计主要强调的是(D)

A.程序的规模 B.程序的效率

C.程序设计语言的先进性 D.程序易读性

11.需求分析阶段的任务是确定(D)

A.软件开发方法 B.软件开发工具

C.软件开发费 D.软件系统的功能

12、使用程序设计的控制结构导出测试用例的测试方法是(B)

A、黑盒测试B、白盒测试C、边界测试D、系统测试

13、需求分析最终结果是产生(B)

A、项目开发计划B、需求规格说明书C、设计说明书D、可行性分析报告

14、快速原型模型的主要特点之一是(D)

A、开发完毕才见到产品 B、及早提供全部完整的软件产品

C、开发完毕后才见到工作软件 D、及早提供工作软件

15、为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以(C)的编制是很重要的。

A、需求说明 B、概要说明 C、软件文档 D、测试计划

软件工程导论

一、各章知识点

1、 统一建模语言(UML):是一种面向对象的建模语言,它是运用统一的,标准化的标记

和定义实现对软件系统进行面向对象的描述和建模

2、 封装

从字面上理解,所谓封装就是把某个事物包起来,使外界不知道该事物的具体内容。 封装也就是信息隐藏,通过封装对外界隐藏了对象的实现细节。

3、 软件维护性的过程

分为四类:改正性维护;适应性维护;完善性维护;预防性维护

4、 白盒、黑盒测试的概念

·如果知道产品的内部工作过程,可以通过测试来检验产品内部动作是否按照规格说明书的规定正常进行。这种测试叫做白盒测试,也叫结构测试。

·如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用,这种测试叫做黑盒测试,也叫功能测试。

5、 继承:继承是指能够直接获得已有的性质和特征,而不必重复定义它们

继承分单继承(树型结构)和多重继承(网状结构)

6、 软件生命周期以及各阶段的任务(3个时期,9个阶段)

概括的说,软件生命周期由软件定义,软件开发和运行维护3个时期组成,通常把前两个时期再一步划分成若干个阶段。

软件定义时期:问题定义;可行性研究;需求分析三个阶段

软件开发时期:总体设计;详细设计;编码和单元测试;综合测试五个阶段

软件定义时期的任务是:

·确定软件开发工程的总目标;

·研究该项目的可行性;

·分析确定客户对软件产品的需求

·估算完成该项目所需的资源和成本,并且制定工程进度表

软件开发时期的任务是:具体设计和实现在前一个时期定义的软件

运行维护时期的任务是:通过对已交付使用的软件做必要的修改,使软件持久地满足客户的需求

7、 需求/概要/详细设计阶段是干什么的?

·需求分析阶段的基本任务是确定软件必须”做什么”,使用的概念主题是”功能”

·概要设计阶段的任务是确定“怎样做“,使用的概念是”模块“

·详细设计阶段的任务就是把解法具体化,即回答“应该怎样具体地实现这个系统”使用的概念是“数据结构“和”算法“

8、 软件生命周期中时间花费做多的是维护阶段

软件生命周期中最重要的是系统分析

9、 软件的开发模型。

瀑布模型;快速原型模型;增量模型;螺旋模型;喷泉模型等

10、 边界值:程序最容易在处理边界情况时发生错误。

边界值分析方法也是黑盒测试方法。

使用边界值分析方法设计测试方案首先应该确定边界情况。

通常设计测试方案时总是联合使用等价划分和边界值分析两种技术。

11、 什么是软件危机?以及表现形式?

通常把在计算机软件的开发与维护过程中所遇到的一系列严重问题笼统地称为软件危

表现形式:

·对软件开发成本和进度的估计常常不准确。

·用户对“已完成”系统不满意的现象经常发生。

·软件产品的质量往往靠不住。

·软件的可维护程度非常之低。

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

·软件的成本不断提高。

·软件开发生产率的提高赶不上硬件的发展和人们需求的增长。

12、

13、 软件的性质:有收费和免费两种类型 软件的测试分类:

单元测试;集成测试;确认测试;白盒测试;黑盒测试

14、 软件复杂性包含哪些?规模;难度;结构;智能度

15、 类聚和耦合的分类

·耦合是对一个软件结构内不同模块之间互连程度的度量。

分为:数据耦合;控制耦合;特征耦合;公共环境耦合;内容耦合。

·内聚度量一个模块内的各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的

自然扩展。(很可能会考,重点记)

在这里可能会出“模块的内聚性包含哪些?”(以简答题的形式)

分为⑴低内聚:偶然内聚,逻辑内聚,时间内聚

⑵中内聚:过程内聚,通信内聚

⑶高内聚:顺序内聚,功能内聚

模块的独立程度可以由两个定性标准度量:内聚和耦合

要保持高内聚和低耦合

16、 软件是一种逻辑产品,容易出现软件危机

17、 什么最容易出现重用的构建

重用也称为再用或复用,是指同一事物不经修改或稍加改动就多次重复使用。

面向对象中的“类构建”最容易出现重用。

18、 简述容错技术的四种主要手段,并解释。(可能考简答,重点记)

四种手段:结构冗余;信息冗余;时间冗余;冗余附加技术

·结构冗余:包括静态冗余、动态冗余和混合冗余。

·信息冗余:为检测或纠正信息在运算或传输中的错误,须外加一部分信息。

·时间冗余:指重复执行指令或程序来消除瞬时错误带来的影响。

·冗余附加技术:指为实现上述冗余技术所需的资源和技术。

19、 就程序设计的工程特性而言,对编代码的要求。(可能考简答,重点记)

(1)可移植性

(2)开发工具的可利用性

(3)软件的可重用性

(4)可维护性

20、 程序的三种结构:顺序;选择;循环

21、 软件危机产生的原因:

一方面与软件本身的特点有关;另一方面也和软件开发与维护的方法不正确有关

22、 提高软件可维护性的方法。

可理解性;可测试性;可修改性;可移植性;可重用性

23、 掌握软件设计过程中的原理有哪些?

模块化与模块独立;抽象;逐步求精;信息影藏;局部化

24、 软件文档在整个软件的开发过程中是非常重要的,它的重要性/作用?

文档是影响软件可维护性的决定因素。

软件系统的文档可以分为用户文档和系统文档两类。

·用户文档主要描述系统功能和使用方法

·系统文档描述系统设计,实现和测试等各面的内容

25、 弄清楚各种测试能发现的错误种类

26、 判定树

27、 流程图

28、 结构图

29、 软件工程的目标和要面临的主要问题(可能简答题)

目标:生产出能按期交付的,在预算范围内的,满足用户需求的,质量合格的软件产品。即:建造出高质量的软件。

问题:·对软件开发成本和进度的估计常常很不准确。

·用户常对“已完成的”软件系统不满意。

·软件产品的质量往往靠不住。

·软件常常很难维护。

·软件常常缺乏适当的文档资料。

·软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。

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

30、 软件测试的目的

·为了“破坏”已经建造好的软件系统——竭力证明程序中有错误,不能按照预定要求正确工作。

·或解释为:软件测试是

(1)为了发现错误而执行程序的过程;

(2)一个好的用例能够发现至今尚未发现的错误的测试。

(3)一个成功的测试是发现至今尚未发现的错误的测试。

31、 三种面向对象的模型以及每种模型的功能

对象模型;动态模型;功能模型

通常,使用统一建模语言UML提供的类图来建立对象模型。

·对象模型表示静态的,结构化的系统的“数据”性质。它为建立动态模型和功能模型提供了实质性的框架。对象模型定义了做事情的实体。

·动态模型表示瞬时的,行为化的系统的“控制”性质,它规定了对象模型中对象的合法变化序列。动态模型规定了什么时候做。

·功能模型表示软件系统的“功能”性质,它指明了系统应该“做什么”,因此更直接地反映了用户对目标系统的需求。

32、 jackson方法的三种基本结构

顺序结构;选择结构;重复结构

33、 黑盒测试的方法,包括:等价划分;边界值分析;错误推测。

34、 数据字典

35、 盒图

36、 测试用例

二、各章可能会考的题

1、银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并打印出存款单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款是未留密码,则系统计算利息并打印出利息清单给储户。

请用数据流图描绘本系统的功能,并用实体—联系图描绘系统中的数据对象。

答:⑴描绘本系统功能的数据流图如下图。

⑵本问题中共有两类实体,分别是“储户”和“储蓄所”,它们之间存在“存取款”关系。因为一位储户可以在多家储蓄所存取款,一家储蓄所拥有多为储户,所以“存取款”是多对多关系。

储户的属性主要有姓名、住址、电话号码、和身份证号码,储蓄所的属性主要是名词、地址和电话号码,而数额、类型、到期日期、利率和密码则是联系类型存款的属性。 下图是描绘计算机储蓄系统中数据对象的实体—联系图。

2、目前住院病人主要由护士护理,这样做不进需要大量护士,而且由于不能随时观察危重病人的病情变化,还会延误抢救时机。某医院打算开发一个以计算机 为中心的患者监护系统,请分层次地画出描述本系统功能的数据流图。

医院对患者监护系统的基本要求是随时接受每一个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安

全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统输出某个指定病人的病情报告。

答:从问题陈述可知,本系统的数据源点是“病人”和“护士”,他们分别提供生理信号和要求病情报告的信息。进一步分析问题陈述,从系统应该“定时记录病人情况以形成患者日志”这项要求可以想到,还应该有一个提供日期和时间信息的“时钟”作为数据源点。 从问题陈述容易看出,本系统的数据终点是接受警告信息和病情报告的护士。

系统对病人生理信号的处理功能主要是“接受信号”、“分析信号”和“产生警告信息”。此外,系统还应该具有“定时取样生理信号”、“更新日志”和“产生病情报告”的功能。

为了分析病人生理信号是否超出了医生规定的安全范围,应该存储“患者安全范围”信息。此外,定时记录病人生理信号所形成的“患者日志”显然也是一个数据存储。

本系统的基本系统模型如下图。

本系统的功能级数据流图

3、北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。

请用定义数据字典的方法,定义上述的电话号码。

答:电话号码=[校内电话号码|校外电话号码]

校内电话号码=非零数字+ 3 位数字 //后面继续定义

校外电话号码=[本市号码|外地号码]

本市号码=数字零+8位数字

外地号码=数字零+3位数字+8位数字

非零数字=[1|2|3|4|5|6|7|8|9]

数字零=0

3位数字=3{数字}3

8位数字=非零数字+7位数字

7位数字=7{数字}7

数字=[0|1|2|3|4|5|6|7|8|9]

4、复印机的工作过程大致如下:未接到复印命令时处于闲置状态,一旦接到复印命令则进入复印状态,完成一个复印命令规定的工作后又回到闲置状态,等待下一个复印命令;如果执行复印命令时发现没纸,则进入缺纸状态,发出警告,等待装纸,装满纸后进入闲置状态,准备接收复印命令;如果复印时发生卡纸故障,则进入卡纸状态,发出警告等待维修人员来排除故障,故障排除后回到闲置状态。

请用状态转换图描绘复印机的行为

答:从问题陈述可知,复印机的状态主要有“闲置”、“复印”、“缺纸”和“卡纸”。引起状态转换的事件主要是“复印命令”、“完成复印命令”、“发现缺纸”、“装满纸”、“发生卡纸故障”和“排除了卡纸故障”。

下面所示状态转换图描绘了复印机的行为。

5、画出下列伪码程序的程序流程图和盒图

START

IF p THEN

WHILE q DO

f

END DO

ELSE

BLOCK

g

n

END BLOCK

END IF

STOP

答:

6、下图给出的程序流程图代表一个非结构化的程序,请问:

(1)为什么说它是非结构化的?

(2)设计一个等价的结构化程序。

(3)在(2)题的设计中你使用附加的标志变量flag吗?若没用,请再设计一个使用flag的程序;若用了,再设计一个不用flag的程序

答:(1)通常所说的结构化程序,是按照狭义的结构程序的定义衡量,符合定义规定的程序。图示的程序的循环控制结构有两个出口,显然不符合狭义的结构程序的定义,因此是非结构化的程序。

(2)使用附加的标志变量flag,至少有两种方法可以把该程序改造为等价的结构化程序,图示盒图描绘了等价的结构化程序。

1.软件复杂性度量的参数包括(B)

A.效率 B.规模 C.完整性 D.容错性

2.对象实现了数据和操作的结合,使数据和操作(C)于对象的统一体中。

A.结合 B.隐藏 C.封装 D.抽象

3.软件调试技术包括(B)

A.边界值分析 B.演绎法 C.循环覆盖 D.集成测试

4.瀑布模型的存在问题是(B)

A.用户容易参与开发 B.缺乏灵活性

C.用户与开发者易沟通 D.适用可变需求

5.软件测试方法中的静态测试方法之一为(A)

A.计算机辅助静态分析 B.黑盒法

C.路径覆盖 D.边界值分析

6.软件生命周期中所花费用最多的阶段是(D)

A.详细设计 B.软件编码 C.软件测试 D.软件维护

7.程序的三种基本控制结构是(B)

A.过程、子程序和分程序 B.顺序、选择和重复

C.递归、堆栈和队列 D.调用、返回和转移

8.详细设计的结果基本决定了最终程序的(C)

A.代码的规模 B.运行速度 C.质量 D.可维护性

9.需求分析中开发人员要从用户那里了解(A)

A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模

10.结构化程序设计主要强调的是(D)

A.程序的规模 B.程序的效率

C.程序设计语言的先进性 D.程序易读性

11.需求分析阶段的任务是确定(D)

A.软件开发方法 B.软件开发工具

C.软件开发费 D.软件系统的功能

12、使用程序设计的控制结构导出测试用例的测试方法是(B)

A、黑盒测试B、白盒测试C、边界测试D、系统测试

13、需求分析最终结果是产生(B)

A、项目开发计划B、需求规格说明书C、设计说明书D、可行性分析报告

14、快速原型模型的主要特点之一是(D)

A、开发完毕才见到产品 B、及早提供全部完整的软件产品

C、开发完毕后才见到工作软件 D、及早提供工作软件

15、为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工,所以(C)的编制是很重要的。

A、需求说明 B、概要说明 C、软件文档 D、测试计划


相关内容

  • 网络工程专业就业及考研
  • 本文由aaa99992贡献 pdf文档可能在WAP端浏览体验不佳.建议您优先选择TXT,或下载源文件到本机查看. <网络工程专业导论>课程 <网络工程专业导论>课程 (Introduction to Network Engineering) (Introduction to ...

  • 计算机科学导论与参考文献的对比
  • 计算机科学导论与参考文献的对比 一.<计算机科学概论(第9版) > 作者: 本书涉及计算机科学的方方面面,介绍了计算机硬件.软件.数据组织和计算理论等四个方面的内容,包括编码及计算机体系结构的基本原理.操作系统.计算机网络.算法.程序设计语言.数据结构和数据库.人工智能以及计算理论等.本 ...

  • [工业工程专业导论]教学大纲
  • <工业工程专业导论>教学大纲 课程名称:工业工程专业导论 课程编码: 课程类别:专业基础课 适用专业:工业工程专业 学时与学分: 1.课程总学时: 32 2.课程总学分: 2 3.理论教学学时:16 4.实践教学学时:16 一.大纲说明 本大纲根据2012级工业工程专业本科人才培养方案制 ...

  • 1信息技术相关概念
  • 信息技术相关概念 吴涛 副教授 (2010 v1.0) 华中科技大学软件学院 信息技术导论 2010 1 目录  1 信息和信息技术 2 计算机相关概念 3 软件工程   信息技术导论 2010 2 1.1 信息  什么是信息? (传字游戏)   信息是信息论中的一个术语,常常把消息中有 ...

  • 通信工程导论课程报告
  • 通信工程导论课程报告 一.通信工程专业方向的认识: 通信工程专业方向主要指光纤通信.无线通信.网络与交换.多媒体通信四个方向 1光纤通信: □ 已成为一种最主要的信息传输技术,迄今尚未发现可以取代它的更好的技术.即使是在全球通信行业处于低迷时期,光纤通信的发展也从未停滞过.从现代通信的发展趋势来看, ...

  • 计算机导论教学大纲
  • <计算机文化基础>课程教学大纲 课程编号:030110020 课程名称:计算机导论 课程类型:基础课 总 学 时:60 讲课学时:30 实验学时:30 学 时:60 学 分:4 适用对象:计算机专业 先修课程: 一.课程性质.目的和任务 <计算机导论>是计算机专业学生必修的公 ...

  • 工程导论结课论文
  • 工程导论结课论文 摘要:通过学习工程导论这门学科,自己对电子信息工程专业的理解及自我感悟 关键词:当今形势 能力 自我感悟 引言:当今世界信息技术是衡量一个国家现代化水平的重要标志.我国把信息技术列为21世纪发展战略计划的首位.然而信息技术的发展是需要电子信息工程作为强大支柱的.因此电子信息工 ...

  • 谢勇士--网络工程导论论文
  • <网络工程导论>课程论文 --课程学习心得体会及个人职业生涯规划 学校名称: 专业班级: 学生姓名: 指导老师: 计算机科学与技术系 前 言 网络工程专业的出现的背景是从上一世纪九十年代,计算机网络技术极其应用得到迅猛发展的背景下提出的,从专业定名.培养目标和专业课程设置都反映处是面向网 ...

  • 学习通信工程专业导论感想报告.doc
  • 学习<通信工程专业导论>之我见 姓名:殷 伟 班级:10通信2W 学号:10313233 在古代,人们通过驿站.飞鸽传书.烽火报警.符号.身体语言.眼神.触碰等方式进行信息传递.到了今天,随着科学水平的飞速发展,相继出现了无线电.固定电话.移动电话.互联网甚至视讯电话等各种通信方式.通信 ...

  • 专业导论报告格式
  • 专业导论报告 专 业 : 电气工程及其自动化 班 级 : 2016级电本一班 姓 名 : 赵世伟 优秀□ 良好□ 成 绩 : 中等□ 及格□ 不及格□ 2016年12月12日 专业导论报告 目录: 专业导论报告 . .......................................... ...