软件工程总复习(徐东升)_第1页
软件工程总复习(徐东升)_第2页
软件工程总复习(徐东升)_第3页
软件工程总复习(徐东升)_第4页
软件工程总复习(徐东升)_第5页
已阅读5页,还剩112页未读 继续免费阅读

下载本文档

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

文档简介

一、单选题(20个小题,每小题1.5分,共30分)二、填空题(5个小题,每小题2分,共10分)三、判断题(10个小题,每小题1分,共10分)四、名词解释题(5个小题,每小题3分,共15分)五、简答题(3个小题,每小题5分,共15分)六、综合应用题(3个小题,第1小题6分,第2小题8分,第3小题6分,共20分)考试题型软件工程课程的内容软件工程学概述结构化方法学(生命周期方法学)面向对象方法学软件项目管理可行性研究需求分析形式化说明技术总体设计详细设计软件实现软件维护面向对象方法学引论面向对象分析面向对象设计面向对象实现

总复习第1章软件工程学概述学习内容与重点:1.1软件的概念及其特征(掌握概念,特征要了解)1.2软件危机(软件危机的概念掌握,典型表现、产生原因消除危机途径等要了解)1.3软件工程(软件工程的概念要掌握,本质特性、原理等要理解,方法学的概念[也称范型]、包含的要素要记忆,传统方法学与面向对象方法学的要点要理解,并能分析出各自的优缺点)。1.4软件生命周期(掌握软件生命周期的概念、三个时期八个阶段的划分和任务)1.5软件过程:又称软件开发模式,概念要掌握,另外重点掌握几个典型的生命周期模型的特点及基本思想,如瀑布模型、快速原型模型、增量模型、螺旋模型,其它常用的几个模型的特点要了解,如喷泉模型、RUP统一过程、XP过程)。第一章:习题(凡是要掌握和记忆的概念、原理都可能以填空、名词解释或简答题的形式进行考核,凡是理解的知识点可能以判断、选择的形式进行考核,凡是重点掌握的可能以综合应用形式进行考核,凡是了解的知识点很可能不是考查的重点,直接考核的概率不大)1-4简述结构化范型和面向对象范型的要点,并分析它们的优缺点。1-6什么是软件过程?它与软件工程方法学有何关系?答:软件过程是为了开发出高质量的软件产品所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。软件过程定义了运用技术方法的顺序、应交付的文档资料、为保证软件质量和协调软件变化必须采取的管理措施,以及标志完成了相应开发活动的里程碑。软件过程是软件工程方法学的3个重要组成(方法、工具与过程)部分之一。1-7什么是软件生命周期模型?试比较瀑布模型、快速原型模型、增量模型和螺旋模型的优缺点,说明每种模型的适用范围。第2章可行性研究2.1可行性研究的任务(可行性研究的目的、任务或者说是内容必须要掌握)2.2可行性研究过程(了解,知道可行性报告的主要内容:系统概述、可行性分析、限制、费用、拟定开发计划、结论意见)2.3系统流程图(了解,描述物理系统的工具,基本符号、系统符号能看懂)2.4数据流图(功能模型,是本章的重点与难点,数据流图的概念、4种基本成分、用途要理解,能根据系统基本描述画出项层、0层、1层数据流图,必然有一个综合应用题)2.5数据字典(重点掌握数据字典的概念、包含内容及定义数据的方法)2.6成本/效益分析(理解货币的时间价值的概念,会分析计算投资回收期、纯收入、投资回收率)

2.4数据流图(描绘数据在系统中流动的逻辑过程)2.4.1符号

