02《软件需求分析教程》

  作为功能需求的补充,软件需求规格说明还应包括非功能需求,它描述了系统展现给用户的行为和执行的操作等。  它包括产品必须遵从的标准、规范和合约;外部界面的具体细节;性能要求;设计或实现的约束条件及质量属性。所谓约束是指对开发人员在软件产品设计和构造上所具有的选择限制。质量属性是通过多种角度对产品的特点进行描述,从而反映产品功能,多角度描述产品对用户和开发人员都极为重要。

  需求并未包括设计细节、实现细节、项目计划信息或测试信息。需求与这些没有关系,它关注的是充分说明你究竟想开发什么。项目也有其它方面的需求,如开发环境需求或发布产品及移植到支撑环境的需求。尽管这些需求对项目成功也至关重要,但它们并非本书所要讨论的。

  开发软件系统最为困难的部分就是准确说明开发什么。最为困难的概念性工作便是编写出详细技术需求,这包括所有面向用户、面向机器和其它软件系统的接口。同时这也是一旦做错,将会最终给系统带来极大损害的部分,而且以后再对它进行修改也极为困难。

  不重视需求过程的项目队伍将自食其果。需求工程中的缺陷将给项目成功带来极大风险,这里的“成功”是指推出的产品能以合理的价格、及时地完成并在功能、质量上完全满足用户的期望。下面将讨论一些需求风险。第 5章将介绍怎样应用软件风险管理从而防止与需求有关的风险的出现和不适当的需求过程所引起的一些风险。

  (1)包含的用户数不多将导致无法接受的产品。

  (2)用户需求的扩展将带来过度的耗费和降低产品的质量。

  (3)模棱两可的需求说明可能导致时间浪费和返工。

  (4)用户增加一些不必要的特性和开发人员“画蛇添足(gold-plating)”的追求。

  (5)过分精简的需求说明以致遗漏某些关键需求。

  (6)忽略某一部分用户类的需求将导致众多客户的不满。

  (7)不完善的需求说明使得项目计划和跟踪等无法准确进行。

  客户经常不明白为什么收集需求和确保需求质量需花费那么多功夫,开发人员可能也不重视用户参与。究其原因:一来因为与用户合作不如编写代码有兴趣;二来因为他们觉得已经明白用户的需求了。在某些情况下,与实际使用产品的用户直接接触很困难,而客户也不太明白用户的真正需求。但还是应让具有代表性的用户在项目早期直接参与到开发队伍中,并一同经历整个开发过程。

  在开发中若不断地补充需求,项目就越变越庞大以致超过其计划安排及预算范围。计划并不总是贴近项目需求规模与复杂性的实际情况、风险、开发生产率及需求变更情况,这使得问题更难解决。实际上,问题根源在于用户对需求的改变和开发者对新需求所作的修改。

  要控制变更范围的不断扩展,必须一开始就对项目视图、范围、目标、约束限制和成功标准给予明确说明,并将此说明作为评价需求变更和新特性的参照框架。说明中包括了对每种变更进行变更影响因素分析的变更控制过程,这也将有助于所有风险承担者明白业务决策的合理性,为何进行某些变更,以及相应消耗的时间、资源或特性上的折中。

  产品开发中不断延续的变更会使其整体结构日渐紊乱,补丁代码也使得整个程序难以理解和维护。插入补丁代码也使模块违背强内聚、松耦合的设计原则,特别是如果项目配置管理工作也不完善的话,收回变更和删除特性也会带来问题。如果你能尽早区别这些可能带来变更的特性,你就能开发一个更为健壮的结构,并能更好地适应它,这样设计阶段需求变更不会直接导致补丁代码,同时也有利于控制因变更导致质量的下降。

  模棱两可是需求规格说明中最为可怕的问题。它的一层含义是指诸多读者对需求说明产生了不同的理解;另一层含义是指单个读者能用不止一个方式来解释某个需求说明。模棱两可的需求会使不同的风险承担者产生不同的期望,它会使开发人员为错误问题而浪费时间,并且使测试者与开发者所期望的也不一致。一位系统测试人员曾告诉我,她所在的测试组经常对需求理解有误,以致不得不重写许多测试用例和重做许多测试。

时间: 2024-12-15 23:28:43

02《软件需求分析教程》的相关文章

软件需求分析教程阅读笔记二

软件需求分析教程阅读笔记二 管理人员在要求开发一个系统时并不会理解进行需求分析的重要性,他们只知道能不能尽快开发出相应的系统来方便使用,但是如果不做好需求分析,最终开发出的系统也不会有人用. 客户的需求认识并不像软件开发人员这样,了解的比较清楚,客户通常并不懂得从系统的实际用户处得到信息的重要性,然而从产品的实际用户处收集需求有着不可替代的必要性,所以导致项目最终失败的两个原因,一个是缺乏用户参与,另一个是不完整的需求规格说明. 在进行需求分析时,只有系统的实际使用者才能清楚的描述他们要用此系统

软件需求分析教程阅读笔记一

