⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 200603282323585.html

📁 软件工程的红包书
💻 HTML
📖 第 1 页 / 共 4 页
字号:
<P>●明确需求并达成共识; <BR>●建立关联; <BR>●根据不同需求设计相应解决办法; <BR>●进行系统优化; <BR>●提出设计方案; <BR>●监控和解决可能出现的问题以及需要做出的改变; <BR>●控制不同开发任务的开展; <BR>●对最终产品做出评测; <BR>●监控可能出现的重复开发; <BR>●提出项目实施时间表; <BR>●确定最终用户界面。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 有时侯我们所进行的需求分析只停留于分析本身,而没有进一步去思索我们为什么要进行需求分析。需求性是项目开发的源头,只有进行认真的需求分析,我们才能做到对症下药、量体裁衣,才能才设计开发中去伪存真,不断改进。"需求之需求"正是强调了贯穿始终的需求分析的重要。离开了能动的、变化的系统进程而空谈需求管理,无异于纸上谈兵。需求管理所产生的效益或许并不明显,或许要日后才能体现,但是无序的,没有经过精心策划的需求管理是不可能产生效益的。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 以下篇幅分别介绍需求管理在系统工程中的不同应用。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 需求共识: </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 首先,用户需求通过非术语的形式进行表述,这种表述应当使每一位开发者明确自己的职责所在,并且清楚知道不同开发工作之间的关联。这里的"用户"泛指在实际应用环境中每一位可能使用最终产品的人。如果一个产品不能满足客户所需,那么设计方案再出色也无济于事,许多方案有很高的技术设计水准却最终不能获得成功,其原因正在于此。可以把产品功能说得天花乱坠,但却无法改变用户需求决定最终产品基本模式的事实。 </P>
<P align=center><IMG src="200632983721280.jpg" tppabs="http://www.itisedu.com/manage/Upload/image/200632983721280.jpg" border=0></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 需求管理的首要任务在于使开发人员和用户双方对于需求都有一个明确的认识。因此用来进行需求分析的语言组织应当使所有相关人员,包括用户,都能够理解,都能够进而对整个项目有一个整体把握,并明确每一个人在项目中所起的作用。因而需求管理需要解决的第一位也是最基本的任务就是明确需求,并使所有相关人员达成共识。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 根据需求设计解决办法: </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我们在进行系统设计时,应当首先建立一个需求模型,但不能是为了建模而建模,需求模型实际是最终产品的抽象化表现。需求模型的建立使我们在明确需求的基础上更进一步,使我们知道我们将要生产何种产品,该产品都具有那些功能。同时,创建需求模型的过程也使开发者明确自己的工作如何同整个项目有机地结合在一起。建立需求模型应当充分研究不同类型、不同<a href="200604241328115.html" tppabs="http://www.itisedu.com/phrase/200604241328115.html" target="_new">架构</a>建模方式的可行性,切忌主观武断。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 系统优化: </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 任何设计都应以考虑用户需求为优先,用户需求的满足程度即成为衡量设计优劣的标准。在一个项目设计周期中,开发人员经常会面临选择,以提炼需求,决定开发的优先次序,并在不同的实施方案中作出选择。这些选择必须考虑到收益与付出地平衡比例,这种选择的重要性尤其在建立需求模型的后期凸现出来。基本需求在这时都已明确,而实施方案还未敲定,为了使用户的基本需求得到落实,一定程度的开销用于搭建不同构架的需求模式是合理的。假使我们已经有了一套翔实的需求分析,我们甚至不必将每一套方案都付诸实行,就可以成功地对系统设计进行优化。</P>
<P align=center><IMG src="200632983736944.jpg" tppabs="http://www.itisedu.com/manage/Upload/image/200632983736944.jpg" border=0></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 面对不同的可行性而需要作出选择时,我们也必须参照收益与付出的比例关系。例如,在被要求提供计划书时(Request for Proposal),我们应当尽量做到每一份计划书的提供都物有所值。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 方案设计: </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 明确需求后,开发人员就可以进行方案设计。通过对用户需求和设计方案之间所存在关联性进行分析比较,我们就能够对设计方案进行评估。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 必要的修改: </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 方案的设计不可能是一成不变的,经常会有方案设计同需求相悖的情况。如果我们无法准确把握用户需求同方案设计之间的关系,我们就无法在需要对方案进行必要修改时正确判断。优秀的需求分析应当非常精确细致地对用户需求作出描述,同时也应该最大程度地给予方案设计者充分发挥的余地。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 任务划分: </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一个大的开发项目可能涉及20-30组不同的开发队伍,人员包括技术工程师、<a href="200602281725525.html" tppabs="http://www.itisedu.com/phrase/200602281725525.html" target="_new">软件工程</a>师以及具体项目主管等等,而每一个模块都有它自己的开发工具和开发语言。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 主持一个大项目的开发并不是件容易的事,总体项目主管的首要任务是对开发项目进行任务划分,将整体开发任务细化为多个子模块,从而使这些子模块能够平行开发而无需太多的干预。总体项目主管可以将细化的不同模块的需求分析交给不同的开发队伍,对于开发进程的监控只需参照需求的解决情况,对于具体的开发细节则不必过问太多。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不同的开发队伍会使用不同的开发语言和开发工具,会使用不同的符号和标记。相反,作为总体项目主管所使用的语言、符号和标记等则必须简单易懂,以使所有的开发人员都等理解。换言之,总体项目主管应当使用自然语言,或只涉及少量的,简单的术语和专用词汇。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 产品测试: </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 需求的满足情况是决定最终产品成败的判定基础,对最终产品的测试评估必须以产品所试图解决的需求为标准。下图标示了不同的开发阶段所对应的测试需求。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这里有一个需求、产品和测试系统之间的关系问题,确定需要进行的测试属于总体开发主管的工作范畴,虽然具体工作并非都要由开发主管来亲自完成。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 重复开发: </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 对于总体开发主管而言,针对方案设计的修改是一项经常性的工作(因为修改而造成的影响则应当尽可能减小)。在进行项目开发时,随着开发进程的深入,各种修改的建议和问题的报告是屡见不鲜的,每解决一个问题,就是将产品同其需求性的结合又完善了一步。存在问题正是需求性尚未满足的表现。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 方案设计的完善和需求性的满足是同步的,因此真正的用户对于产品的评价和建议尤其具有重要意义。在那些一步到位的产品设计中,真正用户无法左右开发进程;但在一个能够进行重复设计、重复开发的产品生命期中,开发人员应当及时搜集用户对于产品的反馈信息,并将这些信息结合到下一步的开发工作中去。如下图所示,用户反馈同产品开发是统一的。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="200604240825565.html" tppabs="http://www.itisedu.com/phrase/200604240825565.html" target="_new">项目管理</a>的辅助: </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在有些地方,需求管理被作为一个技术问题来处理,需求管理所针对的<a href="200603090845215.html" tppabs="http://www.itisedu.com/phrase/200603090845215.html" target="_new">对象</a>只是产品,而同项目管理所涉及的问题例如进程安排或资源分配等无关。实际上,项目管理涉及三方面问题:进程安排、资源分配和质量管理(同需求的统一)。</P>
<P align=center><IMG src="200632983832682.jpg" tppabs="http://www.itisedu.com/manage/Upload/image/200632983832682.jpg" border=0></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 试想以下三种情况: </P>
<P>●一场高水准的音乐会,预算合理,演出时间却晚了两天。 <BR>●质量优良的小轿车,交货及时,然而造价是市价的两倍。 <BR>●一套系统,完全满足了用户需求,但在开发过程中使用非法劳工。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这三种情况虽然都满足了用户所需,然而缺乏实际意义,因此都以失败告终。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "我付了钱,但这不是我想要的",没有用户愿意这么说。要避免出现这种情况,在进行项目管理和财务预算时,也必须以需求管理为基础。仅仅完成了一件设计并不意味着工作的结束,只有这件设计充分解决了需求,它才具有里程碑般的意义。同样的,一件产品只有在测试和实际操作中完全满足了需求,已经完全准备好了投入到下一阶段的运营,才意味着这件产品在本阶段工作的结束。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 开发进程中的每一块里程碑都意味着需求的解决又前进了一步,这样的每一块里程碑也都是委托商付款的重要参照,产品开发的整个进程都可以通过需求管理进行监控。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 里程碑构造机制的基本方法之一就是进程管理,一项需求的满足就意味着一块里程碑的确立。我们应当对用户需求、针对需求而进行的模块设计以及每个子模块的开发进程之间的关联做到心中有数。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 通过我们对需求管理实际应用的分析,几个关键因素凸现出来。首先,需求管理在开发周期中是自始至终存在的。注意:不要把它简单理解为"需求周期",需求管理必须始终保持更新,它构成了技术管理的基础。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 其次,需求管理同项目管理是密不可分的。如果我们把每一个需求的解决看作一个里程碑,并以此出发对整个开发进程进行监控,我们就应该对整体开发工作进行精密细致的划分,从而将需求分析具体化。 </P>
<P><STRONG>八、需求管理的工具</STRONG> </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 需求管理所用到的工具必须能够处理和应用于本文所提到的各种需求,应当有助于我们分析需求,确定相应开发和支持工具以处理相关信息,进而处理系统相应模块。系统工程师始终致力于用简单的工具将需求形象化的展现出来,常用的工具比如附有标注说明的系统发布工具以及相关数据库等。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 需求管理涉及到一系列复杂的对象,其任务面向很广,关系到整个设计开发的方方面面。其使用的工具应当提供如图列举的一些功能:</P>
<P align=center><IMG src="200632983856858.jpg" tppabs="http://www.itisedu.com/manage/Upload/image/200632983856858.jpg" border=0></P>
<P><BR><STRONG>九、总结:需求管理</STRONG> </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 本文论述围绕于需求管理工程。需求管理是开发工作有效进行的确证。很明显需求管理是一种很高层次的系统行为,涉及整个开发过程和产品本身。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 需求管理首先要针对需求做出分析,随后应用于产品并提出方案。需求分析的模型正是产品的原型样本,优秀的需求管理提高了这样的可能性:它使最终产品更接近于解决需求,提高了用户对产品的满意度,从而使产品成为真正优质合格的产品。从这层意义上说,需求管理是产品质量的基础。</FONT>&nbsp;</P>
<P><BR></FONT>&nbsp;</P></div>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -