软件工程复习题文档格式.docx

上传人:b****1 文档编号:3263543 上传时间:2023-05-01 格式:DOCX 页数:29 大小:246.58KB
下载 相关 举报
软件工程复习题文档格式.docx_第1页
第1页 / 共29页
软件工程复习题文档格式.docx_第2页
第2页 / 共29页
软件工程复习题文档格式.docx_第3页
第3页 / 共29页
软件工程复习题文档格式.docx_第4页
第4页 / 共29页
软件工程复习题文档格式.docx_第5页
第5页 / 共29页
软件工程复习题文档格式.docx_第6页
第6页 / 共29页
软件工程复习题文档格式.docx_第7页
第7页 / 共29页
软件工程复习题文档格式.docx_第8页
第8页 / 共29页
软件工程复习题文档格式.docx_第9页
第9页 / 共29页
软件工程复习题文档格式.docx_第10页
第10页 / 共29页
软件工程复习题文档格式.docx_第11页
第11页 / 共29页
软件工程复习题文档格式.docx_第12页
第12页 / 共29页
软件工程复习题文档格式.docx_第13页
第13页 / 共29页
软件工程复习题文档格式.docx_第14页
第14页 / 共29页
软件工程复习题文档格式.docx_第15页
第15页 / 共29页
软件工程复习题文档格式.docx_第16页
第16页 / 共29页
软件工程复习题文档格式.docx_第17页
第17页 / 共29页
软件工程复习题文档格式.docx_第18页
第18页 / 共29页
软件工程复习题文档格式.docx_第19页
第19页 / 共29页
软件工程复习题文档格式.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

软件工程复习题文档格式.docx

《软件工程复习题文档格式.docx》由会员分享,可在线阅读,更多相关《软件工程复习题文档格式.docx(29页珍藏版)》请在冰点文库上搜索。

软件工程复习题文档格式.docx

强:

功能内聚,信息内聚,通信内聚,过程内聚,时间内聚,逻辑内聚,偶然内聚:

2、什么是数据字典简述数据字典与数据流图的关系.

数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具.(2分)数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用.数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明.(3分)3.分析软件危机产生的主要原因有哪些?

答:

导致软件危机的主要原因有:

(1)软件日益复杂和庞大

(2)软件开发管理困难和复杂(3)软件开发技术落后(4)生产方式落后(5)开发工具落后(6)软件开发费用不断增加

4.说明结构化程序设计的主要思想是什么?

(1)自顶向下、逐步求精的程序设计方法(2分)

(2)使用3种基本控制结构、.

5.简述需求分析方法应遵循的基本原则?

1.必须能够表达和理解问题的数据域和功能域。

2.可以把一个复杂的问题按功能进行分解并可逐层细化。

3.建模

6.说明软件测试和调试的目的有何区别?

测试的目的是判断和发现软件是否有错误

(2)调试的目的是定位软件错误并纠正错误。

7什么是黑盒测试法?

黑盒测试法又称功能测试或数据驱动测试,该方法把被测试对象看成一个不透明的黑盒子。

测试人员完全不考虑程序内部结构和处理过程,只在程序的接口处进行测试,依据需求说明书,检查程序是否满足功能要求,是否能很好的接受数据,并产生正确的输出。

8.软件生命期各阶段的任务是什么?

答:

软件生命期分为7个阶段:

1、问题定义:

要解决的问题是什么

2、可行性研究:

确定问题是否值得解,技术可行性、经济可行性、操作可行性

3、需求分析:

系统必须做什么

4、总体设计:

系统如何实现,包括系统设计和结构设计

5、详细设计:

具体实现设计的系统

6、实现:

编码和测试

7、运行维护:

保证软件正常运行。

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

1、软件重用可以显著地改善软件的质量和可靠性。

2、软件重用可以极大地提高软件开发的效率。

3、节省软件开发的成本,避免不必要的重复劳动和人力、财力的浪费。

10.自顶而下渐增测试与自底而上渐增测试各有何优、缺点?

① 自顶而下渐增测试

优点:

不需要测试驱动程序,能够在测试阶段的早期实现并验证系统的主要功能,而且能够尽早发现上层模块的接口错误。

缺点:

需要存根程序,底层错误发现较晚。

② 自底而上渐增测试

优点与缺点和自顶而下渐增测试相反。

1什么是软件危机?

为什么会产生软件危机?

软件危机是指软件在开发和维护过程遇到的一系统严重问题,主要包含二方面的问题,一是如何开发利用软件,三是如何维护数量不断膨胀的已有软件.产生软件危机的原因,一方面与软件本身的特点有关,另一方面和软件开发与维护的方法不正确有关。

2什么是软件的生存周期?

包括哪几个部分?

个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。

