展开Wang Yu 的答案

第一章

1.软件过程包括
答:实现过程,管理过程,支持过程。

2.IEC12207软件生存周期过程包括哪些?(国际电工委员会 International Electro technical Commission,简称IEC) ISO/IEC15504软件生存周期过程?

答:ISO/IEC12207软件基本过程,支持过程,组织过程。

ISO/IEC15504客户-供应过程,工程过程,支持过程,管理过程,组织过程。

3.软件管理的四个过程

答:项目管理过程,质量管理过程,风险管理过程,子合同商管理过程。

第二章

1.软件项目管理包括哪几个主要管理,了解项目经理的职能。(上网或查资料)举出一些具体的例子说明过程不成熟性。

答:合同管理,过程管理,团队管理,需求管理,风险管理,配置管理。

项目经理的职能,具有过程控制能力,具备文档能力,总结汇报擅长分解任务,具有时间观念,具有计划能力,具有跨界思维,有亲和你,组织协调。

2.通过查找资料,详细介绍CMM的第二、三、四、五等等级的核心过程域 ?

3.PSP/TSP/CMM之间的关系?

答:psp是改善软件个人的过程能力,tsp是改善软件团队的过程能力,而cmm则集中在软件组织过程能力成熟度的指导上。Cmm建立的指导原则也是为tsp服务的。

第三章

1.选择一门学习课程,进行PSP0的时间记录日志,以7天为周期。

2.上网查询一个好的TSP的标准,*并举一具体的TSP启动后的例子。

答:

第一章

img

1. 软件过程?

软件过程是指一套关于项目的阶段、状态、方法、技术和开发、维护软

件的人员以及相关组成。目前有三种方法:UP(the unified process),The OPEN Process,

OOSP(TheObject-Oriented Software Process)。软件过程(Software Procedure)是指软件生存期所涉及的一系列相关过程。过程是活动的集合;活动是任务的集合;任务要起着把输入进加工然后输出的作用。活动的执行可以是顺序的、重复的、并行的、嵌套的或者是有条件地引发的。软件过程可概括为三类:基本过程类、支持过程类和组织过程类。基本过程类包括获取过程、供应过程、开发过程、运作过程,维护过程和管理过程。支持过程类包括文档过程、配置管理过程、质量保证过程、验证过程、确认过程、联合评审过程、审计过程以及问题解决过程。组织过程类包括基础设施过程、改进过程以及培训过程。

2.IEC12207 软件生存周期过程包括哪些?( 国际电工委员会International Electro technical Commission ,简称IEC )ISO/IEC15504 软件生存周期过程?

IEC12207软件生存周期包括:

获取过程:定义需方(即获取一个系统、软件产品或软件服务的组织)的活动。

供应过程:定义供方(即向需方提供系统、软件产品或软件服务的组织)

的活动。

开发过程:定义开发者(即定义和开发软件产品的组织)的活动。

操作过程:定义操作者(即在计算机系统运行环境中为用户提供操作服务的组织)的活动。维护过程:定义维护者(即对软件产品进行维护服务的组织)的活动,这个过程包括系统移植和换代。

ISO/IEC15504软件生存周期包括:用户供应者过程(CUS),工程过程(ENG)、支持过程(SUP)管理过程(MAN)、组织过程(ORG)执行评估;过程能力测量框架;过程参考模型和过程评估模型;选择和应用评估工具;评审员资格;验证一致性;

3. 软件管理的四个过程?

项目管理过程,质量管理过程,风险管理过程,子合同商管理过程。软件组织过程全局规划组织过程是软件组织用来建立和实现由相关的生命周期过程和人员组成的基础结构并不断改进这种结构的过程。业务规划过程,定义过程,改进过程,人力资源和培训过程,基础设施过程。

第二章

img

1. 软件项目管理包括哪几个主要管理,了解项目经理的职能。(上网或查资料)举出一些具

体的例子说明过程不成熟性。

(1)软件可行性分析与成本估算

(2)软件生产率及质量管理

(3)软件计划及人员管理

2. 通过查找资料,详细介绍CMM 的第二、三、四、五等等级的核心过程域?

img

3.PSP/TSP/CMM 之间的关系?

CMM是过程改善的第一步,它提供了评价组织的能力、识别优先改善需求和追踪改善进展的管理方式。企业只有开始CMM改善后,才能接受需要规划的事实,认识到质量的重要性,才能注重对员工经常进行培训,合理分配项目人员,并且建立起有效的项目小组。然而,它实现的成功与否与组织内部有关人员的积极参加和创造性活动密不可分。

