2023软件工程复习题_第1页
2023软件工程复习题_第2页
2023软件工程复习题_第3页
2023软件工程复习题_第4页
2023软件工程复习题_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——2023软件工程复习题一、单项选择题(在每题的四个备选答案中选出一个正确答案,并将其号码填在题后的括号内。每题1分,共20分)1.“软件危机〞是指()

A.计算机病毒的出现B.利用计算机进行经济犯罪活动

C.软件开发和维护中出现的一系列问题D.人们过分依恋计算机系统2.DFD中的每个加工至少需要()

A.一个输入流B.一个输出流C.一个输入或输出流D.一个输入流和一个输出流3.为了提高模块的独立性,模块之间最好是()

A.控制耦合B.公共耦合C.内容耦合D.数据耦合4.下面关于PDL语言不正确的说法是()

A.PDL是描述处理过程怎么做B.PDL是只描述加工做什么

C.PDL也称为伪码D.PDL的外层语法应符合一般程序设计语言常用的语法规则5.详细设计与概要设计衔接的图形工具是()A.DFD图B.程序图C.PAD图D.SC图

6.不适合作为数据处理与数据库应用的语言是()A.SQLB.CobolC.4GLD.Lisp

7.以下关于功能性解释不正确的说法是()

A.功能性解释嵌在源程序中,用于说明程序段或语句的功能以及数据的状态B.解释用来说明程序段,需要在每一行都要加解释C.可使用空行或缩进,以便很简单区分解释和程序D.修改程序也应修改解释

8.以下关于效率的说法不正确的是()

A.效率是一特性能要求,其目标应当在需求分析时给出

B.提高程序效率的根本途径在于选择良好的设计方法,数据结构与算法C.效率主要指处理机时间和存储器容量两个方面D.程序的效率与程序的简单性无关9.测试的关键问题是()

A.如何组织对软件的评审B.如何验证程序的正确性C.如何采用综合策略D.如何选择测试用例

10.结构化维护与非结构化维护的主要区别在于()

A.软件是否结构化B.软件配置是否完整C.程序的完整性D.文档的完整性11.软件维护困难的主要原因是()

A.费用低B.人员少C.开发方法的缺陷D.得不到用户支持12.可维护性的特性中,相互矛盾的是()

A.可理解性与可测试性B.效率与可修改性C.可修改性和可理解性D.可理解性与可读性

13.快速原型是利用原型辅助软件开发的一种新思想,它是在研究()的方法和技术中产生的。

A.需求阶段B.设计阶段

C.测试阶段D.软件开发的各个阶段

14.从目前状况来看,增量模型存在的主要问题是()A.用户很难适应这种系统开发方法B.该方法的成功率很低

C.缺乏丰富而强有力的软件工具和开发环境

D.缺乏对开发过程中的问题和错误具有应付变化的机制15.以下有关软件工程的标准,属于行业标准的是()A.GBB.DINC.ISOD.IEEE

16.以下文档与维护人员有关的有()A.软件需求说明书B.项目开发计划C.概要设计说明书D.操作手册

17.在屏蔽软件错误的冗错技术中,冗余附加件的构成包括()A.关键程序和数据的冗余存储和调用

B.为检测或改正信息在运算或传输中的错误须外加的一部分信息C.检测、表决、切换、重构、纠错和复算的实现D.实现错误检测和错误恢复的程序

18.()是为了确保每个开发过程的质量,防止把软件过错传递到下一个过程而进行的工作。A.质量检测B.软件容错C.软件维护D.系统容错19.表示对象相互行为的模型是()模型。

A.动态模型B.功能模型C.对象模型D.静态模型20.CASE工具的表示集成是指CASE工具提供一致的()A.编程环境B.用户界面

C.过程模型D.硬件/操作系统二、填空题(每空2分,共20分)

1.作为计算机科学技术领域中的一门新兴学科,软件工程主要是为了解决________问题。2.投资回收期就是使________等于最初的投资费用所需时间。3.在IDEF0方法的一个活动图形中控制活动是指________。4.划分模块时尽量做到________,保持模块的独立性。5.PAD图是一种________展开的二维树形结构。6.对校正性维护应当从________的严重性开始。7.类的实例化是________。

8.人们常用硬件可靠性的定量度量方法来度量软件的可靠性和可用性,常用的度量软件可靠性的两个指标是________和________。

9.将待开发的软件细化,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,将得到软件的总开发量。这种成本估算方法称为________。三、名词解释(每题3分,共15分)1.需求分析2.耦合性

3.结构化程序设计4.状态图

5.软件配置管理

四、简答题(每题5分,共20分)1.简述演绎法调试的具体步骤。

2.简述增量模型和瀑布模型的本质区别。3.简述设计一个容错系统的步骤。

4.简述在项目开发时,选择程序设计语言应考虑因素。

五、应用题(第1题6分,第2小题8分,第3小题11分,共25分)

1.某部门要处理大批单据所组成的事务文件,单据分为进货单和发货单两种,每种单据由多行组成,每行包括零件号、零件名称、数量三个数据项。

要求:用Jackson方法表示事务文件的数据结构。(6分)2.根据以下被测试的流程图,选择相应的答案。(8分)(1)A=2,B=0,X=4(2)A=2,B=1,X=1(3)A=2,B=0,X=1A=1,B=1,X=1A=3,B=0,X=3A=1,B=1,X=2

①在1-3的答案中满足判定覆盖的测试用例是________(2分)②在1-3的答案中满足条件覆盖的测试用例是________(2分)③在1-3的答案中满足判定/条件覆盖的测试用例是________(2分)(4)A=2,B=0,X=4(5)A=2,B=0,X=4(6)A=2,B=0,X=4A=2,B=1,X=1A=2,B=2,X=1A=1,B=1,X=1A=1,B=0,XA=1,B=0,X=3A=1,B=1,X=4A=1,B=1,X=1A=1,B=2,X=2A=3,B=0,X=3

④在4-6的答案中满足条件组合覆盖的测试用例是________(1分)⑤在4-6的答案中满足路径覆盖的测试用例是________(1分)

3.某电视购物公司采用面向对象技术实现商品销售计算机系统,基本需求如下:(1)公司提供多种类商品,每种商品通过委托订单来进行征订。

(2)公司下属多个分公司,每个分公司负责本地区委托订单的收录,打印收款凭证单。(3)公司负责分类、统计各分公司送来的委托单,进行分类统计。要求:依照上述模型建立对象模型。(11分)

2023年1月份浙江省高等教育自学考试软件工程试题答案

1.C2.D3.D4.B5.D6.D7.B8.D9.D10.D11.C12.B13.A14.C15.D16.C17.D18.A19.A20.B二、1.如何建立一个软件系统2.积累的经济效益3.所受到的约束条件4.高内聚低耦合5.有左往右6.评价错误7.对象8.MTTFMTBF9.自底向上估算方法

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

