软件需求分析与设计复习题

合集下载

软件工程复习题

软件工程复习题

软件⼯程复习题需求分析习题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软件质量的影响因素?三.分析题分析一家公司的营销系统。

第2章 软件项目需求管理复习题

第2章 软件项目需求管理复习题
验证
结束
已取消
12、要避免因需求变更可能造成不良后果,应该遵循哪些原则?
需求一定要分类管理
需求必须分优先级
需求必须文档化
需求一旦变化,就必须对需求变更的影响进行评估
需求管理必须与需求工程的其他活动紧密整合。
13、针对经常发生的软件需求变更,在实践中总结出的对策有哪些?
优先排序,分批实现
软件开发人员与用户相互协作
12、非功能性需求定义了对系统提供的服务或功能的约束,包括时间约束、空间约束、开发过程约束及应遵循的标准等。
13、非功能需求还与系统的开发过程有关,例如对在软件过程中必须要使用的质量标准的描述、设计中必须使用的CASE工具集的描述以及软件过程所必须遵守的原则等。
14、按照非功能需求的起源,可将其分为产品需求、机构需求和外部需求3大类。
充分交流
安排专职人员负责需求变更管理
合同约束
区别对待
选用适当的软件生命周期模型
14、什么是客户和用户?
15、根据对需求的不同处理,可以把需求状态分为哪8种?
自动化工具,对使用的CASE工具作出选择。
4、需求要考虑的属性有哪些?
需求的创建时间
需求的版本
需求的创建者
需求的批准者
需求状态
需求的原因或根据
需求涉及的子系统
需求涉及的产品版本
需求的验证方法或测试标准
需求的优先级
需求的稳定性
5、何谓需求状态?
需求状态,是某个时间点用户需求的一种反映。
6、用户的需求有哪些情况?
用户可以明确清楚地提出的需求
用户知道需要做些什么,但却不能确定的需求。
需求可以从用户处得到,但需求的业务不明确,还需要等待外部信息。

桂林理工大学成人高等教育软件工程复习题B

桂林理工大学成人高等教育软件工程复习题B

桂林理工大学桂林理工大学成人高等教育【软件工程】复习题•B1.(单选题)从下列叙述中选出能够与软件开发需求分析、设计、编码相对应的软件测试()。

(本题2.0分)A.系统测试、集成.测试、单元测试B.单元测试、组装测试、确认测试C.单元测试、确认测试、集成测试卜D.确认测试、组装测试、单元测试答案:A.解析:无.2.(单选题)()数据处理问题的工作过程大致分为三步,即取得数据、变换数据和给出数据。

(本题2.0分)A.变换型B.事务型C.结构化D.非结构化答案:A.解析:无.3.(单选题)软件测试方法中,黑盒测试法主要用于测试()。

(本题2.0分)A.结构合理性B.软件外部功能C.程序正确性D.程序内部逻辑答案:B.解析:无.4.(单选题)进行需求分析可使用多种工具,但()是不适用的。

(本题2.0分)A.数据流图B.判定表C.PAD图D.数据词典答案:C.解析:无.5.(单选题)块内联系中,()块内联系最强。

(本题2.0分)A.偶然性B.功能性C.通信性D.顺序性答案:B.解析:无.6.(单选题)在设计测试用例时,()是用的最多的一种黑盒测试方法(本题2.0分)A.等价类划分B.边值分析C.因果图D.判定表答案:A.解析:无.7.(单选题)面向数据流的设计方法把()映射成软件结构。

(本题2.0分)A.数据流B.系统结构C.控制结构D.信息流答案:A.解析:无.8.(单选题)软件工程的出现是由于()。

(本题2.0分)A.软件危机的出现B.计算机硬件技术的发展C.软件社会化的需要D.计算机软件技术的发展答案:D.解析:无.9.(单选题)内聚程度较低的是()内聚。

(本题2.0分)A.偶然B.通讯C.顺序D.时间答案:A.解析:无.10.(单选题)一组语句在程序的多处出现,为了节省内存空间,把这些语句放在一个模块中,该模块的内聚度是()的。

(本题2.0分)A.逻辑性B.瞬时性C.偶然性D.通信性答案:C.解析:无.11.(单选题)下列属于软件的特点的是()。

软件开发与设计实例分析复习题(1004)

软件开发与设计实例分析复习题(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、软件工程的三段论是指软件项目管理、软件项目开发和软件过程改进。

软件工程-需求分析-复习答案

软件工程-需求分析-复习答案

)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 )三种结构组成。

