《软件需求讲义》PPT课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《《软件需求讲义》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《软件需求讲义》PPT课件.ppt(81页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件需求从谚语开始p中国有句谚语:“好的开始就等于成功的一半”p西方的谚语是:“Garbage in,garbage out!”内容概要p软件需求的基本概念p需求工程与需求工程过程p需求获取与需求分析p需求文档与需求质量验证p软件需求管理软件需求参考书作者:作者:(美)(美)karl e.wiegers 译者:译者:刘伟琴刘伟琴 刘洪涛刘洪涛 出版社:清华大学出版社出版社:清华大学出版社软件需求(第软件需求(第2 2版)版)本本书书介介绍绍了了贯贯穿穿整整个个开开发发周周期期的的管管理理需需求求工工程程的的实实用用技技术术,包包括括多多种种可可以以促促进进用用户户、开开发发人人员员和和管管理理
2、层层之之间间有有效效沟沟通通的的方方法法。这这一一版版对对第第一一版版进进行行了了扩扩充充,提提供供了了新新的的实实例例,及及作作者者在在实实际际工工作作中中遇遇到到的的各各种种实实际际案案例例和和解解决决方方案案。此此外外,还还添添加加了了新的章节、需求示例文档以及故障诊断指南等。新的章节、需求示例文档以及故障诊断指南等。第一部分 软件需求的基本概念p需求问题p需求的层次 第1章需求问题p需求是软件项目成败的关键所在p越早发现需求错误,越早改正它,其代价越小p需求的定义p好需求的特征:无歧义、完整、一致、可检验、确定、可跟踪的,正确的,可行的和必要的。软件开发中的错误观点软件开发中的错误观点
3、p只要掌握了只要掌握了1-2门程序设计语言,进行软件开发就门程序设计语言,进行软件开发就没有问题。没有问题。p只要有最好的开发工具、最好的计算机,一定能做只要有最好的开发工具、最好的计算机,一定能做出优秀的软件。出优秀的软件。p软件需求分析很困难,不管三七二十一,先把软件软件需求分析很困难,不管三七二十一,先把软件做了再说,反正软件是灵活的,随时可以修改。做了再说,反正软件是灵活的,随时可以修改。总之,错误认为:软件就是程序,开发软件就是编写总之,错误认为:软件就是程序,开发软件就是编写程序。程序。项目失败与成功的原因项目失败与成功的原因*p三种最经常使项目“遇到困难”的因素是:n缺乏用户介入
4、:占所有项目的13%n不完整的需求和规格说明:占所有项目的12%n不断改变的需求和规格说明:占所有项目的12%p三种项目最主要的“成功因素”是:n用户介入:占所有成功项目的16%n高层管理的支持:占所有成功项目的14%n需求陈述清晰:占所有成功项目的12%*Standish Group,1994软件开发的目标软件开发的目标p软件开发的目标,简单而言,就是满足用户的需要。需求在项目中的作用 p未真正明白这些问题就开始编码,结果没有人对产品满意。p在项目开发中,所有的涉众(Stakeholder)都对需求分析阶段备感兴趣。(没有理所当然理所当然的需求)p2-8 原则:举足轻重2-8 原则*p80%
5、的工程活动是由20%的需求消耗的p80%的软件成本是由20%的构件消耗的 *Royce,1998 需求错误的代价 在生命周期的不同阶段修复缺陷的相对成本 需求缺陷造成的成本增加p重新进行需求规格说明p重新设计p重新编码p重新测试p改变订单告诉用户将以一个修正后的版本来替代有缺陷的版本。p纠正活动消除由于不准确的特定系统的错误造成的危害,可能涉及到赔偿客户损失。p报废包括对于已经完成的代码、设计和测试,当发现它们是根据不正确的需求进行的时候,这些工作成果不得不被丢弃。p收回有缺陷的软件产品以及相关的用户手册。p产品赔偿或保修的成本。p重新安装新版本的成本。p重新建档的成本。高质量的需求过程带来的
6、好处 p在开发后期和整个维护阶段的重做的工作大大减少了。p让用户积极参与需求收集过程能使产品更富有吸引力,而且能建立起更加忠实的客户关系。p用户的参与能弥补用户期望和开发者实际开发之间的“鸿沟”(期望差异)。p将确定的系统需求明确地分配到各软件子系统,确保软硬件系统功能匹配适当。p有效的变更控制也能降低需求变更带来的负面影响。p将需求编写成清晰、无二义性的文档将会极大地有利于系统测试,确保产品质量。需求定义 IEEE 1997pIEEE软件工程标准词汇表定义需求为:1.用户解决问题或达到目标所需的条件或能力。2.系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。3.一
7、种反映上面(1)或(2)所描述的条件或能力的文档说明。需求定义Thayer,Dorfman.1997pMerlin Dorfman 和 Richard H.Thayer 提出了一个包容且更为精练的定义:n用户解决某一问题或达到某一目标所需的软件功能。n系统或系统构件为了满足合同、规约、标准或其他正式实行的文档而必须满足或具备的软件功能。好的需求应具有的特性好的需求应具有的特性p无歧义性p完整性p一致性p可检验性p确定性p可跟踪性p正确性p可行性p必要性 无歧义性p产生歧义的原因同一个词具有多种含义编写人员会下意识假设所有人对某个主题都具有和自己一样的认知水准缩写叙述不够具体无歧义性(续)p示例
8、:系统只允许保留5个有效地相关记录和保障计划,它必须包括最新的。系统只允许系统只允许5个有效的相关记录个有效的相关记录最新的相关记录一定包含在上述相关记录中最新的相关记录一定包含在上述相关记录中每个保障计划都被放在其相关记录中每个保障计划都被放在其相关记录中p结结论论:每每个个需需求求都都应应该该只只叙叙述述一一个个主主体体,在在一个需求中包含多个主体时,会产生歧义。一个需求中包含多个主体时,会产生歧义。无歧义性(续)p消除歧义的方法对感到模糊的地方刨根问底关键字技术其他技术完整性p不能遗漏任何需求或必要的信息p如果不能确定某项需求,务必用TBD(to be determined,待确定)来标
9、识p项目开发前,必须解决需求中所有的TBD项p每项需求必须完整描述即将交付使用的功能p遗漏需求将很难查出来完整性(续)p防止遗漏的方法n注重用户的任务而不是系统的功能。n将高层需求分解足够细,让用户真正的需求显示出来:“应该、将要、可能”“将、必须”。n务必让所有用户类都提出意见,确保每个用例都至少有一个执行者。n用多种方式表达需求:UML模型、数据流图、判定表(树)、E-R图等。n跟踪系统需求、业务规则、用例,直至详细的软件功能性需求,确保导出了所有必须的功能。n检查边界值完整性(续)p示例:如果可能的话,应该根据主要法人账号列表在线确认所输入账号的合法性。TBD,尽快确定其必要性,尽快确定
10、其必要性验证成功如何验证成功如何验证失败又该如何验证失败又该如何p修修订订:当请求者输入账户号码时,系统将根据在线法人账号列表来验证所输入的账号。如果在此列表中查不到该账号,则系统将显示一个出错信息并拒绝订货;否则进入订货流程。一致性p任何一项需求不会与其他需求或更高层次的需求发生冲突p记下每项需求的来源,当发现需求冲突知道该找谁商量p项目开发前,必须解决需求不一致的问题可检验性p需求可以通过合理的方式充分检测p开发人员能够确认软件是否满足用户需求p测试人员能够设计合理的测试方法,检验系统能否正常运行p示例1:用新的系统完成报表自动化处理。p示例2:员工标识号必须在一个有效的范围内。确定性p使
11、得所有人都知道在所有可能可能的条件下系统应该做什么p使用两种不同的需求处理有条件的行为一条:说明满足条件系统如何另一条:说明不满足条件系统如何确定性(续)p示例:系统1应该每隔5分钟向系统2发送一次新记录。每个每个5分钟的时间起点在哪里,不确定分钟的时间起点在哪里,不确定当无新记录可发时,系统当无新记录可发时,系统1该如何该如何p修修订订:如果自上次向系统2发送消息以来,5分钟内收到了新记录,则系统1向系统2发送新记录;如果在上述5分钟内没有收到新记录,则系统1向系统2发送“无新记录”的提示消息。可跟踪性p可跟踪的(软件)需求都能找到它的来源p可跟踪的(软件)需求都有它对应的设计单元、实现代码
12、p可跟踪的(软件)需求都有它被正确实现的测试用例p可跟踪的(软件)需求都有一个固定、惟一的标识可行性p需求必须在已知系统和环境的限制范围内能够实施p需要软件开发人员配合,检查技术可行性p忌讳使用“迅速、瞬间、及时”等用词练习题p产品应在不少于每产品应在不少于每60秒的正常周期内提供状态信息。秒的正常周期内提供状态信息。不少于每不少于每60秒,一年如何?秒,一年如何?状态信息有哪些内容,在哪里显示,如何显示?状态信息有哪些内容,在哪里显示,如何显示?p修订:修订:1.产品将在用户界面的指定区域显示状态信息。产品将在用户界面的指定区域显示状态信息。1.1 状态信息必须每隔状态信息必须每隔6010秒
13、更新一次。秒更新一次。1.2 状态信息状态信息 必须保持持续的可见性。必须保持持续的可见性。1.3 任务执行过程中,状态信息将显示任务的完成百分比。任务执行过程中,状态信息将显示任务的完成百分比。1.4 任务完成时,状态信息将显示任务完成时,状态信息将显示“已完成(已完成(Done)”。1.5 任务中止时,状态信息将显示任务中止时,状态信息将显示“Error”。练习题(续)pHTML分析器可以产生分析器可以产生HTML标记错误报告,帮标记错误报告,帮助助HTML入门者快速解决错误。入门者快速解决错误。“快速快速”这个词有歧义,是人还是分析器?这个词有歧义,是人还是分析器?不可行不可行错误报告有
14、哪些内容,不确定、不可检验错误报告有哪些内容,不确定、不可检验p修订:修订:1.在在HTML分析器完全解析完一个文件后,该分析器将生成一个分析器完全解析完一个文件后,该分析器将生成一个 出错报告,其内容包括解析文件过程中所发现的所有出错报告,其内容包括解析文件过程中所发现的所有HTML错错 误的行号及其文本内容,还包括对每个错误的描述。误的行号及其文本内容,还包括对每个错误的描述。2.如果在解析过程中未发现任何错误,将不生成出错报告如果在解析过程中未发现任何错误,将不生成出错报告。练习题(续)p产品应瞬间在文中的显示和隐藏不可打印字符间产品应瞬间在文中的显示和隐藏不可打印字符间切换。切换。“瞬
15、间瞬间”这个需求不可行?这个需求不可行?需求不完整:未声明切换的源头(自动还是外部触发)需求不完整:未声明切换的源头(自动还是外部触发)需需求求不不确确定定:“不不可可打打印印字字符符”是是什什么么,文文中中发发生生变变化化的范围有多大的范围有多大p修修订订:用用户户在在编编辑辑文文档档时时,通通过过特特定定的的菜菜单单项项,可可以以在在显显示示和和隐隐藏藏文文中中所所有有控控制制字字符符之之间间进进行行切切换换。改改变变显显示示方方式式所所需需的的时间为时间为0.1秒或更短。秒或更短。第二章 需求的层次p需求是多层次的,包括业务需求、用户需求、功能需求和非功能需求。p需求路线图:涉众需要 系
16、统的特性建立软件需求 软件需求包括不同的层次 业务需求p内容:表示组织或客户对系统、产品高层次的目 标p来源:投资人、购买产品的客户、市场营销部门、产品策划部门、实际使用者的管理者p描述方式:前景(视图)和范围文档p示例:为乘坐航空公司航班的乘客购票提供便 利,增加航空公司的客流量,需要开发“网网 上机票预订系统上机票预订系统”。用户需求p内容:描述了用户要求系统、产品必须能完成的 任务p来源:实际使用系统的所有潜在用户p描述方式:用例模型p示例:“机票预订”、“修改预订”、“取消预订”、“机 票查询”功能需求p内容:规定开发人员必须在系统、产品中实现的软件功能p来源:实际使用者、开发人员p描
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件需求讲义 软件 需求 讲义 PPT 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内