软件生存周期就是从提出软件产品开始,直到该软件产品被淘汰的全过程。

它包括制定计划、需求分析、软件设计、程序编写、软件测试、运行维护等。

1.什么软件?

软件按功能进行划分,可以划分成哪几类?

按工作方式进行分类,可以划分成哪几类?

软件是由计算机程序、程序使用的数据以及说明的各种文档组成。

按功能进行划分可以分为:

系统软件、支撑软件、应用软件;

按软件工作方式进行分类可以分为:

实时处理软件、分时处理软件、交互式软件和批处理软件。

2.软件危机产生的原因是什么?

软件危机的原因:

软件不同与硬件,是逻辑部件;

a)软件规模庞大,逻辑结构复杂;

软件开发人员和管理人员只重视设计程序而轻视用户的需求分析,导致最后研制出的软件产品无法满足用户的需求;

b)软件设计技术和管理技术落后,没有统一的软件质量管理规范;

c)在软件的开发与维护关系问题上存在错误的概念,重视开发,而轻视维护。

3.面向对象方法学的优点有哪些?

面向对象方法学的优点:

(1)多角度模拟客观世界;

(2)具有较高的稳定性;

(3)重用性好;

(4)适合开发大型软件。

4.需求分析的主要方法是什么?

用这种方法进行需求分析的主要步骤有哪些?

需求分析的方法有面向数据流的分析方法、面向数据结构的分析方法、面向对象分析方法和动态分析方法等,主要采用面向数据流的分析方法。

主要步骤包括:

(1)分析数据流图;

(2)用户审查;

(3)细化数据流图;

(4)修订开发计划;

(5)复审开发计划。

5.细化数据流图需要遵循哪些基本原则?

细化数据流图需要遵循的原则有:

a)在分层细化时必须保持数据的连续性,也就是说细化前后对应功能的输入/输出数据必须相同。

b)把一个功能进一步分解成子功能,这些子功能必须有独立的功能,否则,就不需要再分解了。

6.简述软件质量的定义及在软件开发过程中管理软件质量的办法。

软件质量指的是软件产品满足规定的和隐藏的与需求能力有关的全部特征和特性。

管理软件质量的办法:

(1)每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务;

(2)每个阶段结束前都要对所完成的文档、程序进行评审,以便尽早发现问题,改正错误。

7.什么是白盒测试?

什么是黑盒测试?

白盒测试又称为结构测试,它的前提条件是可以看成将程序放在一个透明的白盒子中,也就是完全了解了软件系统的结构和整个处理过程。

黑盒测试又称为功能测试,它把程序看成是一个不透明的黑盒子,完全不去考虑程序的内部结构和处理过程。

8.什么是软件维护?

软件维护可以分为哪几类?

软件维护是指在软件系统已经交付使用之后,软件使用人员为了适应新的要求、满足新的需要或为了改正软件中存在的错误而对软件系统进行修改的过程。

可以分为纠错性维护、完善性维护、适应性维护和预见性维护。

9.简述软件质量三要素及其具体包括的内容。

软件质量要素可以分为三类,第一类要素表现软件的运行特征,包括正确性、可靠性、有效性、安全性和可用性;

第二类要素表现软件承受修改的能力,包括可维护性、灵活性和可测试性;

第三类要素表现软件对新环境的适应程度,包括可移植性、可重用性和可互操作性。

3什么是黑盒测试法?

黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据,产生正确地输出信息。

3请简要说明需求分析的三个层次包括那些主要内容。

软件需求包括三个不同的层次—业务需求、用户需求和功能需求—也包括非功能需求。

业务需求反映了组织机构或客户对系统、产品高层次的目标要求。

用户需求文档描述了用户使用产品必须要完成的任务。

功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。

12.为什么要设计独立性强的模块以及如何判断模块的独立性?

模块独立性强,则:

(1)系统容易开发

(2)系统可靠性高(3)系统容易维护

判断模块独立性的基本原则:

“耦合小,内聚大”

2.在需求分析阶段,建立目标系统的逻辑模型的具体做法是什么。

系统流程图是描述物理系统的传统工具。

它的基本思想是用图形符号以黑盒子形式描绘系统里的每个部件(程序、文件、数据库、表格、人工过程等)。

系统流程图表达的是部件的信息流程,而不表示对信息进行加工处理的控制过程。

3.为什么数据流图要分层?

这了表达数据处理过程的数据加工情况,用一个数据流图是不够的。

为表达稍为复杂的实际问题,需要按照问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。

有关 

简述软件测试要经过哪几个步骤,每个步骤与什么文档

测试过程按4个步骤进行,即单元测试(模块测试)、集成测试(子系统测试和系统测试)、确认测试(验收测试)和平行运行。