或或或数据源点或终点变换数据的处理数据存储数据流图2.4基本符号的含义数据源点/终点:通常是人或部门,可重复表示;处理:一个处理框可以代表一系列程序、单个程序或程序的一个模块;数据存储:可以表示一个文件、文件的一部分、数据库的元素或记录的一部分等,数据存储是处于静止状态的数据;把一个数据存入数据存储用一个数据去修改数据存储中的数据从数据存储中读出一个数据从数据存储中检索出一批数据数据流:描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件,数据流是处于运动中的数据。通常为单据或报表。源点:仓库管理员终点:采购员处理:产生报表、处理事务数据流:定货报表事务零件编号零件名称定货数量目前价格主要供应者次要供应者零件编号事务类型数量数据存储:定货信息——同定货报表库存清单零件编号库存量库存量临界值第一步:从问题描述中提取数据流图的4种成分:源点或终点,处理,数据存储和数据流;数据流图的绘制步骤及举例第二步:绘画最高抽象层次的数据流图——基本系统模型由若干个数据源点/终点和一个处理组成。定货系统的基本系统模型第三步:细化基本系统模型,绘画(主要)功能级数据流图定货系统的功能级数据流图第4步:

对系统主要功能进一步细化把处理事务的功能进一步分解后的数据流图细化时注意:1、当进一步分解涉及如何具体的实现一个功能时就不应该再分解了。2、对数据流图分层细化时,不管加工如何变换,一定要保证分解前后的输入流与输出流必须相同。

3、对处理进行编号的方法是:处理1分解为三个下层处理时,下层处理的编号是1.1、1.2和1.3,处理2分解为三个下层处理时,下层处理的编号是2.1、2.2和2.3。同理,如果处理1.2再分解为两个下层处理时,下层处理的编号是1.2.1和1.2.2。5、将必要的存储与加工(处理)相匹配;6、在画数据流图时应避免线条交叉,必要时可使用重复的外部项(源点或终点)或数据存储符号;7、用“自顶向下”的方法,逐层画出数据流图。每张数据流图吵加工(处理)的个数不能超过7个(7加减2原则);储蓄系统数据流图典型作业题:数据流图的绘制方法患者监护系统的功能级数据流图第3章需求分析

3.1需求分析的任务(了解)

3.2与用户沟通获取需求的方法(了解)

3.3分析建模与规格说明(掌握模型的概念,知道需求分析要建立功能模型、数据模型、行为模型这三种模型)

3.4实体-联系图(很重要,但不是本门课考查重点,需要掌握实体-联系图的基本概念、联系的类型、会画简单系统的E-R图)

3.5数据规范化(了解)

3.6状态转换图(了解)

3.7其他图形工具(层次方框图、Warnier图、IPO图的概念,知道这些工具的作用是什么)

3.8验证软件需求(了解)实体、数据对象关系或联系属性连接图3.1实体关系图图符数据模型:图3.2某校教学管理ER图储户存取款电话号码储蓄所身份证号码地址电话号码名称住址姓名到期日期密码数额类型利率图2.3计算机储蓄系统的实体-联系图MN状态图中使用的主要符号状态转换图:建立系统的行为模型,描绘系统的状态或引起状态转换的事件,来表示系统的行为。图3.5层次方框图的一个例子几种工具图3.6Warnier图的一个例子与层次方框图一样,是描述数据结构的工具图3.7IPO图的一个例子图图3.8改进的IPO图的形式习题:3-6复印机状态闲置复印Do/复印卡纸Do/报警缺纸Do/报警复印命令完成复印命令发生卡纸故障发现缺纸排除卡纸故障装好纸第5章总体设计本章主要讲述内容1设计过程:掌握总体设计的目的、任务及总体设计的阶段组成,了解设计过程的步骤2设计原理:重点掌握模块化、抽象、逐步求精、信息隐藏和局部化、模块独立性这几条设计原理的基本概念和重要思想。模块独立性度量标准:内聚和耦合的概念要掌握,能判断六种耦合的强弱及类型,耦合从弱到强依次为非直接耦合、数据耦合、控制耦合、特征耦合(又称外部耦合)、公共耦合、内容耦合;能判断七种内聚的高低及类型,内聚从低到高依次是偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚。3启发规则:理解模块规模应该适中,深度、宽度、扇出和扇入都应适当,模块的作用域应该在控制域之内这几条规则。4描绘软件结构的图形工具:层次图和HIPO图、结构图,掌握层次图与图层方框图的区别,了解结构图是进行软件结构设计的一个有力工具)5面向数据流的设计方法:必须熟练掌握变换分析与事务分析的方法。会对一个简单的数据流图经变换分析与事务分析后映射为相应的软件结构图5.3正文加工系统的层次图设计工具:层次图,获得软件层次结构图5.4带编号的层次图(H图)设计工具:带编号层次图图5.5结构图的例子——产生最佳解的一般结构设计工具:结构图,设计软件结构的工具5.5.1概念面向数据流的设计方法把数据流映射成软件结构,数据流的类型决定了映射的方法。数据流有两种类型:变换流事务流5.5面向数据流的设计方法一、变换流

