收藏 分销(赏)

软件工程填空题18套试题及答案.doc

上传人:二*** 文档编号:4565999 上传时间:2024-09-30 格式:DOC 页数:131 大小:1,003KB
下载 相关 举报
软件工程填空题18套试题及答案.doc_第1页
第1页 / 共131页
亲,该文档总共131页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、. .?软件工程?填空题二、填空题请把答案写在相应的横线上,每题1.5分1、软件是 数据 、 计算机程序 及其说明程序的 各种文档 。2、概要设计主要是把各项功能需求转换成系统的体系构造。3、面向对象开发法包括OOA、OOD 、 OOP 三局部。4、构造化设计中以数据流图为根底的两种具体分析设计法是变换分析、事物分析设计。5、在单元测试时,需要为被测模块设计驱动模块和桩模块。6、CMM把软件过程从无序到有序的进化分成5个阶段,排序而形成5个逐层提高的等级,分别是初始级、可重复级 、已定义级、 已管理级和可优化级。7.子类自动共享父类的属性和操作的机制称为继承。8. 软件工程管理的具体容包括对开

2、发人员、组织机构、用户、文档资料等面的管理。9、可行性研究的三个面是技术可行性、社会可行性和_经济可行性_。10、在软件概要设计阶段,建立软件构造后,还应为每个模块写一份处理说明和_接口说明_。11、在画分层的DFD时,父图与子图的输入输出数据流要_平衡_。12、在详细设计阶段,除了对模块的算法进展设计,还应对模块的_数据构造_进展设计。13. 对象的抽象是_类_。14. 基线的作用是把各阶段的开发工作划分得更加明确,便于检查与确认阶段成果。因此,基线可以作为工程的一个_检查点_。15. 软件工程包括软件开发技术和_软件工程管理_两大局部容。16、开发过程管理包括工程方案、控制和_任务管理_等

3、。17、CASE是多年来在软件开发管理、软件开发法、软件开发环境和_软件工具_等面研究和开展的产物。18、数据字典中有四类条目,分别是_数据流、数据项、数据存储、根本加工。19、用于描述根本加工的小说明的三种描述工具是构造化语言、判定表、判定树_。20、子类只继承一个父类的属性和操作,这称为_单重继承_。21、 McCabe复杂性度量又称_环路度量_。22、喷泉模型是一种以用户需求为动力,以_对象_为驱动的模型。23、Jackson图不仅可表示程序构造,还可表示_数据构造_。24、详细设计的任务是确定每个模块的部特性,即模块的算法和数据构造。25、UML提供的构建系统动态模型的机制有动态视图视

4、图包括顺序图和协作图、静态视图视图、功能视图。26、软件质量管理由软件质量保证、软件质量规划和 软件质量控制 三面活动组成。27、用等价类划分法设计一个测试用例时,使其覆盖_尽可能多的_尚未被覆盖的合理等价类; 覆盖_一个_不合理等价类。28、需求分析阶段产生的最重要的文档是_需求规格说明书_。29、两个模块都使用同一表,模块的这种耦合称为_公共耦合_。30、被测试程序不在机器上运行,而是采用人工检测和计算机辅助分析检测的手段称为_静态_测试。31、采用手工法开发软件只有程序而无文档,维护困难,这是一种_非构造化_维护。32、构造化法是一种面向数据流的开发法。由构造化分析、_构造化法_、构造化

5、程序设计构成。33、 对象之间进展通信的构造叫做_消息_。34、按软件效劳对象的围可以把软件划分为工程 软件和产品软件。35、瀑布模型将软件生命期划分为假设干阶段,各个阶段之间是通过文档实现过渡的。36、概要设计主要是把各项功能需求转换成系统的_体系构造_。37、详细设计的任务是确定每个模块的部特性,即模块的数据构造和算法。38、构造化程序设计法提倡开发人员的组织形式是_主程序员组_。39、软件质量管理由软件质量保证、软件质量规划和软件质量控制三面活动组成。40、类具有操作,它是对象_行为_的抽象。41、产品管理包括版本管理和_配置管理_。42、集成测试中的具体法是_渐增式和非渐增式_测试法。

