您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 高级软件工程(第七章)过程建模与数据建模(2017课件)
11第七章过程建模与数据建模2概述当事件发生时系统做什么,即活动和交互。在传统方法中使用的图形和其他模型。建模必须严格地确定活动和交互的细节。分析员和用户必须共同评估模型的完整性、正确性,以及质量。3用传统的观点和OO的观点看待活动传统方法和OO方法的区别:当一个事件发生时所做出的响应不同系统建模和实现方法不同4传统方法把系统看做是过程的集合体,一些过程由人完成,另一些过程由计算机完成。把活动描述为由人或计算机执行的过程。包括:过程、数据、输入、输出在为系统对事件做出的反应进行建模的过程中,该方法包括重点强调这些组件的一系列过程模型。5OO方法把系统看成是一个相互影响的对象(事物)的集合。不存在常规的计算机过程和数据文件。对象执行活动并记录下数值。当为系统响应事件建模的时候,该方法包括显示对象、对象的行为,以及对象之间交互的一系列模型。61.DFD概念与作用DFD:用过程、外部实体、数据流,以及数据存储来表示系统需求的过程建模工具。DFD是用得最广泛的过程模型。它在一张图中展示软件系统的主要需求:输入、输出、过程和数据存储。项目开发的人都能从DFD中很快地看出系统一起工作的各个部分。72.DFD的符号过程:在DFD中的一个符号,它代表从数据输入转换到数据输出的算法或程序。数据流:在DFD中的箭头,它表示在处理、数据存储和外部实体之间的数据移动。数据存储:保存数据的地方,以便将来由一个或多个过程来访问这些数据。外部实体:在系统边界之外的个人或组织,它提供数据输入或接受数据输出。83.DFD结合了事件表和ERDDFD中的过程对应于事件表中的一个活动。事件是“客户想确定商品信息的有效性”,触发器是商品查询,来源是客户,响应是可用条目细节,响应的目标是客户。DFD以图形的方式显示系统活动来响应一个事件。9DFD与ERDDFD的数据存储(可用条目)信息没包含在事件表中。DFD中的每一个数据存储在ERD中代表一个数据实体。在DFD中的过程使用了在系统的ERD中所提供的数据实体及其属性信息。DFD将事件触发的活动和在ERD中定义的数据实体相结合。DFD的建模过程采用自顶向下逐层分解的方法,首先抓住系统的本质特性对系统加以抽象概括,形成高层次的概念;然后逐步考虑细节问题,把整个系统分解成具有相对独立性的若干小问题。分解可以逐层进行,即逐层加进细节进行分解,最后得到一套分层的数据流程图。1011课程注册系统的DFD抽象层次12关联图(上下文数据流图)关联图(顶层图):在单个过程符号中概括系统内所有过程活动的DFD。或者说是描述系统抽象概念的DFD。所有的外部实体和进出系统的数据流都在一张图中显示,并且整个系统被表示成一个过程。关联图在表达系统边界时很有用。13关联图与事件表二者通常一起被建立。事件表中的一个外部事件的触发器变成关联图的一个输入数据流,而其来源变成一个外部实体。每一个响应变成一个输出数据流,并且其目的源变成一个外部实体。注意:关联图DFD能够直接从事件表创建。两种模型从不同角度描述了同一种系统需求信息。14DFD片段DFD片段:用一个单一过程符号表示系统响应一个事件的DFD。DFD片段是为事件表中的事件创建的。DFD片段用一个单个的过程符号代表对一个事件的所有响应处理。在DFD片段中的数据存储代表ERD中的实体。每个DFD片段显示要响应该事件的那些数据存储。15事件分割的系统模型事件分割的系统模型或0层图:一个为系统需求建立模型的DFD,建模过程中对应于系统或子系统中每个事件使用单个过程。0层图:对整个系统或子系统进行比关联图更加详细的汇总。16DFD建模中常见的错误⑴基于过程的错误⑵基于数据流的错误17⑴基于过程的错误①过程的名称一般为动宾结构,不能只是一个动词(“增加”→“增加学生”、“计算”→“计算分数”)。②一个过程至少应有一个输入和一个输出。若只有输入而没有输出(称为“黑洞”)或只有输出而没有输入(称为“奇迹”)都是不正确的。③在进行过程处理时依据仅有的输入无法导出输出数据,这说明可能缺少输入数据或处理分解有误。④流入过程的数据应与流出处理的数据不相同;若相同,则有可能表明该过程没有存在的价值(流入“处理订单”的信息为“订单”,流出的信息为“订单”→“客户订单”、“已处理的订单”)18⑵基于数据流的错误①数据流表明过程之间数据的传递关系,而非控制和时间先后次序关系。②高层数据流与相应的底层数据流内容不一致。③数据流不能直接连接两个外部实体、两个数据存储,以及数据存储与外部实体,数据流的一端至少应为过程。DFD质量评估DFD图常见错误总结非法的数据流B1B2改正错误后的数据流B1B2需要一个过程在外部实体之间交换数据流DS2DS1需要一个过程从一个数据存储移动数据到另一个数据存储DS1DS2B1需要一个过程从一个数据存储中表现数据DS1DS1B1B1DS1B1DS1需要一个过程修改/使用一个数据存储20保证数据流一致性分析员通过查找DFD中各种类型的不一致性可以发现错误或忽略的东西。三个经常发生且容易判别的一致性错误:一个过程和它的过程分解在数据流内容中有差别;有数据流出却没有相应的数据流入;有数据流入却没有相应的数据流出。21平衡进出过程的数据流与进出过程分解DFD的数据流在数据内容上保持一致的状态。数据流的名称在不同的层次可能不一样,其原因很多,如将一个组合的数据流分解为更小的数据流。分析员必须仔细地看清楚数据流的内容而不能只看到它的名称。只有在所有的数据流均己定义后方可进行平衡的详细分析。22一致性规则对数据存储也有效任何从数据存储读出来的数据元素必定在以前写进去过。类似地,任何写进数据存储的数据元素必定在以后要读出来。考查进出数据存储的数据一致性会由于以下的事实而变得复杂:一个数据元素也许能在完全不同的DFD上进出数据存储。数据建模概念过程建模以数据在系统中的产生和使用为重点,以进行数据转换的过程为核心,建立层次结构的过程模型来描述系统,它同时描述了系统的行为和数据。但是在数据说明方面,过程模型更多的是侧重数据产生与使用的时间、地点和方式,而没有描述的数据的定义、结构和关系等特性。数据的定义、结构和关系等特性描述的是问题域内事物的客观存在状况。过程模型的数据说明所描述的则是系统或者手工对客观事物的影响和操作方式。23续数据建模技术能够弥补过程建模在数据说明方面的缺陷,它描述数据的定义、结构和关系等特性。数据建模建立的模型称为数据模型,是问题域和解系统共享的知识集合,通常能够反映企业业务的核心知识。数据模型说明了问题域和解系统共享事物、对共享事物和描述和共享事物之间的关系。24实体关系图(ERD):一种数据模型,使用几种图形符号根据数据描述的实体和关系来刻画数据。在需求工程中,数据建模建立的是概念数据模型和逻辑数据模型,不涉及物理数据模型。25续实体关系图-ERDERD使用实体、属性和关系三个基本的构建单位来描述数据模型。在发展过程中,实体关系图经过了多次的扩展,发展出了很多分支。这些分支虽然在实体关系模型的内容上大同小异,但是在图示上却大不相同,所以它没有标准的表示法。ERD最常见的表示法是PerterChen表示法和JamesMartin(IE,信息工程)表示法。因为没有标准的表示法,在实践中常常会混合使用各种表示法。ERD-实体(Entity)在实践中,除了静态的事物和抽象的概念之外,行为和事件也是常见的实体类型。称为进程实体(容易被忽视的实体)。数据建模中对行为和事件的建模是为了了解它们在某些时刻的快照或者它们的运行环境信息,而不是它们所体现出来的功能和达成的结果。例如:在普通商店的管理系统中,如果发生了一个销售行为,系统会需要记录下时间、地点、参与人员等行为发生时的环境信息,此时就需要将销售行为建模为实体。在邮局的邮件投递系统中,如果发生了一个投递行为,系统需要知道投递行为在各个投递点时的表现,此时系统就需要将投递行为建模为实体以了解它在不同投递点上的快照。ERD-属性在确定了实体以后,还需要了解如何描述实体,属性就是可以对实体进行描述的特征。属性以数字、代号、单词、短语、文本乃至声音和图像的形式存在,一系列属性的存在集成起来就可以描述一个实体的实例。属性是实体的特征,不是数据。属性会以一定的形式存在,这种存在才是数据,被称为属性的值。在图形表示法中,属性通常使用名词作为自己的名称。ERD-关系实体并不是孤立存在的,它们之间互相交互,互相影响,共同支持业务任务的完成。关系就是存在于一个或多个实体之间的自然联系。关系表达的不是实体物理上的联系(如车和车轮),而是逻辑上的链接(如整体部分关系)。所有关系隐含的都是双向的,意味着它可以从两个方向上解释。在关系的命名上,通常使用动词,表达关系中实体的相互作用。学生课程选择找出下面DFD中的错误课堂练习一3.1.2创建一个新的会员账号雇员会员账号3.1.3冻结会员账号编号3.1.1生成一份雇员银行结算表雇员应收账部门现有帐号新帐号状态冻结账号通知雇员地址雇员状态银行结算表会员应用这个过程没有输出这个过程没有输入账目数据从哪里来32课堂练习二车间填写领料单给仓库要求领料,库长根据用料计划审批领料单,未批准的退回车间,已批准的领料单送到仓库保管员处,由他查阅库存帐。若帐上有货则通知车间前来领料,否则将缺货通知采购人员。根据以下描述绘制材料领用过程的数据流图课堂练习三学生选课系统大学实行学分制,学生可根据自己的情况选课。每名学生可同时选修多门课程,每门课程可由多位教师主讲;每位教师可讲授多门课程。其不完整的E-R图如图所示。①指出学生与课程的联系类型。②指出课程与教师的联系类型。③若每名学生有一位教师指导,每个教师指导多名学生,则学生与教师是何联系?④在原E-R图上补画教师与学生的联系,并完善E-R图。学生教师课程
本文标题:高级软件工程(第七章)过程建模与数据建模(2017课件)
链接地址:https://www.777doc.com/doc-4207354 .html