PSP能够指导软件工程师如何保证自己的工作质量,估计和规划自身的工作,度量和追踪个人的表现,管理自身的软件过程和产品质量。经过PSP学习和实践的正规训练,软件工程师们能够在他们参与的项目工作之中充分运用PSP,从而有助于CMM目标的实现。

TSP结合了CMM的管理方法和PSP的工程技能,通过告诉软件工程师如何将个体过程结合进小组软件过程,并将后者与组织进而整个管理系统相联系;通过告诉管理层如何支持和授权项目小组,坚持高质量的工作,并且依据数据进行项目的管理,向组织展示如何应用CMM

的原则和PSP的技能去生产高质量的产品。

第三章

img

img

1. 选择一门学习课程,进行PSP0 的时间记录日志,以7 天为周期。

2. 上网查询一个好的TSP 的标准, 并举一具体的TSP 启动后的例子。

3. 介绍PSP 成熟度模型。

PSP过程框架:PSP过程由一系列方法、表格、脚本等组成,用以指导软件开发人员计划、度量和管理他们的工作。

PSP成熟度模型:PSP是一个具有4个等级,7个台阶的成熟度框架。4个等级分别为个体度量过程、个体计划过程、个体质量管理过程和个体循环过程。以循序渐进的方法改进个体软件过程。每一级别都包含了更低一级别中的所有元素,并增加了新的元素。

个体度量过程PSP0和PSP0.1(7个过程行为)

个体规划过程 PSP1和PSP1.1(4个过程行为)

个体质量过程PSP2和 PSP2.1(3个过程行为)

个体循环过程PSP3

4.TSP 解决的主要问题

如何规划和管理一个软件开发团队。

如何制订团队工作所需要的策略。

如何定义和确定团队中每个角色的职责。

如何为团队中每个成员分配不同的角色。

团队及其不同角色在整个开发过程的不同阶段应该做些什么,如何更好地发挥作用

在如何协调团队成员之间的任务,并跟踪报告团队整体的任务进度。

采用哪些方法提高团队的协作能力。

*前三章学习完成,可选一个项目,制定本项目的软件过程。

第四章

img

1. 需求的三个层次分别是什么?简要说明。

业务需求、用户需求和功能需求。

业务业务需求(business requirement)反映了组织机构或客户对系统、产品的概括的目标

要求,它在项目视图与范围文档中予以说明。主要的目的是对企业目前的业务流程进行评估,

得出一个业务前景。业务需求的确定对后面的用户需求和功能需求起到了限制作用。

用户需求(user requirement) 文档描述了用户使用系统而完成的任务的集合,用户需求在用户案例(user case)文档或方案脚本中予以说明。收集和分析用户需求是不容易的,因为很多需求是隐形的,很难获取,更难保证需求完整,而需求又是易变的,这就要求用户和开发人员进行充分地交流。

功能需求(functional requirement)定义了开发人员必须实现的软件功能,它源于用户需求。功能需求是软件需求说明书中最重要的部分之一,它在开发、测试、质量保证、项目管理以及相关项目功能中都起了重要的作用。非功能需求描述了系统展现给用户的行为和执行的操

作等,包括要遵从的业务规则、人机接口、安全性和可靠性等要求。

2. 需求分析的主要步骤和方法。

在功能方面,需求包括系统要做什么,相对于原系统目标系统需要进行哪些修改,目标用户有哪些,以及不同用户需要通过系统完成何种操作等。

在性能方面,需求包括用户对于系统执行速度、响应时间、吞吐量和并发度等指标的要求。

在运行环境方面,需求包括目标系统对于网络设置、硬件设备、温度和湿度等周围环境的要求,以及对操作系统、数据库和浏览器等软件配置的要求。

在界面方面,需求涉及数据的输入/输出格式的限制及方式、数据的存储介质和显示器的分辨率要求等问题。

方法:需求研讨会、头脑风暴、用例模型、访谈、角色扮演、原型法

3 如果你是项目经理,你将如何预防客户多次变更需求问题?

img

(1)合同签订马虎,没有真正明白客户需求

签订合同时缺乏对客户需求认真对待,导致需求描述不清,为后期的实施工作带来困惑。为使客户能够快速的签订合同,往往草率决定和片面同意客户提出的需求。当客户提出新的需求时,往往是销售顾问一看“应该”只是一个小小的修改,没有太大的影响,所以直接答应能变更。

