2023年软件工程导论 复习资料_第1页
2023年软件工程导论 复习资料_第2页
2023年软件工程导论 复习资料_第3页
2023年软件工程导论 复习资料_第4页
2023年软件工程导论 复习资料_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

名词解释:

1.软件生命周期模型

软件生存周期模型:是描述软件开发过程中各种活动如何执行的模型。

软件生存周期主要模型:瀑布模型、增量模型、螺旋模型、喷泉模型、变换模型和基于

知识的模型等

2.模块独立性

模块独立性指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且

接口简单。模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。

3.软件的可维护性

软件可维护性指软件能够被理解、校正、适应及增强功能的容易程度。

4.软件工程

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

程就是运用工程学的基本原理和方法来组织管理软件的生产、研究、开发、管理、维拧的过

程、方法和技术。

5.数据字典

字据字典:简称DD,就是用来定义数据流图中的各个成分具体含义的,它以一种准确

的\无二义性的说明方式为系统的分析\设计及维护提供了有关元素的一致的定义和详细

的描述。

6、静态测试

静态测试是采用人JL检测和计算机辅助静态分析的方法对程序进行检测。

7、面向对象:面向对象00二类+对象+继承+通信

8、需求分析

需求分析是指:开发人员要准确理解用户的要求,进行细致的调查分析•,将用户非形式的

需求陈述转化为完整的需求定义,再由需求定义转换到用应的形式主义功能规约(需求规格

说明)的过程。

9、软件危机

软件危机(SoftwareCrisis)是计算机软件在它的开发和维护过程中所遇到的一系列严重

问题。概括地说,主要包含两方面的问题:如何开发软件,怎样满足对软件日益增长的需求;

如何维护数量不断膨胀的已有软件。

10、软件生存周期

软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。软件生

存周期包括:可行性分析和项目开发计划、需求分析、概要设计、详细设计、编码、测试、

维护等。

简答:

1.软件生存周期有哪几个阶段?

①可行性研究②需求分析③总体设计④详细设计⑤编码⑥测试⑦维护

2.白盒测试法有哪些逻辑覆盖标准?

①语句覆盖②判定覆盖③条件覆盖④判定/条件覆盖⑤条件组合覆盖⑥点覆盖、边覆盖、

路径覆盖

3.软件的维护有哪4种类型?①校正性维护②适应性维护③完善性维护④预防性维护。

4.软件成分的重用有哪3个级别?:①代码重用②设计结果重用③分析结果重用

5.设计任务管理子系统有哪7个任务?

①确定事件驱动型任务②确定时钟驱动任务③确定优先任务④确定关键任务⑤确定协

调任务⑥尽量减少任务数⑦确定资源需求

6.类构件的重用包括哪3种方式?:①实例重用②继承重用③多态重用

7.提高可重用性的7条准则是哪些?

①提高方法的内聚②减小方法的规模③保持方法的•致性④把策略与实现分开⑤

全面覆盖⑥尽量不使用合局信息⑦利用继承机制

8.提高可扩充性的4条准则是哪些?

①封装实现策略②不要用一个方法遍历多条关联链③避免使用多分支语句④精心确

定公有方法

9.提高健壮性的4条准则是哪些?

①预防用户的操作错误②检查参数的合法性③不要预先确定限制条件④先测试后优化

10.列举PDL语言的优点与缺点有哪些?

PDL语言的优点:①可以作为注释插在源程序中间;②可以使用普通的正文编辑程

序或文字处理系统,很方便完成PDL的书写和编辑工作:③可以利用已有的自动处理程序

自动由PDL生成程序源代码。

PDL语言的缺点:①不如图形工具直观。②描述复杂的条件组合与动作之间的对应关

系时,不如判定表和判定树时简单。

11.如何改进软件设计、提高软件质量?

(!)提高模块的独立性。(2)模块规模应该适中。(3)适当选择深度、宽度、扇山和扇

入。(4)模块的作用域应该在控制域之内。(5)力争降低模块接口的复杂程度。(6)设

计单入口单出口的模块。(7)模块功能应该可以预测。

12.以GJMyers的观点,简述对软件测试的目的。

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

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

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

(1)采用技术手段和工具。(2)组织正式技术评审(3)加强软件测试(4)推行软件

工程规范(标准)。(5)对软件的变更进行控制(6)对软件质量进行度量。

14.下列模块的内聚类型是什么?再把它们按内聚的大小由小到大排列。

(1)使用同一数据来源产生两种报告(2)求一元二次方程的根(3)计算最高成绩和平均

成绩(4)系统初始化处理

【1】通信内聚,功能内聚,逻辑内聚,时间内聚【2】(3)->(4)->(1)->(2)

15.什么是黑盒测试法?常用的黑盒测试方法有哪些?

将程序当成是黑盒子以设计中的功能为标准在程序的接口出进行测试看它能否达到功

能要求。常见方法:等价类划分、边界值分析、因果图、错误推测。