6、43、增量模型适合于_软件需求_不明确、设计案有一定风险的软件工程。44、构造化分析法的分析策略是_自顶向下逐步求精_。45、可行性研究实质上是要在较高层次上以较抽象的式进展_需求分析和设计_的过程。46、衡量模块独立性的两个定性标准是_耦合性与聚性_。47、Jackson法是一种面向_数据构造_的设计法。48、维护阶段是软件生存期中花费精力和费用_最多_的阶段。49、继承性是子类自动共享其父类的_数据构造和法_机制。50、在面向对象法中,人们常用状态图描述类中对象的_动态行为_。51、规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,那么称该软件为_容错_软件。52.软件工程包括3

7、个要素,即法、工具、过程。53软件生存期是指一个软件从提出开发要求开场直到该软件报废不止的整个时期。通常,软件生存期包括问题定义、可行性研究,需求分析,总体设计, 详细设计 ,_编码_,测试,维护活动,可以将这些活动以适当式分配到不同阶段去完成54数据流图中的箭头表示_数据流_。软件构造图中的箭头向表示_模块调用_。55_可行性研究_的目的就是用最小的代价在尽可能短的时间确定该软件工程是否能够开发,是否值得去开发。56.数据流图仅反映系统必须完成的逻辑功能,所以它是一种_功能_模型。复习资料一、填空题1. 软件是计算机系统中与硬件相互依存的另一局部,它是包括程序、数据及其相关文档完整集合。其中

8、,程序是按事先设汁的功能和性能要求执行的指令序列,数据是使程序能够正确操纵信息的数据构造,相关文档是与程序开发、维护和使用有关的图文资料2. 软件危机是指计算机软件的开发和维护过程中所遇到的一系列重问题。3. 软件工程是指导计算机软件开发和维护的一门工程学科,采用工程的概念、原理、技术和法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好技术法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。4. 常见的软件开发模型有瀑布模型、快速原型模型、增量模型和螺旋模型等;5. 软件工程学法的三要素是:法、工具和过程。6. 瀑布模型是一个文档驱动模型。7. 可行性

9、研究一般可以从经济可行性、技术可行性、法律可行性和法律可行性等面来研究。8. 数据流图从数据传输和数据加工角度,以图形的式描述数据流从输入到输出的传输变换过程。9. 数据流图的四个根本符号分别表示数据的源点或终点、数据的加工、数据存储和数据流;10. 实体-联系图中,数据对象之间的关系有一对一、一对多和多对多关系。11. 需求分析阶段应该建立三种模,即:数据模型、功能模型和行为模型。12. 一般从一致性、完整性、现实性和有效性四个面验证软件需求的正确性。13. HIPO图是由一组层次图图加上一IPO图组成。14. 模块独立性的两个度量标准为:耦合和聚。15. 一般说来,模块之间的耦合程度低,那

10、么单个模块的聚程度高。16. 经历说明,设计好的软件构造,通常顶层模块的扇出比较高,中层模块扇出较少,底层模块高扇入17. 三种根本的程序控制结果是顺序结果、选择分支构造和循环构造。18. 把程序从一个硬件或软件环境中转移到另一种配置环境称为软件的可移植性。19. 如果一个模块完成一组任务,这些任务彼此之间的关系是很松散的,这种內聚称为偶然或巧合类聚。20. 白盒法的具体设计程序测试法有语句覆盖、判定覆盖、条件覆盖和路径覆盖。21. 组成UML的三种根本建筑块是事物、关系和图。22. 面向对象的软件工程法包括面向对象的分析、面向对象的设计、面向对象的编程、面向对象的测试和面向对象的软件维护等主

