2015软件工程期末复习题(答案).doc

合集下载

《软件工程》期末复习题及答案

《软件工程》期末复习题及答案

《软件工程》期末复习题及答案1.运用所掌握的知识,通过抽象,给出该系统的结构,这就是A.系统建模B.软件开发C.问题求解D.验证确认3.结构化分析方法给出了一种能表达功能模型的工具是()。

A.HIP0图 B.PAD图 C.N-S图 D.DFD图7.在某大学学生学籍管理信息系统中,假设学生年龄的输入范围为16~40,则根据黑盒测试中的等价类划分技术,下面划分正确的是()。

A.可划分为2个有效等价类,2个无效等价类B.可划分为1个有效等价类,2个无效等价类C.可划分为2个有效等价类,1个无效等价类D.可划分为1个有效等价类,1个无效等价类10.是把对象的属性和服务结合成一个独立的系统单元,并尽可能隐藏对象的内部细节;继承是指子类可以自动拥有父类的全部属性和服务;()是对象发出的服务请求,一般包含提供服务的对象标识、服务标识、输入信息和应答信息等。

A.继承B.多态C.消息D.封装11.分层DFD中父子平衡是指()。

A.父加工的数据流数目与子图中数据流数目相同B.父图应包含子图中的全部数据流C.子图应包含父图中的全部数据流D.父加工和子图的输入数据和输出数据应分别保持一致2.在建模过程中,可用以描述加工的工具是()。

A.数据流 B.判定树 C.数据字典 D.数据存储13.以下软件生存周期的活动中,要进行软件结构设计的是()。

A.测试用例设计 B.概要设计C.程序设计 D.详细设计16.CMMI 成熟度等级中的第四级为()。

A.已定义级B.已定量管理级C.持续优化级D.已重复17.以下选项中,最适合于用交互式计算机软件解决的问题是()。

A.非结构化决策问题B.半结构化决策问题C.结构化决策问题D.确定性问题18.系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试。

不是系统测试的内容()。

A.路径测试 B.可靠性测试 C.安装测试 D.安全测试19.项目管理工具中,将网络方法用于工作计划安排的评审和检查的是()。

软件工程导论期末试题A(带答案)

软件工程导论期末试题A(带答案)

评阅教师得分四川大学期末考试试题(闭卷)(2014~2015学年第1学期)课程号: 311078040 课程名称:软件工程导论(A卷)任课教师:洪玫,刘东权,李旭伟等适用专业年级:软件工程 2013级学号:姓名:2. 请将答案全部填写在本试题纸上;3. 考试结束,请将试题纸、添卷纸和草稿纸一并交给监考老师。

✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍✍一、单项选择题(本大题共20小题,每小题1分,共20分)提示:在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在下表中。

错选、多选或未选均无分。

1. Software is the collection of ( ).(A) Programs(B) Data(C) Documents(D) All of above2.Which of the items listed below is not one of the software engineering layers? ( )(A) Process(B) Methods(C) Tools(D) Manufacturing3.The prototyping model of software development is ( ).(A) A reasonable approach when requirements are well defined.(B) The best approach to use for projects with large development teams.(C) A useful approach when a customer cannot define requirements clearly.注:试题字迹务必清晰,书写工整。

本题共11页,本页为第1页(D) A risky model that rarely produces a meaningful product.4. The linear sequential model of software development is also known as the ( ).(A) Prototyping model(B) Waterfall model(C) Fountain model(D) Spiral model5.Which one of the following phases is not one of the phase names defined by the Unified Process model for software development? ( )(A) Inception phase(B) V alidation phase(C) Elaboration phase(D) Construction phase6. The spiral model of software development ( )(A) Ends with the delivery of the software product(B) Includes project risks evaluation during each iteration(C) Is more chaotic than the incremental model(D) All of the above7. The Capability Maturity Model Integration (CMMI) is used to measure ( )(A) the quality of the product(B) quality in the context of the business environment(C) the quality of the process(D) none of the above8. Analysis models depict software in which three representations? ( )(A) information, function, behavior(B) architecture, interface, component(C) cost, risk, schedule(D) None of the above9. Software engineers collaborate with customers to define which of the following? ( )(A) Customer visible usage scenarios(B) Important software features(C) System inputs and outputs(D) All of the above10. Views are “slices”of architecture. Which view focuses on structural issues? ( )(A) Logical(B) Use-case(C) Process(D) Implementation11. The Data Flow Diagram(DFD) ( ).(A) depicts relationships between data objects(B) depicts functions that transform the data flow(C) indicates how data are transformed by the system(D) both b and c12. The entity relationship diagram ( )(A) depicts functions that transform the data flow(B) depicts relationships between data objects(C) indicates how data are transformed by the system(D) indicates system reactions to external events13. Which one of the following items is not an element of a class definition? ( )(A) Class responsibilities(B) Class attribution(C) Class name(D) Class operations14. The importance of software design can be summarized in a single word: ( )(A) accuracy(B) quality(C) complexity(D) efficiency15. Polymorphism can be described as? ( )(A) Inheritance(B) Information(C) Placing Generalization(D) one interface encapsulates different implementations16. Which one of the following is not an area of concern in the design model? ( )(A) architecture(B) project scope(C) data(D) interfaces17. In component design, elaboration does not require which of the following elements to bedescribed in detail? ( )(A) Attributes(B) Source code(C) Interfaces(D) Operations18. What is the normal order of activities in which traditional software testing is organized? ( )(A) unit testing, integration testing, validation testing, system testing(B) integration testing, unit testing, system testing, validation testing(C) validation testing, unit testing, integration testing, system testing(D) system testing, validation testing, integration testing, unit testing评阅教师得分19. Which of the following tests is a system test that forces the software to fail in a variety of ways and verifies that software is able to continue execution without interruption? ( )(A) security testing (B) performance testing (C) recovery testing (D) stress testing20. The testing technique that requires devising test cases to demonstrate that each program function is operational is called? ( )(A) glass-box testing (B) black-box testing (C) grey-box testing (D) white-box testing二、名词解释题(本大题共5小题,每小题2分,共10分)。

2015年软件工程期末考试试题及答案(机密)解析

2015年软件工程期末考试试题及答案(机密)解析

2015年软件工程期末考试试题及答案(机密)解析班级姓名学号一.简要回答下列各问题(共40分,每个小题5分)(1) 阐述软件工程的定义。

答:●是指导计算机软件开发和维护的一门工程学科;●采用工程的概念、原理、技术和方法来开发和维护软件;●把证明正确的管理技术和最好技术综合运用到软件开发中;●研究经济地开发出高质量的软件方法和技术;●研究有效维护软件的方法和技术。

(2) 简述软件危机的原因。