2.耦合性也称块间联系。指软件系统结构中各模块间相互联系紧凑程度的一种度量。3.结构化程序设计是实现该目标的关键技术之一,它指导人们用良好的思想方法开发易于理解、易于验证的程序。结构化程序设计方法的基本要点是:1)采用自顶向下、逐步求精的程序设计方法2)使用三种基本控制结构构造程序3)主程序员组的组织形式。4.状态图是一个标准的计算机概念,它是有限自动机的图形表示,它反映了状态与事件的关系,状态图确定了由事件序列引起的状态序列。

5.软件配置管理,简称SCM,它用于整个软件工程过程。其主要目标是:标识变更;控制变更;确保变更正确地实现;报告有关变更。SCM是一组管理整个软件生存期各阶段中变更的活动。

四、1.演绎法调试步骤:列出所有可能的错误原因的假设;排除不适当的假设;精化余于的假设;证明余于的假设。

2.瀑布模型属于整体开发模型,它规定在开始下一个阶段的工作之前,必需完成前一阶段的所有细节。而增量模型属于非整体开发模型,它推迟某些阶段或所有阶段中的细节,从而较早的产生工作软件。

3.(1)按设计任务要求进行常会设计,尽量保证设计的正确(2)对可能出现的错误分类,确定实现容错的范围

(3)依照“成本—效率〞最优原则,选用某种冗余手段(结构,信息,时间)来实现对各类错误的屏蔽(4)分析或验证上述冗余结构的容错效果

4.(1)项目的应用领域;(2)软件开发的方法(3)软件执行的环境(4)算法和数据结构的繁杂性(5)软件开发人员的知识

《软件工程模拟试题及参考答案》(一)

一,单向选择题(四选一,每题3分,共18分)

1,面向对象(ObjectOriented)方法是将现实世界的事物以对象的方式(B)到计算机世界的方法.对应映射反映反射

2,盒图也称为(D)或Chapin图.这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题.0802流程图框图判定表N-S图

3,面向数据的设计方法就是根据问题的数据结构定义一组映射,把问题的数据结构转换为问

题解的(A)结构.1001程序数据规律物理

4,人机界面的风格大致经过了(B)代的蜕变.三四五六

5,以下不属于白盒测试技术的是(D)1402规律覆盖基本路径测试循环覆盖测试等价类划分

6,为改正软件系统中潜藏的错误而进行的维护活动称为(A).1501纠错性维护适应性维护改善性维护预防性维护

二,填空题(每空2分,共18分)

文档―一种数据媒体和其上所记录的(数据).0101机器语言,汇编语言:依靠于机器,面向(机器)0101软件有效性,指软件系统的时间和(空间)效率.0103

软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成.0103软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清\做什么\为了使用户需求逐步精细化,完全化,一致化,寻常采用(需求建模技术).0402一个软件的深度是指其控制的(层数).0801

以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫(编码)过程.1301

软件维护是软件生命周期的(最终)一个阶段.1501三,判断题(每题2分,共24分,错误打X,正确打√)

缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一.(√)0102

一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力.(X)0206在用户需求分析时观测用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求.(√)0402

快速原型技术的适用于软件产品要求大量的用户交互,或产生大量的可视输出,或设计一些繁杂的算法等场合.(√)0402

流程图也称为程序框图是最常用的一种表示法.(√)0802

面向数据设计方法一般都包括以下任务:确定数据结构特征;用顺序,选择和重复三种基本形式表示数据等步骤.(√)1001

理想的人机界面应针对具有典型特性的特定的一类用户设计.(√)1201数据输入的一般准则中包括尽量增加用户输入的动作.(X)1204

用穷举测试是较现实的测试方法.(X)1401四,简答题(每题4分,共20分)

1,计算机软件――与计算机系统操作有关的程序,规程,规则及任何与之有关的文档和数据.0101

2,需求分析的任务是什么0103

需求分析的任务是确定待开发的软件系统\做什么\具体任务包括确定软件系统的功能需求,性能需求和运行环境约束,编制软件需求规格说明书,软件系统的验收测试准则和初步的用户手册.

3,软件项目的成本管理――估算软件项目的成本,作为立项和签合同的依据之一,并在软件开发过程中按计划管理经费的使用.02014,快速原型技术的基本思想是什么0402

在软件开发的早期,快速开发一个目标软件系统的原型,让用户对其进行评价并提出修改看法,然后开发人员根据用户的看法对原型进行改进.5,程序设计语言的有哪些特点13011)一致性2)二义性3)紧致性4)局部性

五,综合题(每题10分,共20分)

1,可将软件生存周期划分为哪3个过程和哪9个阶段.0103

(1)3个过程是:软件定义过程,软件开发过程,软件使用与维护过程.

(2)9个阶段有:可行性研究,需求分析,概要设计,详细设计,实现,组装测试,验收测试,使用与维护,退役.

2,画出与图1所示的程序流程图对应的程序图,并试计算其巡回秩数V(G).解:(1)程序图如(图2)所示:

(2)计算其巡回秩数:V(G)=E0N+2=13010+2=5

(图一)(图二)《软件工程模拟试题及参考答案》(二)一,单向选择题(四选一,每题3分,共18分)1,软件的发展经历了(D)个发展阶段.0102一二三四

2,需求分析的任务不包括(B).问题分析系统设计需求描述需求评审.

3,一个软件的宽度是指其控制的(C).0801模块数层数跨度厚度

4,当模块中包含繁杂的条件组合,只有(A)能够明了地表达出各种动作之间的对应关系.0802判定表和判定树盒图流程图关系图

5,以下不属于规律覆盖的是(D).语句覆盖判定覆盖条件覆盖基本路径

6,为适应软件运行环境的变化而修改软件的活动称为(B).1501纠错性维护适应性维护改善性维护预防性维护

二,填空题(每空2分,共18分)

软件可靠性是指在给定的时间间隔内,程序成功运行的(概率).0101高级语言:独立于机器,面向过程或面向(对象)0101

软件项目管理的范围主要集中于3个P上,即:People人员,Problem问题和(过程).0201人机界面的风格第一代界面是命令和(询问)方式.1202

由于维护或在维护过程中其他一些不期望的行为引入的错误称为维护的(副作用).1504

在公式V(G)=E0N+2中:E为程序图G中边的总数;N为程序图中结点的总数.V(G)又称为图G的环形(繁杂度)0204.

任何一个基于计算机系统都可以用输入-处理-输出(IPO)图来描述,它将该系统转换成一个信息变换模型.0303

为提高可交互性一般对所有可能造成损害的用户操作动作,应坚持要求用户(确认),例如,提问\你确实要删除…\

文档是一种数据媒体和其上所记录的(数据).0101三,判断题(每题2分,共24分,错误打X,正确打√)