11、要容。23. 保证软件质量的措施主要有审查、复查和管理复审、测试。24. 提高软件质量和可靠性的技术大致分为两类,即避开错误技术和容错技术。25. 常用的估算软件规模的法有代码行技术和功能点技术。26. 功能点技术的信息域包含输入项数输出项数、查询数、主文件数、外部接口数等5个面的信息。27. 软件的工作量计算模型是软件规模的函数,软件工作量的单位通常是人月,常用的计算软件工作量的计算模型有静态单变量模型、动态多变量模型、COO2模型等。28. 软件过程是软件生存期中的一系列相关软件工程活动的集合。每个软件过程又是由一组工作任务、工程里程碑、软件工程产品和交付物以及软件质量保证SQA电等组成。

12、29. 软件的度量包括直接度量和间接度量、软件产品的直接度量包括产生的代码行数、执行速度、存储量大小、在某种时间期中所报告的过失数。软件产品的间接度量那么包括功能性、复杂性、效率、可靠性、可维护性和多其他的质量特性。30. 软件配置管理是在软件的整个生命期管理变化的一组活动。这组活动包括:标志变化,控制变化,实现变化,报告变化。31. 软件的质量可以定义为用户对软件的满意程度,具体地说,软件质量是软件与功能和性能需求,开发标准以及所有软件产品都应该具有的隐含特性相一致的程度32. 软件维护可以分为改正性维护、适应性维护、完善性维护、预防性维护等四类。33. 把程序从一种计算环境硬件配置和操作系

13、统转移到另一种计算环境的难易程度叫软件的移植性。34. 对象是封装了数据构造及可以施加在这些数据构造上的操作的封装体,这个封装体可以唯一地标识它的名字,而且向外界提供一组效劳。二、单项选择题1. 软件设计中划分程序模块通常遵循的原那么是使各模块间的耦合尽可Ca) 强 b) 适中c) 弱 2. 假设一个模块直接引用另一个模块中的数据,这种类型的耦合称为E。a) 公共偶合 b) 数据耦合 c) 逻辑耦合 d) 外部耦合 e) 容耦合f) 控制耦合3. 瀑布模型是驱动模型a) 功能b) 文档c) 数据d) 时间4. 假设一个模块把开关量作为参数传送给另一个模块,这种类型的耦合称为F。a) 公共偶合b

14、) 数据耦合c) 逻辑耦合d) 外部耦合e) 容耦合f) 控制耦合5. 假设一个模块通过公共数据构造把数据传送给另一个模块,这种类型的耦合称为A。a) 公共偶合b) 数据耦合c) 逻辑耦合d) 外部耦合e) 容耦合f) 控制耦合6. 以下各种类型的耦合中,E的耦合性最强。a) 公共偶合b) 数据耦合c) 逻辑耦合d) 外部耦合e) 容耦合f) 控制耦合7. 为了高质量地开发软件工程,在软件构造设计时必遵循C的原那么a) 质量控制b) 程序优化c) 信息隐蔽d) 数据共享e) 模块通信8. 在建立软件系统的模块构造。应根据C评价系统模块划分的质量。a) 数据独立性b) 程序独立性c) 模块独立性

15、d) 可修改性e) 可理解性9. 构造化程序设计法要求每个A构造应是单入口和单出口。a) 程序块b) 公共块c) 数据块d) 记录块e) 通信块10. 开发软件时,对于提高软件开发人员工作效率至关重要的是A。a) 程序开发环境b) 操作系统的资源管理功能c) 开发程序人员数量d) 计算机的并行处理能力11. 软件工程中描述软件生存期的瀑布模型一般包括方案、D、设计、编码、测试、维护等几个阶段。其中,设计阶段在管理上又可以依次分为概要设计和详细设计两个步骤。a) 问题定义b) 需求调查c) 可行性分析d) 需求分析12. 各种需求分析法都有它们共同适用的C。a) 说明法b) 描述式c) 准那么d