答:●缺乏软件开发的经验和有关软件开发数据的积累,使得开发计划很难制定。

●软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。

●软件开发过程不规范。

如,没有真正了解用户的需求就开始编程序。

●随着软件规模的增大,其复杂性往往会呈指数级升高。

需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。

●缺少有效的软件评测手段,提交用户的软件质量不能完全保证。

(3) 画出软件生存周期的瀑布模型的示意图,并简单评述其优缺点。

(4) 画出软件生存周期的增量模型的示意图,并简述其优点。

优点:●可强迫开发人员采用规范化的方法。

●严格地规定了每个阶段必须提交的文档。

●要求每个阶段交出的所有产品都必须是经过验证的。

缺点●由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。

如果需求规格说明与用户需求之间有差异,就会发生这种情况。

●瀑布模型只适用于项目开始时需求已确定的情况。

1-2 瀑布模型示意图●能在较短时间内向用户提交可完成一些有用的工作产品,即从第1个构件交付之日起,用户就能做一些有用的工作。

●逐步增加产品的功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给用户组织带来的冲击。

●项目失败的风险较低,虽然在某些增量构件中可能遇到一些问题,但其他增量构件将能够成功地交付给客户。

●优先级最高的服务首先交付,然后再将其他增量构件逐次集成进来。

因此,最重要的系统服务将接受最多的测试。

《软件工程》2015期末试题及答案

《软件工程》2015期末试题及答案

《软件工程》2015期末试题及答案
一、选择题,请从四个可选项中选择正确答案。

(60分,每题3分)
1.软件工程的出现是由于( )。

A.软件危机 B.计算机硬件技术的发展
C.软件社会化的需要 D.计算机软件技术的发展
2.螺旋模型是一种将瀑布模型和哪种模型结合起来的软件开发模型?( ) A.快速原型模型 B.专家模型
C.V模型 D.演化模型
3.软件可行性研究一般不考虑( )。

A.是否有足够的人员和相关的技术来支持系统开发
B.是否有足够的工具和相关的技术来支持系统开发
C.待开发软件是否有市场、经济上是否合算
D.待开发的软件是否会有质量问题
4.软件需求分析的任务不包括( )。

A.问题分析 B.信息域分析
C.结构化设计 D.确定逻辑结构
5.结构化分析方法(SA法)使用的主要描述工具有( )。

A.数据库 B.模块结构图
C.PAD图 D.分层的DFD图
6.源程序的效率与( )阶段确定的算法的效率直接有关。

A.概要设计 B.总体设计
C.单元设计 D.详细设计
7.画DFD图的主要目的是( )。

A.作为需求分析阶段用户与开发者之间交流信息的工具
B.对系统的数据结构进行描述
C.对目标系统的层次结构进行描述
D.作为编码和测试的工具’.
8.耦合度最高的是( )。

2015年软件工程期末试卷(自己整理的_很完整的)

2015年软件工程期末试卷(自己整理的_很完整的)

1、2、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。

八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和( C)。

A、详细计划B、可行性分析C、运行阶段D、测试与排错2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大(C )。

A、详细设计阶段B、概要设计阶段C、需求分析阶段D、测试和运行阶段3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标(A )。

A、需求分析阶段B、详细设计阶段C、概要设计阶段D、可行性研究阶段4、软件工程的出现主要是由于(C )。

A.程序设计方法学的影响B.其它工程科学的影响C. 软件危机的出现D.计算机的发展5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C )A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为( B)A、相互排斥B、相互补充C、独立使用D、交替使用7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C )A、基于瀑布模型的结构化方法B、基于需求动态定义的原型化方法C、基于对象的面向对象的方法D、基于数据的数据流开发方法8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B )A、结构化方法B、原型化方法C、面向对象的方法D、控制流方法9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(B )A、控制流B、数据流C、程序流D、指令流10、软件开发的结构化生命周期方法将软件生命周期划分成(A )A、计划阶段、开发阶段、运行阶段B、计划阶段、编程阶段、测试阶段C、总体设计、详细设计、编程调试D、需求分析、功能定义、系统设计11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为(A )A、瀑布模型B、对象模型C、螺旋模型D、层次模型12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是( C)A、分析阶段B、设计阶段C、编码阶段D、测试阶段三.判断1.软件的开发与运行经常受到硬件的限制和制约。

软件工程复习题及答案(完整)

软件工程复习题及答案(完整)

一、选择1、文档是软件产品的一部分,没有文档的软件就不称其为软件.对2、在需求分析过程中,分析员要从用户那里解决的最重要的问题是给该软件提供哪些信息。

错3、需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性分析的依据。

错4、建立用例模型的步骤包括确定角色、确定用例和绘制用例图。

错5、数据流图建立系统的功能模型,它由数据流、加工和数据存贮组成。

错6、软件配置管理是一组标识、组织和控制修改源程序的活动. 错7、UML是一种直观化、明确化、构建和文档化软件产物的通用语言。

错8、好的测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。

对9、边界值分析方法是取输入/输出等价类的边界值作为测试用例。

对10、面向对象的分析是面向计算机系统建立软件系统的对象模型.错11、(D)是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。

A 软件过程B 软件测试C 软件生存周期D 软件工程12、ISO9000是由ISO/TC176制定的关于(B)和质量保证的国际标准。

A 质量控制B 质量管理C 质量策划D 质量改进13、CMM提供了一个框架,将软件过程改进的进化步骤组织成5个成熟度等级.除第1级外,每个等级都包含了实现该成熟度等级目标的若干(B).A 关键实践B 关键过程域C 软件过程能力D 软件过程14、在软件开发的各种资源中,(D)是最重要的资源。

A 开发工具B 方法C 硬件环境D 人员15、软件的复杂性是(A),它引起人员通信困难、开发费用超支、开发时间超时等问题。

A 固有的B 人为的C 可消除的D 不可降低的16、在各种不同的软件需求中,(D)描述了用户使用产品必须要完成的任务,可以在用例模型或方案脚本中予以说明。

A 业务需求B 功能需求C 非功能需求D 用户需求17、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于(A)系统。

A 需求不确定的B 需求确定的C 管理信息D 决策支持18、(A)意味着一个操作在不同的类中可以有不同的实现方式.A 多态性B 多继承C 类的可复用D 信息隐蔽19、时序图反映对象之间发送消息的时间顺序,它与(D)是同构的。

软件工程考试题含答案 2015

软件工程考试题含答案      2015

