03第三章软件需求分析

上传人:平*** 文档编号:24759612 上传时间:2017-12-07 格式:PPT 页数:187 大小:1.95MB
返回 下载 相关 举报
03第三章软件需求分析_第1页
第1页 / 共187页
03第三章软件需求分析_第2页
第2页 / 共187页
03第三章软件需求分析_第3页
第3页 / 共187页
03第三章软件需求分析_第4页
第4页 / 共187页
03第三章软件需求分析_第5页
第5页 / 共187页
点击查看更多>>
资源描述

《03第三章软件需求分析》由会员分享,可在线阅读,更多相关《03第三章软件需求分析(187页珍藏版)》请在金锄头文库上搜索。

1、2017/12/7,1,3.1 软件需求分析的重要性3.2 软件需求分析的困难性3.3 软件需求分析的任务3.4 软件需求分析的过程3.5 软件需求分析的原则3.5 结构化分析方法3.6 原型化方法3.7 补充:有关数据库的基本概念,第三章 软件需求分析,2017/12/7,2,需求分析,需求分析是软件定义时期的最后一个阶段回答“系统必须做什么?”的问题,系统分析员的主要焦点是 “做什么(what)” ,不是 “怎样做(how)”,2017/12/7,3,3.1 需求分析的重要性,真的很重要吗?例:Our real-time example is based on the embedded s

2、oftware in the Ariane-5, a space rocket belonging to the European Space Agency (ESA). On June 4, 1996, on its maiden flight, the Ariane-5 was launched and performed perfectly for approximately 40 seconds. Then, it began to veer off course. At the direction of an Ariane ground controller, the rocket

3、was destroyed by remote control. The destruction of the uninsured rocket was a loss not only of the rocket itself, but also of the four satellites it contained; the total cost of the disaster was $500 million (Newsbytes home page 1996; Lions et al. 1996).,2017/12/7,4,The reason: there was no discuss

4、ion in the requirements documents of the ways in which the Ariane-5 trajectory would be different from Ariane-4.,统计资料: In 1994, the Standish Group surveyed over 350 companies about their over 8000 software projects to find out how well they were faring. The results are sobering. Thirty-one percent o

5、f the software projects were canceled before they were completed. Moreover, in large companies, only 9% of the projects were delivered on time and cost what they were budgeted, and 16% met those criteria in small companies (Standish 1994).,2017/12/7,5,在美国高科技历史上曾有过令人痛心的事件: 大家知道,DEC曾经是美国三大计算机公司之一,几年前被

6、康柏收购,从地球上消失,成为美国计算机界一大憾事。DEC曾以众多的高新技术著称于世。其中,它在最后的几年里研发出的 Alpha 计算机芯片更以卓越的技术在性能上超过了 Intel, sun 和其他厂家的芯片。微软也曾大力协助 DEC ,将 Windows Nt 移植到 Alpha 系统,然而,Alpha 在市场上彻底地失败了,成为 DEC 最终失败的原因之一。 为什么? 究其根本,还是因为 DEC 对其市场和用户不了解,盲目追求技术而铸成大错。Alpha 系统复杂,造价过高,绝大多数用户不能接受 ;而且它又不能与已有的系统兼容,使得在其上的软件开发相当困难,软件开发商也很难接受,所以 Alph

7、a 把它的两级用户都得罪了,要想成功,谈何容易!,2017/12/7,6,2017/12/7,7,需求分析的重要性,5点事实软件生命周期中,一个错误发现得越晚,修复错误的费用越高,2017/12/7,8,许多错误是潜伏的,并且在错误产生后很长一段时间才被检查出来在需求过程中会产生很多错误DeMarco在一份研究报告中指出,被检查出来的错误的56产生的根源可以追溯到需求阶段。AIRMICS所进行的一项调查发现,在一份美国军方大型管理信息系统的需求现格说明书(SRS)中存在着500多个错误,当然这仅仅是一个软件项目中的一次调查。在需求阶段,代表性的错误为疏忽、不一致和二义性美国海军研究实验室从20

8、世纪70年代起就对软件开发技术不断地进行研究。他们对海军A7E它机上的”宅行操作程序进行实地测试,以验证许多新设想的可行性。得出的研究数据表明:A7E项目中77的需求错误特点是不明确:疏忽、不一致和二义性。按错误类型对这些错误分布进行分析的结果是:49不正确的事实,31疏忽,l 3不一致,5二义性,2017/12/7,9,需求错误是可以被检查出来的,2017/12/7,10,需求分析的重要性,在需求过程中会产生很多错误(事实3和4)。许多错误并没有在早期被发现(事实2)。这样的错误是能够在产生的初期被检查出来的(事实5)。如果没有及时检查出来这些错误,软件费用会直线上升(事实1),2017/1

9、2/7,11,3.3 需求管理的困难性,2017/12/7,12,需求工程涉及人员,2017/12/7,13,需求工程,需求是什么?需求就是以一种清晰、简洁、一致且无二义性的方式,对一个待开发系统中各个有意义方面的陈述的一个集合。需求工程一般指应用已证实有效的原理、方法,通过合适的工具和记号,系统地描述出待开发系统及其行为特征和相关约束;通常是一些过程的集合:需求获取(需求引出)、需求分析和编写软件规格说明书(SRS)及验证(包括鉴定和证实)。,2017/12/7,14,3.3 软件需求分析的任务,需求工作:深入描述软件的功能和性能、确定软件设计的约束和软件同其它系统元素的接口细节、定义软件的