16、) 根本原那么13. 软件需求分析阶段的工作,可以分为以下几个面;对问题定义、分析与综合、编写需求分析文档以及C。a) 总结b) 阶段性报告c) 需求分析评审d) 以上答案都不正确14. 在构造化分析法中,用以表达系统数据的运动情况的工具有A。a) 数据流图b) 数据词典c) 构造化英语d) 判定表与判定树15. 在构造化分析法中,用状态迁移图表达系统或对象的行为。在状态迁移图中,由一个状态和一个事件所决定的下一个状态可能会有C个。a) 1 b) 2c) 多个d) 不确定16. 软件需求分析的任务不应包括(C)。a) 问题分析b) 信息域分析c) 构造化程序设计d) 确定逻辑模型17. 进展需

17、求分析可使用多种工具;但C是不适用的。a) 数据流图b) 判定表c) PAD图d) 数据词典18. 1960年底Dijkstra提倡的D是一种有效的提高程序设计效率的法。a) 标准化程序设计b) 模块化程序设计c) 多道程序设计d) 构造化程序设计19. 汇编程序是指C。a) 用汇编语言写的程序 B、b) 符号程序c) 汇编语言的处理程序20. 为了实现递归子程序的正确调用,人们必须用A来保存返回地址及有关信息。a) 堆栈b) 线性表c) 队列d) 入口点21. UNIX操作系统是研制的,它是用程序语言C书写实现的。a) Bell实验室b) DEC公司c) IBM公司d) Microsoft公

18、司22. 允用户建立、修改、存储正文的计算机程序是B。a) Bootstrapb) Editorc) Loaderd) TextFormater23. FORTRAN语言的源程序是A构造。a) 块状b) 分程序嵌套c) 既是块状,又是嵌套d) 既不是块状,又不是嵌套的24. 国际上最广泛使用的商用及行政管理语言是A。a) COBOLb) BASICc) FORTRANd) PLl25. 国际上最流行的数值计算的程序设计语言是C。a) BASIC b) Algolc) FORTRANd) C26. 美国国防部主持开发了高级程序设计语言Ada,在它研制开场时,经反复比较,确定以高级语言C作为Ada

19、研究的出发点。a) LISPb) ALGOLc) ALGOL 68d) PLl27. 在人工智能领域,目前最广泛使用的高级语言是D。a) Adab) FORTRAc) COBOLd) LISP28. 以下A属于系统软件。a) WINDOWS 2000b) Wordc) Flashd) 3D MAX29. 以下哪个图是NS图的构件C。ABABA B. ABWHILE MAC. D. 30. 某次程序调试没有出现预计的结果,以下B不可能是导致出错的原因。a) 变量没有初始化b) 编写的语句书写格式不规c) 循环控制出错d) 代码输入有误31. 以下关于程序效率的描述错误的选项是C。a) 提高程序的

20、执行速度可以提高程序的效率b) 降低程序占用的存储空间可以提高程序的效率c) 源程序的效率与详细设计阶段确定的算法的效率无关d) 好的程序设计可以提高效率32. 以下伪码片段的程序流图是,其环路复杂度是33. 以下伪码片段的环路复杂度是a) 2b) 3c) 4d) 534. 软件过程能力的提高首先需要对当前的软件过程状况进展料学的C。a) 度量b) 估算c) 评估d) 管理36软件工程学的目的应该是最终解决软件生产的(B )问题。 A提高软件的开发效率 B使软件生产工程化C消除软件的生产危机 D加强软件的质量保证.37.目前存在有假设干种软件生存期模型。例如瀑布模型、增量模型、螺旋模型等。其中

21、规定了由前至后、相互衔接的固定次序的模型是 ( A )。 A瀑布模型 B增量模型 c喷泉模型 D螺旋模型38、瀑布模型的问题是( B )。 A用户容易参与开发 B缺乏灵活性C用户与开发者易沟通 D适用可变需求39、系统定义明确之后,应对系统的可行性进展研究。可行性研究包括( B ) A软件环境可行性、技术可行性、经济可行性、社会可行性 B经济可行性、技术可行性、操作可行性 C经济可行性、社会可行性、系统可行性D经济可行性、实用性、社会可行性40数据流图是常用的进展软件需求分析的图形工具,其根本符号是( C )。 A输入、输出、外部实体和加工 B变换、加工、数据流和存储 c加工、数据流、数据存储