河南师范大学计算机与信息工程学院2013―2014学年度 2010级计算机科学与技术专业期末考试《软件工程》A 卷1. 软件:是计算机系统中与硬件相互依存的一部分,它包括程序数据及其相关文档软件生命周期模型:是描述软件开发过程中各项活动如何执行的模型 软件危机:是计算机软件开发和维护过程中所遇到的一系列严重的问题软件生存周期:软件从定义开始,经过开发,使用和维护,直到最终退役的全过程 2. 软件工程 将系统的、规范的、可度量的工程化方法用于软件开发、运行和维护的过程3. 结构化分析方法:是强调开发方法的结构合理性以及所开发软件的结构合理性的软件开发方法。

它一般利用图形表达用户需求,使用的手段主要有数据流图、数据字典、结构化语言、判定表以及判定树等。

结构化分析的步骤如下:①分析当前的情况,做出反映当前物理模型的DFD ;②推导出等价的逻辑模型的DFD ;③设计新的逻辑系统,生成数据字典和基元描述;④建立人机接口,提出可供选择的目标系统物理模型的DFD ;⑤确定各种方案的成本和风险等级,据此对各种方案进行分析;⑥选择一种方案;⑦建立完整的需求规约。

4. 软件工程三要素:过程、方法、工具5. 软件开发工具:是支持软件开发人员开发和维护软件活动而使用的软件1. 在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案(F )2. SA 方法是面向数据流,建立在数据封闭原则上的需求分析方法(T )3. 模块的设计要力求做到高内聚、低耦合(T )4. 软件开发、设计几乎都是从头开始,成本和进度很难估计。

(F )5. 类图用来表示系统中类和类之间的关系,它是系统动态结构的描述(F )6. 划分模块可以降低软件复杂度和工作量,所以应该将模块划分得越小越好。

(F )7. 一个好的开发人员应具备的素质和能力包括善于与周围人员团结协作,建立良好的人际关系,善于听取别人的意见。

(T)8. 用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完整性、现实性和有效性。

软件工程期末试题(含答案)

软件工程期末试题(含答案)

软件工程期末试题(含答案)软件工程期末试题(含答案)1. 选择题(1) 在软件开发过程中,以下哪个活动是与需求分析相关的?A. 代码编写B. 测试C. 需求验证D. 项目规划答案:C(2) 在敏捷开发方法中,以下哪个原则强调“面对面交流”?A. 个体和交互高于工具和过程B. 客户合作高于合同谈判C. 可以交付的软件高于详尽的文档D. 响应变化高于遵循计划答案:A2. 简答题(1) 简述软件开发生命周期的阶段及每个阶段的主要任务。

答案:软件开发生命周期主要包括需求分析、设计、编码、测试和维护阶段。

需求分析阶段的主要任务是收集用户需求、进行需求分析和规格说明;设计阶段的主要任务是根据需求进行软件的整体架构设计、模块设计等;编码阶段的主要任务是根据设计文档进行程序代码的编写;测试阶段的主要任务是对软件进行功能、性能、兼容性等各方面的测试;维护阶段的主要任务是修复软件中的缺陷、升级功能等。

(2) 什么是软件需求?简述软件需求分析的过程。

答案:软件需求是对软件系统的功能、性能、接口、约束和设计约束条件的描述。

软件需求分析是指对软件需求进行识别、获取、明确和规格说明的过程。

其过程包括以下几个步骤:a. 需求获取:通过与用户交流、收集现有文档等方式,获取软件需求相关的信息;b. 需求分析:对获取的软件需求进行整理和分类,识别出需求之间的关联和依赖关系;c. 需求明确:明确每个需求的具体含义,确保需求描述准确清晰;d. 需求规格说明:将明确的需求进行形式化的规格说明,以便后续的设计和开发工作。

3. 论述题软件开发中的版本控制是一项重要的技术,它可以有效地管理和追踪软件代码的变化,并协同开发者之间的合作。

请简要讨论软件版本控制的几种常见方式及其优缺点。

答案:常见的软件版本控制方式包括本地版本控制、集中式版本控制和分布式版本控制。

每种方式都有其优缺点:a. 本地版本控制:通过在本地维护一份完整的代码仓库,实现对代码的版本控制。

软件工程复习题(带答案)

软件工程复习题(带答案)

软件工程复习题(带答案)软件工程复习题一、单选题1、软件开发的结构化设计(SD)方法,全面指导模块划分的最重要原则应该是( c )A模块高内聚 B模块低耦合 C模块独立性 D程序模块化2、软件工程方法的提出起源于软件危机,而其目的应该是最终解决软件的什么问题?( D )A产生危机 B质量保证 C开发效率 D生产工程化3、软件工程开发的可行性研究是决定软件项目是否继续开发的关键,而可行性研究的结论主要相关于( A )A软件系统目标 B软件的性能C软件的功能 D软件的质量4、软件需求分析一般应确定的是用户对软件的( D )A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求5、软件测试是满足软件的功能和性能要求,保证软件正确性的措施,一般软件测试计划的制订应始于软件开发的哪个阶段? ( D )A.需求分析B.软件设计C.程序编码D.软件计划6、软件工程方法是在实践中不断发展的方法,而早期的软件工程方法主要是指( B )A.原型化方法B.结构化方法C.面向对象方法.D.功能分解法7、数据流图描述数据在软件中流动和被处理变换的过程,它是以图示的方法来表示,即.( A )A.软件模型B.软件功能C.软件结构D.软件加工8、软件工程学涉及到软件开发技术和工程管理两方面的内容,下述内容中哪一个不属于开发技术的范畴?(D)A.软件开发方法B.软件开发工具C.软件工程环境D.软件工程经济9、软件文档是软件工程实施中的重要成份,它不仅是软件开发的各阶段的重要依据,而且也影响软件的()A.可理解性B.可维护性C.可扩展性D.可靠性10、从( )语言开始,软件摆脱了对硬件的依赖。

A.第一代B.第二代C.第三代D.第四代11、在下面列出的基本成分中,哪个不是实体关系图的基本成分? ( )A.实体B.数据存储C.关系 D属性13、结构化程序设计主要强调程序的(C)A.效率B.速度C.可读性D.大小14、在软件工程中根据程序的功能说明,而不关心程序内部逻辑的测试方法为( A )A.黑盒法B.白盒法C.灰盒法D.综合法15、软件开发的结构化分析方法,常用的描述软件功能需求的工具有( C )A业务流程图,数据字典 B.软件流程图,模块说明C.数据流图,数据字典D.系统流程图,程序编码16、结构化程序设计思想的核心是要求程序只由顺序、循环和( A )三种结构组成。

软件工程期末考试复习题

软件工程期末考试复习题

软件工程期末考试复习题 Revised by BETTY on December 25,2020《软件工程》选择题一、选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内,每小题1分)软件工程1.软件产品的开发主要是(D )。

