您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 资产评估/会计 > 第3章-信息系统分析与设计方法-1(分析)
1第3章信息系统分析与设计方法23.1结构化方法结构化方法,体现了抽象、模块化、信息隐藏、信息局部化,一致性、完整性和确定性原则,因此被广泛采用。结构化方法出现了多种类型,其中最有影响的是面向数据流的分析设计方法,一般结构化方法就是指面向数据流的方法。3.1.1结构化分析与设计1结构化分析3(1)数据流图系统分析阶段:使用数据流图DFD来建立系统需求的过程模型。(结构化系统分析的方法)系统分析采用ER图来建立系统的数据模型。4结构化分析的思想数据流图DFD采用一系列分层次的数据流图来描述系统。DFD的每一个层次都代表了系统的一个抽象水平。高层次DFD中的处理可以进一步分解成低层次、更详细的DFD。5分层的数据流图纵观顶层P1P2P3P4P41P42第一层第二层6数据流图的基本成分数据流图用来记录系统中的数据和数据在特定的过程中的流动,即数据如何被采集、处理、保存和使用的(围绕信息系统的功能)外部实体数据处理p1数据存储数据流7外部实体指系统以外又与系统有联系的人或事物。它表达了该系统数据的外部来源和去处。例如:人、组织、外部系统等等。•外部实体是数据的来源(谁提供了最初始的数据?)•外部实体是数据的去处(数据对谁有价值?)读者图书管理员馆长读者图书管理员外部实体8处理指对数据的逻辑处理功能,也就是对数据的变换功能。别名:功能、处理过程,数据加工标识部分(层次化的功能编号)功能描述部分(动宾词组)功能执行的角色(人,部门,计算机程序),通常可省略P2.2.1识别读者身份图书管理员数据处理9数据流是指处理功能的输入或输出(箭头表示数据流向)。•例如:数据,订单,查询要求等经理编制财务报表合格订单编辑订货单计算应收款数据流10数据存储表示某种数据保存后的逻辑统称。不是指保存数据的物理地点或物理介质。•流入数据存储的数据流•将处理后的数据写入或修改到数据存储中•流出数据存储的数据流•从数据存储中查询获取数据,不改变原来的数据销售量D2产品销售帐计算销售量累计销售量单价计算销售总额商品编号#_D2产品D5职工D2产品数据存储11数据流图中的图形元素有不同的画法,本书使用Gane-Sarson画法储户业务处理帐目存折存取要求其它图形表示12事件表中能找到数据流图中出现的一些元素:•活动对应于处理框•事件源和事件目标对应于外部实体•触发点和响应结果是与外部实体相连的数据流•只有数据存储在事件响应表中没有对应的描述一个事件的DFD13事件和DFD事件列表中的每一个事件都可以画出一个DFD图(需要额外添加数据存储元素)事件列表可以作为画数据流图的一个基础和检验列表事件对应DFD模型的中间层事件可以继续分解绘制其具体的处理过程(向下细化)系统中事件较多时,应进行分组(向上抽象)14单个DFD的组合事件之间有一定的联系,一般通过数据存储建立关联15完整的数据流图根据事件表重新组织,绘制完整的DFD模型:按照事件表,对每一个事件建立一个DFD片段图。把所有的DFD片段进行分组,归纳为大的处理逻辑,形成上一层DFD(复杂系统层次更多)。将属于一组内的DFD片段放在一张图上,形成事件层的DFD图。对每个事件的数据处理进一步分解为下一层DFD(复杂系统层次更多)。16完整的数据流图真正进行结构化系统建模过程中,应该采用自顶向下的分解方法,事件表只是寻找需求的辅助工具(启发)建模是一个从具体到抽象,又从抽象到具体的过程,需要反复多次17数据流图的画法下面我们以高等学校学籍管理系统为例说明画数据流图的方法如果不能直接建模,可以考虑以下事件:新生登记登记期末成绩期末成绩分析登记补考成绩补考后成绩分析评定奖学金处理退学、留级、修学、复学发成绩单……18顶层新生名单学籍表学籍管理系统招生办教委用人单位报表毕业生登记表学籍管理系统顶层DFD19第一层20第二层——“成绩管理”框的展开21第三层——“处理期末成绩”框的展开22第三层——“分析期末成绩”框的展开23第三层——“分析补考成绩”框的展开24画数据流图的注意事项要注意以下几点:A.关于层次的划分B.语法的正确性C.可读性D.确定系统边界25层次的划分应遵守:(1)展开的层次与管理层次一致,也可以划分得更细。(2)同一张图上的所有处理过程应该处于同一个抽象层次上(抽象粒度一致)。(3)一个处理框经过展开,一般以分解为4~10处理框为宜(最好5-9个)(4)最下层的处理过程用几句话,或者用几张判定表,或一张简单的HIPO图能表达清楚A合理的层次划分26一个处理框经过展开,一般以分解为4~10处理框为宜。•如果一次分解后仅有两个处理框,为减少数据流图的层次,可以考虑将它们直接并入上一层中•一个处理框分解后还是只有一个处理框,则视为无效的分解处理框的合并27通常可以从以下几个方面检查数据流图的正确性:(1)数据守恒,或称为输入数据与输出数据匹配①处理有输入就应该有输出②处理有输出就肯定有输入③输入的数据应该全部流出该处理或者要用于产生流出该处理的数据(排除无用数据)④输出的所有数据必须曾经流入过该处理或者是由流入该处理的数据加工产生(保证必要数据)B、正确性检查28(2)在一套数据流图中的任何一个数据存贮,必定有流入的数据流和流出的数据流。(3)父图中某一处理框的输入、输出数据流必须出现在相应的子图中。(3)任何一个数据流至少有一端是处理框正确性检查(续)29提高数据流图的易理解性(1)简化处理间的联系(利用数据存储)如:P2成绩管理-P1异动管理之间的联系可以改变为:P2成绩管理-D3留退名单P1异动管理-D3留退名单D3留退名单为增加的数据存储(2)均匀分解,应齐头并进(3)适当的命名C、提高易读性30•信息系统建模不是对应用领域的业务建模,信息系统可能只反映业务系统的部分处理过程。•因此要关注信息系统解决的问题,重点是系统中的数据处理和流动。(1)排除纯手工活动(2)排除其它外部系统的活动(3)和系统外的外部实体之间的接口通过数据流来实现D、确定系统边界31数据流图的常见错误分析一般有三类错误情况:1.语法错误(可采用软件工具辅助绘图消除)2.逻辑错误3.词不达意,二义性32错误情况举例1输入的数据流足够了吗?是否能够加工出输出的数据流?计算利息存款金额?查询图书读者信息33错误情况举例2学生成绩单客户订单订单源数据是如何进入到信息系统中的呢?外部实体如何从系统中获取有关的数据呢?难道是心灵感应?不论是手工系统还是计算机系统,数据不会无缘无故保存或流动,和外部的交换一定和某个加工相连。34错误情况举例3客户业务员订单外部实体到外部实体,说白了,全都是外部的。和信息系统有关系吗?为什么要管呢?带来数据的变化了吗?DFD考虑数据是从那个地方开始进入系统。读者图书管理员借书单35错误情况举例4订单入库单数据不通过任何手续就能在数据存储之间流动?怪了,表格中的数据长腿了吗?要不硬盘智能化了,不需要任何外部力量,磁道上的数据会自己移动?读者信息逾期历史36错误情况举例5xxxx仅有流入的数据流,数据还有什么用途吗?纯粹是垃圾!仅有流出的数据流,数据是从何而来呢?模型的局部会存在这种情况,但系统地看应该不会。如果有,那个数据肯定是一千年不变,可以直接由数据库管理员一次性搞定。37错误情况举例6“修改还书日期”很细节,而“借阅管理”又很抽象。处理不在同一个抽象层次上,造成理解困难!读者读者续借申请读者信息处罚记录P2续借审核P1借阅管理P3修改还书日期P5处罚管理P4打印通知单38顾客P1.1验证身份P1.2核对帐户余额P1.3登记取款事务P1.4打印存折帐户顾客P1.1验证身份P2.2登记存款事务帐户取款存款DFD图不反映模块共享还比如图书馆借书系统中有三个处理逻辑:“p1借书”“p2还书”“p3查询服务”,但借书处理的“检查库存”,不应理解为“P3查询服务”错误情况举例739绘图工具软件Visio介绍MicrosoftVisio可用于绘制计算机系统中需要的各种模型图绘制DFD:DFD的四种元素数据流两端元素的关联性语法检查上下层分解关系,子图自动继承父图有关的数据流以树状目录列出全部处理40数据流图也常常要作重新分解。重新分解可以按下述方法进行(1)把需要重新分解的某张图的所有子图连接成一张(2)把图分成几部分,使各部分之间的联系最少(3)重新建立父图(4)重新画子图(5)为所有处理重新命名,编号数据流图的优化41数据流图的分解每个人可能有所不同,画出的数据流图也会因人而异,并一定谁画的对,谁画的错。没有标准答案42数据流图的优缺点图形元素少,易学易读,容易与用户沟通有层次性,允许系统分析员由上至下逐步分析系统,不会受困于太多复杂的细节不能描述系统的控制流潜在的非语法错误不易发现,复核困难,需要有一定的分析设计经验43(2)数据字典DFD是一种简化的模型,虽然直观,但没有具体细节,仅依靠DFD定义需求不够充分。数据字典是对DFD的补充描述,用来描述数据流程图中的数据流、数据存贮、处理过程和外部实体的详细内容。数据流图与数据字典共同构成系统的功能模型,数据字典可以改进通信,规范描述,消除误解44数据字典的各类条目数据字典中有六类条目:可被重用的条目:1.数据元素2.数据结构DFD图中的元素:3.数据流(可引用定义好的数据结构)4.数据存贮(可引用定义好的数据结构)5.外部实体6.处理45数据元素是最小的数据组成单位,也就是不可再分的数据单位,如学号、年龄、性别等。需要描述以下属性:(1)名称(2)别名(3)类型,(4)取值范围和取值的含义(5)长度(6)简要说明:一、数据元素46数据元素条目47数据结构的描述重点,是数据之间的组合关系,即说明这个数据结构包括哪些成分。一个数据结构可以包含若干数据元素和数据结构。可能有的特殊成分:(1)必选项——{}(2)任选项——[](3)重复项—*二、数据结构48数据结构条目49需要描述以下属性:(1)数据流的来源(2)数据流的去处(3)数据流的组成(4)数据流的流通量(5)高峰时的流通量三、数据流50数据流条目51主要描写该数据存储的结构,及有关的数据流、查询要求。有些数据存储的结构可能很复杂,如“学籍表”,包括学生的基本情况、学生动态、奖惩记录、学习成绩、毕业论文成绩等,其中每一项又是数据结构。这些数据结构有各自的条目分别加以说明,因此在“学籍表”的条目中可以直接引用这些数据结构,而不要列出这些数据结构的内部元素构成。四、数据存储52数据存储条目53需要在数据字典中描述处理框的编号、名称、功能的简要说明,有关的输入、输出。通常仅重点描述最底层的处理过程。复杂的处理逻辑可以借助于一些图表工具,如结构化语言、判定树、判定表等。五、处理54处理功能条目55六、外部实体56数据字典的使用与管理按各种要求列表,没有冗余,不遗漏数据相互参照,便于系统修改由描述内容检索名称一致性检验和完整性检验数据流的来源、去向是否完整数据元素是否遗漏或过剩数据存储的来源、去向是否完整处理与输入数据流是否匹配管理:手工/工具(某些工具支持数据字典的维护)57表达处理逻辑的工具在数据字典中表达处理过程可使用小说明(或基本说明),可以是自然语言但针对复杂处理逻辑,可以使用:结构化语言判定表判定树58一、结构化语言三种基本语句:1.祈使语句2.判断语句3.循环语句结构化语言使用的三类词汇:1.祈使句中的动词2.数据字典中定义的名词3.某些逻辑表达式中的保留字59指出要做什么,包括一个动词和一个宾语。使用祈使语句,应注意以下几点:•力求精炼,不应太长。•不使用形容词和副词。•动词要能明确表达执行的动作•名词必须在数据字典中有定义祈使语句60判断语句类似结构化程序设计中的判断结构。其一般形式是:1。如果条件则动作A否则(条件不成立)动作B2。如果购货额在50000元以上则如果最近三个月无欠款则折扣率为15%否则如果与公司交易10年以上则折扣率为10%否则折扣率为5%否则无折扣条件判断语句
本文标题:第3章-信息系统分析与设计方法-1(分析)
链接地址:https://www.777doc.com/doc-3263071 .html