单元测试集中对用源代码实现的每一个程序单元进行测试,与其相关的文档是单元测试计划和详细设计说明书。

集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。

与其相关的文档是集成测试计划和软件需求说明书。

确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。

与其相关的文档是确认测试计划和软件需求说明书。

平行运行把已经经过确认的软件纳入实际运行环境中,与其他系统成份组合在一起进行测试。

与其相关的文档:

用户指南、使用手册等。

1.设有一个程序,读入三个整数,代表三角形的三条边。

输出表明三角形是不规则的、等腰的或等边的。

请采用黑盒的等价类划分方法,设计一组测试用例。

不规则:

345等腰:

334等边:

333其他:

192

1.公司计划采用新技术开发一款新的手机软件产品,希望尽快占领市场,假设你是项目经理,你会选择哪种软件过程模型?

为什么?

选用模型:

可采用增量模型/增量+原形/螺旋模型等等。

但如果采用快速开发则不太适宜。

分析原因:

技术相对比较新,而且需要快速占领市场,所以应短期内出现产品的原形或者是可用的子系统。

分析设计题(共20分)

1.从应用特点的角度来看,我们可以把高级语言分为基础语言、结构语言和专用语言三类。

设计题已知有如下的伪代码程序:

START

I:

=1;

WHILEi:

<

=n-1DO

min:

=A[i];

j:

=i+1;

WHILEj<

=nDO

IFmin>

A[j]

THEN

BLOCK

temp:

=min;

min:

=A[j];

A[j]:

=temp;

ENDBLOCK

ENDIF;

=j+1;

ENDDO

i:

STOP

要求:

请用盒图描述。

i:

=1

i<

=n-1

min:

=A[i]

j:

=i+1

j<

=n

f

min>

t

temp:

=min

A[j]:

=temp

=j+1

2.(8分)假设开发某个计算机应用系统的投资额为3000元,该计算机应用系统投入使用后,每年可以节约1000元,5年内可能节约5000元。

3000元是现在投资的钱,5000元是5年内节省的钱,假定年利率为12%,请计算该系统的纯收入,投资回收期,投资回收率。

年.

节省

利率

现在价值

累计现在价值

1

1000

1.12

892.86

2

1.25

800.00

1692.86

3

1.40

714.29

2407.15

4

1.57

636.94

3044.09

5

1.76

568.18

3612.27

计算该系统的纯收:

3612.27-3000=612.27

投资回收期:

3+(3000-2407.15)/(3044.09-2407.15)=3.93

投资回收率为r

3000=1000/(1+r)+1000/(1+r)2+1000/(1+r)3+1000/(1+r)4+1000/(1+r)5

解得r=20%

1.求一组数组中的最大数,数组表示为A(n),n=1,2……n的自然数。

(12分)

1)请画出程序流程图(4分)请画出该算法的N-S图(4分)请用PAD图来表示该算法

(1)

(2)

4.设计一个简化的网上个人银行查询系统,用户可以通过Internet查询自己帐户的收支明细、余额和修改密码。

(一)采用结构化方法:

7分

1)请画出E-R图2分

DFD图的第0层和第1层。

3分

2)编写两个关键词条的数据字典。

2分

E-R图

DFD图第0层

DFD第1层

数据字典:

名称:

帐号

别名:

何处使用/如何使用:

登陆帐户时需要输入

描述:

帐户的唯一标识,每个帐户对应一个帐号

帐号=12个数字

帐户密码

登陆帐户时输入;

修改密码时输入,修改成功后保存到帐户数据库

密码=*6个字母*

(二)采用面向对象方法:

8分

1)请画出系统的用例图;

2)识别出系统的主要类2分

User、Account、DetailItem

主要要包括用户、帐户、收支明细等类。

并画其中的二个类图(包含主要属性和操作)。

8.面向对象技术是一整套关于如何看待软件系统和现实世界的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学。

面向对象方法是一种运用对象、类、继承、封装、聚集、消息传送、多态性等概念来构造系统的软件开发方法。

  41.根据下列条件使用等价类划分法设计测试用例。

   某一8位微机,其八进制常数定义为:

以零开头的数是八进制整数,其值的范围是-177~177,如05,0127,-065

    解:

(1)划分等价类并编号,如下表示:

(4分)

    

(2)为合理等价类设计测试用例,表中有两个合理等价类,设计两个例子(2分)

    (3)为不合理等价类测试用例,至少设计一个测试用例(2分)

    [解析]等价类划分属于黑盒测试的一种,它将输入数据域按有效的或无效的划分成若干个等价类,测试每个等价类的代表值就等于对该类其他值的测试,这样用少量有代表性的例子代替大量测试目的相同的例子,可以有效提高测试效率。