(2)调研时没有深入理解客户需求不熟悉可以的真正的工作环境、工作流程,在需求调研分析阶段,项目组成员和客户的深入交流是减少频繁需求变更的关键阶段之一。但是由于双方的误解通常使需求交流难以进行。更严重的是,实施顾问只根据用户提出的描述性、总结性的短短几句话去制定实施方案,没有真正挖掘和按客户的需求去制定实施计划。

(3)没有明确的需求变更管理流程没有明确的需求变更管理流程,就会使需求变更变得泛滥。并不是所有的变更都要修改,也不是所有变更都要立刻修改,需求变更管理的目的是为了决定什么类型的变更需要修改和什么时候修改。

4.6大需求变更控制活动

(1)确定需求变更控制过程:

(2)建立需求变更控制委员会:

(3)进行需求变更影响分析

(4)跟踪所有受需求变更影响的工作产品

(5)调整需求基线

需求变更——变更波及的外部分析

(1)变更是否与基线(已经实现的部分)相冲突(是否是基线内的);

(2)变更是否存在与虽未实现,但已经决定的需求相冲突;

(3)不采纳变更是否会有技术上的风险,或者采纳变更会有什么技术上的风险;

(4)不采纳变更是否会有业务上的风险,或者采纳变更会有什么业务上的风险;

(5)不采纳变更是否会导致质量降低,或者采纳变更会有多大的质量提升;

(6) 变更在技术实现上是可行的吗?

(7)采纳变更是否会导致用户进一步提出更多不合理的要求?

(8)采纳变更对现有项目组在人力、技术、工具等方面,是否能够承受,增加资源是否可

能;

(9)采纳变更的需求变更量的估计是多少?

(以单元为单位、以时间为单位、成本为单位)

(10)采纳变更后,虽然进行了合理安排,包括采用关键路径法,调整进度安排,但最后仍

然对进度的影响是多少?

(11)采纳变更以后使多少实际已经开发完成的单元被废弃,相关的工作量是多少?

(12)采纳变更以后使多少实际已经开发所用的单元时间被浪费,相关的比率是多少?

(13)变更对市场、销售、培训、维护的影响有多大?

需求变更——需求变更波及分析报告

标题: 变更描述:

分析人 日期:

优先级评定:

相关收益:相关代价:

相关成本: 相关风险:

增加耗时:增加人力:

对进度的影响:

对成本的影响:

对质量的影响:

直接影响的其他部分:

间接影响的其他部分:

导致的计划变更:

导致的成本变更:

其他影响:

假定前提:

条件与约束:

评审人意见:

第五章

img

1. 简答软件过程的技术架构及目的、层次和内容?

软件过程:组织结构和技术架构的支持

技术架构:用于支持软件工程过程成功实现与过程改进的技术基础设施,各类在技术管理中所采用的方法、工具等。

img

2. 对缺陷的跟踪管理一般而言需要达到什么目标?

缺陷能够引起软件运行时产生的一种不希望或不可接受的外部行为结果,软件测试过程简单说就是围绕缺陷进行的,对缺陷的跟踪管理一般而言需要达到以下的目标:

1.确保每个被发现的缺陷都能够被解决;

2.这里解决的意思不一定是被修正,也可能是其他处理方式(例如,在下一个版本中修正或是不修正),总之,对每个被发现的BUG的处理方式必须能够在开发组织中达到一致;

3.收集缺陷数据并根据缺陷趋势曲线识别测试过程的阶段;决定测试过程是否结束有很多种方式,通过缺陷趋势曲线来确定测试过程是否结束是常用并且较为有效的一种方式;

4.收集缺陷数据并在其上进行数据分析,作为组织的过程财富。

第六章

img

img

1 .什么是基线?包括哪些?P127

img

2. 变更控制的7 个阶段?P131

img

3. 项目估算的方法? 项目成本的组成?P135

img

常用的规模估算方法:

(1)代码行方法

(2)功能点分析方法

(3)面向对象软件的对象点方法

其他估算方法:德尔菲法(Delphi technique)、COCOMO模型、特征点(feature point)、对象点(object point)、3-D功能点(3-D function points)、Bang度量(DeMarco’s bang metric)、模糊逻辑(fuzzy logic)、标准构件法(standard component)等项目成本的组成(1)直接成本人力成本硬件设备软件费用(2)间接成本项目管理成本一般管理成本项目成本的估算方法

(1)经验估算法