具有较明确的输入、变换(或称主加工)和输出界面的数据流图称为变换型数据流图。如图所示,该变换中心可以理解为数据的加工和处理程序。

读入原始数据校验原始数据计算最优结果编辑打印最优结果输入变换中心输出

事务型数据流图中存在一个事务中心(也就是数据处理、加工中心),它将输入分离成若干个发散的数据流,形成许多活动路径,并根据输入值选择其中一条路径。处理T称为事务中心,它完成下述任务:接收输入数据;分析每个事务以确定它的类型;根据事务类型选取一条活动通路要求类别处理分房处理调房处理退房处理住房要求事务中心活动路径二、事务流设计步骤:(1)复查基本系统模型确保系统的输入数据和输出数据符合实际。(2)复查并精化数据流图对需求分析阶段得出的数据流图认真复查,并且在必要时进行精化。不仅要确保数据流图给出了目标系统的正确的逻辑模型,而且应该使数据流图中每个处理都代表一个规模适中相对独立的子功能。5.5.2变换分析把具有变换流特点的数据流图按预先确定的模式映射成软件结构。(3)确定数据流图具有变换特性还是事务特性一个系统中的所有信息流都可以认为是变换流,但是,当遇到有明显事务特性的信息流时,建议采用事务分析方法进行设计。确定数据流的全局特性和局部特性。(4)确定输入流和输出流的边界,从而孤立出变换中心输入流和输出流的边界和对它们的解释有关,不同设计人员可能会在流内选取稍微不同的点作为边界的位置。(5)完成“第一级分解”。位于软件结构最顶层的控制模块Cm协调下述从属的控制功能:输入信息处理控制模块Ca,协调对所有输入数据的接收;变换中心控制模块Ct,管理对内部形式的数据的所有操作;输出信息处理控制模块Ce,协调输出信息的产生过程。第一级分解方法(6)完成“第二级分解”处理映射成软件结构中一个适当的模块。完成第二级分解的方法是:从变换中心的边界开始沿着输入通路向外移动,把输入通路中每个处理映射成软件结构中Ca控制下的一个低层模块;然后沿输出通路向外移动,把输出通路中每个处理映射成直接或间接受模块Ce控制的一个低层模块;最后把变换中心内的每个处理映射成受Ct控制的一个模块。第二级分解方法(7)运用模块设计和优化准则对第一次分割得到的软件结构进一步精化为了产生合理的分解,得到尽可能高的内聚、尽可能松散的耦合,为了得到一个易于实现、易于测试和易于维护的软件结构,应该对初步分割得到的模块进行再分解或合并。5.5.3事务分析虽然在任何情况下都可以使用变换分析方法设计软件结构,但是在数据流具有明显的事务特点时,也就是有一个明显的“发射中心”(事务中心)时,还是以采用事务分析方法为宜。

事务设计步骤和变换设计步骤大部分相同或类似,主要差别仅在于由数据流图到软件结构的映射方法不同:由事务流映射成的软件结构包括一个接收分支和一个发送分支;映射出接收分支结构的方法和变换分析映射出输入结构的方法很相像,即从事务中心的边界开始,把沿着接收流通路的处理映射成模块;发送分支的结构包含一个调度模块,它控制下层的所有活动模块;然后把数据流图中的每个活动流通路映射成与它的流特征相对应的结构。

