软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望,通过对应用问题及其环境的理解与分析,为问题涉及的信息、功能及系统行为建立模型,将用户需求精确化、完全化、最终形成需求规格说明,这一系列的活动即构成软件开发生命周期的需求分析阶段。 需求分析是介于系统分析和软件设计阶段之间的重要桥梁。一方面,需求分析以系统规格说明和项目规划作为分析活动的基本出发点,并从软件角度对它们进行检查与调整;另一方面,需求规格说明又是软件设计、实现、测试直至维护的主要基础。良好的分析活动有助于避免或尽早剔除早期错误,从而提高软件生产率,降低开发成本,改进软件质量。 需求分析阶段的基本任务是深入描述软件的功能和性能,确定软件设计的限制和软件同其它系统元素的接口细节,定义软件其它有效的需求。 需求确定为什么困难? 最主要的原因是对于开发小组的使用成员(包括用户)来说,需求确定是极具认知性和创造性的活动。需求确定也许是仍在苦苦等待人工智能支持的最后领域之一。 具体表现如下: 系统分析员对问题域的了解程度也是一大困难。 系统分析员感到需求确定很困难的另一个原因是问题域的动态性。 生活是动态的,公司也是。 项目团队成员之间的沟通也一直是需求确定的另一大困难。 每个问题域都有术语。 最后,需求确定过程还会受到其它因素的影响。例如劳累、不舒服、开会时室内和窗外的干扰、团队成员的压力等等。
请问软件测试的整个流程是什么(从项目需求开始到项目结束的整个流程)?
理论上越早参与越好!
当接到一个开发项目是,软件测试就要介入,一般认为从需求分析开始!
你可以看看双V模型,国内游一部分公司采用这种模型进行软件开发、测试流程。
软件测试界有一句名言叫做:尽早了解被测系统!但是真正能做到这一点的又能有几个呢?!
当你从事这个行业的时候,你就会有真实的体验,理论和现实区别……
当然有些大型公司做的还是比较好的!
软件项目需求分析为什么困难?
有几种原因使需求分析变得困难:(1)客户说不清楚需求;(2)需求自身经常变动;(3)分析人员或客户理解有误。1 客户说不清楚需求 有些客户对需求只有朦胧的感觉,当然说不清楚具体的需求。例如全国各地的很多政府机构在搞网络建设,这些单位的领导和办公人员大多不清楚计算机网络有什么用,反而要软件系统分析人员替他们设想需求。这类工程的需求是如此的主观,以致产生很多贪污腐败现象。 有些客户心里非常清楚想要什么,但却说不明白。读者可能很不以为然。就举日常生活的事例吧,比如说买鞋子。我们非常了解自已的脚,但没法说清楚脚的大小和形状。只能拿鞋子去试,试穿时感觉到舒服才会买鞋(居然也有神通广大的售货员,看一眼客户的手,就知道应该穿什么样的鞋)。 如果客户本身就懂软件开发,能把需求说得清清楚楚,这样的需求分析将会非常轻松、愉快。如果客户全不懂软件,但信任软件开发方,这事也好办。分析人员可以引导客户,先阐述常规的需求,再由客户否定不需要的,最终确定客户真正的需求。最怕的就是“不懂装懂”或者“半懂充内行”的客户,他们会提出不切实际的需求。如果这些客户甚至觉得自己是上帝的爸爸,那么沟通和协商都会很困难。2 需求自身经常变动 唐僧曾说:“妖要是有了仁慈之心,就不再是妖,是人妖。”(《大话西游之大圣娶亲》)连妖都会变心,别说人了。所以喜新厌旧乃人之常情,世界也因此变得多姿多彩。软件的需求会变化吗? 答:据历史记载,没有一个软件的需求改动少于三次。唯一只改动需求两次的客户是个死人。这个可怜的家伙还是在运送第三次需求的路上被车子撞死的。[Cline 1995]让我们先接受“需求会变动”这个事实吧,免得在需求变动时惊慌失措。明白“需求会变动”这个道理后,在进行需求分析时就要留点神:(2)在合同中一定要说清楚“做什么”和“不做什么”。如果合同含含糊糊,日后扯皮的事情就多。要防止象韩复渠那样,在别人请他喝酒吃饭时他什么都点头(人家就更加献殷勤),吃完了他就宣布刚才答应的事都不算数,便扬长而去。3 分析人员或客户理解有误 有个外星人间谍潜伏到地球刺探情报,它给上司写了一份报告:“主宰地球的是车。它们喝汽油,靠四个轮子滚动前进。嗓门极大,在夜里双眼能射出强光。……有趣的是,车里住着一种叫作‘人’的寄生虫,这些寄生虫完全控制了车。” 软件系统分析人员不可能都是全才。客户表达的需求,不同的分析人员可能有不同的理解。如果分析人员理解错了,可能会导致开发人员白干活,吃力不讨好。我读中学时候最怕写作文逃题,如果逃题了,不管作文写得多长,总是零分。所以分析人员写好需求说明书后,要请客户方的各个代表验证。如果问题很复杂,双方都不太明白,就有必要请开发人员快速构造软件的原型,双方再次论证需求说明书是否正确。 由于客户大多不懂软件,他们可能觉得软件是万能的,会提出一些无法实现的需求。有时客户还会把软件系统分析人员的建议或答复给想歪了。 有一个软件人员滔滔不绝地向客户讲解在“信息高速公路上做广告”的种种好处,客户听得津津有味。最后,心动的客户对软件人员说:“好得很,就让我们马上行动起来吧。请您决定广告牌的尺寸和放在哪条高速公路上,我立即派人去做。” 为什么软件系统分析员的工资要比普通程序员高?
如何写软件项目需求说明书
1 获取需求:
作为需求方也就是甲方,通过语言描述或文档的方式将需求(系统需要提供的功能)提交给开发人员(需
求分析人员)。
获得需求的方式可以有多种多样:电话询问、现场考察、聆听用户讲解、阅读用户编制的相关文件(如招
标书),其实这些方法都是GET方式,我们可以通过以下两类技术手段来达到:GET(获取)和PUSH(引导、反
馈、激发)相互结合的方式来得到我们真正的需求,而这两个过程都是必须交互进行的,一般我们可以筛
选一名非常有经验(包括谈判技巧、深厚的业务和技术背景、人缘很好、勤奋努力)的人士担任需求工程
师,长期在客户那里工作。
2 需求分析人员,
(1)根据客户提供的文档或语言描述,将需求按功能划分,以用例图的方式表达系统提供的功能模块及
功能模块之间的关系,完成用例图后与客户确认大的功能模块,并对每个功能模块做进一步的沟通
详细记录用户所提供的关键性的描述,此过程需要系统分析人员对客户进行引导。
(2)对每个功能模块进行详细分析与描述,具体信息包括:用户角色、功能说描述、IPO的方式进行描
述(即输入项、输出项、处理)、要提供必要的功能说明,如果使文档更加直观,更容易让客户理
解,可以用UI的方式表达输入输出,配合必要的描述,这样对于客户更加容易理解,需要与客户进
行大量的沟通确认。
(3)编写数据字典:在需求阶段,很难使团队的思路一致,建立一个合适的机制是完全必要的,这就是
数据字典,数据字典是对系统用到的所有数据项和结构的定义,以确保开发人员使用统一的数据定
义。在需求阶段,数据字典至少应定义客户数据项以确保客户与开发小组是使用一致的定义和术
语。分析和设计工具通常包括数据字典组件。
(4)关于文档具体表述的格式与形式,要根据所要表达的功能来确定,最重要的是把事情描述清楚,
这事最终的目的;
(5) 需求文档确定后,设计人员根据这份需求文档进行系统的设计工作了。
谈谈你是如何进行需求分析的,通过软件工程的学习,对于你进行项目需求分
软件工程这门学科随着发展越来越显得重要,是一个专业的软件开发人员所应该具有的品质,没有需求分析就不可以有一个完整而又经济的软件出现和发展!这门学科特别的好,应该好好体会其中的理念,为你个人以后的成长和做人处事都是有帮助的!我们做什么事情都应该事前做好需求分析才能立二不败之地!特别你要是一个软件开发人员更应该深入体会其中的奥秘!
请教做一个app项目要那些流程?
idea形成—APP项目雏形
一个APP项目的最初首先要确定项目整体方案,整个项目的规划,大体框架,做成文档展现出来,以便大家提意见和更好的改进。也就是说首先要确立产品原型,进入项目评估阶段。经过反复确认,最终形成产品脑图和完整的需求文档。
2.功能设计—APP项目概要设计
第二步相当于网站的需求分析,需要整理确定App的主要用户群体和APP能实现的功能。关于APP开发设计可以在DevStore((开发者服务商店))平台上借助一些工具来充实你的APP,像结合推送、地图、社交分享、第三方登录等常用的工具让你的APP更丰富一些。借助第三方服务来丰富自己的作品是很好的借力途径,一定不要错过,平时要养成收集平台的习惯,例如工具平台,学习交流平台,养成总结整合资源会是受益一生的好习惯。
3. 功能实现—APP项目打码阶段
APP的大概界面构思和设计,大功能模块代码编写。正式进入产品的原型设计阶段。UI、UE开始设计,形成初步的效果图。在经过确认后界面的效果图正式设计完成。产品在设计图完成后,进入研发阶段。通过编程语言形成正式的程序。至此,App的制作过程就完成了一大部分,可以进入测试部进行测试。作为一个开发者来说这才是重头戏,设计,测试都是别人的事情,这一步主要是开发者努力打码阶段,不断码砖,修bug阶段。
4.测试—APP项目大家评
把大概的界面和功能连接后,App的大致demo就出来了,demo自己试用和体验几遍后,根据实际情况修改,没有大错误后,新版本可以尝试寻找beta用户, 根据测试用户的反馈,改进并反复测试。用户测试阶段一定要把每个用户的意见考虑进去,不一定每个意见都会采纳,但是不要放过一点瑕疵,尽全力让自己的作品更好。
5.APP项目完成
在产品经过多次测试,修改bug确认无误后。一个App制作项目就完成,可以进入个大市场,投放使用。市场推广也是比较关键的一步,在各大市场中,开发者就要通过各种方式推广自己的App产品,力求App在市场上获得更多的下载量,吸引更多的用户。
软件项目中如何开展有效的需求评审
1、需求评审的重要性 在软件项目中,需求分析是最开始的工作,同时也是最重要的工作。需求分析如果做得不够详细或者是偏离用户需求或者是存在缺陷的话,往往会给项目带来灭绝性的灾难,不重视需求过程的项目团队将自食其果。因此,如何保证需求分析的正确、准确性,成了决定软件项目成败的关键因素。在实际的项目过程中,需求阶段往往是由一两位需求分析人员与用户沟通用户需求,然后根据自己的理解输出软件需求说明书及软件原型。 接下来的项目计划、软件设计、编码、测试等各个环节都以此为基准。俗话说,当局者迷,旁观者清,经验再丰富的需求分析人员也可能犯错,所谓智者千虑,必有一失,这是永远不变的客观规律。另外,受需求分析人员的理解及用户的表达等因素的影响,需求在传递过程中往往存在很大偏差。 需求分析人员输出的需求分析说明书,到设计人员、编码人员、测试人员那里往往又会有不同的理解。因此,软件需求分析说明书的正确性必须得到彻底的验证,利益相关方必须彻底理解需求,并达成一致。要达成这一目标、降低需求风险,需求评审是一个行之有效的方法。 目前,很多小型软件企业在需求阶段,往往是需求人员写完需求后再跟用户沟通一下,就直接进入设计开发阶段了,设计、编码、测试人员前期没有参与进来,根本没有进行需求评审。也有不少企业的需求评审存在“走过场”的情况,其他人员根本不关心软件需求,认为软件需求就是需求分析人员的事情,他们怎么写大家怎么做就可以了,在提需求异常时简单找几个错别字提一下应付了事,没有提出有效的需求异常。也有的时候,在需求评审会议中,大家的关注点常常会不知不觉的转向设计,结果需求评审会议成了设计讨论会议,大家想得最多的是需求如何实现,而不是需求文档本身有无问题。 或者是因为没有做好前期准备工作,导致评审时间长、效率低,结果很多问题不了了之。这样的评审,最终效果可想而知。 2、需求评审的关键 下文根据笔者多年参与软件项目管理的切身体会及经验,从不同角度对需求评审方法进行论述。 2.1 充分准备评审 好的软件需求说明书,是进行有效需求评审的前提。 首先,需求人员在与用户确认需求的过程中,一定不要放过任何一个细节,仔细体会用户的每一个要求。对于用户的要求,需求人员需要对其加以梳理:哪些是合理的需求,哪些是不合理的需求,还有一些可能是必要的但是用户没想到的需求。 软件需求说明书不应该只是用户意愿的表达,而应该是从软件层面上对用户需求的总结。 软件需求说明书对需求用例的描述一般分为基本流和扩展流,基本流是大家很容易想到的主要业务流程,而实际设计开发及测试过程中,最耗费时间的是实现扩展流的过程。因此不能只注重基本流,好的软件需求说明书,扩展流一定远远多于基本流,扩展流写得越完善,说明需求人员考虑得越周全。 而实质上,如果扩展流写得不完善,后期的设计、开发及测试人员往往在相应的细节处理上无所适从。 2.2 分层次评审 用户的需求是可以分层次的,一般而言分成以下层次: ①目标性需求,定义整个系统需要达到的目标; ②功能性需求,定义了整个系统必须完成的任务; ③操作性需求,定义了完成每个任务的具体的人机交互;目标性需求是企业的高层管理人员所关注的,功能性需求是企业的中层管理人员所关注的,操作性需求是企业的具体操作人员所关注的。 对不同层次的需求,其描述形式是有区别的,参与评审的人员也是不同的。如果让具体的操作人员去评审目标性需求,可能会很容易地导致“捡了芝麻,丢了西瓜”的现象,如果让高层的管理人员也去评审那些操作性需求,无疑是一种资源的浪费。 分层次评审,可以让不同类型的参与人分别评审他们关注的内容,从不同的角度找到需求的异常,提高评审效率。
在需求分析阶段都通过哪些方式进行需求沟通
1.?问卷调查法, 开发方就用户需求中的一些个性化的、需要进一步明确的需求,通过采用向用户发问卷调查表的方式,达到彻底弄清项目需求的一种需求获取方法。这种方法适合于开发方和用户方都清楚项目需求的情况。因为开发方和建设方都清楚项目的需求,则需要双方进一步沟通的需求就比较少,通过采用这种简单的问卷调查方法就能使问题得到较好的解决
2.?会议讨论法 ,开发方和用户方召开若干次需求讨论会议,达到彻底弄清项目需求的一种需求获取方法,这种方法适合于开发方不清楚项目需求(一般开发方是刚开始做这种业务类型的工程项目)但用户方清楚项目需求的情况。因为用户清楚项目的需求,则用户能准确地表达出他们的需求,而开发方有专业的软件开发经验,对用户提供的需求一般都能准确地描述和把握
3.?界面原型法 ,开发方根据自己所了解的用户需求,描画出应用系统的功能界面后与用户进行交流和沟通,通过“界面原型”这一载体,达到双方逐步明确项目需求的一种需求获取的方法。这种方法比较适合于开发方和用户方都不清楚项目需求的情况。因为开发方和用户方都不清楚项目需求,因此此时就更需要借助于一定的“载体”来加快对需求的挖掘和双方对需求理解。这种情况下,采用“可视化”的界面原型法比较可取
转载请注明出处51数据库 » 软件项目需求沟通 如何做好软件项目需求分析
网络没名