A.复制B.再生产C.拷贝D.研制2.作坊式小团体合作生产方式的时代是(C )时代。

A.程序设计B.软件生产自动化C.程序系统D.软件工程3.软件工程与计算机科学性质不同,软件工程着重于(C )。

A.理论研究B.原理探讨C.建造软件系统D.原理的理论4.与计算机科学的理论研究不同,软件工程是一门(C )学科。

A.理论性B.原理性C.工程性D.心理性5.软件工程的出现主要是由于(C )。

A.程序设计方法学的影响B.其它工程科学的影响C. 软件危机的出现?D.计算机的发展6.在项目中,不随参与人数的增加而使软件的生产率增加的主要问题是(D )A、工作阶段间的等待时间B、生产原型的复杂性C、参与人员所需的工作站数D、参与人员之间的通信困难7.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C )A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质8、下列不属于软件工程方法学三要素的是( D ):A、方法B、工具C、过程D、操作周期1.将每个模块的控制结构转换成计算机可接受的程序代码是(A )阶段的任务。

A.编码B.需求分析C.详细设计D.测试2.可行性研究的目的是决定(B )。

A.开发项目B.项目值得开发否C.规划项目D.维护项目3.据国家标准GB8566-8计算机软件开发的规定,软件的开发和维护划分为八个阶段,其中组装测试的计划是在(C )阶段完成的A.可行性研究和计划B.需求分析C.概要设计D.详细设计4、初步用户手册在(B )阶段编写。

A.可行性研究B.需求分析C.软件概要设计D.软件详细设计5. 在软件的可行性研究中,可以从不同的角度对软件的可行性进行研究,其中是从软件的功能可行性角度考虑的是(B )A、经济可行性B、技术可行性C、操作可行性D、法律可行性6. 瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。

软件工程自考试题及答案-2015年10月

软件工程自考试题及答案-2015年10月

2015年10月高等教育自学考试全国统一命题考试第一部分选择题一、单项选择题(本大题共15小题,每小题2分,共30分)1.软件生产率、软件质量满足不了社会发展的需求,并成为其发展的制约因素,这现象被称为AA.软件危机B.软件工程C.软件矛盾D.软件制约2.能表达软件产品/系统的概念模型是BA.程序规约B.需求规约C.设计规约D.测试规约3.需求人员把自己作为系统的最终用户,审视该系统并提出问题的初始发现需求技术是A A.自悟B.自创C.自发D.自审4.在结构化分析方法中,数据的变换单元称为DA.变迁B.交换C.解析D.加工5.若一个模块A通过接口向两个模块B和C传递一个公共参数,那么模块B和c之间的关系称为CA.数据耦合B.控制耦合C.标记耦合D.公共耦合6.往往能粗略地标志一个系统的规模和复杂程度,指的是模块的BA.宽度B.深度C.扇入D.扇出7.若一个学生可以在一所或者多所学校注册学习,那么这种关联关系称为DA.依赖B.泛化C.组合D.聚合8.如果两个类具有泛化关系,正确的是AA.子类可继承父类的属性和操作B.子类不能替换父类的声明C.不能在其他类目之间创建泛化D.子类一个操作的实现不能覆盖父类一个操作的实现9.下列选项,属于RUP突出特点的是AA.用况驱动B.数据驱动C.事件驱动D.过程驱动10.关于软件测试,下列说法错误的是CA.测试从一个侧面证明程序员的“失败”B.测试有预知的结果C.测试是一个推理过程D.测试是有计划的,并要进行测试设计11.假设大学生年龄的输入范围为16—40,则根据黑盒测试中的等价类划分技术,下列划分正确的是BA.可划分为2个有效等价类,2个无效等价类B.可划分为1个有效等价类,2个无效等价类C.可划分为2个有效等价类,1个无效等价类D.可划分为1个有效等价类,1个无效等价类12.在单元测试期间,通常首先考虑模块的AA.接口B.定义C.表达D.原型13.软件基本过程指那些与软件生产直接相关的活动集,可分为获取过程、供应过程、开发过程、运行过程和DA.验证过程B.调试过程C.测试过程D.维护过程14.在常见的软件开发模型中,适用于需求明确或很少变更的项目的模型是AA.瀑布模型B.演化模型C.螺旋模型D.喷泉模型15.CMMI能力等级中的Ⅰ级是CA.未完成级B.已管理级C.已执行级D.已定义级第二部分非选择题二、填空题(本大题共20空,每空1分,共20分)16.从事软件开发实践和软件工程项目管理的思想基础是正确认识软件开发。

软件工程期末考试题[含答案解析]

软件工程期末考试题[含答案解析]

软件工程期末考试题[含答案解析]一、选择题1.瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。

八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和_。

( C ),A .详细计划B .可行性分析C .运行阶段 D.测试与排错2.在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试年勺系统测试阶段的目标( A )A .需求分析阶段B .详细设计阶段 C.概要设计阶段 D .可行性研究阶段,3.软件工程的出现主要是由于(C ) ,A.程序设计方法学的影响B.其它工程科学的影响C.软件危机的出现D.计算机的发展,4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实旅的主要保证是(C)A.硬件环境B.软件开发的环境C.软件开发工具和软件开发的环境D.开发人员的素质5.软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为(B)A.相互排斥B相互补充C独立使用 D.交替使用6.UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C)A.基于瀑布模型的结构化方法B.基于需求动态定义的原型化方法C.基于对象的面向对象的方法 D.基于数据的数据流开发方法7.在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B)A.结构化方法B原型化方法C面向对象的方法 D.控制流方法8.结构化分析方法是一个预先严格定义需求的方法,它在实施时强调的是分析对象的(B)A.控制流 B.数据流 C.程序流 D.指令流9.软件开发的结构化生命周期方法将软件生命周期划分成(A)A.计划阶段.开发阶段.运行阶段B.计划阶段.编程阶段.测试阶段C.总体设计.详细设计.编程调试 D.需求分析.功能定义.系统设计10.软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(C)A.分析阶段 B.设计阶段 C.编码阶段 D.测试阶段11.适合于面向对象方法学的软件生存周期模型是(B)A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型12.从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大的是(C)A.详细设计阶段B.概要设计阶段C.需求分析阶段D.测试和运行阶段13.从实用角度看,数据规范化在大多数场合选用第____范式。

软件工程期末试题及答案

软件工程期末试题及答案

软件工程期末试题及答案(这是一份软件工程期末试题及答案的示例,不包含具体的问题和答案。

请根据需要自行编写试题和答案内容。

)简介:本文为软件工程期末试题及答案,旨在帮助学生对软件工程的知识点进行复习和巩固。

试题包含了软件工程的基础概念、方法和技术,答案部分提供了详细的解释和分析,以便学生理解并掌握相关知识。

