首页 >
需求分析
✍ dations ◷ 2025-08-22 11:53:15 #需求分析
在系统工程及软件工程中,需求分析指的是在创建一个新的或改变一个现存的系统或产品时,确定新系统的目的、范围、定义和功能时所要做的所有工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后他们才能够分析和寻求新系统的解决方法。在软件工程的历史中,很长时间里人们一直认为需求分析是整个软件工程中最简单的一个步骤,但在过去十年中越来越多的人认识到它是整个过程中最关键的一个过程。假如在需求分析时,分析者们未能正确地认识到顾客的需要的话,那么最后的软件实际上不可能达到顾客的需要,或者软件无法在规定的时间里完工。顺利地完成需求分析是一个艰巨的挑战。首先要确认所有持有关键信息的人本身就不容易,然后还要从这些人获得可用的信息,把这些信息转化为清晰的和完整的形式。同时分析者还要考虑到可能的限制。除此之外他们还要考虑一个项目的一个新项目开始的时候人们往往还非常兴奋,往往试图轻视需求分析的必要性。但对过去项目的分析证明一个彻底的和无情的需求分析可以降低一个项目的耗费和降低其技术风险。随着工程师对需求分析的越来越重视,今天我们对需求分析的主要困难也理解得比较清楚:顾客有可能妨碍需求分析顺利进行,有以下几种可能性:但是软件开发者也有他们的责任。由于软件开发者收钱来开发他们的软件,他们的责任就更加不可推脱了。由软件开发者导致的困难有:解决这些困难的一个方法是使用专业的作业或系统分析员,这些专业人员通过专门训练来填补商业和电脑世界之间的鸿沟的。这个方法可以达到一定的效果,但从顾客方面来说要找到相应的有类似技巧的人就相当困难了。此外今天为需求分析所使用的方法依然还有很大的缺陷,它们还不够有效。1990年代以来,新的技术有制作原型、统一建模语言(UML)、用例(Use case)和敏捷软件开发等方法。需求分析有可能在一个项目中成为一个漫长、艰巨的工作。需求分析专家与他们的顾客交谈、记录他们的交谈结果、分析他们收集的信息,从中提取互相矛盾的地方,总结出一个总体观念,然后再与顾客交谈他们发现的问题。这个过程可以不断重复,在有些项目中这个过程可以伴随着整个生命周期。新系统很可能改变人之间的关系和人的工作环境,因此认定谁是重要的信息持有者是非常重要的。只有这样在需求分析的过程中才能够将顾客所有的需要都纪录下来,只有这样才能保证他们认识到新的系统对他们来说带来怎样的变化。出于下述原因这个要求往往达不到:为了使所有这些讨论有条理、有组织和有效地被记录下来,这些讨论的过程和其内容的演化也必须被记录下来。分析员可以使用不同的技术来从顾客手中获得需求。比较老的方式有采访顾客,或者与顾客一起开座谈会,列举顾客的需求。比较新的技术有创建模型和使用用例。在最佳状态下在采纳了不同的技术后他们可以完全理解顾客的需要和与持重要信息的人创建了必要的联系。采访持重要信息的人是需求分析中一个必不可少的过程。但在一个大的系统中许多人必须被采访,这需要许多时间和金钱,但最重要的是这个过程最可能显示现有的业务流程与新系统中的业务流程之间的差别。不同的顾客有可能有不同的或甚至相对的需求,在这种情况下分析员必须协调各方的需要。出于上述原因一般假如一个系统非常复杂的话需求分析最常用的方法是召开需求工作会,在需求工作会上分析员和持重要信息的人一起分析系统的需要和发展解决方案。这样的工作会最好不要在采访对象的工作场进行,这样采访对象才不会被打扰。工作会有一个负责人来保持会议的进程,一个记录员来记录会议的讨论,投影仪和相应的软件是常用的工具。一般需要进行多次会议后才能得到最终结果。一般认为需求工作会可以节省不少时间,因此是一个非常有用的工具,但是往往很难同时将所有的持重要信息的人聚集到一起。一个常见的缺陷是一些持重要信息者在这样的会议上不十分积极,因此他们的需求没有获得必要的重视。这样得到的解决方案必然有限。此外需求工作会是一个很好的分析现有系统的工具,但用它来寻求解决方案就不是十分有用了。最常见的纪录需求分析的方式是将顾客需求列入一个合同式的表。对于一个复杂的系统, 该文件可以长达数百页。现代的分析员不愿使用这样的列表,因为它们被证明相当无用,但它们依然相当常见。优点:缺点:从1980年代中开始,越来越多的人将作原型看作是解决需求分析困难的办法。原型模拟最终软件的屏幕显示,这样用户可以看到最终软件将是什么样,而实际上在这些屏幕显示的背后还一切都空着呢。这样顾客可以在系统还没有创建之前就做出设计决定。当原型首次被使用的时候它们的效果被视为非常惊人。引入原型往往提高顾客与开发者之间的信息交换。原型的屏幕显示后来往往很少被改变,因此可以大大地降低费用。但此后十多年的实际应用,证明虽然原型是一种有用的技术,但它也有它的缺陷:参见用例用例是一种记录新系统或软件更换时的需求的技术。每个用例包含一个系统在作业时与用户或与其它系统之间交换信息的场景。一般用例避免使用术语,而尽量使用顾客、用户或他们的专家的语言。一般用例由软件开发者和顾客一起写成。在1990年代中用例很快地成为了记录需求分析的最主要的方式。尤其在它的发源地,在面向对象的程序设计中它的普及性非常高。但用例不仅可以用在面向对象的程序设计系统中,实际上用例本身并非面向对象的。每个用例集中于描写如何来完成一个作业目标或任务。对传统的软件工程来说每个用例描写系统的一个特点。对大多数软件项目来说一个新的系统有多个(往往十几个)用例。不同的软件项目的格式或项目的进展都可能影响用例的细节性。用例描述系统在运行时与外部执行者之间的信息交换。外部执行者是任何系统外的、与系统交换信息的对象或人物。它们可以是用户、用户的角色或其它系统。用例将系统当作一个“黑匣子”,它从外部来看与系统之间的信息交换(包括系统的回答)。这样它简化对系统的需求的描写而且防止对系统的工作方式作任何过早的假设。每个用例应该符合下述条件:在描写功能需求时用例非常好用,但它们不适合描写非功能需求。从1990年代开始确认持关键信息者被确定为一个非常关键的过程。它同时也是需求分析的第一步。此前经理人员往往被认为是持关键信息者。许多系统是按照这些经理人员的设想设计的,而实际的用户很少或根本没有对设计做任何贡献。这样的系统往往是大失败。因此在1970年代和1980年代在软件工程师中渐渐地持关键信息者的概念扩展到主要用户,后来还扩展到次要用户。在1990年代中工程师们更加从一个系统整体的观念上来确定持关键信息者。他们渐渐认识到不但在雇佣他们的顾客中有持关键信息者,其他持关键信息者包括:成功地确认持关键信息者是完整地完成需求分析的基础。
相关
- 人造卫星人造卫星,在不产生歧义的情况下亦称卫星,是由人类建造的航天器的一种,是数量最多的一种。人造卫星以太空飞行载具如运载火箭、航天飞机等发射到太空中,像天然卫星一样环绕地球或
- 阴虱/阴蟹Pediculus pubis Linnaeus, 1758阴虱(Pthirus pubis)是一种寄生于人体毛发的寄生虫,长约1至3毫米,无翼。因常见于阴部,故称阴虱。另外,由于阴虱身体扁平,远看如同皮屑,细看则如同小
- 粒子物理学粒子物理学是研究组成物质和射线的基本粒子以及它们之间相互作用的一个物理学分支。由于许多基本粒子在大自然的一般条件下不存在或不单独出现,物理学家只有使用粒子加速器在
- 福尔马林福尔马林(英语:Formalin),是甲醛含量为35%至40%(重量百分比为37%;体积百分比为40%)的水溶液,也加入10%~15%的甲醇防止聚合。具有防腐、消毒和漂白的功能,不同领域各有其作用,但福尔马林
- 慢性食物过敏慢性食物过敏,通常是指一些人无法正常消化食物、吸收养分的过敏症状,慢性食物过敏来源有蛋、奶、花生、海鲜等等。对海鲜过敏者,通常是甲壳类,如螃蟹、虾子,上面的蟹黄或虾膏会引
- 少阳病少阳病是中医学的病证名,伤寒六经病之一。主要临床表现为口苦、咽干、目眩、往来寒热、胸胁苦满、默默不欲食、心烦、喜呕、脉弦,亦称“柴胡九症”。病位在半表半里(已离太阳之
- 路易斯·阿尔瓦雷茨路易斯·阿尔瓦雷茨(西班牙语:Luis Alvarez,1911年6月13日-1988年9月1日),西班牙裔美国物理学家,1968年获诺贝尔物理学奖,被誉为二十世纪最伟大的实验物理学家之一。路易斯1936年获
- 苏布拉马尼扬·钱德拉塞卡苏布拉马尼扬·钱德拉塞卡,FRS(泰米尔语:சுப்பிரமணியன் சந்திரசேகர்,英语:Subrahmanyan Chandrasekhar,1910年10月19日-1995年8月15日),印度裔美国籍物理学
- 国民营养健康状况变迁调查国民营养健康状况变迁调查为监测台湾各地区、各生命期国民的营养状态已及相关健康状况之变迁,所进行的大型调查研究。由于台湾族群文化与地理的多元性,国民营养健康状况调查皆
- 人工肾人工肾(英语:artificial kidney)经常作为血液透析的同义词,但更广义而言,也可以指已经投入使用和/或正在研究中的肾脏替代疗法(不包括肾移植)。本文涉及由肾细胞/肾组织培养的生物