用户对软件需求的描述不确切,往往是产生软件危机的原因之一.(√)0102

目前,软件项目的进度安排的两种比较常用的方法是程序评估与审查技术(PERT)和关键路径法(CPM).(√)0206

一个好的开发人员应具备的素质和能力包括擅长与周边人员团结协作,建立良好的人际关系,擅长听取别人的看法.(√)0206

目前的绝大多数软件都不适合于快速原型技术.(X)0402

面向数据的设计方法的适用场合是具有明显的层次信息结构的应用如:企事业的信息管理系统;系统软件(如操作系统)等.(√)10001

缺乏处理大型软件项目的经验.是产生软件危机的唯一原因.(X)0102寻常紧致性好的语言一致性就好.(X)1301

测试计划,测试用例,出错统计和有关的分析报告一般不用长期保存.(X)1401

数据输入的一般准则中包括保证信息显示方式与数据输入方式的协调一致;允许用户定做输入格式等内容.(√)1204

软件也会磨损和老化.(X)0101

完善性维护是提高或完善软件的性能.(√)0101

McCabe建议模块规模应满足:V(G)≤20.(X)0204四,简答题(每题4分,共20分)

1,程序设计语言的三种类型和特点是什么01011.机器语言,汇编语言:依靠于机器,面向机器2.高级语言:独立于机器,面向过程或面向对象

3.面向问题语言:独立于机器,非过程式语言(4GL)(2分)

2,软件危机――是指在计算机软件开发,使用与维护过程中遇到的一系列严重问题和难题.0101

3,软件项目的质量管理――制定软件质量保证计划,依照质量评价体系控制软件质量要素,对阶段性的软件产品进行评审,对最终软件产品进行确认,确保软件质量.02014,好的编程风格应遵循哪四条规则13041)节简化2)模块化3)简单化4)文档化

5,软件测试中依照错误的性质和范围进行分类可分为:\功能错误\及其它哪些错误1.系统错误

2.加工错误(算法错误)3.数据错误4.代码错误

五,综合题(每题10分,共20分)

1,选择语言时要考虑的因素有:项目的应用领域,项目中算法,计算的繁杂性和其余哪些内容1301答:

1)项目中数据结构的繁杂性2)用户的性能需求3)软件运行的环境

4)软件开发人员开发水平5)可用的编译器和交织编译器

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

P=L/E=12.1×103LOC/24PM=504LOC/PM2.开发每行代码的平均成本C为:

C=S/L=168000美元/12100LOC=13.9美元/LOC3.代码出错率EQR为:

EQR=N/L=29个/12.1KLOC=2.4个/KLOC4.软件的文档率D为:

D=Pd/L=365页/12.1KLOC=30页/KLOC《软件工程模拟试题及参考答案》(三)单向选择题(四选一,每题3分,共18分)

1,从事物的组成部件及每个部件的属性,功能来认识事物.这种方法被称为(A)的方法.0701A,面向对象

B,面向数据C,面向过程D,面向属性

2,判定表由四部分组成:左上部列出(B).0802条件组合与动作之间的对应关系所有条件

所有可能的动作可能的条件组合

3,根据用户在软件使用过程中提出的建设性看法而进行的维护活动称为(C).1501纠错性维护适应性维护改善性维护预防性维护

4,可行性研究的步骤中不包括(C)的内容.0302复查初步分析结果.研究现有的系统.

导出新系统高层规律模型.建立新系统的物理模型解法.

5,将软件组装成系统的一种测试技术叫(A).1403集成测试单元测试集合测试系统测试

6,技术可行性是可行性研究的关键,其主要内容一般不包括(C).0302风险分析资源分析人员分析技术分析

二,填空题(每空2分,共18分)

面向问题语言:是独立于(机器),非过程式语言4GL.0101软件有效性,指软件系统的(时间)和空间效率.0103

软件项目管理的对象主要包括产品,过程和(资源)等.0201

计算机系统工程是用工程,科学和(数学)的原则与方法研制基于计算机的系统的有关技术,方法和过程.0301

在Jackson方法中,实体结构是指实体在时间坐标系中的行为序列.这种序列以顺序,选择和(重复)三种结构进行复合.0602

一个模块的\扇出数\是指该模块直接控制的其他(模块数).0801其次代界面是简单的(菜单)式.1202

软件可适应性,是指软件在不同的(系统约束)条件下,使用户需求得到满足的难易程度.0302假使一个模块控制另一个模块,称前者为主控模块,后者为(附属)模块.0801三,判断题(每题2分,共24分,错误打X,正确打√)可行性研究工作要在初步的需求定义之前进行.(X)0302

软件开发,设计几乎都是从头开始,成本和进度很难估计.(√)0101文档(document)―一种数据媒体和其上所记录的数据.(√)0101

软件工程使用的软件工具能够自动或半自动地支持软件的开发,管理和文档的生成.(√)0102为了充分发挥开发人员的潜力,缩短工期,软件工程项目的任务分解与安排应尽力挖掘可并行开发的部分.(√)0206

需求分析阶段的成果主要是需求规格说明,但该成果与软件设计,编码,测试直至维护关系不大.(X)0401

类是对具有共同特征的对象的进一步抽象.(√)0701

面对日益增长的软件需求,人们显得力不从心.往往是产生软件危机的原因之一.(√)0202数据输入的一般准则中包括采用灵活多样的交互方式,允许用户自选输入方式;允许用户控制交互过程.(√)1204

假使在分析阶段和设计阶段采用的是面向对象的方法,而在编码阶段采用的是面向过程的语言,那么这种翻译就比较困难.(√)1301

软件测试是对软件规格说明,软件设计和编码的最全面也是最终的审查.(√)1401假使测试过程没有发现任何错误,则说明软件没有错误.(X)1401四,简答题(每题4分,共20分)1,螺旋模型的适应场合有哪些0104

适应场合:支持需求不明确,特别是大型软件系统的开发,并支持面向规格说明,面向过程,面向对象等多种软件开发方法,是一种具有广阔前景的模型.2,软件生存周期

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

3,软件开发风险分析实际上就是贯穿于软件工程过程中的一系列风险管理步骤,它包括哪些主要内容风险标识风险估算风险评价

风险驾驭和监控.

4,需求评审评审标准(依照重要性的次序)包括正确性,无歧义性,完全性,可验证性和其它那些内容.1)一致性.2)可理解性.3)可修改性.4)可追踪性.

5,什么是静态测试

静态测试是采用人工检测和计算机辅助静态分析的方法对程序进行检测.1401五,综合题(每题10分,共20分)

1,为以下程序流程图分别设计语句覆盖和判定覆盖测试用例并标明程序执行路径.1402

解:1)语句覆盖测试用例