一、选择题1. 下列哪个不是软件工程的基本原则?A. 可维护性B. 可测试性C. 可扩展性D. 可折叠性答案解析:考察软件工程的基本原则,解释了可维护性、可测试性和可扩展性的概念,并指出了可折叠性不属于软件工程的基本原则。

二、填空题2. 软件需求是用户对软件系统所提出的________________。

答案解析:考察软件需求的定义,填空部分需要填写“功能要求”、“性能要求”、“界面要求”或其他与软件系统相关的要求。

三、判断题3. 软件工程只涉及软件开发的过程,与软件维护无关。

正确/错误答案解析:考察软件工程的范畴,判断句需要填写“正确”或“错误”,并提供对答案的解释,解释软件工程包含软件开发和维护过程。

四、简答题4. 请述说软件测试的重要性及其作用。

答案解析:考察对软件测试的理解,答题部分需要详细阐述软件测试的重要性和作用,比如保证软件质量、发现和修复缺陷等。

五、论述题5. 软件开发生命周期模型有哪些?请比较它们之间的优缺点。

答案解析:考察对软件开发生命周期模型的了解,答题部分需要列举各种常见的软件开发生命周期模型(如瀑布模型、敏捷模型等),并对它们的优缺点进行比较。

总结:本文为软件工程期末试题及答案,内容涵盖了选择题、填空题、判断题、简答题和论述题,旨在帮助学生全面复习和巩固软件工程的知识点。

通过本文的学习,希望读者能够对软件工程有更深入的理解,并在期末考试中取得好成绩。

(本文内容为示例,请根据实际需要编写试题和答案,以及相应的解析和解释。

)。

《软件工程》期末考试复习题及参考答案

《软件工程》期末考试复习题及参考答案

软件工程复习题(课程代码252258)一、填空题(本大题共60小题)1.数据项是指__不可再分解的___数据单元。

2.软件概要设计的主要任务就是___软件结构的设计___。

3.软件维护的内容包括校正性维持,适应性维护、____完善性维护_____和预防性维护。

4.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和___数据存储对象___。

5.规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有容错功能的软件。

6.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。

7.为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。

8.软件结构是以模块为基础而组成的一种控制层次结构。

9.在结构化分析中,用于描述加工逻辑的主要工具有结构化语言、判定表和判定表三种。

10.软件工程是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。

11.PDL是一种介于___自然语言___和形式化语言之间的半形式化语言。

12.从软件的功能角度划分,协助用户开发软件的工具性软件称为_支撑__软件13.消除软件结构中高扇入扇出的做法是______增加中间层次的控制模块_____。

14.如果一个软件系统的全部实际加工都由原子模块来完成,而其他所有非原子模块仅仅执行控制或协调功能,这样的系统就是____完全因子分解_____的系统。

15.软件的可移植性是指当把软件移植到不同的运行环境时,不需改变其__规格___就能照原样工作的特性。

16.为满足用户对软件提出的新的要求而对软件进行扩充、改进的维护称为____完善性__维护。

17.将整个软件划分成若干单独命名和可编址的部分,称之为___模块___。

18.软件需求的____物理视图_____给出处理功能和数据结构的实际表示形式。

19.在面向对象的开发技术中,__类___是一组具有相同数据结构和相同操作的对象的集合。

软件工程期末复习题(含答案)

软件工程期末复习题(含答案)

软件工程必备期末复习题选择题1.软件设计中划分模块的一个准则是(C)。

A低内聚低耦合B低内聚高耦合C高内聚低耦合D.高内聚高耦合2.(A)是用户和设计交换最频繁的方法。

A、原型化方法B、瀑布模型法C、螺旋模型方法D、构件组装模型3.试判断下列叙述中,哪个些是正确的(C)。

a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C)A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质5.20世纪50年代以来,出现了许多不同的程序设计语言,下列语言中哪个语言是低级语言(D)A、PASCALB、VISUALBASICC、C++D、汇编语言6.软件测试的目的是?(D)A.软件的正确性B.找出软件系统中存在的所有错误C.证明软件系统中存在错误D.尽可能多的发现软件系统中的错误7.使用白盒测试方法时,确定测试数据应根据(A)和指定的覆盖标准。

A、程序的内部逻辑B、程序的复杂程度C、该软件的编辑人员D、程序的功能8.软件维护工作的最主要部分是(C)。

A、纠正性维护B、适应性维护C、完善性维护D、预防性维护9.PDL是(B)语言。

A.高级程序设计语言B、伪码式C、中级程序设计语言D、低级程序设计语言10.软件的结构化设计(SD)方法中,一般分为概要设计和详细设计两阶段,其中详细设计主要是要建立(C)。

A、软件结构B、软件过程C、软件模型D、软件模块11.在数据流图中,○(椭圆)代表(B)A、数据流B、转换C、数据源D、外部实体12.总体设计目的是确定整个系统的(D)。

A、规模B、测试方案C、费用D、功能及模块结构13.检查软件产品是否符合需求定义的过程称为(A)。

A、确认测试B、集成测试C、验收测试D、验证测试14、在七种偶合中,最低偶合是(C)。

2015软考试题及答案

2015软考试题及答案

2015软考试题及答案一、单选题1. 软件工程的核心是________。

A. 需求分析B. 设计C. 编码D. 测试答案:A2. 在软件开发过程中,需求变更最频繁的阶段是________。

A. 需求分析B. 系统设计C. 编码实现D. 系统测试答案:A3. 下列哪个不是软件测试的目的?A. 发现错误B. 验证软件是否符合需求C. 评估软件质量D. 编写代码答案:D二、多选题1. 软件项目管理包括以下哪些方面?A. 项目范围管理B. 项目时间管理C. 项目成本管理D. 项目质量管理答案:A, B, C, D2. 软件维护包括以下哪些类型?A. 纠错性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:A, B, C, D三、判断题1. 软件危机是指软件项目无法按时完成。

()答案:错误2. 面向对象的分析和设计方法可以提高软件的可重用性和可维护性。

()答案:正确四、简答题1. 简述软件测试的目的。

答案:软件测试的目的是确保软件产品的质量,通过发现和修复错误来验证软件是否符合需求规格,评估软件的质量,并提供信息以支持软件的维护和改进。

2. 什么是软件工程的生命周期?答案:软件工程的生命周期是指软件开发过程中的一系列阶段,通常包括需求分析、设计、实现、测试、部署和维护等阶段。

五、案例分析题1. 假设你是一个软件项目经理,你的团队正在开发一个复杂的企业级应用程序。

请描述你将如何管理这个项目以确保按时交付高质量的软件产品。

