精品课堂《软件需求分析》

上传人:xmg****18 文档编号:116450393 上传时间:2019-11-16 格式:PPT 页数:43 大小:3.30MB
返回 下载 相关 举报
精品课堂《软件需求分析》_第1页
第1页 / 共43页
精品课堂《软件需求分析》_第2页
第2页 / 共43页
精品课堂《软件需求分析》_第3页
第3页 / 共43页
精品课堂《软件需求分析》_第4页
第4页 / 共43页
精品课堂《软件需求分析》_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《精品课堂《软件需求分析》》由会员分享,可在线阅读,更多相关《精品课堂《软件需求分析》(43页珍藏版)》请在金锄头文库上搜索。

1、第一章第一章 需求工程基础需求工程基础 金陵科技学院 软件工程学院 制作人:李尤丰 cnlyf 1.1 什么是软件?什么是软件工程? 1.2 什么是需求?什么是需求工程? 1.3 什么是软件需求分析? 1.4 社会对需求工程师的知识和技能要求。 金陵科技学院 软件工程学院 1.1 什么是软件?什么是软件工程? 软件是一系列按照特定顺序组织的计算机数据和指令的集合。 软件可以说是程序加文档的集合。 软件=数据结构+算法+文档 金陵科技学院金陵科技学院 软件工程学院软件工程学院 软件的分类: 1.系统软件 2.应用软件 3.中间件 操作系统 支撑软件 管理计算机硬件与软件资源的程序,是计算机系统的

2、内核与基石。 管理与配置内存、决定系统资源供需的优先次序、控制输入与输出 设备,操作网络与管理文件系统等基本事务,是用户和计算机的接 口。 支撑系统中各种软件的开发与为维护 的软件,又称为软件开发环境 ,主要包括环境数据库、各种接口软件和工具组。如微软公司的 Studio.NET。 为了某种特定的用途而被开发的软件,为了满足用户不同领域、不 同问题的应用需求而提供的。可以是一个由众多独立程序组成的庞 大的软件系统,例如DBMS,Office等。 中间件是一类连接软件组件和应用的计算机软件,包括一组服务。 它位于客户机/服务器的操作系统之上,管理计算机资源和网络通讯 。通过中间件,应用程序可以工

3、作多平台或操作环境中。比如: tomcat,jboss, weblogic, websphere等软件。 金陵科技学院金陵科技学院 软件工程学院软件工程学院 什么是软件工程? IEEE关于软件工程的定义是:软件工程是:(1)将系统化的、 严格约束的、可量化的方法应用于软件的开发、运行和维护,即 将工程化应用于软件;(2)指在(1)中所述方法的研究。 目前比较认可的一种定义是:软件工程是研究和应用如何以系统 化、规范化、可定量的过程化方法去开发和维护软件,以及如何 把经过时间考验而证明正确的管理技术和当前能够得到的最好的 技术方法结合起来。 金陵科技学院金陵科技学院 软件工程学院软件工程学院 软

4、件工程的各个阶段 1.项目计划 2.需求分析 3.项目设计 4.编码 5.测试 6.维护 传统 需求处理认为 :该阶 段为需求处理 过程。 系统化的需求工程认为 :软件工程前期 的需求工作+软件工程的需求分析阶段=软 件需求工程 金陵科技学院金陵科技学院 软件工程学院软件工程学院 软件危机? 软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求, 从而导致软件开发与维护过程中出现一系列严重问题的现象。 产生软件危机的其中一个原因:用户需求不明确 在软件开发过程中,用户需求不明确问题主要体现在四个方面: 在软件开发出来之前,用户自己也不清楚软件开发的具体需求; 用户对软件开发需求的描述

5、不精确,可能有遗漏、有二义性、甚至有错误 ; 在软件开发过程中,用户还提出修改软件开发功能、界面、支撑环境等方 面的要求; 软件开发人员对用户需求的理解与用户本来愿望有差异。 金陵科技学院金陵科技学院 软件工程学院软件工程学院 为什么需要需求及分析? 小小P P刚加入一个项目组,项目经理安排他做需求分析,小刚加入一个项目组,项目经理安排他做需求分析,小P P有点不有点不 乐意:乐意:“需求有什么好分析的啊?客户要什么就给什么呗,简直需求有什么好分析的啊?客户要什么就给什么呗,简直 浪费我这个人才!浪费我这个人才!” 一天,客户打电话说:一天,客户打电话说:“我要一只羊我要一只羊”。小。小P P

