《软件需求分析》PPT课件

上传人:zhu****ng 文档编号:157842084 上传时间:2022-10-01 格式:PPT 页数:85 大小:267KB
收藏 版权申诉 举报 下载
《软件需求分析》PPT课件_第1页
第1页 / 共85页
《软件需求分析》PPT课件_第2页
第2页 / 共85页
《软件需求分析》PPT课件_第3页
第3页 / 共85页
资源描述:

《《软件需求分析》PPT课件》由会员分享,可在线阅读,更多相关《《软件需求分析》PPT课件(85页珍藏版)》请在装配图网上搜索。

1、1第三章 软件需求分析n需求分析的任务与步骤需求分析的任务与步骤 n需求获取的常用方法需求获取的常用方法 n分析建模分析建模 n软件需求说明软件需求说明 n结构化分析方法结构化分析方法n面向对象分析方法面向对象分析方法2软件需求分析软件需求分析n软件开发期的第一个阶段软件开发期的第一个阶段n明确软件要明确软件要“做什么做什么”的问题的问题n是关系到软件开发成败的关键步骤是关系到软件开发成败的关键步骤33.1 需求分析的任务与步骤需求分析的任务与步骤1、需求分析的任务、需求分析的任务 准确、完整和规范化的软件需求是软件开发成功的关键。准确、完整和规范化的软件需求是软件开发成功的关键。n建立分析模

2、型建立分析模型 (Analysis ModelAnalysis Model)分析模型是描述软件需求的一组模型(常由一组图、表加上注释组成)分析模型是描述软件需求的一组模型(常由一组图、表加上注释组成)n 精确记录用户对原始问题和目标软件的描述。精确记录用户对原始问题和目标软件的描述。n 帮助分析人员发现用户需求中的不一致性,排除不合理部分,挖掘帮助分析人员发现用户需求中的不一致性,排除不合理部分,挖掘潜在的用户要求。潜在的用户要求。n 应包含有对系统信息流、处理功能、用户界面、行为模型、设计约应包含有对系统信息流、处理功能、用户界面、行为模型、设计约束的描述。束的描述。4n编写需求规格说明编写

3、需求规格说明(SRS Software Requirement Specification)(SRS Software Requirement Specification)n精确性、一致性精确性、一致性n清晰性、没有二义性清晰性、没有二义性n直观、易读、易于修改直观、易读、易于修改52 2、需求分析的步骤、需求分析的步骤n需求获取需求获取 系统功能、界面、质量等方面的需求系统功能、界面、质量等方面的需求n需求提炼需求提炼 分析建模,常用建模工具数据流图(分析建模,常用建模工具数据流图(DFDDFD)、实体关)、实体关系图(系图(ERER图)、控制流图(图)、控制流图(CFDCFD)、状态转换图

4、()、状态转换图(STDSTD图)、用例图图)、用例图(use caseuse case)、类对象关系及行为图)、类对象关系及行为图n需求描述需求描述 编写编写SRSSRSn需求验证需求验证 确保需求规格说明可作为软件设计和最终系统验收的确保需求规格说明可作为软件设计和最终系统验收的依据依据6需求分析实现步骤的例子需求分析实现步骤的例子n教材购销系统中的教材销售子系统教材购销系统中的教材销售子系统 从用户调查中了解到某高校向学生销售教材的手续是:先由系办公室从用户调查中了解到某高校向学生销售教材的手续是:先由系办公室的张秘书开一购书证明,学生凭证明找教材科的王会计开购书发票,的张秘书开一购书证

5、明,学生凭证明找教材科的王会计开购书发票,向李出纳员交付书款,然后到书库找赵保管员领书。现欲将上述手向李出纳员交付书款,然后到书库找赵保管员领书。现欲将上述手工操作改为计算机处理,试对此系统做需求分析。工操作改为计算机处理,试对此系统做需求分析。7(1 1)通过对现实环境的调查研究,获取当前系统的)通过对现实环境的调查研究,获取当前系统的具体模型(物理模型)具体模型(物理模型);学生学生张张秘书秘书王王会计会计李李出纳出纳赵赵保管保管学生学生购书购书申请申请购书购书证明证明购书购书发票发票领书单领书单书书上图用数据流程图的形式描述上图用数据流程图的形式描述当前系统的业务流程,也可以当前系统的业

6、务流程,也可以用系统流程图来描述。用系统流程图来描述。8(2 2)分析需求,建立系统分析模型,包括当前系统模型和目标系统模型;)分析需求,建立系统分析模型,包括当前系统模型和目标系统模型;n去掉具体模型中的非本质因素,提炼出当前系统的去掉具体模型中的非本质因素,提炼出当前系统的逻辑模型逻辑模型。n分析当前系统与目标系统的差别,建立目标系统的逻辑模型。分析当前系统与目标系统的差别,建立目标系统的逻辑模型。一般来说一般来说目标系统目标系统是一个使用计算机的系统,其功能应比是一个使用计算机的系统,其功能应比当前系统当前系统更强,更强,不必也不应该完全模拟现行的系统。不必也不应该完全模拟现行的系统。上