软件工程复习题及参考答案

软件工程复习题及参考答案

软件⼯程复习题及参考答案软件⼯程复习题及参考答案The manuscript was revised on the evening of 2021《软件⼯程》课程复习资料⼀、单项选择题:1.下⾯哪些UML图描述系统⾏为[ ]A.⽤例图B.类图C.对象图2.属于概要设计活动的是[ ]A.软件结构设计B.数据结构设计C.算法设计3.属⾏为型设计模式的是[ ]A.组合模式B.⼯⼚⽅法模式C.观察者模式4.下列说法正确的是[ ]是软件开发⽅法是系统描述语⾔是软件开发过程5.根据程序流程图划分的模块通常是[ ]A.信息内聚的模块B.过程内聚的模块C.逻辑内聚的模块6.如果某程序中的⽐较个数是m,则其 McCabe环形复杂度为[ ]+1A.软件开发⽅法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.因计算机硬件和软件环境的变化⽽作出的修改软件的过程称为[ ]A.完善性维护B.改正性维护C.适应性维护14.对项⽬软件⽽⾔,软件功能需求信息主要由谁提供B.软件开发⼈员C.软件项⽬管理⼈员图反映不出[ ]A.系统做什么B.系统功能由谁做C.系统如何做16.原型模型是⼀种什么开发过程模型[ ]A.⾃顶向上B.由外⾄内C.增量式17.系统流程图描述[ ]A.物理系统B.逻辑系统C.软件体系结构18.需求规格说明书的内容不应该包括[ ]A.软件确认准则B.软件的性能描述C.算法过程的详细描述19.适合需求模糊或需求不确定系统开发的软件开发模型是[ ]A.瀑布模型模型 C.原型模型图中描述系统结构的是[ ]A.组件图B.顺序图C.状态图21.⾯向对象⽅法是⼀种什么软件开发⽅法[ ]A.层次化22.不可以⽤来衡量软件可维护性的是[ ]A.可靠性B.可⽤性C.可⾏性23.系统分析员在需求分析最后负责编写[ ]A.⽤户⼿册B.概要设计说明书C.可⾏性研究报告24.为了提⾼软件的可靠性、可维护性等⽽对软件的修改称为[ ]A.改正性维护B.适应性维护C.预防性维护25.在结构化⽅法中,为使需求改变对软件影响较⼩,应该使软件结构[ ]A.与问题结构对应B.与问题结构独⽴C.与⽤户界⾯对应26.单元测试的计划应该在什么阶段完成[ ]A.需求分析B.概要设计C.详细设计27.下列属⾯向对象软件开发⽅法的是[ ]⽅法⽅法⽅法28.强调信息隐藏的软件⼯程设计⽅法是[ ]⽅法⽅法 SD ⽅法29.描述系统动态⾏为的模型是[ ]C.状态图30.考虑输⼊条件组合的测试⽤例设计⽅法是[ ]A.等价分类法B.语句覆盖法C.因果图法31.下列能减少⽀援性维护活动的是[ ]A.利⽤软件包B.进⾏配置管理C.对⽤户进⾏适当培训32.只⽀持单重继承的程序设计语⾔是[ ]++图的顶层图是[ ]图图图34.在UML的⽤例图中,扩展关系是⼀种[ ]A.泛化关系B.依赖关系C.关联关系35.独⽴测试⼩组开始介⼊测试是在[ ]A.模块测试阶段B.集成测试阶段C.确认测试阶段36.在成本估计中容易低估局部问题的⽅法是[ ]A.基于经验模型的估计B.⾃底向上估计C.⾃顶向下估计37.在IDEF1X图中,如果⼦实体与⽗实体存在联系,则⼦实体将继承⽗实体的B.主关键字属性C.⾮主关键字属性38.结构化分析⽅法使⽤的⼯具是[ ]A.数据流图B.类图C.软件结构图39.⽩盒测试设计⽤例的⽅法是[ ]A.等价分类法B.基本路径覆盖法C.因果图法40.在衡量软件质量时,最重要的标准是[ ]A.可维护性好B.可⽤性好C.满⾜⽤户功能需求41.瀑布模型是⼀种[ ]A.演化模型B.顺序模型C.增量模型42.模块的独⽴程度可以由什么定性标准度量[ ]A.耦合度B.复杂度C.可靠性43.以下选项中,不属于对象的特点有[ ]A.继承B.多态C.封闭44.⾯向数据结构的设计⽅法有45.与UML配合最好的软件开发⽅法是[ ]⽅法 Yourdon⽅法⽅法⼆、填空题:1.统⼀建模语⾔UML提供了两种描述整体/部分关系的⽅法,分别是和。

