软件过程与软件管理课程复习题(答案)备课讲稿
- 格式:doc
- 大小:200.50 KB
- 文档页数:10
选择*CMM2(可重复级)重点关注的是下列哪一个级别的软件过程:项目*下面有关CMM模型的描述中,不正确的是:CMM模型给出了适用于各种应用范围的专门技术*以下哪一个KPA不是CMM2(可重复级)关键过程域:定量过程管理*直接在测试环境中修改源代码违反了下列哪一个KPA的规定:配置管理*以下哪一项是实施OPF(组织过程焦点)活动的前提条件:成立SEPG组*“定期地评估过程,理解过程的强项和弱项”是哪一个KPA的活动:OPF(组织过程焦点)*OPF(组织过程焦点)的验证工作是由来承担的。
:高级管理者*在RUP中,关于周期(Cycle)、阶段(Phase)、迭代(Iteration)的描述错误的是:每个迭代都是一次小型的瀑布式开发,从需求分析直到测试、集成等工作都花费同样的时间*下列关于过程和软件过程的描述中不正确的是。
过程就是指完成某项任务的步骤之间的先后顺序*下列关于“软件过程管理”和“软件工程”的描述中,不正确的是。
软件过程管理并不属于软件工程的范畴*软件开发的瀑布模型是。
适用于需求被清晰定义的情况*在RUP中,有一个术语叫做“制品”(Artifacts),在CMM中与之对应的术语是。
工作产品(Work Products)*以下哪一项不是成熟的软件过程的特点。
高度依赖于专业人员*依靠天才的管理者管理软件开发是很多公司的做法。
这种做法之所以错误的最主要的原因是。
依靠个人意味着放弃组织责任该组织实际上已经从这个项目退出填空*可将过程分为产品实现过程,管理过程,支持过程三大类。
*RUP是一个软件过程的框架,它所使用的可视化建模语言是UML*软件开发的三个要素是人、技术和管理,先重视技术,后重视管理,是世界软件业发展的共同规律。
*软件危机是指软件项目开发在时间、成本和质量三方面出了问题。
*用于提高软件过程能力的实践通称为软件过程改进。
*经典软件工程的一个重大贡献是防止了软件开发人员匆匆开始编码,而强调了需求分析和系统设计的重要性,软件过程管理的理论则为持续提高软件过程能力指明了一条行之有效的道路。
软件过程与软件管理课程复习题一.解释相关概念或术语1.软件过程:软件过程是指软件开发人员开发和维护软件及相关产品(如项目计划、设计文档、代码、测试用例、用户手册等)的一套行为、方法、实践及变换过程。
软件过程涵盖了软件采购、软件开发、软件维护、软件运行、软件获取、软件管理、软件支持等7大类的软件活动。
2.软件过程工程:为建造软件过程所进行的一系列工程化活动。
软件过程工程的基本活动包括过程定义、过程例化、过程模拟、过程运作。
3.软件配置管理:SCM是标识和确定系统中配置项的过程,在系统整个生命周期内控制这些项的投放和变动,记录并报告配置的状态和变动要求,验证配置项的完整性和正确性(GB/T11457-1995软件工程术语)。
针对SCM在软件生命周期各阶段所起的作用,一个完整的SCM环境要求具有版本控制、变更管理、状态统计、和配置审计的功能。
4.CMM中的关键过程域:每个软件能力成熟度等级包含若干个对该成熟度等级至关重要的过程方面,它们的实施对达到该成熟度等级的目标起到保证作用。
这些过程域就称为该成熟度等级的关键过程域。
5.CMM中的关键实践:是指关键过程域种的一些主要实践活动。
每个关键过程域最终由关键实践所组成,通过实现这些关键实践达到关键过程域的目标。
一般情况下,关键实践描述了该“做什么”,但没有规定“如何”去达到这些目标。
6.CMM中的SEPG:软件工程过程组(Software Engineering Process Group)由专家组成,统领CMM 实施活动,协调全组织软件过程的开发和改进活动,制定、维护和跟踪与软件过程开发和改进活动有关的计划,定义用于过程的标准和模板,负责对全体人员培训有关软件过程及其相关的活动。
DP/RUP:USDP(Unified Software Development Process,统一软件开发过程)是一种基于构件的,用况和风险驱动的,以构架为中心,迭代和增量式的开发过程。
工程的特征有哪些?有明确的目标?工程之间的活动具有相关性?限定的周期?有独特性?资源成本的约束性?工程的不确定性?工程与日常运作有什么不同?工程是一次性的,日常运作是重复进行的?工程是以目标为导向的,日常运作是通过效率和有效性体现?的工程是通过工程经理及其团队工作完成的,而日常运作是职?能式的线性管理工程存在大量的变更管理,而日常运作则基本保持连贯性?的。
软件工程有什么特殊性?为逻辑实体而非物理实体,具有抽象性?没有明显的制造过程,也不存在重复生产?软件工程的开发受到计算机硬件的制约?不可能完全摆脱手工开发模式?软件本身是相当复杂的,涉及因素众多,需求多变?软件工程投入大、成本高?软件工程管理有什么特征?1 / 29软件是纯知识产品,其开发进度和质量很难估计和度量,生?产率也难以预测和保证。
工程周期长,复杂度高,变数多。
?软件工程提供的是一种服务,需要满足一群人的期望,即需?要满足一群想法和利益各不相同的人的需求。
PMBOK包括哪9个知识领域?集成管理?范围管理?时间管理?成本管理?人力资源管理?沟通管理?风险管理?质量管理?采购管理?常用的生存期模型有哪些?各适用于什么工程?瀑布模型:分析、设计、编码、测试和维护严格按步骤进?行,适合于工程开始前有明确需求和明确的解决方案的工程,如公司的财务系统、库存管理系统、短期工程等。
V模型:是瀑布模型的变种,强调测试的重要性,将开发活?动与测试活动紧密联系在一起。
适合于对系统的性能、安全有严格要求的工程。
2 / 29原型模型:适合于在工程开始前对工程需求不明确,为了减?少工程需求的不确定性而先开发工程的基本原型系统以验证可行性,然后逐步补充完善。
增量模型:由瀑布模型演变而来,假设需求可分阶段,分成?一系列增量产品分别开发。
适合于工程开始明确了需求的大部分,但对市场和用户把握不是很准。
对于有庞大和复杂功能的系统也可考虑增量开发。
螺旋式模型:该模型在四个象限上分别表达了计划制定、风?险分析、工程实施、客户评估四个方面的活动,通过一系列瀑布模型的不断循环来逐步规避风险。
1. 需求分析团队中最主要的人员:项目经理、系统分析人员、设计人员、用户方业务人员。
2. 提高软件开发效率的方法:架构设计、软件包(成熟的)、开源软件、CASE 工具、面向对象代码重用方法、制定编码规范、代码生成工具、好的软件开发工具、平台。
3. 软件项目的属性:(1)惟一性。
(2)一次性(3)多目标性(4)生命周期属性(5)相互依赖性(6)冲突属性4. 软件设计中主要有哪些设计:系统架构设计、子系统设计、业务流程设计、数据库设计(核心)、系统间通信接口设计、批处理设计、用户界面设计、功能模块设计。
5. 软件项目管理的核心(内容):项目进度、项目质量、项目成果、项目人员。
6. 软件迭代开发的过程:制定过程、风险分析、实施工程、客户评估。
7. 软件项目生命周期中的四个重要阶段: 立项、设计、开发、收尾。
8. 软件项目管理角度软件生命周期为:1.软件计划2.软件需求分析3.软件设计4.软件编码5.软件测试6.软件实施7.软件维护9. 软件利益相关者:用户、软件拥有者、开发商。
【项目发起人、承约商/被委托人、客户/委托人、供应商、贡献者、项目投资方、经理以及项目涉及公共设施的当地居民。
】10. 系统试运行的目的: ( 1.检测系统设计和功能是否符合用户要求2.潜在问题和错误的发现 )(1) 通过对实际业务的模拟操作,检验系统设计和实现的功能是否真正满足用户的实际业务需求。
并在实际业务环境下,查找软件编码中潜在的问题和错误。
(2) 通过操作人员的实际工作体会,对系统的可行性提前进行评价。
(3) 提前在实际运行环境下检验系统处理业务峰值数据的稳定性和系统的健壮性。
(4) 为系统正式运行积累宝贵的经验。
11. 软件成本计算的公式: 程序规模的估算值 = 46A MB ++(程序的最小规模A ,最大规模B ,最可能的规模M ) 开发工作量 = /⨯修正系数(程序长度标准生产率)修正系数 = 10.1n +⨯12. 质量控制措施有哪些:1.实行工程化开发。
软件过程与软件管理课程复习题(一)解释相关概念或术语1)软件工程●是指导软件开发和维护的工程类学科,它以计算机科学理论及其他相关学科的理论为指导,采用工程化的概念、原理、方法和技术,进行软件的开发和维护,并与经过时间证明正确的管理方法与措施相结合,以较少的代价获取高质量的软件。
●The IEEE Computer Society:是(1) 将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中。
(2) 对(1)中所述方法的研究。
2)软件过程●软件过程是指软件开发人员开发和维护软件及相关产品(如项目计划、设计文档、代码、测试用例、用户手册等)的一套行为、方法、实践及变换过程●根据IEEE对软件过程概念的解释,软件过程涵盖了软件采购、软件开发、软件维护、软件运行、软件获取、软件管理、软件支持等7大类的软件活动●ISO12207分别将这些活动归结为基本过程、支持过程和组织过程等3大类3)软件过程工程为建造软件过程所进行的一系列工程化活动,包含如下基本活动:过程定义、过程例化、过程模拟、过程运作。
现代软件工程=软件项目工程+软件过程工程,这标志着软件过程的时代的到来。
4)软件配置管理SCM是标识和确定系统中配置项的过程,在系统整个生命周期内控制这些项的投放和变动,记录并报告配置的状态和变动要求,验证配置项的完整性和正确性(GB/T11457-1995软件工程术语)。
针对SCM在软件生命周期各阶段所起的作用,一个完整的SCM环境要求具有版本控制、变更管理、状态统计、和配置审计的功能。
5)CMMCMM是指“能力成熟度模型”,其英文全称为Capability Maturity Model for Software,英文缩写为SW-CMM,简称CMM。
它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。
CMM 的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化、使企业能够更好地实现商业目标。
软件管理试题及答案一、单项选择题(每题2分,共20分)1. 以下哪个不是版本控制系统的作用?A. 跟踪文件的变更历史B. 支持多人协作开发C. 允许用户随意删除文件D. 管理软件的发布版本答案:C2. 在敏捷软件开发中,以下哪个不是敏捷宣言的四个价值观之一?A. 个体和互动高于流程和工具B. 可工作的软件高于详尽的文档C. 客户合作高于合同谈判D. 遵循计划高于适应变化答案:D3. 在软件项目管理中,以下哪个不是风险管理的步骤?A. 风险识别B. 风险评估C. 风险缓解D. 风险接受答案:D4. 在软件开发中,以下哪个不是软件测试的类型?A. 单元测试B. 集成测试C. 系统测试D. 性能优化答案:D5. 在软件开发过程中,以下哪个不是需求管理的任务?A. 需求收集B. 需求分析C. 需求实现D. 需求验证答案:C6. 在软件开发中,以下哪个不是软件配置管理的目的?A. 确保软件的一致性B. 支持软件的变更管理C. 确保软件的可维护性D. 提高软件的运行速度答案:D7. 在软件项目管理中,以下哪个不是项目范围管理的组成部分?A. 范围定义B. 范围规划C. 范围控制D. 项目进度管理答案:D8. 在软件工程中,以下哪个不是软件质量保证的措施?A. 代码审查B. 性能测试C. 持续集成D. 代码优化答案:D9. 在软件开发中,以下哪个不是软件维护的类型?A. 纠错性维护B. 适应性维护C. 完善性维护D. 软件重构答案:D10. 在软件项目管理中,以下哪个不是项目管理工具的功能?A. 任务分配B. 进度跟踪C. 资源管理D. 代码编译答案:D二、多项选择题(每题3分,共15分)1. 以下哪些是敏捷开发的特点?A. 迭代开发B. 持续交付C. 严格遵循计划D. 客户参与答案:ABD2. 在软件测试过程中,以下哪些是测试用例设计的原则?A. 测试用例应覆盖所有功能B. 测试用例应尽可能简单C. 测试用例应具有可重复性D. 测试用例应覆盖所有异常情况答案:BCD3. 在软件项目管理中,以下哪些是有效的沟通策略?A. 定期举行项目会议B. 使用项目管理工具跟踪进度C. 仅在必要时进行沟通D. 确保信息的透明性答案:ABD4. 在软件配置管理中,以下哪些是版本控制工具的功能?A. 文件锁定B. 变更跟踪C. 分支管理D. 代码编译答案:BC5. 在软件需求管理中,以下哪些是需求变更管理的步骤?A. 变更请求的提交B. 变更影响的评估C. 变更实施D. 变更记录答案:ABCD三、简答题(每题5分,共20分)1. 请简述软件项目管理中的风险管理过程。
《软件项目管理》期末复习考试及答案一、判断题(正确画√,错误画×)1.项目是由临时性的组织来完成的。
( T)2.项目的选择包括评估各种需求和机会,评估必须是有形和定量的。
( F )3.在双代号图中,每一事件(圆圈)必须有惟一的事件序号,即网络图中不会出现相同的事件序号。
(T )4.根据项目生命周期可知,不同项目各阶段资源投入强度不同。
通常是前期投入低,逐渐增加达到高峰后开始降低。
( T )5.具有正总时差路径被称为关键路径。
( F )6.申请书是一份推销文件,而不是技术报告。
( T)7.某项活动的最早开始时间和最早结束时间是通过网络图反向推算得到的。
( F )8.在绘制网络图时,把活动画在一个闭路中是不允许的,因为它描述的是不断自我重复的活动路径。
( T )9.项目必须完成的整个时间段被定义为从预计开始时间到要求完工时间。
(T )10.某项活动的浮动时间为负值,表明该项活动花费的时间可以延长。
( F )二、单项选择题1. 项目生命周期四个阶段中,第二阶段结束于( A )A)签订合同 B)需求建议书的发布C)申请书的提交 D)项目结束2.固定价格合同对于客户和承约商来说,风险分别是(B )A)低低 B)低高C)高低 D)高高3.进度偏差SV<0(为负值)时,表示(B )A)进度提前 B)表示进度延误C)实际消耗工时(或成本)低于预算值,即项目有结余或效率高D)实施成本过高,即实际消耗工时(或成本)超过预算值,即项目超支4.右图是一个单代号图,表示( A )A)活动A结束10天以后,活动B才能开始ArrayB)活动A开始10天以后,活动B才能开始C)活动A结束10天以后活动才能结束D)活动A开始10天以后活动B才能结束5.准备需求建议书的目的是从( C )的角度全面、详细地阐述为了满足识别需求所要做的工作。
A)项目参与人员 B)项目经理C)客户 D)项目承约商三、多项选择题1.下列工作中属于项目的是()A) 策划一场婚礼B)开发一个软件 C)为人民服务D)主持一次会议E)管理大楼的卫生服务2.项目目标通常用下列要素来表示()A)工作范围 B)顾客满意度C)进度计划 D)成本E)工作人员3. 下面对单代号图描述正确的是()A)节点表示活动 B)箭线表示活动C)箭线表示活动(工作)之间的逻辑关系。
软件过程管理习题1.阅读全部的CMM内容,选择出你认为最有价值的十条关键实践,并说明理由。
(1)项目软件负责人,设计/编程/测试人员、软件版本管理员均已得到相应的培训,具备了完成其职责所需要的知识和技能。
理由:通过培训,工作人员具有了一定的知识储备,遇到困难能够很快找到相应的解决措施,就可以很快上手,不至于在一个问题上耽误太多时间。
因此,为了达到统一的科学技术规范、标准化作业,通过目标规划设定、知识和信息传递、技能熟练而进行培训是十分必要的,这样能减少所需工作时间,提高成员的开发能力和创新能力,从而降低人力成本;减少浪费,从而降低了开发成本。
因此,参加培训是十分必须的。
(2)根据项目要求,建立软件有关组(例如工程组、软件测试组等)。
理由:通过建立相关组,各组可以各施其职,同步工作,提高工作效率。
因为软件开发时不可能一个人兼顾所有的方面,应该分成几个模块,只做好自己的然后和其他组协调就可以。
如专人负责技术方案设计,专人负责数据,专人做技术层面的指导等。
这样权责分明,遇到问题能够很快找到相应的负责组,解决问题的时间也将大大减少。
(3)确定设计、编程、测试人员,并实施三分离。
理由:实现了三分离可以更加开阔人员的思维,防止由于思路固定而不能及时发现问题,更有助于激发员工的创新思维,使软件更先进,更经得起考验。
(4)根据项目软件的质量需要确定本项目所采用的软件开发方法。
理由:确定好软件开发所采用的开发方法,就能尽早的做下步计划,不至于到最后为选择开发方法而浪费太多时间。
目前已形成了八类软件开发方法,开发时是选择面向数据结构的开发方法还是面向对象的开发方法,直接会影响到小组的开发进度。
要根据成员的擅长情况制定方法。
(5)软件版本管理员,以及设计、编程、测试人员的职责明确。
理由: 权责分明,遇到问题追究到人,会使项目开发更有计划。
完善制度,将责任明确到人,这样才能明确目标,将工作细化,使成员做好自己的工作,认识到重要性,使开发过程能高效的进行。
软件项目管理试题及答案作为软件项目管理的重要组成部分,试题的出现有助于评估个人对软件项目管理概念和实践的理解程度。
下面将为大家提供一些软件项目管理的试题及其详细答案,希望能够帮助大家更好地掌握软件项目管理的知识。
试题一:什么是软件项目管理?软件项目管理的目标是什么?答案:软件项目管理是指通过规划、组织、协调、控制和监督的方法,对软件项目进行全面管理的过程。
软件项目管理的目标是确保软件项目能够按时、按质、按量地完成,同时最大限度地满足用户需求。
试题二:简要描述软件项目管理过程中的关键活动。
答案:软件项目管理过程中的关键活动包括:项目启动、需求分析、项目规划、项目执行、项目控制以及项目收尾。
项目启动阶段主要确定项目目标和项目范围;需求分析阶段主要确定用户需求和功能需求;项目规划阶段主要制定项目计划和项目进度;项目执行阶段主要实施项目计划,并进行项目团队管理;项目控制阶段主要监督和控制项目进度、成本和质量;项目收尾阶段主要进行项目交付和总结经验。
试题三:请简要介绍一下敏捷项目管理方法。
答案:敏捷项目管理方法是一种适应需求变化、注重实效和团队合作的项目管理方法。
它强调通过迭代和增量的方式进行软件开发,每个迭代周期都能交付可用的软件产品。
敏捷项目管理方法注重团队合作、迭代开发、面对面沟通和持续反馈,通过这些方式实现项目的高效管理。
试题四:在软件项目管理中,项目风险管理是什么?请简要介绍风险管理的基本步骤。
答案:项目风险管理是指通过识别、分析、评估和应对项目中可能出现的风险,从而最大限度地降低风险对项目的影响。
风险管理的基本步骤包括:风险识别,即通过各种方法和工具识别潜在风险;风险分析,即对潜在风险进行定性和定量分析;风险评估,即评估风险的严重性和可能性,并确定其优先级;风险应对,即制定相应的风险应对策略,包括风险规避、风险转移、风险减轻和风险接受等。
试题五:在软件项目管理中,项目沟通管理的意义是什么?请列举一些常用的沟通工具。
一、绪论(1)1. 软件与软件产业的发展过程软件管理工程的发展,经历了从20世纪70年代开始以结构化分析与设计、结构化评审、结构化程序设计以及结构化测试为特征的结构化生产时代,到90年代中期,以CMM模型的成熟和日益为市场接受为标志,已经进入以过程成熟度模型CMM、个体软件过程PSP和团队软件过程TSP为标志的以过程为中心的时代,而软件发展第三个时代,即软件工业化生产时代,以90年代中期软件过程技术的成熟和面向对象技术、构件技术的发展为基础,已经渐露端倪。
一、绪论(2)2. 软件危机及其原因软件特殊性:软件成本高;软件开发的进度难于控制;估计软件工作量很困难;软件质量难于保证;修正维护软件困难。
软件企业的4个困难:需求的完全识别;软件产品需求的完全传递;软件产品相关的变更控制;软件产品相关技术的快速变化。
软件构建的核心就是管理复杂度。
软件是由人开发的,人的智力与软件的复杂度之间存在矛盾。
软件复杂度与软件的规模有很大关系,另外也与模块间的耦合度、模块内的内聚性等因素有关。
一、绪论(3)3. 过程及其要素软件开发项目是在规定的成本和时间内,开发和提交满足客户某些需求的软件产品。
项目的三个基本特征是:成本、进度和质量(代表软件在多大程度上满足客户的要求)。
对于机构而言,包含多个项目,而实现机构的高质量和生产率,依赖于三个因素:过程、人和技术。
其中过程不仅仅是一系列步骤,还包含了机构所积累的经验,包含了机构可以从已成功的项目中所学到的一切。
一、绪论(4)4. CMM与软件产业管理是影响软件研发项目全局的因素,而技术只影响局部。
1987年9月,美国卡内基-梅隆大学软件工程研究所发布了软件过程成熟度框架,并提供了软件过程评估和软件能力评价两种评估方法和软件成熟度提问单。
4年之后,SEI将软件过程成熟度框架进化为软件能力成熟度模型(Capability Maturity Model For Software,简称SW-CMM)。
软件过程管理复习提纲题型:一、判断题(每题1分,共10分)二、填空题(每空1分,共15分)三、名词解释(每题5分,共25分)四、简答题(每题5分,共30分)五、综合题(共20分)1.简述软件过程成熟度的标准(1)软件过程能力高;(2)软件过程性能可预见性;(3)软件过程规范化;(4)过程的一致性;(5)过程的丰富性;(6)过程的可视性;(7)过程的稳定性;(8)过程的不断改进。
2.什么是阶段评审以及它的作用是什么?前一阶段交付的成果通常要接受是否已经完成和准确的审查,即阶段评审(Phase-end reviews ),又称phase exits, stage gates, or kill points。
(1)决定项目是否进入下一阶段(2)发现和纠正缺陷3.软件开发项目的全过程(1)新项目的启动阶段(2)市场调研阶段(3)技术论证阶段(4)项目计划和日程制定阶段(5)管理层评审阶段(6)产品特性描述阶段(7)资源分配阶段(8)产品开发和发布阶段4.MSF过程模型(Process Model)的特点(1)目标驱动而非任务驱动(2)外部可见的里程碑(3)应提交项的变更管理(4)递进的版本发布策略(5)风险驱动的进度管理(6)项目组集体参与(7)管理产品质量5. MSF的5个阶段是什么?(1)构想阶段(2)计划阶段(3)开发阶段(4)稳定阶段(5)发布阶段6.软件估算的内容(1)软件工作产品的规模估算(2)软件项目的工作量估算(3)软件项目的成本估算(4)软件项目的进度估算(5)项目所需要的人员、计算机等资源估算7.为什么需要定义活动责任矩阵?(1)是软件项目计划的一个组成部分(2)明确、清晰说明项目的职责区域(3)帮助项目组成员了解他们的任务和职责,以及要参与的工作(4)帮助项目组成员了解与其相关的人员(5)帮助项目组成员预计其工作量8.需求管理的内容:(1)参与需求分析和评审的人员(2)软件需求文档(3)需求分析过程(4)需求变更9.常用的规模估算方法包括?答:(1)代码行方法(2)功能点分析方法(3)面向对象软件的对象点方法10.为什么需要基线?答:(1)变化不可避免(2)软件产品的变化不利于软件开发(3)需要控制变化、软件产品保持一定程度的稳定11.瀑布模型的风险和缺点?答:(1)获得完善的需求规约是非常困难的;(2)难以适应快速变化需求;(3)系统太大时,难以一次做完;(4)反馈信息慢;(5)极可能引起开发后期的大量返工,如返工到需求、设计等早期活动12.请简述敏捷过程的思想?(1)敏捷软件开发方法的思想是现代管理理念的延伸,其核心是以人为本,发挥人的主观能动性。
《软件工程概论》课程知识复习学习材料试题与参考答案一、单选题1.原型化方法是一种(A)型的设计过程。
A.自外向内B.自顶向下C.自内向外D.自底向上2.下述任务中,不属于软件工程需求分析阶段的是(D)。
A.分析软件系统的数据要求B.确定软件系统的功能需求C.确定软件系统的性能要求D.确定软件系统的运行平台3.在软件生存周期中,用户主要是在(A)参与软件开发。
A.软件定义期B.软件开发期C.软件维护期D.整个软件生存周期过程中4.表示集成是指一个系统中的工具使用共同的风格以及采用共同的用户交互标准集。
表示集成有三种不同级别:窗口系统集成、命令集成和(D)。
A.数据集成B.平台集成C.界面集成D.交互集成5.软件开发环境支持一定的(C)或按照一定的软件开发模型组织而成。
A.软件生存周期B.软件过程C.软件开发方法D.软件开发模型6.技术可行性要解决(D)。
A.存在侵权否B.成本-效益问题C.运行方式可行D.技术风险问题7.瀑布模型是一种(D)。
A.软件开发方法B.软件生存周期C.程序设计方法学D.软件生存周期模型8.面向数据流的软件设计方法可将(C)映射成软件结构。
A.控制结构B.模块C.数据流D.事务流9.一个CASE工作台是一组(A),支持设计、实现或测试等特定的软件开发阶段。
A.工具集B.软件包C.平台集D.程序包10.软件工程学的目的应该是最终解决软件生产的(B)问题。
A.提高软件的开发效率B.使软件生产工程化C.消除软件的生产危机D.加强软件的质量保证11.目前有若干种软件生存周期模型。
例如瀑布模型、增量模型、螺旋模型等。
其中基于知识的模型也称为(B)。
A.演化模型B.智能模型C.变换模型D.喷泉模型12.可行性分析中,系统流程图用于描述(A)。
A.当前运行系统B.当前逻辑模型C.目标系统D.新系统13.软件生存周期模型有多种,下列选项中,(C)不是软件生存周期模型。
A.螺旋模型B.增量模型C.功能模型D.瀑布模型14.从结构化的瀑布模型看,在软件生命周期中的八个阶段中,下面的几个选项中,(C)出错,对软件的影响最大。
第一章工程管理概述一.选择题1.工程是〔D〕。
A.一个实施相应工作范围的方案B.一组以协作方式管理、获得一个期望结果的主意C.创立独特的产品或效劳所承当的临时努力D.必须在规定的时间、费用和资源约束条件下完成的一次性任务2.你刚被指派在你的公司的一个不同的部门中管理一个大的工程。
你正试图了解工程是关于什么的,谁是主要的工程干系人,为了管理好此工程,你首先应该做〔C〕。
A.所有的工程方案B.会见以前的工程经理,以找出他离开的原因C.与你的老板见面,了解他对工程的看法D.与你的新工程团队见面,认识他们和了解他们对工程的看法3.不属于工程的活动是〔 B 〕。
A.一种新型罐头产品的开发B.罐头产品的生产C.罐头产品的试制D.罐头产品的营销筹划4.工程是一个特殊的将被完成的有限任务,它是在一定的时间内,满足一系列特定目标的多项相关工作的总称。
此定义实际包含的含义有〔D〕。
A.工程是一项有待完成的任务,且有特定的环境与要求B.在一定的组织机构内,利用有限资源〔人力、物力、财力等〕在规定时间内完成任务C.任务要满足一定性能、质量、数量、技术指标等要求D.工程的实施具有一定的风险第二章工程实施的环境与过程一.选择题1.工程管理中应用最广泛的组织形式是〔 C 〕。
A.工程式B.职能式C.矩阵式D.网络式2.下面有关矩阵式组织环境的描述,不正确的选项是( A )。
A.工程的经理必须是职能部门领导,这样才能取得公司总经理对工程的信任B.工程经理和职能经理必须就谁占主导地位达成共识C.矩阵式工程组织能够充分利用人力资源D.矩阵式工程组织能够对客户的要求作出快速响应3.在以下组织构造形式中,团队建立最困难的是( C )。
A.直线式构造B.职能式构造C.矩阵构造D.工程构造4.职能式工程组织形式中工程经理的权限( A )。
A.很小B.有限C.中等D.很高5.工程在哪种组织中最不被重视〔D〕。
A.平衡矩阵型B.强矩阵型C.工程协调员型D.职能型6.下面各种类型的组织中,哪种最常发生冲突( B )。
第一章1、项目的定义,项目与日常运作的区别?2、项目管理的定义,内容;软件项目管理的特征。
3、项目管理的五个标准化过程组,软件项目管理的过程。
第二章1、合同生存期。
2、需方合同环境、供方合同环境3、签订合同是应该注意的问题4、合同终止时,供方应配合需方的工作?第三章各个软件生存期模型的特点及适合的项目类型第四章1、需求的层次,需求管理的过程。
2、需求验证的内容3、如何处理需求变更第五章1、任务分解的类型及过程。
2、任务分解的标准。
3、任务分解时应注意得事项。
4、工作包的概念。
第六章1、成本估算的定义及方法。
2、各种估算方法的比较。
3、软件项目中常用的成本估算的步骤?第六章软件项目进度计划1、活动间的依赖关系2、每种进度管理图示的特点?3、PERT和CPM 的区别4、如何使用PERT和CPM估算进度?5、掌握网络图排进度,计算ES、LS 、EF、LF 、TF 、FF ,求关键路径及长度。
6、如何压缩工期?掌握时间压缩法。
7、掌握PERT估算进度?第八章软降项目质量计划1、质量管理的过程?2、质量保证的主要活动?3、质量控制的主要活动?4、质量保证和质量控制的关系?第九章软件项目配置管理计划1、配置管理的定义?目标?2、配置项、基线的定义3、配置管理的过程?4、基线变更管理过程?5、存储软件项目过程的库的内容?第十章软件项目风险管理计划1、风险的定义、类型、性质2、风险管理的层次?3、风险识别的方法?4、风险评估的方法5、降低风险的主要策略?具体内容?第十一章软件项目团队管理1、团队的定义,团队管理的内容2、项目经理的职责、权利、能力。
3、项目的组织形式的类型,每一类型的优点、缺点。
4、激励理论的内容,各自的特点5、团队管理的方法?6、沟通的方式,沟通计划的主要内容第十二章软件项目度量管理1、度量的类型、作用?2、度量的技术3、度量计划的内容第十三章集成计划集成项目管理的任务、集成计划的内容第十四章项目跟踪控制1、项目跟踪控制的主要对象2、镀金、范围蔓延的定义3、常用的项目性能分析方法及特点?4、掌握挣值分析法,计算SV、CV、SPI、CPI第十五章软件项目结束过程1、项目关闭必须完成的任务?2、项目收尾的内容。
1.为什么要用系统的观点看待项目?只有采用系统分析的思想,对所有与项目相关的人和组织进行分析,编制项目计划时尽量对不同部门和个人的需求进行协调,统筹兼顾,取得某种平衡,最大限度调动项目利益相关者的积极性,减少项目实施的阻力,创造有利于项目发展的环境,才能有利于项目的成功。
2.简述几种项目组织结构的不同之处?职能型优势:分工明确,执行力强,各部门中的职员可以实现技术、信息的共享,从而有利于提高员工在某一领域的专业能力。
劣势:管理责任的集中;组织结构僵硬,灵活性不好。
项目型优势:目标明确,工作效率高,对项目的成败直接负责;项目沟通与协调容易,项目成员之间冲突容易解决;机动灵活,应付突发事件的能力强。
劣势:资源的重复设置,管理成本相对较高;与其他项目缺乏信息沟通,难以吸收其他项目的成功经验和失败教训;项目成员流动频繁,影响工作情绪。
弱矩阵型:没有设置项目经理一职,靠员工的自觉完成工作任务,这类组织结构,结构松散,约束少,是用于需要创造性思维活跃,时间充裕的小型项目。
平衡矩阵型优势:项目由主管负责,对项目的成败起关键作用;资源共享,相对资源浪费少,管理成本低;多项目管理成为可能。
劣势:对项目主管的要求很高,否则项目不可能成功;员工受多头管理;项目协调困难。
强矩阵型:由项目经理组成一个部门,凌驾于各个职能部门之上,这样做的好处是结合了弱矩阵和平衡矩阵组织的所有优点,同时避免了他们的劣势,也是目前企业项目组织结构设置的最多的一种。
3.简述高级管理层的支持对项目管理成功的重要性。
(一)、获取足够的资源:打杀一个项目最好的办法就是不提供需要的资金、人力、资源和成功的希望。
如果项目经理能得到高级管理层支持,他很容易突破资源的困局,得到足够的资源,不为项目以外的琐事分心;(二)、项目经理经常需要及时获取对项目特殊要求的审批,比如:项目需要二次开发时,对技术人员的技能要求。
再比如项目过程中需要对软硬件的性能进行整体测试等,项目经理为了留住关键人员,可能需要额外的奖励。
一、名词解释:1.项目管理:项目管理包括:合同管理、过程管理、团队管理、需求管理、风险管理、配置管理。
2.风险控制:软件风险控制包括风险计划、风险跟踪和风险处理,主要是制定风险控制的目标、策略、方法以及应对每个重要风险的方案,然后根据风险计划跟踪已识别风险的变化情况,及时调整风险应对计划或采取必要的风险处理措施,将风险控制在管理者可以接受的范围内。
二、简答题1.在需求分析阶段需要监控的关键元素是什么?答:在需求分析阶段需要监控的关键元素是系统的逻辑模型:数据流图(MSC图),数据字典(类清单、对象间关系),算法描述。
2.软件开发生命周期可以分为哪几个阶段?答:软件生命周期可分为三个阶段:软件定义、软件开发、运行维护,其主要活动阶段包括:可行性分析与计划制定、需求分析、软件设计(概要设计和详细设计)、软件实现(编码)、测试、维护等活动,其中软件开发阶段包括软件设计、实现与测试。
三、简述题1.什么是软件项目团队管理?软件项目团队管理主要包括哪些个方面?简述如何进行软件项目的组织计划编制。
软件项目团队管理就是运用现代化的科学方法,对项目组织结构和项目全体参与人员进行管理,在项目团队中开展一系列科学规划、开发培训、合理调配、适当激励等方面的管理工作,使项目组织各方面人员的主观能动性得到充分发挥,以实现项目团队的目标。
软件项目团队管理主要包括:团队组织计划指确定、记录与分派项目角色、职责,并对请示汇报关系进行识别、分配和归档。
团队人员获取指获得项目所需的并被指派到项目的人力资源(个人或集体)。
团队建设既包括提高利害关系者作为个人做出贡献的能力,也包括提高项目团队作为集体发挥作用的能力。
个人的培养(管理能力与技术水平)是团队建设的基础。
团队的建设是项目实现其目标的关键。
软件项目计划是一个软件项目进入系统实施的启动阶段,主要进行的工作包括:确定详细的项目实施范围、定义递交的工作成果、评估实施过程中主要的风险、制定项目实施的时间计划、成本和预算计划、人力资源计划等。
第一部分习题第一章软件和软件工程一、填空题1.软件是(指令)的集合,通过执行这些指令可以满足预期的特征、功能和性能需要;(数据结构),使得程序可以合理使用信息;软件描述信息,用来描述程序操作和使用。
2.(不断的变更)是软件退化的根本原因。
3.虽然整个工业向着基于(构件)的构造模式发展,然而大多数软件仍旧依据客户需求定制。
4.一个通用的软件工程过程框架通常包括(沟通)、(策划)、(建模)、构建和部署。
5.支持软件工程的根基在于(质量关注点),基础是(过程层)。
6.完整的软件产品包括:可以再各种不同规模及体系结构的计算机上运行的(程序)、程序运行中产生的各种(结果),以及各种描述信息。
7.现在的软件技术具有产品和(产品交付载体)的双重作用。
8.利益相关者的英文是(stakeholder)。
9.普适计算的英文是(pervasive computing)。
10.concurrency的意思是(并发性)。
11.content sensitive的意思是(内容敏感性),data driven的意思是(数据驱动)。
二、判断题1.软件不会磨损,但会退化。
(对)2.遗留软件具有生命周期长以及业务关键性的特点,还有质量差的特点。
(对)3.设计已成为关键性活动。
(对)4.敏捷过程模型适用于web应用开发。
(对)5.如果我们未能按时完成计划,可以增加程序员人数赶上进度。
(错)6.软件之所以重要因为它在生活中无处不在,软件工程之所以重要因为我们可以高效高质量的开发软件。
(对)7.当我们完成程序并将其交付使用时,我们的任务就完成了。
(错)8.软件工程会产生大量无用文档,降低工作效率。
(错)9.直到程序开始运行,才能评估质量。
(错)10.汽车的仪表板显示电子功能属于软件分类中的应用软件。
()11.在制定软件解决方案前,必须尽力解决问题。
()三、名词解释1.软件工程:将系统化的、规范的、可量化的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件。
软件过程与软件管理课程复习题一.解释相关概念或术语1.软件过程:软件过程是指软件开发人员开发和维护软件及相关产品(如项目计划、设计文档、代码、测试用例、用户手册等)的一套行为、方法、实践及变换过程。
软件过程涵盖了软件采购、软件开发、软件维护、软件运行、软件获取、软件管理、软件支持等7大类的软件活动。
2.软件过程工程:为建造软件过程所进行的一系列工程化活动。
软件过程工程的基本活动包括过程定义、过程例化、过程模拟、过程运作。
3.软件配置管理:SCM是标识和确定系统中配置项的过程,在系统整个生命周期内控制这些项的投放和变动,记录并报告配置的状态和变动要求,验证配置项的完整性和正确性(GB/T11457-1995软件工程术语)。
针对SCM在软件生命周期各阶段所起的作用,一个完整的SCM环境要求具有版本控制、变更管理、状态统计、和配置审计的功能。
4.CMM中的关键过程域:每个软件能力成熟度等级包含若干个对该成熟度等级至关重要的过程方面,它们的实施对达到该成熟度等级的目标起到保证作用。
这些过程域就称为该成熟度等级的关键过程域。
5.CMM中的关键实践:是指关键过程域种的一些主要实践活动。
每个关键过程域最终由关键实践所组成,通过实现这些关键实践达到关键过程域的目标。
一般情况下,关键实践描述了该“做什么”,但没有规定“如何”去达到这些目标。
6.CMM中的SEPG:软件工程过程组(Software Engineering Process Group)由专家组成,统领CMM 实施活动,协调全组织软件过程的开发和改进活动,制定、维护和跟踪与软件过程开发和改进活动有关的计划,定义用于过程的标准和模板,负责对全体人员培训有关软件过程及其相关的活动。
DP/RUP:USDP(Unified Software Development Process,统一软件开发过程)是一种基于构件的,用况和风险驱动的,以构架为中心,迭代和增量式的开发过程。
分为初始、细化、构造、移交四个阶段。
RUP(Rational Unified Process,统一软件开发过程,统一软件过程)是一个面向对象且基于网络的程序开发方法论。
根据Rational(Rational Rose和统一建模语言的开发者)的说法,好像一个在线的指导者,它可以为所有方面和层次的程序开发提供指导方针,模版以及事例支持。
RUP和类似的产品——例如面向对象的软件过程(OOSP),以及OPEN Process都是理解性的软件工程工具--把开发中面向过程的方面(例如定义的阶段,技术和实践)和其他开发的组件(例如文档,模型,手册以及代码等等)整合在一个统一的框架内。
8.SWEBOK:软件工程知识体(SWEBOK)提出五个目的:(1)促进软件工程业界统一看法;(2)划定学科边界,澄清软件工程的学科地位;(3)刻画软件工程的学科内容;(4)提出访问SWEBOK的论题(知识点);(5)为个人认证、申请执照、课程体系制定提供基础。
SWEBOK把整个体系分解为10个知识域(Knowledge Area):软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具和方法、软件质量。
每个知识域又分若干子域,每个子域分为若干论题(Topic)。
二.简要回答下列问题1.PSP和TSP中质检过失比(A/FR)是一个重要的质量度量参数。
请简要说明A/FR分别小于1和大于2时对过程的意义。
质检/过失比:质检质量成本/过失质量成本,用来测量在第一次编译前花在查找缺陷上的时间的相对值。
可用复查时间/(编译+测试)时间来计算。
能很好地指示测试中发现缺陷的可能性。
当A/FR<1时,程序测试一般会发现很多错误;当A/FR>2时,过程产生无缺陷的可能性更大。
A/FR的值对于小的独立的产品通常比2.0要大;A/FR的值对于相对大的产品等于1.0较为合适。
例如,如果有实际总开发时间=262min,实际代码复查时间=29min,则质检成本=100*29/262=11.07%如果有实际编译时间=5min,实际测试时间=10min,则过失成本=100*(5+10)/262=5.73%。
此时,A/FR= 11.07/ 5.73=1.93。
可用复查时间/(编译+测试)时间来计算。
2.TSP中的SUMQ的作用。
项目管理者根据质量计划,通过SUMQ质量总结表协助团队成员跟踪绩效。
SUMQ包括主要比率、无缺陷比率PDF、缺陷数/页、缺陷数/KLOC、缺陷比率、开发时间比率、质检过失比A/FR、复核比率、检查比率、缺陷引入比率、缺陷除去比率、阶段成品率、过程成品率。
它提供了对质量问题的估计方法、深入分析设计和代码复核质量的方法,以及对整个过程的评估方法,使软件开发人员对质量问题更加敏感和小心,以便开发出高质量的软件产品。
3.在软件配置管理系统中检入与检出是基本功能。
请解释其基本工作流程和作用。
检入就是将软件配置项从用户的工作环境存入到软件配置库的过程;检出就是将软件配置项从软件配置库中取出的过程。
基本工作流程不会4.CMM的主要用途。
软件过程评估:(SPA,Software Process Assessment)一组经过训练和培训的软件专业人员,确定出一个企业软件过程的状况,找出软件企业所面对的与软件过程有关的、最急需解决的所有问题,以便取得企业领导层对软件过程改进的支持——企业内部。
软件过程改进:(SPI,Software Process Improvement)帮助软件企业对其软件过程向更好的方向改变,进行计划、制定以及实施。
软件能力评价:(SCE,Software Capability Evaluation)一组经过训练和培训的软件专业人员,鉴别出软件承包者的能力资格;或者是,检查、监察正用于软件制作的软件过程的状况——企业外部。
5.PSP过程框架和主要步骤。
主要步骤如下:入口准则—进行问题描述;PSP项目计划总结表;以前开发的程序的实际规模和时间数据;时间记录日志;计划阶段—首先获得项目的需求,然后完成项目计划总结表,最后把计划所花费的时间记录在时间记录日志上。
设计阶段—设计这个程序。
用流程图或伪码等指定的格式记录设计的内容。
该阶段结束时,把设计时间记录在时间记录日志上。
编码阶段—利用所选择的程序设计语言来实现该设计。
使用一致的编码格式。
结束时在时间记录日志上记录编码所花费的时间。
代码复查—复查所有的源程序代码;遵照代码复查脚本;修复并记录所发现的每一个缺陷;将代码复查阶段所花费的时间记入时间记录日志;编译阶段—编译程序并改正所有发现的缺陷。
修复缺陷直到正确编译无错为止。
所有花费在这一阶段的时间记为编译时间,包括修改设计和改正代码的时间。
该阶段结束时,在时间记录日志上记录编译时间。
测试阶段—进行充分的测试以保证程序满足所有的需求,并且能够不带任何错误通过一组全面的测试集。
所有花费在这一阶段的时间记为测试时间,其中包括修改设计、改正代码和重新编译的时间。
该阶段结束时,在时间记录日志上记录测试时间。
后置处理阶段—完成项目计划总结表中所有有关实际数据的那些栏目。
然后登入一个估计的后置处理阶段的时间。
过程框架如图所示:6.““项目计划总结表”在PSP中的作用:在PSP中,记录项目的计划数据和实际数据的表格叫项目计划总结表。
在项目开始时,软件工程师记录计划部分的值;项目完成时,记录实际值,并累积值和累积百分比。
计划不是一个准确的过程,作为一种技能,计划可以逐步的改善和提高,而提高的最主要途径是为所作的每一项工作做计划,然后对于每一项已经完成的工作,将它的计划值与实际结果作比较。
这样可以更清楚的了解计划中的差错并且学会制定更好的计划。
通过对缺陷数据的记录分析,可以清楚的看到设计过程中存在的问题,作为对日后开发有益的补充。
7.CMM中属于管理类别的关键过程域。
2可重复级:需求管理;软件项目计划;软件项目跟踪及监督;软件子合同管理;软件质量保证;软件配置管理。
3 已定义级:集成软件管理;组间合作。
4 已管理级:定量的过程管理。
8.简要说明PSP中程序规模与生产率的估计过程。
方法是:先(按功能分类)估计程序可能有多少行代码LOC,再估计编写每行代码需要多少分钟MIN/LOC;然后(按功能分类汇总)估算总共需要的时间。
其中对代码行的估计:较大规模--收集一系列有关数据,建立一个历史记录,用新程序的每个功能比对历史记录中每个类似功能,然后累加。
小规模--与历史数据比对作出好的规模估计关键是要有大量的历史数据,要进行多次规模估计,要定期将实际结果与估计值作比较。
9.软件基线库的要求是建立软件配置管理数据库系统。
请简要给出软件配置管理数据库系统中的主要功能。
软件配置库又称软件受控库,是指在软件生命周期的某一阶段结束时,存放作为阶段产品而释放的、与软件开发工作有关的计算机可读信息和人工可读信息。
软件配置库存储一般采用数据库的形式。
软件配置管理就是对软件配置库中的各项软件项管理。
10.软件工程过程组与软件工程组的主要区别。
软件工程组(Software Engineering Group):负责一个项目的软件开发和维护活动的团体。
活动包括需求分析、设计、编码和测试等。
软件工程过程组(Software Engineering Process Group):是由专家组成的组,他们推进组织采用的软件过程的定义、维护和改进工作。
软件工程过程组统领CMM实施活动,协调全组织软件过程的开发和改进活动,制定、维护和跟踪与软件过程开发和改进活动有关的计划,定义用于过程的标准和模板,负责对全体人员培训有关软件过程及其相关的活动。
11.度量与分析在CMM中的作用。
描述与软件过程相关的基本测量实践,其目的是控制和改进过程,度量和分析一般包括测量示例,通过这些示例可以知道如何确定操作活动的状态和效果。
12.TSP的启动过程主要包括的步骤及其要点。
启动过程是TSP的第一个步骤,其步骤:1、描述了小组角色的职责2、制定小组目标3、制定小组成员目标4、制定角色目标5、TSP启动流程a、TSP周期1小组启动b、TSP周期n小组启动c、成员信息表d、每周例会e、每周状况报告(WEEK表)要点:组建小组不能随意;需要花费时间进行考虑;需要建立小组成员在工作中的相互关系;决定小组成员所担当的角色;取得目标的一致意见。
13. TSP的主要过程。
启动过程开发策略开发计划需求分析过程设计过程实现过程测试计划事后分析14.TSP中小组角色有哪些?小组长→开发经理→计划经理→质量/生产经理→技术支持经理15. 在TSP中开发计划需要填写哪些表格?TASK、SCHEDULE、SUMS、SUMP、SUMQ表16. TSP中PDF指标是什么?有何意义?无缺陷比率PDF:PDF就是在给定的阶段内没有缺陷的产品部件所占有的百分比。