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

下载本文档

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

文档简介

1、软件工程试题、单项选择题1软件生存周期中时间最长的是(A.总体设计B 需求分析D )阶段。C 软件测试D 软件维护2 为使得开发人员对软件产品的各个阶段工作都进行周密的思考,从而减少返工, 所以 (C )的编制是很重要的。A.需求说明B概要说明C 软件文档D 测试计划3软件部件的内部实现与外部可访问性的分离,是指软件的(C )。A. 继承性 B.共享性C.封装性D.抽象性4单元测试是发现编码错误, 集成测试是发现模块的接口错误, 确认测试是为了发现功能错误, 那么系统测试是为了发现( C )的错误。A.接口错误 B .编码错误 C .性能、质量不合要求D .功能错误5 程序设计语言的工程特性之

2、一为( C )。A.软件的可重用性 B .数据结构的描述性 C .抽象类型的描述性D .数据库的易操作性6快速原型模型的主要特点之一是(A 开发完毕才见到产品C.开发完毕后才见到工作软件7 程序流程图(框图)中的箭头代表(A.数据流 B .控制流CD )。B. 及早提供全部完整的软件产品D.及早提供工作软件A )。调用关系 D 组成关系8可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据, 因此必须给出什么样的回答。( B )A.确定B.行或不行C正确D无二义9结构化程序设计主要强调的是(D)。A .程序的规模B .程序的效率C程序设计语言的先进性D 程序易

3、读性11软件概要设计结束后得到(B )。A .初始化的软件结构图B .优化后的软件结构图C.模块的接口图和详细算法D .程序编码12系统因错误而发生故障时,仍然能在一定程度上完成预期的功能, 则把该软件称为 ( A )。A.软件容错B.系统软件C .测试软件D.恢复测试13系统定义明确之后,应对系统的可行性进行研究。可行性研究应包括(B )。A 软件环境可行性技术可行性经济可行性社会可行性B 经济可行性技术可行性操作可行性 C .经济可行性.社会可行性.系统可行性D .经济可行性.实用性.社会可行性 14通过( B )可以完成数据流图的细化。A .结构分解B.功能分解15总体设计目的是确定整个

4、系统的(A 规模B 测试方案16可行性研究的主要目的是(DA .确定系统建设的详细方案C .数据分解D .系统分解D )。C. 费用D .功能及模块结构)。B .深入了解用户需求C 分析开发系统的必要性D 确定系统是否值得开发17. 面向数据结构的设计方法(Jackson方法)是进行(B )的形式化的方法。A 系统设计B 详细设计C 软件设计D 编码18. 在进行软件测试时,首先应当进行( A ),然后再进行组装测试,最后再进行有效性测A .单元测试B .集成测试C .确认测试D.组合测试19. 在整个软件维护阶段所花费的全部工作中, ( C )所占比例最大。A 校正性维护B 适应性维护C 完