6、一听,太简单一听,太简单 了,写下了需求:了,写下了需求:“XX“XX客户需要一只羊。客户需要一只羊。”小小P P叫小叫小Q Q去处理这件去处理这件 事。小事。小Q Q觉得很简单,抓了一只羊就送过去了。觉得很简单,抓了一只羊就送过去了。 结果客户的投诉第二天就来了,项目经理黑着脸训斥小结果客户的投诉第二天就来了,项目经理黑着脸训斥小P P, 小小P P觉得委屈:觉得委屈:“我是按照客户的要求做的呀,怎么就错了呢?我是按照客户的要求做的呀,怎么就错了呢? ” 亲爱的同学们,你知道小亲爱的同学们,你知道小P P为什么挨批了吗?为什么挨批了吗? 1.2 什么是需求?什么是需求工程? IEEE 199

7、0对需求的定义: (1)用户为了解决问题或达到某些目标所需要的条件或能力; (2)系统或系统部件为了满足合同、标准、规范或其他正式文 档所规定的要求而需要具备的条件或能力; (3)对上述两种情况(1)或(2)中的一个条件或一种能力的 一种文档化表述。 金陵科技学院金陵科技学院 软件工程学院软件工程学院 需求的分类 1.功能需求 2.非功能需求 性能需求 质量属性 对外接口 约束 业务需求 why 用户需求what 系统需求how 金陵科技学院金陵科技学院 软件工程学院软件工程学院 功能需求的三个层次 业务需求描述组织或客户的高层次目标,定义系统特性。通常来自于 高层业务 部门。业务需求从总体上

8、描述了为什么要开发软件或系统 (即Why),组织希望达到的目标。业务需求获取后形成的文档为项 目前景和范围文档。这些文档描述了组织对 将使用的软件系统所要达 到的目标的预期期望。 用户需求主要指用户使用产品必须要完成什么任务,怎么完成需求, 通常是在问题定义的基础上进行用户访谈 、调查,对用户使用的场 景进行整理,从而建立从用户角度的需求。用户需求必须能够体现软 件系统将给用户带来的业务价值,或用户要求系统必须能完成的任 务。用户需求主要描述了用户使用系统能够做什么事情(即What)。 通过用户需求信息形成的文档为用例说明文档。 系统需求是用户对系统行为的期望,一系列的系统需求联系在一起 ,帮

9、助用户完成任务,达成用户需求,进而满足业务需求。系统需 求可以直接映射为系统行为,定义系统中需要实现的功能,描述开 发人员需要实现什么。它描述的是开发人员如何设计具体的解决方 案来实现这 些需求(即How),是业务需求和用户需求最终实现 的 目标,其级别比用户需求高一个数量级。系统需求信息都记录在需 求规格说明文档(Soft Requirments Specification即SRS)中, 功能需求三个层次举例-发现问题 某餐厅老板找到伍杰公司,想要一个系统来解决现在他的烦恼: 1 1 每天不知道各种菜进货多少,无法控制。有时某种菜准备的多,顾客点的少,造成浪费;每天不知道各种菜进货多少,无法

10、控制。有时某种菜准备的多,顾客点的少,造成浪费; 有时某种菜品没有,顾客却想点,造成供应短缺。能否利用现有信息,进行分析,能够正确有时某种菜品没有,顾客却想点,造成供应短缺。能否利用现有信息,进行分析,能够正确 安排菜品数量。安排菜品数量。 2 2 经常发生顾客抢位现象。顾客就餐时,都愿意选择最佳位置。就餐高峰,顾客间容易因为经常发生顾客抢位现象。顾客就餐时,都愿意选择最佳位置。就餐高峰,顾客间容易因为 抢位导致矛盾,而影响餐厅生意。抢位导致矛盾,而影响餐厅生意。 3 3 有特色菜时,店内海报宣传和菜单宣传显得力度不够,帮助点菜业务员有时不熟悉菜品,有特色菜时,店内海报宣传和菜单宣传显得力度不

