期末总复习题(软件工程).docx
《期末总复习题(软件工程).docx》由会员分享,可在线阅读,更多相关《期末总复习题(软件工程).docx(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、期末总复习题 2009-06-10【一】判断题(在括号中回答Y或N)1. 软件工程的作用,主要是告诉你怎么写文档。( N )2. 参加ACM程序设计比赛时,选手“只写代码行不写注解行”这一事实,确实说明了注解行不重要,在源程序中可有可无。( N )3. 在软件项目开发的后期,为了加快开发进度,可以多增加几个开发人员。(N)4. 在软件项目开发的早期,为了加快开发进度,可以多增加几个开发人员。(Y)5规范化的概要设计文档比需求分析文档更重要,因为有了概要设计文档就可以进行详细设计。( N )6. 规范的详细设计文档比源程序更重要,因为有了文档就可以写出源程序。(Y)7. 模块间的耦合越强,则表明
2、模块里面的内聚性越强。(N)8. 模块的内聚越强,则表明模块之间的耦合越弱。(Y)9. CMM是CMMI的祖先,CMMI是CMM的后续。(Y)10. ISO9000是ISO9001的祖先,ISO9001是ISO9000的后续。(Y)11. 软件配置管理就等于软件版本管理。(N)12. 软件版本管理是软件配置管理的研究课题。(Y)13. 敏捷开发模型就等于结对编程。(N)14. 敏捷开发模型就是快速原型法。(N)15. 面向元数据的开发方法就是传统意义下的Jackson方法。(N)16. 面向过程的开发方法就是结构化方法。(Y)17. 数据流图DFD就等于PAD图。(N)18. 数据流图DFD就
3、等于程序设计流程图。(N)19. “接口和实现分离”是软件设计原理之一。(Y)20. “单入口和单出口”是程序设计原则之一。(Y)21. 程序测试不仅能证明错误的存在,也能证明错误的不存在。(N)22. 编译系统不认识、也不编译源程序中的注解行这一事实,确实说明了注解行不重要,在源程序中可有可无。(N)23. 若两个实体之间存在多对多的关系,则应该将第三个实体插入其中,使原来的一个多对多关系变为现在的两个一对多关系,这里的第三个实体,实际上是一个复杂的关系,也是笛卡尔积的子集。(Y)24. 质量来源于过程,过程需要改进,改进是无止境的,这就是CMMI精神。(Y)25. 测试只能发现程序中的错误
4、,不能发现文档中的问题。(N)26. 敏捷模型是轻载模型,CMMI模型是重载模型。(Y)27. 高内聚低耦合是软件设计原理或原则之一。(Y)28软件测试的目的是改正软件中的错误。(N) 应该是发现软件中的错误29同行评审会议中的同行专家,一般都是从公司外面聘请的。(N)30软件策划应该在需求分析之前。(N)31需求分析就是分析元数据与中间数据的关系。 (N) 太片面32信息系统需求分析主要是分析元数据与中间数据的关系。 (Y)33项目经理的主要职责就是进行数据库设计。 (N) 34编码阶段结束后,测试经理就应该立即着手编写测试计划。(N)35软件设计就是数据库设计。 (N)40软件实现就是编程
5、序。 (N) 41软件实现主要是编程序。 (Y)42. CMMI就是解决项目管理的工作规范化问题。(N)43. 制定软件测试计划,一项重要工作是要将用户需求分解为测试需求,然后再将测试需求转化为测试用例。(Y)44. 软件测试与软件调试是一回事。(N)45渐增式测试是逐个把未经过测试的模块组装到已经过测试的模块上去,进行集成测试。每加入一个新模块进行一次集成测试,重复此过程直至程序组装完毕。(Y)45面向对象设计是运用类的思想,把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。或者说,面向对象设计就是用面向对象观点建立求解域模型的过程。(Y) 46结构化设计(SD)是面
6、向数据流的设计,它是以需求分析阶段产生的数据流图DFD为基础,按一定的步骤映射成为系统的软件结构。(Y)47信息隐蔽是指在设计和确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其它模块来说,是不能访问的。(Y)48抽象是认识复杂现象过程中使用的思维工具,即抽出事物本质的共同的特征而暂不考虑它的细节,不考虑其它非本质的因素。(Y)49路径覆盖是指设计足够的测试用例,覆盖被测程序中所有可能的路径。(Y)50判定/条件覆盖是指设计足够的测试用例,使得判定表达式中的每个条件的所有可能取值至少出现一次,并使每个判定表达式所有可能的结果也至少出现一次。(Y)51条件组合覆盖是指设计
7、足够的测试用例,使的每个判定表达式中条件的各种可能的值的组合都至多出现一次,条件组合覆盖是比较强的覆盖标准。(Y)52条件覆盖是指设计足够的测试用例,使得判定表达式中每个条件的各种可能的值至多出现一次。满足条件覆盖并不一定满足判定覆盖。(Y)53软件工程是为了克服软件危机。(Y)54软件工程是完全克服了软件危机。(N) 太绝对【二】名词解释1元数据元数据是关于数据的数据,组织数据的数据。如数据库概念设计中的实体名和属性名,数据库物理设计中的表名和字段名等都是元数据。2. 软件工作产品(注:软件工作产品和15.软件产品的异同软件产品是最后一个阶段的软件工作产品。)软件工作产品是指开发过程中每个阶
8、段的文档、数据和程序,即每个开发阶段的输出制品。3评审与审计评审是对软件工作产品而言的,它针对软件工作产品的开会(评审)或汇签(评审)活动,是一次集体行为。审计是复查软件活动的程序是否遵守规则,是否合法。它本身是审计员的一次个人行为。4. 不符合项不符合项是指没有满足要求的项。5. 黑盒测试黑盒测试又称功能测试。在这里,盒子指的是被测试的软件,“黑盒”就是只知道被测试软件的外部情况,主要是界面和接口,被测试软件的内部逻辑结构和数据结构,对测试人员来说是不可见的,主要关注被测试软件的功能实现。6. 白盒测试白盒测试就是对程序执行路径的测试,又叫做玻璃盒测试(Glass Box Testing)、
9、透明盒测试(Clear Box Testing)、结构化测试(Structured Testing)、开放盒测试(Open Box Testing)、基于代码的测试(Code-Based Testing)等等。7. 项目 P.326项目是一次性的多任务工作,它具有确定的开始日期、结束日期、工作范围、经费预算、质量标准,以及特定的功能、性能和接口要求。8. 项目管理 P.326项目管理是为了实现项目目标,运用相关的知识、技能、方法与工具,对项目的计划、进度、质量、成本、资源进行管理和控制的活动。或 ( 项目管理是指“在软件项目管理活动中,运用专门的知识、技能、工具和方法,使项目能够如期或提前实现
10、。” )9. 客户化客户化是指按照客户的实际情况,对软件产品的功能、性能、接口做适当的改动。10. 初始化初始化是指按照客户的实际情况,对软件产品的代码表(又称数据字典)进行初始化,即将客户的各种信息编码录入到相应的代码表中。11.CMM与CMMICMM是指“能力成熟度模型”,是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。(即评估软件能力与成熟度等级的一套标准)CMMI 的全称为:Capability Maturity Model Integration,即能力成熟度模型集成。CMMI是CMM模型的最新版本。(CMMI是CMM的继承与发展,CMM只适用于软件
11、企业,CMMI适合于所有的IT企业)12. KPA与PA关键过程域(KPA,Key Process Area ),它指出了企业需要集中力量改进的软件过程。同时,也指明了为了要达到该能力成熟度等级所需要解决的具体问题。项目管理员(PA,Project Administrator)。13. 敏捷模型或敏捷方法敏捷方法是在保证软件开发有成功产出的前提下,尽量减少开发过程中的活动和制品的方法。其特点是对软件生产率的高度重视,主要适用于需求模糊或快速变化下的、小型项目组的开发。14软件软件的定义:软件 = 程序 + 数据 + 文档。现在有一种新提法正在引起关注,这种提法是:软件 = 知识 + 程序 +
12、数据 + 文档。15. 软件产品软件产品是指不局限于特定业务领域、能被广大用户直接使用的软件系统(或 软件产品是指软件开发与测试工作已经完工、并且可投入市场销售的软件产品),如操作系统、编译系统、工具系统、通用财务系统等。16可行性分析与软件立项 (P.63)可行性分析是世界上普遍采用的一种研究工程项目是否可行的科学。它通过各种有效的方法,对工程项目进行分析,从技术、经济、财务等方面加以评价,最终给投资决策者提供是否选择该项目进行投资的依据。可行性分析是立项的前提,立项是可行性分析的结果。对于软件企业,一般不叫项目可行性分析而叫立项,只有在学校、机关、科研所等单位,才叫项目可行性分析。17.
13、软件生存周期软件生存周期是指软件的使用寿命,即生产周期加上使用周期。18. CASE工具CASE(Computer Aided(or Assisted)Software Engineering计算机辅助软件工程。CASE是能够提供一组能够自动覆盖软件开发生命周期各个阶段的集成的、减少劳动力的,并可以加快开发速度,提高应用软件生产率并保证应用软件的可靠品质的工具。19. 集成测试集成测试是指检测此前测试过的单个模块或组件,是否能完好地融入系统,与其他模块或组件正确地一起运行。20. 结构化维护 P.257软件产品或软件项目有完善的文档,并且文档与程序代码互相匹配,两者完全一致。对这种软件产品或软
14、件项目的维护称为结构化维护。21. SQA P.308软件质量保证(SQA,Software Quality Assurance)是一套有计划、有系统的用于向管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用的方法。22. 客户与用户客户是软件企业合同的签约方,是软件产品的销售对象。客户是顾客的一部分。用户是软件产品的最终使用者,用户是客户的一部分。23. 软件质量所谓软件质量,就是供方提供的软件产品满足用户明确和隐含需求的能力特性的总和。24. 软件测试V模型 P.222软件测试V模型是由开发阶段和测试阶段构成的最典型的测试模型。开发阶段先从定义软件需求开始,然后要把这些需求
15、不断地转换到概要设计和详细设计中去,最后形成程序代码;测试阶段是在代码编写完成以后,先做单元测试开始,然后是集成测试、系统测试和验收测试。25顾客、客户和用户顾客的范围比“客户”的范围更广泛一些,它包括潜在的客户。客户是软件企业合同的签约方,是软件产品的销售对象。客户是顾客的一部分。用户是软件产品的最终使用者,用户是客户的一部分。26软件配置项软件配置管理中的基本单元,称为软件配置项。27软件功能、性能和接口软件功能指的是软件的作用,即使用软件所能达到的目的;软件性能指的是完成软件功能的效率;软件接口指的是软件不同部分之间的交互接口。通常就是所谓的API应用程序编程接口,其表现形式是源代码。2
16、8软件过程所谓软件过程,就是根据选定的生存周期模型,规定软件的开发阶段,及每一阶段的工作步骤和文档标准等内容。29软件里程碑和基线 P.67里程碑是一个标记,之需要经过内部评审。一个里程碑是一个检查点,但不一定是基线。基线是软件工作产品,它是经内部和外部评审过的,并且是下一阶段工作的基础。一根基线是一个里程碑或一个检查点。30信息系统利用计算机网络技术、数字通信技术与数据库技术实现信息采集和处理的系统,称为当代信息系统。31集成测试集成测试是指检测此前测试过的单个模块或组件,是否能完好地融入系统,与其他模块或组件正确地一起运行。32BugBug是指电脑系统的硬件、系统软件(如操作系统)或应用软
17、件(如文字处理软件)出现的错误、漏洞。33. ER图E-R图也即实体-联系图(Entity Relationship Diagram),提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。34. 概念数据模型概念数据模型(CDM)也称信息模型,它以实体联系(Entity-RelationShip,简称E-R)理论为基础,并对这一理论进行了扩充。它从用户的观点出发对信息进行建模,主要用于数据库的概念级设计。概念数据模型CDM,就是数据库的逻辑设计,即E-R图。35. 物理数据模型物理数据模型(PDM)就是数据库的物理设计,即物理表。36原型模型以某个软件原型为参照模型的开发方法,叫做
18、原型法。37UMLUML是一种面向对象的图形化的建模语言,主要用于软件的分析与设计38RUP统一软件开发过程(RUP,Rational Unified Process)又称为统一软件过程,是一个面向对象且基于网络的程序开发方法论。【三】简答题1. 软件工程中的理论、方法、标准、规范,主要来自于哪里?即:软件工程的源头或基础是什么?【答】软件工程中的理论、方法、标准、规范,主要来自于IT企业软件研发的工作思路与步骤以及面向工程实践案例。信息产业的核心是芯片与软件,软件工程是软件开发、生产、服务和管理的科学。所以可以说软件工程是以信息产业的飞速发展为源头或基础的。2软件开发文档包括哪些具体文档?【
19、答】开发文档包括目标程序、源程序、详细设计说明书、概要设计说明书、需求规格说明书、用户需求报告、软件合同。3. 软件管理文档包括哪些具体文档?【答】管理文档包括项目开发计划书、测试计划、测试报告、工作日报、会议记录、开发进度报告、开发总结报告,其中开发进度报告又分为开发进度周报和开发进度月报。4请详细解释软件的定义和程序的定义。【答】软件的定义:软件 = 程序 + 数据 + 文档。这里的程序是指程序系统。这里的数据不仅包括初始化数据、测试数据,而且包括研发数据、运行数据、维护数据,也包括软件企业积累的项目工程数据和项目管理数据中的大量决策原始记录数据。这里的文档指的是软件开发过程中的分析、设计
20、、实现、测试、维护文档、管理文档。现在有一种新提法正在引起关注,这种提法是:软件 = 知识 + 程序 + 数据 + 文档。程序是计算机为完成特定任务而执行的指令的有序集合。从应用的角度可理解为:面向过程的程序 = 算法 + 数据结构面向对象的程序 = 对象 + 信息面向构件的程序 = 构件 + 构架。5“四种开发方法”和“五个面向实施理论”的提法对吗?为什么?【答】“四种开发方法”和“五个面向实施理论”的提法对,并且既精彩又实用。首先,“四种开发方法”是指“面向过程的方法、面向对象的方法、面向数据的方法、形式化方法”,面向过程的方法来源于面向过程的程序设计,面向对象的方法来源于面向对象的程序设
21、计,面向数据的方法就是面向元数据的方法,它来源于关系数据库程序设计,形式化方法来源于离散数学中的集合运算和逻辑运算。四种方法各适用于不同的场合,各有优缺点,互相促进,构成一个开发方法论的多极化世界。其次,“五个面向实施理论”是指“面向流程分析、面向数据设计、面向对象实现、面向功能测试、面向过程管理”,它是在综合“四种开发方法”各自的优点之后提出的软件工程实施理论,是对前者的继承与发展。6“图书馆信息系统”的开发选用什么模型合适?为什么?【答】“图书馆信息系统”的开发选用瀑布模型比较合适。因为瀑布模型开发阶段清晰,便于评审、审记、跟踪、管理和控制,而且“图书馆信息系统”在一定程度上符合瀑布模型的
22、条件:(1)它在开发时间内需求没有变化或很少变化。(2)分析设计人员对应用领域很熟悉。(3)低风险项目。(4)用户使用环境比较稳定。(5)用户提出需求以外,很少参与开发工作。7. “精品课程网站”的开发选用什么模型合适?为什么?【答】“精品课程网站”的开发选用原型模型比较合适。因为现在“精品课程网站”比较普及,很容易找到一个可以事先给客户展示的产品原型,让客户试用,在使用中收集客户意见,根据意见立刻修改原型。原型模型开发速度快,用户意见反馈实时,有利于开发商在短时间内推广并实施多个客户,而且 “精品课程网站”在一定程度上符合原型模型的条件:(1) 已有产品/产品原型,只需客户化的项目。(2)
23、简单而熟悉的行业或领域。(3) 有快速原型开发工具。(4) 进行产品移植或升级。8什么叫风险分析?技能风险和技术风险有何区别?【答】这里的风险分析是指软件立项过程中对产品开发、销售等可能出现的风险进行分析。分析方法就是将一个大风险化解好多个小风险,然后一个个克服小风险。技术风险是指采用新技术的风险程度。技能风险是指项目组成员掌握新技术的风险程度。二者的区别在于一个是说新技术(如新的开发工具,新的设计思想)本身的风险,一个是说人员要掌握这种新技术的风险。9为什么需求分析特别重要、又特别难? P.66【答】需求分析特别重要,是因为:(1)许多大型应用系统的失败,最后均归结到需求分析:要么获取需求的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 期末 复习题 软件工程
限制150内