5、善性维护D 预防性维护20模块(C ),则说明模块的独立性越强。A 耦合越强B.扇入数越高C.耦合越弱D 扇入数越低21. 模块( B )定义为受该模块内一个判断影响的所有模块集合。A .控制域B .作用域C .宽度D .接口( B )、对象模型、 动态模型。D .物理模型B )。.系统测试22. 目前面向对象分析有许多方法,大多数方法可以归结为建立A .数据模型B .功能模型C. 逻辑模型23. 使用程序设计的控制结构导出测试用例的测试方法是(A.黑盒测试B .白盒测试 C .边界测试D24. ( D )是比较理想的可重用软构件。A.子程序库 B .源代码包含文件C .对象 D .类25.

6、在结构化设计(SD)方法中全面指导模块划分的最重要的原则是(D )。A.程序模块化B .模块高内聚 C .模块低耦合D.模块独立性26. 结构化设计方法是面向(A )的设计。A .数据流B.数据编码C.数据库D .数据结构27. 结构分析方法就是面向(B )自顶向下逐步求精进行需求分析的方法。A .目标B.数据流C.功能D .对象28. 在软件生命周期中,用户主要是在(A )参与软件开发。A .软件定义期B.软件开发期C.软件维护期D .整个软件生命周期过程中29. 在软件工程项目中,不随参与人数的增加而使软件的生产率增加的主要问题是(D )。A .工作阶段间的等待时间B .生产原型的复杂性C

7、 .参与人员所需的工作站数D .参与人员之间的通信困难30. 软件结构图的形态特征能反映程序重用率的是(C )。A.深度B .宽度C .扇入 D .扇出31软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( A )。A .可用性 B.可靠性C .正确性 D .完整性32需求分析最终结果是产生( B )。A.项目开发计划B .需求规格说明书C .设计说明书D .可行性分析报告33 UML 是一 种( A )。A .一种可视化的建模语言B .是一种可视化的程序设计语言C 是一 种过程D 是一 种方法34软件维护产生的副作用,是指(C )。A.开发时的错误 B 隐含的

8、错误 C 因修改软件而造成的错误D 运行时误操作35提高软件质量和可靠的技术大致可分为两大类:其中一类就是避开错误技术, 但避开错误技术无法做到完美无缺和绝无错误,这就需要( D )。A 消除错误B 检测错误C 避开错误D 容错36.因计算机硬件和软件环境的变化而作出的修改软件的过程称为(B )。A 纠正性维护B.适应性维护 C完善性维护D.预防性维护37 软件详细设计阶段的任务是(A )oA 算法设计B 功能设计C 调用关系设计D输入/输出设计38.下列属于维护阶段的文档是(C )oA 软件规格说明B 用户操作手册C 软件问题报告D 软件测试分析报告C )。单元测试 )研究的一方面。 D.法

