软件过程与软件管理课程复习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件过程与软件管理课程复习题
(一)解释相关概念或术语
1)软件工程
●是指导软件开发和维护的工程类学科,它以计算机科学理论及其他相关学科的理论为指导,采用工程化的
概念、原理、方法和技术,进行软件的开发和维护,并与经过时间证明正确的管理方法与措施相结合,以较少的代价获取高质量的软件。
●The IEEE Computer Society:是(1) 将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的
过程,即将工程化应用于软件中。(2) 对(1)中所述方法的研究。
2)软件过程
●软件过程是指软件开发人员开发和维护软件及相关产品(如项目计划、设计文档、代码、测试用例、用户手
册等)的一套行为、方法、实践及变换过程
●根据IEEE对软件过程概念的解释,软件过程涵盖了软件采购、软件开发、软件维护、软件运行、软件获
取、软件管理、软件支持等7大类的软件活动
●ISO12207分别将这些活动归结为基本过程、支持过程和组织过程等3大类
3)软件过程工程
为建造软件过程所进行的一系列工程化活动,包含如下基本活动:过程定义、过程例化、过程模拟、过程运作。
现代软件工程=软件项目工程+软件过程工程,这标志着软件过程的时代的到来。
4)软件配置管理
SCM是标识和确定系统中配置项的过程,在系统整个生命周期内控制这些项的投放和变动,记录并报告配置的状态和变动要求,验证配置项的完整性和正确性(GB/T11457-1995软件工程术语)。
针对SCM在软件生命周期各阶段所起的作用,一个完整的SCM环境要求具有版本控制、变更管理、状态统计、和配置审计的功能。
5)CMM
CMM是指“能力成熟度模型”,其英文全称为Capability Maturity Model for Software,英文缩写为SW-CMM,简称CMM。它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。
CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化、使企业能够更好地实现商业目标。
6)CMM中的关键过程域
每个软件能力成熟度等级包含若干个对该成熟度等级至关重要的过程方面,它们的实施对达到该成熟度等级的目标起到保证作用。这些过程域就称为该成熟度等级的关键过程域。
●确定了实现一个成熟度级别所必须解决的问题
●处于级别3的机构,必须解决级别2和级别3的所有关键过程域中的问题
●每个关键过程域都确定了一套相应的活动,完成了这些活动,就达到了被认为是对改进过程非常重要的一组
目标
●目标说明了每个关键过程域的范围、界限和意义
●对于满足关键过程域的机构,一个关键过程域的所有目标都必须实现
●每个关键过程域的目标总结了它的关键实践
7)CMM中的关键实践
是指关键过程域种的一些主要实践活动。每个关键过程域最终由关键实践所组成,通过实现这些关键实践达到关键过程域的目标。一般情况下,关键实践描述了该“做什么”,但没有规定“如何”去达到这些目标。
●描述了对关键过程域的有效实施和制度化起重要作用的基础设施和活动。
●每个关键过程域最终由关键实践所组成,通过实现这些关键实践来达到关键过程域的目标。
●关键实践描述要做“什么”,但没有强行规定应当“怎样”完成目标。
●关键实践的下面描述更为详细的各实践。
8)CMM中的SEPG
软件工程过程组(Software Engineering Process Group)由专家组成,统领CMM 实施活动,协调全组织软件过程的开发和改进活动,制定、维护和跟踪与软件过程开发和改进活动有关的计划,定义用于过程的标准和模板,负责对全体人员培训有关软件过程及其相关的活动。
这是来源于CMM3的一个名词,是指执行组织,为不断改进软件过程管理能力而组建的专门性组织,其职责包括:
●制定规程:组织制定软件过程管理规程
●推广规程:在组织内部推广已制定软件过程管理规程
●监督实施:对组织内部软件过程管理规程执行情况的监督
●过程能力提高:对组织内部软件过程管理能力进行评估,制定计划提高组织软件过程管理能力,实施软件过程管理能力改进计划
SEPG的工作性质和职责是监督、管理、指导项目的过程,对项目过程、文档的规范性及过程、文档的适用性负责,不对项目的具体结果负责。SEPG成员一般不作为项目组的成员,但是,可以为项目的过程管理、规范执行提供协助。
9)PSP
个体软件过程(Personal Software Process,PSP)是一个过程描述、测度和方法的结构化集合,能够帮助软件工程师改善其个人性能。它提供了表格、脚本和标准,以帮助软件工程师估算和计划其工作。它显示了如何定义过程及如何测量其质量和生产率。
10)TSP
TSP(Team Software Process,团队软件过程/群组软件过程)是为开发软件产品的开发团队提供指导,TSP的早期实践侧重于帮助开发团队改善其质量和生产率,以使其更好的满足成本及进度的目标。TSP被设计为满足2~20人规模的开发团队,大型的多团队过程的TSP被设计为大约最多为150人左右的规模。
●TSP是一个小组软件过程框架
●TSP指导你通过小组软件工程的每一个步骤
●TSP向你表明该如何在一个小组协同工作环境中工作
●TSP教会你如何规划和管理一个小组项目
●TSP教会你如何为小组成员分配不同的角色
●TSP为小组提高生产力确立了一个过程
11)USDP/RUP
USDP(Unified Software Development Process,统一软件开发过程)是一种基于构件的,用况和风险驱动的,以构架为中心,迭代和增量式的开发过程。分为初始、细化、构造、移交四个阶段。
RUP(Rational Unified Process,统一软件开发过程,统一软件过程)是一个面向对象且基于网络的程序开发方法论。根据Rational(Rational Rose和统一建模语言的开发者)的说法,好像一个在线的指导者,它可以为所有方面和层次的程序开发提供指导方针,模版以及事例支持。RUP和类似的产品——例如面向对象的软件过程(OOSP),以及OPEN Process都是理解性的软件工程工具--把开发中面向过程的方面(例如定义的阶段,技术和实践)和其他开发的组件(例如文档,模型,手册以及代码等等)整合在一个统一的框架内。
●RUP是Rational Unified Process,是一个商业产品,比USDP专业,特别是它提供的一套工具来实现