令x=2,y=0,z=4作为测试数据,程序执行路径为abcde.2)判定覆盖――分支覆盖

可以设计如下两组数据以满足判定覆盖:x=3,y=0,z=1(通过路径abce);x=2,y=1,z=2(通过路径acde).

x=2,y=1,z=1;覆盖路径acde

x=1,y=1,z=1;覆盖路径acex=3,y=0,z=1;覆盖路径abce

2,分别画出顺序结构,选择结构,while结构,until结构的程序图,并计算它们的V(G)值.0202解:

《软件工程模拟试题及参考答案》(四)

一,单向选择题(四选一,每题2分,共18分)

1,软件工程中的各种方法是完成软件工程项目的技术手段,它们支持软件工程的(A)阶段.0102各个前期中期后期

2,从事物的属性侧面来描述事物的方法就是(B)的方法.0701面向对象面向数据面向过程面向属性

3,一个模块的(B)是指能直接控制该模块的模块数.0801扇出数扇入数宽度深度

4,Jackson方法在需求分析阶段的主要步骤不包括(A).了解实体行为标识实体与行为生成实体结构图创立软件系统模型

5,实践说明,确定发生错误的位置和内在原因所需的工作量几乎占整个调试工作量的(D)%.140430507090

6,为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础的软件维护称为(D).1501纠错性维护适应性维护改善性维护预防性维护

二,填空题(每空2分,共18分)

软件工程由方法,工具和过程三部分组成,称为(软件工程)的三要素.0102软件可修改性,是指允许对软件系统进行修改而不增加其(繁杂)性.0103一般来说,产品,过程,资源等对象都具有内部属性和(外部)属性.0602

软件开发风险分析实际上就是贯穿于软件工程过程中的一系列风险管理步骤,包括风险标

识,(风险估算),风险评价,风险驾驭和监控.0206

使用类创立对象的过程实际上是类的(实例化)过程.0701第三代界面是面向(窗口)的点选界面.1202

在编码阶段对代码的可测试性进行考虑可以(减少)测试阶段的工作量.1303测试用例的设计应有第(三)方参与.1302

调试的目的是确定错误的位置和引起错误的原因,并加以(改正).1404三,判断题(每题2分,共24分,错误打X,正确打√)

一个好的开发人员应具备的素质和能力包括擅长分析和综合问题,具有严密的规律思维能力.(√)0206

计算机系统工程是一种从系统层面上的问题求解活动.(√)0301

软件需求是指用户对目标软件系统在功能,性能,行为,设计约束等方面的期望.(√)0402数据流图就是用来刻画数据流和转换的信息系统建模技术.(√)0501

软件过程设计不用遵循\自上而下,逐步求精\的原则和单入口单出口的结构化设计思想.(X)0802

PDL经常表现为一种\混杂\的形式,他不允许自然语言如英语的词汇与某种结构化程序设计语言(如Pascal,C,Ada等)的语法结构交织在一起.(X)0802设计阶段的输出是编码阶段的输入.(√)1301

通过软件测试,可以发现软件中所有潜伏的错误.(X)1404非结构化维护用于软件的配置中只有源代码维护.(√)1501系统规格说明是系统分析和定义阶段生成的一种文档.(√)0304

数据流图的分解速度应保持较高.寻常一个加工每次可分解为10~20个子加工.(X)0501内聚度标志一个模块内部各成分彼此结合的紧凑程度,按其高低程度可分为七级,内聚度越低越好.(X)0803

四,简答题(每题4分,共20分)

1,原型法模型一般适应哪些场合0104

它适合于那些不能预先确凿定义需求的软件系统的开发,更适合于那些项目组成员(包括分析员,设计员,程序员和用户)不能很好交流或通信有困难的状况.2,简答结构化程序设计的内容.0801

是程序设计技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制构件.

3,用JSD方法开发一个软件的步骤包括:标识实体与动作,生成实体结构图和以下那些方面1002

1)初建系统模型2)扩展功能性过程3)系统定时4)实现4,动态测试

动态测试是指事先设计好一组测试用例,然后通过运行程序来发现错误.1402

5,规律覆盖――指设计测试用例对程序的内部分支规律结构进行部分或全部覆盖的技术.1402

五,综合题(每题10分,共20分)1,软件工程的目标是什么0103

答:在给定成本,进度的前提下,开发出具有可修改性,有效性,可靠性,可理解性,可维护性,可重用性,可适应性,可移植性,可追踪性和可互操作性并满足用户需求的软件产品.

2,什么是判定/条件覆盖为以下程序流程图设计判定/条件覆盖测试用例并标明程序执行路

径.

解:1)判定/条件覆盖――它是指设计足够的测试用例,即满足条件覆盖又满足判定覆盖.2)测试用例:x=2,y=0,z=3(覆盖x>1,y=0,x=2,z>1,通过路径abcde);x=1,y=1,z=1(覆盖x≤1,y≠0,x≠2,z≤1,通过路径ace).《软件工程模拟试题及参考答案》(五)

一,单向选择题(四选一,每题2分,共18分)

1,统计说明,软件测试工作往往占软件开发总工作量的(B)%以上.20406080

2,单元测试的测试对象是(B).1403系统

程序模块.模块接口系统功能

3,软件总体设计是指软件总体结构设计和数据设计,该阶段的主要任务不包括(D).0801设计软件的模块结构定义接口并建立数据结构

生成概要设计规格说明和组装测试计划模块设计

4,软件开发部分的任务是将系统对软件的需求转换成可操作的系统要素,即(A)0101软件硬件文本说明

5,维护工作量的估算模型为:M=P+Ke(c-d)其中:M代表(A).1502维护所用工作量生产性工作量助动性工作量经验常数

6,维护的副作用可分三类,不包括(D).1504代码副作用数据副作用文档副作用人员副作用

二,填空题(每空2分,共18分)

软件工程由(方法),工具和过程三部分组成,称软件工程的三要素.0103基于计算机系统的软件要素中的软部件由程序,数据和(文档)组成.0301

数据流图就是用来刻画数据流和转换的信息系统建模技术.它用简单的图形记号分别表示数据流,转换,(数据源)以及外部实体.0501

被继承的类我们称之为基类(父类),在基类的基础上新建立的类我们称之为派生类子类.0701流程图也称为程序框图是最常用的一种表示法,它有顺序,分支和(循环)三个基本控制构

件.0802

机器语言和汇编语言,也称为(低级)语言.1301

软件测试是执行程序发现并排除程序中潜伏的(错误)的过程.1401动态测试有两种测试方法:黑盒测试和(白盒)测试.1401

软件可维护性,是指软件产品交付使用后,在实现改正潜伏的错误,改进性能等属性,适应环境变化等方面工作的(难易)程度.0103

三,判断题(每题2分,共24分,错误打X,正确打√)

