欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    软件工程模型与方法 05、结构化需求分析.ppt

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

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

    软件工程模型与方法 05、结构化需求分析.ppt

    软件工程模型与方法 Models&Methods of SE第五章 结构化需求分析肖丁肖丁 2本章内容本章内容u5.1 结构化需求分析的由来u5.2 结构化分析模型的组成u5.3 数据建模u5.4 功能建模u5.5 行为建模u5.6 数据词典u5.7 软件需求规格说明书35.1 结构化需求分析的由来结构化需求分析的由来u分析建模的开始于20世纪60-70年代,但结构化分析方法的第一次出现是作为另一个重要课题“结构化设计”的附属品。u其目的是需要一种图形符号体系来表示数据和对数据进行变换的处理,这些处理最终能被映射到软件体系结构的设计中。u结构化分析这个词汇最初由Douglas Ross提出,由DeMarco进行了推广。45.2 分析模型的结构分析模型的结构u需求分析的分析模型必须达到三个主要目标:描述客户的需求;建立创建软件设计的基础;定义在软件完成后可以被确认的一组需求。55.3 数据建模数据建模u概念性数据模型是一种面向问题的数据模型,是按照用户的观点来对数据和信息建模。其表示方法称为实体-关系法,也称为实体关系模型。u它描述了从用户角度看到的数据,反映了用户的现实环境,但与在软件系统中的实现方法无关。u软件系统本质上是信息处理系统,即对数据进行处理的系统,因此在开发过程中必须考虑以下两方面的问题:“数据”需要有哪些数据?数据之间有什么联系?数据本身有什么性质?数据结构等 对数据的“处理”对数据进行哪些处理?每个处理的逻辑功能是什么?65.3.1 数据建模的作用数据建模的作用u数据建模反映了与任何数据处理应用相关的一组特定问题:系统处理哪些主要的数据对象?每个数据对象的组成如何?而且哪些属性描述了这些数据对象?这些数据对象当前位于何处?每个数据对象与其他数据对象有哪些关系?数据对象和变换它们的处理之间有哪些关系?75.3.2 数据对象数据对象u数据对象描述包括了数据对象的名称及其所有属性。通常将数据对象简称为“实体”,其具体表现可以是:外部实体:产生或使用消息的任何事物;事物:例如建筑物、汽车等物体;事件:例如警报;角色:例如老师、学生、销售等;组织单位:例如学校教务处、财务处等;地点:例如仓库、停车场等;结构:例如文件、档案等。85.3.3 数据对象的属性和关系数据对象的属性和关系u每个数据对象都具有一些区别于其他数据对象的特征和性质,这些特征称为数据对象的属性。它可用于:命名数据对象;描述数据对象实例;建立与其它数据对象的联系;u数据对象之间可以存在某种特定的连接,称之为数据对象的关系。u关系是由被分析问题的语境定义的。95.3.4 数据对象的基数数据对象的基数u数据建模的基本元素:数据对象、属性和关系提供了理解问题信息域的基础,但还必须了解数据对象之间出现的次数有无必然的联系,即实体-关系对的基数。u基数通常简单地表达为“一”或“多”。考虑到“一”和“多”的所有组合,两个实体可能的关联如下:一对一:例如人和身份证件的关系;一对多:例如父母与孩子的关系;多对多:例如学生和老师的关系;105.3.5 实体关系图实体关系图uER图的主要目的是以图形的形式表示实体与实体之间的关系。uER图最初是由Peter Chen为关系数据库系统的设计提出的,标识了一组基本的构件:实体、属性、关系。u例如,教学管理系统中的教师、学生和课程之间的关系115.3.6 数据结构规范化数据结构规范化u数据对象之间的基数关系,在关系型数据库中就会造成数据存储的冗余现象。为了消除数据冗余,就需要对实体-关系图中的数据进行规范化处理,即数据范式。u数据结构的规范化有以下好处:消除多义性:使关系中的属性含义清楚、单一;关系单纯化:让每个数据项只是简单的数或字符串,方便操作。使数据的插入、删除与修改操作可行且方便;使关系模式更灵活:易于实现接近自然语言的查询方式。125.3.7 范式简介范式简介u通常来说第一范式的数据冗余程度最大,随着范式提高数据冗余会随之变小。u然而范式级别越高,存储同样数据就需要分解成越多张表,因此“存储自身”的过程也就越复杂。u随着范式级别的提高,数据的存储结构与基于问题域的结构间的匹配程度也随之下降,为此在需求发生变化时数据的稳定性随之下降。除此之外,范式级别的提高则需要访问的表增多,因此性能或处理速度将下降。135.3.8 三范式三范式u第一范式(1FN):关系中所有属性都是“单纯域”,即不出现“表中有表”;表的每一行只包含一个实例的信息。u第二范式(2FN):非主属性完全函数依赖于关键字;首先必须满足1FN,然后要求表中的每个实例或行必须可以被唯一地区分。需要添加一个实例的唯一标识列,称为主关键字或主键、主码。u第三范式(3FN):在满足第二范式的基础上,要求非主属性相互独立,即任何非主属性间不存在函数依赖。145.4 功能建模功能建模u当数据或信息“流”过计算机系统时将会被系统的功能所处理、加工或变换后再将处理或变换后的数据从系统输出。u基于计算机的系统可被表示为数据流图的基本结构:155.4.1 数据流图的结构数据流图的结构u数据流图可以被用来抽象地表示系统或软件,既能提供功能建模的机制。u也可提供数据流建模的机制,并可以自顶向下的机制表示层级的功能细节和数据变换细节。u从数据流图中可知,数据流图有四种基本元素:165.4.2 数据流与加工的关系数据流与加工的关系其中星号“*”表示相邻的一对数据流同时出现;“”则表示相邻的两数据流只取其一。175.4.3 分层的数据流图分层的数据流图u为表达稍为复杂的实际问题,需要按照问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。顶层数据流图:顶层流图仅包含一个加工,它代表被开发系统,其作用在于表明被开发系统的范围,以及它和周围环境的数据交换关系。中间层数据流图:表示对其上层父图的细化。它的每一加工可以继续细化,形成子图。中间层次的多少视系统的复杂程度而定。底层数据流图:是指其加工不须再做分解的数据流图,其加工称为“原子加工”。185.4.4 分层数据流图的两种表示分层数据流图的两种表示195.4.5 数据流图的绘制步骤数据流图的绘制步骤u画数据流图的基本步骤概括地说,就是自外向内,自顶向下,逐层细化,完善求精。具体步骤可按如下来做:1.先找系统的数据源点与汇点。它们是外部实体,由它们确定系统与外界的接口。2.找出外部实体的输出数据流与输入数据流。3.在图的边上画出系统的外部实体。4.从外部实体的输出数据流(即系统的源点)出发,按照系统的逻辑需要,逐步画出一系列逻辑加工,直到找到外部实体所需的输入数据流(即系统的汇点),形成数据流的封闭。5.按照下面所给的原则进行检查和修改。6.按照上述步骤,再从各加工出发,画出所需的子图。205.4.5.1 医院就诊管理系统例子医院就诊管理系统例子u假设,该系统涉及医院的三个部门:挂号、问诊、交费和取药。挂号挂号:挂号处的挂号人员接受病人的就诊请求,根据门诊科室各医生的病人的排队情况,分配合适科室和医生,记录并打印挂号凭据,收取挂号费完成挂号请求。问诊问诊:医生根据挂号的次序对病人进行病情诊断,根据挂号单据及病历号获取该病人的历史病历,然后将问诊结果记录在病历当中并开具相应的处方(处方中可根据系统提供的药品进行选择),打印处方交给病人完成一次问诊。交费取药交费取药:病人在收费处根据挂号单据和处方所列出的药品种类和数量进行交费,取得相应的药品完成一次看病流程。215.4.5.2 顶层的数据流图顶层的数据流图225.4.5.3 第一层数据流图第一层数据流图235.4.5.4 第二层数据流图第二层数据流图245.4.6 检查和修改数据流图的原则检查和修改数据流图的原则u数据流图上所有图形符号只限于前述四种基本图形元素。数据流图上所有图形符号只限于前述四种基本图形元素。u数据流图的主图必须包括前述四种基本元素,缺一不可。数据流图的主图必须包括前述四种基本元素,缺一不可。u数据流图的主图上的数据流必须封闭在外部实体之间,外部实体可以数据流图的主图上的数据流必须封闭在外部实体之间,外部实体可以不只一个。不只一个。u每个加工至少有一个输入数据流和一个输出数据流。每个加工至少有一个输入数据流和一个输出数据流。u在数据流图中,需按层给加工框编号。编号表明该加工处在哪一层,在数据流图中,需按层给加工框编号。编号表明该加工处在哪一层,以及上下层的父图与子图的对应关系。以及上下层的父图与子图的对应关系。u任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡。它表明了在细据流和输出数据流必须一致。此即父图与子图的平衡。它表明了在细化过程中输入与输出不能有丢失和强加。化过程中输入与输出不能有丢失和强加。u图上每个元素都必须有名字。表明数据流和数据文件是什么数据,加图上每个元素都必须有名字。表明数据流和数据文件是什么数据,加工做什么事情。工做什么事情。u一般情况下,数据流图中不可夹带控制流。因为数据流图是实际业务一般情况下,数据流图中不可夹带控制流。因为数据流图是实际业务流程的客观表现,说明系统流程的客观表现,说明系统“做什么做什么”而不是要表明系统而不是要表明系统“如何做如何做”,因此不是系统的执行顺序,不是程序流程图。,因此不是系统的执行顺序,不是程序流程图。255.4.7实时系统的数据流图实时系统的数据流图uWard&Mellor对实时系统的数据流图进行相应的扩展,引入了控制流及连续的数据流等符号。该扩展可适应实时系统提出的要求:在时间连续的基础上接收或产生数据流;贯穿系统的控制信息和相关的控制处理;多任务的情况下可能会遇到同一个加工的多个实例;系统状态以及导致系统状态迁移的机制。控制项或事件 连续数据流 控制加工 控制存储 一个加工的多个实例 26下图给出一个制造车间的数据和控制流的顶层流图。事件可以作为普通数据加工的输入数据流,控制也可以接收普通的输入数据流。上图给出一个基于计算机的水温控制系统的处理。水温测量仪连续传送水温数据给温度监控加工模块,该加工将水温与允许波动范围进行比较,输出校正数据给温度调节装置。275.5 行为建模行为建模u为了直观地分析系统的动作,从特定的视角出发描述系统的行为,需要采用动态分析的方法。u其中最为常用的动态分析方法有:状态迁移图时序图Petri网等。285.5.1 状态迁移图状态迁移图u利用状态迁移图来描述系统或对象的状态,以及导致系统或对象的状态改变的事件,从而描述系统的行为。u状态迁移图指明系统的状态如何相应外部事件进行推移。u在状态迁移图中,用圆圈“”表示可得到的系统状态,用箭头“”表示从一种状态向另一种状态的迁移。u状态迁移图指明了作为特定事件的结果(状态)。在状态中包含可能执行的行为(活动或加工)。295.5.2 分层的状态迁移图分层的状态迁移图u在状态迁移图中,由一个状态和一个事件所决定的下一状态可能会有多个。实际会迁移到哪一个是由更详细的内部状态和更详细的事件信息来决定的。305.5.3 Petri Net基本概念基本概念uPetri网是由德国人Carl Adam Petri于1962年提出,主要用于处理并发系统当中的同步问题、资源竞争问题以及死锁问题等。uPetri网是一种有向图,包含四种基本元素,一组位置P、一组转换T、输入函数I以及输出函数O。一组位置P为P1,P2,P3,P4一组转换Tt1,t2两个输入函数,I(t1)=P2,P4;I(t2)=P2 两个输出函数,O(t1)=P1;O(t2)=P3315.5.3.1 带标记的带标记的PNGuPetri网位置中如果加了一个黑点,称之为标记(token)。标记在位置中的出现表明了处理要求的到来。u通常,当每个输入位置所拥有的标记数大于等于从该位置到转换的线数时,就允许转换。标记向量表示为(1,2,0,1)标记向量表示为(2,1,0,0)标记向量表示为(2,0,0,2)表示 325.5.3.2 PNG的实际例子的实际例子u如图有一个环形铁路,在A站与B站之间是单轨,在某一时刻只能走一列火车。但A站与B站都是双向运行的。由于在A站和B站之间有一段单轨线路,在某一时刻只允许有一列火车通过,因此只有当单线上没有列车通过时,火车才能进入单线运行,否则火车只能在A站或者B站等候,等待单线空出来使用。335.6 数据词典数据词典u数据词典:对于数据流图中出现的所有被命名的图形元素加以定义,使得每一个图形元素的名字都有一个确切的解释。u其定义应是严密的、精确的,不可有半点含混并消除二义性,它由以下内容组成:数据流词条数据元素词条数据文件词条加工词条外部实体345.6.1 数据流、数据元素词条数据流、数据元素词条u数据流是数据结构在系统内传播的路径。一个数据流词条应有以下几项内容:数据流名称数据流名称唯一标识数据流的名称唯一标识数据流的名称简要描述简要描述简要介绍该数据流的作用,即它产生的原因和结果简要介绍该数据流的作用,即它产生的原因和结果数据流来源数据流来源来源于何处来源于何处数据流去向数据流去向流向何处流向何处数据流组成数据流组成描述该数据流的内部数据元素的组成描述该数据流的内部数据元素的组成备注备注需要的情况下描述数据流量和流通量等信息需要的情况下描述数据流量和流通量等信息数据元素名称数据元素名称唯一标识数据元素的名称或编号唯一标识数据元素的名称或编号简要描述简要描述简要描述该数据元素的作用,以及位于哪一个数据结构内简要描述该数据元素的作用,以及位于哪一个数据结构内类型类型数字、字符等类型数字、字符等类型长度长度该数据类型规定的取值范围,例如姓名的长度为该数据类型规定的取值范围,例如姓名的长度为6060个字符个字符取值范围取值范围该姓名的取值范围必须大于该姓名的取值范围必须大于2 2个字符且小于个字符且小于6060个字符个字符备注备注数据结构都是由数据数据结构都是由数据元素构成的,数据元元素构成的,数据元素是数据处理中的最素是数据处理中的最小单元且不可再细分,小单元且不可再细分,它直接反映事物的某它直接反映事物的某一特征。一特征。355.6.2 数据文件、外部实体词条数据文件、外部实体词条 u数据文件是数据结构保存的地方,一个数据文件词条应有以下几项内容:数据文件名称数据文件名称唯一标识数据文件的名称唯一标识数据文件的名称简要描述简要描述简要描述该数据文件存放的是什么数据简要描述该数据文件存放的是什么数据输入数据输入数据写入该数据文件的数据内容或数据结构写入该数据文件的数据内容或数据结构输出数据输出数据从该数据文件读出的数据内容或数据结构从该数据文件读出的数据内容或数据结构数据文件组成数据文件组成描述该数据文件的数据结构组成描述该数据文件的数据结构组成存储方式存储方式数据文件的操作方式以及关键字数据文件的操作方式以及关键字备注备注外部实体名称外部实体名称唯一标识外部实体的名称唯一标识外部实体的名称简要描述简要描述指明该实体的性质以及与系统之间的关系指明该实体的性质以及与系统之间的关系有关数据流有关数据流指明该外部实体与系统之间交互的数据流有哪些指明该外部实体与系统之间交互的数据流有哪些备注备注u外部实体词条描述的结构:365.6.3 加工逻辑词条加工逻辑词条 u数据流图中的每一个加工除了要进行基本信息的描述之外,还须对加工的逻辑或规则进行描述,其方法有判定表、判定树或结构化英语等。加工名称加工名称唯一标识加工的名称唯一标识加工的名称简要描述简要描述描述加工逻辑和规则以及功能简述描述加工逻辑和规则以及功能简述加工编号加工编号反映该加工的层次反映该加工的层次输入数据流输入数据流描述进入该加工的一个或多个数据流描述进入该加工的一个或多个数据流输出数据流输出数据流描述流出该加工的一个或多个数据流描述流出该加工的一个或多个数据流加工逻辑加工逻辑简述该加工的逻辑或规则(参见加工逻辑说明一节)简述该加工的逻辑或规则(参见加工逻辑说明一节)备注备注375.6.4 数据文件结构说明数据文件结构说明存折户名所号帐号开户日性质(印密)1存取行50户名2字母24所号“001”.“999”帐号“00000001”.“99999999”开户日年月日性质“1”.“6”印密“0”存取行日期(摘要)支出存入余额操作复核日期年月日年“00”.“99”月“01”.“12”日“01”.“3l”摘要1字母4支出金额金额“000000001”.“999999999”注:金额规定不超过9999999.99元操作“00001”.“99999”注:表明该存取是存?是取?还是换?385.6.5 加工逻辑说明加工逻辑说明u在写基本加工逻辑的说明时,应满足如下的要求:对数据流图的每一个基本加工,必须有一个加工逻辑说明;加工逻辑说明必须描述基本加工如何把输入数据流变换为输出数据流的加工规则;加工逻辑说明必须描述实现加工的策略而不是实现加工的细节。395.6.5.1 结构化英语结构化英语u结构化英语也称为PDL,是一种介于自然语言和形式化语言之间的半形式化语言。u它是在自然语言基础上加了一些限制而得到的语言,是使用有限的词汇和有限的语句来描述加工逻辑。u其词汇表由英语命令动词、数据词典中定义的名字、有限的自定义词和控制结构关键词:IF_THEN_ELSEWHILE_DOREPEAT_UNTILCASE_OF等组成。u其动词的含义要具体,尽可能少用或不用形容词和副词。40示例示例u商店业务处理系统中“检查发货票”功能使用结构化英语完成的加工逻辑描述 IF the invoice exceeds$500 THENIF the account has any invoice more than 60 days overdue THENThe confirmation pending resolution of the debtELSE(account is in good standing)Issue confirmation and invoiceENDIFELSE(invoice equal$500 or less)IF the account has any invoice more than 60 days overdue THENIssue confirmation,invoice and write message on credit action reportELSE(account is in good standing)Issue confirmation and invoiceENDIFENDIFIF 发货单金额超过$500 THENIF 欠款超过了60天 THEN 在偿还欠款前不予批准ELSE(欠款未超期)发批准书,发货票ENDIFELSE (发货票金额未超过$500)IF 欠款超过60天 THEN 发批准书,发货票及赊欠报告ELSE(欠款未超期)发批准书,发货票 ENDIFENDIF415.6.5.2 判定表判定表u在某些数据处理问题中,数据流图的加工需要依赖于多个逻辑条件的取值,即完成这一加工的一组动作是由某一组条件取值的组合而引发时,逻辑组合比较复杂,就需要用判定表来表示。条件桩条件桩左上部分:列出了各种可能的条件。左上部分:列出了各种可能的条件。条件项条件项右上部分:给出各个条件的条件取值右上部分:给出各个条件的条件取值的组合。的组合。动作桩动作桩左下部分:列出了可能采取的动作。左下部分:列出了可能采取的动作。动作项动作项右下部分:是和条件项紧密相关的,右下部分:是和条件项紧密相关的,它指出了在条件项的各种取值的组合情况下应它指出了在条件项的各种取值的组合情况下应采取什么动作。采取什么动作。425.6.5.3 判定树判定树u判定树也是用来表达加工逻辑的一种工具。有时候它比判定表更直观。用它来描述加工,很容易为用户接受。n在表达一个基本加工逻辑时,结构化英语、判定表和判定树常常交叉使用,互相补充。n总之,加工逻辑说明是结构化分析方法的一个组成部分,对每一个加工都要加以说明。n应当以结构化英语为主,对存在判断问题的加工逻辑,可辅之以判定表和判定树。

    注意事项

    本文(软件工程模型与方法 05、结构化需求分析.ppt)为本站会员(s****8)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开