软件项目的风险分析
软件开发的需求风险分析

软件开发的需求风险分析摘要:随着软件开发技术的不断更新、软件数量的不断增多、软件复杂程度不断加大、客户对产品的要求也在不断的提高,随之而来的是市场对软件开发项目需求的不断变化,这便给软件开发企业和需求企业带来的巨大风险。
市场对软件开发项目的需求会直接影响到公司的生存。
这对软件开发企业来讲应该是更大的难题。
本文通过对当前软件行业的需求风险状况进行分析,列举软件开发项目的需求风险来源,并进行分析,总结需求风险产生的原因和对项目成败的影响,最后给出软件开发项目在需求风险管理和控制方面的建议。
关键字:软件开发需求风险风险分析一、对需求风险的理解产品开发过程中,由于产品需求本身的隐含性、用户与开发者之间的沟通障碍,以及需求随着时间、用户的变化而变更等原因,可能使需求分析偏离实际需求而最终导致产品开发的失败,这种可能性称为需求风险。
软件开发项目风险是指在软件生命周期中所遇到的所有的预算、进度和控制等各方面的问题,以及由这些问题而产生的对软件项目的影响。
需求分析是软件开发过程中最初始、最基础的工作,也是最重要的工作之一,其成败将直接并最终决定软件开发的成败,并且呈倍增效应。
需求分析的关键是使隐含的需求明确,使变更的需求可控,采用座谈会、需求调查表、需求启发、角色扮演等方法可以使需求明确化;采用面向对象的方法及UML工具、领域专家的全程参与、需求分级、二次开发接口等方法可以使需求变更处于可控范围内。
实践证明,这些都是控制需求风险的有效方法。
二、需求的获取(一)产品前景和项目范围应该在软件开发项目早期,编写一份包括业务需求在内的前景和范围文档,并将它作为添加新需求和修改现有需求的指导。
(二)需求开发所需的时间将每个软件开发项目中需求开发所耗费的实际工作量记录下来,这样就可以判断出需求开发是否充分,并可以改进未来项目的工作计划。
(三)需求规格说明的完整性和正确性为了确保需求是客户真正需要的,应该以用户任务为中心,应用用例技术来获取需求。
软件项目管理中的风险管理研究

软件项目管理中的风险管理研究 随着信息技术的快速发展,软件项目变得更加复杂,风险也变得更加严峻。软件项目管理中的风险管理因此成为了重要的研究领域。本篇文章将从软件项目管理中的风险管理的概念入手,分析软件项目管理中的主要风险,并探讨常用的风险管理方法,以期为软件项目管理者提供有益的参考。
一、风险管理概念 风险是指可能会影响项目目标的事件或情况。其出现的频率和影响程度是难以预测的。风险管理可以认为是识别、评估和规划的过程,这样可以使项目管理者更好的控制项目的风险。这个过程是一个系统的方法,它需要多方合作,具有一定的主观性和不确定性。风险管理包括四个阶段:防范、转移、降低和接受。防范是避免风险的发生,转移是将风险转移给第三方,降低是减小风险的概率和影响,接受是承认风险的存在并采用适当的措施进行应对。风险管理的目标是实现项目的目标,最大限度地减少风险对项目进度、成本和质量的影响。
二、软件项目管理中的主要风险 1. 需求风险 客户不明确的需求或需求变更是软件项目管理中的主要风险之一。如果需求不明确,开发人员将无法正确理解客户的需求,从而导致开发出的软件无法满足客户的需求。需求变更会导致软件设计和开发工作受到影响,因此将额外的时间和资源用于满足修改后的需求。
2. 人力资源风险 人力资源是软件项目管理中的另一个重要风险。项目开发人员的技能水平、主观能力、素质和经验等因素都会影响开发的质量和进度。人员调动、离职或项目中出现与开发工作相关的紧急事件都会导致人力资源缺乏和项目进展受到阻碍。
3. 进度风险 进度风险是指项目进度的过程化控制能力和效率的问题。如果项目进度无法控制,将会导致项目的成本增加和密切相关的质量问题。在项目实现中,如果无法满足项目的时间表,将影响到项目的开发流程。
4. 交付风险 交付风险是指未能按时完成项目的交付件。交付件质量问题和交付件延迟都是项目不可忽略的问题。交付件质量问题包括功能、性能、安全、用户体验等多个因素。交付件延迟可能会导致违反合同条款,从而导致最终的产品不符合合同要求。
软件开发项目中的沟通与协作风险分析与控制