软件需求分析-复习题264743

软件需求分析-复习题264743

简答题1.需求分析的目的是什么?难点在哪里?需求分析为什么特别重要?需求分析的目的:需求分析主要用于获取用户的具体需求,通过对实际需求的获取、分析、文档化和验证等需求分析过程,为进一步的设计和实现提供依据:(1) 需求分类。

将软件功能、性能、可靠性等相关需求进行分类、逐一细化。

(2) 面向用户获取并分析需求。

软件研发其他阶段都是面向技术的,只有需求分析阶段是面向用户的,深入调研获取并分析软件的功能、性能、可靠性等,也可从系统和用户需求中推导出软件具体需求,并检查需求定义准确性,是否存在二义性。

(3) 检查和解决不同需求间的矛盾。

尽量达到均衡和优化。

(4) 确定软件的边界,以及软件与环境的相互作用方式等。

如应用及运行边界和环境。

(5) 对需求文档化并进行最后验证与确认。

难点:主要体现在以下5个方面:(1)问题确定难。

主要原因一是应用领域的复杂性及业务变化,难以具体确定;二是用户需求所涉及的多因素引起的,如运行环境和系统功能、性能、可靠性和接口等。

(2)需求动态性。

软件的需求在整个软件生存周期,常会随着时间和业务而有所变化。

有的用户需求经常变化,一些企业可能正处在体制改革与企业重组的变动期和成长期,其企业需求不成熟、不稳定和不规范,致使需求具有动态性。

(3)交流共识难。

需求分析涉及的人事物及相关因素多,与用户、业务专家、需求工程师和项目管理员等进行交流时,不同的背景知识、角色和角度等,使交流共识较难。

(4)完备一致难。

由于不同人员对系统的要求认识不尽相同,所以对问题的表述不够准确,各方面的需求还可能存在着矛盾。

难以消除矛盾,形成完备和一致的定义。

(5)深入完善难。

需求理解对不全面准确的分析,客户环境和业务流程的改变,市场趋势的变化等,也会随着分析、设计和实现而不断深入完善,可能在最后重新修订软件需求。

分析人员应认识到需求变化的必然性,并采取措施减少需求变更对软件的影响。

对必要的变更需求要经过认真评审、跟踪和比较分析后才能实施。

软件需求分析复习题

软件需求分析复习题

软件需求分析复习题一、判断题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.面向对象技术中,对象是类的实例。

软件设计章节练习复习题

软件设计章节练习复习题

2.1.1.软件工程标准编制的层次分为5个,分别为:2.GB/T 25000.51-2010,软件工程软件产品质量要求和评价(SQUARE) 商业现货(COTS)软件产品的质量要求和测试细则属于什么层次的标准A.国际标准B.国家标准C.行业标准D.企业标准3.ISO 9000系列质量管理与质量保证标准属于哪个层次的标准A.国际标准B.国家标准C.行业标准D.企业标准4.IEEE Std 1012-2012,系统和软件验证与确认标准哪个层次的标准?A.国际标准B.国家标准C.行业标准D.企业标准解析:IEEE 美国电气与电子工程师学会,属于行业标准5.GJB与GB,哪一个是行业标准A.GJBB.GB解析:GB为中国国家标准,GJB为中国国家军用标准2.31.计算机软件 =______+_______+_______.2.造成软件危机的原因不包括A.缺乏管理经验B.需求不断变化C.预算不足D.问题复杂3.造成软件危机的原因包括A.缺乏管理经验B.需求不断变化C.预算不足D.问题复杂4.软件工程的要素有哪三个?5.以下属于软件开发过程模型的有A.瀑布模型B.螺旋模型C.喷泉模型D.快速原型模型E.W模型6.软件开发过程模型主要有:_______、_______、_______、_______。

7.软件的生存周期通常包括可行性研究、需求分[简答题]1.软件生命周期“V模型”,简述各测试阶段的关注点正确答案:2.软件生命周期V模型中,各测试阶段的依据是什么?正确答案:3.分析瀑布模型与V模型的优缺点正确答案:1、瀑布模型优点:1)为项目提供了按阶段划分的检查点.2)当前一阶段完成后,您只需要去关注后续阶段.3)可在迭代模型中应用瀑布模型.缺点:1)在项目各个阶段之间极少有反馈.2)只有在项目生命周期的后期才能看到结果.3)通过过多的强制完成日期和里程碑来跟踪各个项目阶段.2、V模型优点:简单、高效缺点:1)容易让人误解为测试是在开发完成之后的一个阶段;2)由于它的顺序性,当编码完成之后,正式进入测试时,这时发现的一些bug 可能不容易找到其根源,并且代码修改起来很困难;3)实际中,由于需求变更较大,导致要重复变更需求、设计、编码、测试。

软件需求复习资料

软件需求复习资料

第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、( × ) 程序设计语言种类很多,在进行软件开发时可以随便选择一种语言进行编码。

2. ( x ) 软件需求规格说明书在软件开发中具有重要的作用,是软件可行性分析的依据。

3、(× ) 在软件开发的各个阶段进行过程中,增加人员肯定会对整个项目提前完成有好处。

4.( x ) 好的测试用例应能证明软件是正确的。

5.( x ) 软件功能测试的测试用例主要是由需求阶段的功能说明部分转化而来。

6、( x ) CoCoMo模型可以用来估算系统的工作量和软件开发所需时间。

7.( x ) 有时为了测试的方便,而可以局部地修改软件系统。

8、( v ) OOA方法的核心思想是利用面向对象的概念和方法为软件需求建造模型,大致步骤是识别对象(属性和方法),识别类及其结构,定义对象之间的消息传递等。

9.( x ) 面向对象方法更适合于软件重用的根本原因在于它是软部件唯一的合成技术。

10、( v ) 系统需求分析员应该具有开发软、硬件系统的经验并且了解用户领域的知识。

11.( x ) 在软件的生命周期中,工作量最大的一个阶段就是编写程序。

12、( x )软件运行正确,可见软件中没有缺陷(fault)。

13.( x ) RUP(Rational Unified Process:统一软件过程)本质上是轻量级的软件过程规范。

14、( v )软件失败(failure)在系统交付之前和交付之后都可能被发现。

15.( x ) 基准测试(benchmark test)是非正式的用户确认和验收测试。

16、( x )开发人员和客户对软件质量因素的认可是完全一致的。

17.( x ) UML语言支持面向对象的主要概念,并与具体的开发过程相关。

18、( v )里程碑(milestone)就是开发过程中的某个活动(activity)。

19.( v ) 好的软件测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。

UML复习题

UML复习题

(一)一、选择题1、软件开发过程中,最困难的一个环节是()A、程序语言的学习B、详细设计C、需求分析D、编码设2、若将活动状态比作方法,那么动作状态即()A、方法名B、方法返回值C、方法体中的每一条语句D、方法的可见性3、UML提供了一系列的图支持面向对象的分析与设计,其中()给出系统的静态设计视图;()对系统的行为进行组织和建模是非常重要的;()和()都是描述系统动态视图的交互图,其中()描述了以时间顺序组织的对象之间的交互活动,()强调收发消息的对象的组织结构。

A、状态图B、用例图C、顺序图D、部署图E、通信图F、类图G、时序图4、在一个订单输入子系统中,创建新订单和更新订单都需要检查用户帐号是否正确。

那么,用例“创建新订单”、“更新订单”与用例“检查用户帐号”之间是()关系A.包含(include)B.扩展(extend)C.分类(classification)D.聚集(aggregation)5、Innovation公司正在为Rose开发插入件,使得Rose可以把OOA、OOD模型以各种图形格式导出,如JPEG 格式、BMP格式、GIF格式等。

在导出时,会根据不同的算法来生成相应的图形文件,这些算法很复杂。

为了描述这些算法,如下图中,那个最适合()A. 活动图B. 状态图C. 类图D. 用例图二、简答题1、找出并说明下面类图中的错误。

2、请根据如下Java代码画出相应的顺序图。

Class C1{C2 c2 = new C2();public void f1(){ c2.f2(); }}Class C2{public void f2(){ f2(); } } 3、请根据下图所示写出C++代码(基本结构)。

Animal-leg: int+run()Tiger Dog4、请找出下面类图中存在的错误并画出正确的类图。

5、对于如下类图,请写出OCL约束:(1)、对于一个班级而言,只有注册人数大于25人方可开课并且由于教室大小的约束,人数又不能超过80人。