文档记录软件开发活动和阶段成果,具有永久性,可供人或机器阅读.(√)0101生产高质量的软件产品是软件工程的首要目标.(√)0203

软件开发人员对用户需求的理解有偏差,这将导致软件产品与用户的需求不一致,是产生软件危机的唯一原因.(X)0102

开发一个软件项目总存在某些不确定性,即存在风险.有些风险假使控制得不好,可能导致灾难性的后果.(√)0206

面向对象设计是将面向对象分析所创立的分析模型进一步细化形成软件设计模型的过程.(√)1101

只有了解用户,了解任务,才能设计出好的用户界面.(√)1202结构化维护用于待维护的软件的配置是完整的维护.(√)1501

用户本身的技能,特性上的差异,行为方式的不同,不会对人机界面使用造成影响.(X)1201程序的可靠性,可维护性和效率寻常由程序设计语言,源代码的质量,和语言的实现机制决定的.(√)1302

程序文档一般指以解释的形式嵌入程序中的代码描述.(√)1303

为提高可交互性一般应提高用户对话,移动和思考的效率,即最大可能地减少击键次数,缩短鼠标移动的距离,避免使用户产生无所适从的感觉.(√)1204一般单元测试不可以并行进行.(X)1403四,简答题(每题4分,共20分)

1,软件工程的原则有抽象,信息隐蔽,模块化和其他那些内容局部化一致性完全性可验证性

2,常用的软件项目的估算方法主要有哪4种1.自顶向下的估算方法2.自底向上的估算方法3.区别估算法

4.根据经验估算公式

3,一个PDL的原型,它可以建立在任意一个通用的结构化程序设计语言之上.其基本成分包括:子程序定义,界面描述,数据说明和其它那些内容0802块结构分支结构循环结构I/O结构

4,人机界面设计过程可分为创立系统功能的外部模型;确定为完成此系统功能人和计算机应分别完成的任务及另外哪4个步骤12021)考虑界面设计中的典型问题

2)借助CASE工具构造界面原型3)实现设计模型4)评估界面质量

5,软件测试过程一般可划分为哪几个主要阶段单元测试集成测试验收测试系统测试

五,综合题(每题10分,共20分)1,请简述编码原则

1)编写易于修改和维护的代码2)编写易于测试的代码3)编写详细的程序文档

4)编程中采用统一的标准和约定,降低程序的繁杂性5)分开功能独立的代码块形成新的模块

2,什么是条件覆盖并为以下程序流程图设计条件覆盖测试用例并标明程序执行路径.

解:1)条件覆盖――条件覆盖是指设计足够的测试用例,使每个判定表达式中的每个条件的每种可能值都至少出现一次.

设计如下两组测试用例,可以满足条件覆盖的标准:x=2,y=0,z=3

(覆盖x>1,y=0,x=2,z>1,通过路径abcde);x=1,y=1,z=1

(覆盖x≤1,y≠0,x≠2,z≤1,通过路径ace).

一、单项选择题每题1分,共20分。(在每题的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内)1.在以下工具与环境中()属于较早期的CASE。A.基于信息工程CASEB.人工智能CASEC.结构的基于图形CASED.集成的CASE环境

2.Putnam成本估算模型是一个()模型。

A.静态单变量B.动态单变量C.静态多变量D.动态多变量

31.是描述软件开发过程中各种活动如何执行的模型。

32.数据字典是用来定义数据流图中的各个成分的具体含义的。它以一种准

确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。33.内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,

即一个模块内部各个元素彼此结合的紧凑程度的度量。34.JSP方法是面向数据结构的设计方法,其定义了一组以数据结构为指导

的映射过程,它根据输入,输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。35.指一致的操作或函数、过程可作用于多种类型的对象上并获得不同结果。

或(不同的对象,收到同一消息可以产生不同的结果。)四、简答题每题5分,共20分。

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

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

时间冗余:指重复执行指令或程序来消除瞬时错误带来的影响。冗余附加技术:指为实现上述冗余技术所需的资源和技术。

37.软件测试是(1)为了发现错误而执行程序的过程;(2)一个好的用例

能够发现至今尚未发现的错误的测试。(3)一个成功的测试是发现至今尚未发现的错误的测试。38.就程序设计语言的工程特性而言,对程序编码有如下要求:

(1)可移植性

(2)开发工具的可利用性(3)软件的可重用性(4)可维护性39.模块的内聚性包括:

(1)偶然内聚(2)规律内聚(3)时间内聚(4)通信内聚(5)顺序内聚(6)功能内聚五、应用题共25分。40.解:

(1)环路繁杂性=判断数+1=6+1=7(个)(2)路径1:(0)—①—(13)—(19)路径2:(0)—②—③—(14)—(19)路径3:(0)—②—④—⑤—(15)—(19)路径4:(0)—②—④—⑥—⑦—(16)—(19)

路径5:(0)—②—④—⑥—⑧—⑨—(17)—(19)路径6:(0)—②—④—⑥—⑧—⑩—(18)—(19)路径7:(0)—②—④—⑥—⑧—⑩—(12)—(19)41:

解答:等价划分法

①划分等价类并编号,如下表所示。十六进制整型常量输入条件的等价类表输入数据合理等价类不合理等价类3.非0x或非-打头的串4.含有非数字且(a,b,c,d,e,f)以外字符5.多于5个字符2.以-0x打头的1~2位数字串6.-后跟非0的多位串7.-0后跟数字串8.-后多于3个数字10.小于-7f十六进制数范围9.在-7f~7f之间11.大于7f②为合理等价类设计测试用例,表中有三个合理等价类,设计两个例子

测试数据0×23-0×15期望结果显示有效输入显示有效输入覆盖范围1,92,91.0x或0X开头1~2位数字串十六进制整数③为每个不合理等价类至少设计一个测试用例测试数据2G12123311-1012-011-0134-0x7770x87

期望结果显示无效输入显示无效输入显示无效输入显示无效输入显示无效输入显示无效输入显示无效输入显示无效输入覆盖范围345678101142.

一,单项选每题1在每只有一个

的,请将正确选项前的字母填在题后的横线上。

1.可行性研究要进行一次_____需求分析。参考答案为:CA.详细的B.全面的

C.简化的、压缩的D.完全的

[解析]软件的可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。其实质是要进行一次简化、压缩了的需求分析、设计过程,要在较高层次上以较抽象的方式进行需求分析和设计过程。因此答案为C。2.系统流程图用于可行性分析中的_____的描述。参考答案为:AA.当前运行系统B.当前规律模型C.目标系统D.新系统

择题(本大题共20小题,分,共20分)小题列出的四个选项中选项是符合题目要求