11、够,帮助点菜业务员有时不熟悉菜品, 会使顾客放弃点某道菜品,同时对餐厅服务不满意。会使顾客放弃点某道菜品,同时对餐厅服务不满意。 4 4 希望对顾客信息有一定记录,帮助选择出忠实客户,提供一定优惠。希望对顾客信息有一定记录,帮助选择出忠实客户,提供一定优惠。 5 5 就餐高峰时经常出现点菜下单排队现象,导致客户不满意。就餐高峰时经常出现点菜下单排队现象,导致客户不满意。 6 6 目前提供的电话订餐经常发生顾客信息弄错、混乱,配送不及时等情况。目前提供的电话订餐经常发生顾客信息弄错、混乱,配送不及时等情况。 7 7 不知道店内哪些菜品受欢迎,受欢迎的菜品原因也不清楚,导致无法及时有效推出新菜不知

12、道店内哪些菜品受欢迎,受欢迎的菜品原因也不清楚,导致无法及时有效推出新菜 品。品。 功能需求三个层次举例 1.业务需求(Why): YW1:实现订餐的有效管理 高层次的解决方案SS1:在线下单、后台管理,实现统一有效管 理。 系统特性SF1: 客户需要订餐时在线下单、选座。 餐厅后台查看订单准备菜品。 注意特色菜优先展示给客户。 金陵科技学院金陵科技学院 软件工程学院软件工程学院 2.用户需求(What) UR1:在需要订餐时,选择相关菜品及座位信息,填写顾客相关 信息,提交订餐单,等待餐厅反馈信息,并根据反馈信息查看订 餐及选座是否成功。 补充说明PD1: 订餐单的内容包括:订餐人,联系方式

13、,订餐日期,用餐日期 ,菜品信息,总价,人数,座位信息,特殊说明, 订餐单的反馈内容包括:订餐人,餐厅信息,订餐日期,用餐 日期,菜品信息,总价,人数,座位信息,特殊说明,订餐是否 成功, 功能需求三个层次举例 金陵科技学院金陵科技学院 软件工程学院软件工程学院 3.系统需求(How) SR1: (1)消费者可以在移动设备上随时查看餐馆所有的菜目、价 格、数量等信息。 (2)消费者可以在移动设备上(手机、平板)下单,预订座位 ,可以取消或修改订单。 (3)餐馆业务人员可以实时查看并处理订单。 (4)餐馆业务人员可以更新菜品信息,对系统用户数据进行管 理等。 功能需求三个层次举例 金陵科技学院金

14、陵科技学院 软件工程学院软件工程学院 系统需求How指什么? 指 需求怎样实现? 需求怎样实现是在设计阶段完成,所以是错误的。 How指需求本身的流程。可以简单理解为系统功能(what)的实 现流程。 X X X X 非功能需求 1.性能需求 用户在软件响应速度、精度、系统吞吐量,运行时资源消耗等属性要求。 例如,Android点餐系统中涉及的精度要求:餐馆要求每笔订单交易误差不得超过1 角,每天交易额的误差不得超过100元。 时间特性的要求: (1)前台客户端 要求登录时间不得超过0.5秒,选择菜品、座位后下单的响应时间不得超过1秒 ,其他的一些操作响应时间一般不得超过0.5秒。 (2)后台

15、服务器 要求管理员操作保持流畅,用户下单后后台需要在5秒内看见用户的订单。 金陵科技学院金陵科技学院 软件工程学院软件工程学院 三种功能性需求中,猜猜哪个需求最重要 ? 是业务需求。如果业务需求错了,那么,需求也就完美地错误 了。 业务需求是需求的驱动力,是需求的价值所在。需求的最终目 的就是解决客户的问题。 非功能需求 2.质量属性 系统完成工作的质量,即系统需要在一个“好的程度”上实现功能需求, 如软件的灵活性、高效性、可靠性、可维护性、健壮性、可用性等。 (1)灵活性:产品在增加新功能时所需工作量的大小 如:要求5年内价位在500元以上的Android手机都可以流畅运行Android点餐系统 (2)可靠性:软件无故障执行一段时间的概率, 如由于软件失效引起实验失败的概率应不超过5%。 (3)健壮性:指的当系统或软件遇到非法输入、相关软件或硬件组成部分的缺陷 或异常的操作情况下,能继续正确运行功能的程度。 (4)易用性与可用性:用户理解软件时所花费最小化程度,软件在出现系统故障 后保持运行的能力。 如: Android点餐系统客户端要求符合大众操作习惯,与网上其他的Android系统 App操作方式保持基本一致。 系统维护期间应保证系统能正常工作。 金陵科技学院金陵科技学院 软件工程学院软件工程学院 非功能需求 3.对外接口 系统和环境中其他系统之间需要建立的接口,包

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号