7、图中上图中“审查有效性审查有效性”和开发票可合并进行,省去开有效购书单的手续。和开发票可合并进行,省去开有效购书单的手续。学生学生审查审查有效性有效性开发票开发票开开领书单领书单发书发书学生学生购书单购书单 有效有效购书单购书单发票发票领书单领书单书书学生学生审查并审查并开发票开发票开开领书单领书单发书发书学生学生购书单购书单发票发票领书单领书单书书9(3)整理综合需求,编写系统需求规格说明;)整理综合需求,编写系统需求规格说明;可按照国家制定的计算机软件开发文档规范中的要求进行编写。可按照国家制定的计算机软件开发文档规范中的要求进行编写。(4)验证需求,完善和补充对目标系统的描述。)验证需求

8、,完善和补充对目标系统的描述。n通过对目标系统的人通过对目标系统的人-机界面,和用户一起确认目标系统功能:确定哪机界面,和用户一起确认目标系统功能:确定哪些功能交给计算机去做,哪些功能由人工完成。如在上页系统中,按照些功能交给计算机去做,哪些功能由人工完成。如在上页系统中,按照书费收款和发书这两项工作仍需由人工完成。书费收款和发书这两项工作仍需由人工完成。n复审需求说明,补充细节。复审需求说明,补充细节。经过以上的修正和补充,就可得到经过以上的修正和补充,就可得到改进了的目标系统逻辑模型改进了的目标系统逻辑模型,如下:,如下:学生学生审查并审查并开发票开发票开开领书单领书单学生学生购书单购书单

9、发票发票领书单领书单无效书单无效书单103.2 需求获取的常用方法需求获取的常用方法1、常规的需求获取方法、常规的需求获取方法n建立联合分析小组建立联合分析小组 n用户代表、领域专家和系统分析员用户代表、领域专家和系统分析员n客户访谈客户访谈 n充分准备,寻找共同语言充分准备,寻找共同语言 n循序渐进、逐步逼近循序渐进、逐步逼近 n问题分析与确认问题分析与确认 n多个来回多个来回112 2、快速原型方法、快速原型方法有效的需求获取方法有效的需求获取方法n步骤步骤n利用各种分析技术和方法,生成一个简化的需求规格说明利用各种分析技术和方法,生成一个简化的需求规格说明n对需求规格说明进行必要的检查修

10、改后,确定原型的软件结构、对需求规格说明进行必要的检查修改后,确定原型的软件结构、用户界面和数据结构等用户界面和数据结构等n在现有的工具和环境的帮助下快速生成可运行的软件原型并进行在现有的工具和环境的帮助下快速生成可运行的软件原型并进行测试、改进测试、改进n将原型提交给用户评估并征求用户的修改意见将原型提交给用户评估并征求用户的修改意见n重复上述过程,直到原型得到用户的认可重复上述过程,直到原型得到用户的认可123.3 分析建模分析建模n软件的分析模型通常用一组模型组成,其中包括信息软件的分析模型通常用一组模型组成,其中包括信息(或数据)模型、功能模型和行为模型。(或数据)模型、功能模型和行为