[解析]可行性研究首先要确定项目的规模和目标,然后就需要对当前运行的系统进行研究了,在考察系统的基础上,通过描绘现有系统的高层系统流程图,与有关人员一起审查该系统流程图是否正确。描述的对象是当前正在运行的系统,因此选择A。3.系统流程图是描述_____的工具。参考答案为:CA.规律系统B.程序系统C.体系结构D.物理系统

[解析]系统流程图是用图形符号来表示系统中的各个元素,例如人工处理、数据库、设备等,流程图表达了系统中各个元素之间的信息滚动状况。是描绘物理系统的传统工具。4._______工具在软件详细设计过程中不采用。参考答案为:DA.判定表B.IPO图C.PDLD.DFD图

[解析]详细描述处理过程常用三种工具:图形、表格和语言。其中图形工具有结构化流程图、盒图和问题分析图三种,答案中的判定表是用来表示繁杂的条件组合与应做的动作之间的对应关系。IPO图用来描述每个模块输入/输出数据、处理功能及模块调用的详细状况。PDL是过程设计语言的缩写,也称程序描述语言,用于描述模块算法设计和处理细节的语言,这三种都可以在软件详细设计过程中使用,而DFD图则是数据流图,是以图形的方式描绘数据在系统中滚动和处理的过程,只反映系统必需完成的规律功能,所以它只是一种功能模型,不能在详细设计过程中使用。

5.程序的三种基本控制结构是参考答案为:BA.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移

[解析]程序的三种基本控制结构是顺序、选择和循环(重复)。子程序只是程序设计一种方法,递归则是一种算法,都算不上是控制结构。

6.程序的三种基本控制结构的共同特点是参考答案为:DA.不能嵌套使用B.只能用来写简单程序C.已经用硬件实现D.只有一个入口和一个出口

[解析]程序的特点就是从一个入口开始,最终以一个出口终止,其间可以用顺序,选择和循环方式对程序的流向进行控制。三种结构可以写出十分繁杂的程序,而且选择和循环都可以嵌套设计。

7.产生软件维护的副作用,是指参考答案为:CA.开发时的错误B.隐含的错误

C.因修改软件而造成的错误D.运行时误操作

[解析]因修改软件而造成的错误或其他不希望出现的状况称为维护的副作用,包括编码副作用、数据副作用、文档副作用三种。只有答案C是正确的表述。

8.维护中,因误删除一个标识符而引起的错误是_________副作用。参考答案为:CA.文档B.数据C.编码D.设计

[解析]编码副作用指的是在使用程序设计语言修改源代码时可能引入错误,譬如删除或修改一个子程序、一个标号、一个标识符,改变程序代码的时序关系,修改文件的开启或关闭等。因此此题答案为C。

9.可维护性的特性中相互促进的是参考答案为:A

A.可理解性和可测试性B.效率和可移植性C.效率和可修改性D.效率和结构好

[解析]软件的可维护性可用七个质量特性来衡量,分别是:可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。对于不同类型的维护,这些特性的侧重点也不一致,有一些可维护特性是可以相互促进的,譬如可理解性和可测试性,可理解性和可修改性,另外一些则是相互矛盾的,如答案中的B效率和可移植性、C中的效率和可修改性。至于D中的结构好则不属于可维护性的特征。

10.汽车有一个发动机。汽车和发动机之间的关系是_____关系。参考答案为:BA.一般具体B.整体部分C.分类关系D.主从关系

[解析]类有两种主要的结构关系,即一般——具体结构关系和整体——部分结构关系。前者称为分类结构,用来描述现实世界中的一般化的抽象关系。后者称为组装结构,用来描述现实世界中的类的组成的抽象关系。汽车和发动机的关系很明显,应当属于整体——部分关系。

11.在变更控制中,______可以用来确保由不同用户所执行的并发变更。参考答案为:B

A.异步控制B.同步控制C.存取控制D.基线控制

[解析]变更控制包括建立控制点和建立报告与审查制度,其过程中的“检出〞和“登入〞处理实现了存取控制和同步控制,存取控制管理各个用户存取和修改一个特定软件配置对象的权限,同步控制可用来确保由不同用户所执行任务的并发变更。

12.变更控制是一项最重要的软件配置任务,其中“检出〞和______处理实现了两个重要的变更控制要素,即存取控制和同步控制。参考答案为:AA.登入B.管理C.填写变更要求D.审查

[解析]“检出〞和“登入〞处理实现了两个重要的变更控制要素。具体说明见上题。13.提高软件质量和可靠的技术大致可分为两大类:其中一类就是避开错误技术,但避开错误技术无法做到完美无缺和绝无错误,这就需要参考答案为:DA.消除错误B.检测错误C.避开错误D.容错

[解析]提高软件质量和可靠性的技术大致可分为两类,一类是避开错误技术,即在开发的过程中不让过错潜入软件的技术,另一类是容错技术,即对某些无法避开的过错,使其影响减至最小的技术。

14._____是以提高软件质量为目的的技术活动。参考答案为:DA.技术创新B.测试C.技术创造D.技术评审

[解析]技术评审是以提高软件质量为目的的技术活动,是对软件本身的结构、与运行环境的接口、变更带来的影响等方面进行的评审活动。

15.面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程。因此面向对象方法有大量特征,如软件系统是由对象组成的;________;对象彼此之间仅能通过传递消息相互联系;层次结构的继承。参考答案为:C

A.开发过程基于功能分析和功能分解B.强调需求分析重要性

C.把对象划分成类,每个对象类都定义一组数据和方法D.对既存类进行调整

[解析]面向对象方法有四个特征,分别是对象唯一性、分类性、继承性和多态性。其中分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类,每个类是具有一致性质的个体集合,而每个对象相关类的实例,对象彼此之间通过传递消息相互联系。16.软件开发过程中,抽取和整理用户需求并建立问题域确切模型的过程叫参考答案为:DA.生存期B.面向对象设计C.面向对象程序设计D.面向对象分析

[解析]面向对象的分析的过程就是认识客观世界的过程,其目的就是建立对客观世界的确切、简单、可理解的正确模型,也就是所谓的建模。因此此题答案为D。

17.原型化方法是用户和设计者之间执行的一种交互构成,适用于______系统。参考答案为:A

A.需求不确定性高的B.需求确定的C.管理信息D.实时

[解析]原型不同于最终系统,它只实现所选择的部分功能,仅是为了试验或是演示而用,部分功能需求可以忽略或者模拟实现,因此适用于需求不确定性高的系统。18.原型化方法是一种_______型的设计过程。参考答案为:AA.自外向内B.自顶向下

C.自内向外D.自底向上

[解析]原型化方法的基本思想是根据用户给出的基本需求,通过快速实现构造出一个小型的、可执行的模型,用户在计算机上实际运行这个用户界面原型,在试用过程中提出看法或建议,然后开发者再对原型进行改进。如此周而复始,逐步弥补不足之处,从而提高了最终产品的质量。它是一种自外向内的设计过程。19.为了提高测试的效率,应当参考答案为:DA.随机地选取测试数据