(2)比例法

(3)工作分解结构表(自上而下自下而上)

4. 常用的风险识别方法?10 种常见的风险?

①Swot分析法②头脑风暴③德尔菲法④专家调查法⑤文件审核⑥初始清单法⑦风险调查法

①合同风险②需求变更风险③沟通不良风险④缺乏领导支持风险⑤进度风险⑥质量风险⑦

系统性能风险⑧工具风险⑨技术风险⑩团队成员能力和素质风险

*5. 了解工作结构分解表-WBS

6. 需求变动,应该如何处理?

提出变更-变更评估-实施变更-需求变更处理流程

img

第七章

img

1. 简要说明评审的基本流程p159

2. 哪些指标可以用来测量软件过程质量?

(1)缺陷发现率——bug/KLOC  KLOC是指千行代码,而bug/KLOC的意思是每千行代码平均产生的缺陷数量。

(2)质量成本

(3)过失成本

过失成本包含修复产品中缺陷的所有费用。当修复一个缺陷时,就增加过失成本。.

质检成本

质检成本包含评估产品以确定在产品中是否仍然留有缺陷的所有工作,

但不包含修复缺陷花费的时间,这包括对无缺陷产品的代码复查时间、编译时间和测试时间。

.预防成本

预防成本是指修改过程以避免缺陷引入所带来的费用。

3. 质量度量的作用?P169

4. 需求分析报告需要采用哪种评审? 核心代码需要采用哪种评审? 一般的代码需要采用哪种评审?

img

临时评审(Ad hoc review)

轮查(Passroud)

走查(Walkthrough)

小组评审(Group Review)

审查(Inspection)

第八章

img

1. 将项目过程的集成管理和产品管理进行对比找出它们的共同点和不同点

根据多个项目的需求对组织标准过程的剪裁,构造完整的、集成的过程规范。根据相关利益者的要求和计划,实现产品和产品构件的设计目标。对项目进度进行安排、对资源进行分配和调度。识别、跟踪和解决问题。综合运用上述集成的过程规范来管理项目。协调各相关利益者的关系,并使之积极、主动参与到项目管理中来。其它必要的项目管理内容,如风险管理、质量管理、配置管理等。其它必要的技术活动,如需求开发、设计和验证等。利用组织过程财富库实施项目已定义过程。运用项目已定义过程、项目计划和从属计划,监督和控制项目的活动和工作产品。收集并分析有关的度量项目。定期审查环境是否足以满足项目和团队间合作的需求。定期审查项目的绩效和状态,并根据审查结果进行适当调整、协调。

2.IPD 中两个跨部门团队的责任是什么?两者之间会经常性的冲突吗?P192

第九章

1. 过程能力度量和过程性能度量有什么不同?

img

软件过程能力度量(the measurement of the software procedure capability)SEI CMM等级4描述了两个关键过程域(KPA):定量过程管理和软件质量管理。其中前者针对的是软件过程的执行,而后者针对的是软件产品的质量。照组织当前的实际开发过程,我们可以通过使用Cpk指数进行过程能力度量来评定实际过程与基线的目标均值的接近程度以及过程变更的数量。要度量组织的过程能力,首先需要有如下信息:

1)指定界限(即上限和下限)

2)指定宽度(可根据指定界限得出)

3)过程界限(通过过程度量所得出的上限和下限)

4)过程宽度(可根据过程界限得出)

(1)如果要考察开发小组的素质,可以使用所编文档的页数、所编代码的行数、花费在各个开发阶段或花费在各个开发任务上的时间、在各个开发阶段中注入和改正的缺陷数目等基本度量元。当然,它们是针对软件产品开发的,对软件产品的维护或提供其他服务,可以参照这些条款给出类似的陈述。

(2)当考察软件过程质量时,对应的度量数据应该是工作产品评审缺陷密度、代码走查发现缺陷密度、测试发现缺陷密度等度量元。

(3)为了合格,需要度量产品和过程的属性,例如看一个产品是否合格,可以度量产品的一些特性,如"运行测试阶段少于20个错误"或"每个模块的代码行不超过100行",开发过程的一些属性,如"单元测试必须覆盖95%以上的用例"等。

(4)需要度量当前已存在的产品和过程的属性,以便预测将来的产品。例如:通过度量软件规格说明书的大小来预测目标的大小,通过度量设计文档的结构特性来预测将来维护的"点",通过度量测试阶段的软件的可靠性来预测软件今后操作、运行的可靠性。