本题划分了3个合理等价类,9个不合理等价类进行测试,取到了预期的效果。

  42.某电器集团公司下属的厂包括技术科、生产科等基层单位。

现在想建立一个计算机辅助企业管理系统,其中:

    生产科的任务是:

    

(1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。

    

(2)根据车间实际生产日报表、周报表调整月生产计划

    (3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。

    (4)将产品的组装计划传达到各科,将组装月计划分解为周计划,下达给车间

    技术科的任务是:

    

(1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。

    

(2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件厂。

试写出以上系统中生产科和技术科处理的软件结构图。

    画出生产科图的给6分,画出技术科的给4分。

   [解析]软件结构图是软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制层次体系,软件结构往往用树状或网状结构的图形来表示,其主要内容有模块及模块的控制关系,根据题意,可绘制出生产科和技术科的软件结构图,其中生产科的结构图深度和宽度均为4,技术科的结构图的深度和宽度均为3。

四、应用题(每题8分,共40分)

1、假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。

对于每个需要再次定货的零件应该列出下述数据:

零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。

零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。

当某种零件的库存数量少于库存量临界值时就应该再次定货。

画出系统的数据流图。

2、将下面给出的伪码转换为N-S图和PAD图。

voidroot(floatroot1,floatroot2){

i=1;

j=0;

while(i<

=10){

输入一元二次方程的系数a,b,c;

p=b*b–4*a*c;

if(p<

0)输出“方程i无实数根”;

elseif(p>

0)求出根并输出;

if(p==0){

求出重根并输出;

j=j+1;

}

i=i+1;

}

输出重根的方程的个数j;

1)N-S图

(2)PAD图

3、:

输入三整数,判断是否构成三角形,如构成三角形,则输出三条边的值,否则输出”不能构成三角形”.要求:

1.用程序流程图表示该问题的算法;

2.计算程序复杂度;

3.设计路径覆盖的测试用例。

路径:

1.①—②—③—④—⑥—⑦

2.①—②—⑤—⑥—⑦

3.①—⑤—⑥—⑦

4.①—②—③—⑤—⑥—⑦

程序复杂度=3+1=4

测试用例

路径

测试用例(A,B,C)

结果

A=3,B=4,C=5

A=5,B=8,C=2

不能构成三角形

A=2,B=2,C=5

A=5,B=2,C=2

5、一个软件公司有许多部门,分为开发部门和管理部门两种,每个开发部门开发多个软件产品,每个部门由部门名字唯一确定。

该公司有许多员工,员工分为经理,工作人员和开发人员。

开发部门有经理和开发人员,管理部门有经理和工作人员。

每个开发人员可参加多个开发项目,每个开发项目需要多个开发人员,每位经理可主持多个开发项目,建立该公司的对象模型。

1、瀑布模型把软件生命周期划分为八个阶段:

问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。

八个阶段又可归纳为三个大的阶段:

计划阶段、开发阶段和(运行阶段)。

2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大(C需求分析阶段)。

3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标(A)需求分析阶段

4、软件工程的出现主要是由于(C)C.软件危机的出现

5、软件工程方法学的目的是:

使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C)软件开发工具和软件开发的环境

6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为(B)相互补充

8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(原型化方法)

9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(B)

A、控制流B、数据流C、程序流D、指令流

10、软件开发的结构化生命周期方法将软件生命周期划分成(A)计划阶段、开发阶段、运行阶段

11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为(瀑布模型)

12、软件开发的瀑布模型,一般都将开发过程划分为:

分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(编码阶段

23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:

深度优先策略和( 宽度优先策略 )。

 [解析]渐增式测试法有自顶向下结合和自底向上结合两种组装模块的方法,其中自顶向下集成是构造程序结构的一种增量式方式,不需要编写驱动模块,只需要编写桩模块。

它从主控模块开始,按照软件的控制层次结构,以深度优先或宽度优先的策略,逐步把各个模块集成在一起。

  24.独立路径是指包括一组以前没有处理的语句或条件的一条路径。

从程序图来看,一条独立路径是至少包含有一条( 在其他独立路径中未有过 )的边的路径。

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

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

对数据库进行物理设计等。

   

1.软件的开发与运行经常受到硬件的限制和制约。

(√)

2.模块内的高内聚往往意味着模块间的松耦合。

(√)

3.Jackson图只能表达程序结构,不能表达数据结构。

(X)

5.软件的质量好坏主要由验收人员负责,其他开发人员不必关心。

(X)

6.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖。

7.应该尽量使用机器语言编写代码,提高程序运行效率,而减少高级语言的使用。

8.UML只能应用于软件系统模型的建立。

9.容错就是每个程序采用两种不同的算法编写。

10.软件测试的目的是为了无一遗漏的找

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2