




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用户通常不善于精确描述自己的业务需求,系统分析员需要借助白板、 白纸等 目录 前沿 参与过大型软件项目的人都会认识到许多事情都可能出错, 一但出错就可能给项目带来 危害、 损失或其它不利影响。 风险是在项目中发生的一系列事件或不利结果的可能性。 软件 开发是一项高风险的活动, 在项目开发过程的任何一个阶段都可能存在风险。 采取积极的风 险管理方式, 可以使项目进程更加平稳, 可以获得很高的跟踪和控制项目的能力, 可以规避、 转移风险, 或缓解风险带来的不利影响。 风险管理是对项目风险进行识别、 分析、 应对和监 控的过程, 是项目管理中很重要的管理活动, 有效的实施软件风险管理是软件项目开发工
2、作 顺利完成的保证。 风险管理的达成必须包括三个要素: 首先, 在项目开发计划中必须制定风 险管理计划;第二,在项目预算中必须包含解决风险所需的经费;第三,评估风险时,风险 的影响也必须纳入项目计划中 下面就软件开发过程中经常发生的风险,谈谈我们采取的预防措施。 1. 需求不明确 需求不明确是软件开发过程中经常可能遇到的问题, 这类问题往往表现在需求范围未界 定、需求未细化、需求描述不清楚、需求遗漏、需求互相矛盾等多个方面。在软件开发过程 的生命周期各阶段中, 需求不明确所造成的浪费是最大的, 必须尽早尽可能解决。 确定用户 需求是件非常困难的事情,我们常常从以下几个方面着手处理需求不明确问题
3、: (1) 让用户参与开发 ? 提供一个协作开发环境, 让用户参与开发过程。 如果条件不允许, 至少应该在 每次迭代的需求分析和系统测试阶段,让客户能够参与开发。 ? 在选择参与开发过程的用户时, 一方面, 要尽可能争取精通业务或计算机技术 的用户参与。另一方面,如果开发的产品要在不同规模、不同类型的企业应 用,应该选择具有代表性的用户参与。 ? 仅仅让用户参与是不够的, 应该采取一定的激励措施, 提高用户参与的积极性。 (2) 开发用户界面原型 沟通方式,帮助用户清楚表述需求。然后,开发一个用户界面原型,以便用户确 认需求。用户界面原型的作用仅仅是收集用户需求,不应该再作它用,也不要给 用户
4、造成系统快要实现的错觉。 (3) 需求讨论会议 对于用户分布广、用户量大的项目, 要全面收集用户需求,往往很困难,通常 采取需求研计会议方式进行需求确认。通过在会议前几周调查各地、各部门用户 需求意见,然后集中各地或各部门的用户代表,举办一次需求研讨会,通过会议 方式收集需求。本方法适合于具有一定信息系统使用经验的用户。 (4) 强化需求分析与评审 首先, 需求分析是项目成功的基础, 需要引起足够的重视, 并分配充足的时间 和人力,要让有经验的系统分析员负责,切忌让项目新手或程序员负责。其次, 要进行需求评审, 尽可能让用户参与需求评审, 不要让需求评审流于行式。 第三, 也是最重要的一点,通
5、过评审的需求规格说明书,要让用户方签字,并作为项目 合同的附件, 对双方都具有约束力。 在公司内部要将通过评审的需求规格说明书, 纳入配置管理。 2. 项目缺少可见性 当一个项目经理或一名开发者说已经完成了80%的任务,您必须保持审慎的态度。 因为剩下的 20%可能还需要 80%的时间,甚至永远都不能完成 1 。软件开发项目,往 往在项目进度和软件质量方面缺少可见性, 项目越缺少可见性, 项目就越难以控制, 项 目就越有可能失败。 我们可以通过迭代开发、 技术评审、 持续集成来增强项目的可见性。 (1) 迭代开发 ? 采用迭代的开发模型, 将产品的交付过程分为多个阶段, 按照功能递增式 交付。
6、以下是一些典型的迭代: ? 一次简短的先期迭代,以建立规模和前景并确定商业理由; ? 一次精化迭代,其间将为稳定的构架划定基线; ? 一次构建迭代,其间将实现用例并充实构架; ? 几次产品化迭代,将产品转移到用户群。 ? 每次迭代, 都要充分接收用户的评审意见, 以便为自我纠正。 渐近式的功 能交付,有利于降低开发人员的压力,增加用户的满意度,有利于增强 项目的可见性,是最好的进展报告。 (2) 技术评审 技术评审是确保软件质量的重要环节, 技术评审包括代码走查、 会议评审和同 行专家评审。代码走审可以是开发人员之间的交叉审查,或者是高级开发人员对 普通开发人员的审查;会议评审一般应至少每两周
7、进行一次,每次评审时间不宜 太长;同行专家评审包括技术和业务两个方面的专家,经常性地让精通业务的用 户专家参与项目评审,是项目成功的重要保证。 另外,充分利用质量审查的工具软件, 也有利于提高代码质量。 例如:在 Eclipse 开发环境中,可以集成 Findbug 、 Checkstyle、 PMD 插件检查代码编写质量。 (3) 持续集成 持续集成能够把最终的一次大规模的集成调试过程分散到项目开发时间表的 每一周、 每一天、 甚至每个小时。 让项目中的各个人员都能够随时掌握当前的整体 进度,并迅速发现集成过程中出现的问题并进行解决1 。 开发小组应制定持续集成的制度,一般情况下每日构建一次
8、,可以利用 Ant 等构建工具进行 Java 应用程序的构建。小组成员应在每个功能开发完成后,及时 向版本控制系统(如 CVS提交代码,而且不应该向版本控制系统提交有问题(编 译通不过)的代码。 每日构建、 持续集成, 让项目进度跟踪工作更加容易。 当项目小组每天重新编 译系统时, 已完成与未完成的功能清楚可见, 小组成员能够简单地从软件的表现知 道距离整体完成还有多远。 3. 新技术引入 技术创新是一种具有探索性、创造性的技术经济活动。在开发过程中引入新技术, 不可避免地要遇到各种风险。通过 T 形软件开发、 充分论证、多阶段评审、 同行经验等 措施可降低新技术风险。 (1) T形软件开发
9、在项目开发早期, 开发小组应该建立系统的架构, 解决关键技术难题、 开发系 统的基础构件,并对系统所需要应用的技术做深度探索。例如:基于JavaEE5勾建 全国联网售票系统, 涉及到分布式事务处理、 海量数据存储、 异构平台互连等关键 问题,应该优先处理这些问题;对开发所涉及到的EJB3、JSF、JBoss Seam、Eclipse RCP等技术,要做深度探索。 图1在第一阶段以“T”开发系统骨架2 越是技术复杂度高的项目, 就越应该早地处理技术难题。 如果在项目开发的中 期或后期才发现架构有问题或是关键技术难题不能解决,则为时已晚。 (2) 充分论证 新技术开发是探索性很强的工作, 潜在着许
10、多失败的风险。 在可行性分析阶段, 要广泛搜集相关信息,设计多种可行方案,进行充分论证。在制定决策时,情报的 数量和质量致关重要。掌握的信息越多、 越准确, 才能作出正确的的决策, 项目失 败的风险也就相对减少;反之,承担的风险就会增大。 (3) 同行经验 针对新技术, 由于没有经验可借鉴, 因此在探索过程中要充分利用互联网, 通 过搜索同行经验, 往往事半功倍。 要充分利用世界日益平坦化的优势, 对于不能尽 快解决的问题, 可以先放一放, 可能过不了几天, 网上就有相类似问题的解决方案 了。 4. 技术兼容性风险 硬件产品之间、 系统软件(操作系统、 中间件、 数据库管理系统) 与主机设备之
11、间、 系统软件之间、应用软件与系统软件之间以及应用软件之间,都可能存在兼容性问题。 往往系统集成的项目越复杂,兼容性问题就越有可能存在。 (1 )设计先行 在做系统的总体设计方案时, 务必把好相关产品的选型关, 确保网络、 主机、 系统软件与应用软件之间不要存在较大的技术兼容性问题。在网络平台建设 方案中,明确相关设备的技术参数和配置要求。 (2) 售前产品测试 在做项目招投标工作时,要求投标方在售前提供产品兼容性测试,以避免在 项目实施过程中才暴露技术兼容性问题。涉及应用软件开发的集成项目,要 在开发工作的早期,做技术兼容性测试,以避免在项目开发后期才暴露技术 兼容性问题。 例如 :我们在开
12、发深圳市汽车客运站售票及站务联网调度系统时,为了确保技 术兼容,在做硬件招标时要求小型机设备厂商提供售前技术兼容性测试工 作,并将测试结果做为评标指标。在深圳市软件测试中心对IBM 、SUN、HP 三家公司提供的小型机进行测试时,暴露了许多应用软件、应用服务器、数 据库和操作系统之间的技术兼容性问题,如果这些问题在系统实施时才暴露 或处理,势必会拖延项目进度。 5. 性能问题 由于先期设计不足, 性能问题往往在系统切换或新系统使用一段时间后暴露。 出现性能 问题往往要进行大量的优化工作,甚至局部的或全面的重新设计。无论是用户还是开发者, 谁都不希望出现性能问题。 (1) 性能规划 在系统设计时
13、, 应做好前期做性能规划, 对可能出现性能问题的环节做到充足 的估计。在做数据库设计时,应争取 DBA 参与。 另外,在技术方法方面,尽可能采取一些性能优化模式,如DTO AJAX延迟 加载等, 尽可能在开发过程中解决了性能问题。 不至于到了项目后期才解决性能问 题,既费钱又费时。 (2) 性能测试 在开发过程中, 要重视性能测试和压力测试, 尽可能模拟现实使用环境, 搭建 测试平台。 另外, 由于开发环境的计算机往往比生产环境的计算机配置高,在做测 试时应尽量找一些配置低的机器、较小的网络带宽进行测试。 (3) 充足的调试时间 在项目开发计划中, 为后期性能优化留有余地。 在对系统进行性能优
14、化后, 要 进行性能测试和压力测试, 可能还要做几次回归测试。 因此, 应该留有充足的时间 和人力。 6. 仓促上线 在项目实施过程中,系统切换上线环节最容易出纰漏。项目好不容易开发完成了, 却在最后最后时刻功溃一匮。 如果项目小, 影响面窄倒不怎么重要; 如果是影响面大的 项目, 则千万不可出现问题。在系统切换前, 应充分考虑各种可能出现的问题,做好风 险对策。 (1) 应急预案 面对各种不可预知的风险, 要做好应急预案。 正常运行的车站售票系统在春运、 旅游黄金周,都会做好应急预案。新系统切换时, 更应该做好应急预案。应急预案 中应做好最坏的打算,售票系统不能正常工作时,准备手工票就是最坏
15、的打算。 (2) 分步切换 为了减少风险的影响, 可以做系统分步切换的方案。 例如:售票系统在切换时, 往往用新系统售预售票, 或者是用新系统售长途车站, 用旧系统暂时售短程票。 待 新系统运行稳定后, 再全面切换到新系统。 针对多个用户单位的系统切换, 也可分 单位进行。 (3) 交叉培训 新旧系统切换过程中,用户都存在适应过程。除了在切换前做好操作培训外, 还要在新旧系统切换过程中做好交叉培训。 让用户提前一些时间上班, 让早班的用 户在* 时培训中班的用户, 中班的用户培训晚班的用户。 做好交叉培训能够让系统 平衡过渡。 7. 可用性问题 软件的可用性包括软件的使用是不是高效、 是否容易
16、学习、 是否容易记忆、 是否令 人愉快、是否不易出错等诸多因素。 往往由于软件的可用性差,导致用户不满意, 甚至 被市场淘汰。在项目开发中应注意可用性问题,避免软件出现可用性方面的风险。 (1) 了解用户 到用户工作现场, 了解目标用户使用软件的真实目的, 从用户的角度、 从 用户的立场出发, 了解如何通过软件系统替代用户的业务处理流程中, 最繁琐、 最容易出问题、 或者是大量重复劳动的环节, 让软件提高用户的工作效能和效 率。例如: 售票系统中,使用频度最高的界面是售票界面, 售票员最关心的是 钱不要出错(多了没收、少了要赔) ,因此,应收款和找余字体的显示应该突 出、醒目;同样, 票价和到
17、达站也应该较为突出显示。 通过快捷键、 一键复位、 数字小键盘等设计, 尽量减少售票员敲击键盘的次数。 否则, 在日发旅客流量 达七、 八万人次的大型客运站, 如果用户界面设计得不好, 售票员一天工作下 来,手指都会敲麻木。 (2) 参与型设计 与用户协作, 让用户参与用户界面的设计、 评审与测试, 确保用户能够全 面地、及早地发现可用性等方面的问题,并及时纠正。 让客户参与设计, 而不要让客户设计, 项目经理或高级设计人员应该主导 设计。 (3) 竞争性分析 通过对市场上同类竞争性产品进行分析,或者对这些产品进行实验性测 试,了解这些产品的用户界面问题, 从而对新系统的开发提供启发。 竞争性
18、分 析并不意味着可以剽窃别人的设计, 而是通过分析竞争产品的优势和弱点, 能 够比以前的设计做得更好 5 。 (4) 一致性 如果用户知道同样的命令或同样的操作总会产生同样的效果, 那么他们在 使用系统时就会更加自信, 同时也鼓励他们进行探索性学习, 因为他们已经具 备了使用系统新部分的基础知识 Lewis er al.1989 。 开发团队应遵循公司或小组制定的用户界面标准, 就可以在很多方面保持 一致性,切忌不要一个系统存在多种不同的界面风格。 8. 结论 在信息系统集成项目中,风险是多种多样的,是无处不在的。在项目管理活动中, 要积极面对风险,要培养。越早识别风险、越早管理风险,就越有可能规避风险,或者 在风险发生时能够降低风险带来的影响。 特别是在项目参与方多、 涉及面广、 影响面大、 技术含量高的复杂项目,应加强风险
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 私对私股权转让及企业经营管理权变更协议
- 创新型离婚孩子抚养权及监护责任转移合同
- 《离婚协议书签订前夫妻共同债务处理合同》
- 玻璃画小夜灯课件
- 责任督学培训汇报
- 正午牡丹教学课件
- 科学启蒙动画课件
- 桥梁工程技术试题及答案
- 机械技术员面试题及答案
- 辅警法律知识培训课件
- 呼吸衰竭个案护理
- 2025年森林植被恢复费森林抚育项目方案投标文件(技术方案)
- 癫痫性精神病护理查房
- Q-GDW10250-2025 输变电工程建设安全文明施工规程
- 高低压配电施工方案
- 2025至2030年中国软包电池行业市场供需规模及投资前景预测报告
- 2025年新高考2卷(新课标Ⅱ卷)语文试卷
- AI大模型赋能数据治理解决方案
- 河海大学2019-2020学年第一学期《概率论与数理统计》试卷(A卷)
- 钢材代储协议书
- 高中拔尖创新人才培养模式的探索与实践研究
评论
0/150
提交评论