欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > PPT文档下载  

    软件工程分析.ppt

    • 资源ID:235666       资源大小:2.06MB        全文页数:76页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件工程分析.ppt

    2023/3/10,1,需求建模,需求建模方法结构化分析方法 面向数据流的分析方法 面向数据的分析方法面向对象的分析方法,2023/3/10,2,需求建模,需求建模方法的组成 一组语言机制 供需求分析人员表达用户需求、构造软件模型。规则和经验 指导分析人员提取需求并使用户需求精确化、全面化、一致化。,2023/3/10,3,结构化分析方法,六十年代未、七十年代初结构化设计盛行,结构化分析以结构化设计附产品的身份出现。七十年代未期 Douglas Ross提出结构化分析的术语 DeMarcoDEM79 进行推广,给出分析员可以创建信息流模型的主要图形记号,建议将“数据字典”和“处理说明”作为信息流模型的补充,並提供方法应用的实例;,2023/3/10,4,结构化分析方法,八十年代初期Page-JonesPAG80,GaneGAN82等人提出结构化分析方法的一些变种,用于信息系统的开发;八十年代中期 Ward、MellorWAR85、Hatiy和PirbhaiHAT87对结构化分析进行扩充支持实时、控制和嵌入式系统的开发;Harel Pnueli研制了面向复杂实时反应式系统(Complex Real-time Reactive System)的开发环境 STATEMATE。,2023/3/10,5,第五章 面向数据流的分析方法,1 数据流图与数据字典 2 实体一关系图 数据对象、属性与关系 实体一关系图 3 数据流图的实时系统扩充 Ward&Mellor扩充 Hatley&Pirhai扩充 4 基于数据流的分析方法 创建数据流模型 创建控制流模型 创建过程规格说明 5 基于数据流图的需求分析CASE工具。语言机制 动态分析 基于CASE工具的需求分析以“家庭保安系统”为例展示结构化分析方法的使用过程。,2023/3/10,6,结构化的分析模型,第五章 面向数据流的分析方法,2023/3/10,7,结构化的分析模型,核心 数据字典 描述软件工程项目的所有数据对象中间层 实体-关系图、数据流图、状态-变迁图 实体-关系图 描述数据对象之间的关系 数据流图 功能建模的基础 系统或子系统对数据实施的变换、变换的功能 提供信息分析的信息 状态-变迁图 行为建模的基础 系统的行为模式(称“状态”)以及状态变迁的方式,第五章 面向数据流的分析方法,2023/3/10,8,结构化的分析模型,最外层数据对象描述、加工规格说明PSPEC、控制规格说明CSPEC数据对象 表示实体-关系图中每个数据对象的属性加工规格说明PSPEC 描述数据流图的每个功能。控制规格说明CSPEC 描述软件控制的附加信息,第五章 面向数据流的分析方法,2023/3/10,9,5.1 数据流图与数据字典,基于计算机的信息处理系统由数据流和一系列的加工构成,这些加工将输入数据流加工为输出数据流数据流图描述数据流和加工数据流图用图形符号表示数据流、加工、数据源及外部实体数据流图具有层次结构,支持问题分解、逐步求精的分析方法它是数据驱动的数据流图既可以表示基于计算机的系统,也可以表示软件,第五章 面向数据流的分析方法,2023/3/10,10,数据流图标记,5.1数据流图与数据字典,2023/3/10,11,数据流与数据加工之间的关系,2023/3/10,12,分层的数据流图,2023/3/10,13,在多层数据流图中,顶层流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据底层流图是指其加工不需再做分解的数据流图,它处在最底层中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。,2023/3/10,14,顶层数据流图,随着需求分析活动的深入,较高抽象级别的复杂加工逐步精化为一系列相互关联的数据流和子加工。,5.1数据流图与数据字典,2023/3/10,15,数据流图的精化与平衡,逐层精化必须保持数据流图的平衡数据流与加工精化必须保持一致需求分析活动只求对问题全面、清晰的理解,不考虑软件设计细节,5.1数据流图与数据字典,2023/3/10,16,结构化分析方法功能建模的步骤 商店业务处理系统,2023/3/10,17,这个数据流图只是一个高层的系统逻辑模型,它反映了目标系统要实现的功能数据流图绘制步骤 首先确定系统的输入和输出 根据商店业务,画出顶层数据流图,以反映最主要业务处理流程,2023/3/10,18,经过分析,商店业务处理的主要功能应当有销售、采购、会计三大项。主要数据流输入的源点和输出终点是顾客和供应商。然后从输入端开始,根据商店业务工作流程,画出数据流流经的各加工框,逐步画到输出端,得到第一层数据流图,2023/3/10,19,第一层数据流图,2023/3/10,20,加细每一个加工框 销售细化,2023/3/10,21,采购细化,2023/3/10,22,检查和修改数据流图的原则,数据流图上所有图形符号只限于前述四种基本图形元素数据流图的主图必须包括前述四种基本元素,缺一不可数据流图的主图上的数据流必须封闭在外部实体之间每个加工至少有一个输入数据流和一个输出数据流,2023/3/10,23,在数据流图中,需按层给加工框编号。编号表明该加工所处层次及上下层的亲子关系规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡可以在数据流图中加入物质流,帮助用户理解数据流图,2023/3/10,24,图上每个元素都必须有名字数据流图中不可夹带控制流初画时可以忽略琐碎的细节,以集中精力于主要数据流,2023/3/10,25,基本加工逻辑说明,对数据流图的每一个基本加工,必须有一个基本加工逻辑说明基本加工逻辑说明必须描述基本加工如何把输入数据流变换为输出数据流的加工规则加工逻辑说明必须描述实现加工的策略而不是实现加工的细节加工逻辑说明中包含的信息应是充足的,完备的,有用的,无冗余的,2023/3/10,26,用于写加工逻辑说明的工具,结构化英语 判定表 判定树,2023/3/10,27,(1)结构化英语,结构化英语的词汇表由 英语命令动词 数据词典中定义的名字 有限的自定义词 逻辑关系词 IF_THEN_ELSE、CASE_OF、WHILE_DO、REPEAT_UNTIL等组成。,2023/3/10,28,是一种介于自然语言和形式化语言之间的语言语言的正文用基本控制结构进行分割,加工中的操作用自然语言短语来表示其基本控制结构有三种:简单陈述句结构:避免复合语句;重复结构:while_do 或 repeat_until 结构。判定结构:if_then_else 或 case_of 结构;,2023/3/10,29,商店业务处理系统中“检查发货单”,if 发货单金额超过$500 then if 欠款超过了60天 then 在偿还欠款前不予批准 else(欠款未超期)发批准书,发货单 else(发货单金额未超过$500)if 欠款超过60天 then 发批准书,发货单及赊欠报告 else(欠款未超期)发批准书,发货单,2023/3/10,30,(2)判定表,如果数据流图的加工需要依赖于多个逻辑条件的取值,使用判定表来描述比较合适,2023/3/10,31,以“检查发货单”为例,2023/3/10,32,2023/3/10,33,(3)判定树,判定树也是用来表达加工逻辑的一种工具。有时侯它比判定表更直观。,2023/3/10,34,数据字典,定义 数据字典由数据条目组成,数据字典描述、组织和管理数据流图的数据流、加工、数据源及外部实体。数据字典用简洁、清晰、易理解的文字描述条目,说明数据流图的加工功能、性能、要求及设计约束等。数据流图与数据字典配套使用,完整地描述软件需求。,5.1数据流图与数据字典,2023/3/10,35,数据字典的数据条目,内容(1)名称与别名 数据流、数据源或外部实体的标识;(2)数据类型;(3)何处使用如何使用 输入流输出流的加工表;(4)内容描述;(5)补充说明 如,取值范围与缺省值,有关的设计约束等。,5.1数据流图与数据字典,2023/3/10,36,(1)数据流词条描述,数据流名:说明:简要介绍作用即它产生的原因和结果数据流来源:来自何方数据流去向:去向何处数据流组成:数据结构数据量流通量:数据量,流通量,2023/3/10,37,(2)数据元素词条描述,数据元素名:类型:数字(离散值,连续值),文字(编码类型)长度:取值范围:相关的数据元素及数据结构:,2023/3/10,38,(3)数据文件词条描述,数据文件名:简述:存放的是什么数据输入数据:输出数据:数据文件组成:数据结构存储方式:顺序,直接,关键码存取频率:,2023/3/10,39,(4)加工逻辑词条描述,加工名:加工编号:反映该加工的层次简要描述:加工逻辑及功能简述输入数据流:输出数据流:加工逻辑:简述加工程序,加工顺序,2023/3/10,40,(5)源点及汇(终)点词条描述,名称:外部实体名简要描述:什么外部实体有关数据流:数目:,2023/3/10,41,数据结构的描述,符 号 含 义 举 例 被定义为 与 x=ab.,.或.|.或 x=a,b,x=a|b.或 m.n 重复 x=a,x=3a8(.)可选 x=(a)“.”基本数据元素 x=“a”.连结符 x=1.9,2023/3/10,42,存折格式,2023/3/10,43,存折户名所号帐号开户日性质(印密)1存取行50户名2字母24所号“001”.“999”帐号“00000001”.“99999999”开户日年月日性质“1”.“6”注:“1”表示普通户,“5”表示工资户等印密“0”注:印密在存折上不显示存取行日期(摘要)支出存入余额操作复核,2023/3/10,44,5.2 实体关系图,需求分析的重要任务是,对复杂的数据及数据关系进行分析、建模。实体关系图是数据模型的基础,它描述数据对象、属性、及其关系。,第五章 面向数据流的分析方法,2023/3/10,45,5.2.1 数据对象、属性与关系,数据对象数据属性数据关系数据对象、属性与关系,5.2实体-关系图,2023/3/10,46,1 数据对象,数据对象 现实世界具有不同特征和属性的实体或事务的标识,计算机软件描述并处理的一组信息。如,事件、行为、角色、组织、地点、结构等。数据对象只封装数据,包括:数据流、数据源、外部实体的数据部分,不封装操作。数据对象是相互关联的。,5.2实体-关系图,2023/3/10,47,2 数据对象的属性,属性 用“标识符、符号串和值”标识,描述数据对象的性质。包括:(1)命名 标识数据对象(2)描述 描述数据对象的性质(3)引用 建立数据对象之间的联系数据对象的属性是原子数据项,不包含内部数据结构。数据对象的任何属性有且仅有一个属性值。现实世界的实体具有许多属性,分析人员只能考虑与应用问题有关的属性。,5.2实体-关系图,2023/3/10,48,数据对象描述,例 汽车销售管理问题的数据对象描述表.汽车属性 制造商 型号 标识码 车体类型 颜色 买主,5.2实体-关系图,2023/3/10,49,3 数据对象的关系,关系数据对象按照某种关系相互连接用对象关系偶描述数据对象关系的命名及内涵应反映描述的问题删除与问题无关的关系,5.2实体-关系图,2023/3/10,50,4 数据对象、属性与关系,数据对象、属性和关系问题的数据对象与其它数据对象存在各种形式的关联。数据模型研究,数据对象、数据对象的属性、数据对象之间的关系。基于数据的对象、属性与关系构成应用问题数据模型的基本要素。,5.2实体-关系图,2023/3/10,51,数据对象、属性与关系,例 汽车销售问题的数据对象、属性与关系 数据对象 数据对象 关系 制造商 汽车 生产 购车用户 汽车 购买,5.2实体-关系图,2023/3/10,52,5.2.2 实体关系图,数据对象的描述 用基数和形态两个参数实体关系图 描述系统所有数据对象的组成和属性,描述数据对象之间关系的图形语言。,5.2实体-关系图,2023/3/10,53,1 数据对象的基数和形态,基数 cardinality 一对象与另一对象关联个数的度量。取值“一对一”(1:1)一个对象A关联一个对象B,反之,一个对象B关联一个对象A。如,夫妻。“一对多”(1:N)一个对象A关联多个对象B,反之,一个对象B关联一个对象A。如,父子。“多对多”(N:M)一个对象A关联多个对象B,反之,一个对象B关联多个对象A。如,叔侄。,5.2实体-关系图,2023/3/10,54,数据对象的基数和形态,形态 modality 数据对象与某一“关系”关联程度的度量。取值 0、1、多。“数据对象”与“关系”“关系的形态”无关可选 0 出现一次 1 出现多次“多”,5.2实体-关系图,2023/3/10,55,2 实体关系图,实体关系图标识系统输入/输出的数据对象定义对象的属性描述对象间的关系,5.2实体-关系图,2023/3/10,56,E-R图中表示实体关联的符号如下:,一个X与一个Y相关联,一个X与一个或多个Y相关联,一个X与零个或一个Y相关联,一个X与零个,一个或多个Y相关联,一个X与一个Y或Z相关联,一个X与一个Y与Z相关联,2023/3/10,57,实体关系图 实例 汽车制造商与运输商的运货合同,数据对象 长方形表示关系 菱形表示 数据对象有基数和形态两个参数。基数 关系线上离距形近的符号形态 关系线上离距形远的符号,5.2实体-关系图,2023/3/10,58,例 汽车的层次表示,用实体关系图表示数据对象的层次结构及部分整体关系,5.2实体-关系图,2023/3/10,59,例 汽车的部分整体关系,5.2实体-关系图,2023/3/10,60,结构化分析 创建实体-关系图,过程(1)客户列出业务过程中的事物,它对应一组输入/输出数据对象,及生产/消费信息的外部实体(2)系统分析员和客户逐个定义对象及对象间的连接(3)根据对象间的连接标识对象-关系偶(4)确定对象-关系偶的基数和形态(5)重复(2)-(4)直至创建所有的对象-关系偶(6)描述实体属性(7)复审实体-关系图(8)重复(1)-(7)完成数据建模,5.2实体-关系图,2023/3/10,61,5.4 基于数据流的分析方法,数据建模的基本元素是,数据对象、属性和关系。创建数据流模型创建控制流模型过程规格说明例“家庭保安系统”,第五章 面向数据流的分析方法,2023/3/10,62,5.4.1 创建数据流模型,数据流图是目标软件系统中各个处理子功能以及它们之间的数据流动的图形表示。数据流图的精化过程是处理子功能和数据流的细化过程。随着这一过程的进行,用户需求逐步精确化、一致化、完全化。,5.4基于数据流的分析方法,2023/3/10,63,结构化分析 创建数据流模型,过程(1)用一个园盘描述第0层软件/系统的DFD图(2)标记系统的输入/输出(3)精化 描述第I层的数据对象、存储和加工(4)标记箭头和园盘(5)对第I层信息流进行一致性维护(6)对加工园盘逐个进行精化(7)当第n层DFD图园盘己精化为容易实现的简单操作时,创建数据流模型的过程仃止。,5.4基于数据流的分析方法,2023/3/10,64,结构化分析 创建数据流模型,利用数据流图DFD开发信息域和功能域模型。当DFD精化到较细级别时,分析员进行隐式功能分解,並导致相应数据的精化。加工规格说明 PSPEC 描述输入信息、加工算法、产生输出结果,指明加工的约束和限制、产品的性能特征和工作环境等。,5.4基于数据流的分析方法,2023/3/10,65,创建用户需求数据流模型应遵循的规则,(1)首先建立顶级数据流图顶级数据流图只有一个代表目标软件系统的功能加工根据软件系统与外部环境的关系确定顶级数据流图的外部实体以及它们与软件系统之间的数据流。“家庭保安系统”0级数据流图,5.4基于数据流的分析方法,2023/3/10,66,“家庭保安系统”1级数据流图,2)对用户需求的文字描述进行语法分析名词和名词短语构成潜在的外部实体数据源或数据流、动词构成潜在的处理功能。结合分析人员对问题域和用户需求的理解,确定软件系统的主要功能以及它们之间的数据流。,5.4基于数据流的分析方法,2023/3/10,67,创建用户需求数据流模型应遵循的规则,(3)功能分解按照“强内聚、松藕合”原则,对处理功能进行精化;对数据流进行精化,针对被精化的处理功能生成下一级数据流图。数据流精化的意义数据流的内容及各项特征将逐步彰现,所以要将其作为数据字典的一个条目,并不断精化、调整内容。在父数据流图中的复合数据项可被分解为子数据项,这种数据流分解并不违背平衡准则。如,如果将图5.16中的“启动停止系统”功能分解为“启动系统”和“停止系统”,那么“启动停止命令”应相应地精化为“启动命令”和“停止命令”。,5.4基于数据流的分析方法,2023/3/10,68,“家庭保安系统”2级数据流图,(4)在精化过程中必须维持各级数据流图的平衡。()精化过程应适可而止,避免涉及软件设计细节。某子功能可以用一段简洁、精确的文字描述清楚,就无需进一步分解。,5.4基于数据流的分析方法,2023/3/10,69,5.4.2 创建控制流模型,实时嵌入式系统存在事件驱动机制,通过系统的加工产生控制信息。系统对事件信息的加工必须在指定的时间内完成。实时嵌入式系统的描述不仅需要数据流图,而且还需要控制流图CFD。控制规格说明用状态变迁图(STD)、加工激活表(PAT)描述系统的行为。状态变迁图是行为的“顺序规格说明”加工激活表是行为的“组合规格说明”,它指明某一事件发生时,流模型被激活的加工园盘。,5.4基于数据流的分析方法,2023/3/10,70,“家庭保安系统”控制流图,5.4基于数据流的分析方法,2023/3/10,71,“家庭保安系统”状态加工图,5.4基于数据流的分析方法,2023/3/10,72,结构化分析 创建控制流模型,过程(1)列出系统的输入传感器(2)列出系统的中断条件(3)列出系统的操作开关(4)列出数据条件(5)考察加工中的动词和名词、考察控制规格说明的数据项(6)描述系统行为,标识状态和状态变迁(7)关注可能的省略(如,是否还有其它的状态进入或离开这个状态?),5.4基于数据流的分析方法,2023/3/10,73,5.4.3 过程规格说明,对数据流图无须再分解的处理功能,可借助结构化的自然语言、“程序设计的语言(PDL)”、数学方程、表、图或图表等工具进行描述。必须为数据流流模型的每个加工园盘提供相应的加工过程规格说明。,5.4基于数据流的分析方法,2023/3/10,74,例“口令核对”的“设置口令”子功能描述,(1)参数:口令;类别:字符串(2)处理步骤:(a)检查系统是否已有口令。若有,则验证用户输入口令的有效性。如果有效,则显示提示信息要求输入新口令;否则,显示失败信息并退出。(b)检查口令长度是否合法。如果非法则显示提示信息要求重新输入。(c)要求用户再次键入合法口令以便用户确认和记忆。如果两次键入的口令不符,则返回。(d)将确认后的口令按某种加密方法加工为另一字符串存放于系统配置文件中。显示成功信息并退出。(3)约束条件:在上述(a),(b),(c)步骤中,用户重试的机会不超过3次。,5.4基于数据流的分析方法,2023/3/10,75,小结,结构化分析是广泛使用的需求建模方法,数据建模和数据流建模为分析模型奠定基础。本章介绍了数据流图、数据字典和实体关系图的基本概念,讨论了在数据流图中引进实时系统需求分析机制的两种扩充方法。利用实体-关系图可以表示系统中全部重要的数据对象。基于数据流图进行需求分析的过程为:创建数据流模型、创建控制流模型、针对原子级处理功能给出过程规格说明。维持数据流图的层间平衡是保证需求模型一致性的一条重要规则。,第五章 面向数据流的分析方法,2023/3/10,76,小结,数据流图和控制流图是表示数据和控制迁移的基础。利用这些模型创建软件功能模型,並提供功能划分机制。用状态迁移图创建行为模型用数据字典表示数据的内容。加工规格说明和控制规格说明提供了更详细的附加说明。结构化分析的原始符号是为数据处理设计的,通过扩充用于实时系统。一组CASE工具支持用结构化分析方法创建模型的每一个元素,並保持一致性和正确性。,第五章 面向数据流的分析方法,

    注意事项

    本文(软件工程分析.ppt)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开