答案:作为项目经理,首先需要明确项目目标和范围,制定详细的项目计划,包括时间表、资源分配和预算。

其次,要采用迭代和增量的开发方法,确保需求的持续追踪和变更管理。

同时,要实施风险管理,识别潜在风险并制定应对策略。

此外,要确保团队成员之间的有效沟通和协作,以及与利益相关者的定期更新和反馈。

最后,要进行严格的质量控制和测试,确保软件产品满足用户需求和质量标准。

六、编程题1. 编写一个函数,实现对给定整数列表进行排序的功能。

软件工程期末复习题

软件工程期末复习题

软件工程期末复习题一、单选题(本大题共10小题,每小题2分,共20分)1.软件是一种( C ) A.物质产品 B.物理产品 C.逻辑产品 D.文档产品2.下列4个选项中,不属于软件危机表现的是( D ) A.开发的软件可靠性差 B.经费预算不断突破,完成时间一再拖延 C.开发的软件可维护性差 D.开发的软件规模庞大,结构复杂3.下列4个选项中,不属于软件危机原因的是:软件( D ) A.规模越来越大 B.结构越来越复杂 C.开发技术落后 D.用户素质不高4.软件产品的生产主要是( D ) A.生产 B.再生产 C.开发 D.研制5.软件工程是一门( C ) A.理论性学科 B.原理性学科 C.工程性学科D.心理性学科6.软件重用的单位是( A ) A.软件模块 B.性能 C.系统 D.功能7.软件工程着重于( C ) A.理论研究 B.原理探讨 C.建造软件系统 D.原理的理论8.软件工程中的“软件”是指( D ) A.程序 B.数据 C.文档 D.程序、数据及文档9.软件开发费用只占整个软件系统费用的( B ) A.1/2 B.1/3 C.1/4D.2/310.下列4种模型中,属于文档驱动的是(C ) A.喷泉模型 B.增量模型C.瀑布模型D.螺旋模型11.下列4种模型中,较为适合用于面向对象的开发方法的是( A ) A.喷泉模型 B.增量模型品 C.瀑布模型 D.螺旋模型12.下列4中方法中,属于面向数据结构的设计方法的是(C ) A. Booch方法 B. Coad方法 C. Jackson方法 D. SA方法13.下列4中方法中,属于面向数据流的分析方法的是( D ) A. Booch方法 B. Coad方法 C. Jackson方法 D. SA方法14.软件生存周期中时间最长的阶段是( B ) A.需求分析 B.概要设计C.测试D.维护15.一般而言,软件开发各阶段中,时间长、费用高、困难大的阶段是( D ) A.需求分析 B.详细设计 C.编码 D.测试16.解决“软件必须做什么”问题的阶段是( B ) A.可行性研究 B.需求分析 C.详细设计 D.编码17.下列工作中,不在需求分析阶段进行的是( B ) A.编写需求规格说明书 B.编写集成测试计划 C.编写用户手册初稿 D.修改完善软件开发计划18.下列工作中,不在需求分析阶段进行的是( B ) A.确定软件的功能需求 B.建立软件物理模型 C.导出软件逻辑模型 D.编写需求规格说明书19.需求分析的主要结果是( C ) A.项目开发计划 B.可行性分析报告C.需求规格说明书 D.设计说明书20.需求分析要解决的最重要的问题是( A ) A.要让软件做什么 B.要给软件提供哪些信息C.要求软件工作效率怎样D.要让该软件具有何种结构21.需求规格说明书的内容不应包括软件的( B ) A.主要功能与性能B.算法详细过程 C.用户界面 D.运行环境22.系统流程图用于描述待开发软件的(B ) A.结构系统 B.物理系统C.程序系统D.逻辑系统23.数据流图用于描述待开发软件的( B ) A.物理模型 B.逻辑模型 C.控制结构 D.数据结构24.DFD中的每个加工至少有( A ) A.一个输入流和一个输出流B.一个输入流或一个输出流 C.一个输入流 D.一个输出流25.分层DFD的顶层图描述了系统的( B ) A.细节 B.输入与输出 C.作者 D.绘制时间26.在DFD中,下列数据流中可以不命名的是( A ) A.处理与处理之间的数据流 B.处理与局部数据存储之间的数据流C.处理与数据源点之间的数据流D.处理与数据终点之间的数据流27.DFD中一般不画( A ) A.控制流 B.数据流 C.局部数据存储 D.外部实体28.在DFD中,箭头表示( A ) A.数据流 B.数据存储 C.数据处理 D.数据源点29.在DFD中,双杠表示( D ) A.数据处理 B.数据源点 C.数据流 D.数据存储30.父图与子图平衡指子图的输入、输出流同父图相应加工的输入、输出流( A ) A.必须一致 B.数目必须相等 C.名字必须相同 D.数目必须不等31.数据字典中一般不包括( D ) A.数据流条目B.数据存储条目C.加工条目 D.源点与终点条目32.关于DD的4类条目,不可再分解的最小元素是( B ) A.数据流条目 B.数据项条目 C.数据存储条目 D.加工条目33.表示“X由a或b组成”的DD定义式是(B ) A. X=a+b B. X=[a|b] C.X=a…b D. X=|a b|34.软件结构图上,一层中最大模块数称为该图的( C ) A.扇出 B.扇入C.宽度D.深度35.当一幅DFD中既有变换流又有事务流时,这就是一个( C ) A.变换型DFD B.事务型DFD C.综合型DFD D.分层DFD35.软件结构图上,一层中最大模块数称为该图的( C ) A.扇出 B.扇入C.宽度D.深度36.软件开发中结构化设计方法用于( B ) A.测试用例设计 B.概要设计 C.程序设计D.详细设计37.软件结构使用的图形工具,一般采用( C ) A.DFD图B.PAD图C.SC图D.ER图38.软件结构图中,模块框之间若有直线接,表示它们之间存在着(A )A.调用关系B.组成关系 C.连接关系 D.顺序执行关系39.下列工作中,不在概要设计进行的是( D ) A.划分模块B.确定模块功能 C.确定模块的接口 D.确定模块的算法40.为提高模块独立性,模块之间最好是(D ) A.公共耦合 B.控制耦合C.内容耦合D.数据耦合41.为提高模块独立性,模块内部最好是(C ) A.逻辑内聚 B.时间内聚C.功能内聚D.通信内聚42.在软件概要设计中,不使用的图形工具是( D ) A.SC图 B.IPO图C.IDEF图D.PAD图43.概要设计与详细设计衔接的图形工具是( B ) A.数据流图 B.结构图 C.程序流程图 D.PAD图44.软件概要设计结束后得到( B ) A.数据流图 B.结构图 C.程序流程图 D.PAD图45.划分模块时,一个模块的( A ) A.作用范围应在其控制范围内B.控制范围应在其作用范围内C.作用范围与控制范围互不包含D.作用范围与控制范围不受任何限制46.结构化程序设计主要强调程序的( C ) A.效率 B.执行速度 C.易读性 D.规模47.详细设计的任务是确定每个模块的( B ) A.外部特性 B.内部特性C.功能D.输入输出数据48.程序的三种基本控制结构是( B ) A.过程、子程序和分程序 B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移49.程序的三种基本控制结构的共同特点是( D ) A.不能嵌套使用 B.只能用来写简单程序C.已经用硬件实现D.单入口和单出口50.下列工作中不属于详细设计基本任务的是( D ) A.为模块内的数据结构进行设计B.对数据库进行物理设计C.为每个模块进行详细的算法设计D.为模块进行功能设计51.不属于详细描述处理过程常用的工具是( D ) A.图形B.表格C.语言 D.程序52.下列4图中不属于详细设计中描述处理过程的主要工具的是(D )A.PAD图B.IPO图 C.程序流程图 D.程序图53.结构化程序设计主要强调的是( A ) A.程序易读性 B.程序效率 C.程序规模 D.程序代码54.下列4图中支持结构化程序设计原理并可自动生成程序的是( D ) A.程序流程图B.工程网络图C.程序图D. PAD图55.下列结构中不属于Jackson结构图描述的基本结构的是( D ) A.顺序结构 B.选择结构 C.重复结构 D.组装结构56.结构化程序思想提出前程序设计中曾强调程序的效率,现在更重视程序的( D )A.效率B.安全性C.一致性D.可理解性57.源程序文档化要求在每个模块之前加序言性注释。

