什么是需求?好的需求应该遵循哪些标准?说明需求分析在系统开发中的重要性。
1个回答
关注
展开全部
需求分析阶段的基本任务:1、需求分析是软件计划阶段的重要活动,也是软件生存周期中的一个重要环节,该阶段是分析系统在功能上需要“实现什么”,而不是考虑如何去“实现”。2、需求分析的目标是把用户对待开发软件提出的“要求”或“需要”进行分析与整理,确认后形成描述完整、清晰与规范的文档,确定软件需要实现哪些功能,完成哪些工作。3、此外,软件的一些非功能性需求(如软件性能、可靠性、响应时间、可扩展性等),软件设计的约束条件,运行时与其他软件的关系等也是软件需求分析的目标。
咨询记录 · 回答于2022-12-15
什么是需求?好的需求应该遵循哪些标准?说明需求分析在系统开发中的重要性。
亲,您好,需求分析也称为软件需求分析、系统需求分析或需求分析工程等,是开发人员经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统必须做什么的过程。
需求分析阶段的基本任务:1、需求分析是软件计划阶段的重要活动,也是软件生存周期中的一个重要环节,该阶段是分析系统在功能上需要“实现什么”,而不是考虑如何去“实现”。2、需求分析的目标是把用户对待开发软件提出的“要求”或“需要”进行分析与整理,确认后形成描述完整、清晰与规范的文档,确定软件需要实现哪些功能,完成哪些工作。3、此外,软件的一些非功能性需求(如软件性能、可靠性、响应时间、可扩展性等),软件设计的约束条件,运行时与其他软件的关系等也是软件需求分析的目标。
针对某个IT项目,分析风险的类型和来源及I T风险管理的内容
风险有两种定义:一种定义强调了风险表现为不确定性;而另一种定义则强调风险表现为损失的不确定性。 若风险表现为不确定性,说明风险产生的结果可能带来损失、获利或是无损失也无获利,属于广义风险,金融风险属于此类。而风险表现为损失的不确定性,说明风险只能表现出损失,没有从风险中获利的可能性,属于狭义风险。 广义的风险展现出来的是机会,虽然这种机会可能让我们的项目变得颗粒无收,但如果一旦机会有利于项目,则可以大赚一笔,风险投资家们心中的风险正是广义的风险,所以风险才会吸引他们投入巨大的资金。而作为项目管理者来说,风险对他们意味着失败的危险,因此必须将任何风险扼杀于摇篮之中。
由于软件本身的特点,导致IT项目与传统项目有很大差异,因此IT项目的风险管理难度要比传统项目大。 1.需求不稳定 软件项目的需求多变已成为软件业界的共识,正因为需求的多变,才让瀑布模型一直遭受到软件工程界的抨击,因此诞生了原形模型。在IBM的RUP和众多的敏捷方法论中,一直将需求不确定列为软件项目的最大特点,因而出现了拥抱变化一说。 当一个IT项目开始实施的时候,如果客户连他需要做什么,要实现一些什么功能都不能确定的话,那么做软件实施的工程师他们又如何能够知道自己要开发一个什么样的软件系统出来呢?所以他们只有在漫长的等待过程中,不断遭受到客户的“批评”,在经历了“九九八十一次磨难”之后,才恍然大悟,原来就是要做一个这样的系统啊! 这有点像盲人走路一样,盲人根本就不知道前面是什么,因此他往前走一小步,如果不是路,则向左旋转一点点,再次用脚探探前面,如果是路的话,则可以往前迈一步。如果这个盲人运气不好的话,第一脚就在悬崖边上踏空,那么他将跌入万劫不复的深渊。我们的项目也如同这个盲人,稍有不慎就可能让自己走向失败,这是一个多么大的风险啊。
2.项目规模估计不准确 当老师给我们布置作业的时候,如果他多布置了几个题目,下面的同学便会大声地嘘叹,开始私下的嘟噜:“又要做一个多小时了!”。学生们在很短的`时间内就能够准确的估计作业量大不大,他们的估计凭借着他们每天一次的做作业的经验和那一瞬间对题目的印象,虽然他们并没有做过刚布置的这些题目,但是估计得仍然是那么的准确。 任何一个建筑工程的项目经理都能对自己的项目进度掌握准确,在他们的眼中,只要资金到位,则进度就可以得到保证。工地需要多少人,什么时候需要开始进行什么工序的施工,什么时候需要加班,这些都在他们的心中掌握着。资金就是他们最大的风险。 而软件项目与之不同,在软件项目开始后,很少有缺钱的。只看到过资金没有到位的“烂尾楼”,但是从来没有看到过由于项目资金没有到位的问题而导致未完成的软件项目,就算是缺钱也是因为签合同的时候要少了。 再优秀的软件项目经理,他也无法预计好自己的项目什
再优秀的软件项目经理,他也无法预计好自己的项目什么时候能够完成,因为在他进行估算的时候,客户的需求还没有搞清楚呢!再者,建筑工程可以通过预算很准确地得出整个建筑的工程造价,而软件项目却很难,因为不管是代码行估算法,还是功能点方法,都远不及“我猜,我猜,我猜猜猜”中猜得准确,这些方法很多时候甚至不如算命先生算得准。 3.人的因素对项目影响很大 人可以说是整个软件项目的灵魂,软件项目不需要钢筋、水泥和沙石,也不需要任何的施工机械。软件项目的原材料就是人的思想和智慧,而计算机和CASE软件则是项目的施工工具。通过键盘和鼠标,无数的程序代码在程序员手中诞生了。如果要问软件项目最大的成本在哪里,那么答案只有一个,就是人力成本。
一个优秀的程序员的工作效率要远远高于一个蹩脚的程序员,一个程序新手甚至根本就不能够产生任何生产效率。不仅如此,新手的错误行为,将让熟练员工牺牲很多时间来帮助新手纠正他们的错误,甚至可能导致降低软件开发的效率。 虽然软件项目已经实施角色分工和管理,但是相对于其他工程的分工来说则分工比较单一。软件项目中,一般分有:系统分析师、架构师、设计师、程序员、测试工程是及配置管理人员和项目经理等。这样的分工并不能有效地降低他们工作内容的复杂度。如果能像建筑工程中的砌墙、浇注混凝土、搭脚手架那样分工细致的话,则培训软件蓝领也不会需要费如此大的力气了。
以瀑布模型为例,说明系统开发包括哪些阶段?各阶段的主要任务是什么?
第二题太长了简单概括一下,谢谢
瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开.将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落.瀑布模型的特徵
风险有两种定义:一种定义强调了风险表现为不确定性;而另一种定义则强调风险表现为损失的不确定性。 若风险表现为不确定性,说明风险产生的结果可能带来损失、获利或是无损失也无获利,属于广义风险,金融风险属于此类。而风险表现为损失的不确定性,说明风险只能表现出损失,没有从风险中获利的可能性,属于狭义风险。
第一题也是太长了,简单明了一些
需求分析也称为软件需求分析、系统需求分析或需求分析工程等,是开发人员经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统必须做什么的过程。