软件开发项目中的沟通与协作风险分析与控制在软件开发项目中,沟通与协作是至关重要的环节,它关系到项目的进展和成果。
然而,沟通和协作也存在一定的风险,如信息传递不准确、合作意愿不强等问题。
为了确保项目的成功,需要对沟通与协作风险进行分析与控制。
一、沟通与协作风险的分析在软件开发项目中,存在以下几种沟通与协作风险:1.信息传递不准确信息传递不准确是造成沟通困难的主要原因之一。
开发团队成员之间在沟通中可能会存在理解偏差,导致项目信息传递不准确,进而影响项目进展。
2.沟通渠道不畅通沟通渠道不畅通也是沟通与协作风险的一个重要因素。
如果开发团队没有建立起有效的沟通渠道,信息交流就会受到限制,从而导致合作效率降低。
3.文化差异在国际合作的软件开发项目中,来自不同国家和地区的团队成员可能存在文化差异。
文化差异可能会导致沟通障碍和理解上的偏差,增加了沟通与协作的风险。
4.合作意愿不强软件开发项目通常需要多个团队成员的合作。
如果团队成员之间的合作意愿不强,就会影响到项目进展。
在这种情况下,需要及时发现并解决团队成员之间的合作问题,以确保项目顺利进行。
二、沟通与协作风险的控制为了降低沟通与协作风险,实现项目的成功,可以采取以下措施:1.制定清晰的沟通计划在项目开始阶段,制定清晰的沟通计划是非常重要的。
沟通计划应明确项目成员之间的沟通方式、沟通频率和沟通内容等细节,以确保信息传递的准确性和及时性。
2.建立有效的沟通渠道建立有效的沟通渠道可以促进信息交流和合作。
可以利用现代技术手段,如邮件、即时通讯工具和项目管理平台等,建立起高效畅通的沟通渠道,确保项目成员之间能够随时交流和合作。
3.加强团队沟通培训团队成员之间的沟通技巧和意识对项目的成败有着重要的影响。
可以开展针对沟通技巧和团队协作的培训,增强团队成员的沟通能力和合作意识,从而提高项目的成功率。
4.重视文化差异管理如果项目涉及到国际合作,需要重视文化差异管理。
可以通过了解各国文化差异,并采取相应的措施,如提供多语言支持、加强跨文化交流等,降低文化差异导致的沟通障碍和理解偏差。
软件项目风险分类

软件项目风险分类一、引言在软件项目开发过程中,风险是无法避免的。
对软件项目的风险进行分类和评估,能够帮助项目团队更好地管理和应对风险,提高项目的成功率。
本文将对软件项目风险进行分类,以便更好地识别和处理不同类型的风险。
二、风险分类根据软件项目的特点和风险来源,可以将软件项目风险分为以下几类:1. 技术风险技术风险是指与软件开发技术相关的风险。
例如,项目团队对所使用的技术不熟悉,技术人员能力不足,技术选型不合理等。
这些问题可能导致开发过程中出现技术难题,影响项目进度和质量。
2. 管理风险管理风险是指与项目管理相关的风险。
例如,项目进度和资源管理不当,沟通不畅,团队成员之间合作不够紧密等。
这些问题可能导致项目延期、超出预算或者出现沟通问题,进而影响项目的成功。
3. 需求风险需求风险是指与软件需求相关的风险。
例如,需求不明确、需求变更频繁、需求与用户期望不一致等。
这些问题可能导致开发出的软件无法满足用户的需求,进而影响项目的价值和可行性。
4. 市场风险市场风险是指与软件产品市场相关的风险。
例如,市场需求不稳定、竞争激烈、市场前景不明朗等。
这些问题可能导致软件产品销售不佳,无法达到预期的商业目标。
5. 财务风险财务风险是指与项目资金相关的风险。
例如,资金不足、预算超支、投资回报不理想等。
这些问题可能导致项目无法按计划进行,甚至中途停止。
6. 安全风险安全风险是指与软件安全相关的风险。
例如,系统容易受到黑客攻击、数据泄露、系统漏洞等。
这些问题可能导致软件系统遭受损害,用户信息泄露,进而影响用户的信任和软件的可靠性。
7. 法律风险法律风险是指与法律法规相关的风险。
例如,软件违反了知识产权法律、隐私保护法律等。
这些问题可能导致法律纠纷,给项目带来法律风险和经济损失。
三、风险评估和应对措施对于不同的风险类型,项目团队需要进行风险评估,并采取相应的应对措施。
以下是一些常见的应对措施示例:1. 技术风险- 提前进行技术调研和评估,选择合适的技术方案。
软件项目基本风险的分析方法