22、和外部实体D变换、数据存储、力IT-和数据流41数据流图是用于表示软件模型的一种图示法,在以下可采用的绘图法中,( B )是常采用的。自顶向下自底向上分层绘制逐步求精 A全是 B c D42、在软件开发过程中常用图作为描述工具,DFD就是面向( B )分析法的描述工具。A数据构造 B数据流C对象D构件(ponent)43构造化分析法使用的描述工具( B )定义了数据流图中每一个图形元素。 A数据流图 B数据字典c判定表 D判定树44、软件需求规格说明书的容不应包括对( B )的描述。 A 主要功能 B算法的详细过程C用户界面及运行环境 D软件的性能45、SA法的分析步骤是首先调查了解当前系统的

23、工作流程,然后( B )。A获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型B获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型C获得当前系统的逻辑模型,建立当前系统的物理模型,抽象出目标系统的逻辑模型D获得当前系统的逻辑模型,建立当前系统的物理模型,建立目标系统的物理模型46在面向数据流的软件设计法中,一般将信息流分为( A )。 A变换流和事务流 B变换流和控制流 c事务流和控制流 D数据流和控制流47模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准是模块的( C )。 A抽象和信息隐蔽 B局部化和封装化c聚性和耦合性 D激活机制和

24、控制法49Jackson法是一种面向( B )的法。 A对象 B数据构造C数据流 D控制流50为了提高测试的效率,应该( D )。 A 随机地选取测试数据 B取一切可能的输人数据作为测试数据 C在完成编码以后制定软件的测试方案 D选择发现错误可能性大的数据作为测试数据51使用白盒测试法时,确定测试数据应根据( A )和指定的覆盖标准。 A程序的部逻辑 B程序的复杂构造c使用说明书 D程序的功能三、多项选择题1. 软件危机可以表现为A、B、C、D。A. 产品不符合用户的需要B. 软件产品的质量差C. 软件的可维护性差D. 软件的价格昂贵2. 优秀的程序员经常使用A、B、C、D显示他们的经历。A、

25、空格 B、空行 C、注释 D、缩进3. 以下B、D属于主动式防错程序设计。A. 栈的深度是否适宜B. 存检查C. 数组界限是否正确D. 时间检查4. 关于数据流图有关描述中正确的选项是A、B、C。A. 数据流图中不夹带控制流B. 数据流图的主图必须包括数据流图中的四种根本元素C. 数据流图不是系统的执行程序,不是程序流程图D. 加工可以只有输入数据流,没有输出数据流5. 软件维护工作量的数学模型如下为:M=P+K*e(c-d),其中P是生产性工作量,K为一常数,c为软件的复杂程度,d为维护人员对软件的数熟悉程度。从这个模型可以看出:ADA. 不使用软件工程学法指导开发的软件维护起来工作量较大;

26、B. 不使用软件工程学法指导开发的软件维护起来工作量较小;C. 软件开发人员参加维护工作,维护的工作量将反而加大;D. 软件开发人员参加维护工作,维护的工作量将相对较低;6. 用于需求分析的构造化分析法很多,这些分析法大都遵循以下准那么ABCDA. 必须理解并描述问题的信息域;B. 必须定义软件的功能域;C. 必须描述软件的行为;D. 用层次的法展示各种模型的细节7. 从以下表达中选出5条关于好的程序设计风格的正确表达 使用括号以改善表达式的情晰性。 对递归定义的数据构造不要使用递归过程。 尽可能对程序代码进展优化。 不要修补不好前程序,要重新写。 不要进展浮点数的相等比较。 应尽可能多地输出