16.选择程序设计语言应考虑哪些因素?

①项目的应用领域,是选择语言的关键因素、②软件开发方法:选择语言有时依赖该因

素。③软件执行环境:对软件生产率、错误率和软件质量有影响。④算法和数据结构的复

杂性。⑤软件开发人员的知识。与开发人员的知识水平和心理因素有关,有时对语言选择

有影响。

17.什么是模块耦合性,有哪些类型?

耦合性:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。

模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。

耦合性种类:数据耦合、标记耦合、控制耦合、公共耦合、内容耦合

18.软件维护有哪些内容?;a、校正性维护b、适应性维护c、完善性维护d、预防性维护

应用题:

一、某校教务系统具备以下功能,输入用户ID号及口令后,经验证进入教务管理系统,可

进行如F功能的处理:1.查询成绩:查询成绩以及从名次表中得到名次信息;2.学籍管理:

根据学生总成绩排出名次信息;3.成绩处理:处理单科成绩并输入成绩表中。

就以上系统功能画出顶层和0层的DFDo

顶层DFD:

0层DFD:

3

杳洵

一查询结果

查询成箱话彩\

/S次表

话求处理身份、合法请¥

验证厂■震篦㈣

成绩表

成绩处理请求\

\/_5_\

、成绩

\处理

r

二、选择排序的伪代码如下K共计io分X;

Select_sort(a[l],a[2],…,a[n])

{for(i=1;i<n:i++)

{k=i;

for(j=i+l;j<=n;j++)

{

if(a[j]<a[k])

k=j;

}

if(k!=i)

exchange(a[i],a[k]);}}

请根据代码画出其PAD图。

请根据代码画出其程序流程图

三、下面是一个程序流程图,试分别用N-S图和PAD表示之,并计算其McCabe复杂度。

对应的N-S图如下

对应该的PAD图如下

四、下面是一个程序流程图,试分别用N・S图和PAD表示之,并计算其McCabe复杂度。

对应的N-S图如下

对应该的PAD图如下

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

1.为什么说它是一个非结构化的?2.设计一个等价的使用附加标志变量flag的结构化程

序。3.设计一个使用break(用于代替goto)和程序。

(1)它是一个单入口,

(2)等价的结构化程序:

enumBoolean{false,true}

Booleanflag=true;

while(P&&flag)

doG

if(!Q)flag=false;

(3)等价的结构化程序:

使用break程序

while(P)

doG;

if(!Q)

break;

六、高考录取统分子系统有如下功能:

(1)计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;

(2)计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文

件.

试根据要求画出该系统的数据流图,并将其转换为软件结构图。

【数据流图】

【软件结构】

七、采用综合测试策略,对以下模块进行测试。要求写出测试方法,列出所有的判定,并给

出所选择的用例。模块功能为:使用直接插入法将10个整数按递增次序排列。

main()/*使用直接插入法

{intdata[]={23,56,234,1,4534,21394,3,35);

inti,j,temp;

for(i=l;i<10;i++)

{j=i-l;temp=data[i];

while(data[j]>temp&&j>=0)/*大者后移

{data[j+ll=data[jl;j-;}

data[j+l]=temp;/*插入正确位置}

for(i=0;i<10;i++)

printf(w%d,,,data|ij);

printfOnM);

)

参考答案:

1.采用标合测试策略,先进行静态测试:人工查走。未发现错误。

2.使用白盒法进行动态测试

只考虑关键路径,判定情况有:

循环:for(i=l;i<10;i++)

while(data[j]>tenip&&j>=0)

3.选择一种覆盖标准,确定用例。

注意:所确定的用例应该包括两部分:输入数据(1()个整数),预期的输出结果。

4.将实际输出与预期的输出结果进行比较,得出分析结论。

八、画出与下图所示的程序流程图对应的程序图,并试计算其巡回秩数V(G)。

参考答案:(1)程序图如右图所示:(2)计算其巡回秩数:V(G)=E-N+2=13-10

+2=5

九、在医院病房监护系统中,病症监视器安置在每个病房,将病人的病症信号实时传送到中

央监视系统进行分析处理,在中心值班室里,值班护士使用中央监视系统对病员的情况进行

监控,根据医生的要求随时打印病人的病情报告,系统会定期自动更新病历。当病症出现异

常时,系统会立即自动报警,通知值班医生及时进行处理,同时立即打印病人的病情报告和

更新病历。试采用结构化分析方法建立需求分析模型(只画顶层)

参考答案:

十、综合论述题

V公司由一群志趣相同的朋友创建于10年前,主要与科研院所合作进行开发实验型的新软件。主要

采用瀑布模型进行软件开发,并取得「•些成功。最近你作为项目管理人员应聘加入M公司,根据你的经

验认为快速原型法对公司的软件开发更加优越,请向公司副总裁写一份报告阐明你的理由。字数不超过300

字。

尊敬的副总裁:

温馨提示

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

评论

0/150

提交评论