第四章[0]需求分析(精品).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)
《第四章[0]需求分析(精品).ppt》由会员分享,可在线阅读,更多相关《第四章[0]需求分析(精品).ppt(55页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2 2主主 要要 内内 容容 需求及需求原因需求及需求原因 需求分析的相关人员需求分析的相关人员 不同层次的不同层次的需求需求 需求分析的活动需求分析的活动 目的目的:明确明确“做什么做什么”准确、完整和规范化的软件准确、完整和规范化的软件 需求是软件开发成功的关键需求是软件开发成功的关键n4.1 4.1 需求及需求原因需求及需求原因n 4.1.1 4.1.1 什么是什么是软件软件需求?需求?4.1.2 4.1.2 为什么需要为什么需要软件软件需求需求?4.1.3“软件需求软件需求”的作用的作用“我要一所大房子我要一所大房子”背景:我是你的建筑师,受雇佣为你设计一背景:我是你的建筑师,受雇佣为
2、你设计一 所大房子。所大房子。问题:你的需求是什么?问题:你的需求是什么?4.1.14.1.1 什么是需求?什么是什么是“需求需求”?我要一所大房子我要一所大房子有很大的落地窗户有很大的落地窗户阳光洒在地板上阳光洒在地板上也温暖了我的被子也温暖了我的被子我要一所大房子我要一所大房子有很多很多的房间有很多很多的房间一个房间有最快的网路一个房间有最快的网路一个房间有很多的吉他一个房间有很多的吉他一个房间有我漂亮的衣服一个房间有我漂亮的衣服一个房间住着朋友和他的爱人一个房间住着朋友和他的爱人一个房间一个房间一个房间一个房间我也不知道该放些什么我也不知道该放些什么我们晚上不睡觉我们晚上不睡觉白天在床上
3、思考白天在床上思考小狗在屋里奔跑小狗在屋里奔跑度过完美的一天度过完美的一天不同的人有不同的不同的人有不同的“需求需求”?法国人、美国人和中国人被困法国人、美国人和中国人被困在一个荒岛上,遇到了一个神仙在一个荒岛上,遇到了一个神仙神仙说:神仙说:“我可以满足你们每个人一个愿望。我可以满足你们每个人一个愿望。”法国人抢先说:法国人抢先说:“我要回家!我要回家!我要回家!我要回家!”神仙说:神仙说:“满足你的愿望。满足你的愿望。”于是把法国人送走了。于是把法国人送走了。美国人马上说:美国人马上说:“我也要回家!我也要回家!我也要回家!我也要回家!”神仙说:神仙说:“满足你的愿望。满足你的愿望。”于是
4、美国人也被送走了。于是美国人也被送走了。最后剩下中国人,神仙问:最后剩下中国人,神仙问:“你有什么愿望?你有什么愿望?”中国人说:中国人说:“他们都走了,留下我怪寂寞的,把他们他们都走了,留下我怪寂寞的,把他们 叫回来吧。叫回来吧。”于是法国人和美国人又回来了于是法国人和美国人又回来了.“只有结婚后才可以修改姓名吗?只有结婚后才可以修改姓名吗?”PhilPhil开发了一套人力资源软件,有一天他接开发了一套人力资源软件,有一天他接 到了人力资源部到了人力资源部MariaMaria打来的电话打来的电话Maria 一个同事想把自己的名字改为一个同事想把自己的名字改为SparkleStarlight,
5、但系统不允,但系统不允许,能帮忙吗?许,能帮忙吗?Phil 她嫁给了一个姓她嫁给了一个姓Starlight的人吗?的人吗?Maria 不,她并没有结婚,她只是想改名字而已;不,她并没有结婚,她只是想改名字而已;Phil 系统只支持在改变婚姻状况时才可以改名字。系统只支持在改变婚姻状况时才可以改名字。Maria 可是每个人只要愿意就可以随时改变自己的名字啊。可是每个人只要愿意就可以随时改变自己的名字啊。Phil 这并不是我的错!在开发系统之前,你从来没有向我提起过有这并不是我的错!在开发系统之前,你从来没有向我提起过有这种需求!这种需求!Maria 不管如何,请尽快把这个功能修改完毕,否则不管如
6、何,请尽快把这个功能修改完毕,否则Sparkle将无法将无法支付她的银行帐单。支付她的银行帐单。Phil 如果你一开始就告诉我你要能随时改变某个人的名字,那这些如果你一开始就告诉我你要能随时改变某个人的名字,那这些就都不会发生!就都不会发生!软件需求?8 8软件需求软件需求(Software Requirements)(Software Requirements)l从系统的外部发现系统所具有满足用户的特从系统的外部发现系统所具有满足用户的特 点、功能、属性等点、功能、属性等(Alan Davis(Alan Davis 93)93)l用户所需要的并能触发一个程序或系统开发用户所需要的并能触发一个
7、程序或系统开发 工作的说明工作的说明 (Jones 94)(Jones 94)。l用户解决问题达到目标所需要的条件或权能,用户解决问题达到目标所需要的条件或权能,系统或系统部件要满足合同、标准、规范或系统或系统部件要满足合同、标准、规范或 其他正式规定文档所具有的途径或权能其他正式规定文档所具有的途径或权能(IEEE97)(IEEE97)。9 9一个需求是一个一个需求是一个“被构造被构造”的的陈述,陈述,用以描述待开发产品(或项目)用以描述待开发产品(或项目)功能功能上的上的能力能力、性能性能参数或者其它性质参数或者其它性质(不描述领域也不不描述领域也不描述系统是如何实现的描述系统是如何实现的
8、)。需求必须经过所有相关人员的需求必须经过所有相关人员的认可认可同意才能成为同意才能成为正式的需求,正式的需求,彻底解决客户的问题。彻底解决客户的问题。需求的集合称为需求的集合称为需求文档需求文档(requirementsdocument)概括为概括为:1010 实例实例 开发一个开发一个:学生选课系统学生选课系统 Course Registration System Course Registration System问题问题?该系统允许学生在一个学期开始之前选择该该系统允许学生在一个学期开始之前选择该学期开设的某些课程,学生注册,修改注册,它学期开设的某些课程,学生注册,修改注册,它将帮助
9、学生学习他们认为最有兴趣、最有用的课将帮助学生学习他们认为最有兴趣、最有用的课程,并用最短时间获得学位。尽可能简单、快捷。程,并用最短时间获得学位。尽可能简单、快捷。如果如果“该系统将自动完成注册办公室的各项功该系统将自动完成注册办公室的各项功能能”,应增加什么功能,应增加什么功能?系统包括的功能:付费、打印班级列表、系统包括的功能:付费、打印班级列表、为课程分配教室。为课程分配教室。1111确定问题范围确定问题范围-想到所有子问题想到所有子问题浏览课程浏览课程教室分配教室分配注册注册考试安排考试安排费用支出费用支出浏览课程浏览课程注册注册教室分配教室分配考试安排考试安排费用支出费用支出图图
10、4-1 4-1 缩小项目的范围缩小项目的范围确定问题范围确定问题范围从系统高层目标考虑从系统高层目标考虑目标目标1:1:完成学生注册完成学生注册目标目标2:2:学习他们认为最有兴趣、最有用的课程学习他们认为最有兴趣、最有用的课程,并用最短时间获得学位并用最短时间获得学位.考虑填加一些功能考虑填加一些功能:1212功能功能:|学生选课注册学生选课注册|记录成绩记录成绩|打印成绩打印成绩|编辑并查询可选课程的列表编辑并查询可选课程的列表(包括说明和先包括说明和先 修课程列表修课程列表)|编辑并查询学位申请编辑并查询学位申请|编辑并查询某个学期教授的课程列表编辑并查询某个学期教授的课程列表|通过对学
11、位要求、先修课程、时间安排和兴趣通过对学位要求、先修课程、时间安排和兴趣 爱好的分析帮助学生选择课程爱好的分析帮助学生选择课程 1313#安排讲授课程的时间表安排讲授课程的时间表#分配讲课或考试的教室分配讲课或考试的教室#支付费用及相关的会计与账务支付费用及相关的会计与账务#录取申请录取申请在补充几个在补充几个功能功能:u 学生不希望自己的学习成绩被他人查阅学生不希望自己的学习成绩被他人查阅u 老师可以使用选课系统获得选课学生的老师可以使用选课系统获得选课学生的名单,并登记学生的课程学习成绩名单,并登记学生的课程学习成绩还有需求吗还有需求吗?:以下描述是否属于需求?为什么?以下描述是否属于需求
12、?为什么?系统通过系统通过JDBCJDBC与与OracleOracle数据库数据库CourseDBCourseDB建建立连接,并从立连接,并从CourseOfferingCourseOffering数据表中获得课数据表中获得课程的开设信息。程的开设信息。怎样获取功能怎样获取功能?需求收集需求收集,分析技术分析技术 (面谈、头脑风暴、原型、用例技术面谈、头脑风暴、原型、用例技术)后面讲述后面讲述151519791979年美国财政部对美国联邦政府开发的年美国财政部对美国联邦政府开发的9 9 个工程规模不大的软件项目进行了调查,结个工程规模不大的软件项目进行了调查,结 果为:果为:投资后投资后未能交
13、付未能交付的软件占的软件占20-21%20-21%,交付后交付后不能使用不能使用的软件占的软件占47%47%,需要经过需要经过修改修改才能使用的占才能使用的占29%29%,交付后交付后可以使用可以使用的只占的只占3-4%3-4%。原因原因:需求没有做好需求没有做好4.1.2 4.1.2 为什么需要需求为什么需要需求?1616 Standish-GroupStandish-Group对对350350家公司的家公司的80008000个软件项目个软件项目 作过一次调查作过一次调查.其中,其中,31%31%的项目的结局是被取消。的项目的结局是被取消。引引起起这些项目失败的原因是:这些项目失败的原因是:
14、13.1%13.1%不完整的产品要求;不完整的产品要求;12.4%12.4%缺乏用户的参与;缺乏用户的参与;10.6%10.6%缺少资源(人力、财力);缺少资源(人力、财力);9.9%9.9%不现实的期望不现实的期望;9.3%9.3%高层领导支持不足;高层领导支持不足;8.7%8.7%产品要求与指标的改变;产品要求与指标的改变;8.1%8.1%没有订计划;没有订计划;7.5%7.5%不在需要的能力不在需要的能力 其中,与产品需求有关的(其中,与产品需求有关的(1,2,4,61,2,4,6和和8 8项)占了项)占了44.1%44.1%。这些数据突出地显示了软件产品需求在软件开发中的重要性这些数据
15、突出地显示了软件产品需求在软件开发中的重要性。4.1.3“软件需求软件需求”的作用的作用 “Requirement is the Basics of Requirement is the Basics of Quality”Quality”|充分理解现实中的业务问题,并作为软件充分理解现实中的业务问题,并作为软件 设计的基础。设计的基础。|为软件项目的成本、时间、风险估计提供为软件项目的成本、时间、风险估计提供 准确的依据。准确的依据。|减少开发工作量,避免将时间与资源浪费在减少开发工作量,避免将时间与资源浪费在 设计与实现错误的需求上。设计与实现错误的需求上。|作为顾客与开发团队之间正式作为
16、顾客与开发团队之间正式合同的一部分。合同的一部分。|为最终的验收测试提供为最终的验收测试提供标准和依据。标准和依据。|通过提供需求文档和需求基线,有效的通过提供需求文档和需求基线,有效的管理管理 系统演化与变更。系统演化与变更。4.2 4.2 需求分析相关者需求分析相关者1919图图 4-2 需求分析相关者需求分析相关者用户用户用户用户管理人员管理人员软件开发小组软件开发小组分析人员分析人员4.2 4.2 需求分析相关者需求分析相关者n4.3 4.3 需求种类需求种类4.3 4.3 不同层次的软件需求不同层次的软件需求(需求种类需求种类)业务需求业务需求项目视图与范围文档项目视图与范围文档业务
17、规则业务规则用例文档用例文档功能需求功能需求系统需求系统需求软件需求规格说明软件需求规格说明外部接口外部接口需求需求用户需求用户需求功能性需求功能性需求非功能性需求非功能性需求约束条件约束条件非功能需求非功能需求图图 4-3 需求分析类型需求分析类型4.3.1 4.3.1 业务需求业务需求 (Business Requirements)(Business Requirements)业务需求:客户对于系统的高层次目标要求,业务需求:客户对于系统的高层次目标要求,定义了项目的远景和范畴定义了项目的远景和范畴#业务:属于哪类业务范畴?应完成什么功能?业务:属于哪类业务范畴?应完成什么功能?为何目的?
18、为何目的?#客户:软件为谁服务?目标客户是谁?客户:软件为谁服务?目标客户是谁?#特性:区别于其他竞争产品的特性是什么?特性:区别于其他竞争产品的特性是什么?#价值:价值体现在那些方面?价值:价值体现在那些方面?#优先级:功能特性的优先级次序是什么?优先级:功能特性的优先级次序是什么?业务需求业务需求 例例“图书资料管理系统图书资料管理系统”的业务需求的业务需求 该系统使用计算机实现图书资料的日常管理,该系统使用计算机实现图书资料的日常管理,提高工作效率和服务质量。提高工作效率和服务质量。该系统可让用户在网络上查询与浏览电子资该系统可让用户在网络上查询与浏览电子资 料,改变原有的借阅模式。料,
19、改变原有的借阅模式。由于版权的限制,某些电子资料只能浏览由于版权的限制,某些电子资料只能浏览/打打 印,但不能下载。印,但不能下载。4.3.2 4.3.2 用户需求用户需求(User Requirements)(User Requirements)用户需求:从用户角度描述系统功能需求与非用户需求:从用户角度描述系统功能需求与非 功能需求,通常只涉及系统的外部功能需求,通常只涉及系统的外部 行为而不涉及内部特性。行为而不涉及内部特性。例例 用户可以通过用户可以通过InternetInternet随时查询图书信息和个随时查询图书信息和个 人借阅情况,并可以快速查找和浏览需要的电人借阅情况,并可以快
20、速查找和浏览需要的电 子资料;子资料;功能需求功能需求 用户通过用户通过InternetInternet查询图书信息;查询图书信息;功能需求功能需求 用户通过用户通过InternetInternet浏览个人借阅情况;浏览个人借阅情况;功能需求功能需求 用户通过用户通过InternetInternet查找和浏览电子资料查找和浏览电子资料 非功能需求非功能需求 随时、快速。随时、快速。业务需求与用户需求的对比实例业务需求与用户需求的对比实例 Course Registration SystemCourse Registration System#业务需求业务需求由于实行学分制管理,学校领导希望用计
21、算机管由于实行学分制管理,学校领导希望用计算机管理学生选课。理学生选课。课程信息维护、选课管理、课程成绩登记和查询课程信息维护、选课管理、课程成绩登记和查询等业务全部由手工方式改为计算机应用。等业务全部由手工方式改为计算机应用。#用户需求用户需求教务管理员希望能够增加、修改和删除学校的课教务管理员希望能够增加、修改和删除学校的课程目录,并且设置各学期课程的开设信息。程目录,并且设置各学期课程的开设信息。学生希望能够在学期开始之前查询所有开设课程学生希望能够在学期开始之前查询所有开设课程的详细信息,并能够通过校园网进行选课。的详细信息,并能够通过校园网进行选课。学生希望在选课期间系统能够学生希望
22、在选课期间系统能够2424小时使用,系统小时使用,系统使用方便快捷。使用方便快捷。4.3.3 4.3.3 系统需求系统需求(System Requirement)(System Requirement)系统需求是对用户需求的扩展,添加了许多细系统需求是对用户需求的扩展,添加了许多细 节内容,解释如何让系统来满足用户需求;节内容,解释如何让系统来满足用户需求;“系统需求系统需求”将作为软件设计的起点,从需求阶将作为软件设计的起点,从需求阶 段过渡到设计阶段;段过渡到设计阶段;系统需求通常采用图形化的模型形式加以刻画。系统需求通常采用图形化的模型形式加以刻画。例如:例如:描述功能的输入输出信息;描
23、述功能的输入输出信息;描述功能的前置条件和后置条件;描述功能的前置条件和后置条件;数据存储的要求。数据存储的要求。4.3.4 4.3.4 功能需求功能需求(Functional Requirements,FR)(Functional Requirements,FR)功能需求:系统应该提供的功能或服务,通常涉功能需求:系统应该提供的功能或服务,通常涉 及用户或外部系统与该系统之间的交及用户或外部系统与该系统之间的交 互,不考虑系统内部的实现细节。互,不考虑系统内部的实现细节。又又如如:系统应对所有已销售的应纳税商品系统应对所有已销售的应纳税商品计算销售税。计算销售税。系统应提供一种方法,使系统用
24、户可根据本地利率系统应提供一种方法,使系统用户可根据本地利率 调整销售税比例调整销售税比例。系统应能够系统应能够产生月销售报表产生月销售报表。如如:#:#用户可从图书资料库中查询或者选择其中一个子集;用户可从图书资料库中查询或者选择其中一个子集;#系统可提供适当的浏览器供用户阅读馆藏文献;系统可提供适当的浏览器供用户阅读馆藏文献;#用户每次借阅图书应对应一个唯一的标识号,它被用户每次借阅图书应对应一个唯一的标识号,它被 记录到用户的账户上。记录到用户的账户上。2828 一般来说一般来说,功能需求是整个需求的主体功能需求是整个需求的主体,几乎几乎构成了由交谈和小组讨论所得到的所有构成了由交谈和小
25、组讨论所得到的所有初始需求初始需求。在编写需求规格书时,关于功能需求应考虑在编写需求规格书时,关于功能需求应考虑以下问题:以下问题:功能源。功能源。功能共享的数据功能共享的数据 功能与外部界面的交互功能与外部界面的交互 功能所使用的计算资源功能所使用的计算资源2929 4.3.5 4.3.5 性能需求性能需求(Performance requirement):(Performance requirement):一个系统或系统构件必须具有的性能特性。一个系统或系统构件必须具有的性能特性。例如:例如:#系统应该在系统应该在5 5分钟内计算出给定季度的总销售税。分钟内计算出给定季度的总销售税。#系统
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 需求 分析 精品
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内