B.取一切可能的输入数据作为测试数据C.在完成编码以后制定软件的测试计划D.选择发现错误可能性大的数据作为测试数据

[解析]软件测试是为了尽可能多的发现程序中的错误,特别是发现至今尚未发现的错误。在选取测试用例时,不可能进行穷举测试,在每一个细节进行测试,也不能无目的地随机选取测试数据,为了提高测试的效率,测试用例应选中择发现错误可能性大的部分,这样的测试结果才符合软件测试的目的。

20.使用白盒测试方法时,确定测试数据应根据_______和指定的覆盖标准。参考答案为:A

A.程序的内部规律B.程序的繁杂结构C.使用说明书D.程序的功能

[解析]白盒测试是把测试对象看作一个开启的盒子,测试人员须了解程序的内部结构和处理过程,由于白盒测试是一种结构测试,所以被测对象基本上是源程序,以程序的内部规律和指定的覆盖标确凿定测试数据。

二,填空题(本大题共10小题,每题2分,共20分)

21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的()状况。

解:信息滚动

[解析]系统流程图是描述物理系统的传统工具,用图形符号表示系统中的各个元素,如人工处理、数据处理、数据库、文件、设备等,表达了元素之间的信息滚动的状况。22.成本效益分析的目的是从()角度评价开发一个项目是否可行。解:经济

[解析]成本效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡,其目的是从经济角度评价开发一个新的软件项目是否可行。23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和()。

解:宽度优先策略

[解析]渐增式测试法有自顶向下结合和自底向上结合两种组装模块的方法,其中自顶向下集成是构造程序结构的一种增量式方式,不需要编写驱动模块,只需要编写桩模块。它从主控模块开始,依照软件的控制层次结构,以深度优先或宽度优先的策略,逐步把各个模块集成在一起。

24.独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条()的边的路径。解:在其他独立路径中未有过

[解析]在基本路径测试中,以详细设计或源程序为基础,导出控制流程图的拓扑结构——程序图,在计算了程序图的环路繁杂性之后,确定只包含独立路径的基本路径图,其中独立路径是包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条在其他独立路径中未有过的边的路径。

25.汇编语言是面向()的,可以完成高级语言无法完成的特别功能,如与外部设备之间的一些接口工作。解:机器

[解析]汇编语言属于低级语言,是一种面向机器的语言,它与高级语言相比有大量优越性:如操作灵活,可以直接作用到硬件的最下层,完成与外部设备的接口工作等,是能够利用计算机硬件特性直接控制硬件设备的唯一语言。26.在JSP方法中解决结构冲突的具体方法是()。解:中间数据结构或中间文件

[解析]JSP方法是面向数据结构的设计方法。它定义了一组以数据结构为指导的映射过程,根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,在JSP方法中解决结构冲突的具体方法是引入中间数据结构或中间文件,将冲突部分分隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。

27.详细设计的任务是确定每个模块的内部特性,即模块的算法、()。解:使用的数据

[解析]详细设计的基本任务是为每个模块进行详细的算法设计,为模块内的数据结构进行设计,确定每个模块的内部特性,包括模块的算法和使用的数据。对数据库进行物理设计等。

28.所有软件维护申请报告要按规定方式提出,该报告也称()报告。解:软件问题

[解析]在软件维护的流程中,第一步就是制定维护申请报告,也称为软件问题报告,它是维护阶段的一种文档,由申请维护的用户填写。

29.有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的()技术。解:维护支援

[解析]面向维护的技术涉及软件开发的所有阶段,能够减少软件错误,提高软件的可维护性。而维护支援技术则包含信息收集,错误原因分析,维护方案评价等项,是在软件维护阶段用来提高维护效率和质量的技术。

30.科学工程计算需要大量的标准库函数,以便处理繁杂的数值计算,可供选择的语言有:()、PASCAL语言、C语言和PL/1语言。解:FORTRAN语言

[解析]计算机语言根据不同行业的需求,使用的侧重点也不尽一致,在办公管理方面,一些数据库语言如FOXPRO、ORICAL有好多的应用,在工程行业,计算机语言的科学计算能力就显得特别重要,如MATLAB、PL/1、FORTRAN语言都是工程计算中常用的语言。三,名词解释(本大题共5小题,每题3分,共15分)31.经济可行性

解:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。

[解析]对于一个系统所必需要衡量的是经济上是否合算,经济可行性的范围很广,包括效益分析、潜在市场前景等。32.社会可行性

解:要开发的项目是否存在任何侵扰、阻碍等责任问题,要开发项目目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。[解析]社会可行性包括合同、责任、侵权等技术人员不甚了解的诸多问题。33.投资回收期

解:投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。[解析]寻常我们用投资回收期来衡量一个开发项目的价值,投资回收期越短,就越快获得利润。34.对应关系

解:即有直接因果关系在程序中可以同时处理。

[解析]对应关系是指数据单元在数据内容上、数量上和顺序上有直接的因果关系,对于重复的数据单元,重复的次序和次数都一致才有对应关系。35.结构冲突

解:输入数据与输出数据结构找不到对应关系的状况,称为结构冲突。[解析]使用JSP方法时会遇到此类结构冲突问题,对此,Jackson提出了引入中间数据结构或中间文件的方法,将冲突部分分隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。

四,简答题(本大题共4小题,每题5分,共20分)36.可行性研究报告的主要内容有哪些?解:一个可行性研究报告的主要内容如下:

(1)引言:说明编写本文档的目的;项目的名称、背景;本文档用到的专门术语和参考资料。

(2)可行性研究前提:可行性研究前提。说明开发项目的功能、性能和基本要求;达到的目标;各种限制条件;可行性研究方法和决定可行性的主要因素。

(3)对现有系统的分析:说明现有系统的处理流程和数据流程;工作负荷;各项费用支出;所需要各类专业技术人员的数量;所需要各种设备;现有系统存在什么问题。(4)所建议系统的技术可行性分析:所建议系统的简要说明;处理流程和数据流程;与现有的系统比较的优越性;采用所建议系统对用户的影响;对各种设备、现有软件、开发环境、运行环境的影响;对经费支出的影响;对技术可行性的评价。

(5)所建议系统的经济可行性分析:说明所建议系统的各种支出,各种效益;收益投资比;投资回收周期。

(6)社会因素可行性分析:说明法律因素,对合同责任、侵扰专利权、侵扰版权等问题的分析;说明用户使用可行性,是否满足用户行政管理、工作制度、人员素质的要求。(7)其他可供选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由。(8)结论看法:说明项目是否能开发;还需要什么条件才能开发;对项目目标有什么变动等。

[解析]做软件的可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发,其中的问题能否解决,报告共分为八个基本内容。37.系统设计的内容是什么?

