软件项目管理与案例分析思考题及答案

发布时间 : 星期六 文章软件项目管理与案例分析思考题及答案更新完毕开始阅读

软件项目管理

第一章 思考题:

1、当我们选择软件项目的负责人时,我们在寻找什么?

成功的项目负责人应采用一种解决问题的管理风格。也就是说,软件项目经理应该注重理解要解决的问题、把握住涌现 的各种意见、同时让项目团队的每一个人知道质量很重要,不能妥协。

2、选择软件团队的结构时,应该考虑哪些因素?

(1)待解决问题的难度;(2)开发程序的规模,以代码行或功能点来度量;(3)团队成员需要共同工作的时间(团队生存期);(4)能够对问题做模块化划分的程度;(5)待开发系统的质量要求和可靠性要求;(6)交付日期的严格程度;(7)项目所需要的友好交流的程度。

3、定义软件的结构时,我们有哪些选择?

封闭式范型。按照传统的权利层次来组织团队。当开发与过去已经做过的产品相似的软件时,这种团队十分有效。但在这种封闭式范型下难以进行创新性的工作。

随机式范型。松散地组织团队,团队工作依赖于团队成员个人的主动性。当需要创新或技术上的突破时,按照这种随机式范型的团队很有优势。但当需要“有次序地执行”才能完成工作时,这种团队就会陷入困境。

开放式范型:试图以一种具有封闭式范型的控制性,又包含随机式范型的创新性的方式来组织团队。工作是大家相互协作完成的。良好的沟通和根据团队整体的意见做出决策是开放式范型的特征。开放式范型的团队结构特别适合于解决复杂的问题,但可能不像其他类型的团队那么有效。

同步式范型。依赖于问题的自然划分,组织团队成员各自解决问题的一部分,他们之间没有什么交流。

4、何谓有凝聚力的团队?

一个有凝聚力的团队是一组团结紧密的人,他们的整体力量大于个体力量的总和。与一般团队相比,有凝聚力的团队成员 有更高的生产率和更大的动力。他们拥有共同的目标和共同

的文化,而且在很多情况下,“精英意识”使得它们独一无二。 5、为什么有些团队没有凝聚力?

并非所有的团队具有凝聚力。事实上,很多团队都受害于Jackman[ JAC 98]称之为“团队毒性”的东西。她定义了5个“培育潜在含毒团队环境”的因素(1)狂乱的工作氛围(2)引起团队成员产生摩擦的重大挫折(3)“碎片式的或协调很差”的软件过程(4)在软件团队中没有清晰的角色定义(5)“接连不断地重蹈覆辙”。 6、我们如何定义关键的项目特性 W5HH原则

为什么(Why)要开发这个系统?

对这个问题的回答,可以使所有参与者评估软件工作的商业理由的有效性。换句话说,该系统的商业目的值得花费这些人员、时间和金钱吗? 将要做什么(What)?

对这个问题的回答将制定完成项目所需的任务清单。 什么时候(When)做?

就是标识出何时开展项目任务和何时达到里程碑,对这个问题的回答能够帮助团队安排好项目进度。

某功能由谁(Who)负责?

必须规定软件团队的每个成员的角色和责任。 他们的机构组织位于何处(Where)?

并非所有角色和责任均属于软件团队,客户、用户和其他共利益者也有责任。 如何(How)完成技术工作和管理工作?

一旦确定了产品范围,必须定义项目的管理策略和技术策略。 每种资源需要多少(How much)?

对这个问题的回答,是在对前面问题回答的基础上,通过估算而得到 小结:

软件项目管理是软件工程的普适性活动。它先于任何技术活动之前开始,且持续贯穿于整个计算机软件的定义、开发和维护之中。

4个P-人员、产品、过程和项目,对软件项目管理具有重大的影响。

必须将人员组织成有效率的团队,激励他们完成高质量的软件工作,并协调他们实现有效的沟通。