作者简介 : 葛梅(9 9 )女 , 16一 , 山东济南人 , 山东中创软件工程股份有限公司 Q A工程师 ; 李蕾(99 )女 , 15一 , 北京人 , 山东省产品质量监督检验研究院高级工程师; 李建华 ( 5一 )男 , 1 2 , 山东青 岛人 , 9 山东赛宝电子信息监督检测研究 院研究 员。
基于过程识别的基本风险过程属性关联的风险风险的细化人员风险人力资源不足参与人员缺乏必要的技能成本风险人员缺乏足够的工作热情适用的标准质量风险无法满足的质量的要求导致项目的延期技术风险需要的技术无法及时满足适用的规程方法工具和资源进度风险需要的资源无法及时提供无法满足的过程质量要求过程的性能目标质量风险过程管理的效果不好达不到过程的性能目标需求风险输入的不完整输入成本风险输入的变化需求风险对输入的确认不充分进入标准质量风险无法满足的产品质量要求进度风险活动之间的依赖关系决定了项目的关键路径关键路径在开活动环境风险发过程中动态变化输出质量风险输出无法达到规定的质量要求退出标准质量风险缺少明确的退出准则界面进度风险与其他过程的衔接造成进度的拖延进度风险对度量数据缺乏必要的分析造成对项目中的过程缺陷与产对产品或过程的度量质量风险品缺陷不敏感三风险分析分析风险就是对已标识的风险进行评估确定其发生的可能性和后续结果
1基于项 目管理平衡 原则识 别基本风险 . 首先我们从软件项 目管理 的 4个最基本的约束条件开始分析风险 。这 4个最基本的约束条件见 图 1 。 需求定 义了系统 的范 围与规模 , 资源定 义了项 目的投资 , 度定义 了项 目的交付 日期 , 进 质量定 义 了系统符合 需求 的 程度 , 四个要素之间是有制约平衡关 系的 : 这 () 1更小 的需求 可能会有助于提高质量 , 能更快 或更 经济地交 付产品 。如 果需求范 围很 大 , 在较 少的资 源投入 也 要 下, 很短的工期内 , 高的质量 要求 来完成某个项 目, 很 那是不 现实的 , 要么需要增加投 资 , 要么工程延期 ; 如果需求界定清
软件开发风险解决措施方案