解:系统设计阶段先从高层入手,然后细化。系统设计要决定整个结构及风格,这种结构为后面设计阶段的更详细策略的设计提供了基础。

(1)系统分解。系统中主要的组成部分称为子系统,子系统既不是一个对象也不是一个功能,而是类、关联、操作、时间和约束的集合。每次分解的各子系统数目不能太多,最底层子系统称为模块。

(2)确定并发性。分析模型、现实世界及硬件中不少对象均是并发的。系统设计的一个重要目标就是确定哪些是必需同时动作的对象,哪些不是同时动作的对象。后者可以放在一起,而综合成单个控制线或任务。

(3)处理器及任务分派。各并发子系统必需分派给单个硬件单元,要么是一个一般的处理器,要么是一个具体的功能单元,必需完成下面的工作:估计性能要求和资源需求,选择实现子系统的硬软件,将软件子系统分派给各处理器以满足性能要求和微小化处理器之间的通信,决定实现各子系统的各物理单元的连接。

(4)数据存储管理。系统中的内部数据和外部数据的存储管理是一项重要的任务。寻常各数据存储可以将数据结构、文件、数据库组合在一起,不同数据存储要在费用、访问时间、容量以及可靠性之间做折中考虑。

(5)全局资源的处理。必需确定全局资源,并且制定访问全局资源的策略。全局资源包括:物理资源,如处理器、驱动器等;空间,如盘空间、工作站屏等;规律名字,如对象标识符、类名、文件名等。

假使资源是物理对象,则可以通过建立协议实现对并发系统的访问,以达到自身控制;假使资源是规律实体,如对象标识符,那么在共享环境中有冲突访问的可能,如独立的事务可能同时使用同一个对象标识符,则各个全局资源都必需有一个保护对象,由保护对象来控制对该资源的访问。

(6)选择软件控制机制。分析模型中所有交互行为都表示为对象之间的事件。系统设计必需从多种方法中选择某种方法来实现软件的控制。

(7)人机交互接口设计。设计中的大部分工作都与稳定的状态行为有关,但必需考虑用户使用系统的交互接口。

[解析]系统设计是问题求解及建立解答的高级策略。必需制定解决问题的基本方法,系统的高层结构形式包括子系统的分解、它的固有并发性、子系统分派给硬软件、数据存储管理、资源协调、软件控制实现、人机交互接口。

38.什么是软件危机?软件危机的表现是什么?其产生的原因是什么?

解:软件发展其次阶段的末期,由于计算机硬件技术的进步,计算机运行速度、容量、可靠性有显著的提高,生产成本显著下降,这为计算机的广泛应用创造了条件。一些繁杂的、大型的软件开发项目提出来了,但是,软件开发技术的进步一直未能满足发展的需要。在软件开发中遇到的问题找不到解决方法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。

软件危机表现在以下四个方面:

(1)经费预算经常突破,完成时间一再拖延。由于缺乏软件开发的经验和软件开发数据的积累,使得开发工作的计划很难制定。主观盲目制定计划,执行起来与实际状况有很大差距,使得开发经费一再突破。由于对工作量估计不足,对开发难度估计不足,进度计划无法按时完成,开发时间一再拖延。

(2)开发的软件不能满足用户要求。开发初期对用户的要求了解不够明确,未能得到明确的表达。开发工作开始后,软件人员和用户又未能及时交换看法,使得一些问题不能及时解决,导致开发的软件不能满足用户的要求,因而导致开发失败。

(3)开发的软件可维护性差。开发过程中没有同意的、公认的规范,软件开发人员按各自的风格工作,各行其是,开发过程无完整、规范的文档,发现问题后进行杂乱无章的修改。程序结构不好,运行时发现错误也很难修改,导致维护性差。

(4)开发的软件可靠性差。由于在开发过程中,没有确保软件质量的体系和措施,在软件测试时,又没有严格的、充分的、完全的测试,提交给用户的软件质量差,在运行中暴露出大量的问题。

造成软件危机的原因是:

(1)软件的规模越来越大,结构越来越繁杂。(2)软件开发管理困难而繁杂。(3)软件开发费用不断增加。(4)软件开发技术落后。(5)生产方式落后。

(6)开发工具落后,生产率提高缓慢。

[解析]由于软件危机的出现,人们才开始用工程化的思想来开发软件,此后,软件生产才步入了软件工程时代。

39.软件质量保证应做好哪几方面的工作?

解:软件质量保证是软件工程管理的重要内容,软件质量保证应做好以下几方面的工作:

(1)采用技术手段和工具。质量保证活动要贯彻开发过程始终,必需采用技术手段和工具,特别是使用软件开发环境来进行软件开发。

(2)组织正式技术评审。在软件开发的每一个阶段终止时,都要组织正式的技术评审。国家标准要求单位必需采用审查、文档评审、设计评审、审计和测试等具体手段来保证质量。

(3)加强软件测试。软件测试是质量保证的重要手段,由于测试可发现软件中大多数潜在错误。

(4)推行软件工程规范(标准)。用户可以自己制定软件工程规范(标准),但标准一旦确认就应贯彻执行。

(5)对软件的变更进行控制。软件的修改和变更往往会引起潜伏的错误,因此必需严格控制软件的修改和变更。

(6)对软件质量进行度量。即对软件质量进行跟踪,及时记录和报告软件质量状况。

[解析]软件的质量保证是向用户及社会提供满意的高质量的产品,确保软件产品从诞生到消亡为止的所有阶段的质量的活动,是软件工程管理中的重要内容。

五,论述题(本大题共3小题,第40小题7分,第41小题8分,第42小题10分,共25分)

40.请使用PAD图和PDL语言描述在数组A(1)~A(10)中找最大数的算法。解:PDL语言:N=1

WHILENA、纠错性维护B、代码维护C、预防性维护D、文档维护

9、软件需求分析是保证软件质量的重要步骤,它的实施应当是在()。CA、编码阶段B、软件开发全过程C、软件定义阶段D、软件设计阶段

10、软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试(A)。A、结构合理性B、软件外部功能C、程序正确性D、程序内部规律

11、软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立()。D

A、软件结构B、软件过程C、软件模型D、软件模块12、在下述哪一种测试中,测试人员必需接触到源程序()。Ⅰ功能测试Ⅱ结构测试

A、均不需B、只有ⅠC、只有ⅡD、Ⅰ和Ⅱ13、检查软件产品是否符合需求定义的过程称为()。AA、确认测试B、集成测试C、验收测试D、验证测试

确认测试又称有效性测试。它的任务是验证软件的有效性,即验证软件的功能和性能及其它特性是否与用户的要求一致。在软件需求规格说明书描述了全部用户可见的软件属性,其中有一节叫做有效性准则,它包含的信息就是软件确认测试的基础。14、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论