通常,一个实际系统的数据流图是变换型和事务型两种类型的混合体。如图所示,中间的子块属事务型数据流,如果把中间子块视为一个处理整体的话,整个程序属变换型程序。

A(事务型,A为事务中心)变换中心输入输出混合型数据流图总结:一般说来,如果数据流不具有显著的事务特点,最好使用变换分析;反之,如果具有明显的事务中心,则应该采用事务分析技术。机械地遵循变换分析或事务分析的映射规则,可能会得到一些不必要的控制模块,如果它们确实用处不大,那么可以而且应该把它们合并。如果一个控制模块功能过分复杂,则应该分解为两个或多个控制模块,或者增加中间层次的控制模块。第六章详细设计6.1结构程序设计:结构程序设计的经典定义:如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。)6.2人机界面设计(了解)6.3过程设计的工具(重点掌握的内容:程序流程图几种基本控制结构的画法,能读懂程给出程序流程图表示的算法;掌握盒图的基本符号,会用盒图设计一个程序的算法;掌握PAD图的基本符号,会用PAD图设计一个程序的算法;

会用判定表与判定树表示含有多重嵌套条件的多分支选择结构的算法;会使用PDL语言描述N-S图或PAD图表示的程序的算法)非结构化程序的结构化处理(复合判定技术、重复元素技术、标志技术)6.4面向数据结构的设计方法(了解,JACKSON方法)6.5程序复杂程度的定量度量(重点掌握McCabe方法的映射规则,能把一个程序流程图或PDL语言描述的算法映射为程序流图,掌握在程序流图的基础上定量度量程序复杂度的三种方法:计算区域数;V(G)=E-N+2;V(G)=P+1,其中P是判定结点数目。了解Halstead方法)6.4过程设计的工具工具学习要点:规定的图符组织结构和控制条件结构1程序流程图;2盒图(N-S图);PAD图;判定表;判定树;PDL(过程设计语言)。6.13种基本的控制结构图6.2其他常用的控制结构举例:输入10个数,找出其中最大的与最小的数图6.5PAD图的基本符号(a)顺序(P1→P2);(b)选择(IFCTHENP1ELSEP2);(c)多分支;(d)WHILE型循环;(e)UNTIL型循环;(f)语句标号;(g)定义(细化过程)图6.6使用PAD图提供的定义功能来逐步求精的例子表6-1用判定表表示计算行李费的算法国内乘客TTTTFFFF头等舱TFTFTFTF残疾乘客FFTTFFTT行李重量W<=30KGTFFFFFFFF免费X(W-30)X2X(W-30)X3X(W-30)X4XX(W-30)X6XX(W-30)X8X(W-30)X12X图6.7用判定树表示计算行李费的算法定量度量程序复杂度:McCabe方法1.流图流图(程序图):流图实质上是“压缩简化了的”程序流程图,它仅仅描绘程序的控制流程,而对数据的具体操作以及分支、循环的具体条件不进行描述。流图的组成:流图由结点和边组成。在流图中用圆表示结点,一个圆(结点)代表一条或多条语句,一般把程序流程图中一组顺序相邻的处理框和其后相邻的一个菱形判定框映射成流图中的一个结点。流图中的箭头线称为边,它和程序流程图中的箭头线类似,代表控制流。一个边必须终止一个结点,即使结点为空语句(如ENDDO、ENDIF等)。图6.15程序流程图映射为流图图6.16由PDL翻译成的流图图6.17由包含复合条件的PDL映射成的流图计算环形复杂度的方法(1)流图G的环形复杂度V(G)=流图G的所围成的区域数。(2)流图G的环形复杂度V(G)=E-N+2,其中:E是流图中边数,N是结点数。(3)流图G的环形复杂度V(G)=P+1,其中:P是流图中判定(带有两个分叉)结点的数目。习题6-1假设只有SEQUENCE和DO-WHILE两种控制结构,怎样利用它们完成IF-THEN-ELSE操作?STARTFlag=TRUEPANDFlagAFlag=FALSE

