ch03软件需求分析.ppt

上传人:wj 文档编号:5882186 上传时间:2023-05-09 格式:PPT 页数:65 大小:941KB
下载 相关 举报
ch03软件需求分析.ppt_第1页
第1页 / 共65页
ch03软件需求分析.ppt_第2页
第2页 / 共65页
ch03软件需求分析.ppt_第3页
第3页 / 共65页
ch03软件需求分析.ppt_第4页
第4页 / 共65页
ch03软件需求分析.ppt_第5页
第5页 / 共65页
ch03软件需求分析.ppt_第6页
第6页 / 共65页
ch03软件需求分析.ppt_第7页
第7页 / 共65页
ch03软件需求分析.ppt_第8页
第8页 / 共65页
ch03软件需求分析.ppt_第9页
第9页 / 共65页
ch03软件需求分析.ppt_第10页
第10页 / 共65页
ch03软件需求分析.ppt_第11页
第11页 / 共65页
ch03软件需求分析.ppt_第12页
第12页 / 共65页
ch03软件需求分析.ppt_第13页
第13页 / 共65页
ch03软件需求分析.ppt_第14页
第14页 / 共65页
ch03软件需求分析.ppt_第15页
第15页 / 共65页
ch03软件需求分析.ppt_第16页
第16页 / 共65页
ch03软件需求分析.ppt_第17页
第17页 / 共65页
ch03软件需求分析.ppt_第18页
第18页 / 共65页
ch03软件需求分析.ppt_第19页
第19页 / 共65页
ch03软件需求分析.ppt_第20页
第20页 / 共65页
亲,该文档总共65页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

ch03软件需求分析.ppt

《ch03软件需求分析.ppt》由会员分享,可在线阅读,更多相关《ch03软件需求分析.ppt(65页珍藏版)》请在冰点文库上搜索。

ch03软件需求分析.ppt

第三章软件需求分析,本章内容属于重点内容,本章主要内容,3.1需求分析的任务3.2需求分析的过程3.3软件需求分析的原则3.4分析员和用户的责任3.5原型化方法3.6结构化分析方法3.7系统动态分析,引言(了解),开发软件系统的过程中,最困难的部分是:

确切的决定搭建什么样的系统。

软件项目具有一些人狼的特性:

看似简单明了的东西,却有可能变成一个落后进度,超出预算,存在大量缺陷的怪物。

客户不知道他们自己需要什么,他们通常不知道哪些问题是必须回答的,甚至只是简单的回答:

“开发一个类似我们现在手工处理工作的软件”。

以上摘自NoSilverBullet,需求分析的目标把用户“做什么”的要求最终转换成一个完全的、精细的软件逻辑模型,并写出软件的需求规格说明,准确的表达用户的要求。

3.1需求分析的任务,深入描述软件的功能和性能确定软件设计的限制和软件同其他系统元素的接口细节定义软件的其他有效性需求全面理解用户要求(但未必全盘接受)准确的表达用户要求,需求分析常见困难隔行如隔山分析员态度有问题,易被动、偷懒用户不配合用户说不清需求理解有分歧,需求存在误解需求经常变更用户意见不统一,3.2需求分析的过程,1.问题识别研究计划阶段的文档,从系统的角度来理解软件并评审软件范围是否恰当确定对目标系统的综合要求,即软件的需求提出这些需求实现条件,以及需求应达到的标准,3.2需求分析的过程,软件的需求包括功能需求性能需求环境需求可靠性需求安全保密要求用户界面需求资源使用需求成本消耗需求开发进度需求预先估计以后系统可能达到的目标,2.分析和综合从数据流和数据结构出发,逐步细化所有的软件功能,找出系统各元素之间的联系、接口特性和设计上的约束,分析它们是否满足功能要求,是否合理。

剔除其不合理的部分,增加其需要部分。

最终综合成系统的解决方案,给出目标系统的详细逻辑模型。

3.编制需求分析文档软件需求说明书数据要求说明书初步的用户手册修改、完善与确定软件开发实施计划,4.需求分析评审针对需求说明书的要求:

正确清楚无二义性一致必要完备可实现可验证,3.3软件需求分析的原则,能够表达和理解问题的数据域和功能域。

以“自顶向下、逐层分解”的方式对问题进行分解和不断细化要给出系统的逻辑视图和物理视图,问题的分解:

3.4分析员和用户的责任,分析员应具备的素质专业、经验善于进行抽象的思维善于分析资料善于调查研究,善于学习领域知识良好的倾听者良好的书面、口头表达能力和交流能力,分析员调研方法会谈(注意礼节、事先调查用户身份,集思广益)调查表收集资料参考同类软件情景分析可视化方法,3.5原型化方法,针对需求分析难以完整、准确,或者可实现性难以验证的问题,首先构造一个软件原始模型给用户体验,反馈意见,通过不断更新或者多次重复开发,得到最终软件。

