软件工程(第2章 软件项目的需求分析)课件_第1页
软件工程(第2章 软件项目的需求分析)课件_第2页
软件工程(第2章 软件项目的需求分析)课件_第3页
软件工程(第2章 软件项目的需求分析)课件_第4页
软件工程(第2章 软件项目的需求分析)课件_第5页
已阅读5页,还剩181页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程

第2章

软件项目的需求分析

软件工程

第2章软件项目的需求分析1第2章软件项目的需求分析

本章要点1、了解软件需求分析的原则和任务2、了解软件需求的获得方法3、掌握结构化分析方法及其描述工具4、了解需求规格说明和需求评审的主要内容第2章软件项目的需求分析本章要点2需求与需求分析

一、需求分析的特点需求分析是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。

需求与需求分析

一、需求分析的特点3需求与需求分析

需求分析难点主要体现在以下几个方面:

1、问题的复杂性2、交流障碍3、不完备性和不一致性4、需求易变性需求与需求分析

需求分析难点主要体现在以下几个方面:4需求与需求分析

二、需求分析的任务需求分析的基本任务是要准确地定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。需求与需求分析

二、需求分析的任务5需求与需求分析

用户需求分为两大类:功能性需求和非功能性需求。前者定义了系统做什么,包括系统的所有输入、输出以及如何从输入映射到输出;后者定义了系统工作时的特性,例如系统对效率、可靠性、安全性、可维护性、可移植性、吞吐量以及符合某种标准等的要求。需求与需求分析

用户需求分为两大类:功能性需求和非功能性需求6需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统是“做什么”的问题。需求分析的任务就是借助于当前系统的逻辑模型导出7需求与需求分析

三、需求分析的步骤1、问题识别双方确定对问题的综合需求。这些需求包括:(1)功能需求:指所开发的软件必须具备什么样的功能,这是最重要的。(2)性能需求:指待开发的软件的技术性能指标,如存储容量、运行时间等限制。需求与需求分析

三、需求分析的步骤8需求与需求分析

(3)环境需求:指软件运行时所需要的软、硬件(如机型、外设、操作系统和数据库管理系统等)的要求。(4)用户界面需求:即人机交互方式、输入输出数据格式等。需求与需求分析

(3)环境需求:指软件运行时所需要的软、硬件9需求与需求分析

2、分析与综合,导出软件的逻辑模型分析人员对获取的需求,进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分各个子功能。这里也包括对数据域进行分解,并分配到各个子功能上,以确定系统的构成及主要成分,并用图文结合的形式,建立起新系统的逻辑模型。需求与需求分析

2、分析与综合,导出软件的逻辑模型10需求与需求分析

3、编写文档(1)编写“需求说明书”,把双方共同的理解与分析结果用规范的方式描述出来,作为今后各项工作的基础。需求与需求分析

3、编写文档11需求与需求分析

(2)编写初步用户使用手册,着重反映被开发软件的用户功能界面和用户使用的具体要求。(3)编写确认测试计划,作为今后确认和验收的依据。(4)修改完善项目开发计划。需求与需求分析

(2)编写初步用户使用手册,着重反映被开发软12需求与需求分析

4、需求分析评审系统定义的目标是否与用户的要求一致系统需求分析阶段提供的文档资料是否齐全文档中所有描述是否完整、清晰、准确反映用户要求与所有其他系统成分的重要接口是否都已经描述需求与需求分析

4、需求分析评审13需求与需求分析

四、需求分析的原则1、划分(可以把一个复杂问题按功能进行分解并可逐层细化)需求与需求分析

四、需求分析的原则14需求与需求分析

2、抽象(捕获问题空间的“一般/特殊”或“特例”关系)3、投影(捕获问题空间的多维“视图”)

需求与需求分析