10、其它有效性需求初步目标:逐步细化对软件的要求,描述软件要处理的数据域,并给软件开发提供一种可转化为数据设计、结构设计和过程设计的数据和功能表示。,2017/12/7,15,需求分析研究的对象是软件项目的用户要求不要-“ 削足适履 ” ( “足” 为用户需求,“履” 为技术)准确地表达被接受的用户要求确定被开发软件系统的系统元素(物理模型)将功能和信息结构分配到这些系统元素中,2017/12/7,16,需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统的 “做什么” 的问题。,当前系统,目标系统,物理模型,逻辑模型,逻辑模型,物理模型,模型化,抽象化,具体化,实例化,

11、怎么做,做什么,当前系统,目标系统,需求定义,2017/12/7,18,通常软件开发项目是要实现目标系统的物理模型目标系统的具体物理模型是由它的逻辑模型经实例化,即具体到某个业务领域而得到的,2017/12/7,19,基本任务:准确地回答“系统必须做什么?”,1.确定对系统的综合需求(1)系统功能要求(2)系统性能要求(3)运行要求(4)将来可能提出的要求2.导出系统的逻辑模型数据流程图、数据字典、主要算法,2017/12/7,20,一、确定目标系统的具体要求,1、确定系统的运行环境要求,2、系统的性能要求,3、系统功能,硬件环境和软件环境,确定目标系统具备的所有功能,2017/12/7,21

12、,数据库中存放的是职工的,某学校医疗费管理系统,所属部门、职工号、姓名,职工报销时应填写:,所属部门、职工号、姓名、日期,校内门诊、校外门诊、住院费、子女医疗费,医疗费分类:,该校规定,每年每个职工的医疗费有一个限额(如 80元),限 额在年初确定,其限额规则如下:,1、每个职工一年内报销的医疗费不超过限额时,全部报销 2、超额,则超出部分只可报销90%,其余10%由职工个人负担 3、职工子女的医疗费也有限额(如 40元),2017/12/7,22,1、医疗费管理系统每天记录当天报销的若干职工或职工子女的医 疗费的类别、金额。 2、在当天下班前让系统自动结帐、统计当天报销的医疗费总额,供 出纳

13、员核对。 3、每笔帐要保存备查,每天所报销的费用要和各个职工已报销的金 额累计起来,以便检查哪些职工已超额。 4、系统还要配有适当的查询功能。 5、年终结算后,下一年度开始时要对数据库文件进行初始化。 6、当职工调离本单位,职工调如本单位或在本单位内部门间调动, 数据库文件应能及时得到修改。,请完成对上述系统的 需求分析,用户对系统的要求,2017/12/7,23,该系统规模不太大,可以和用户单位的其他管理系统使用相同的计算机硬件设备、相同的操作系统和相同的关 系数据库管理系统。 如果,可以使用汉化了的数据库管理系统,但在建立数据库结构时,凡是用英文名称来代表字段名时,则必须在数据字典中予以说

14、明。,1、确定系统的环境要求,2017/12/7,24,2、系统性能要求,(1)数据不能随意更改 2)保证数据的准确性 由于医疗费管理系统涉及到会计经费问题,数据不能随意更改但数据输入又难免会出错。因而在每输入一个职工的医疗费后,屏幕提示“数据有误吗?”。若是在核对时 有误,可及时更改,避免输入错误。一天报销结束时,在 数据存档前,再让出纳员核对一下经费总额,若出纳员支 出的金额总数有误时,应让计算机显示每笔帐目,供一一 仔细核对,此时在允许修改一次。当正式登帐后,数据就 绝对不允许在修改了,由此保证财务制度的严格性,保证 数据的安全性。,2017/12/7,25,3、系统的功能,(1)具有表

15、格形式屏幕的输入格式 (2)具有重复录入数据的功能 (3)具有查询和统计汇总的功能 (4)职工的调入和调出以及对数据库的初始化,2017/12/7,26,二、建立目标系统的逻辑模型,通常软件软件开发项目是要实现目标系统的物理模型,即 确定待开发软件系统的系统元素,并将功能和数据结构分配到 这些系统元素中。它是软件实现的基础。 但是目标系统的物理模型是由它的逻辑模型经实例化,即 具体到某个业务领域而得到的。与物理模型不同,逻辑模型忽 视机制和细节,只描述系统要完成的功能和要处理的数据。 为此,该阶段的主要任务是,借助于当前系统的逻辑模型 导出目标系统的逻辑模型,也就是解决目标系统“做什么”的问 题。,2017/12/7,27,例 子,例如,学生购买学校教材的手续可能是:先找系办公室的张秘书开一证明,凭证明找教材科的王会计开购书发票,向李出纳员交付书款,然后到书库找赵保管员领书。,2017/12/7,28,通过对现实环境的调查研究,获得当前系统的具体模型。,在上图中,张、王、李、赵等具体的人是可以变动的,但需要他们处理的工作,例如审查购书有效性,开发票,开领书单等则是不变的,后者才是本质的内容。经过这样的分析,就可抽象出学生购买教材这一系统的逻辑模型。,2017/12/7,29,去掉具体模型中的非本质因素,抽象出当前系统的逻辑模型,

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

当前位置:首页 > 高等教育 > 大学课件

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