产品需求必须在客户与开发者之间进行交流,划分(分解)成各个组成部分,并分配给软件团队。

过程必须适合于人员和问题。选择通用过程框架,采用合适的软件工程范型,并挑选工作任务集合来完成项目的开发。

最后,必须采用确保软件团队能够成功的方式来组织项目。 第二章

思考题:

1、对软件度量的私有使用和公用使用有什么不同? 不同类型的过程数据的使用可以分为“私有的和公用的”。 私有过程数据是软件工程师个人改进其工作的重要驱动力。

公用度量一般吸取了原本是个人的或团队的私有信息。收集和评估项目级的缺陷率(肯定不能归因于某个个人)、工作量、时间及相关的数据,以找出能够改善组织过程性能的指标。

2、当我们收集软件度量时,应该采用什么指导原则? 软件度量规则:

解释度量数据时使用常识,并考虑组织的敏感性。 向收集测量和度量的个人及团队定期提供反馈。 不要使用度量去评价个人。

与开发者和团队一起设定清晰的目标,并确定为达到这些目标需要使用的度量。 不要用度量去威胁个人或团队。

指出问题区域的度量数据不应该被“消极地”看待,这些数据仅仅是过程改进的指标。

不要在某一个别的度量上纠缠,而无暇顾及其他重要的度量。 3、在项目中,我们应该如何使用度量?

软件过程度量主要用于战略的目的。软件项目度量则是战术的。在大多数软件项目中,项目度量的第一个应用是在估算阶段。从过去的项目中收集的度量可以作为估算当前软件工作工作量及时间的基础。随着技术工作的启动,其他项目度量也开始有意义了。生产率可以根据创建的模型、评审的时间、功能点以及交付的源代码行数来测量。

4、什么是度量基线?它能为软件工程师提供什么益处?

度量基线由从以往开发的软件项目中收集的数据构成,一个包含过程和产品测量的数据库。基线是估算的基础。通过建立度量基线,软件工程师及管理者能够更好地了解他们所做的工作和开发的产品,在过程级、项目级和产品(技术)级上都能获得收益。

5、我们应该怎样导出一组“简单的”软件度量?

不是从测量而是从结果入手,软件小组通过表决来确定一个需要改进的目标,根据这个目标,小型 组织可以选择一些易于收集的测量,从而得出度量,并进行过程改进。

6、一个Web工程团队已经开发了一个包含145个网页的电子商务WebApp。在这些页面中,65个是动态页面,即根据最终用户的的输入而在内部生成的页面。那么,该应用的定制指数是多少?

Nsp = 静态Web页的数量 Ndp = 动态Web页的数量 定制指数 C = Ndp /( Ndp + Nsp ) =65/145 ≈0.448

小结:

测量能使管理者和开发者改进软件过程,辅助进行软件项目的计划、跟踪及控制,评估生成的产品(软件)的质量。对过程、项目及产品的特定属性的测量可用于计算软件度量。分析这些度量可获得指导管理及技术行为的指标。

过程度量使得一个组织能够从战略角度深入了解一个软件过程的功效。项目度量是战术性的,能使项目管理者实时改进项目的工作流程及技术方法。

面向规模的度量和面向功能的度量在业界都得到了广泛的应用。面向规模的度量以代码行作为其他测量(如人·月,缺陷)的规范化因子。功能点则是从信息域的测量及对问题复杂度的主观评估中导出的。

软件质量度量(如生产率度量)关注的是过程、项目及产品。一个组织通过建立并分析质量的度量基线,能够纠正引起软件缺陷的软件过程区域。

测量会带来企业文化的改变。如果开始进行度量,则数据收集、度量计算及度量分析是必须完成的三个步骤。通常,目标驱动的方法有助于一个组织关注于对其业务的正确度量。通过建立度量基线——一个包含过程和产品测量的数据库,软

联系合同范文客服:xxxxx#qq.com(#替换为@)