软件工程复习题及答案

软件工程复习题及答案

一、单项选择题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.应用执行对象的操作可以改变该对象的。

软件设计师 试题

软件设计师 试题

软件设计师考试试题及答案
一、选择题
以下哪些是面向对象程序设计的特点?
A. 继承
B. 多态
C. 模块化
D. 封装
答案:ABD
下列哪些是软件设计的原则?
A. 单一职责原则
B. 模块化原则
C. LSP(里氏替换原则)
D. DIP(依赖倒置原则)
答案:ABD
以下哪些是软件测试的方法?
A. 黑盒测试
B. 白盒测试
C. 灰盒测试
D. 压力测试
答案:ABCD
下列哪些是软件工程的阶段?
A. 需求分析
B. 设计
C. 编码
D. 维护
答案:ABCD
二、简答题
简述软件设计的基本过程。

答案:软件设计的基本过程包括需求分析、设计、实现和测试。

需求分析阶段主要是确定软件的功能和性能需求;设计阶段主要是对软件的结构、模块、算法等进行设计;实现阶段主要是编写代码、调试程序;测试阶段主要是对软件进行各种测试,确保软件的正确性和稳定性。

简述软件设计中模块化的优点。

答案:模块化的优点包括提高代码的可读性、可维护性和可重用性。

通过将程序划分为多个模块,可以使得代码更加清晰易懂,方便维护。

同时,模块化可以使代码更容易复用,提高开发效率。

此外,模块化还可以降低软件的复杂度,便于多人协作开发。

软件建模与分析复习题(A)

软件建模与分析复习题(A)

软件建模与分析复习题(A)一、 选择题1. 下面的模型图中,哪个能正确表示“1个教师可以指导0个到多个学生的论文,1个学生必须有1个教师指导其论文” 的意思( )2. 计算机由CUP 、内存、硬盘、显示器、鼠标等构成,那么计算机类和鼠标类之间的关系是( )A 继承关系B 关联关系C 聚合关系D 依赖关系3.下面( )图形表示依赖关系。

4. 关于UML ,下面说法正确的是( ) A UML 是一种面向对象的建模方法。

B UML 是一种形式化的语言,使用UML 建立的模型可被计算机编译执行。

C UML 是一种面向对象的编程语言。

A BC DD UML是一种面向对象的建模语言,但不是建模方法。

5.顺序图和交互图的关系,类似与下面的哪种关系()A 类和对象的关系B 类和参与者关系C Java和编程语言的关系D UML和Java的关系6.要对一个企业的工作流程建模,下面4种图中的()是最重要的。

A 交互图B 活动图C 状态图D 类图7.关于参与者,错误的说法是()A 参与者是与所建立的系统交互的人或物。

B 参与者可以是实际的人,也可以其他系统。

C 参与者是系统的一部分,是用例图的重要组成部分。

D 参与者之间可以存在泛化关系。

8.UML中关联的多重性是指()A 一个类有多个方法被另一个类调用。

B 一个类的实例对象能够与另一个类的多少个实例对象相关联。

C 一个类的某个方法被另一个类调用的次数。

D 两个类所具有的相同的方法和属性。

9.关于类图的说法正确的是()A 类图分为3个层次:对象层、特征层和关系层,其中对象层给出系统中所有反映问题域和系统责任的对象。

B 类图分为3个层次:对象层、特征层和关系层,其中特征层给出系统中所有反映问题域和系统责任的对象。

C 类图只是一种辅助模型,不如其他图重要。

D 类图定义了系统的功能需求,描述了系统的动态行为。

10.根据Coad/Yourdon的定义,面向对象的概念不包括()A 对象B 继承C 消息D 封装11.使用UML对系统进行动态建模,不能使用以下哪种图()A 类图B 顺序图C 状态图D 活动图12.UML的结构事物不包括()A 接口B 类C 协作D 状态机13.分析下面的顺序图,并指出哪种说法是正确的()A “求战”、“怎么办”以及“火烧连营”这3条消息并没有严格的次序,比如:“求战”消息有可能在“火烧连营”之前产生。

软件需求工程复习题

软件需求工程复习题