27、中间结果。 利用数据类型对数据值进展防。 用计数法而不是用文件完毕符或输入序列完毕符来判别输入的完毕。 程序中的注释是可有可无的。 使用有意义的标识符。8. 从以下表达中选出5条关于软件测试的正确表达。 为了使得软件容易测试,应该使用高级的程序设计语言编制程序。 软件测试是一个程序的执行过程,目的是为了发现软件中隐藏的错误。 如果程序中连锁式连接了8个判定IF构造,那么程序中总的路径数可达28。 白盒测试仅与程序的部构造有关,完全可以不考虑程序的功能要求。 为了快速完成集成测试,采用一次性集成式是适宜的。 对一批模块进展侧试,被发现的错误多的模块中残留的错误将比其他的模块少。 好的测试用例应能

28、证明软件是正确的。 边界值分析法是取输入/输出等价类的边界值作为测试用例。 等价类划分法考虑了各等价类之间取值的组合情况下可能的结果。 判定覆盖法可能查不出在判定中逻辑运算符使用有误时产生的错误。9. 从以下表达中选出5条有利于软件可维护性的正确表达。 在进展需求分析时需同时考虑可维护性问题。 完成测试作业后,为了缩短源程序的长度应删去程序中的注释。 尽可能在软件生产过程中保证各阶段文档的正确性。 编程时应尽可能使用全局变量。 选择时间效率和空间效率尽可能高的算法。 尽可能利用硬件的特点。 重视程序构造的设计,使程序具有较好的层次构造。 使用维护工具或支撑环境。 在进展概要设计时应加强模块间的

29、联系。 提高程序的易读性,尽可能使用高级语言编写程序。10. 从以下关于模块化程序设计的表达中,选出5条正确的表达。程序设计比较便,但比较难以维护。便于由多个人分工编制大型程序。软件的功能便于扩大。程序易于理解,也便于排错。在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数。模块之间的接口叫做数据文件。可能是数据文件只要模块之间的接口关系不变,各模块部实现细节的修改将不会影响别的模块。模块间的单向调用关系叫做模块的层次构造。模块越小模块化的优点越明显。一般来说,模块的大小都在10行以下。11. 从以下表达中选出5条符合程序设计风格指导原那么的表达。嵌套的重数应加以限制。尽量多

30、使用临时变量。不滥用语言特色。不用可以省略的括号。使用有意义的变量名。应尽可能把程序编得短些。把常见的局部优化工作留给编译程序去做。注解越少越好。程序的格式应有助于读者理解程序。应尽可能多用goto语句。12. 由于软件工程有如下哪些的特点,使得软件的管理比其他工程的管理更为困难:A、B、Da) 软件产品不可见;b) 软件生产不存在标准的过程;c) 软件的开发本钱往往非常高;d) 有些大型软件工程往往是“一次性的工程;13. 软件维护可以分为改正性维护和a) 适应性维护b) 文档性维护c) 完善性维护d) 预防性维护14. OO软件系统可维护性好表达在以下几个面ABCDa) OO的软件的稳定性

31、比较好b) OO的软件比较容易修改c) OO的软件比较容易理解d) OO的软件易于测试和调试15. OO法建模需要建立以下哪几种模型A、B、D。a) 对象模型b) 功能模型c) 数据模型d) 动态模型四、判断题1. 软件生存期是从软件开场开发到开发完毕的整个时期。F2. 系统流程图是一个典型的描述逻辑系统的传统工具。F3. 数据流图和数据字典共同构成系统的逻辑模型。T4. 扇出是一个模块直接调用的模块数目,一般推荐的扇出为3或4。T5. 耦合用于衡量一个模块部的各个元素彼此结合的严密程度。F6. 判定覆盖不一定包含条件覆盖,但是条件覆盖一定包含判定覆盖。F7. 在代码的编写中要尽量防止使用EL