Flag=TRUEBFlag=FALSEENDTFTF习题6-2假设只有SEQUENCE和IF-THEN-ELSE两种控制结构,怎样利用它们完成DO-WHILE操作?P131,第3题画出下列伪码程序的程序流程图和盒图。STARTIFPTHENWHILEqDOfENDDOELSEBLOCKgnENDBLOCKENDIFSTOP答:⑴从该伪码程序转变成的程序流程图,注意DOWHILE与DOUNTIL结构的严格区别⑵由该伪码转变成的盒图。注意DOWHILE与DOUNTIL结构的严格区别FTgnqf6-4下图给出的程序流程图代表一个非结构化的程序,请问:(1)为什么说它是非结构化的?(2)设计一个等价的结构化程序。(3)在(2)题的设计中你使用附加的标志变量flag了吗?若没用,请再设计一个使用flag的程序;若用了,再设计一个不用flag的程序。答:⑴通常所说的结构化程序,是按照狭义的结构程序的定义衡量,符合定义规定的程序。图中所示的程序的循环控制结构有两个出口,显然不符合狭义的结构程序的定义,因此是非结构化的程序。⑵使用附加的标志变量flag,至少有两种方法可以把该程序改造为等价的结构化程序,图4-1所示盒图描述了P条件的DOWHILE循环,图4-2所示描绘了q条件的DOUNTIL循环等价的结构化程序,请注意两种循环的控制条件。Flag=TRUEPANDflaggqFTFlag=FALSEFlag=TRUEgqFTFlag=FALSE(NOTq)OR(NOTflag)图4-1图4-2P131,第六题用Ashcroft-Manna技术可以将非结构化的程序转换为结构化程序,图6.19是一个转换的例子。⑴你能否从这个例子总结出Ashcroft-Manna技术的一些基本方法?⑵进一步简化图1(b)给出的结构化设计。图1答:⑴从这个例子中看出,Ashcroft-Manna技术的基本方法是,当待改造的程序含有嵌套的非结构化的IF语句时,改造后的程序中增加DO-CASE语句和DO-UNTIL语句,并增加一个辅助变量I,I的初始值为1。最外层的IF语句在I=1时执行,执行完这个IF语句后把I赋值为随后应该执行的内层IF语句所对应的CASE标号值。DO-CASE语句的最大分支数(可执行的最大标号值)等于IF语句的个数。当执行完最内层的IF语句之后,把I赋值为可执行的最大标号值加1,而DO-UNTIL循环的结束条件就是I等于这个值。⑵与图1(b)等价的,进一步简化后的结构化后的结构化程序的流程图见黑板。STARTAcBeDETFT

dCDFTFEND第7章实现1、程序设计语言的分类(机器、汇编、高级、第四代语言)2、了解程序设计语言的选择和编码风格(掌握编码的概念)3、掌握软件测试的概念及目标,了解软件测试的准则4、掌握两种软件测试方法的概念:黑盒测试、白盒测试。了解软件测试的步骤和测试阶段的信息流。5、掌握调试的概念,了解调试的过程和调试的途径。6、掌握软件可靠性、可用性的概念,掌握术语错误和故障的含义。7、掌握估算MTTF的方法,会利用Shooman(舒曼)模型进行相关参数的计算,并能建立MTTF与测试时间τ之间的函数关系。8、掌握植入错误法与分别测试法估算错误总数的方法。1.符号估算MTTF时使用到下列符号ET——测试之前程序中故障总数;IT——程序长度(机器指令总数);τ——测试(包括调试)时间;Ed(τ)——在0至τ期间发现的错误数;

Ec(τ)——在0至τ期间改正的错误数;7.9.2估算平均无故障时间MTTF的方法3.估算平均无故障时间MTTF