1.概述原型主要有三种不同的作用类型:

探索型(目标是确定需求)实验型(目标是考察方案是否可行)进化型(作为系统演化的基础)使用原型时可采取以下两种不同的策略:

废弃策略(用完丢弃。

例如探索型、实验型)追加策略(围绕原型修改、增加。

例如进化型),原型化方法的特点:

每一遍原型都忽略技术细节和次要功能,力求快速实现、运行优点:

易于探索明确的需求,易验证开发方案的可行性用户可以快速体验缺点:

缺少好的开发工具缺少好的开发方法,2.原型模型将原型化方法作为开发模型,3.原型方法将原型化方法作为一种开发方法辅助分析,细化图见:

P50图3.9(b),3.6结构化分析方法(SA),结构化分析(Structuredanalysis,简称SA)是面向数据流进行需求分析的方法。

结构化分析方法适合于数据处理类型软件的需求分析。

具体来说,结构化分析方法就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。

SA使用的工具1、数据流图(dataflowdiagram,简称DFD)2、数据字典(datadictionary,简称DD)3、结构化英语/语言4、判定表5、判定树,1.数据流图(dataflowdiagram,简称DFD)

(1)用途:

用于描述数据的处理过程。

(2)图元的表示:

数据流与数据加工之间的关系,例1:

用户从ATM上取款,试以DFD分析“ATM取款系统”的数据处理过程。

(3)分层数据流图:

为了表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。

按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统。

分层的数据流图,在多层数据流图中,顶层流图仅包含一个加工,它代表被开发系统。

它的输入流是该系统的输入数据,输出流是系统所输出数据底层流图是指其加工不需再做分解的数据流图,它处在最底层中间层流图则表示对其上层父图的细化。

它的每一加工可能继续细化,形成子图。

续例1:

对例1进行细化,得到L1取款处理分解为:

“1检验”、“2取款”、“3付款”三个环节。

续例1:

再细化,得到L2“1检验”分解为:

1.1核对密码;1.2检查余额;1.3错误处理“2取款”分解为:

2.1点钞;2.2修改余额“3付款”分解为:

3.1付款,(4)分层数据流图画法步骤:

1)先找系统的数据源点和汇点。

2)找出外部实体的输入数据流和输出数据流。

3)在图的边上画出系统的外部实体。

4)从源点的输出数据流出发,按照系统的逻辑需要,逐步画出加工,直到汇点。

5)检查、修改。

6)重复上述步骤,从各加工出发画出子图。

(5)进行检查和修改的原则:

1)所有图形符号只限于前述四种基本图形元素。

2)主图必须包括前述四种基本元素,缺一不可。

3)主图上的数据流必须封闭在外部实体之间。

4)每个加工至少有一个输入数据流和一个输出数据流。

5)在数据流图中,需按层给加工框编号。

编号表明该加工所处层次及上下层的亲子关系。

6)任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。

此即父图与子图的平衡。

7)图上每个元素都必须有名字。

8)数据流图中不可夹带控制流。

9)初画时可以忽略琐碎的细节,以集中精力于主要数据流。

2.数据字典(DataDictionary,简称DD)

(1)用途:

用于解释DFD中各个元素。

(2)定义:

1)数据流词条描述数据流名:

说明:

简要介绍作用即它产生的原因和结果数据流来源:

来自何方数据流去向:

去向何处数据流组成:

数据结构数据量流通量:

数据量,流通量,2)数据元素词条描述图中的每一个数据结构都是由数据元素构成的,数据元素是数据处理中最小的,不可再分的单位。

例如:

“用户信息=用户名+地址+金额”含三个数据元素数据元素名:

类型:

数字(离散值,连续值),文字(编码类型)长度:

取值范围:

相关的数据元素及数据结构:

3)数据文件词条描述数据文件名:

简述:

存放的是什么数据输入数据:

输出数据:

数据文件组成:

数据结构存储方式:

顺序,直接,关键码存取频率:

4)加工逻辑词条描述加工名:

加工编号:

反映该加工的层次简要描述:

加工逻辑及功能简述输入数据流:

输出数据流:

加工逻辑:

简述加工程序,加工顺序,5)源点及汇(终)点词条描述名称:

外部实体名简要描述:

什么外部实体有关数据流:

数目:

举例:

1)数据流词条描述数据流名:

密码不符说明:

当密码不正确时,传送错误描述数据流来源:

加工“1.1核对密码”数据流去向:

加工“1.3错误处理”数据流组成:

帐号+日期+描述数据量流通量:

1,2)数据元素词条描述数据元素名:

帐号类型:

文字长度:

8取值范围:

从“00000001”至“99999999”相关的数据元素及数据结构:

80.98,3)数据文件词条描述数据文件名:

账户数据库简述:

存放用户帐户的相关信息输入数据:

账户修改信息输出数据:

用户信息数据文件组成:

帐号+开户行+户名+开户期+1存取行50存储方式:

以帐号+行序号为索引存取频率:

平均1000人次/天,峰值3000人次/天,4)加工逻辑词条描述加工名:

核对密码加工编号:

1.1简要描述:

根据用户输入的信息,验证是否正确输入数据流:

账户信息、取款数输出数据流:

取款数1.1密码不符加工逻辑:

if验证通过then执行1.2检查余额else执行1.3错误处理endif,5)源点及汇(终)点词条描述名称:

用户简要描述:

取款信息录入者、收款者有关数据流:

账户信息、取款数、错误描述、现金数目:

平均1000人/天,(3)数据结构的描述:

采用方法:

定义式、(Warnier图略)符号含义举例被定义为与x=ab.,.或.|.或x=a,bx=a|b.或m.n重复x=ax=3a8(.)可选x=(a)“.”基本数据元素x=“a”.连结符x=1.9,思考:

X=10.9X=0.9表示的含义?

参考答案:

X由1个以上数字组成X由若干数字组成,例2:

采用定义式描述以下数据文件及各元素:

存折=户名+开户行+帐号+开户期+1存取行50,其中户名由224个字符组成;开户行由150个字符组成;帐号由8位数字组成;开户期由年月日组成;存取行由日期、支出、存入、余额组成。

答:

户名=2字符24开户行=1字符50帐号=“00000000”.“99999999”或:

帐号=80.98开户期=年+月+日年=“2000”.“9999”月=“01”.“12”日=“01”.“31”,存取行=日期+支出+存入+余额日期=年+月+日支出=金额存入=金额余额=金额金额=“0.01”.“9999999999999.99”或金额=10.913+“.”+20.92,3.加工逻辑说明

(1)用途:

用于描述加工的处理逻辑。

(2)方法:

1)结构化英语:

P613.7.3

(1)2)判定表:

P63

(2)3)判定树:

P63(3),1)结构化英语结构化英语的词汇表由英语命令动词数据词典中定义的名字有限的自定义词逻辑关系词IF_THEN_ELSE、CASE_OF、WHILE_DO、REPEAT_UNTIL等组成。

是一种介于自然语言和形式化语言之间的语言语言的正文用基本控制结构进行分割,加工中的操作用自然语言短语来表示其基本控制结构有三种:

简单陈述句结构:

避免复合语句;重复结构:

while_do或repeat_until结构。

判定结构:

if_then_else或case_of结构;,例如:

商店业务处理系统中“检查发货单”if发货单金额超过$500thenif欠款超过了60天then在偿还欠款前不予批准else(欠款未超期)发批准书,发货单endifelse(发货单金额未超过$500)if欠款超过60天then发批准书,发货单及赊欠报告else(欠款未超期)发批准书,发货单endifendif,2)判定表如果数据流图的加工需要依赖于多个逻辑条件的取值,使用判定表来描述比较合适。

以“检查发货单”为例:

3)判定树判定树也是用来表达加工逻辑的一种工具。

有时侯它比判定表更直观。

3.7系统动态分析,系统的需求规格说明通常是用自然语言来叙述的,但是用自然语言描述往往会出现歧义性。

为了直观地分析系统的动作,从特定的视点出发描述系统的行为,需要采用动态分析的方法。

3.7系统动态分析,常用的动态分析方法:

状态迁移图:

描述系统的状态如何响应外部的信号进行推移时序图:

对比在系统中处理事件的时序和相应的处理时间Petri网:

描述、分析相互独立、协同操作的处理系统,也就是并发执行的处理系统,第三章习题,简述需求分析的任务。

简述需求分析的过程。

需求分析员通常采用的调研方法有哪些?

原型化方法的三种作用类型是什么?

两种使用策略是什么?

结构化分析方法常用的分析工具有哪些?

各工具的用途是什么?

现有一“捐款管理系统”,请以数据流图分析其数据处理过程。

系统功能描述如下:

捐助者将捐助信息录入系统,系统首先进行有效性验证,验证失败时返回捐助错误描述;成功则先将捐款金额汇到捐款账户,然后将有效捐助信息登记到捐助记录表。

受助者将身份信息及申请金额提交到系统,系统首先进行身份合法性验证,然后检查余额,发生身份验证失败或者余额不足错误则转入错误处理;否则先支付捐助金额,然后将本次受助记录登记到受助记录表。

问:

给出顶层DFD如下,请尽量细化,可适当修改;,针对第1问中的顶层数据流图,请以数据字典描述数据流“捐助信息”;假设身份信息由组织编号和代理人组成,组织编号格式为:

省市名(13个汉字)+序号(3位数字);代理人可以是26个汉字,也可以是312位字符,请用定义式描述身份信息、组织编号、代理人的数据结构。

现有一“教材管理系统”的数据流图如下,试描述其运行流程。

本章结束,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2