![软件工程-(3)分析培训讲学_第1页](http://file4.renrendoc.com/view/e86ecc1493438a5ff29368f838b31656/e86ecc1493438a5ff29368f838b316561.gif)
![软件工程-(3)分析培训讲学_第2页](http://file4.renrendoc.com/view/e86ecc1493438a5ff29368f838b31656/e86ecc1493438a5ff29368f838b316562.gif)
![软件工程-(3)分析培训讲学_第3页](http://file4.renrendoc.com/view/e86ecc1493438a5ff29368f838b31656/e86ecc1493438a5ff29368f838b316563.gif)
![软件工程-(3)分析培训讲学_第4页](http://file4.renrendoc.com/view/e86ecc1493438a5ff29368f838b31656/e86ecc1493438a5ff29368f838b316564.gif)
![软件工程-(3)分析培训讲学_第5页](http://file4.renrendoc.com/view/e86ecc1493438a5ff29368f838b31656/e86ecc1493438a5ff29368f838b316565.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程-(3)分析结构化分析方法六十年代未、七十年代初结构化设计盛行,结构化分析以结构化设计附产品的身份出现。七十年代未期
DouglasRoss提出结构化分析的术语
DeMarco[DEM79]进行推广,给出分析员可以创建信息流模型的主要图形记号,建议将“数据字典”和“处理说明”作为信息流模型的补充,並提供方法应用的实例;2023/2/72结构化分析方法八十年代初期Jones[PAG80],Gane[GAN82]等人提出结构化分析方法的一些变种,用于信息系统的开发;八十年代中期
Ward、Mellor[WAR85]、Hatiy和Pirbhai[HAT87]对结构化分析进行扩充支持实时、控制和嵌入式系统的开发;Harel&Pnueli研制了面向复杂实时反应式系统(ComplexReal-timeReactiveSystem)的开发环境STATEMATE。2023/2/73第五章面向数据流的分析方法
1数据流图与数据字典2实体一关系图数据对象、属性与关系实体一关系图3数据流图的实时系统扩充
Ward&Mellor扩充
Hatley&Pirhai扩充4基于数据流的分析方法创建数据流模型创建控制流模型创建过程规格说明5基于数据流图的需求分析CASE工具。语言机制动态分析基于CASE工具的需求分析以“家庭保安系统”为例展示结构化分析方法的使用过程。2023/2/74结构化的分析模型第五章面向数据流的分析方法2023/2/75结构化的分析模型核心数据字典描述软件工程项目的所有数据对象中间层实体-关系图、数据流图、状态-变迁图实体-关系图描述数据对象之间的关系数据流图功能建模的基础系统或子系统对数据实施的变换、变换的功能提供信息分析的信息状态-变迁图行为建模的基础系统的行为模式(称“状态”)以及状态变迁的方式第五章面向数据流的分析方法2023/2/76结构化的分析模型
最外层数据对象描述、加工规格说明PSPEC、控制规格说明CSPEC数据对象
表示实体-关系图中每个数据对象的属性加工规格说明PSPEC
描述数据流图的每个功能。
控制规格说明CSPEC
描述软件控制的附加信息第五章面向数据流的分析方法2023/2/775.1数据流图与数据字典基于计算机的信息处理系统由数据流和一系列的加工构成,这些加工将输入数据流加工为输出数据流数据流图描述数据流和加工数据流图用图形符号表示数据流、加工、数据源及外部实体数据流图具有层次结构,支持问题分解、逐步求精的分析方法它是数据驱动的数据流图既可以表示基于计算机的系统,也可以表示软件第五章面向数据流的分析方法2023/2/78数据流图标记5.1数据流图与数据字典2023/2/79数据流与数据加工之间的关系2023/2/710分层的数据流图2023/2/711在多层数据流图中,顶层流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据底层流图是指其加工不需再做分解的数据流图,它处在最底层中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。2023/2/712顶层数据流图随着需求分析活动的深入,较高抽象级别的复杂加工逐步精化为一系列相互关联的数据流和子加工。5.1数据流图与数据字典2023/2/713数据流图的精化与平衡逐层精化必须保持数据流图的平衡数据流与加工精化必须保持一致需求分析活动只求对问题全面、清晰的理解,不考虑软件设计细节
5.1数据流图与数据字典2023/2/714结构化分析方法功能建模的步骤
商店业务处理系统2023/2/715这个数据流图只是一个高层的系统逻辑模型,它反映了目标系统要实现的功能数据流图绘制步骤首先确定系统的输入和输出根据商店业务,画出顶层数据流图,以反映最主要业务处理流程2023/2/716经过分析,商店业务处理的主要功能应当有销售、采购、会计三大项。主要数据流输入的源点和输出终点是顾客和供应商。然后从输入端开始,根据商店业务工作流程,画出数据流流经的各加工框,逐步画到输出端,得到第一层数据流图2023/2/717第一层数据流图2023/2/718加细每一个加工框 销售细化2023/2/719采购细化2023/2/720检查和修改数据流图的原则数据流图上所有图形符号只限于前述四种基本图形元素数据流图的主图必须包括前述四种基本元素,缺一不可数据流图的主图上的数据流必须封闭在外部实体之间每个加工至少有一个输入数据流和一个输出数据流2023/2/721在数据流图中,需按层给加工框编号。编号表明该加工所处层次及上下层的亲子关系规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡可以在数据流图中加入物质流,帮助用户理解数据流图2023/2/722图上每个元素都必须有名字数据流图中不可夹带控制流初画时可以忽略琐碎的细节,以集中精力于主要数据流2023/2/723基本加工逻辑说明
对数据流图的每一个基本加工,必须有一个基本加工逻辑说明基本加工逻辑说明必须描述基本加工如何把输入数据流变换为输出数据流的加工规则加工逻辑说明必须描述实现加工的策略而不是实现加工的细节加工逻辑说明中包含的信息应是充足的,完备的,有用的,无冗余的2023/2/724用于写加工逻辑说明的工具结构化英语判定表判定树2023/2/725(1)结构化英语结构化英语的词汇表由英语命令动词数据词典中定义的名字有限的自定义词逻辑关系词IF_THEN_ELSE、
CASE_OF、
WHILE_DO、
REPEAT_UNTIL等组成。2023/2/726是一种介于自然语言和形式化语言之间的语言语言的正文用基本控制结构进行分割,加工中的操作用自然语言短语来表示其基本控制结构有三种:简单陈述句结构:避免复合语句;重复结构:while_do
或
repeat_until结构。判定结构:if_then_else
或
case_of结构;2023/2/727商店业务处理系统中“检查发货单”if发货单金额超过$500then
if
欠款超过了60天then
在偿还欠款前不予批准
else
(欠款未超期)发批准书,发货单
else
(发货单金额未超过$500)
if
欠款超过60天then
发批准书,发货单及赊欠报告
else
(欠款未超期)发批准书,发货单
2023/2/728(2)判定表如果数据流图的加工需要依赖于多个逻辑条件的取值,使用判定表来描述比较合适2023/2/729以“检查发货单”为例2023/2/7302023/2/731(3)判定树判定树也是用来表达加工逻辑的一种工具。有时侯它比判定表更直观。检查发货单金额>$500金额$500欠款>60天不发出批准书欠款60天发货单发出批准书、欠款>60天发出批准书、发货单及赊欠报告欠款60天发出批准书、发货单2023/2/732数据字典定义数据字典由数据条目组成,数据字典描述、组织和管理数据流图的数据流、加工、数据源及外部实体。数据字典用简洁、清晰、易理解的文字描述条目,说明数据流图的加工功能、性能、要求及设计约束等。数据流图与数据字典配套使用,完整地描述软件需求。5.1数据流图与数据字典2023/2/733数据字典的数据条目内容(1)名称与别名数据流、数据源或外部实体的标识;(2)数据类型;(3)何处使用/如何使用输入流/输出流的加工表;(4)内容描述;(5)补充说明如,取值范围与缺省值,有关的设计约束等。5.1数据流图与数据字典2023/2/734(1)数据流词条描述数据流名:说明:简要介绍作用即它产生的原因和结果数据流来源:来自何方数据流去向:去向何处数据流组成:数据结构数据量流通量:数据量,流通量2023/2/735(2)数据元素词条描述数据元素名:类型:数字(离散值,连续值),文字(编码类型)长度:取值范围:相关的数据元素及数据结构:2023/2/736(3)数据文件词条描述数据文件名:简述:存放的是什么数据输入数据:输出数据:数据文件组成:数据结构存储方式:顺序,直接,关键码存取频率:2023/2/737(4)加工逻辑词条描述加工名:加工编号:反映该加工的层次简要描述:加工逻辑及功能简述输入数据流:输出数据流:加工逻辑:简述加工程序,加工顺序2023/2/738(5)源点及汇(终)点词条描述名称:外部实体名简要描述:什么外部实体有关数据流:数目:2023/2/739数据结构的描述
符号
含义
举例=被定义为+与
x=a+b[...,...]或[...|...]或
x=[a,b],x=[a|b]{...}或m{...}n重复
x={a},x=3{a}8(...)可选
x=(a)“...”基本数据元素
x=“a”.. 连结符
x=1..92023/2/740存折格式2023/2/741存折=户名+所号+帐号+开户日+性质+(印密)+1{存取行}50户名=2{字母}24所号=“001”..“999”帐号=“00000001”..“99999999”开户日=年+月+日性质=“1”..“6”注:“1”表示普通户,“5”表示工资户等印密=“0”注:印密在存折上不显示存取行=日期+(摘要)+支出+存入+余额+操作+复核2023/2/7425.2实体—关系图需求分析的重要任务是,对复杂的数据及数据关系进行分析、建模。实体—关系图是数据模型的基础,它描述数据对象、属性、及其关系。
第五章面向数据流的分析方法2023/2/7435.2.1数据对象、属性与关系数据对象数据属性数据关系数据对象、属性与关系5.2实体-关系图2023/2/7441数据对象数据对象
现实世界具有不同特征和属性的实体或事务的标识,计算机软件描述并处理的一组信息。如,事件、行为、角色、组织、地点、结构等。数据对象只封装数据,包括:数据流、数据源、外部实体的数据部分,不封装操作。数据对象是相互关联的。5.2实体-关系图2023/2/7452数据对象的属性属性用“标识符、符号串和值”标识,描述数据对象的性质。包括:(1)命名标识数据对象(2)描述描述数据对象的性质(3)引用建立数据对象之间的联系数据对象的属性是原子数据项,不包含内部数据结构。数据对象的任何属性有且仅有一个属性值。现实世界的实体具有许多属性,分析人员只能考虑与应用问题有关的属性。5.2实体-关系图2023/2/746数据对象描述例汽车销售管理问题的数据对象描述表.
汽车属性制造商型号标识码车体类型颜色买主
5.2实体-关系图2023/2/7473数据对象的关系关系数据对象按照某种关系相互连接用对象-关系偶描述数据对象关系的命名及内涵应反映描述的问题删除与问题无关的关系5.2实体-关系图2023/2/7484数据对象、属性与关系数据对象、属性和关系问题的数据对象与其它数据对象存在各种形式的关联。数据模型研究,数据对象、数据对象的属性、数据对象之间的关系。基于数据的对象、属性与关系构成应用问题数据模型的基本要素。5.2实体-关系图2023/2/749数据对象、属性与关系例汽车销售问题的数据对象、属性与关系
数据对象数据对象关系制造商汽车生产购车用户汽车购买5.2实体-关系图2023/2/7505.2.2实体—关系图数据对象的描述用基数和形态两个参数实体—关系图描述系统所有数据对象的组成和属性,描述数据对象之间关系的图形语言。5.2实体-关系图2023/2/7511数据对象的基数和形态基数cardinality一对象与另一对象关联个数的度量。
取值“一对一”(1:1)一个对象A关联一个对象B,反之,一个对象B关联一个对象A。如,夫妻。“一对多”(1:N)一个对象A关联多个对象B,反之,一个对象B关联一个对象A。如,父子。“多对多”(N:M)一个对象A关联多个对象B,反之,一个对象B关联多个对象A。如,叔侄。5.2实体-关系图2023/2/752数据对象的基数和形态形态modality数据对象与某一“关系”关联程度的度量。取值0、1、多。
“数据对象”与“关系”“关系的形态”无关/可选0出现一次1出现多次“多”5.2实体-关系图2023/2/7532实体—关系图实体-关系图标识系统输入/输出的数据对象定义对象的属性描述对象间的关系5.2实体-关系图2023/2/754E-R图中表示实体关联的符号如下:XY一个X与一个Y相关联一个X与一个或多个Y相关联XY一个X与零个或一个Y相关联XY一个X与零个,一个或多个Y相关联XY一个X与一个Y或Z相关联XYZ一个X与一个Y与Z相关联XYZ2023/2/755实体—关系图实例
汽车制造商与运输商的运货合同数据对象
长方形表示关系菱形表示数据对象有基数和形态两个参数。基数
关系线上离距形近的符号形态
关系线上离距形远的符号5.2实体-关系图2023/2/756例汽车的层次表示
用实体—关系图表示数据对象的层次结构及部分—整体关系
5.2实体-关系图2023/2/757例汽车的部分—整体关系5.2实体-关系图2023/2/758结构化分析
创建实体关系图过程(1)客户列出业务过程中的事物,它对应一组输入/输出数据对象,及生产/消费信息的外部实体
(2)系统分析员和客户逐个定义对象及对象间的连接(3)根据对象间的连接标识对象-关系偶(4)确定对象-关系偶的基数和形态(5)重复(2)-(4)直至创建所有的对象-关系偶(6)描述实体属性(7)复审实体-关系图(8)重复(1)-(7)完成数据建模
5.2实体-关系图2023/2/7595.4基于数据流的分析方法数据建模的基本元素是,数据对象、属性和关系。创建数据流模型创建控制流模型过程规格说明例“家庭保安系统”第五章面向数据流的分析方法2023/2/7605.4.1创建数据流模型数据流图是目标软件系统中各个处理子功能以及它们之间的数据流动的图形表示。数据流图的精化过程是处理子功能和数据流的细化过程。随着这一过程的进行,用户需求逐步精确化、一致化、完全化。5.4基于数据流的分析方法2023/2/761结构化分析
创建数据流模型过程(1)用一个园盘描述第0层软件/系统的DFD图(2)标记系统的输入/输出(3)
精化
描述第I层的数据对象、存储和加工
(4)
标记箭头和园盘(5)对第I层信息流进行一致性维护(6)对加工园盘逐个进行精化(7)当第n层DFD图园盘己精化为容易实现的简单操作时,创建数据流模型的过程仃止。
5.4基于数据流的分析方法2023/2/762结构化分析
创建数据流模型利用数据流图DFD开发信息域和功能域模型。当DFD精化到较细级别时,分析员进行隐式功能分解,並导致相应数据的精化。加工规格说明
PSPEC
描述输入信息、加工算法、产生输出结果,指明加工的约束和限制、产品的性能特征和工作环境等。5.4基于数据流的分析方法2023/2/763创建用户需求数据流模型应遵循的规则(1)首先建立顶级数据流图顶级数据流图只有一个代表目标软件系统的功能加工根据软件系统与外部环境的关系确定顶级数据流图的外部实体以及它们与软件系统之间的数据流。“家庭保安系统”0级数据流图5.4基于数据流的分析方法2023/2/764“家庭保安系统”1级数据流图2)对用户需求的文字描述进行语法分析名词和名词短语构成潜在的外部实体数据源或数据流、动词构成潜在的处理功能。
结合分析人员对问题域和用户需求的理解,确定软件系统的主要功能以及它们之间的数据流。5.4基于数据流的分析方法2023/2/765创建用户需求数据流模型应遵循的规则
(3)功能分解按照“强内聚、松藕合”原则,对处理功能进行精化;对数据流进行精化,针对被精化的处理功能生成下一级数据流图。数据流精化的意义数据流的内容及各项特征将逐步彰现,所以要将其作为数据字典的一个条目,并不断精化、调整内容。在父数据流图中的复合数据项可被分解为子数据项,这种数据流分解并不违背平衡准则。如,如果将图5.16中的“启动/停止系统”功能分解为“启动系统”和“停止系统”,那么“启动/停止命令”应相应地精化为“启动命令”和“停止命令”。5.4基于数据流的分析方法2023/2/766“家庭保安系统”2级数据流图(4)在精化过程中必须维持各级数据流图的平衡。(5)精化过程应适可而止,避免涉及软件设计细节。某子功能可以用一段简洁、精确的文字描述清楚,就无需进一步分解。5.4基于数据流的分析方法2023/2/7675.4.2创建控制流模型实时嵌入式系统存在事件驱动机制,通过系统的加工产生控制信息。系统对事件信息的加工必须在指定的时间内完成。实时嵌入式系统的描述不仅需要数据流图,而且还需要控制流图CFD。控制规格说明用状态变迁图(STD)、加工激活表(PAT)描述系统的行为。状态变迁图是行为的“顺序规格说明”加工激活表是行为的“组合规格说明”,它指明某一事件发生时,流模型被激活的加工园盘。5.4基于数据流的分析方法2023/2/768“家庭保安系统”控制流图5.4基于数据流的分析方法2023/2/769“家庭保安系统”状态加工图5.4基于数据流的分析方法2023/2/770结构化分析
创建控制流模型过程(1)列出系统的输入传感器(2)列出系统的中断条件(3)列出系统的操作开关(4)列出数据条件(5)考察加工中的动词和名词、考察控制规格说明的数据项(6)描述系统行为,标
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030全球盐酸毛果芸香碱行业调研及趋势分析报告
- 2025服务器托管合同书模板
- 绿色供应链一体化管理合同
- 2025关于医药采购合同
- 品牌服务协议书合同范本
- 滨海新区应急管理局
- 房屋租赁权转让合同范文
- 建筑材料居间合同
- 药品购销标准合同
- 企业间借款担保合同
- 8.3+区域性国际组织+课件高中政治统编版选择性必修一当代国际政治与经济
- 2025年国网陕西省电力限公司高校毕业生招聘1100人(第二批)高频重点提升(共500题)附带答案详解
- 《深度学习的7种有力策略》
- 2025年潞安化工集团招聘笔试参考题库含答案解析
- 幼儿园一日生活安全课件
- 《认罪认罚案件被追诉人反悔应对机制研究》
- 多旋翼无人飞行器嵌入式飞控开发实战-基于STM32系列微控制器的代码实现
- 国家开放大学护理社会实践报告
- 投资项目评估管理制度
- 《工程地质》试题及答案四
- 工程项目归档资料目录范本
评论
0/150
提交评论