需求工程练习题一、单选题(每空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每一个集成的需求变更必须能跟踪到一个经核准的变更请求。

软件需求分析-复习题

软件需求分析-复习题

需求分析的目的:需求分析主要用于获取用户的具体需求,通过对实际需求的获取、分析、文档化和验证等需求分析过程,为进一步的设计和实现提供依据:(1) 需求分类。

将软件功能、性能、可靠性等相关需求进行分类、逐一细化。

(2) 面向用户获取并分析需求。

软件研发其他阶段都是面向技术的,只有需求分析阶段是面向用户的,深入调研获取并分析软件的功能、性能、可靠性等,也可从系统和用户需求中推导出软件具体需求,并检查需求定义准确性,是否存在二义性。

(3) 检查和解决不同需求间的矛盾。

尽量达到均衡和优化。

(4) 确定软件的边界,以及软件与环境的相互作用方式等。

如应用及运行边界和环境。

(5) 对需求文档化并进行最后验证与确认。

难点:主要体现在以下5个方面:(1)问题确定难。

主要原因一是应用领域的复杂性及业务变化,难以具体确定;二是用户需求所涉及的多因素引起的,如运行环境和系统功能、性能、可靠性和接口等。

(2)需求动态性。

软件的需求在整个软件生存周期,常会随着时间和业务而有所变化。

有的用户需求经常变化,一些企业可能正处在体制改革与企业重组的变动期和成长期,其企业需求不成熟、不稳定和不规范,致使需求具有动态性。

(3)交流共识难。

需求分析涉及的人事物及相关因素多,与用户、业务专家、需求工程师和项目管理员等进行交流时,不同的背景知识、角色和角度等,使交流共识较难。

(4)完备一致难。

由于不同人员对系统的要求认识不尽相同,所以对问题的表述不够准确,各方面的需求还可能存在着矛盾。

难以消除矛盾,形成完备和一致的定义。

(5)深入完善难。

需求理解对不全面准确的分析,客户环境和业务流程的改变,市场趋势的变化等,也会随着分析、设计和实现而不断深入完善,可能在最后重新修订软件需求。

分析人员应认识到需求变化的必然性,并采取措施减少需求变更对软件的影响。

对必要的变更需求要经过认真评审、跟踪和比较分析后才能实施。

需求分析之所以特别重要是因为1)许多软件开发失败的原因都归结为需求分析没有做好。

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

软件需求分析与设计复习题一.判断1、( × ) 程序设计语言种类很多,在进行软件开发时可以随便选择一种语言进行编码。

2. ( x ) 软件需求规格说明书在软件开发中具有重要的作用,是软件可行性分析的依据。

3、(× ) 在软件开发的各个阶段进行过程中,增加人员肯定会对整个项目提前完成有好处。

4.( x ) 好的测试用例应能证明软件是正确的。

5.( x ) 软件功能测试的测试用例主要是由需求阶段的功能说明部分转化而来。

6、( x ) CoCoMo模型可以用来估算系统的工作量和软件开发所需时间。

7.( x ) 有时为了测试的方便,而可以局部地修改软件系统。

8、( v ) OOA方法的核心思想是利用面向对象的概念和方法为软件需求建造模型,大致步骤是识别对象(属性和方法),识别类及其结构,定义对象之间的消息传递等。

9.( x ) 面向对象方法更适合于软件重用的根本原因在于它是软部件唯一的合成技术。

10、( v ) 系统需求分析员应该具有开发软、硬件系统的经验并且了解用户领域的知识。

11.( x ) 在软件的生命周期中,工作量最大的一个阶段就是编写程序。

12、( x )软件运行正确,可见软件中没有缺陷(fault)。

13.( x ) RUP(Rational Unified Process:统一软件过程)本质上是轻量级的软件过程规范。

14、( v )软件失败(failure)在系统交付之前和交付之后都可能被发现。

15.( x ) 基准测试(benchmark test)是非正式的用户确认和验收测试。

16、( x )开发人员和客户对软件质量因素的认可是完全一致的。

17.( x ) UML语言支持面向对象的主要概念,并与具体的开发过程相关。

18、( v )里程碑(milestone)就是开发过程中的某个活动(activity)。

19.( v ) 好的软件测试是用少量的测试用例运行程序,发现被测程序尽可能多的错误。

20、( x )在软件开发中一定要不惜代价避免风险。

21.( v ) 在需求分析中,分析员要从用户那里解决的最重要的问题是明确软件做什么。

对功能的具体实现。

22.( v )用例图定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部23.( v ) 软件过载缺陷就是当运行程序时,软件内部定长的数据结构被溢出,系统任务无法24.( v ) 结构化程序设计方法能改善程序结构,提高程序的运行效率。