9、律可行性 )导出结构图的关键。D E R 图39 确认软件的功能是否与需求规格说明书中所要求的功能相符的测试属于(A.集成测试B恢复测试C验收测试40 研究开发所需要的成本和资源是属于可行性研究中的(A技术可行性B.经济可行性 C 社会可行性41 在对数据流的分析中,主要是找到中心变换,这是从(A 数据结构B 实体关系C数据流图D )。42 需求分析阶段的任务是确定(D .软件系统的功能A 软件开发方法B 软件开发工具C软件开发费二、名词解释1 软件生存周期答:软件生存周期是指从提出软件开发要求开始,直到该软件报废不用为止的整个时期。这个时期又分为若干个阶段,对软件生产的管理和进度控制有重要作

10、用,使软件的开发有相应的模式、 流程、工序和步骤。2 .软件维护答: 软件维护是软件生命周期的最后一个阶段, 是在软件已经交付给用户使用之后, 为了改正软 件错误或满足新的需要而修改软件的过程。 它包括四种类型的维护活动:改正型维护、适应型维 护、预防型维护和完善型维护。3 数据流图答:数据流图是描述数据处理过程的工具。它从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。4 .模块独立性答:模块独立性:是模块化、抽象和信息隐蔽的直接产物。每个模块只要完成独立的功能,与 其它模块联系越少,则模块的独立性就越强。通过模块与模块之间的耦合性和模块内部的内聚性 来衡量模块的独立

11、性。5 .软件测试答:软件测试是一个为了寻找软件错误而运行程序的过程。目的就是为了发现软件中的错误。 一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例。一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。7. 3测试答:指软件开发公司组织各方面的典型用户在日常工作中实际使用B版本(经过a测试调整的软件产品),并要求用户报告异常情况、提出批评意见,然后软件开发公司再对B版本进行改错和完善。完善。8软件项目管理答: 为了使软件项目能够按照预定的成本、 进度、 质量顺利完成, 而对成本、 人员、 进度、 质量、 风险等进行分析和管理的活动。9程序的可维护性 答:程序的可维护性: 为满足用

12、户新的需求, 或当环境发生了变化, 或运行中发现了新的错误时, 对一个已投入运行的软件进行相应诊断和修改所需工作量的大小。10容错技术答:容错技术: 对那些无法避开的差错, 使其影响减少至最小的技术。 也就是说, 当错误发生时, 尽可能地不影响其它的系统元素,或是把用户的影响限制在某些容许的范围内。三、判断题1 . HIP0图不仅描绘软件的层次结构 ,而且还描述每个模块的处理过程。(V)2 .软件测试就是找到软件的错误。(X)3软件开发快速原型模型是由瀑布模型多次迭代,完成软件开发过程。(X)4. 类是由子类组成的 , 对象是对属性值和操作的封装的子类。(X)5. UML语言中的活动图与状态图

13、没有本质区别。(X)6 软件调试就是找到软件产生错误的原因,并改正错误。(V)7. UML 是一种直观化、明确化、构建和文档化软件产物的通用语言。(X)8. 好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。(V)9. 边界值分析方法是取输入 /输出等价类的边界值作为测试用例。(V)10. 面向对象的分析是面向计算机系统建立软件系统的对象模型。(X)11. 软件产品与其他任何产品不同,它是无形的,完全没有物理属性。(V)12. 使用好的开发工具可以降低开发成本。(V)13. HIPO图只描绘软件的层次结构。(X)14. 无条件转移是程序的基本结构之一。(X )15. 为了提高程序

14、的易读性,尽可能使用高级语言编写程序。(V)16. UML 是面向对象技术领域的建模语言。 (V)17. Jackson 图只能表示数据结构,不能表示程序结构。(X )18软件开发螺旋模型是由瀑布模型多次迭代,完成软件开发过程。(X)19. 类是由对象组成的,而对象是对属性值和操作的封装。(V)20. 面向对象方法学中的动态模型与状态转换图没有本质区别。(X)21. HIPO图不能描绘软件的层次结构。(X)22. 软件调试就是找到软件的错误,不能改正错误。(X)23. 软件开发螺旋模型与瀑布模型无关。(X)24. 类是由对象组成的,是对对象属性值和操作的封装。(V)25. 文档是软件产品的一部

15、分,没有文档的软件就不称其为软件。(V)26. 在需求分析过程中, 分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。(X)27. 面向对象方法学中的 动态模型 与状态转换图 没有本质区别。(X)28. 建立用例模型的步骤包括确定角色、确定用例和绘制用例图。(X)29. 数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。(X)30. 软件配置管理是一组标识、组织和控制修改源程序的活动。(X)四、简答题1. 简述开源软件的成功因素有哪些?答 1 早发布、常发布、听取用户建议2 把用户当做协作开发者和测试人员3 精妙的数据结构和笨拙的代码所构成的组合( 软件) 肯定好于笨拙的数

16、据结构和精妙的代码4 最好的设计是最精简的设计,即再也没有什么东西可以去掉,而不是“再也没有什么可以 添加了”5 好的程序员知道如何写代码,伟大的程序员知道重用或重构什么代码。2. 软件及服务(SaaS对传统的软件工程有什么冲击?答:SaaS是通过In ternet 提供软件的模式,用户不用再购买软件、无须维护软件,而是直接使 用基于互联网的软件。 SaaS 如同煤气、点等服务一样,软件服务提供商负责软件系统的安装、 管理和维护,而使用者只要付相对很低廉的服务费即可。对于许多中小企业来说,SaaS 是企业信息化的有效途径,可以免除一次性的 IT 投资,可以大大减少计算机机房建设、雇佣 IT 人

17、员、 软硬件购买和维护等各项成本,而且所享受的服务成熟、稳定和可靠。3. 简述面向构件的思想。 答:面向构件是一种前沿的软件设计思想,将成熟的工业化生产中标准构建、组装、自动化生产 线等概念引入到软件开发过程中, 并吸收了软件开发结构化的方法和面对对象方法中的一些优点 而形成的。 面向构件的思想体现在更高的层次上, 即从需求分析或业务规格这个层次上和系统架 构的设计层次上, 不仅仅体现在源代码这个层次上。 因为面向构件的思想是在需求和设计的层次 上, 所以可以跨平台完成软件系统的集成, 不再依赖于某种特定的编程语言。 面向构件思想的关 注点不在于构件本是的技术实现,而在于如何把应用系统分解成稳

18、定、灵活、可重用的构件,在 于如何利用已有的软件库组装出随需应变的应用软件。6. 简述软件测试的任务、目的与类型。答: 软件测试是一个为了寻找软件错误而运行程序的过程。目的就是为了发现软件中的错误。 一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例。一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。软件测试主要分为白盒测试和黑盒测试两大类。4. 简述软件复用。答:软件复用就是设法使用已有的软件组成元素来构成新的系统,以减少软件开发所需的费用和时间, 提高软件的可维护性和可靠性。 软件复用思想主要来源于传统工业化生产, 是软件工厂思 想的部分体现,而模块化思想、面向构件的思想等也可

19、以看做软件复用思想的具体体现。5. 简述中间件。答: 中间件可以看作是面向软件的开发思想的一个实例, 或者说是软件复用思想的延伸。 顾名思 义,中间件处于操作系统软件与应用软件的中间, 可以看作介于操作系统货网络系统的应用层之 间的桥梁, 成为构筑不同应用的中间平台。 它能够屏蔽操作系统和网络协议的差异, 为应用程序 提供多种通信机制, 从而解决了软件分布异构问题。 中间件不仅能实现互连, 而且能实现应用的 互操作。中间件是基于分布式处理的一类软件,最突出的特点是其网络通信功能。7. 简述软件工程目标和面临的主要问题。答:软件工程的目标就是建造高质量的软件。但是目前的软件开发面临着许多问题:(

20、1)对软件开发成本和进度的估计常常很不准确。(2)用户常对“已完成的”软件系统不满意。(3)软件产品的质量往往靠不住。(4)软件常常很难维护。(5)软件常常缺乏适当的文档资料。(6)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。(7)软件成本在计算机系统总成本中所占的比例逐年上升。 8简述软件工程的七条基本原理。答:(1)用分阶段的生命的生命周期计划严格管理;(2)坚持进行阶段评审;(3)实行严格的产品控制;(4)采用现代程序设计技术;( 5)结果应能清楚地审查;( 6)开发小组的人员应该少而精;( 7)承认不断改进软件工程实践的必要性。6什么叫软件的生存期?软件的生存期可

21、以分为几个阶段? 答:一个软件产品从定义、开发、维护到废弃的时间总和称为软件的生存周期。软件生存期可以分为 7 个阶段: 问题定义 可行性研究 需求分析 设计 编码 测试 运行与维护7什么是软件工程?基本原理有哪些? 答:软件工程是指导计算机软件开发和维护的工程学科。用分阶段的生命周期计划管理、坚持阶段评审、实行严格产品控制、采用现代设计技术、结果审 查、开发小组人员少而精、并不断改进方法。8简述软件生命周期开发方法的基本过程及每个阶段的任务。答:( 1)问题定义阶段,尽可能清楚地描述问题,搞清楚要解决的问题是什么;( 2)可行性研究阶段, 主要是确定待解的问题是否有可行的解决办法。需要做经济

22、可行性分析、技术可行性分析、操作可行性分析和法律可行性分析;(3)需求分析阶段,主要是确定目标系统必须具备的功能。通常用数据流图、数据字典和简要 的算法表示系统的逻辑模型。(4)总体设计阶段,从总体上解决问题,确定可实现的方案,并设计出软件的层次结构图;(5)详细设计,把解法具体化,确定如何具体地实现这个系统。针对每个模块设计相应的算法;(6)编码和单元测试阶段,把详细设计的结果翻译成选定的语言所写的程序,并对每个模块进 行单元测试。(7)测试阶段,系统地设计测试用例,尽可能多地发现软件中的错误,并调试改正软件中的错 误;(8)软件维护阶段,主要目的是通过修改软件使所开发的软件能够持久地满足用

23、户的需要。 9简述需求分析的原则。答:需求分析阶段的基本过程包括四个方面:对问题的识别,分析与综合,制定规格说明以及评 审。(1)问题识别,系统分析人员要研究计划阶段产生的可行性分析报告和软件项目实施计划。然 后进行功能需求、性能需求、环境需求、可靠性需求安全保密需求、用户界面需求、资源使用需 求等方面的工作。(2)分析与综合,分析员需从数据流和数据结构出发,逐步细化所有的软件功能,找出系统各 元素之间的联系、接口特性和设计上的限制,分析他们是否满足功能需求,是否合理。(3)制定规格说明,编写需求分析的文档。(4)需求分析评审。为保证软件需求定义的质量,评审应以专门指定的人员负责,并按规程严

24、格执行。五、论述题1试论文档在软件开发过程中的重要性。答:论述要点: 在软件的生产过程中,总是伴随着大量的信息要记录、要使用。因此,软件文档在软件产品的开 发过程中起着举足轻重的作用。(1)提高软件开发过程的能见度。把开发过程中发生的事件以某种可阅读的形式记录在文档中, 管理人员可把这些记录下来的材料作为检查软件开发进度和开 发质量的依据,实现对软件开发的工程管理。(2)提高开发效率。软件文档的编制,使得开发人员对各个阶段的工作都进行周密思考、 全盘权衡、 从而减少返工。 并且可在开发早期发现错误 和不一致性,便于及时纠正。(3)作为软件开发人员在一定阶段的工作成果和结束标志。(4)记录开发过

25、程中的有关信息,便于协调以后的软件、开发、使用和维护。(5)提供对软件的运行、维护和培训的有关信息,便于开发人员之间的协作、交流和了解,使软件开发活动更科学、 更有成效。便于潜在用户了解软件的功能、性能等各项指标。2系统设计的内容是什么? 答:系统设计阶段先从高层入手,然后细化。系统设计要决定整个结构及风格,这种结构为后面 设计阶段的更详细策略的设计提供了基础。( 1)系统分解。系统中主要的组成部分称为子系统,子系统既不是一个对象也不是一个功能, 而是类、关联、操作、时间和约束的集合。每次分解的各子系统数目不能太多,最底层子系统称 为模块。(2)确定并发性。分析模型、现实世界及硬件中不少对象均

26、是并发的。系统设计的一个重要目 标就是确定哪些是必须同时动作的对象, 哪些不是同时动作的对象。 后者可以放在一起, 而综合 成单个控制线或任务。( 3)处理器及任务分配。各并发子系统必须分配给单个硬件单元,要么是一个一般的处理器, 要么是一个具体的功能单元, 必须完成下面的工作: 估计性能要求和资源需求, 选择实现子系统 的硬软件, 将软件子系统分配给各处理器以满足性能要求和极小化处理器之间的通信,决定实现各子系统的各物理单元的连接。( 4)数据存储管理。 系统中的内部数据和外部数据的存储管理是一项重要的任务。通常各数据存储可以将数据结构、文件、数据库组合在一起,不同数据存储要在费用、访问时间

27、、容量以及 可靠性之间做折中考虑。5)全局资源的处理。必须确定全局资源,并且制定访问全局资源的策略。全局资源包括:物理资源, 如处理器、驱动器等;空间, 如盘空间、工作站屏等;逻辑名字, 如对象标识符、 类名、 文件名等。以达到自身控制; 如果如独立的事务可能同时如果资源是物理对象, 则可以通过建立协议实现对并发系统的访问, 资源是逻辑实体, 如对象标识符, 那么在共享环境中有冲突访问的可能, 使用同一个对象标识符, 则各个全局资源都必须有一个保护对象, 由保护对象来控制对该资源的 访问。系统设计必须从( 6)选择软件控制机制。 分析模型中所有交互行为都表示为对象之间的事件。 多种方法中选择某种方法来实现软件的控制。( 7)人机交互接口设计。 设计中的大部分工作都与稳定的状态行为有关, 但必须考虑用户使用 系统的交互接口。3什么是软件危机?软件危机的表现是什么?其产生的原因是什么? 答:软件发展第二阶段的末期,由于计算机硬件技术的进步,计算机运行速度、容量、可靠性有 显著的提高,生产成本显著下降,这为计算机的广泛应用创造了条件。一些复杂的、大型的软件 开发项目提出来了, 但是, 软件开发技术的进步一直未能满足发展的需要。在软件开发中遇到的问题找不到解决办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。软件危机表现在以下四个方面:(1

温馨提示

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

评论

0/150

提交评论