32、SE GOTO 或者ELSE RETURN构造。T8. 软件测试的目的就是证明软件没有错。F9. 语句覆盖的含义是使被测试程序中的每个语句都至少被执行一次。T10. 软件开发的本钱主要是人的劳动消耗。T11. 从层次图和构造图中能看出模块之间的调用次序F12. 构造化程序设计就是要彻底在程序中消除GOTO语句F13. 自顶向下的集成测试法需要驱动存根程序F14. 为了加快软件维护作业的进度,应尽可能增加维护人员的数目F15. 软件交付给用户使用后,随即进入软件的维护阶段T16. CMM定义的5个等级能引导软件机构不断识别出其软件过程的缺陷,指出应该做哪些改进,并不提供做这些改进的具体措施。F1

33、7. 开发软件时投入的人员越多,开发时间就越短F18. 程序正确性证明能证明程序的功能和动态特性符合设计要求F五、简答题1. 层次图和层次框图之间区别在? P92层次图描绘软件的层次构造,层次框图描绘数据构造层次图中框代表一个功能模块,层次框图框代表数据的子集或数据元素层次图中连线表示模块间调用关系,层次框图连线表示组成关系。2. 2、软件设计过程中为什么要采用模块化设计法?P85参考答案:1、采用模块化原理可以使软件构造清晰,不仅容易设计,也容易阅读和理解;2、模块化使软件容易测试和调试,因而有助于提高软件的可靠性;3、模块化可以提高软件的可修改性;4、模块化有助于开发过程的组织和管理;3.

34、 用某种软件复杂性度量算法来度量不同类型的程序时。得出的度量值是否真正反映了它们的复杂性?如果对同类型的程序进展度量,其结果是否就比较有价值?参考答案:开发规模一样,但复杂性不同的软件,花费的本钱和时间会有很大的差异。因此到目前为止,还没有一个软件复杂性度量的法能够全面、系统地度量任一软件的复杂性,某一种度量法只偏重于某一面。所以,用某种软件复杂性来度量不同类型的程序,所得到的度量值不一定真正反映它们的复杂性。但对同一类里的程序,按某种视点来度量它们的复杂性,其结果还是比较有价值的。4. 数据流图的作用是什么?它有哪些根本成分?参考答案:数据流图可以用来抽象地表示系统或软件。它从信息传递和加工

35、的角度以图形的式刻画数据流从输入到输出的移动变换过程,同时可以按自顶向下、逐步分解的法表示容不断增加的数据流和功能细节。因此,数据流图既提供了功能建模的机制也提供了信息流建模的机制,从而可以建立起系统或软件的功能模型。根本成分有:数据原点/终点 数据处理 数据流 数据存储5. 常用的估算软件规模的法有哪些?试比较这些法的优缺点。代码行技术的优点,容易计算,缺点是太片面,因为源程序只是软件配置的很少一局部,不同语言实现同一个软件所需的代码行数不同;功能点数的特点:与编程语言无关,但是判断信息域复杂性级别和技术因素的影响程度时,存在着相当大的主观因素。6. CMM的全称是什么?其根本思想是什么?为

36、什么要对CMM进展分级?P321其根本思想是:软件开发和维护过程中的问题是由于管理软件过程的法不当引起的,即使是应用新的软件技术,也不会自动提高软件的生产率和质量。能力成熟度模型有助于软件开发机构建立一个有规律的、成熟的软件过程。改进后的软件过程将有利于开发出高质量的软件,使更多的软件工程免受时间和费用超支之苦。3分对于任软件开发机构的软件过程的改进都是在完成一个又一个小的改进的根底之上不断进展的渐进过程,而不是一蹴而就的彻底革命。CMM将软件过程从无序到有序的进化过程分为5个等级,用于测量软件机构的软件过程成熟度和评价其软件过程能力什么是软件配置管理?答:软件配置管理,简称SCM(Softw

37、are Configuration Management),是在软件的整个生命期管理变化的一组活动。具体地讲,这组活动包括:标志变化, 控制辩化, 确保适当地实现变化, 向需要指导这类信息的人报告变化。软件配置管理技术可以使软件变更所产生的错误到达最小并最有效地提高生产率。7. 什么是基线?你是如理解基线的?P319基线:已经通过正式复审的规格说明或中间产品,它可以作为进一步开发的根底,并且只有通过正式的变化控制过程才能改变它。基线是通过了正式复审的软件配置项。一旦软件配置变成基线,那么,对于软件配置的改变,必须使用特定的、正式的过程来评估、实现和验证每个变化。基线除了包含软件配置之外,还有可