二、选择从供选择的答案中,选出正确的答案填入()内1.白盒测试法常用的方法是A方法,黑盒法中常用的方法是B方法和C方法,C方法根据输入的关系设计测试用例。

供选择的答案:(②③⑤)A、B、C:①综合测试②路径测试③等价分类④归纳测试⑤因果图⑥追踪⑦回溯⑧排错2. 软件工程的出现是由于( A )。

A.软件危机的出现 B. 计算机硬件技术的发展C.软件社会化的需求 D. 计算机软件技术的发展3. 系统技术可行性研究涉及的技术应该是(D)技术。

A.现在已提出的 B. 现在在研究的C.不一定可以获得的 D. 一定可以获得的4.模块综合测试的方法有A和B两种,A是从下层模块向上层模块依次结合进行测试,为测试需要C 以便调用被测模块,但从开发的初期就能并行进行测试作业,并且每个模块的D都很容易做,是这种方法的优点。

其缺点是直到测试的最后阶段,程序的缺陷都难以发现。

B是从上层模块向下层模块依次结合进行测试,为了测试需要设计E模块模拟被测模块所调用的下级模块。

供选择的答案:(A:⑦ B:⑥ C:⑥ D:① E:①)A、B、D:①功能测试②组合测试③综合测试④可靠性测试⑤结构测试⑥自顶向下测试⑦自底向上测试C、E:①仿真②模拟③生成④转贮⑤跟踪⑥驱动模块⑦宏模块⑧支持模块5.软件设计中划分程序模块通常遵循的原则是要求各模块间的耦合性尽可能________,三种可能的模块耦合是:__________:例如,一个模块直接引用另一模块中的数据。

__________:例如,一个模块把开关量作为参数传送给另一模块。

__________:例如,一个模块把数值量作为参数传送给另一模块。

其中,__________的耦合性最强。

(②⑧⑨⑤⑧)6.软件是计算机系统中与硬件相互依存的部分,它是包括(A)、(B)及(C)的完整集合。

其中,(A)是按事先设计的功能和性能要求执行的指令序列,(B)是使程序能够正确操纵信息的数据结构,(C)是与程序开发、维护和使用有关的图文资料。

A,B,C:①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表填入答案(A:②B:⑦C:⑤)7.软件测试的目的是A[ ]。

为了提高测试的效率,应该B[ ]。

使用白盒测试方法时,测试数据应该根据C[ ]和指定的覆盖标准。

一般来说,与设计测试数据无关的文档是D[ ],软件测试工作最好由E[ ]来承担,以提高集成测试的效果。

A:(1)评价软件的质量(2)发现软件的错误(3)找出软件中的所有错误(4)证明软件是正确的B:(1)随机的选取测试数据(2)取一切可能的输入数据作为测试数据(3)在完成编码以后制订测试计划(4)选择发现错误的可能性大的数据作为测试数据C:(1)程序的内部逻辑(2)程序的复杂程度(3)使用说明书(4)程序的功能D:(1)需求规格说明书(2)总体设计说明书(3)源程序(4)项目开发计划E:(1)该软件的设计人员(2)该软件开发组的负责人(3)该软件的编程人员(4)不属该软件开发组的软件设计人员填入答案:(A:2 B:4 C:1 D:3 E: 4 )三、名词解释、简答与论述1、软件工程的定义:软件工程是一种系统工程,不只包括对技术问题的分析与解决,还包括对开发过程和给参与者分配合适的角色等方面的管理。

2、说明错误、缺陷、失败的含义与联系。

答:错误,是进行软件开发过程中人为出错造成的。

缺陷:当人们在进行软件开发活动的过程中出现错误时,就会引起缺陷。

失败:是指系统违背了它应有的行为。

可能会在系统交付前或交付后被发现,也可能在测试过程中或者在运行和维护过程中被发现。

(1)单个错误可能产生多个缺陷,并且缺陷可能驻留在任何开发或维护的产品中,如设计人员可能错误理解某个需求,创建处于需求分析人员和用户实际意图不相符的设计,这个设计缺陷是一种错误的编码,可能导致其他缺陷,像不正确的代码或用户手册中不正确的描述等。

(2)并非每一个缺陷都对应于一个失败,如果不执行缺陷代码或者不进入某个特定状态缺陷就不会引起失败。

(3)缺陷是系统的内部视图,这是从开发人员角度看问题而失败是系统的外部视图,它是用户所看到的问题。

