软件需求分析复习题
软件工程复习题
软件⼯程复习题需求分析习题1.需求分析的最终结果是( D )A.项⽬开发计划B.需求规格说明书C.设计说明书D.可⾏性分析报告2.数据流图(DFD)是(D)⽅法中⽤于表⽰系统的逻辑模型的⼀种图形⼯具。
A.SA结构化分析⽅法B.S D结构化设计⽅法C.S P 结构化程序设计⽅法D.SC3.需求规格说明书的作⽤不包括(C)A.软件验收的依据B.⽤户与开发⼈员对软件要做什么的共同理解C.软件可⾏性研究的依据D.软件设计的依据4.数据词典是⽤来定义(D)中的各个成分的具体含义的。
A.流程图B.功能结构图C.结构图D.数据流图5.结构化分析⽅法(SA)是⼀种⾯向(B)的分析⽅法。
A.数据结构B.数据流C.结构化数据系统D.数据流图6.在数据词典中,⼀下那⼀项表⽰允许重复0⾄任意次(C)。
A.{}B.0{}C.0{}nD.{}n7.⼀下数据流图符号中哪⼀个表⽰加⼯(B)A.□8.原型化⽅法是⼀种动态定义需求的⽅法,(D)不是原型化⽅法具有的特征。
A.简化项⽬管理B.尽快建⽴初步需求C.加强⽤户参与和决策D.提供严格定义的⽂档9.结构化分析的核⼼是(D)A.⾃顶⽽下地分解B.⽤DFD建模C.⽤DD描述数据需求D.⾃底⽽上地抽象10.需求分析的任务是(A)A.正确说明让软件“做什么”B.⽤DFD建模C.⽤DD建⽴数学模型D.给出需求规格说明书11.对于分层的DFD,⽗图与⼦图的平衡是指(B)A.⽗图于⼦图的输⼊输出数据流必须相同B.⼦图必须继承⽗图的输⼊与输出流C.⽗图与⼦图相应的输⼊输出数据流名字保持⼀致D.⼦图可以有⾃⼰的输⼊输出数据流12.DFD的每个加⼯都必须有(A)A.⼀个输⼊和输出流B.⼀个输⼊数据流C.⼀个输出数据流D.⼀个输⼊或输出流13.需求分析是分析员经了解⽤户的要求,认真细致的调研、分析,最终建⽴⽬标系统的逻辑模型并写出(B)的过程。
A.模块说明书B.软件规格说明书C.项⽬开发说明书D.合同⽂档14.结构化分析⽅法是以数据流图、(D)和加⼯说明的描述⼯具,即⽤直观的图和简洁的语⾔来描述软件系统模型。
软件工程复习题
软件工程习题课一.名词解释01.软件危机02.需求分析03.软件工程:04.黑盒测试法05.软件维护06.软件生存周期07.瀑布模型08.可行性研究09.数据流图10.数据字典11.软件体系结构12.冗余程序设计13.软件测试14.项目计划二.问答题1.计算机软件定义及特点?2.软件危机的表现?3.软件生存周期一般可分几个阶段,每个阶段的工作内容是什么?4.瀑布模型的特点是什么?5.可行性研究的内容?6.可行性研究应从那些方面进行研究,每一方面包含的内容是什么?7.需求获取的主要内容有哪几个方面?8. 需求获取的方法有哪些?9. 需求分析的目标是什么?10.需求分析做完以后得到的主要文档是什么?11. 需求分析存在的困难?12. 需求分析的原则?13. 需求分析的方法?14. 数据流图的特性?15. 数据流图基本符号及含义?16. 数据流图的用途?17. 数据流图画法(参考课堂实例)?18. 数据字典的作用?19. 数据字典中”= + [ ] {}()”的含义?20.概念性数据模型的含义及特点,最常用的表示概念性数据模型的方法?21. ER模型的基本成分及描述元素是什么22概要设计任务?23. 系统设计的原则?24. 软件体系结构的常见形式及特点?25. 评价模块设计优劣的三个特征因素及其含义?26. 界面的风格的含义?27. 系统结构图是SD(结构化设计)方法在概要设计中使用的主要表达工具,SD方法约定系统结构模块的表示符号是什么,各个模块之间调用的方法有哪些?28. DFD图如何映射到功能模块图?29. 需求分析的目标是什么?30.需求分析做完以后得到的主要文档是什么?31. 详细设计的工具及使用方法?32. 详细设计的原则?33. Jackson程序设计方法的特点?34. Jackson图表达基本结构和改进结构的用法?35. Jackson伪代码的含义与用法?36. 设计,编码和程序语言对程序的质量的影响?37. 程序设计语言分类及特点?38. 编码风格主要包含哪些内容?39. 结构化程序设计的目的是什么?40. 软件测试的基本方法?41. 软件测试的步骤?42. 软件维护的分类及含义?43维护的费用和代价计算方法?44. 项目计划的含义?45软件质量的影响因素?三.分析题分析一家公司的营销系统。
软件开发与设计实例分析复习题(1004)
软件开发与设计实例分析复习题(1004)一、基本要求1、软件项目开发概述(1)软件工程的三段论:软件开发过程、软件项目管理、软件过程改进(2)需求分析建模的基本方法:结构化方法、面向对象方法(3)概要设计原则和设计模型(4)软件体系结构:客户机/服务器结构(C/S)、浏览器/服务器结构(B/S)、应用程序框架结构(MVC)、组件体系结构(5)编码方法和规范:结构化编码方法、面向对象编码方法、编码标准和规范(6)测试方法和过程(7)软件项目的提交和维护(8)软件文档规范(9)软件开发环境与工具2、基于结构化方法的C/S架构软件项目实例(1)项目立项:立项背景、可行性分析、开发计划(2)需求分析:需求调研、数据分析、功能定义、需求分析文档(3)概要设计:开发环境、架构设计、数据设计、界面设计、模块设计、概要设计文档(4)详细设计:接口定义、数据结构定义、算法设计、详细设计文档(5)编码实现:编程实现、编码文档(6)系统测试:测试方案、测试过程、测试评估3、基于面向对象方法的C/S架构软件项目实例(1)项目立项:立项背景、可行性分析、开发计划(2)需求分析:需求调研、数据分析、功能定义、需求分析文档(3)概要设计:开发环境、架构设计、数据设计、界面设计、模块设计、概要设计文档(4)详细设计:接口/类定义、数据结构定义、算法设计、详细设计文档(5)编码实现:编程实现、编码文档(6)系统测试:测试方案、测试过程、测试评估4、基于B/S架构的网站开发软件项目实例(1)项目立项:立项背景、可行性分析、开发计划(2)需求分析:需求调研、数据分析、功能定义、需求分析文档(3)概要设计:开发环境、架构设计、数据设计、界面设计、模块设计、概要设计文档(4)详细设计:接口/类定义、数据结构定义、算法设计、详细设计文档(5)编码实现:编程实现、编码文档(6)系统测试:测试方案、测试过程、测试评估二、基本概念1、软件工程的三段论是指软件项目管理、软件项目开发和软件过程改进。
软件工程复习题及参考答案3(EF)
《软件工程》课程复习资料一、填空题:1.基于计算机系统总体可靠性与以下三个方面紧密关联:硬件可靠性、软件可靠性和。
2.面向对象的软件过程是以为基础,利用特定的软件工具直接完成从对象客体的描述到软件结构之间的转换。
3.需求分析的任务主要有两个:通过对问题及环境的理解、分析和综合,建立分析模型;在完全弄清用户对软件系统的确切要求的基础上,用把用户的需求表达出来。
4.需求开发又分为可行性研究、需求导出和分析、和需求验证。
5.对象包含两个基本的因素,和方法。
6.数据流图包括以下两种类型:变换型数据流图和。
7.系统设计阶段的输出结果是适应应用软件要求的、类间关系以及子系统的规格说明。
8.软件测试是为了发现而执行程序的过程。
9.软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批,并利用它们去运行程序,以发现程序错误的过程。
10.软件变更可以是修改代码错误的简单变更、更正设计错误的较大范围的变更、对描述错误进行修正或者增加新需求的重大改进。
软件变更可以考虑以下几个策略:、体系结构转换、软件再工程等策略。
11.软件维护性是软件的内在固有属性,它是的重要组成部分。
12.质量评审和自动化的软件评估是质量控制的两种方式。
评审活动主要包括、进展评审和质量评审等几种不同类型。
二、单项选择题:1.关于软件的形式化定义,下列哪种说法不正确? [ ]A.能够完成预定功能和性能的可执行指令B.使得程序能够适当地操作信息的数据结构C.软件成本相当昂贵D.描述程序的操作和使用的文档2.下列哪种说法不是软件危机的表现? [ ]A.对软件开发成本和进度的估算很不准确B.需要有大量的文档C.用户对完成的软件很不满意D.软件开发生产效率低下3.下列哪项不属于软件系统需求? [ ]A.功能需求B.非功能需求C.非领域需求D.领域需求4.面向对象方法的主要优点不包括 [ ]A.稳定性好B.系统可长期使用C.可重用性好D.符合人类习惯的思维方法5.软件重用是提高软件生产率的重要手段,重用性越高,则软件生产率越高,重用性不包括下列哪种类型[ ]A.需求分析重用B.代码重用C.设计结果重用D.分析结果重用6.面向对象中,模块又称构件,下列哪个不是其基本属性? [ ]A.功能B.结构C.状态D.逻辑7.对象的实现描述中不包括以下哪个信息? [ ]A.由一组消息和注释组成的协议描述B.对象名及所属对象类C.私有数据结构的每一数据项及其类型D.每个操作的过程性描述或指向这样一个过程性描述的指针8.Grenford J.Myers就软件测试目的提出的观点不包括以下哪项? [ ]A.测试是程序的执行过程,目的在于发现错误B.证明软件的功能和性能与需求说明相符合C.一个好的测试用例在于能发现至今未发现的错误D.一个成功的测试是发现了至今未发现的错误的测试9.黑盒测试又称为 [ ]A.结构测试B.代码测试C.功能测试D.路径测试10.纠错技术主要是指定位程序错误采用的工具和手段,常用的定位错误方法不包括 [ ]A.插入打印语句B.设置断点C.根据结果推理D.掩蔽部分程序11.为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程,就叫做 [ ]A.完善性维护B.适应性维护C.改正性维护D.预防性维护12.( )和自动化的软件评估是质量控制的两种方式,其中前者是由一组人员对软件、文档编制和软件制作过程进行评审。
软件工程-需求分析-复习答案
)1. 以下哪一项不是软件危机的表现A.开辟的软件可维护性差 B.软件极易被盗版C.经费预算时常被突破 D.开辟的软件不能满足用户需求2.下面不属于软件工程的三个要素是) 。
A 过程B 环境C 方法D 工具)。
3. 需求分析阶段的任务是确定A 软件开辟方法B 软件开辟工具C 软件开辟费用D 软件开辟功能4. 下列不属于需求分析工具的是)。
A。
数据流图 B.用例图 C。
状态图D。
程序流程图5.关于软件测试的目的,下面观点错误的是) ArrayA.为了发现错误而执行程序的过程B.一个好的测试用例能够发现至今尚未发现的错误C。
证明程序是正确、没有错误的D。
一个成功的测试用例是发现了至今尚未发现的错误的测试6。
软件详细设计阶段的任务是)。
A.算法与数据结构设计B.功能设计C.调用关系设计 D。
输入/输出设计)7. 下列属于静态测试方法的是A.人工检测 B.路径覆盖C.黑盒测试 D.白盒测试)8.汽车是一种交通工具,汽车类和交通工具类之间的关系是ArrayA.组合会萃关系 B。
共享会萃关系C.普通-具体关系 D。
整体-部份关系) .9.结构化程序设计的风格,主要强调的是ArrayA.程序的执行效率B.模块的内聚C.程序的可理解性 D.模块的耦合)。
10.在整个软件维护阶段所花费的全部工作中,所占比例最大的是ArrayA.校正性维护 B.适应性维护C.预防性维护 D.完善性维护11 。
“ 软件工程的概念是为解决软件危机而提出的”这句话的意思是)A。
强调软件工程成功解决了软件危机的问题B。
说明软件危机的存在总是使软件开辟不像传统工程项目那样容易管理C.说明软件工程这门学科的形成是软件发展的需要D。
说明软件工程的概念 ,即:工程的原则、思想、方法可解决当时软件开辟和维护存在的问题12。
在软件工程的需求分析阶段,不属于问题识别内容的是)A。
输入/输出需求 B。
性能需求C.环境需求D.功能需求13. 软件需求规格说明书的作用不包括)A.软件验收的依据B.软件设计的依据C.软件可行性研究的依据D.用户与开辟人员对软件要做什么的共同理解14.一个成功的测试可以)A.表明程序没有错误B.发现了尚未发现的错误C。
软件工程复习题(带答案)
软件工程复习题(带答案)软件工程复习题一、单选题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 )三种结构组成。
软件工程复习题及答案(完整)
一、选择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)系统。
软件工程 简答题复习题(带答案)
软件工程简答题复习题(带答案)软件工程简答题复习题(带答案)1. 什么是软件工程?软件工程是一种系统化、规范化、可量化的方法,用于开发、维护和测试软件系统的过程。
它涵盖了软件开发的各个方面,包括需求分析、设计、编码、测试和维护等。
2. 软件开发生命周期有哪些阶段?常见的软件开发生命周期包括需求分析、系统设计、详细设计、编码、测试、部署和维护等阶段。
3. 什么是需求分析?需求分析是软件开发过程中的第一步,它涉及与客户进行沟通和理解客户需求的过程。
通过需求分析,开发团队可以明确软件系统的功能和性能要求,并将这些要求转化为详细的规格说明。
4. 需求分析的主要目标是什么?需求分析的主要目标是确保开发团队和客户对软件系统的需求达成共识。
它需要明确软件系统的功能需求、性能需求和约束条件,以便后续的设计和开发工作能够按照这些需求进行。
5. 什么是软件设计?软件设计是在需求分析的基础上,根据系统需求和约束条件,将系统划分为模块,确定模块之间的接口和关系,设计出满足系统需求的软件结构和算法的过程。
6. 软件设计的原则有哪些?常见的软件设计原则包括单一职责原则(SRP)、开闭原则(OCP)、里氏替换原则(LSP)、依赖倒置原则(DIP)、接口隔离原则(ISP)和迪米特法则(LoD)等。
7. 什么是软件测试?软件测试是为了评估系统的质量和功能是否满足需求的过程。
它通过设计和执行测试用例,检查系统的输出是否符合预期,并发现潜在的错误和缺陷。
8. 软件测试的分类有哪些?软件测试可以分为单元测试、集成测试、系统测试和验收测试等不同的层次。
单元测试用于测试软件的最小功能单元,集成测试用于测试不同模块之间的交互,系统测试则测试整个系统的功能和性能,验收测试是由客户进行的测试,以确认系统是否达到了合同中规定的要求。
9. 什么是软件维护?软件维护是在软件交付给客户后,为了保证其正常运行和适应环境变化而进行的一系列活动。
维护包括错误修复、性能优化、功能扩展等。
《软件工程》11套考试复习练习题、作业题(含答案)
作业1:1. 软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。
其中,( A )是按事先设计的功能和性能要求执行的指令序列。
( B )是使程序能够正确操纵信息的数据结构。
( C )是与程序开发、维护和使用有关的图文材料。
供选择的答案:A~C. ①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表2. 开发软件时对提高软件开发人员工作效率至关重要的是( A )。
软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。
供选择的答案:A.①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B.①需求分析②需求调查③可行性分析④问题定义C、D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计3. 从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。
有人将软件的发展过程划分为4个阶段:第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。
第二阶段(1950年代末~1960年代末)称为“基本软件期”。
出现了( A ),并逐渐普及。
随着( B )的发展,编译技术也有较大的发展。
第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。
这一时期,与硬件费用下降相反,软件开发费急剧上升。
人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。
第四阶段(1970年代中期~现在)称为“软件工程时期”。
软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、(G )及其整体有关的各种管理技术。
供选择的答案:A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计⑤需求定义⑥图象处理4. 软件工程过程有哪几个基本过程活动?试说明之。
软件需求分析-复习题264743
简答题1.需求分析的目的是什么?难点在哪里?需求分析为什么特别重要?需求分析的目的:需求分析主要用于获取用户的具体需求,通过对实际需求的获取、分析、文档化和验证等需求分析过程,为进一步的设计和实现提供依据:(1) 需求分类。
将软件功能、性能、可靠性等相关需求进行分类、逐一细化。
(2) 面向用户获取并分析需求。
软件研发其他阶段都是面向技术的,只有需求分析阶段是面向用户的,深入调研获取并分析软件的功能、性能、可靠性等,也可从系统和用户需求中推导出软件具体需求,并检查需求定义准确性,是否存在二义性。
(3) 检查和解决不同需求间的矛盾。
尽量达到均衡和优化。
(4) 确定软件的边界,以及软件与环境的相互作用方式等。
如应用及运行边界和环境。
(5) 对需求文档化并进行最后验证与确认。
难点:主要体现在以下5个方面:(1)问题确定难。
主要原因一是应用领域的复杂性及业务变化,难以具体确定;二是用户需求所涉及的多因素引起的,如运行环境和系统功能、性能、可靠性和接口等。
(2)需求动态性。
软件的需求在整个软件生存周期,常会随着时间和业务而有所变化。
有的用户需求经常变化,一些企业可能正处在体制改革与企业重组的变动期和成长期,其企业需求不成熟、不稳定和不规范,致使需求具有动态性。
(3)交流共识难。
需求分析涉及的人事物及相关因素多,与用户、业务专家、需求工程师和项目管理员等进行交流时,不同的背景知识、角色和角度等,使交流共识较难。
(4)完备一致难。
由于不同人员对系统的要求认识不尽相同,所以对问题的表述不够准确,各方面的需求还可能存在着矛盾。
难以消除矛盾,形成完备和一致的定义。
(5)深入完善难。
需求理解对不全面准确的分析,客户环境和业务流程的改变,市场趋势的变化等,也会随着分析、设计和实现而不断深入完善,可能在最后重新修订软件需求。
分析人员应认识到需求变化的必然性,并采取措施减少需求变更对软件的影响。
对必要的变更需求要经过认真评审、跟踪和比较分析后才能实施。
软件工程复习题及参考答案
软件⼯程复习题及参考答案软件⼯程复习题及参考答案⽂稿归稿存档编号:[KKUY-KKIO69-OTM243-OLUI129-G00I-FDQS58-《软件⼯程》课程复习资料⼀、单项选择题:1.下⾯哪些UML图描述系统⾏为?[ ]A.⽤例图B.类图C.对象图2.属于概要设计活动的是[ ]A.软件结构设计B.数据结构设计C.算法设计3.属⾏为型设计模式的是[ ]A.组合模式B.⼯⼚⽅法模式C.观察者模式4.下列说法正确的是[ ]A.UML 是软件开发⽅法B.UML是系统描述语⾔C.UML是软件开发过程5.根据程序流程图划分的模块通常是[ ]A.信息内聚的模块B.过程内聚的模块C.逻辑内聚的模块6.如果某程序中的⽐较个数是m,则其 McCabe环形复杂度为[ ]C.m+17.按ISO9000-3的说明,下列属软件配置项的是[ ]A.软件开发⽅法B.软件开发组织管理制度C.软件开发合同8.软件测试的⽬的是[ ]A.证明软件⽆错B.发现软件中的所有错误C.尽可能发现软件系统中的错误9.软件重构关注的是[ ]A.软件体系结构B.模块细节C.软件性能10.软件项⽬开发计划的内容有[ ]A.数据分析B.风险分析C.功能分析11.在UML的类图中,描述整体与部分关系的是[ ]A.泛化关系B.聚合关系C.依赖关系12.软件过程能⼒成熟度模型CMM⽤以评价[ ]A.软件过程能⼒B.组织能⼒C.学习能⼒13.因计算机硬件和软件环境的变化⽽作出的修改软件的过程称为[ ]C.适应性维护14.对项⽬软件⽽⾔,软件功能需求信息主要由谁提供[ ]A.软件⽤户B.软件开发⼈员C.软件项⽬管理⼈员15.IDEF0 图反映不出[ ]A.系统做什么B.系统功能由谁做C.系统如何做16.原型模型是⼀种什么开发过程模型?[ ]A.⾃顶向上B.由外⾄内C.增量式17.系统流程图描述[ ]A.物理系统B.逻辑系统C.软件体系结构18.需求规格说明书的内容不应该包括[ ]A.软件确认准则B.软件的性能描述C.算法过程的详细描述19.适合需求模糊或需求不确定系统开发的软件开发模型是[ ]A.瀑布模型B.RAD 模型C.原型模型20.UML 图中描述系统结构的是[ ]C.状态图21.⾯向对象⽅法是⼀种什么软件开发⽅法?[ ]A.层次化B.迭代增量式C.逐步求精22.不可以⽤来衡量软件可维护性的是[ ]A.可靠性B.可⽤性C.可⾏性23.系统分析员在需求分析最后负责编写[ ]A.⽤户⼿册B.概要设计说明书C.可⾏性研究报告24.为了提⾼软件的可靠性、可维护性等⽽对软件的修改称为[ ]A.改正性维护B.适应性维护C.预防性维护25.在结构化⽅法中,为使需求改变对软件影响较⼩,应该使软件结构[ ]A.与问题结构对应B.与问题结构独⽴C.与⽤户界⾯对应26.单元测试的计划应该在什么阶段完成?[ ]A.需求分析B.概要设计C.详细设计27.下列属⾯向对象软件开发⽅法的是[ ]28.强调信息隐藏的软件⼯程设计⽅法是[ ]A.Jackson ⽅法B.Parnas ⽅法C.SA/SD ⽅法29.描述系统动态⾏为的模型是[ ]A.包图B.软件结构图C.状态图30.考虑输⼊条件组合的测试⽤例设计⽅法是[ ]A.等价分类法B.语句覆盖法C.因果图法31.下列能减少⽀援性维护活动的是[ ]A.利⽤软件包B.进⾏配置管理C.对⽤户进⾏适当培训32.只⽀持单重继承的程序设计语⾔是[ ]A.C++B.DelphiC.C33.IDEF0 图的顶层图是[ ]A.A0 图B.A-0 图C.A-1图34.在UML的⽤例图中,扩展关系是⼀种[ ]35.独⽴测试⼩组开始介⼊测试是在[ ]A.模块测试阶段B.集成测试阶段C.确认测试阶段36.在成本估计中容易低估局部问题的⽅法是[ ]A.基于经验模型的估计B.⾃底向上估计C.⾃顶向下估计37.在IDEF1X图中,如果⼦实体与⽗实体存在联系,则⼦实体将继承⽗实体的[ ]A.全部属性B.主关键字属性C.⾮主关键字属性38.结构化分析⽅法使⽤的⼯具是[ ]A.数据流图B.类图C.软件结构图39.⽩盒测试设计⽤例的⽅法是[ ]A.等价分类法B.基本路径覆盖法C.因果图法40.在衡量软件质量时,最重要的标准是[ ]A.可维护性好B.可⽤性好C.满⾜⽤户功能需求41.瀑布模型是⼀种[ ]42.模块的独⽴程度可以由什么定性标准度量?[ ]A.耦合度B.复杂度C.可靠性43.以下选项中,不属于对象的特点有[ ]A.继承B.多态C.封闭44.⾯向数据结构的设计⽅法有[ ]A.Parnas ⽅法B.Jackson ⽅法C.IDEF0 ⽅法45.与UML配合最好的软件开发⽅法是[ ]A.RUP ⽅法B.Coad/Yourdon⽅法C.IDEF4⽅法⼆、填空题:1.统⼀建模语⾔UML提供了两种描述整体/部分关系的⽅法,分别是和。
软件需求复习资料
第1章1.需求开发可进一步细分为:获取、分析、规格说明和确认。
2.需求问题导致的主要后果是返工—重复做您认为早已做好的事情。
3.造成软件成本估算失败的最主要原因包括频繁变更需求、遗漏需求、未与用户充分沟通、需求的说明不精确,以及对需求的分析不透彻4.实现有效的需求工程过程。
减少开发后期以及整个维护过程中不必要的返工并可带来极大的回报。
第2章1.客户泛指直接或间接得益于产品的个人或组织。
2.很多组织把在需求文档上签字作为客户认可需求的标志,签字不仅仅是仪式,更重要的是建立需求协议的基线。
第3章1.需求分析包括对需求进行推敲和润色以保证所有的涉众人都能够理解需求,以及仔细检查找其中的错误、疏漏和其他缺陷。
2.分析包括将高层的需求分解成具体细节、创建开发原型,以及评估可行性和协商需求优先级。
3.需求验证可确保需求声明是正确的、具备了所需的质量属性,而且能够满足客户的需要。
第4章1.需求分析员是对项目涉众的需求进行收集、分析、记录和验证等职责的主要承担者。
第5章1.产品前景将所有涉众统一到一个方向上。
前景描述了产品用来干什么,它最终会是什么样子。
2.项目范围确定当前的项目要解决产品长远规划中哪一部分。
3.广度(breadth)指应用能完成哪些业务工作(即用例)。
而深度(depth)则说明将各项用例实现到何种程度。
4.前景与范围文档用于将业务需求收集整理到一个文档中,为后续的开发工作打好基础。
5.涉众是积极参与项目、受项目结果影响,或者能够影响项目结果的个人、团体或组织。
第6章1.开发人员开发的产品与客户期望获得的产品之间常常存在较大差距,即所谓的期望鸿沟。
第七章1.需求工程的核心任务是需求获取,即确定软件系统涉众的需要及限制条件的过程。
2.使用增量开发方法,把需求分解成低风险的更小的部分进行研究3.使用活动挂图(flipchart)来捕获以后再考虑的一些条目4.将客户的意见归类:业务需求用例或场景业务规则功能性需求质量属性外部接口需求数据定义解决思路5.用例是对用户目标或用户需要执行的业务工作的一般性描述;使用场景则是某个用例的一条特定路径。
历年软件工程复习题与答案
一、单项选择题在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.在软件生存周期中,时间最长的阶段是( D )A.需求分析C.编码B.详细设计D.维护2.以下最适合于面向对象的软件开发的软件生存周期模型是( D )A.瀑布模型C.螺旋模型3.以下不.适用于需求分析的工具是( C )A.数据流图C.PAD 图B.增量模型D.喷泉模型B.判定表D.数据字典4.以下几种模块内聚类型中,内聚性最低的是( B )A.时间内聚C.顺序内聚5.系统流程图中符号的名称是( A )A.联机存储C.磁盘6.数据流图中的每个加工至少有( D )A.一个输入流或一个输出流C.一个输入流B.逻辑内聚D.功能内聚B.处理D.文档B.一个输出流D.一个输入流和一个输出流7.HIPO 图是软件工程中的一种描述工具,采用HIPO图进行描述的阶段是( C )A.可行性分析C.概要设计B.需求分析D.详细设计8.Jackson 方法是软件开发过程中常用的方法,使用Jackson 方法可以实现( A )A.从数据结构导出程序结构C.从模块结构导出数据结构9.过程设计语言(PDL) ,又称为( A )A.伪码C.中级程序语言10.单元测试阶段主要涉及的文档为( B )B.从数据流图导出初始结构图D.从模块结构导出程序结构B.高级程序设计语言D.低级程序设计语言A.需求设计 B.编码和详细设计C.详细设计D.概要设计1.软件维护会产生副作用,下面选项中不.属.于.维护副作用的是( B )A.编码副作用 B.测试副作用C.文档副作用 D.数据副作用l2.以下不.适合作为科学工程计算的语言是( B )A.Pascal C.Fortran B.C D.Prologl3.PAD 图为下列哪个方面提供了有力的工具( A )A.系统分析C.自动分析数据14.结构化软件设计是(C )A.面向数据结构的C.面向数据流的B.软件的自动化生成D.测试软件B.面向数据库的D.面向对象设计的15.在McCall 软件质量度量模型中,面向软件产品修改的质量因素为( B )A.可用性C.适应性B.完整性D.互操作性A.一般具体 B.has aC.整体部分l7.WestinghouseD.组成公司于1992 年公布了l3 类软件工具分类标准和该类的范例工具以及例子,下面说法错.误.的是(A)A.代码生成程序属于编码和单元测试工具(设计工具)B.桌面出版系统属于文档工具C.数据库管理系统属于需求追踪工具D.计划和进度属于项目管理工具18.对McCabe 度量法,叙述错.误.的是( C )A.McCabe 度量法是一种基于程序控制流的复杂性度量法B.McCabe 度量法以图论为工具,用图的环路作为程序复杂性的度量值C.McCabe 度量法将简单IF 语句和赋值语句的复杂性同等看待D.McCabe 复杂性度量也称为环路度量19.瀑布模型本质是一种( B )A.顺序迭代模型 B.线性顺序模型C.线性迭代模型 D.非线性模型20.对于使用原型的建议,下面说法错.误.的是( C )A.开发周期很长的项目,可通过原型开发来缩短开发周期B.系统的使用可能变化较大,不能相对稳定,而原型模型具有适应变化的机制C.缺乏开发工具,或对原型的可用工具不了解的时候宜使用原型D.用户对系统的需求较为模糊,对某种要求缺乏信心时宜使用原型21.以下哪一项不.是.软件危机的表现( B )A.开发的软件可维护性差B.软件极易被盗版C.经费预算经常被突破D.开发的软件不能满足用户需求22.以下哪个软件生存周期模型是一种风险驱动的模型( C )A.瀑布模型B.增量模型C.螺旋模型D.喷泉模型23.各种需求分析方法都有共同适用的( D )A.分析方法B.说明方法C.表示方法D.基本原则24.结构化分析建立功能模型的工具是( A )A.DFD B.判定树/判定表C.DD D.结构化语言25.模块中所有成分结合起来完成一项任务,该模块的内聚性是( A )A.功能内聚B.顺序内聚C.通信内聚D.逻辑内聚26.系统定义明确之后,应对系统的可行性进行研究,可行性研究应包括( A )A.技术可行性、经济可行性、社会可行性B.经济可行性、安全可行性、操作可行性C.经济可行性、社会可行性、系统可行性D.经济可行性、实用性、社会可行性27.以下哪一项对模块耦合性没.有.影响( D )A.模块间接口的复杂程度B.调用模块的方式C.通过接口的信息D.模块内部各个元素彼此之间的紧密结合程度28.检查软件产品是否符合需求定义的过程称为( A )A.确认测试B.集成测试C.系统测试D.单元测试29.下面关于详细设计的叙述中,错.误.的是( B )A.程序流程图可以描述结构化程序C.NS 图描述的程序一定是结构化的B.程序流程图不能描述结构化程序D.PAD 图描述的程序一定是结构化的30.在整个软件维护阶段所花费的全部工作中,所占比例最大的是( C )A.校正性维护B.适应性维护C.完善性维护D.预防性维护31.以下不.属.于.序言性注释的有( C )A.模块设计者B.修改日期C.程序的整体说明D.语句功能32.集成测试是为了发现( A )A.接口错误B.编码错误C.性能、质量不合要求D.功能错误33.一个只有顺序结构的程序,其环形复杂度是( B )A.0 B.1C.3 D.534.结构化程序设计,主要强调的是( C )A.程序的执行效率B.模块的内聚C.程序的可理解性D.模块的耦合35.下面关于文档的叙述,错.误.的是( A )A.文档是仅用于说明使用软件的操作命令,不包括软件设计和实现细节B.文档是软件产品的一部分,没有文档的软件就不成为软件C.高质量文档对于转让、变更、修改、扩充和使用有重要的意义D.软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量36.在McCall 软件质量度量模型中,面向软件产品操作的质量因素是( A )A.正确性B.可维护性C.适应性D.互操作性37.对度量法,叙述错.误.的是( C )A.度量法是一种基于程序控制流的复杂性度量法B.度量法以图论为工具,用图的环路数作为程序复杂性的度量值C.度量法不能区分简单IF 语句和循环语句的复杂性D.度量法对模块间的接口和简单IF 语句区分对待38.在快速原型模型的开发过程中,仅用于代替设计阶段的原型是( C )A.探索型模型B.演化型模型C.实验型模型D.提交型模型39.对于构造原型的建议,下面说法错.误.的是( D )A.暂不考虑错误恢复和处理,但应考虑速度、空间等性能效率方面的要求B.可降低可靠性和软件质量标准C.原型界面部分的设计,最好能与最终系统的界面相容D.根据不同的软件类型和应用领域,可使用不同风格的高级语言来构造原型40.面向对象开发方法中,将在面向对象技术领域内占主导地位的标准建模语言是( C )A.Booch 方法B.Coad 方法C.UML 语言D.OMT 方法4l.以下哪一项不.是软件产品所具有的特性( C )A.软件是逻辑产品B.软件产品不会用坏,不存在磨损、消耗问题C.随着技术的提高,软件开发的费用不断降低D.软件产品的成本主要体现在软件的开发与研制上42.“确定软件系统必须做什么”是哪个阶段的任务(B )A.可行性分析和项目开发计划B.需求分析C.概要设计D.详细设计43.以下哪一项不.是软件测试时需要的信息( B )A.软件配置B.软件结构C.测试工具D.测试配置44.结构化分析方法的分析策略是( B )A.自底向上的抽象B.自顶向下的分解C.用DFD 建模D.用DD 描述数据需求45..一组语句在程序中多处出现,为了节省存储,将这些语句组成一个新的模块,该模块的内聚性为( C )A.功能内聚B.顺序内聚C.偶然内聚D.逻辑内聚46.系统流程图是描绘以下哪一项的工具( C )A.软件结构B.逻辑系统C.物理系统D.软件功能47.数据库的设计一般要进行三个方面的设计:概念设计、逻辑设计和物理设计,其中逻辑设计对应于系统开发的什么部分( C )A.可行性分析B.需求分析C.概要设计D.详细设计48.以下哪种语言可用于描述模块算法设计和处理细节( B )A.UML 语言B.过程设计语言C.FORTRAN 语言D.Pascal 语言49.软件维护是软件生命周期中的固有阶段,一般认为,以下哪种软件维护在整个维护活动中所占的比例最小( C )A.校正性维护B.适应性维护C.预防性维护D.完善性维护50.软件测试方法中,黑盒、白盒测试法是常用的方法,其中白盒测试主要用于测试( D )A.结构合理性B.软件外部功能C.程序正确性D.程序内部逻辑51.使用Jackson 方法可以得到( D )A.程序流程图B.具体的语言程序C.模块结构图及模块的功能说明书D.分层数据流图52..以下哪种测试的任务是检查软件的功能与性能是否与需求规格说明书中确定的指标相符合( B )A.集成测试B.确认测试D.系统测试C.单元测试53.与编程风格有关的因素不.包括(B)A.源程序文档化B.语句构造C.输入输出D.模块间耦合性54..对于构造原型的建议,下面说法错.误.的是( D )A. 暂不考虑速度、空间等性能效率方面的要求。
软件工程复习试题及答案
软件工程复习试题及答案 Revised by BETTY on December 25,2020一、填空题(在下划线上填写正确的答案,每题2分,共20分)1.等价划分是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数。
2.数据流图和数据字典共同构成了系统的逻辑模型。
3.盒图也称为 N-S图。
这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。
.数据流图有四种基本成分:源、终点,处理,存储,数据流。
78SA是一种面向数据流的分析方法。
9.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个由下而上的过程。
10.耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚、低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。
1.常用的软件开发模型有瀑布模型、原型模型、增量模型、螺旋模型、喷泉模型。
2.软件生存周期一般可分为问题定义、可行性研究、需求分析、设计、编码、单元测试、运行与维护阶段。
3.软件测试的步骤:单元、集成、系统、验收。
4.数据流图的基本符号包括加工、数据流、数据存储文件、汇点。
5.IPO图由输入、处理和输出三个框组成。
这个图的特点是能够直观的显示三者之间的关系。
6.面向对象方法是一种运用类、实例、属性、重载、消息传送、多态性等概念来构造系统的软件开发方法。
7.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程。
8.程序测试是对编码阶段的语法错、语义错和运行错进行查找的编码执行活动。
9.为了获得较高的模块独立性,尽量设计出具有高内聚和低藕合性能的模块。
10.常用的测试方法有黑盒测试和白盒测试。
1.可行性研究,应从技术可行性、经济可行性、运行可行性和法律和社会效益可行性等方面研究。
2.构化程序设计中程序主要的3种基本控制结构是顺序结构、选择结构、循环结构。
3.软件生存周期中时间最长、花费精力和费用最多的一个阶段是维护阶段。
软件需求分析复习题
软件需求分析复习题一、判断题1、使用实例方法可以使用户更清楚地认识到新系统允许他做什么,那么我们就应该试图把每一个需求与一个使用实例相联系,尽可能多的使用实例。
( F)2、在状态图中定义的状态主要有:初态(即初始状态),终态(即最终状态)和中间状态,在一张状态图中只能有一个初态,而终态则可以有0至多个。
(T )3、结构化分析方法适合于数据处理类型软件的需求分析。
(T)4、数据流图中每个加工至少有一个输入数据流,但可以没有输出数据流。
(F)5、DFD与数据流程图的区别是程序流程图用于表示程序的过程设计,DFD用作描述软件的逻辑功能,不能表示程序的控制结构。
(T)6、属性是指实体某一方面的特征,一个实体通常有多个属性。
联系也可以有属性。
(T)7、软件需求描述的是“如何做”,而不是“做什么”。
(F)8、软件成功的标准是用户在用,并且可以很容易做完要做的事。
(T)9、业务规则包括企业方针、政府条例、工业标准、会计准则和计算方法等。
业务规划本身就是软件需求。
(F)10、软件需求的层次包括业务需求、用户需求、功能需求。
(T)二、选择题1.需求分析最终结果是产生(C )A.项目开发计划B.可行性分析报告C.需求规格说明书D.设计说明书2.需求分析中,开发人员要从用户那里解决的最重要的问题是(A )A.让软件做什么B.要给软件提供哪些信息C.需求软件工作效率怎样D.让软件具有何种结构3.需求规格说明书的内容不应包括对(B )的描述。
A.主要功能B.算法的详细过程C.用户界面的运行环境D.软件性能4.需求规格说明书的作用不应包括(D )A.软件设计的依据B.用户与开发人员对软件要做什么的共同理解C.软件验收的依据D.软件可行性研究的依据5.下面关于面向对象方法中消息的叙述,不正确的是(B )A.键盘,鼠标,通信端口、网络等设备——有变化,就会产生消息B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C.应用程序之间可以相互发送消息D.发送与接收消息的通信机制与传统的子程序调用机制不同6.面向对象技术中,对象是类的实例。
软件工程复习题及答案
一、单项选择题1.软件可行性研究实质上是要进行一次需求分析、设计过程。
A.简化、压缩的B.详细的C.彻底的D.深入的2.以下哪个软件生存周期模型是一种风险驱动的模型。
A.瀑布模型B.增量模型C.螺旋模型D.喷泉模型3.可行性分析中,系统流程图用于描述。
A.当前运行系统B.当前逻辑模型C.目标系统D.新系统4.结构化分析建立功能模型的工具是。
A.DFDB.判定树/判定表C.SCD.结构化语言5.检查软件产品是否符合需求定义的过程称为。
A.确认测试B.集成测试C.系统测试D.单元测试6.在整个软件维护阶段所花费的全部工作中,所占比例最大的是。
A.校正性维护B.适应性维护C.完善性维护D.预防性维护7.通信内聚是指。
A.把需要同时执行的动作组合在一起形成的模块B.各处理使用相同的输入数据或者产生相同的输出数据C.一个模块中各个处理元素都密切相关于同一功能且必须顺序执行D.模块内所有元素共同完成一个功能,缺一不可8.一个只有顺序结构的程序,其环形复杂度是。
A.0B.1C.3D.59.下述四个能力成熟度等级,级别最高的是。
A.已定义级B.优化级C.可重复级D.已管理级10.结构化程序设计,主要强调的是。
A.程序的执行效率B.模块大小C.程序的可理解性D.模块关系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.在编码过程中添加适当的注释,可以降低软件维护的难度16.应用执行对象的操作可以改变该对象的。
软件工程复习题库带答案完整版
软件工程复习题库带答案完整版1、白盒测试法是通过分析程序的内部逻辑来设计测试用例的。
2、风险预测从两个方面评估风险,即风险发生的可能性以及风险发生所产生的后果。
3、极限编程(XP)由价值观、原则、实践和行为四部分组成,其中价值观包括沟通、简单性和反馈和勇气。
4、等价分类法的关键是划分等价类。
5、下列不属于黑盒测试的技术是程序段或语句的功能。
6、为了提高模块的独立性,模块之间最好是数据耦合。
7、一个软件开发过程描述了“谁做”,“做什么”,“怎么做”和“什么时候做”,RUP用角色来表述“谁做”。
8、功能性注释嵌入在源程序内部,它是用来说明程序段或语句的功能。
9、在结构化分析方法中,数据字典是重要的文档。
对加工的描述是数据字典的组成内容之一,常用的加工描述方法有有结构化语言、判定树和判定表。
10、某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行适应性维护。
11、软件危机的主要原因是软件本身特点与开发方法。
12、DFD是常用的进行软件需求分析的图形工具,其基本符号是加工、数据流、数据存储和外部实体。
13、软件工程管理是对软件项目的开发管理。
具体地说,就是对整个软件生存期的一切活动进行管理。
14、在面向数据流的软件设计方法中,一般将信息流分为输入、输出、外部实体和加工。
A.白盒测试B.黑盒测试C.灰盒测试D.集成测试15、参与人员之间的通信困难是不随参与人数增加而使软件生产率增加的主要原因。
因为通信困难会导致信息不畅通,任务分配不明确,进度无法掌握等问题,从而影响软件开发效率。
16、有形性与可控性不是软件的特征。
软件的特征包括系统性与复制性、抽象性与智能性、依附性与泛域性。
17、面向对象的设计是面向对象分析进一步的细化和更高的抽象,不是另一种思维方式。
18、在软件的可行性分析中,可以从经济可行性、技术可行性、操作可行性、法律可行性等角度对软件进行研究。
软件需求工程复习题
需求工程练习题一、单选题(每空1分,共20分,请在备选答案中选择唯一一个正确的选项)1、产品特性可以称为质量属性,在众多质量属性中,对于开发人员来说重要的属性有哪些(B )A 有效性、效率、灵活性、互操作性B 可维护性、可移植性、可重用性、可测试性C 完整性、可靠性、健壮性、可用性D 容错性、易用性、简洁性、正确性2、需求包括11个方面的内容,其中网络和操作系统的要求属于(B),如何隔离用户之间的数据属于(C),执行速度、相应时间及吞吐量属于(D),规定系统平均出错时间属于(A )。
A 质量保证 B环境需求 C安全保密需求 D 性能需求3、需求分析过程应该建立3种模型,它们分别是数据模型、功能模型、行为模型。
以下几种图形中,(B)属于功能模型,(A)属于数据模型,(C)属于行为模型。
A 实体-联系图(ERD)B 数据流图(DFD)C 状态转换图(STD) D鱼骨图4、常用的需求分析方法有:面向数据流的结构化分析方法(SA),面向对象的分析方法(OOA),下列(D)不是结构化分析方法的图形工具。
A决策树 B数据流图 C数据字典 D快速原型5、软件开发中,原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。
其中,(B)和(C)用完就可以丢弃,而(A)围绕原型修改、增加。
A 进化型B 探索型 C实验型 D 以上都是6、(D)用于描述数据的处理过程。
A 数据字典 B决策树 C决策表 D 数据流图7、DFD的基本符号不包括下列哪种(A)A 数据字典B 加工C 外部实体D 数据流E 数据存储文件8、DD的主要字典条目包括以下哪种(E)A数据流 B文件 C 数据项 D加工 E以上都是9、常用的动态分析方法不包括以下哪种(B)A 状态迁移图B 层次方框图 C时序图 D Petri网10、需求分析阶段的文档包括以下哪些(E)A 软件需求规格说明书 B数据要求说明书 C初步的用户手册 D修改、完善与确定软件开发实施计划 E以上都是11、需求验证应该从下述几个方面进行验证:(C)A 可靠性、可用性、易用性、重用性B可维护性、可移植性、可重用性、可测试性C一致性、现实性、完整性、有效性 D 功能性、非功能性12、风险管理的要素包括哪项(D)A风险评价 B风险避免 C风险控制 D以上都是13、下列描述中错误的是(D)A每一个集成的需求变更必须能跟踪到一个经核准的变更请求。
青岛科技大学成人高考2021年上学期《软件工程》期末复习题
《软件工程》导学材料一.单选题1.软件需求分析一般应确定的是用户对软件的()。
A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求2.数据字典是对数据定义信息的集合,它所定义的对象都包含于()。
A.数据流图B.程序框图C.软件结构D.方框图3.结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的()。
A.控制流B.数据流C.程序流D.指令流4.具有风险分析的软件生命周期模型是()。
A.瀑布模型B.喷泉模型C.螺旋模型D.增量模型5.“软件危机”是指()。
A.计算机病毒的出现B.利用计算机进行经济犯罪活动C.软件开发和维护中出现的一系列问题D.人们过分迷恋计算机系统6.需求分析中开发人员要从用户那里了解()。
A.软件做什么B.用户使用界面C.输入的信息D.软件的规模7.过程设计的工作是确定软件各个组成部分内()。
A.算法以及数据结构B.外部接口C.功能D.编程8.面向对象方法是将现实世界的事物以对象的方式()到计算机世界的方法。
A.对应B.映射C.反映D.反射9.盒图也称为(),这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题。
A.流程图B.框图C.判定表D.N-S 图10.在白盒测试技术测试用例的设计中,()是最强的覆盖标准。
A.语句覆盖B.路径覆盖C.条件组合覆盖D.判定覆盖11.()是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。
A.多态性B.继承C.封装D.消息12.面向对象的开发方法中,()将是面向对象技术领域内占主导地位的标准建模语言。
A.Booch 方法B.Coad 方法C.UML 语言D.OMT 方法13.软件测试是为了()而执行程序的过程。
A.纠正错误B.发现错误C.避免错误D.证明正确14.支持面向对象技术的软件生存周期模型是()。
A.喷泉模型B.螺旋模型C.增量模型D.瀑布模型15.在白盒测试技术测试用例的设计中,()是最弱的覆盖标准。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件需求分析复习题一、判断题1、使用实例方法可以使用户更清楚地认识到新系统允许他做什么,那么我们就应该试图把每一个需求与一个使用实例相联系,尽可能多的使用实例。
( F)2、在状态图中定义的状态主要有:初态(即初始状态),终态(即最终状态)和中间状态,在一张状态图中只能有一个初态,而终态则可以有0至多个。
(T )3、结构化分析方法适合于数据处理类型软件的需求分析。
(T)4、数据流图中每个加工至少有一个输入数据流,但可以没有输出数据流。
(F)5、DFD与数据流程图的区别是程序流程图用于表示程序的过程设计,DFD用作描述软件的逻辑功能,不能表示程序的控制结构。
(T)6、属性是指实体某一方面的特征,一个实体通常有多个属性。
联系也可以有属性。
(T)7、软件需求描述的是“如何做”,而不是“做什么”。
(F)8、软件成功的标准是用户在用,并且可以很容易做完要做的事。
(T)9、业务规则包括企业方针、政府条例、工业标准、会计准则和计算方法等。
业务规划本身就是软件需求。
(F)10、软件需求的层次包括业务需求、用户需求、功能需求。
(T)二、选择题1.需求分析最终结果是产生(C )A.项目开发计划B.可行性分析报告C.需求规格说明书D.设计说明书2.需求分析中,开发人员要从用户那里解决的最重要的问题是(A )A.让软件做什么B.要给软件提供哪些信息C.需求软件工作效率怎样D.让软件具有何种结构3.需求规格说明书的内容不应包括对(B )的描述。
A.主要功能B.算法的详细过程C.用户界面的运行环境D.软件性能4.需求规格说明书的作用不应包括(D )A.软件设计的依据B.用户与开发人员对软件要做什么的共同理解C.软件验收的依据D.软件可行性研究的依据5.下面关于面向对象方法中消息的叙述,不正确的是(B )A.键盘,鼠标,通信端口、网络等设备——有变化,就会产生消息B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C.应用程序之间可以相互发送消息D.发送与接收消息的通信机制与传统的子程序调用机制不同6.面向对象技术中,对象是类的实例。
对象有三种成分(A )、属性和方法(或操作)。
A.标识B.规则C.封装D.消息7.软件需求分析阶段的工作,可以分成以下四个方面:对问题的识别、分析与综合、制定规格说明以及( C )A.总结B.实践性报告C.需求分析评审D.以上答案都不正确8.软件需求规格说明书的内容不应包括对(B )的描述。
A.主要功能B.算法的详细过程C.用户界面及运行环境D.软件的性能9. 软件需求分析阶段的工作,可以分成4个方面:需求获取,需求分析,编写需求规格说明书以及( B )A.用户B.需求评审C.总结D.都不正确10.在原型法中,开发人员根据(A)的需求不断修改原型,直到满足客户要求为止。
A.用户B.开发人员C.系统分析员D.程序员11.需求验证应该从下述几个方面进行验证:(C )A.可靠性、可用性、易用性、重用性B.可维护性、可移植性、可重用性、可测试性C.一致性、现实性、完整性、有效性D.功能性、非功能性12.风险管理的要素包括哪项(D )A.风险评价B.风险避免C.风险控制D.以上都是13.下列描述中错误的是(D )A.每一个集成的需求变更必须能跟踪到一个经核准的变更请求B.变更过程应该做成文档,尽可能简单,当然首要的是有效性C.所有需求变更必须遵循过程,按照此过程,如果一个变更需求未被采纳,则其后过程不再予以考虑D.可以从数据库中删除或修改变更请求的原始文档三、填空题1. 需求分析阶段研究对象是软件项目的用户需求2. 在软件需求分析阶段,开发人员要准确理解用户的要求,进行细致的需求分析,将非形式的需求陈述转化为完整的需求定义,最后将其转换到相应的形式主意功能规约需求规格说明的过程。
3. 需求获取是从人、文档或者环境当中获取需求的过程,需求工程师必须要利用各种方法和技术来“发现”需求。
4. 需求分析阶段产生的重要的文档是需求规格说明书。
5. 需求分析的主要任务是确定软件系统功能。
6. 需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是功能需求。
四、名词解释1.需求获取需求获取就是从人员、资料和环境中得到系统开发所需要的相关信息的过程。
2.需求规格说明需求规格说明就是将需求及其软件解决方案进行定义和文档化,并传递给开发人员的需求工程活动。
3.需求基线需求基线就是被明确和固定的需求集合,是项目团队需要在某一特定产品版本中实现的特征和需求的集合。
4.需求验证需求验证是为了尽量不给设计、实现、测试等后继开发活动带来不必要的影响,对需求规格说明文档中定义的需求是否正确、准确地反应用户的意图进行验证的一个活动。
五、问答题1.需求分析阶段的基本任务是什么?需求分析的基本任务1.问题识别(1) 功能需求:明确所开发的软件必须具备什么样的功能。
(2) 性能需求:明确待开发的软件的技术性能指标。
(3) 环境需求:明确软件运行时所需要的软、硬件的要求。
(4) 用户界面需求:明确人机交互方式、输入输出数据格式。
2. 分析与综合,导出软件的逻辑模型分析人员对获取的需求,进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子功能。
用图文结合的形式,建立起新系统的逻辑模型。
3. 编写文档(1) 编写“需求规格说明书”,把双方共同的理解与分析结果用规范的方式描述出来,作为今后各项工作的基础。
(2) 编写初步用户使用手册,着重反映被开发软件的用户功能界面和用户使用的具体要求,用户手册能强制分析人员从用户使用的观点考虑软件。
(3) 编写确认测试计划,作为今后确认和验收的依据。
(4) 修改完善软件开发计划。
在需求分析阶段对待开发的系统有了更进一步的了解,所以能更准确地估计开发成本、进度及资源要求,因此对原计划要进行适当修正。
2.需求分析阶段需要执行哪些活动?①问题分析对问题进行分析,定义解决方案②确定系统边界将所有问题的解决方案进行综合,就可以得到整个解系统的功能和边界③需求建模对需求进行建模,完成从问题世界向计算机世界的转换④需求细化明确用户需求的隐含信息,展开为明确的对软件系统的行为期望,即系统需求。
⑤确定需求优先级对需求进行分级,保证等级更高的需求得到更多的实现保证⑥需求协商检测冲突的存在,并提供信息以帮助和引导协商活动的开展3.需求分析的目的是什么?难点在哪里?需求分析为什么特别重要?需求分析的目的是解决系统是“做什么”的问题。
难点在于(1) 客户常常并非计算机专业出生,难以描述清楚需求(2) 需求自身经常变动(3) 分析人员或客户理解有误。
需求分析就是分析软件用户的需求是什么,如果投入大量的人力,物力,财力,时间,开发出的软件却没人要,那所有的投入都是徒劳.如果费了很大的精力,开发一个软件,最后却不满足用户的要求,从而要重新开发过,这种返工是让人痛心疾首的。
需求分析之所以重要,就因为他具有决策性,方向性,策略性的作用,他在软件开发的过程中具有举足轻重的地位。
4.需求规格说明书由哪些部分组成?各部分之间的关系是什么?答:软件需求说明书一般包括如下内容:1)引言部分编写目的;项目背景(应包括:a.项目的委托单位、开发单位和主管部门;b.该软件系统与其他系统的关系。
) ;定义;(列出文档中所用到的专门术语的定义和缩写词的原文。
)参考资料。
2)任务概述目标;运行环境;条件与限制。
3)数据描述静态数据;动态数据(包括输入数据和输出数据) ;数据库描述(给出使用数据库的名称和类型) ;数据词典;数据采集。
4)功能要求功能划分;功能描述。
5)性能需求数据精确度;时间特性(如响应时间、更新处理时间、数据转换与传输时间、运行时间等);适应性(在操作方式、运行环境、与其他软件的接口以及开发计划等发生变化时,应具有的适应能力。
)6)运行需求用户界面(如屏幕格式、报表格式、菜单格式、输入输出时间等);硬件接口;软件接口;故障处理。
7)其他要求如可使用性、安全保密、可维护性、可移植性等。
8)附录5.假设现在由你来负责所在学校选课系统的需求工作,现在需要你来安排一次群体面谈,你打算怎么做?(1)计划面谈:确定参与人员,安排会谈时间,选择会谈地点,准备会谈内容(2)主持面谈:①建立基本规则②保持会议气氛 3确保每个人都积极参与讨论④控制会议的主题(3)分析结果6.需求获取常见的方法有哪些?需求获取常见的方法有:面谈,调查表,观察,原型7.如何有效的处理需求的变化是很多现代软件开发技术的主题,请从需求变更的原因,一般过程以及控制对策等方面谈谈你的看法。
需求变更的原因有:①问题放生了改变②环境发生了改变③需求基线存在缺陷另一些因素:用户变动,用户对软件的认识变化,相关产品的出现一般过程书P390在形成需求基线之后,进行需求的变更控制看法自己看P388起书上内容然后展开。
8.业务需求,用户需求和软件需求(系统需求)有什么关系?业务需求:表示组织或客户高层次的目标。
描述了组织希望达到的目标,用前景和范围文档来记录用户需求:用户的目标或者用户要求系统必须完成的任务。
描述了用户能使用系统来做些什么,用用例、场景描述和事件-响应表来表达。
功能需求(行为需求):规定开发人员必须在产品中实现的软件功能,用户利用这些软件功能来完成任务,满足业务需求。
描述了开发人员应该(需要)实现什么,用SRS(软件需求规格说明书)来记录。
关系是逐步深入。
六、应用题(共24分,每小题12分)1. 进行需求文档写作时主要有三种手段:形式化语言、非形式化语言和半形式化语言,请:(1)说明这三种手段的不同及各自的优缺点,以表达“每本书至少有一个作者”为例;(2)说明在实践当中,应该怎样综合运用这三种手段。
P3422. 下面是一段用例描述,针对一个汽车保险系统中“将一辆新车加入一个已有保单中”的用例:(1)客户打电话给保险公司,并提供他的保单号,办事员输入这个信息,系统显示基本的保单,然后办事员检查信息,以确保保险费通用及保单有效;(2)客户给出要添加的汽车牌子、模型、年份和车辆识别代号(VIN),办事员输入这些信息系统验证这些数据是否有效。
然后客户选择期望的保额类型,以及每种类型的数量,办事员输入这些信息,系统会逐一记录并根据保单限制验证所请求的数量。
输入所有的保额后,系统验证保额总和,包括保单上的其他汽车;(3)最后,客户必须要确认所有的驾驶员,以及他们驾驶汽车的时间比例。
如果有一个新驾驶员加入,则调用另一个用例“增加新驾驶员”;(4)整个过程最后,系统更新保单,计算新的保险费,打印新的保单说明,邮寄给保单所有人。
请你为其设计:(1)领域模型(要求给出建立过程);(2)活动图。