软件开发风险解决措施方案一、风险评估与分析在软件开发过程中,风险评估与分析是风险管理的第一步。
通过收集和整理项目相关的风险信息,采用定性和定量的方法,评估每个风险的可能性和影响程度。
这涉及到识别潜在的技术风险、市场风险、人力资源风险、安全风险等,并分析其可能对项目进度、成本和质量带来的影响。
二、风险预防策略预防是风险管理的重要环节。
制定针对性的风险预防策略,如选择经验丰富的开发团队、采用成熟的技术框架、定期进行项目审查等,旨在减少风险的发生概率。
三、风险缓解措施对于无法完全避免的风险,应制定风险缓解措施。
例如,对于技术难题,可以引入专家咨询、进行技术预研或采用备选技术方案。
对于人力资源风险,可以通过制定详细的人力资源计划、加强团队沟通与合作来减轻其影响。
四、风险监控与管理在软件开发过程中,应持续监控风险的状态,确保风险管理计划的有效执行。
通过定期的风险审查会议、使用风险管理工具等手段,对风险进行实时跟踪和评估,确保项目的顺利进行。
五、风险应对计划即使做了充分的风险预防和缓解措施,仍然有可能遇到无法预期的风险。
因此,需要制定风险应对计划,包括应急响应机制、风险转移策略(如购买保险)等,以应对这些突发情况。
六、备份与恢复策略数据安全和系统稳定性是软件开发中的关键。
因此,备份与恢复策略是风险管理中不可或缺的一部分。
需要定期备份项目数据、系统配置和重要代码,确保在发生数据丢失或系统故障时能够迅速恢复。
七、团队培训与意识提高团队对风险管理的认识和技能,是减少风险的重要手段。
通过定期的培训和分享会,让团队成员了解风险管理的理念和方法,掌握风险识别、评估、应对等技能。
八、持续改进与优化风险管理是一个持续的过程,需要不断地进行改进和优化。
通过总结项目经验教训、收集团队反馈、跟踪业界最新动态等方式,不断完善风险管理策略和流程,提高风险管理的效率和效果。
综上所述,软件开发风险解决措施方案涵盖了风险评估与分析、风险预防策略、风险缓解措施、风险监控与管理、风险应对计划、备份与恢复策略、团队培训与意识以及持续改进与优化等多个方面。
软件项目风险分析报告

级的需要显得非常迫切。如果软件的升级和移植非常艰难,软件的生命期必然很短,使得化费巨大人力物力开辟出的软件系统只能在低性能的硬件或者网络上运行,甚至被废弃不用,造成巨大的浪费。
软件的可维护性:软件的维护也是必然的事情,为了保证软件的较长使用寿命,软件就必须适应不断的业务需求变化,根据业务需求的变化对软件进行修改。修改的成本和周期都直接和软件的体系结构相关。一个好的软件体系结构可以尽可能地将系统的变化放在系统的配置上,即软件代码无需修改,仅仅是在系统提供的配置文件中进行适当的修改,然后软件重新加载进入运行状态,就完成为了系统部份功能和性能要求的变化。对于重大改动,需要打开源代码进行修改的,也仅仅是先继承原先的代码,然后用新的功能接替原先的调用接口,这样将把软件改动量减小到最低。
参预者
项目经理1人
主要职责:进行全局把握,侧重于项目的商务方面,充当项目组同客户正式交流的接口环节。
项目负责人1人
主要职责:制定项目开辟计划和开辟策略,参预项目核心系统的分析设计,同时努力保证开辟计划的按时完成和开辟策略的真正贯彻落实。
领域专家1或者2人
主要职责:在软件分析阶段匡助分析人员界定系统实现边界和实现的功能,对特定检测点进行算法审核,同时对测试策略和软件操作界面提出参考意见。
软件项目风险分析报告
软件项目风险分析报告
(说明:本文为word格式,下载后可自由编辑)
软件项目风险分析报告
本文主要针对软件开辟涉及到的风险,包括在软件开辟周期过程中可能浮现的风险以及软件实施过程中外部环境的变化可能引起的
风险等进行评估。在文中对所提到的风险都一一做了详细的分析,并提出了相应的风险回避措施。由于风险是在项目开始之后才开始对项目的开辟起负面的影响,所以风险分析的不足,或者是风险回避措施不得力,都很有可能造成软件开辟的失败。风险分析是在事前的一种估计,凭借一定的技术手段和丰富的经验,基本能够对项目的风险做出比较准确的估计,经过谨慎的考虑提出可行的风险回避措施,是避免
软件项目风险评估报告