11、模型。n结构化分析模型结构化分析模型n面向对象分析模型面向对象分析模型n分析模型描述工具分析模型描述工具n DFD、DD和和PSPEC n CFD、CSPEC和和STD n E-R图图 n 用例图,对象用例图,对象-关系图,对象关系图,对象-行为图行为图 13结构化分析模型结构化分析模型加工说明加工说明 (PSPEC)数据对象说明数据对象说明CFD,STD图图DFD图图E-R图图DD控制说明(控制说明(CSPEC)功能模型功能模型行为模型行为模型数据模型数据模型14面向对象分析模型面向对象分析模型属性、操作、协作者属性、操作、协作者对象对象-行为模型行为模型对象对象-关系模型关系模型类类/对象

12、对象模型模型使用实例使用实例15n分析模型的组成与描述工具分析模型的组成与描述工具n结构化分析工具结构化分析工具nDFD、DD和和PSPEC nCFD、CSPEC和和STD nE-R图图 n面向对象分析工具面向对象分析工具n用例图,类对象图用例图,类对象图n对象对象-关系图关系图n对象对象-行为图行为图161、数据流图、数据流图(DFD)n是描述数据处理过程的工具是描述数据处理过程的工具信息在系统中的流动和处理信息在系统中的流动和处理n从数据传递和加工的角度,以图形的方式刻画数据流从从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程。输入到输出的移动变换过程。n任何软件系

13、统(或计算机系统)从根本上来说,都是对任何软件系统(或计算机系统)从根本上来说,都是对数据进行加工或变换的工具。数据进行加工或变换的工具。n用途用途n交流信息的工具交流信息的工具n结构化分析和设计的工具结构化分析和设计的工具 17一个高度抽象了的软件系统逻辑模型一个高度抽象了的软件系统逻辑模型加工或加工或变换变换输入输入输出输出18n组成符号组成符号n圆框代表加工圆框代表加工n箭头代表数据流向箭头代表数据流向n方框代表源点和终点方框代表源点和终点n双杠表示数据文件或数据双杠表示数据文件或数据库库nDFD图的性质图的性质或或19学生学生审查并审查并开发票开发票1开开领书单领书单2学生学生购书单购

14、书单发票发票领书单领书单无效书单无效书单各班学生用书表各班学生用书表教材存量表教材存量表计算机售书系统的数据流图计算机售书系统的数据流图202、数据字典(、数据字典(DD)n是是DFD中所有元素的中所有元素的定义定义与与属性属性的集合的集合n作用作用:对软件中的每个数据规定一个定义条目,以保:对软件中的每个数据规定一个定义条目,以保持数据在系统中的一致性持数据在系统中的一致性n数据词典与数据流图配合,能清楚地表达数据处理的数据词典与数据流图配合,能清楚地表达数据处理的要求要求21n数据词典的内容数据词典的内容 对对DFDDFD图中下列条目的定义和描述图中下列条目的定义和描述n数据流数据流n数据

15、流分量数据流分量n数据存储数据存储n处理(加工)(一般不用处理(加工)(一般不用DDDD描述)描述)22n数据字典数据字典(DD)的公式定义法的公式定义法n定义数据的方法定义数据的方法n自顶向下分解数据自顶向下分解数据n数据元素的组合方式数据元素的组合方式n顺序:顺序:A+Bn选择:选择:A|Bn重复:重复:1A5n可选可选:(:(A)n注释:注释:23数据字典例子数据字典例子n数据流数据流“发票发票”的公式定义的公式定义 发票(学号)姓名发票行书费合计发票(学号)姓名发票行书费合计 发票行书号单价数量总价发票行书号单价数量总价n各班学生用书表的公式定义各班学生用书表的公式定义 各班学生用书表

16、系编号专业和班编号年级书号各班学生用书表系编号专业和班编号年级书号 系编号系编号2数字数字 2 二位数字二位数字 专业和班编号专业和班编号3数字数字3 三位数字三位数字 年级年级F/M/J/S 在在4个字母中任选一个个字母中任选一个 书号字母数字书号字母数字24数据词典的编写形式数据词典的编写形式n数据流词条描述数据流词条描述数据流名:数据流名:别名:别名:说明:简要介绍作用即它产生的原因和结果说明:简要介绍作用即它产生的原因和结果数据流来源:来自何方数据流来源:来自何方数据流去向:去向何处数据流去向:去向何处数据流组成:数据结构数据流组成:数据结构数据量流通量:数据量,流通量数据量流通量:数

17、据量,流通量25n例:数据流例:数据流“发票发票”数据流名:数据流名:发票发票别名:别名:购书发票购书发票组成:组成:发票(学号)姓名书号单价数量总价书费合计发票(学号)姓名书号单价数量总价书费合计备注:备注:26 数据项词条描述数据项词条描述 数据项名:数据项名:别名:别名:类型:数字(离散值,连续值),文字(编码类型)类型:数字(离散值,连续值),文字(编码类型)长度:长度:取值范围:取值范围:相关的数据元素及数据结构:相关的数据元素及数据结构:27n例:数据项例:数据项“数量数量”词条描述词条描述数据项名:数量数据项名:数量别名:购书量别名:购书量取值:正整数取值:正整数备注:备注:28

18、n数据文件词条描述数据文件词条描述数据文件名:数据文件名:别名:别名:简述:存放的是什么数据简述:存放的是什么数据输入数据:输入数据:输出数据:输出数据:数据文件组成:数据结构数据文件组成:数据结构存储方式:顺序,直接,关键码存储方式:顺序,直接,关键码存取频率:存取频率:29n例:数据文件例:数据文件“各班学生用书表各班学生用书表”文件名:文件名:各班学生用书表各班学生用书表别名:别名:组成:组成:系编号专业和班编号年级书号系编号专业和班编号年级书号组织:组织:按系、专业和班编号从小到大排列按系、专业和班编号从小到大排列备注:备注:30n加工逻辑加工逻辑词条描述词条描述加工名:加工名:加工编

19、号:反映该加工的层次加工编号:反映该加工的层次简要描述:加工逻辑及功能简述简要描述:加工逻辑及功能简述输入数据流:输入数据流:输出数据流:输出数据流:加工逻辑:简述加工程序,加工顺序加工逻辑:简述加工程序,加工顺序31n源点及汇源点及汇(终终)点词条描述点词条描述名称:外部实体名名称:外部实体名别名:别名:简要描述:什么外部实体简要描述:什么外部实体有关数据流:有关数据流:数目:数目:323 3、加工说明、加工说明PSPECPSPECn对对DFDDFD中的每个加工进行说明中的每个加工进行说明n阐明把输入数据转换为输出数据的策略阐明把输入数据转换为输出数据的策略n由输入数据、加工逻辑和输出数据等

20、部分组成由输入数据、加工逻辑和输出数据等部分组成n描述工具描述工具n结构化语言结构化语言n判定表判定表n判定树判定树33n结构化语言结构化语言n自然语言加上结构化的形式自然语言加上结构化的形式,如用顺序、选择、循如用顺序、选择、循环结构表示加工环结构表示加工n一种介于自然语言与程序设计语言之间的语言一种介于自然语言与程序设计语言之间的语言,既既具有结构化程序的清晰易读的优点具有结构化程序的清晰易读的优点,又具有自然语又具有自然语言的灵活性言的灵活性,不受程序设计语言严格的语法约束不受程序设计语言严格的语法约束34加工说明的结构化语言描述例子加工说明的结构化语言描述例子n教材销售系统教材销售系统

21、DFD图图学生学生1审查并审查并开发票开发票2开领书单开领书单学生学生购书单购书单发票发票领书单领书单无效书单无效书单各班学生用书表各班学生用书表教材存量表教材存量表35加工加工1 1的结构化语言的描述的结构化语言的描述按购书单上学生的年级和系、专业与班号检索按购书单上学生的年级和系、专业与班号检索“各班学生用书表各班学生用书表”,获得该生当年的书,获得该生当年的书单;单;DO WHILE 对购书单上每一书号对购书单上每一书号 If 书单中无此书号书单中无此书号 THEN 把书号写到出错通知上;把书号写到出错通知上;ELSE 按书号检索按书号检索“教材存量表教材存量表”文件,获得该书的单价与库

22、存量;文件,获得该书的单价与库存量;IF该书库存量该书库存量50 50预收货款预收货款 1000010000 1000010000推销金额推销金额4321条件条件39判定树描述判定树描述推销奖金策略推销奖金策略 推销金额推销金额 预收货款预收货款 推销员工资推销员工资 奖金率奖金率 50 1000 8 10000 =1000 5(另加(另加300)推销推销 1000 5奖金策略奖金策略 50 1000 6 =10000 =1000 4(另加(另加200)1000 4404、CFD和和CSPECn适合实时系统的分析适合实时系统的分析n与与DFD和和PSPEC类似类似n和和DFD与与PSPEC配合

23、使用配合使用n表示控制流和控制加工表示控制流和控制加工41CFDCFD和和DFDDFD的关系的关系 数据条件数据条件控制输入加工激活信号加工激活信号控制输出控制输出输入数据输入数据加工模型加工模型PSPEC控制模型控制模型CSPEC输出数据输出数据 CFD 控制输入控制输入 DFD 42nCFDCFD的符号表示的符号表示控制信息或事件控制信息或事件引用控制说明(引用控制说明(CSPEC)43DFDDFD和和CFDCFD例子例子-DFD-DFD信号信号半分钟数据半分钟数据光电管光电管采集采集计数计数传送传送工控机工控机处理处理实时数实时数据显示据显示班数据班数据处理处理半小时数据半小时数据班数据

24、班数据44DFDDFD和和CFDCFD例子例子-CFD-CFD翻屏翻屏人工驱动信息人工驱动信息时钟时钟半小时半小时半分钟半分钟某型号累加某型号累加物品经过物品经过信号信号半分钟数据半分钟数据光电管光电管采集采集计数计数传送传送工控机工控机处理处理实时数实时数据显示据显示班数据班数据处理处理半小时数据半小时数据班数据班数据455 5、状态转换图(、状态转换图(STDSTD)n描述软件状态变迁描述软件状态变迁nCSPECCSPEC中常用的描述工具中常用的描述工具n符号组成符号组成n矩形矩形-系统状态系统状态n箭头箭头-状态转变方向状态转变方向n规则表达式规则表达式-事件事件/触发行为触发行为状状

25、态态1状状 态态2事件事件/触发行为触发行为46STDSTD例子例子20秒到秒到/翻屏翻屏生成最新数据生成最新数据/翻屏翻屏半小时到半小时到/工控处理工控处理半分钟到半分钟到/传送传送空闲空闲/采集采集物品经过物品经过/计数计数采集采集PLC计数计数传送传送工控处理工控处理实时翻屏实时翻屏476、E-R图图n用于对复杂数据的用作数据分析和建模用于对复杂数据的用作数据分析和建模n实体、属性和关系实体、属性和关系n组成符号组成符号0:11:10:m1:m48E-RE-R图例子图例子电话机电话机生产厂商生产厂商经销商经销商用户用户生产生产购买购买使用使用经销497、用例图(、用例图(use case

26、)n用例:系统和外部角色的交互用例:系统和外部角色的交互n符号表示:符号表示:系统名称系统名称系统系统用例名用例名用例用例角色角色关联关联50Use CaseUse Case图例子图例子保险商务系统保险商务系统签定保险签定保险单单销售统计销售统计客户统计客户统计客户客户保险销售员保险销售员51n用例之间的关系用例之间的关系n扩展关系扩展关系n使用关系使用关系n组合关系组合关系52扩展关系扩展关系n若若一个用例一个用例中加入一些新的动作后构成了中加入一些新的动作后构成了一个新的用例一个新的用例,则这两个,则这两个用例之间的关系为扩展关系,又称通用化关系用例之间的关系为扩展关系,又称通用化关系n新

27、的用例新的用例继承了继承了原有用例原有用例的一些行为,是前者的扩展用例的一些行为,是前者的扩展用例扩展扩展签保险单签保险单签汽车购买契约签汽车购买契约53使用关系使用关系n一个用例使用另一个用例时,这两个用例之间构成一个用例使用另一个用例时,这两个用例之间构成使用关系使用关系n可抽取一些用例的共同行为,建立可抽取一些用例的共同行为,建立抽象用例抽象用例使用使用使用使用签保险单签保险单签汽车保险签汽车保险单单签房屋保险签房屋保险单单54组合关系组合关系n如果某些用例之间存在类似的行为,或相互之间存在必要的关系,如果某些用例之间存在类似的行为,或相互之间存在必要的关系,则可将相关的用例以则可将相关

28、的用例以封装封装方式加以方式加以组合组合558、对象、对象-关系图关系图n由由E-R图演变而来图演变而来n描述对象间描述对象间静态静态关系关系学生学生书书出版商出版商购买购买来自来自 1:1 0:m 1:1 1:1 569、对象、对象-行为图行为图n描述对象的描述对象的动态动态行为行为n描述工具描述工具n对象状态转换图对象状态转换图n事件轨迹图事件轨迹图n事件流图事件流图57对象状态转换图对象状态转换图n描述对象描述对象内部内部可能具有的状态以及引起状态变化的事件可能具有的状态以及引起状态变化的事件加纸加纸纸用完纸用完故障修复故障修复打印故障打印故障打印完成打印完成接到打印命令接到打印命令就绪

29、就绪打印打印缺纸缺纸故障故障打印机对象状态转换图打印机对象状态转换图58事件轨迹图事件轨迹图n考虑整个系统的状态的转变考虑整个系统的状态的转变n描述一个事件如何引起对象描述一个事件如何引起对象之间之间的转变的事件轨迹的转变的事件轨迹n表示导致行为从对象流向对象的关键对象和事件表示导致行为从对象流向对象的关键对象和事件59事件轨迹图例子事件轨迹图例子打印机忙打印机忙保存文件保存文件打印机就绪打印机就绪打印文件打印文件打印文件打印文件打印文件打印文件计算机计算机打印服务器打印服务器打印队列打印队列打印机打印机60事件流图例子事件流图例子打印机忙打印机忙保存文件保存文件打印机就绪打印机就绪打印文件打

30、印文件打印文件打印文件计算机计算机打印队列打印队列打印服务器打印服务器打印机打印机613.4 软件需求说明(软件需求说明(SRS)n引言引言n信息描述信息描述n功能描述功能描述n行为描述行为描述n质量保证质量保证n接口描述接口描述n其它其它给出对软件所含信息的详细描述给出对软件所含信息的详细描述,包括信息的内容、包括信息的内容、关系、数据流向、控制流向和结构等。根据系统关系、数据流向、控制流向和结构等。根据系统所选用的不同的分析方法,可以用不同的工具描所选用的不同的分析方法,可以用不同的工具描述软件设计的数据的定义和系统的信息逻辑模型。述软件设计的数据的定义和系统的信息逻辑模型。对软件功能要求

31、进行说明,包括系统功能划分、对软件功能要求进行说明,包括系统功能划分、每个功能的处理说明、限制和控制描述等。对软每个功能的处理说明、限制和控制描述等。对软件性能的需求,包括软件的处理速度、响应时间件性能的需求,包括软件的处理速度、响应时间和安全限制等内容,通常也在此叙述。和安全限制等内容,通常也在此叙述。对系统状态的变化以及事件和动作的叙述,据此对系统状态的变化以及事件和动作的叙述,据此可以检查外部事件和软件内部的控制特征。可以检查外部事件和软件内部的控制特征。阐明在软件交付使用前需要进行的功能测试和性阐明在软件交付使用前需要进行的功能测试和性能测试,并且规定源程序和文档应该遵守的各种能测试,

32、并且规定源程序和文档应该遵守的各种标准。标准。对系统的用户界面、硬件接口、软件接口和通信对系统的用户界面、硬件接口、软件接口和通信接口等的说明。接口等的说明。阐述系统设计和实现上的限制,系统的假设和阐述系统设计和实现上的限制,系统的假设和依赖等其他需要说明的内容。依赖等其他需要说明的内容。主要叙述在问题定义阶段确定的关于软件的目主要叙述在问题定义阶段确定的关于软件的目标与范围,简要介绍系统背景、概貌、软件项标与范围,简要介绍系统背景、概貌、软件项目约束和参考资料等。目约束和参考资料等。62nT.DeMarco的定义:使用的定义:使用DFD、DD、结构化语言、判定表和判定树、结构化语言、判定表和

33、判定树等工具,来建立一种新的、成为结构化说明书的目标文档。等工具,来建立一种新的、成为结构化说明书的目标文档。n许多学者提出了用于结构化分析的补充工具,如许多学者提出了用于结构化分析的补充工具,如CFD和和STD等。等。n结构化的步骤:结构化的步骤:n自顶向下,功能分解自顶向下,功能分解n分层分层DFDn由后向前,定义数据和加工由后向前,定义数据和加工nDD,PSPECn根据需要,分析复杂数据和动态模型根据需要,分析复杂数据和动态模型nE-R图,图,CFD,CSPEC,STDn编写编写SRS631 1、数据流图的层次结构数据流图的层次结构n对于数据处理复杂的软件系统,若将整个系统的对于数据处理

34、复杂的软件系统,若将整个系统的DFDDFD图画在一张图中,图画在一张图中,则则DFDDFD图将非常庞大,时常是不可能的。图将非常庞大,时常是不可能的。n为了表达数据处理过程的数据加工情况,需要采用为了表达数据处理过程的数据加工情况,需要采用层次结构层次结构的数据流的数据流图。按照系统的层次结构进行图。按照系统的层次结构进行逐步分解逐步分解,并以分层的数据流图反映这,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统。种结构关系,能清楚地表达和容易理解整个系统。顶层顶层DFD图图底层底层DFD图图中间层中间层DFD图图64n在多层数据流图中,在多层数据流图中,顶层顶层DFD图图仅

35、包含仅包含一个加工一个加工,它代表被开发,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数系统。它的输入流是该系统的输入数据,输出流是系统所输出数据。据。n底层底层DFD图图是指其是指其加工不需再做分解加工不需再做分解的数据流图,它处在最底层。的数据流图,它处在最底层。n中间层中间层DFD图图则表示则表示对其上层父图的细化对其上层父图的细化。它的每一加工可能继。它的每一加工可能继续细化,形成子图。续细化,形成子图。65DFDDFD练习练习 售书系统售书系统领书单领书单 进书通知进书通知 购书单购书单 缺书单缺书单 学学 生生 教材教材 购销购销 系统系统书书库库保保管管员员

36、n顶层顶层DFD图图描述系统与外部实体之间的交互和边界描述系统与外部实体之间的交互和边界66领书单领书单 进书通知进书通知 进书通知进书通知 购书单缺书单购书单缺书单 1销销售售 2采采购购书书库库保保管管员员学学生生F1教材存量表教材存量表 F2缺书登记表缺书登记表 n第第2层层DFD图图67n第第3层层DFD图图采购采购学生学生1.6 1.6 产生补产生补售书单售书单1.1 1.1 审查审查有效性有效性1.2 1.2 开发票开发票1.5 1.5 登记登记缺书缺书1.3 1.3 打印打印发票发票1.4 1.4 登记售登记售书和打书和打印领书单印领书单学生学生进书通知进书通知无效书单无效书单购

37、书单购书单补售补售 书单书单有效有效购书单购书单发票发票发票发票领书单领书单暂缺暂缺书单书单F3 学生用书表学生用书表F4 售书登记表售书登记表F1 教材存量表教材存量表F2 缺书登记表缺书登记表68n第第3层层DFD图图销售销售书库书库保管员保管员2.3 2.3 登记教材库登记教材库存和待购量存和待购量进书通知进书通知进书通知进书通知F1 教材存量表教材存量表F5 待购教材表待购教材表F6 教材一览表教材一览表F2 缺书登记表缺书登记表2.1 2.1 按书号按书号汇总缺书汇总缺书2.2 2.2 按出版社按出版社统计缺书统计缺书 缺书单缺书单69检查和修改数据流图的原则检查和修改数据流图的原则

38、n数据流图上所有图形符号只限于前述四种基本图形元素数据流图上所有图形符号只限于前述四种基本图形元素n数据流图的主图必须包括前述四种基本元素,缺一不可数据流图的主图必须包括前述四种基本元素,缺一不可n数据流图的主图上的数据流必须封闭在外部实体之间数据流图的主图上的数据流必须封闭在外部实体之间n每个加工至少有一个输入数据流和一个输出数据流每个加工至少有一个输入数据流和一个输出数据流n在数据流图中,需按层给加工框编号。编号表明该加工所处层次及上下层的亲在数据流图中,需按层给加工框编号。编号表明该加工所处层次及上下层的亲子关系子关系n规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流

39、规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡和输出数据流必须一致。此即父图与子图的平衡n可以在数据流图中加入物质流,帮助用户理解数据流图可以在数据流图中加入物质流,帮助用户理解数据流图n图上每个元素都必须有名字图上每个元素都必须有名字n初画时可以忽略琐碎的细节,以集中精力于主要数据流初画时可以忽略琐碎的细节,以集中精力于主要数据流702、确定数据定义与加工策略、确定数据定义与加工策略n从数据的终点开始,沿着从数据的终点开始,沿着DFD图一步步向数据源点回溯图一步步向数据源点回溯n优点优点n较易看清数据流中每一个数据项的出处较易看

40、清数据流中每一个数据项的出处n有利于减少错误和遗漏有利于减少错误和遗漏713、DFD的复审的复审n父图和子图不平衡父图和子图不平衡n未区分局部文件和局部外部项未区分局部文件和局部外部项n分解的速度太快分解的速度太快n不遵守加工编号规则不遵守加工编号规则723.6 面向对象分析方法面向对象分析方法n基本步骤基本步骤n定义系统的用例定义系统的用例n领域分析,建立类对象模型领域分析,建立类对象模型n建立对象建立对象-关系模型关系模型n建立对象建立对象-行为模型行为模型n编写编写SRS731、定义用例、定义用例n用例用例是系统的某些动作步骤的集合,主要由是系统的某些动作步骤的集合,主要由角色角色(Ac

41、tor)和和动作动作(Action)组成)组成n角色角色 是存在于系统之外和系统或产品通信的任何事物,包括人是存在于系统之外和系统或产品通信的任何事物,包括人和设备等,一个用户有时可以充当不同的角色和设备等,一个用户有时可以充当不同的角色n动作动作 是系统的一次执行,与角色进行通信,或进行一次计算,是系统的一次执行,与角色进行通信,或进行一次计算,或在系统内部进行工作或在系统内部进行工作74n定义用例通常从识别角色开始定义用例通常从识别角色开始根据执行系统功能的不同,角色可以分为几个等级根据执行系统功能的不同,角色可以分为几个等级n主要角色主要角色 执行系统的主要功能执行系统的主要功能n次要角

42、色次要角色 使用系统的次要功能使用系统的次要功能n发现角色的方法:发现角色的方法:可通过回答下列精心设计的问题来识别可通过回答下列精心设计的问题来识别n使用系统主要功能的人是谁?使用系统主要功能的人是谁?n需要借助于系统完成日常工作的人是谁?需要借助于系统完成日常工作的人是谁?n谁来维护、管理系统,保证系统正常工作?谁来维护、管理系统,保证系统正常工作?n系统控制的硬件设备有哪些?系统控制的硬件设备有哪些?n系统需要和哪些其它系统接口?系统需要和哪些其它系统接口?n对系统产生的结果感兴趣的人和事是哪些?对系统产生的结果感兴趣的人和事是哪些?75n发现用例的方法:发现用例的方法:可通过回答下列精

43、心设计的问题来识别可通过回答下列精心设计的问题来识别n角色需要从系统中获得哪种功能?需要角色做什么?角色需要从系统中获得哪种功能?需要角色做什么?n角色需要读取、产生、删除、修改或存储系统中的某种信息吗?角色需要读取、产生、删除、修改或存储系统中的某种信息吗?n系统中发生的事件需要通知角色吗?角色需要通知系统某件事吗?系统中发生的事件需要通知角色吗?角色需要通知系统某件事吗?这些事件能干什么?这些事件能干什么?n系统需要输入系统需要输入/输出的是什么信息?这些输入输出的是什么信息?这些输入/输出信息从哪儿来输出信息从哪儿来?到哪儿去?到哪儿去?n系统当前的实现要解决的问题是什么?系统当前的实现

44、要解决的问题是什么?762、领域分析、领域分析n目的目的 分析特定的应用领域,以发现或创建可广泛应用的分析特定的应用领域,以发现或创建可广泛应用的类,以便复用类,以便复用 n以公共对象、类、子集合和框架等形式,在特定的应用以公共对象、类、子集合和框架等形式,在特定的应用领域中标式、分析和规约公共的可复用的能力领域中标式、分析和规约公共的可复用的能力773、类、类/对象建模对象建模n确定分析模型中的类对象确定分析模型中的类对象n考察系统用例考察系统用例n汇总名词、名词短语以得到候选对象汇总名词、名词短语以得到候选对象n考察候选对象确定类对象考察候选对象确定类对象n必要的信息、需求、服务必要的信息

45、、需求、服务n多个属性、公共操作多个属性、公共操作n选定的类或对象用类对象图表示:选定的类或对象用类对象图表示:类或对象名类或对象名属性:属性:操作:操作:学生学生学号学号班级班级上课上课考试考试李平李平:学生学生学号:学号:020118班级:计班级:计02上课上课考试考试一般格式一般格式“学生学生”类类对象对象“李平李平”78n定义类的结构与层次定义类的结构与层次n系统的类系统的类/对象确定后,还要定义类模型的结构以及类和子类所对象确定后,还要定义类模型的结构以及类和子类所形成的关系。形成的关系。n从已标识的类中,导出从已标识的类中,导出 “一般一般特殊特殊”,“整体整体部分部分”两类层次结

46、构两类层次结构物料物料材料材料在制品在制品显像管显像管国产材料国产材料进口材料进口材料显像管显像管荫罩荫罩屏屏锥锥整体整体部分结构部分结构一般一般特殊结构特殊结构79n定义主题和子系统定义主题和子系统n复杂系统的分析模型可以包含成百个类和许多个结构,为了简化复杂系统的分析模型可以包含成百个类和许多个结构,为了简化图形,可以用一种简洁的表示法来描述类和结构模型的摘要。图形,可以用一种简洁的表示法来描述类和结构模型的摘要。n当类模型中的某些子集可相互协作共同完成一组内聚的功能时,当类模型中的某些子集可相互协作共同完成一组内聚的功能时,可以将它们定义为主题或子系统。可以将它们定义为主题或子系统。n主

47、题和子系统都是一种高层抽象,可提供指向分析模型中更详细主题和子系统都是一种高层抽象,可提供指向分析模型中更详细内容的引用,当从外界观察时,主题或子系统可视为黑盒子内容的引用,当从外界观察时,主题或子系统可视为黑盒子n主题或子系统可被图形化表示主题或子系统可被图形化表示n在最高抽象的层次,在最高抽象的层次,OOAOOA模型将只包含主体引用,每个引用可被模型将只包含主体引用,每个引用可被扩展为一个结构扩展为一个结构80主题引用例子主题引用例子电话电话话筒话筒按键按键连接线连接线话机话机人人电话电话人人教师教师大学生大学生小学生小学生学生学生中学生中学生814、建立对象建立对象关系模型关系模型n分析

48、类之间的分析类之间的关系关系是类模型的重要内容是类模型的重要内容n对象关系模型可通过检查对系统的范围或用例的陈述中对象关系模型可通过检查对系统的范围或用例的陈述中的的动词动词或或动词短语动词短语而导出。如:包含、临近、传到、来而导出。如:包含、临近、传到、来自、组成、管理、控制等。自、组成、管理、控制等。n步骤步骤n复审需求描述和用例陈述复审需求描述和用例陈述n找出表示关系的动词或动词短语找出表示关系的动词或动词短语n用线连接起来,箭头表示方向用线连接起来,箭头表示方向n给连接命名,标上基数给连接命名,标上基数82对象关系图例子对象关系图例子:0:0:1:m0:0:::部门部门流水线流水线工序

49、工序材料材料在制品在制品:不良品不良品指标数据指标数据:规格规格实时数据实时数据835、建立对象行为模型、建立对象行为模型n描述系统的动态行为,即系统如何应对外部事件描述系统的动态行为,即系统如何应对外部事件n基本过程基本过程n评估用例,理解系统中的交互序列评估用例,理解系统中的交互序列n找出驱动交互序列的事件找出驱动交互序列的事件n为每个用例创建事件轨迹为每个用例创建事件轨迹n为对象创建状态转换图为对象创建状态转换图84对象状态转换图表明一个对象内部的各种状态之间的转换对象状态转换图表明一个对象内部的各种状态之间的转换产生产生半分钟数据半分钟数据班数据班数据半小时数据半小时数据翻屏显示翻屏显示日数据日数据光电采集光电采集满半分钟满半分钟工控机处理工控机处理班数据处理班数据处理日数据处理日数据处理85事件轨迹图用于描述一个事件在各个对象之间以时间顺序流动的情况事件轨迹图用于描述一个事件在各个对象之间以时间顺序流动的情况光电管光电管PLC工控机工控机大屏幕大屏幕物品经过物品经过阻态信号阻态信号半分钟到半分钟到传累计值传累计值半小时到半小时到显示数据显示数据

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!