因为平均无故障时间与单位长度程序中剩余的故障数εr(τ)成反比,所以:其中:K为常数,它的值根据经验选取,经典值是200。由上式变换后得到程序中改正的错误数:根据对软件平均无故障时间的要求,可以估计需要改正多少个错误后,测试工作就可以结束。估算平均无故障时间的公式,可以评价软件测试的进展情况。假设人为地植入的错误数为Ns,经过一段时间的测试之后发现ns个植入的错误,此外还发现了n个原有的错误。如果可以认为测试方案发现植入错误和发现原有错误的能力相同,则能够估计出程序中原有错误的总数为

=n/ns×Ns

Ns

n

ns其中:是故障总数ET的估计值;

如果认为测试员甲发现的故障是有标记的,即程序中有标记的故障总数为B1,那么测试员乙发现的B2个故障中有bc个是有标记的。所以可以估计出测试前程序中的故障总数为:其中,是故障总数ET的估计值。每隔一定时间,分析员分析两名测试员的测试结果,来估计错误总数。几次估计结果差不多时,用其平均值作为错误总数的估计值。(3)集成测试结束时,总共改正了多少个错误?还有多少错误潜伏在程序中?由Shooman公式可知:MTTF=IT/(K*(ET-EC(t)))联立方程得

10=10000/(K*(ET-15))