软件需求分析教程阅读笔记一 许多工程项目不能按时完成或者最后导致失败的一个很大的原因就是弄不清需求是什么,不能准确理解客户的需求意图,所以前期做好需求调研是一件非常重要的工作,是一件与系统代码开发占有同等比重的工作. 读这本书的同时,要注意实践过程,不必非得要从一个新项目开始应用,可以找一个以前的或者是现在正在进行的项目,根据书中所讲,着手开始实践. 软件需求就是需要知道是什么和为什么. 在软件开发当中遇到的许多问题,都是由于收集,编写,协商,修改产品需求过程中的手续和做法失误所带来的.需求分析

软件需求分析教程:第四章详读第五章软件风险管理基础

在我们改进需求过程是要注意把理论方法付诸于实践活动是改进软件过程的核心所在,我们改进软件开发过程的两个主要目标一是解决在以前项目中或目前项目中遇到的问题,另一个是防止和避免你可能在将来的项目中遇到的问题.在软件开发过程中一定要掌握一些其他的很有价值也颇有效的需求工程方法以防止软件组织面临一些突发情况是力不从心. 需求过程是软件项目成功的关键所在,当其他项目过程变更时会对需求过程的影响下面列举了一些变更会产生影响的项目过程:制定项目计划过程(在基线确定前缩小项目范围或采用版本计划从而使项目计划在允

01.01教程简介01.02软件的基本工作界面01.03模型设计的一般过程

xue.taoao.com 我的学习记录 01.01教程简介 --- 01.02软件的基本工作界面 - 任务窗口 拖拽到实例中 - 底部显示单位 - 确定当前环境 - 放大缩小 - 鼠标旋转缩放移动 --- 01.03模型设计的一般过程 ----- 原有凸台基础上    插入一个凸台 进入草图环境  选择原有凸台的一个面为基准面   空格  正视于    画一个圆形 - 智能尺寸-标注并且同时设置尺寸 - - 拉伸切 和凸台一样     拉伸切除-选择基准面进入草图   正视于  画圆  给定深

【转】软件需求分析方法

软件需求分析(Software Reguirement Analysis)是研究用户需求得到的东西,完全理解用户对软件需求的完整功能,确认用户软件功能需求,建立可确认的.可验证的一个基本依据. 软件需求分析是一个项目的开端,也是项目实施最重要的关键点.据有关的机构分析结果表明,我们设计的软件产品存在不完整性.不正确性等问题80%以上是需求分析错误所导致的,而且由于需求分析错误造成根本性的功能问题尤为突出.因此,一个项目的成功软件需求分析是关键的一步. 一. 软件需求分析理论 如果我们用数学方法来

刚写的 软件 求大家评论一下 看看 效果 后期抽空写个软件的教程

白板相机,白板一生的伴侣.会议记录最佳工具,高效办公利器,特别适合创业公司和中小团队. 让白板在会议中凸显其重要地位,会议事项,讨论过程,会议决议全部利用白板相机进行记录,有序保存.发送会议的第一手资料,并为下次会议讨论起到追溯跟踪的作用. 常用功能: 1. 快速保存会议决议:拍照记录会议中通过白板讨论事项:  2. 便捷建立会议档案:每次会议照片单独存储,便于检索和追溯,照片版的印象笔记! 3. 投影:无线投影会议记录照片到投影仪电脑(WiFi): 4. 分享:直接分享到微信.QQ或保存到印象

软件需求分析

功能需求 1.用例分析是要求每一个子功能点都要有一个用例 例如:线路增加,线路删除,线路修改,线路查询.每一个功能描述一个用例 线路删除用例: 2.(后置条件是指:执行基本流程获得成功以后所达到的状态(条件).体现的是执行该用例的最终目的.)   管理员用户登陆 在注册完成后,以管理员账户登陆进入管理员界面,管理员用户登陆功能需求如下表所示: 表2.1“管理员用户登陆”功能需求分析用例 功能点编号 X3L101 功能点名称 管理员用户登陆 角色 管理员 功能说明 管理员用户能通过本功能点完成登陆

软件需求分析之猫咪记单词

软件需求分析之猫咪记单词 一.软件设计目标 目前,所有学生都面临学习英语的问题.在大学生中学生对于手机的应用十分频繁,所以我们设置单词解屏,可以使学生拿起手机就学习英语,提高学习效率,应用零散时间. 二.面向用户 本单词解屏面向的对象为所有会学习到英语的学生:四级.六级.托福.雅思等.主要是要考四六级的大学生,或者要出国学习的学生,或者在生活中热爱英语的人. 三.功能实现 我们主要有词库选择,词数设置,已学词量三个功能.词库选择:对词汇的类型进行选择,如四六级.托福.雅思等. 词数设置:对解屏的

程序设计C语言二级考试教程 Java基础视频教程 安卓软件开发教程 Unity3D游戏制作入门教程

热门推荐电脑办公计算机基础知识教程 Excel2010基础教程 Word2010基础教程 PPT2010基础教程 五笔打字视频教程 Excel函数应用教程 Excel VBA基础教程 WPS2013表格教程 更多>平面设计PhotoshopCS5教程 CorelDRAW X5视频教程 Photoshop商业修图教程 Illustrator CS6视频教程 更多>室内设计3Dsmax2012教程 效果图实例提高教程 室内设计实战教程 欧式效果图制作实例教程 AutoCAD2014室内设计 Aut