软件项目风险评估报告软件项目风险评估报告本文主要针对软件开发周期中可能出现的风险以及软件实施过程中外部环境的变化可能引起的风险进行评估,并提出相应的风险回避措施。
因为风险分析的不足或风险回避措施不得力都有可能造成软件开发的失败,所以风险分析是避免损失的重要环节。
1.主要风险综述任何软件的开发,其主要风险均来自于软件管理和软件体系结构。
软件管理是保证软件开发工程化的手段,而软件体系结构的合理程度则取决于集体智慧发挥的程度和经验的运用。
1.1 软件管理将影响到软件的以下因素:1.1.1 软件是否能够按工期的要求完成:软件的工期常常是制约软件质量的主要因素。
在工期的压力下,软件开发商放弃文档的书写和组织,结果在工程的晚期,大量需要文档进行协调的工作时,致使软件进度越来越慢。
软件管理需要保证有效的组织和协调,以确保软件能够按时完成。
1.1.2 软件需求的调研是否深入透彻:软件的需求是确保软件正确反映用户对软件使用的重要文档,探讨软件需求是软件开发的起始点,但软件的需求会贯穿整个软件的开发过程。
软件管理需要对软件需求的变化进行控制和管理,以确保软件需求的变化不至于造成软件工程的一改再改而无法按期完成,同时又要保证开发的软件能够为用户所接受。
1.1.3 软件的实现技术手段是否能够同时满足性能要求:软件的构造需要对软件构造过程中使用的各种技术进行评估。
软件管理在制定软件开发计划和定义里程碑时必须考虑这些因素,并做出合理的权衡决策。
保证软件质量体系的有效性是任何软件管理都必须重视的环节。
制定一个有效的软件质量监督体系对于任何软件开发组织都是不可或缺的。
软件质量保证体系是软件开发过程中可控制过程的基础,也是开发商和用户进行交流的基础和依据。
软件体系结构对软件质量有着重要的影响,其中包括以下因素:可伸缩性、可维护性和易用性。
软件的可伸缩性是指软件能够在不修改的情况下适应不同的工作环境,因此软件升级和移植的需求非常迫切。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 1 页 软件项目的风险分析 软件工程项目的开发也存在各种各样的风险,有些风险甚至是灾难性的。R.Charette认为,风险与将要发生的事情有关,它涉及诸如思想、观念、行为、地点、时间等多种因素;风险随条件的变化而改变,人们改变、选择、控制与风险密切相关的条件可以减少风险,但改变、选择、控制条件的策略往往是不确定的。在软件开发过程中,人们关心的问题是,什么风险会导致软件项目的彻底失败?顾客需求、开发环境、目标机、时间、成本的改变对软件项目的风险会产生什么影响?人们必须抓住什么机会、采取什么措施才能有效地减少风险、顺利完成任务?所有这些问题都是软件开发过程中不可避免并需要妥善处理的。软件工程的风险分析包括:风险标识、风险估算、风险评价和风险管理四部分 1、风险标识 从宏观上看,风险可以分为项目风险、技术风险和商业风险三类。由于项目在预算、进度、人力、资源、顾客和需求等方面的原因对软件项目产生的不良影响称为项目风险。软件在设计、实现、接口、验证和维护过程中可能发生的潜在问题,如规格说明的二义性、采用陈旧或尚不成熟的技术等等,对软件项目带来的危害称技术风险。开发了一个没人需要的优质软件,或推销部门不知如何销售这一软件产品,或开发的产品不符合公司的产品销售战略,等等,称为商业 第 2 页
风险。这些风险有些是可以预料的,有些是很难预料的。为了帮助项目管理人员、项目规划人员全面了解软件开发过程存在的风险,Boehm建议设计并使用各类风险检测表标识各种风险。 2、风险估算 软件项目管理人员可以从影响风险的因素和风险发生后带来的损失两方面来度量风险。为了对各种风险进行估算,必须建立风险度量指标体系;必须指明各种风险带来的后果和损失;必须估算风险对软件项目及软件产品的影响;必须给出风险估算的定量结果。 3、风险评价和管理 在风险分析过程中,经常使用三元组[RI,LI,XI]描述风险。其中RI代表风险,LI表示风险发生的概率,XI是风险带来的影响,I = 1,2,…L是风险序号,表示软件项目共有L种风险。软件开发过程中,由于项目超支、进度拖延和软件性能下降都会导致软件项目的终止,因此多数软件项目的风险分析都需要给出成本、进度和性能三种典型的风险参考量。当软件项目的风险参考量达到或超过某一临界点时,软件项目将被迫终止。在软件开发过程中,成本、进度、性能是相互关联的。例如,项目投入成本的增长应与进度相匹配,当项目投入的成本与项目拖延的时间超过某一临界点时,项目也应该终止进行。通常风险估算过程可分为 第 3 页
四步:①定义项目的风险参考量;②定义每种风险的三元组[RI,LI,XI];③定义项目被迫终止的临界点;④预测几种风险组合对参考量的综合影响。 三元组[RI,LI,XI]是风险管理的基础。设高级职员流动给项目带来的风险为R。根据历史的经验或直观感觉,高级职员离开课题组的概率:LI = 70%。这一事件的出现带来的影响XI是项目开发时间延长15%,项目成本增加20%。于是项目负责人可以采取下列风险管理措施:
(1)项目开始以前应控制产生风险的原因,在项目开工后应想方设法减轻风险影响。 (2)了解导致项目开发人员变动的原因,在项目开发期间应控制上述原因,尽量减少人员的流动。 (3)在工作方法和技术上应采取适当措施,防止因人员流 第 4 页
动给工作带来损失。 (4)项目在开发过程中应及时公布并交流项目开发的信息。 (5)建立组织机构,确定文档标准,并及时生成文档。 (6)对工作进行集体复审,使多数人都能了解工作的细节,跟上工作进度。 (7)为关键技术准备后备人员。 软件项目,尤其是大型项目有二项非常重要的因素,会影响整个项目的进度与质量,它们分别是:“人”、“流程” 与“技术”。 “人”是项目中最难预料与掌控的一项要素,人可分成两部份,一是客户,二是开发团队。 “技术”是指软件项目所使用的开发半台,主要指开发环境及开发语言。是最容易掌握的部份。 “流程”是指软件开发流程或是项目流程,定义流程的目的是要掌控所有的情况。项目的最大敌人是时间及预算,这两者都是有限的,如何在有限预算内准时完成项目,可说是一项艺术。 “人”因素分析 “人”是指客户和开发团队,其中开发团队的因素对项目影响很大,对于这方面影响因素主要分析如下: ·人员技能未达到要求 在项目开始之初,我们假设项目成员都能够达到组织级 第 5 页
的要求,但往往并不是每个成员都能够达到要求。而且项目中每个成员的生产率差异可能很大,也给项目进度安排造成影响。所以在项目始之初,应该对项目成员的技能进行一次总体的评估,对于大家都欠缺的技能,应该安排统一的培训,后续需要对培训的效果进行跟踪;对于个别人员技能欠缺的,应该单独预留自我学习时间或通过以师带徒的方式进行培养,使其技能能够尽快达到要求:对于项目新员的工作和任务,应该加强评审和检查,保证输出不出现大的偏差而导致后续大量的返工。对于这方影响因素主要分析如下: ·项目成员责任心不强 态度决定一切,细节决定成败。对于项目过程中的各项任务,经常出现由于项目成员责任心不强敷衍了事,导致产出的工件质量较差,引起大量返工的情况。在这种情况下,项目更应该加强项目规范的建设,项目经理应加强同这些成员的单独沟通,加强项目的团队建设和集体荣誉感。让项目成员感觉到做的系统是他们自己的产品,而不是公司的项目,项目经理的项目。 ·项目沟通问题 在软件项目中,保证项目各种角色和成员中的高效沟通是很重要的,如何建立起快捷顺畅的沟通渠道,采用最佳的沟通方式来解决问题,必须在项目中经常强调。如果一周的项目任务花存实际做事情上有2天,而花在沟通上却占用了 第 6 页
3天,这时必须及时分析和总结原因。沟通最重要的就是要在最短的时间里面,采用各种方法或工具,使交流双方或多方达成一致。 ·项目人员流失 项目人员特别是项目关键成员在项目进行过程中的流失,对项目影响很大,对于这种情况,应该在项目开始之初,就作为专门的风险进行跟踪,并考虑具体的应对措施。 “流程”因素分析 软件的开发流程般定义为:需求分析一可行性分析一概要设计一结构化设计一详细设计一编码一软件测试一软件维护。 “流程”中软件项目的风险,主要体现存4个阶段:软件需求阶段、软件设计阶段、软件实现阶段和软件维护阶段 ·软件需求阶段 软件的开发是以用户的需求开始,在大多数情况下,用户需求要靠软件开发方诱导,才能保证需求的完整,再以的形式形成《用户需求》这一重要的文档。需求分析更多的是开发方确认需求的可行性和一致性的过程,在此阶段需要和用户进行广泛的交流和确认。需求和需求分析的任何疏漏造成的损失,会在软件系统的后续阶段被一级级地放大,因此本阶段的风险最大。 ·软件设计阶段 第 7 页
设计的主要目的在于软件功能正确地反映了需求,需求的不完整和对需求分析的不完整或者错误,在设计阶段将被成倍地放大。设计阶段的主要任务是完成系统体系结构的定义,使之能够完成需求阶段的即定目标;另一方面也是检验需求的致性和需求分析的完整性和正确性。 设计阶段的风险主要来自于系统分析人员。分析人员存设计系统结构时过于定制,系统的可扩展性较弱,会给后期维护带来巨大的负担和维护成本的激增。对用户来说系统的使用比例会有明显的折扣,甚至会造成软件寿命过短。反之,软件结构的过于灵活和通用,必然引起软件实现的难度增加,系统的复杂度上升,可靠性降低,给实现和测试阶段带来风险,系统的稳定性也会受到影响。从另一个角度上看,用户需求和将来软件运行环境的变化都是必然的,目前软件设计的所渭的“通用性”是否就能很好的适应将来需求和运行环境的变化,都是需要认真折衷的,而这种折中也蕴涵着很大的风险。 设计阶段蕴涵的另一种风险来自于设计文档。文档的不健全不仅会造成实现阶段的困难,更会在后期的测试和维护造成灾难性的后果,例如根本无法对软件系统进行版本级,甚至是发现的简单错误都无从更正。 ·软件实现阶段 软件的实现从某种意义上讲是软件代码的生产。源代码 第 8 页
木身也是文档的一部分,同时它又是将来运行于计算机系统之上的实体。源代码书的规范性,可读性是该阶段的主要风险来源。规范的代码生产会把属于程序员自身个性风格的成分引入代码的比例降到最低限度,从而减小了系统整合的风险。 ·软件维护阶段 软件维护包含两个主要的维护阶段,一个是软件生产完毕到软件试运行阶段的维护,这个阶段是一种实环境的测试性维护,其主要目的是发现在测试环境中不能或末发现的问题;另一个阶段是当软件的运行不再能适应用户业务需求或是用户的运行环境(包括硬件平台、软件环境等)时进行的软件维护,具体可能是软件的版本升级或软件移植等。
“技术”因素分析 第 9 页
存软件项目开发和建设的过程中,技术因素是一个非常重要的因素。项目组一定要本着项目的实际要求,选用合适、成熟的技术,千万不要无视项目的实际情况选用一些虽然先进但并非项目所必须且自己又不熟悉的技术。如果项目所要求的技术项目成员不具备或掌握不够,则需要重点关注该风险因素。 建立项目管理流程 那么如何解决这些问题,实际上很多模型已经给出了答案,比如RUP、QoS、XP等,但是大家在学习和使用这些模型的时候,往往觉得这些模型提出的概念和实施比较难以操作,另外就是不管是RUP、Q0S还是XP,既然是一个方法模型,就不可避免要描述为一个完整的、系统化的理论模型,否则就体现不出理论的完整和逻辑的严谨。下面我们只是把以软件设计为核心的开发管理流程化,避免在频繁发生外界变化的情况下,变被动为主动。 软件项目管理除了按照既定的管理流程进行有效的控制,还要对各阶段的文档进行标准化管理,保证文档的完整和标准化,为软件后期的维护提供有力的支持。
排序 输入 风险事件 可能性 影响 风险值 采取的措施 1 客户的sow 需求不明确,增加需求,导致需求蔓延。 70% 50% 35% 请专业需求分析师和客户代表具体深入细节的交谈,多了解客户的想法,站在客户的角度上思考问题。 2 合同 进度要求紧,合同金额和日期30% 50% 15% 可以请一些实习的学生做辅助工作,一来降低成本,二来可以加快