软件工程自考试题及答案 2015年4月

软件工程自考试题及答案 2015年4月

2015年4月高等教育自学考试全国统一命题考试软件工程试卷一、单项选择题(本大题共l5小题,每小题2分,共30分)1.下列不属于软件模型的是AA.概念模型B.设计模型C.实现模型D.部署模型2.存在的风险与自悟方法一样的需求发现技术是CA.小组会B.交谈C.提炼D.观察3.销售系统应能兼顾国际税法和国内税法的描述属于软件需求的CA.功能需求B.性能需求C.设计约束D.外部接口需求4.在结构化方法中,可作为总体设计工具的是DA.盒图B.数据流图C.程序流程图D.模块结构图5.题5图为一个飞机票预定系统的数据流图,图中2表示的基本术语是AA.数据流B.加工C.数据存储D.数据源和数据潭6.通过保证每个模块只完成一个特定的功能,这样可以大大减少模块间的B A.内容耦合B.控制耦合C.公共耦合D.数据耦合7.分别对具有下列内聚类型的模型进行修改,发生错误概率最高的是BA.过程内聚B.偶然内聚C.功能内聚D.通信内聚8.在题8图中,模块G的扇入和扇出分别是DA.1和3 B.2和3 C.1和4 D.2和49.UML提供用来支持系统交互建模的图形化工具是DA.类图B.用况图C.状态图D.顺序图10.下列选项中,不属于RUP分析类的是AA.接口类B.边界类C.实体类D.控制类11.按覆盖完成程度进行比较,测试覆盖率最低的是BA.路径覆盖B.语句覆盖C.分支覆盖D.条件组合覆盖12.X为某一段子程序的输入,其范围是-l00≤X≤100,若存在一组测试数据:-l00,-101,100,101,则用于设计这组测试用例的方法是CA.条件覆盖B.因果图C.边界值分析D.等价类划分13.同螺旋模型相比,演化模型主要缺少BA.制定计划B.风险分析C.实施工程D.客户评估14.在软件生存周期模型中,不适应变化需求的软件开发模型是DA.演化模型B.螺旋模型C.增量模型D.瀑布模型15.CMMI能力等级中,最低等级为CA.已执行级B.已定量管理级C.未完成级D.已管理级第二部分非选择题二、填空题(本大题共l0小题,每小题2分。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北方工业大学《软件工程》课程期末复习题(答案)A 卷2014年春季学期开课学院:信息工程学院考试方式:闭卷考试时间:120 分钟班级 姓名 学号 一.简要回答下列各问题(共40分,每个小题5分) (1) 阐述软件工程的定义。

答:● 是指导计算机软件开发和维护的一门工程学科; ● 采用工程的概念、原理、技术和方法来开发和维护软件; ● 把证明正确的管理技术和最好技术综合运用到软件开发中;● 研究经济地开发出高质量的软件方法和技术; ● 研究有效维护软件的方法和技术。

(2) 简述软件危机的原因。

答:● 缺乏软件开发的经验和有关软件开发数据的积累,使得开发计划很难制定。

● 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误 。

● 软件开发过程不规范。

如,没有真正了解用户的需求就开始编程序。

● 随着软件规模的增大,其复杂性往往会呈指数级升高。

需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。

● 缺少有效的软件评测手段,提交用户的软件质量不能完全保证。

订线装(3) 画出软件生存周期的瀑布模型的示意图,并简单评述其优缺点。

(4) 画出软件生存周期的增量模型的示意图,并简述其优点。

优点:●可强迫开发人员采用规范化的方法。

●严格地规定了每个阶段必须提交的文档。

●要求每个阶段交出的所有产品都必须是经过验证的。

缺点●由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。

如果需求规格说明与用户需求之间有差异,就会发生这种情况。

●瀑布模型只适用于项目开始时需求已确定的情况。

1-2 瀑布模型示意图●能在较短时间内向用户提交可完成一些有用的工作产品,即从第1个构件交付之日起,用户就能做一些有用的工作。

●逐步增加产品的功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给用户组织带来的冲击。

●项目失败的风险较低,虽然在某些增量构件中可能遇到一些问题,但其他增量构件将能够成功地交付给客户。

●优先级最高的服务首先交付,然后再将其他增量构件逐次集成进来。

因此,最重要的系统服务将接受最多的测试。

(5) 画出D.Ross 提出的软件工程结构化分析方法的框架示意图,并解释数据字典和数据流的含义。

答:(6) 举例说明变换型和事务型流图的特点。

答:变换型流图由输入、中心变换和输出3部分组成,而且逐层展开。

如:事务型流图通常接受一项事务,根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。

(7) 给出下面变换型数据流图对应的模块结构图。

答:(8) 给出下面交易型数据流图对应的模块结构图。

答:(9) 举例说明模块结构图优化方法中的不同模块相似部分调整的原则。

答:● 完全相似的模块可以归并;● 两个模块部分相似的代码可以通过建立公共新模块,并设立对公共模块调用进行调整。

例如:(10) 举例说明模块结构图优化方法中作用域与控制域调整的原则。

答:作用域是指判断语句所在模块和他判断调用的下属模块,而控制域是指他本身以及他的下属模块;一般要求作用域在控制域内。

例如:(11) 试将下面的代码段进行局部调整,使其更容易理解。

1)要进行适当的缩排;2)增加必要的注释;3)增加必要的语句,以免产生错误;For(i=1;i<=n-1,i++){t=i;for(j=i+1,j<=n,j++)if(a[j]<a[t])t=j;if(t!=i){tm=a[t];a[t]=a[i];a[i]=tm}} 答:int i=0;/*实现***功能int t=0;int tm=0;For(i=1;i<=n-1,i++) /*实现***功能{t=i;for(j=i+1,j<=n,j++) /*实现***功能if(a[j]<a[t])t=j;if(t!=i){tm=a[t]; /*实现***功能a[t]=a[i];a[i]=tm}}(12)试按照规范编写一个求3个数中最小值的程序。

程序规范如下:1)禁止使用GOTO语句;2)使用缩排编写程序;3)变量命名明晰答:main() // a c code about finding out the small one in tree input number{int num1,num2,num3,min;printf("Please input three numbers:");scanf("%d,%d,%d",&num1,&num2,&num3);if (num1<num2)MIN=num1;elseMIN=num2;if (num3<MIN)MIN=num3;printf("The small one is:%d",small);(13)举例说明软件测试的不完备性。

答:就目前的软件测试方法而言,还无法做到对代码的完全覆盖测试,所以说软件测试是不完备的。

例如,下面的代码是无法完全测试的。

(14)试解释单元测试中“驱动模块”、“桩模块”与“被测模块”含义以及它们之间的关系。

答:● 驱动模块相当于被测模块的主程序,它接收测试数据,并把这些数据传送给被测模块,最后再输出实测结果。

● 桩模块也叫做存根模块,用以代替被测模块调用的子模块。

● 被测模块是单元测试要测试的模块,他与驱动模块和桩模块有被调用和调用的关系。

(15)简述软件改正性、适应性维护的含义。

答:改正性是为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应进行的诊断和改正错误的过程。

适应性维护是指,随着信息技术的飞速发展,软件运行的外部环境(新的硬、软件配置)或数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化,为了使软件适应这种变化,而修改软件的过程叫做适应性维护包含的不同执行路径数达520条,对每一条路径进行测试需要1毫秒,假定一年工作365 × 24小时,要想把所有路径测试完,需3170年。

(16)举例说明影响维护工作量的因素。

答:(1)系统规模:系统规模大,维护困难;(2)程序设计语言:开发语言复杂,维护也困难;(3)系统年龄大小:时间久远的系统,维护困难;(4)数据库技术的应用水平:数据应用水平低,维护工作量大。

(5)所采用的软件开发技术及软件开发工程化的程度:工程化程度高,维护相对容易。

例如:商业企业进销存管理软件。

由于商品品种多,经营手段灵活,所以对数据库技术应用的水平要求比较高;一般大型商业企业,如沃尔玛是全球连锁,所以系统规模巨大,维护困难;商业企业管理软件一般要处理的内容多样,目前还没有一种语言可以完成整个系统的开发任务,所以选择功能相对强大的语言会减少开发困难。

二、已知程序框图如图2-1所示,试分别给出(a)语句覆盖,(b)条件覆盖,(c)判断覆盖,(d)条件组合覆盖,(e)判断/条件的最小测试用例和路径。

(每小题5分,共25分)答:(a)语句覆盖测试用例[(3,3,6),(3,3,4)](b)条件覆盖路径:ace测试用例:[(3,3,6),(3,3,4)]路径:abd测试用例:[(1,0,1),(1,0,1)](c)判断覆盖路径:ace测试用例:[(3,3,6),(3,3,4)]路径:abd测试用例:[(1,0,1),(1,0,1)](d)条件组合覆盖路径:ace测试用例:[(3,3,6),(3,3,4)]路径:abd测试用例:[(1,0,1),(1,0,1)]路径:abe测试用例:[(3,0,6),(3,0,7)]路径:abe测试用例:[(1,3,1),(1,3,2)](e)判断/条件覆盖路径:ace测试用例:[(3,3,6),(3,3,4)]路径:abd测试用例:[(1,0,1),(1,0,1)]三、现有一个PASCAL语言的编译器。

试采用黑盒测试法测试该编译器对语法规定:“标识符是由字母开头、后跟字母或数字的任意组合构成;有效字符数为8个,最大字符数为80个;标识符必须先说明,再使用;在同一说明语句中,标识符至少必须有一个。

”的一致性。

(每一个分类5分,共25分)答:等价类划分如下:测试用例:下面选取了8个测试用例,它们覆盖了所有的等价类。

① V AR x,T1234567:REAL;}(1)(2)(4)(7)(8)(11)(13)BEGIN x:=3.414;T1234567:=2.732;……② V AR :REAL;}(3)③ V AR x,:REAL;}(5)④ V AR T12345……:REAL;}(6)多于80个字符⑤ V AR T $:CHAR;}(9)⑥ V AR GOTO:INTEGER;}(10)⑦ V AR 2T:REAL;}(12)⑧ V AR PAR:REAL;}(14)BEGIN……PAP:=SIN(3.14*0.8)/6;四、已知程序伪代码如图4-1所示,试完成下列工作:1) 试用算法4.1给出对应的流图; 2) 计算流图的复杂性V(G);3) 求基本路径构成的基本集合(num 1,num 2,num 3各取一次最小值); 4) 给出每条路径执行的期望结果; 5) 给出每一条路径的测试用例。

(每小题3分,共15分)答:环形复杂性:3 基本路径集:12357 12457 12367 期望结果:12357的结果:num1是最小值 12457的结果:num2是最小值 12367的结果:num3是最小值测试用例:Num1=3;num2=4;num3=5 Num1=4;num2=3;num3=5 Num1=4;num2=5;num3=3main() // a c code about finding out the small one in tree input number {int num1,num2,num3,Min;printf("Please input three numbers:");(1)scanf("%d,%d,%d",&num1,&num2,&num3); (2)if (num1<num2) (3)MIN=num1; else(4)MIN=num2; (5)if (num3<MIN) (6)MIN=num3;(7)printf("The small one is:%d,Min); 图4-1 一个计算三个数中最小值的程序五、已知程序伪代码如图5-1所示,试完成下列工作:1)试用算法5.1给出对应的流图;2)计算流图的复杂性V(G);3)求基本路径构成的基本集合(num1,num2,num3各取一次最小值);4)给出每条路径执行的期望结果;5)给出每一条路径的测试用例。

相关文档
最新文档