38、能包含软件工具。8. 什么是面向对象的法学?它有哪些优点?P193面向对象的法就是模拟人类认识世界解决问题的思维习惯开发软件的法,这种法认为:OO=对象+类+继承+对象之间的通讯。1分OO法有如下四个面的要点:客观世界是由各种对象组成的,任事物都是对象,复杂的对象可以有比较简单的对象以某种式组合而成。把所有对象都划分成各种对象类,每个类定义一组数据静态属性,状态信息,类实例专有数据和一组法施加于对象上的操作,类实例所共有的。按照子类与父类的关系,把假设干个类组成一个层次构造的系统。子类继承父类的法和属性,同时可以重载某些法。对象之间仅能通过传递消息相互联系2分优点:与人类习惯的思维法一致,稳定

39、性好,可重用性好,较易开发大型软件产品,可维护性好。2分六、分析题1. 试说明下面的两个程序段的功能是什么?可否用另一些等效的程序段来代替它,以提高其可读性。(1)A=A+BB=A-BA=A-B(2)for(i=0;jn;i+)for(j=0;j3)AND(B=1)M=M/2(A=1)OR(M1)M=M-5M=M+5FFTTbdceafend假设几种可能的条件是:T1: A3 F1:A1 F4:M1填写下表注意:此题答案不唯一数据覆盖路径覆盖条件M值A=4,B=1,M=2cdT1,T2,F3,F46A=1,B=2,M=4beF1,F2,T3,T4-1请设计路径覆盖用例,并写出各种测试用例下程序

40、的执行路径。3. 下面是一段用Seidel迭代法求解线性程组的程序。其中An,n是程组的系数矩阵。Bn是程组的右端项,Xn是程组的解向量。eps是控制迭代精度的较小实数。imax是控制迭代的最大次数。flag是标志,值为0时表示迭代不收敛,值为l时表示迭代收敛。for(k=0;kn;k+)Xk=0.0;Xn-1=1.0;for(i=1;iimax;i+)flag=1;for(j=0;jn;j+)s=Bj;for(k=0;k (abs(s) + 1.0)*epsflag=0;Xj=s;if(flag=1)break;画出该C伪码的程序流程图,N-S图,程序流图,并计算程序的McCabe环形复杂度

41、。4. 阅读以下关于软件可靠性面的表达,答复以下问题1和问题2。软件的可靠度可定义为:在假定输入和硬件不发生错误的前提下,对于给定的环境和给定的输入,在指定的时间能完成规定任务的概率。某软件中心的评测部为了评估已开发实现的应用软件ASP的可靠性,决定采用软件可靠性的错误播种模型来进展测试和评估。评测部在评估时,作了以下3个假设:l在测试前,单位长度的故障个数ET/IT为一常数,此常数根本上落在一个固定的围。其中IT为被测程序的长度即机器指令条数,ET为被测程序中故障总数。2失效率正比于软件中剩余的潜伏的故障数,平均无敌障时间MTTFMean Time To Failure与单位长度的剩余故障个数成反比,即MTTF=1/Kr。其中r为单位长度剩余故障个数,K的典型值现取为200。3测试中发现的错误都得到了及时改正,在测试过程中没有引入新的错误。评测部对ASP软件人为地植入了10个错误,即Ns=10,在开场测试的一小段时间,发现了160个固有故障,即n=160,又发现了植入的故障2个,即ns=2,被测程序ASP的长度即机器指令条数为100000。问题1:用故障播种植入的数学模型,估算出被测程序ASP的固有故障的个数N的值。如果通过测试一

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服