3、软件质量应从哪几个方面来衡量?论述之。

答:(1)产品的质量:用户在测量软件质量的时候,用户从故障数目和故障类型等外部特性进行评价,如将失败分为次要的、主要的、灾难性的。

设计和编写代码倾向于考虑内部特性,尤其是,从业人员通常会把故障的数目和类型看作产品质量的证据。

(2)生产该产品的过程的质量:任何一个活动出了差错都会影响产品的质量,对过程进行建模的优点是我们能够研究它,并寻找方法对他加以改进。

(3)在产品将使用的商业环境背景下的产品的质量4、现代软件工程大致包含的几个阶段及各个阶段文档(P23-24)答:(7)软件开发瀑布模型的不可预测性。

6、请写出下列术语的英文全称或缩写:能力成熟度模型:CMM,极限编程:ExtremeProgramming,简称XP7、瀑布模型及各阶段文档,优缺点?答:需求分析SRS系统设计系统设计文档如软件结构图程序设计模块功能算法和数据描述文档编码源程序和注释单元测试和集成测试测试报告系统测试测试报告验收测试测试报告运行维护维护报告优点:(1)它的简单性使得开发人员很容易向不熟悉软件开发的客户作出解释。

(2)明确的表示出为了下一阶段的开发,那些中间产品是必须的。

用里程碑明确表示出一个阶段的结束,并伴随着提交物。

(3)瀑布模型是其他复杂模型的基础。

缺点:⑴最大的问题是它不能反映实际代码的开发过程。

⑵面临软件变动时, 该模型无法处理实际过程中的重复开发问题----软件是一个创造的过程,不是一个制造的过程。

⑶文档转换有困难。

⑷没有将开发看成一个迭代的过程。

⑸难以适应商业环境和操作环境的变化。

8、论述分阶段开发模型的含义, 分类及特点。

答:分阶段开发模型:系统被设计成部分提交, 每次用户只能得到部分功能, 而其他部分处于开发过程中. 分类:增量开发:系统需求按照功能分成若干子系统,开始建造的版本是规模小的、部分功能的系统,后续版本添加包含新功能的子系统,最后版本是包含全部功能的子系统集。

迭代开发:系统开始就提供了整体功能框架,后续版本陆续增强各个子系统,最后版本使各个子系统的功能达到最强.9、在所有的软件开发过程模型中,你认为哪些过程给予你最大的灵活性以应对需求的变更?1设计对于分析模型应该是可跟踪的:软件的模块可能被映射到多个需求上。

2设计结构应该尽可能的模拟实际问题。

3设计应该表现出一致性。

4不要把设计当成编写代码。

5在创建设计时就应该能够评估质量。

6评审设计以减少语义性的错误。

10、什么是项目进度?项目进度是对特定项目的软件开发周期的刻画。

包括对项目阶段、步骤、活动的分解,对各个活动的交互关系的描述,以及对各活动完成时间的初步估算。

11、软件人员应该具备的能力是什么?答:(1)完成工作的能力(2)对工作的兴趣(3)开发类似应用的经验(4)使用类似工具或语言的经验(5)使用类似开发环境的经验(6)使用类似技术的经验(7)培训(8)与他人交流的能力(9)与他人共同承担责任的能力(10)管理技能12、软件项目组织的基本结构?主程序员组式的小组结构有什么优点?答:(1)主程序员负责制组:简化交流,更快地作出决定(2)无私编程方法:所有小组成员共同决定,共同承担责任。

13、专家估算法的大致含义?算式估算法的大致含义?答:专家估算法:依赖于专家判断,一些是非正式的技术,基于管理人员具有的类似项目的经验。

因此,预测的准确性基于估算者的能力、经验、客观性和洞察力。

算式估算法:其中S是系统规模估计量,a,b,c是常量,X是从x1到xn的一个成本因素的向量,m是基于这些因素的一个调整因子。

14、试述COCOMO模型的三个阶段基本工作原理或含义。

答:阶段1,项目通常构建原型以解决包含用户界面、软件和系统交互、性能和技术成熟性等方面在内的高风险问题。

COCOMO用应用点来估计规模。

阶段2(早期设计阶段),COCOMO采用功能点作为对规模的估计量。

阶段3(后体系结构阶段),COCOMO规模用功能点或代码行的形式来表述。

15、什么是风险?有几种降低风险的策略?答:风险是指一种具有负面后果的、人们不希望发生的事件。

相关文档
最新文档