2、抽象(捕获问题空间的“一般/特殊”或“特15结构化分析

一、结构化方法概述1、结构化方法结构化方法是软件工程产生后首先提出来的软件开发方法,它也是一种实用的开发方法,由结构化分析、结构化设计和结构化程序设计构成。结构化分析

一、结构化方法概述16结构化分析

2、基本思想:该方法基于模块化的思想,采用“自顶向下,逐步求精”的技术对系统进行划分。分解和抽象是它的两个基本手段。结构化分析

2、基本思想:17结构化分析

3、特点它是使用最早的开发方法,使用时间也最长是面向数据流进行需求分析的方法非常适合于数据处理类型的软件的需求分析相应的支持工具多,发展较为成熟结构化分析

3、特点18结构化分析

4、优点:(1)简单、实用(2)适合于瀑布模型,易为开发者掌握(3)成功率较高(4)特别适合于数据处理中的应用,对其他领域的领域也基本适应结构化分析

4、优点:19结构化分析

5、存在问题(1)对于规模较大的项目,特别复杂的应用不太适应(2)难于解决软件重用的问题(3)难于适应需求的变化(4)难于彻底解决维护问题结构化分析

5、存在问题20结构化分析

二、数据流图Data-flowdiagram,DFD数据流图是SA方法中用于表示系统逻辑模型的一种工具,它以图形的形式描绘数据在系统中流动和处理的过程。

结构化分析方法把任何软件系统都视作一个数据变换装置,它接受各种形式的输入,通过变换产生各种形式的输出。结构化分析

二、数据流图Data-flowdiagram,21结构化分析

DFD就是一种描述数据变换的图形工具,是结构化分析方法最普遍采用的表示手段,但数据流图并不是结构化分析模型的全部,数据字典和小说明为数据流图提供了补充,并用以验证图形表示的正确性、一致性和完整性,三者共同构成了结构化分析的模型。结构化分析

DFD就是一种描述数据变换的图形工具,是结构化分22结构化分析

1、基本图形符号(数据流图的四个基本成分)方框,表示数据的源点或终点圆或椭圆,表示加工结构化分析

1、基本图形符号(数据流图的四个基本成分)方框,23结构化分析

1、基本图形符号(数据流图的四个基本成分)双杠,表示数据存储箭头,表示数据流结构化分析

1、基本图形符号(数据流图的四个基本成分)双杠,24结构化分析

加工:是对数据进行处理的单元,它接受一定的输入数据,对其进行处理,并产生输出。数据存储:信息的静态存储。结构化分析

加工:是对数据进行处理的单元,它接受一定的输入数25结构化分析

数据源或终点:表示系统和环境的接口,是系统之外的实体,可以是人、物或其他软件系统。其中,数据源是数据数据流的起点,终点是数据流的最终目的地。数据流:表示数据和数据流向。结构化分析

数据源或终点:表示系统和环境的接口,是系统之外的26结构化分析

2、实例:飞机票预订系统问题描述:旅行社凭订票单进行机票的预订,售票员查询航班目录文件,检查是否有满足预订条件的机票,如果有,那么将费用记入记帐文件,并准备机票,最后将帐单和机票交给旅客。

结构化分析

2、实例:飞机票预订系统27旅行社旅客预订机票准备机票记帐订票单航班目录记帐文件航班机票费用帐单飞机票预订系统的数据流图旅行社旅客预订准备记帐订票单航班目录记帐文件航班机票费用帐单28结构化分析

加工的命名规则:每个加工都要有名字,加工的名字最好使用动宾词组在分层的数据流图中,加工还应编号,顶层的加工名就是软件项目的名字结构化分析

加工的命名规则:29结构化分析

数据流:数据流表示数据和数据流向,通常由一组数据项组成。数据流可以从加工流向加工,也可以从数据源流向加工,从加工流向终点,还可以从加工流向数据存储文件,或从数据存储文件流向加工,一般流入或流出数据存储文件的数据流不需要标出名字,有数据存储的名字就可以了。结构化分析

数据流:30结构化分析

两个加工之间可以有多个数据流,这些数据流之间没有任何联系,数据流图也不表明它们的先后次序。数据流命名方法:数据流的名字用名词,或名词词组;命名时应尽量使用现实系统中已有的名字;把现实环境中传递的一组数据(这组数据组成一个数据流)中最重要的那个数据的名字作为数据流的名字结构化分析

两个加工之间可以有多个数据流,这些数据流之间没有31结构化分析

数据存储文件的命名方法:和数据流的命名方法相似。数据存储指暂时保存的数据,它可以是数据库文件或任何形式的数据组织。

结构化分析

数据存储文件的命名方法:32结构化分析

数据源和终点:表示系统和环境的接口,是系统之外的实体,命名时应符合环境的真实情况。

结构化分析

数据源和终点:33结构化分析

3、数据流图的层次结构比较大的软件系统的数据流图有上百张,多至上千张。把整个系统画在一张图中,不仅凌乱,而且层次不清、难以理解,有必要把数据流图分成多层。数据流图之间用编号反映系统的层次结构。结构化分析

3、数据流图的层次结构34软件工程(第2章软件项目的需求分析)35软件工程(第2章软件项目的需求分析)36结构化分析

4、画数据流图(1)画系统的输入输出画系统的输入输出即先画系统的顶层数据流图。

下图为飞机机票预订系统的顶层图:结构化分析

4、画数据流图37旅行社旅客飞机票预订系统订票单机票帐单飞机票预订系统顶层图旅行社旅客飞机票订票单机票帐单飞机票预订系统顶层图38结构化分析

(2)画系统内部画系统内容即画下层数据流图。一般将层号从0开始编号,采用自顶向下,由外向内的原则。结构化分析

(2)画系统内部39结构化分析

5、实例:描述银行取款过程的数据流图取款过程的描述:储户凭借存折到银行取款,银行工作人员对存折的合法性进行检验,检验的过程需要读取银行的帐卡,如果不符合取款条件,那么将检验出的问题告知储户,如果符合取款条件,进行记帐处理,将取款信息写入帐卡和存折,进行付款操作,将现金和存折交给储户。结构化分析

5、实例:描述银行取款过程的数据流图40描述银行取款过程的数据流图描述银行取款过程的数据流图41结构化分析

三、数据字典数据字典以一种准确的和无二义的方式定义所有被加工引用的数据流和数据存储,通常包括三类内容:数据流、数据存储、数据项。结构化分析

三、数据字典42软件工程(第2章软件项目的需求分析)43例如:存折例如:存折44软件工程(第2章软件项目的需求分析)45结构化分析

四、小说明小说明是用来描述加工的,在一个分层的数据流图中,上层的加工通过细化分解为下层的更具体的加工。原则上,只要说明了最底层的基本加工,就可以理解上层的加工,所以可以只描述基本加工。结构化分析

四、小说明46结构化分析

小说明集中描述一个加工“做什么”,即加工逻辑,指用户对这个加工的逻辑要求,这个加工的输入数据和输出数据的逻辑关系。目前小说明一般还是用自然语言、结构化自然语言、判定表和判定树等来描述。

结构化分析

小说明集中描述一个加工“做什么”,即加工逻辑,指47结构化分析

1、结构化自然语言(结构化英语)结构化自然语言是介于形式语言和自然语言之间的一种语言,它虽然没有形式语言那样严格,但具有自然语言简单易懂的特点,同时又避免了自然语言结构松散的缺点。结构化分析

1、结构化自然语言(结构化英语)48结构化分析

结构化自然语言的语法通常分为内外两层,外层语法描述操作的控制结构,如顺序、选择、循环等,这些控制结构将加工中的各个操作连接起来。内层语法一般没有什么限制,就用自然语言描述。结构化分析

结构化自然语言的语法通常分为内外两层,外层语法描49例如:商店业务系统处理中“检查发货单”例如:商店业务系统处理中“检查发货单”50结构化分析

2、判定表判定表常用来描述一些不易用语言表达清楚或需要很大篇幅才能用语言表达清楚的加工。

结构化分析

2、判定表51结构化分析

例如:在飞机票预订系统中,在旅游旺季的5-10月份,如果订票超过20张,优惠票价的15%;20张以下,优惠5%;在旅游淡季的1-4,11-12月份,定票超过20张,优惠票价的30%;20张以下,优惠20%。结构化分析

例如:在飞机票预订系统中,在旅游旺季的5-10月52结构化分析

旅游时间5-10月1-4,11-12月订票量≤20>20≤20>20折扣量5%15%20%30%结构化分析

旅游时间5-10月1-4,11-12月订票量≤253结构化分析

3、判定树判定树用图形形式描述加工逻辑,其特点是结构清晰,易读易懂。结构化分析

3、判定树54例如:例如:55结构化分析

五、实施步骤1、确定系统边界,画出系统环境图2、自顶向下,画出各层数据流图就是对加工进行“逐层分解”,直到底层的加工足够简单,功能清晰易懂,不必再继续分解为止。结构化分析

五、实施步骤56结构化分析

3、定义数据字典定义各层数据流图中包含的所有数据流和数据存储。4、定义小说明定义最底层数据流图中包含的所有加工。结构化分析

3、定义数据字典57结构化分析

5、汇总前面各步的结果(1)模型平衡原则(2)控制复杂性的一些规则结构化分析

5、汇总前面各步的结果58结构化分析

六、需求规格说明书它是需求分析阶段产生的一份最重要的文档,它以一种一致的、无二义的方式准确地表达用户的需求。需求规格说明书主要起以下三方面的作用:1、作为软件开发机构和用户之间一份事实上的技术合同书2、作为软件开发机构下一步进行设计和编码的基础3、作为测试和验收目标系统的依据结构化分析

六、需求规格说明书59实例某企业销售管理系统描述如下:(1)接受顾客的订单,检验订单。若库存有货,则进行供货处理,即修改库存,给仓库开备货单,并将订单留底;若库存不足,则将缺货订单登入缺货记录。(2)根据缺货记录进行缺货处理,将缺货通知单发给采购部门,以便采购。(3)根据采购部门发来的进货通知单处理进货,即修改库存,并从缺货记录中取出缺货单进行供货处理。(4)根据留底的订单进行销售统计,打印统计表给经理。实例某企业销售管理系统描述如下:60(1)接受顾客的订单,检验订单。若库存有货,则进行供货处理,即修改库存,给仓库开备货单,并将订单留底;若库存不足,则将缺货订单登入缺货记录。顾客检验订单供货处理(1)接受顾客的订单,检验订单。若顾客检验订单供货处理61(2)根据缺货记录进行缺货处理,将缺货通知单发给采购部门,以便采购。(3)根据采购部门发来的进货通知单处理进货,即修改库存,并从缺货记录中取出缺货单进行供货处理。缺货处理采购部门处理进货供货处理(2)根据缺货记录进行缺货处理,将缺货处理采购部门处理进货供62(4)根据留底的订单进行销售统计,打印统计表给经理。销售统计经理(4)根据留底的订单进行销售统计,销售统计经理63我们采用结构化方法(SA)画出销售管理系统的分层DFD。请根据上述分析的结果将以下DFD图补充完整。销售管理系统顾客仓库经理采购部门进货通知单(1)(2)(3)(4)顶层图我们采用结构化方法(SA)画出销售管理系统的分层DFD。请根64处理订单1处理供货2处理缺货4(7)3(8)5订单可供货订单(5)(6)缺货通知单进货通知单统计表订单记录缺货订单备货单原缺货现可供货订单0层图处理订单处理供货处理缺货(7)(8)订单可供货订单(5)(665检验订单1.1确定能否供货1.2订单合格订单可供货订单库存记录缺货记录根据供货单修改库存2.1开备货单2.2备货单登记过的订单可供货订单订单记录库存记录1层图检验订单确定能否供货订单合格订单可供货订单库存记录缺货记录根66根据进货单修改库存3.1处理缺货订单3.2进货通知单核对后进货单订单变更信息库存记录缺货记录汇总各项缺货单4.1打印缺货通知单4.2缺货通知单缺货量缺货记录修改缺货记录3.3可供货订单1层图根据进货单处理缺货订单进货通知单核对后进货单订单变更信息库存67按顾客所在地区统计5.2日期顾客区域统计表统计选择5.1顾客名货物订单记录按销售日期统计5.3(9)5.4(10)5.51层图按顾客日期顾客区域统计表统计选择顾客名货物订单记录按销售日期68销售管理系统补充完整的数据流图:销售管理系统补充完整的数据流图:69我们采用结构化方法(SA)画出销售管理系统的分层DFD。请根据上述分析的结果将以下DFD图补充完整。销售管理系统顾客仓库经理采购部门进货通知单订单备货单缺货通知单统计表顶层图我们采用结构化方法(SA)画出销售管理系统的分层DFD。请根70处理订单1处理供货2处理缺货4处理进货3销售统计5订单可供货订单缺货记录库存记录缺货通知单进货通知单统计表订单记录缺货订单备货单原缺货现可供货订单0层图处理订单处理供货处理缺货处理进货销售统计订单可供货订单缺货记71检验订单1.1确定能否供货1.2订单合格订单可供货订单库存记录缺货记录根据供货单修改库存2.1开备货单2.2备货单登记过的订单可供货订单订单记录库存记录1层图检验订单确定能否供货订单合格订单可供货订单库存记录缺货记录根72根据进货单修改库存3.1处理缺货订单3.2进货通知单核对后进货单订单变更信息库存记录缺货记录汇总各项缺货单4.1打印缺货通知单4.2缺货通知单缺货量缺货记录修改缺货记录3.3可供货订单1层图根据进货单处理缺货订单进货通知单核对后进货单订单变更信息库存73按顾客所在地区统计5.2日期顾客区域统计表统计选择5.1顾客名货物订单记录按销售日期统计5.3按销售货物名统计5.4按顾客名统计5.51层图按顾客日期顾客区域统计表统计选择顾客名货物订单记录按销售日期74销售管理系统数据字典是为分析人员查找数据流图中有关名字的详细定义而服务的,因此也像普通字典一样,要把所有条目按一定的次序排列起来,以便查阅。销售管理系统数据字典是为分析人员查找数据流图中有关名字的详细75销售管理系统数据流条目给出了DFD中数据流的定义,通常列出该数据流的各组成数据项。例如:数据流名称:订单别名:无简述:顾客订货时填写的项目来源:顾客去向:加工1“检验订单”数据流量:1000份/周组成:编号+订货日期+顾客编号+地址+电话+银行账号+货物名称+规格+数量销售管理系统数据流条目给出了DFD中数据流的定义,通常列出该76销售管理系统数据存储条目是对数据存储的定义,例如:数据存储名称:库存记录别名:无简述:存放库存所有可供货物的信息组成:货物名称+编号+生产厂家+单价+库存量组织方式:索引文件,以货物编号为关键字查询要求:要求能立即查询销售管理系统数据存储条目是对数据存储的定义,例如:77销售管理系统数据项条目是不可再分解的数据单位,例如:数据项名称:货物编号别名:G-No,G-num,Goods-No简述:本公司的所有货物的编号类型:字符串长度:10取值范围及含义:第1位:进口/国产第2~4位:类别第5~7位:规格第8~10位:品名编号销售管理系统数据项条目是不可再分解的数据单位,例如:78销售管理系统加工条目是用来说明DFD中基本加工的处理逻辑的,由于上层的加工是由下层的基本加工分解而来,只要有了基本加工的说明,就可理解其他加工。销售管理系统加工条目是用来说明DFD中基本加工的处理逻辑的,79销售管理系统例如:加工名:确定能否供货编号:1.2激发条件:接收到合格订单时优先级:普通输入:合格订单输出:可供货订单、缺货订单加工逻辑:根据库存记录IF订单项目的数量<该项目库存量的临界值THEN可供货处理ELSE此订单缺货,登录,待进货后再处理ENDIF销售管理系统例如:80加工逻辑的描述加工逻辑也称为“小说明”,描述加工逻辑一般用结构化语言、判定表及判定树。加工逻辑的描述加工逻辑也称为“小说明”,描述加工逻辑一般用结81加工逻辑的描述例如,某数据流图中有一个“确定保险类别”的加工,指的是申请汽车驾驶保险时,要根据申请者的情况确定不同的保险类别。加工逻辑的描述例如,某数据流图中有一个“确定保险类别”的加工82加工逻辑的描述加工逻辑为:如果申请者的年龄在21岁以下,要额外收费;如果申请者是21岁以上并是26岁以下的女性,适用于A类保险;如果申请者是26岁以下的已婚男性,或者是26岁以上的男性,适用于B类保险;如果申请者是21岁以下的女性或是26岁以下的单身男性,适用于C类保险。除此之外的其他申请者都适用于A类保险。加工逻辑的描述加工逻辑为:如果申请者的年龄在21岁以下,要额83加工逻辑的描述请用判定表和判定树将上述加工逻辑描述出来。加工逻辑的描述请用判定表和判定树将上述加工逻辑描述出来。84“确定保险类别”的判定表构造判定表,可采取以下步骤:(1)提取问题中的条件:条件是年龄、性别及婚姻。(2)标出条件的取值:为绘制判定表方便,用符号代替条件的取值,如下表:“确定保险类别”的判定表构造判定表,可采取以下步骤:85条件取值表条件名取值符号取值数m年龄≤2121<年龄≤26年龄>26年龄CYLm1=3男女性别MFm2=2未婚已婚婚姻SEm3=2条件取值表条件名取值符号取值数m年龄≤21年龄Cm86“确定保险类别”的判定表(3)计算所有条件的组合数N:m1*m2*m3=3*2*2=12(4)提取可能采取的动作或措施:适用于A类保险、B类保险、C类保险和额外收费。(5)制作判定表,如下表所示:“确定保险类别”的判定表(3)计算所有条件的组合数N:m1*87123456789101112年龄性别婚姻A类保险B类保险C类保险额外收费CFSCCCYYYYLLLLFFFFFMMMMMMSSSSSEEEEEE√√√√√√√√√√√√√√√√判定表其中:编号1~12为每一列规则的序号;“√”表示选取的动作。123456789101112年龄性别婚姻A类保险B类保险C88“确定保险类别”的判定表(6)完善判定表:初始的判定表可能不完善,表现在两个方面。第一,缺少判定列中应采取的动作。第二,有冗余的判定列。“确定保险类别”的判定表(6)完善判定表:初始的判定表可能不89123456789101112年龄性别婚姻A类保险B类保险C类保险额外收费CFSCCCYYYYLLLLFFFFFMMMMMMSSSSSEEEEEE√√√√√√√√√√√√√√√√判定表其中:编号1~12为每一列规则的序号;“√”表示选取的动作。123456789101112年龄性别婚姻A类保险B类保险C9012345678年龄性别婚姻A类保险B类保险C类保险额外收费CF-CCYYYLLFFMMMMMS-S--EE√√√√√√√√√√√完善后的判定表其中:编号1~12为每一列规则的序号;“√”表示选取的动作。12345678年龄性别婚姻A类保险B类保险C类保险额外收费91确定保险类别男性女性年龄≤21未婚已婚C类保险且额外收费B类保险且额外收费21<年龄≤26未婚已婚C类保险B类保险年龄>26B类保险年龄≤21C类保险且额外收费年龄>21A类保险判定树确定男性女性年龄≤21未婚已婚C类保险且额外收费B类保险且额92本章小结需求分析的特点、难点、任务、步骤、原则。结构化方法:SA,SD,SP。结构化分析:数据流图DFD、数据字典、小说明。本章小结需求分析的特点、难点、任务、步骤、原则。93软件工程

第2章

软件项目的需求分析

软件工程

第2章软件项目的需求分析94第2章软件项目的需求分析

本章要点1、了解软件需求分析的原则和任务2、了解软件需求的获得方法3、掌握结构化分析方法及其描述工具4、了解需求规格说明和需求评审的主要内容第2章软件项目的需求分析本章要点95需求与需求分析

一、需求分析的特点需求分析是指开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式功能规约(需求规格说明)的过程。

需求与需求分析

一、需求分析的特点96需求与需求分析

需求分析难点主要体现在以下几个方面:

1、问题的复杂性2、交流障碍3、不完备性和不一致性4、需求易变性需求与需求分析

需求分析难点主要体现在以下几个方面:97需求与需求分析

二、需求分析的任务需求分析的基本任务是要准确地定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。需求与需求分析

二、需求分析的任务98需求与需求分析

用户需求分为两大类:功能性需求和非功能性需求。前者定义了系统做什么,包括系统的所有输入、输出以及如何从输入映射到输出;后者定义了系统工作时的特性,例如系统对效率、可靠性、安全性、可维护性、可移植性、吞吐量以及符合某种标准等的要求。需求与需求分析

用户需求分为两大类:功能性需求和非功能性需求99需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统是“做什么”的问题。需求分析的任务就是借助于当前系统的逻辑模型导出100需求与需求分析

三、需求分析的步骤1、问题识别双方确定对问题的综合需求。这些需求包括:(1)功能需求:指所开发的软件必须具备什么样的功能,这是最重要的。(2)性能需求:指待开发的软件的技术性能指标,如存储容量、运行时间等限制。需求与需求分析

三、需求分析的步骤101需求与需求分析

(3)环境需求:指软件运行时所需要的软、硬件(如机型、外设、操作系统和数据库管理系统等)的要求。(4)用户界面需求:即人机交互方式、输入输出数据格式等。需求与需求分析

(3)环境需求:指软件运行时所需要的软、硬件102需求与需求分析

2、分析与综合,导出软件的逻辑模型分析人员对获取的需求,进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分各个子功能。这里也包括对数据域进行分解,并分配到各个子功能上,以确定系统的构成及主要成分,并用图文结合的形式,建立起新系统的逻辑模型。需求与需求分析

2、分析与综合,导出软件的逻辑模型103需求与需求分析

3、编写文档(1)编写“需求说明书”,把双方共同的理解与分析结果用规范的方式描述出来,作为今后各项工作的基础。需求与需求分析

3、编写文档104需求与需求分析

(2)编写初步用户使用手册,着重反映被开发软件的用户功能界面和用户使用的具体要求。(3)编写确认测试计划,作为今后确认和验收的依据。(4)修改完善项目开发计划。需求与需求分析

(2)编写初步用户使用手册,着重反映被开发软105需求与需求分析

4、需求分析评审系统定义的目标是否与用户的要求一致系统需求分析阶段提供的文档资料是否齐全文档中所有描述是否完整、清晰、准确反映用户要求与所有其他系统成分的重要接口是否都已经描述需求与需求分析

4、需求分析评审106需求与需求分析

四、需求分析的原则1、划分(可以把一个复杂问题按功能进行分解并可逐层细化)需求与需求分析

四、需求分析的原则107需求与需求分析

2、抽象(捕获问题空间的“一般/特殊”或“特例”关系)3、投影(捕获问题空间的多维“视图”)

需求与需求分析

2、抽象(捕获问题空间的“一般/特殊”或“特108结构化分析

一、结构化方法概述1、结构化方法结构化方法是软件工程产生后首先提出来的软件开发方法,它也是一种实用的开发方法,由结构化分析、结构化设计和结构化程序设计构成。结构化分析

一、结构化方法概述109结构化分析

2、基本思想:该方法基于模块化的思想,采用“自顶向下,逐步求精”的技术对系统进行划分。分解和抽象是它的两个基本手段。结构化分析

2、基本思想:110结构化分析

3、特点它是使用最早的开发方法,使用时间也最长是面向数据流进行需求分析的方法非常适合于数据处理类型的软件的需求分析相应的支持工具多,发展较为成熟结构化分析

3、特点111结构化分析

4、优点:(1)简单、实用(2)适合于瀑布模型,易为开发者掌握(3)成功率较高(4)特别适合于数据处理中的应用,对其他领域的领域也基本适应结构化分析

4、优点:112结构化分析

5、存在问题(1)对于规模较大的项目,特别复杂的应用不太适应(2)难于解决软件重用的问题(3)难于适应需求的变化(4)难于彻底解决维护问题结构化分析

5、存在问题113结构化分析

二、数据流图Data-flowdiagram,DFD数据流图是SA方法中用于表示系统逻辑模型的一种工具,它以图形的形式描绘数据在系统中流动和处理的过程。

结构化分析方法把任何软件系统都视作一个数据变换装置,它接受各种形式的输入,通过变换产生各种形式的输出。结构化分析

二、数据流图Data-flowdiagram,114结构化分析

DFD就是一种描述数据变换的图形工具,是结构化分析方法最普遍采用的表示手段,但数据流图并不是结构化分析模型的全部,数据字典和小说明为数据流图提供了补充,并用以验证图形表示的正确性、一致性和完整性,三者共同构成了结构化分析的模型。结构化分析

DFD就是一种描述数据变换的图形工具,是结构化分115结构化分析

1、基本图形符号(数据流图的四个基本成分)方框,表示数据的源点或终点圆或椭圆,表示加工结构化分析

1、基本图形符号(数据流图的四个基本成分)方框,116结构化分析

1、基本图形符号(数据流图的四个基本成分)双杠,表示数据存储箭头,表示数据流结构化分析

1、基本图形符号(数据流图的四个基本成分)双杠,117结构化分析

加工:是对数据进行处理的单元,它接受一定的输入数据,对其进行处理,并产生输出。数据存储:信息的静态存储。结构化分析

加工:是对数据进行处理的单元,它接受一定的输入数118结构化分析

数据源或终点:表示系统和环境的接口,是系统之外的实体,可以是人、物或其他软件系统。其中,数据源是数据数据流的起点,终点是数据流的最终目的地。数据流:表示数据和数据流向。结构化分析

数据源或终点:表示系统和环境的接口,是系统之外的119结构化分析

2、实例:飞机票预订系统问题描述:旅行社凭订票单进行机票的预订,售票员查询航班目录文件,检查是否有满足预订条件的机票,如果有,那么将费用记入记帐文件,并准备机票,最后将帐单和机票交给旅客。

结构化分析

2、实例:飞机票预订系统120旅行社旅客预订机票准备机票记帐订票单航班目录记帐文件航班机票费用帐单飞机票预订系统的数据流图旅行社旅客预订准备记帐订票单航班目录记帐文件航班机票费用帐单121结构化分析

加工的命名规则:每个加工都要有名字,加工的名字最好使用动宾词组在分层的数据流图中,加工还应编号,顶层的加工名就是软件项目的名字结构化分析

加工的命名规则:122结构化分析

数据流:数据流表示数据和数据流向,通常由一组数据项组成。数据流可以从加工流向加工,也可以从数据源流向加工,从加工流向终点,还可以从加工流向数据存储文件,或从数据存储文件流向加工,一般流入或流出数据存储文件的数据流不需要标出名字,有数据存储的名字就可以了。结构化分析

数据流:123结构化分析

两个加工之间可以有多个数据流,这些数据流之间没有任何联系,数据流图也不表明它们的先后次序。数据流命名方法:数据流的名字用名词,或名词词组;命名时应尽量使用现实系统中已有的名字;把现实环境中传递的一组数据(这组数据组成一个数据流)中最重要的那个数据的名字作为数据流的名字结构化分析

两个加工之间可以有多个数据流,这些数据流之间没有124结构化分析

数据存储文件的命名方法:和数据流的命名方法相似。数据存储指暂时保存的数据,它可以是数据库文件或任何形式的数据组织。

结构化分析

数据存储文件的命名方法:125结构化分析

数据源和终点:表示系统和环境的接口,是系统之外的实体,命名时应符合环境的真实情况。

结构化分析

数据源和终点:126结构化分析

3、数据流图的层次结构比较大的软件系统的数据流图有上百张,多至上千张。把整个系统画在一张图中,不仅凌乱,而且层次不清、难以理解,有必要把数据流图分成多层。数据流图之间用编号反映系统的层次结构。结构化分析

3、数据流图的层次结构127软件工程(第2章软件项目的需求分析)128软件工程(第2章软件项目的需求分析)129结构化分析

4、画数据流图(1)画系统的输入输出画系统的输入输出即先画系统的顶层数据流图。

下图为飞机机票预订系统的顶层图:结构化分析

4、画数据流图130旅行社旅客飞机票预订系统订票单机票帐单飞机票预订系统顶层图旅行社旅客飞机票订票单机票帐单飞机票预订系统顶层图131结构化分析

(2)画系统内部画系统内容即画下层数据流图。一般将层号从0开始编号,采用自顶向下,由外向内的原则。结构化分析

(2)画系统内部132结构化分析

5、实例:描述银行取款过程的数据流图取款过程的描述:储户凭借存折到银行取款,银行工作人员对存折的合法性进行检验,检验的过程需要读取银行的帐卡,如果不符合取款条件,那么将检验出的问题告知储户,如果符合取款条件,进行记帐处理,将取款信息写入帐卡和存折,进行付款操作,将现金和存折交给储户。结构化分析

5、实例:描述银行取款过程的数据流图133描述银行取款过程的数据流图描述银行取款过程的数据流图134结构化分析

三、数据字典数据字典以一种准确的和无二义的方式定义所有被加工引用的数据流和数据存储,通常包括三类内容:数据流、数据存储、数据项。结构化分析

三、数据字典135软件工程(第2章软件项目的需求分析)136例如:存折例如:存折137软件工程(第2章软件项目的需求分析)138结构化分析

四、小说明小说明是用来描述加工的,在一个分层的数据流图中,上层的加工通过细化分解为下层的更具体的加工。原则上,只要说明了最底层的基本加工,就可以理解上层的加工,所以可以只描述基本加工。结构化分析

四、小说明139结构化分析

小说明集中描述一个加工“做什么”,即加工逻辑,指用户对这个加工的逻辑要求,这个加工的输入数据和输出数据的逻辑关系。目前小说明一般还是用自然语言、结构化自然语言、判定表和判定树等来描述。

结构化分析

小说明集中描述一个加工“做什么”,即加工逻辑,指140结构化分析

1、结构化自然语言(结构化英语)结构化自然语言是介于形式语言和自然语言之间的一种语言,它虽然没有形式语言那样严格,但具有自然语言简单易懂的特点,同时又避免了自然语言结构松散的缺点。结构化分析

1、结构化自然语言(结构化英语)141结构化分析

结构化自然语言的语法通常分为内外两层,外层语法描述操作的控制结构,如顺序、选择、循环等,这些控制结构将加工中的各个操作连接起来。内层语法一般没有什么限制,就用自然语言描述。结构化分析

结构化自然语言的语法通常分为内外两层,外层语法描142例如:商店业务系统处理中“检查发货单”例如:商店业务系统处理中“检查发货单”143结构化分析

2、判定表判定表常用来描述一些不易用语言表达清楚或需要很大篇幅才能用语言表达清楚的加工。

结构化分析

2、判定表144结构化分析

例如:在飞机票预订系统中,在旅游旺季的5-10月份,如果订票超过20张,优惠票价的15%;20张以下,优惠5%;在旅游淡季的1-4,11-12月份,定票超过20张,优惠票价的30%;20张以下,优惠20%。结构化分析

例如:在飞机票预订系统中,在旅游旺季的5-10月145结构化分析

旅游时间5-10月1-4,11-12月订票量≤20>20≤20>20折扣量5%15%20%30%结构化分析

旅游时间5-10月1-4,11-12月订票量≤2146结构化分析

3、判定树判定树用图形形式描述加工逻辑,其特点是结构清晰,易读易懂。结构化分析

3、判定树147例如:例如:148结构化分析

五、实施步骤1、确定系统边界,画出系统环境图2、自顶向下,画出各层数据流图就是对加工进行“逐层分解”,直到底层的加工足够简单,功能清晰易懂,不必再继续分解为止。结构化分析

五、实施步骤149结构化分析

3、定义数据字典定义各层数据流图中包含的所有数据流和数据存储。4、定义小说明定义最底层数据流图中包含的所有加工。结构化分析

3、定义数据字典150结构化分析

5、汇总前面各步的结果(1)模型平衡原则(2)控制复杂性的一些规则结构化分析

5、汇总前面各步的结果151结构化分析

六、需求规格说明书它是需求分析阶段产生的一份最重要的文档,它以一种一致的、无二义的方式准确地表达用户的需求。需求规格说明书主要起以下三方面的作用:1、作为软件开发机构和用户之间一份事实上的技术合同书2、作为软件开发机构下一步进行设计和编码的基础3、作为测试和验收目标系统的依据结构化分析

六、需求规格说明书152实例某企业销售管理系统描述如下:(1)接受顾客的订单,检验订单。若库存有货,则进行供货处理,即修改库存,给仓库开备货单,并将订单留底;若库存不足,则将缺货订单登入缺货记录。(2)根据缺货记录进行缺货处理,将缺货通知单发给采购部门,以便采购。(3)根据采购部门发来的进货通知单处理进货,即修改库存,并从缺货记录中取出缺货单进行供货处理。(4)根据留底的订单进行销售统计,打印统计表给经理。实例某企业销售管理系统描述如下:153(1)接受顾客的订单,检验订单。若库存有货,则进行供货处理,即修改库存,给仓库开备货单,并将订单留底;若库存不足,则将缺货订单登入缺货记录。顾客检验订单供货处理(1)接受顾客的订单,检验订单。若顾客检验订单供货处理154(2)根据缺货记录进行缺货处理,将缺货通知单发给采购部门,以便采购。(3)根据采购部门发来的进货通知单处理进货,即修改库存,并从缺货记录中取出缺货单进行供货处理。缺货处理采购部门处理进货供货处理(2)根据缺货记录进行缺货处理,将缺货处理采购部门处理进货供155(4)根据留底的订单进行销售统计,打印统计表给经理。销售统计经理(4)根据留底的订单进行销售统计,销售统计经理156我们采用结构化方法(SA)画出销售管理系统的分层DFD。请根据上述分析的结果将以下DFD图补充完整。销售管理系统顾客仓库经理采购部门进货通知单(1)(2)(3)(4)顶层图我们采用结构化方法(SA)画出销售管理系统的分层DFD。请根157处理订单1处理供货2处理缺货4(7)3(8)5订单可供货订单(5)(6)缺货通知单进货通知单统计表订单记录缺货订单备货单原缺货现可供货订单0层图处理订单处理供货处理缺货(7)(8)订单可供货订单(5)(6158检验订单1.1确定能否供货1.2订单合格订单可供货订单库存记录缺货记录根据供货单修改库存2.1开备货单2.2备货单登记过的订单可供货订单订单记录库存记录1层图检验订单确定能否供货订单合格订单可供货订单库存记录缺货记录根159根据进货单修改库存3.1处理缺货订单3.2进货通知单核对后进货单订单变更信息库存记录缺货记录汇总各项缺货单4.1打印缺货通知单4.2缺货通知单缺货量缺货记录修改缺货记录3.3可供货订单1层图根据进货单处理缺货订单进货通知单核对后进货单订单变更信息库存160按顾客所在地区统计5.2日期顾客区域统计表统计选择5.1顾客名货物订单记录按销售日期统计5.3(9)5.4(10)5.51层图按顾客日期顾客区域统计表统计选择顾客名货物订单记录按销售日期161销售管理系统补充完整的数据流图:销售管理系统补充完整的数据流图:162我们采用结构化方法(SA)画出销售管理系统的分层DFD。请根据上述分析的结果将以下DFD图补充完整。销售管理系统顾客仓库经理采购部门进货通知单订单备货单缺货通知单统计表顶层图我们采用结构化方法(SA)画出销售管理系统的分层DFD。请根163处理订单1处理供货2处理缺货4处理进货3销售统计5订单可供货订单缺货记录库存记录缺货通知单进货通知单统计表订单记录缺货订单备货单原缺货现可供货订单0层图处理订单处理供货处理缺货处理进货销售统计订单可供货订单缺货记164检验订单1.1确定能否供货1.2订单合格订单可供货订单库存记录缺货记录根据供货单修改库存2.1开备货单2.2备货单登记过的订单可供货订单订单记录库存记录1层图检验订单确定能否供货订单合格订单可供货订单库存记录缺货记录根165根据进货单修改库存3.1处理缺货订单3.2进货通知单核对后进货单订单变更信息库存记录缺货记录汇总各项缺货单4.1打印缺货通知单4.2缺货通知单缺货量缺货记录修改缺货记录3.3可供货订单1层图根据进货单处理缺货订单进货通知单核对后进货单订单变更信息库存166按顾客所在地区统计5.2日期顾客区域统计表统计选择5.1顾客名货物订单记录按销售日期统计5.3按销售货物名统计5.4按顾客名统计5.51层图按顾客日期顾客区域统计表统计选择顾客名货物订单记录按销售日期167销售管理系统数据字典是为分析人员查找数据流图中有关名字的详细定义而服务的,因此也像普通字典一样,要把所有条目按一定的次序排列起来,以便查阅。销售管理系统数据字典是为分析人员查找数据流图中有关名字的详细168销售管理系统数据流条目给出了DFD中数据流的定义,通常列出该数据流的各组成数据项。例如:数据流名称:订单别名:无简述:顾客订货时填写的项目来源:顾客去向:加工1“检验订单”数据流量:1000份/周组成:编号+订货日期+顾客编号+地址+电话+银行账号+货物名称+规格+数量销售管理系统数据流条目给出了DFD中数据流的定义,通常列出该169销售管理系统数据存储条目是对数据存储的定义,例如:数据存储名称:库存记录别名:无简述:存放库存所有可供货物的信息组成:货物名称+编号+生产厂家+单价+库存量组织方式:索引文件,以货物编号为关键字查询要求:要求能立即查询销售管理系统数据存储条目是对数据存储的定义,例如:170销售管理系统数据项条目是不可再分解的数据单位,例如:数据项名称:货物编号别名:G-No,G-num,Goods-No简述:本公司的所有货物的编号类型:字符串长度:10取值范围及含义:第1位:进口/国产第2~4位:类别第5~7位:规格第8~10位:品名编号销售管理系统数据项条目是不可再分解的数据单位,例如:171销售管理

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论