15=10000/(K*(ET-25))解得K=33.33ET=45100=10000/(33.33*(45-EC))解得EC=42故当MTTF要达到100小时,在集成测试时必须总共改正42个错误,尚有3个错误潜伏在程序中。第8章维护1、掌握软件维护的定义、分类,对每一种维护的概念都要清楚(改正、适应、完善、预防)2、清楚软件工程的主要目的:1)提高软件的可维护性;2)减少软件维护所需要的工作量,降低软件系统的总成本。3、了解软件维护的特点:1)结构化维护与非结构化维护差别很大;2)维护的代价高昂(维护代价分有形代价、无形代价与生产率代价);3)维护的问题很多。4、了解软件维护的过程。5、掌握可维护性定义,知道决定软件可维护性的主要因素:1)可理解性;2)可测试性;3)可修改性;4)可移植性;5)可重用性6、了解可维护性复审和预防性维护。7、掌握软件再工程过程模型所定义的6类活动,掌握逆向工程、正向工程的概念。第13章软件项目管理1、了解估算软件规模的技术:1)代码行技术;2)功能点技术。并能说出两种估算计术的优缺点。2、了解工作量估算的几种常用技术:1)静态单变量模型;2)动态多变量模型;3)COCOMO2模型。3、制订进度计划是本章重点,涉及如下几项技术:1)了解估算开发时间的模型;2)了解Gantt图绘制;3)掌握用工程网络图求出关键路径的方法(计算EET、LET、机动时间)4、能说出民主制程序员组、主程序员组、现代程序员组三种人员组织方式的优缺点。5、掌握软件质量的概念,了解影响软件质量的因素,掌握软件质量保证措施:基于非执行的测试(复审或评审,具体方法有走查和审查);基于执行的测试(软件测试);程序正确性证明。6、掌握软件配置管理、软件配置项、基线的概念,了解软件配置过程。7、掌握能力成熟度模型的基本思想,了解CMM定义能力成熟度的5个等级(从低到高依次为初始级(1级)、可重复级(2级)、已定义级(3级)、已管理级(4级)和优化级(5级)。例题:假设一项工程分解成9个子任务,根据下表给出的信息,画出工程网络图,计算每个事件的最早时刻和最迟时刻,找出关键路径。子任务标识完成任务时间依赖关系a8b10c8a,bd9ae5bf3c,dg2dh4f,gi3e,f期中考试试题解析一、单项选择题(每小题1.5分,共30分)()1.“软件危机”产生的主要原因是

A.软件日益庞大B.开发方法不当C.开发人员编写程序能力差D.没有维护好软件()2.软件工程学的一个重要目标是

。A.提高程序的执行效率B.降低程序对存储空间的要求C.提高软件的可理解性D.提高软件的可维护性()3.编写程序的工作量通常占用软件开发总工作量的

。A.80%B.60%

C.40%D.20%()4.数据字典是对数据定义信息的集合,它所定义的对象都包含于

A.数据流图B.程序框图

C.软件结构D.方框图()5.可行性分析是在系统开发的早期所做的一项重要的开发的决策依据,因此必须给出

的回答。

A.确定B.行或不行

C.正确D.无二义ADDAB()6.需求分析阶段最重要的技术文档之一是

。A.项目开发计划B.设计说明书C.需求规格说明书D.可行性分析报告()7.为了提高模块的独立性,模块内部最好是_____。A.逻辑内聚B.时间内聚C.功能内聚D.通信内聚()8.需求分析阶段的任务是确定

__。

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

C.软件开发费D.软件系统的功能()9.一个成功的测试可以

_。

A.表明程序没有错误B.发现所有错误

C.提高软件可靠性D.发现尚未发现的错误()10.

_是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。A软件过程B软件工具C质量保证D软件工程CDCDA()11.软件详细设计的主要任务是确定每个模块的

A.算法和使用的数据结构B.外部接口

C.功能D.编程()12.程序的三种基本控制结构是_____。

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

C.递归、堆栈和队列D.调用、返回和转移()13.软件测试方法中,黑盒测试方法和白盒测试方法是常用的方法,其中黑盒测试方法主要用于测试

__。

A.结构合理性B.软件外部功能C.程序正确性D.程序内部逻辑()14.在软件开发和维护的过程中,为了定量地评价软件质量,必须对软件特性进行

____。

A.测试B.度量C.评审D.维护()15、在各种不同的软件需求中,功能需求描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明,

是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求。A业务需求B功能要求C非功能需求D用户需求BABBC()16.快速原型模型的主要特点之一是______。

A.开发完毕才见到产品

B.及早提供全部完整的软件产品C.开发完毕后才见到工作软件

D.及早提供工作软件()17.因计算机硬件和软件环境的变化而做出的修改软件的过程称为____。

A.校正性维护

B.适应性维护C.完善性维护

D.预防性维护()18.如果某种内聚要求一个模块中包含的任务必须在同一段时间内执行,则这种内聚为

_。A.时间内聚B.逻辑内聚C.通信内聚D.信息内聚()19.为高质量地开发软件项目,在软件结构设计时,必须遵循

原则。A.信息隐蔽

B.质量控制C.程序优化

D.数据共享()20.

DFD中的每个加工至少需要

_。

A.

一个输入流B.

一个输出流C.

一个输入或输出流D.

一个输入流和一个输出流

DBAAD二、填空题(每小题2分,共10分)1.软件由程序、

组成。2、软件的定义阶段包括:

、需求分析。3.总体设计过程通常有两个主要阶段组成:

阶段和

阶段。4.将数据流图映射为程序结构时,所用映射方法涉及信息流的类型。其信息流分为

____

____

两种类型。5.在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是

__关系。数据文档问题定义可行性研究系统设计结构设计变换流事务流多对多关联三、判断题(每小题1分,共10分)1.软件开发小组人数越多越好。()2.软件测试的目的是为了证明一个软件的设计没有错误,只有没有任何错误的软件才能使用。()3.在可行性研究中最难决断和最关键的问题是技术可行性。()4.软件测试中,应该尽量穷尽所有的数据,以便保证测试的质量。()5.对象是属性和相关操作的封装。()6.设计阶段的输出是编码阶段的输入。()7.流程图用三个基本的控制构件分支、循环、重复来表示。()8.改造程序结构,要降低藕合度,提高内聚度。()9.计算机软件由文档和数据组成。()10.软件开发采用了软件工程之后,就不会发生软件危机了。

温馨提示

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

评论

0/150

提交评论