欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    结构化系统分析与设计.ppt

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

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

    结构化系统分析与设计.ppt

    结构化系统分析与设计,第5章,Chapter 5,Structured System Analysis and Design,本章内容,5.1 结构化方法的基本思想5.2 结构化分析概述5.3 数据流分析技术5.4 IDEF0分析技术5.5 逻辑分析工具5.6 系统设计概述5.7 结构化设计原理5.8 模块化设计5.9 面向数据流的设计,自顶向下、逐步求精;采用模块化技术、分而治之的方法;模块内部由顺序、分支、循环基本控制结构组成;应用子程序实现模块化,结构化方法的基本思想,5.1 结构化方法的基本思想,结构化方法由于采用了模块分解和功能抽象,自顶向下、分而治之的手段,从而可以有效将一个较复杂的系统分成若干易于控制和处理的子系统,子系统又可以分解成更小的子任务,结构化方法强调功能抽象和模块化,5.1 结构化方法的基本思想,结构化分析结构化设计,5.1 结构化方法的基本思想,结构化方法的缺陷分解与割裂不同的分解线索导致系统结构的不同不利于可重用部分的分析,5.1 结构化方法的基本思想,本章内容,5.1 结构化方法的基本思想5.2 结构化分析概述5.3 数据流分析技术5.4 IDEF0分析技术5.5 逻辑分析工具5.6 系统设计概述5.7 结构化设计原理5.8 模块化设计5.9 面向数据流的设计,重点:应用需求任务:确定用户对系统的应用要求 理解判断综合表达工作内容:逐步导出新系统逻辑模型现行系统的逻辑模型新系统功能需求的逻辑描述新系统的逻辑模型,1、系统分析的任务,5.2 结构化分析概述,作用:在用户与系统设计人员之间起着桥梁与翻译的作用;变模糊为明确,变要求为方案职责:作为用户与设计人员的接口;从各种来源收集数据,并综合出解决问题的方法;评价现行的系统,并分析新系统;不断吸收先进的科学技术,并合理地加以应用;整理、起草文档,2、系统分析员,5.2 结构化分析概述,要点独立客观:协调(双方利益的代表),合理(需求与技术的结合)知识与经验:看破、判断真实合理的需求围绕总体思路,反映敏锐交流技巧,消除沟通障碍,2、系统分析员,5.2 结构化分析概述,结构化分析方法就是用一组标准的准则和工具,从事系统分析工作,并用来表达系统分析的工作成果阐述新系统能够“做什么”,而不是关心“怎么做”,3、结构化分析方法,5.2 结构化分析概述,数据分析工具数据流图数据字典数据存储规范化数据立即存取图功能分析工具决策树决策表结构式语言IDEF0,4、结构化分析工具,5.2 结构化分析概述,本章内容,5.1 结构化方法的基本思想5.2 结构化分析概述5.3 数据流分析技术5.4 IDEF0分析技术5.5 逻辑分析工具5.6 系统设计概述5.7 结构化设计原理5.8 模块化设计5.9 面向数据流的设计,数据流分析,数据流分析(Data Flow Analysis,简称DFA)方法是一种以数据流技术为基础的、自顶向下、逐步求精的系统分析方法,5.3 数据流分析技术,数据流分析,数据流分析的核心特征是“分解”和“抽象”,分解是指将一个复杂的问题按照内在的逻辑划分为若干个相对独立的子问题,从而简化复杂问题的处理,抽象就是将一些具有某些相似性质的事物的公共之处概括出来,暂时忽略其不同之处,或者说,抽象是抽象出事物的本质特性而暂时不考虑它们的细节,5.3 数据流分析技术,数据流分析,上图中,自顶向下的过程,即从顶层到1层再到2层的过程,我们称之为“分解”,上图中,自底向上的过程,即从2层到1层再到顶层的过程,我们称之为“抽象”,5.3 数据流分析技术,数据流图,数据流图(Data Flow Diagram,简称DFD)是结构化系统分析的主要工具,它能图形化地显示出系统中数据的使用,表达数据在系统内部的逻辑流向以及系统的逻辑功能和数据的逻辑变换,数据流图有四种基本符号:外部项、数据流、处理过程和数据存储,5.3 数据流分析技术,数据流图,数据流,数据存储,外部项,处理过程,5.3 数据流分析技术,数据流图,外部项(external entity)是指不受系统控制的,在系统以外的人、程序、机构或其他实体,外部项与系统通过数据交互,表达了该数据的外部来源或去处,确定系统的外部项,实际上就是确定系统与外界的分界线,5.3 数据流分析技术,数据流图,数据流(data flow)就是一束按特定的方向从源点流到终点的数据,它指出了数据及其流动方向,对每一条数据流都要给予简单的描述,5.3 数据流分析技术,数据流图,处理过程(process)是对数据进行变换操作,即把流向它的数据进行一定的变换处理,产生出新的数据,处理过程对数据的操作主要有两类:变换数据的结构,如将数据的格式重新排列;在原有数据内容基础上产生新的数据内容,如对数据进行累计或计算平均值。,5.3 数据流分析技术,数据流图,数据存储(data store)指出了数据保存的地方,这里所说的地方,并不指保存数据的物理地点或物理存储介质,而是数据存储的逻辑描述,5.3 数据流分析技术,数据流图,数据流的画法示例,5.3 数据流分析技术,数据流图的建立自顶向下扩展,方法:先用少数几个处理过程高度概括、抽象地描述整个系统的逻辑功能,然后针对处理过程逐步地分解、扩展,从而详细地加以描述,数据流图可在不同的层次上描述,以表示系统在该层的内容,5.3 数据流分析技术,数据流图的建立自顶向下扩展,建立方法:,决定系统或处理过程的范围,即通过输入、输出数据确定系统的边界或处理过程的范围 决定系统或处理过程内部的细节,并加以描述,5.3 数据流分析技术,数据流图的建立自顶向下扩展,示例:销售部门接到顾客送来的订货单后,根据库存情况向用户发货 订货单处理 确定发货量 开发货单及其相关处理 填写暂存订货单 对照暂存订货单,5.3 数据流分析技术,订货处理第1层DFD,顾客,1销售处理,订货单,发货单,库存帐,5.3 数据流分析技术,顾客,1.1验收订货单,订货单,库存帐,1.2确定发货量,合格订货单,1.3开发货单修改库存,可发货的订货单,应收帐,订货单存档,1.4填写暂存订货单,1.5对照暂存订货单,暂存订货单,未满足的订货单,采购部门,到货通知,顾客,发货单,订货处理第2层DFD,不合格订货单,5.3 数据流分析技术,数据流图的建立建立原则,建立原则:,数据流图的建立过程必须遵循自顶向下、逐层分解的原则分层的数据流图总是由顶层、中间层和底层组成的(或:上下文图+0级图+n级图):顶层数据流图确定了系统的边界中层图描述了某个处理过程的分解,而它的组成部分又要进一步被分解底层图描述的是无须分解的基本处理过程,5.3 数据流分析技术,确定系统的外部项及系统正常运行时的输入与输出,在高层的数据流图中只反映主要的、正常的逻辑功能,突出系统的总体情况,由外向里、从左到右地画数据流图,先在左侧画外部项,然后画出由该外部项产生的数据流和其对应的处理过程,接收系统数据的外部项一般画在数据流图的右侧,数据流图的建立建立原则,5.3 数据流分析技术,适当地命名及给出编号,有利于系统的理解。对处理过程的编号,随着逐层展开,也应反映出它的层次关系,应集中精力于主要的数据流,对一些诸如例外情况、出错处理等问题不必花较多精力分析下去,只需标出即可,数据流图的建立建立原则,5.3 数据流分析技术,一个数据流图中所包含的处理过程应限在七个以内,经验证明,多于七个将会影响分解效果,数据流图逐层分解时,应在概念上合理、清晰、自然,不影响图的易理解性。合理的分解是将一个问题分成相对独立的几个部分,减少相互之间的联系。分解应力求均匀,避免在同一张数据流图中,有些处理过程描述的是细节,而另一些描述的却是较高层的抽象,数据流图的建立建立原则,5.3 数据流分析技术,分解是处理功能的分解,我们称某一处理过程细化后的图是该处理的子图,该处理所在的图为子图的父图。子图与父图应保持输入与输出数据流的一致,随着数据流图的细化,图越来越复杂,为便于阅读和绘图,允许以父图和子图对应的方式分别绘图,也可以将几个子图绘制在一张图中。为保证各子图的整体性,子图之间应通过公共的数据存储联系起来,数据流图的建立建立原则,5.3 数据流分析技术,在数据流图中,数据存储的输入来源与输出去向不能是外部项,而只能是处理过程,数据流图与程序流程图不同。前者不反映时间的顺序,只反映数据的流向、逻辑处理和必要的逻辑数据存储;后者有严格的时间顺序,有起始点和终止点,数据流图的建立建立原则,5.3 数据流分析技术,理解一个问题总要经过从不正确到正确,从不恰当到恰当的过程,系统分析人员要随时准备修改甚至抛弃旧的数据流图,而用更好的来替代。分析阶段重画几张图的代价是小的,倘若草草了事,留下隐患,那么到开发后期再去纠正,代价就太大了,数据流图不反映判断和控制条件,不应在数据流图上出现表明控制逻辑的数据流,数据流图的建立建立原则,5.3 数据流分析技术,根据学校的教学计划,向选课的学生及时供应所需的教材审查学生(个人或班级)购书单的有效性,对有效书单并且有库存的发售教材对暂时缺货的教材进行缺书登记根据缺书登记补充采购所缺的教材,通知学生补购将缺书登记表汇总为缺书单,由书库管理员采购待购教材到货后,及时通知学生补购,教材购销系统,课堂练习,5.3 数据流分析技术,教材购销系统顶层DFD,课堂练习,5.3 数据流分析技术,教材购销系统第二层(0级)DFD,课堂练习,5.3 数据流分析技术,教材购销系统第三层DFD之销售子系统,课堂练习,5.3 数据流分析技术,教材购销系统第三层DFD之采购子系统,课堂练习,5.3 数据流分析技术,处理过程不能只有输出,或只有输入输入和输出不能完全相同用动词短语命名外部项数据流不能直接从一个外部项到另一个外部项,必须通过处理过程为了便于DFD的布局,外部项可以重复出现用名词短语命名,数据流图的画图规则,5.3 数据流分析技术,数据存储数据流不能直接从一个数据存储到另一个数据存储,必须通过处理过程数据流不能直接从一个外部项到一个数据存储,反之也不行,必须通过处理过程为了便于DFD的布局,数据存储可以重复出现用名词短语命名,数据流图的画图规则,5.3 数据流分析技术,数据流只能单向数据流不能直接流入它所流出的处理过程,必须通过其他处理过程,产生新数据流的同时,将原数据流返回数据流进入数据存储表示更新,离开数据存储表示检索用名词短语命名,一个数据流可以包括多项一起流动的项目,数据流图的画图规则,5.3 数据流分析技术,数据流图中所有名字的定义及描述就构成了一本字典,它包括数据流、数据存储、外部项和处理过程的详细条目数据流、数据存储等数据型条目构成数据字典(data dictionary)逻辑分析的有关工具用于处理型条目,仅仅一套数据流图并不能构成系统说明书,只有当图中出现的每一个成分都给出详细定义之后,才能较全面地描述一个系统,数据字典,5.3 数据流分析技术,数据字典通过以数据项和数据结构的定义来描述数据流、数据存储的逻辑内容,数据字典是数据流图的辅助资料,对数据流图起注解作用。数据字典主要用于描述数据流和数据存储的逻辑内容,以及外部项和处理过程的某些数据特性,数据字典,5.3 数据流分析技术,数据字典,5.3 数据流分析技术,数据流的定义有以下内容:数据流的名称 数据流的简述 数据流的来源 数据流的去向 数据流的组成 数据流的流通量 高峰时的流通量,数据字典数据流,5.3 数据流分析技术,数据流名称:选课单简 述:学生填写并交给系里的所选课程列表数据流来源:学生数据流去向:“选课统计”过程数据流组成:学号 课程 教师 课程表流 通 量:20份/天高峰流通量:学期开始时,100份/天,5.3 数据流分析技术,数据结构的定义有以下内容:数据结构的名称 数据结构的组成,数据结构用来定义数据项之间的组合关系,是对数据的一种逻辑描述,数据字典数据结构,5.3 数据流分析技术,数据结构名称:课程简述:用于记录有关课程的基本信息组成:课程名 学时 学分 教材组织:按课程名顺序存放有关的数据流/数据结构:教师档案、教材表有关的处理过程:排定课程表、教学查询,示例,数据字典数据结构,5.3 数据流分析技术,数据项的定义有以下内容:数据项的名称 数据项的值域 数据项的数据类型 数据项的长度,数据项是数据的最小组成单位,即不可再分的数据单位,数据字典数据项,5.3 数据流分析技术,数据存储的定义有以下内容:数据存储的名称以及必要时所给的编号 流入/流出的数据流 数据存储的组成,即它所包含的数据结构,数据字典数据存储,5.3 数据流分析技术,数据存储名称:学生成绩编号:D20简述:记录学生所考各门课程的考试成绩流入的数据流:“考试成绩单”,来源是“登记成绩单”处理过程流出的数据流:“成绩”,去向是“成绩统计”处理过程数据存储的组成:学号 课程号 成绩,5.3 数据流分析技术,处理过程的定义有以下内容:处理过程在数据流图中的名称、编号 对处理过程的简单描述 该处理过程的输入数据流、输出数据流及其来源与去向 其主要功能的简单描述,对处理过程中具体操作的描述,不属于数据字典的范围,这里仅对处理过程的部分数据特性作简单的描述,数据字典处理过程,5.3 数据流分析技术,处理过程名称:编辑学生成绩单编号:3.1.1简述:将学生某门课程的考试成绩录入系统,并产生某学生已考课程的成绩单输入:课程成绩单,来源为外部项“教师”处理:按一定的格式将所有学生该门课程的考试成绩一次录入“考试成绩”数据存储,根据学号将该课程的考试成绩分别转入该学号的“成绩单”数据存储输出:考试成绩,去向为“成绩单”数据存储、“确定补考”处理过程,5.3 数据流分析技术,外部项的定义有以下内容:外部项的名称 对外部项的简述 有关的数据流,数据字典外部项,5.3 数据流分析技术,外部项名称:财务处简述:处理企业内部财务工作的职能部门有关的数据流:工资单、成本、利润等,示例,数据字典外部项,5.3 数据流分析技术,数据流图的修改与完善,将导致数据字典的修改,这样才能保持数据字典的一致性和完整性,数据字典的内容是随着数据流图自顶向下、逐层扩展而不断充实的,数据字典的建立,5.3 数据流分析技术,一是由人工将有关内容随时建立在一叠卡片上,对卡片进行分类、排序,从而得到数据字典,数据字典的建立方式:,数据字典的建立,二是使用自动化数据字典系统,由计算机来代替人工登记、分类等工作,5.3 数据流分析技术,本章内容,5.1 结构化方法的基本思想5.2 结构化分析概述5.3 数据流分析技术5.4 IDEF0分析技术5.5 逻辑分析工具5.6 系统设计概述5.7 结构化设计原理5.8 模块化设计5.9 面向数据流的设计,本章内容,5.1 结构化方法的基本思想5.2 结构化分析概述5.3 数据流分析技术5.4 IDEF0分析技术5.5 逻辑分析工具5.6 系统设计概述5.7 结构化设计原理5.8 模块化设计5.9 面向数据流的设计,最基本的部分是处理的逻辑,即用户对这个处理过程的逻辑要求以及该过程的输出数据流与输入数据流之间所具有的逻辑关系,功能分析的任务是把数据流图中各个处理过程的功能加以详尽的说明,并精确地描述用户要求一个处理过程“做什么”,这包括处理过程的激发条件、处理逻辑、容错处理等,5.5 逻辑分析工具,处理过程中对数据的所谓处理和加工,一般包括以下三个含义:数学运算。对输入数据进行数学变换,通过数学工具予以表达(可精确表述)数据交换。与数据存储或外部实体进行信息交流(可精确表述)逻辑判断。根据判别各种条件的结果,执行不同的操作或采取不同的行动(不可精确表述),5.5 逻辑分析工具,所以结构化系统分析方法采用了若干种决策分析工具,来对逻辑判断作出描述,示例:某企业根据推销人员所推销出去产品的价值来确定给予相应的奖励,具体方法是,按照推销出去的产品金额减去事先确定的推销指标为条件建立起三种不同的奖励政策 当超额部分大于或等于100000元,则奖励超额的1%50000元到99999元的奖励为0.8%小于50000元的奖0.5%若推销人员没有完成推销指标,则不予奖励,5.5 逻辑分析工具,5.5 逻辑分析工具,决策树,5.5 逻辑分析工具,决策树(decision trees)是一种图形,它能顺序地表示出条件和行动,它也表示出各条件和所允许的行动的关系,决策树图形的左边是树根,它是决策序列的起点。紧跟着的是各个分支,它们依赖于存在的条件和所作的决策 树中非叶结点代表条件 树的叶结点表明要采取的行动,决策树,5.5 逻辑分析工具,当系统本身太复杂时,会存在许多步骤和组合条件的序列,结果树的规模变得难以控制 分支的数目太大和通过的路径太多,对分析不但没有帮助而且会使分析人员束手无策,决策树的缺点:,决策树,5.5 逻辑分析工具,决策表,决策表(decision table)是显示条件和行动的一个表格(行列矩阵),而不是树。决策表中还包括决策规则,它说明当某些条件成立时,采取的该是什么行动,5.5 逻辑分析工具,列出所有的条件,列出所有条件取值组合,列出所有可能的行动,列出每种条件取值组合应采取的行动,决策表,5.5 逻辑分析工具,决策表,5.5 逻辑分析工具,决策表,5.5 逻辑分析工具,决策表,示例某工厂人事部门分配职工工作,原则如下:如果年龄不满18岁,中学文化则脱产学习,文化程度高中则分配作电工;如果18岁但不满40岁,若文化程度为中学、高中,男性则当钳工,否则当车工。文化程度为大学,当技术员。如果年满40岁以上,文化程度是中学、高中则当材料员,大学则当技术员。,5.5 逻辑分析工具,决策表,第一步:确定条件性别(C1)年龄(C2)文化程度(C3),5.5 逻辑分析工具,决策表,第二步:确定每一个条件的取值范围。性别(C1):男(M)、女(F)年龄(C2):文满18岁(C)、18到40岁(Y)、40岁以上(L)文化程度(C3):中学(P)、高中(S)、大学(U),5.5 逻辑分析工具,决策表,第三步:研究条件的可能组合若m为条件数,每个条件取Y/N两个值,则条件组合数为:2*2*2*2=2m若条件C1,C2,C3,Cm取值分别为n1,n2,nm,则条件组合数为:n1*n2*nm。本例中,n1=2、n2=3、n3=3,条件组合数为:2*3*3=18,5.5 逻辑分析工具,决策表,第四步:研究有哪些动作(行动)在本例中,一共有6个行动选择。脱产学习(A1)当电工(A2)当钳工(A3)当车工(A4)当技术员(A5)当材料员(A6),5.5 逻辑分析工具,决策表,用决策规则填表(填条件项,条件组合)按18种组合画出决策表格式填入第一条件(性别)取值(18/2=9)填入第二条件(年龄)取值(9/3=3)填入第三条件(文化程度)取值(3/3=1)分析每种组合应采取的行动,在相应的位置画“X”。,5.5 逻辑分析工具,决策表,5.5 逻辑分析工具,决策表,检查是否有遗漏。化简(合并)消除冗余,5.5 逻辑分析工具,决策表,5.5 逻辑分析工具,决策表,5.5 逻辑分析工具,决策表,5.5 逻辑分析工具,决策表,优点:步骤清晰。对所有的条件组合一个不漏。对于条件多、取值多,相应动作多的情况作决策时更为适用。,5.5 逻辑分析工具,结构式语言与自然语言的不同之处在于它只使用了极其有限的词汇和语句,与形式语言的不同之处是它没有严格的语法规定,结构式语言(structured language)是介于自然语言和形式语言之间的一种半形式化语言,实质上它是自然语言的一个受某些限制的子集,结构式语言,5.5 逻辑分析工具,结构式语言使用的词汇主要有以下三类:祈使句中的动词 数据字典中已定义的名词 常用的运算符、关系符等保留字,结构式语言,结构式语言只使用以下几类语句:简单的祈使句 判断语句 循环语句 上述三种语句的复合语句,5.5 逻辑分析工具,祈使语句明确地指出做什么事情,它至少包括一个动词说明要执行的功能以及一个名词表示动作的对象,结构式语言祈使语句,例如,人们到书店去买书过程处理:选择一本满意的书籍;携带该书到付款台;付款;盖付款标记;离开书店。,5.5 逻辑分析工具,结构式语言判断语句,一般形式如下:如果 条件 则 行动A(条件成立)否则 行动B(条件不成立),5.5 逻辑分析工具,示例:判定学生考试成绩,如果 成绩为90-100分 则评为A 否则 如果 80-89分 则评为B 否则 如果 70-79分 则评为C 否则 如果 60-69分 则评为D 否则 如果 59分以下 则评为E,5.5 逻辑分析工具,又例:书店买书,如果 找到想买的书 则携带该书到付款台付款盖付款标记离开书店 否则 离开书店,5.5 逻辑分析工具,多种选择结构,使用选择/情况词组,一般形式如下:,结构式语言判断语句,选择 合适的情况 情况1:行动A 情况2:行动B 情况n:行动N 否则:行动W,5.5 逻辑分析工具,示例:判定学生考试成绩,选择 得分 90100分:评为A 8089分:评为B 7079分:评为C 6069分:评为D 59分以下:评为E,5.5 逻辑分析工具,循环语句是在某一条件存在时,重复执行相同的行动,直至该条件不成立为止,结构式语言循环语句,一般形式如下:当 条件 做 行动A,5.5 逻辑分析工具,示例:判考试卷,当 还有未判试卷 做 判定试卷得分 评定成绩等级 其中“评定成绩等级”就是前面用判断语句描述过的行动,5.5 逻辑分析工具,三种分析工具的比较,5.5 逻辑分析工具,结论:对一个不太复杂的逻辑判断,或者条件的顺序很重要,或者不是每个条件都与每个行动相关,使用决策树较好 对一个十分复杂的逻辑判断,并且需要考虑所有可能情况,使用决策表较好 如果一个处理过程中,既包含顺序结构,又有判断和循环逻辑的时候,使用结构式语言较好,三种分析工具的比较,5.5 逻辑分析工具,本章内容,5.1 结构化方法的基本思想5.2 结构化分析概述5.3 数据流分析技术5.4 IDEF0分析技术5.5 逻辑分析工具5.6 系统设计概述5.7 结构化设计原理5.8 模块化设计5.9 面向数据流的设计,系统设计(System Design)就是为实现系统分析提出的系统逻辑模型所作的各种技术考虑和设计系统设计又称为系统的物理设计,即是根据新系统逻辑模型建立系统的物理模型,5.6 系统设计概述,计算机系统及其它硬设备的选择 系统的分解与组织 原始数据的组织和输入 输出信息的方式和管理 文件与数据库的组织和管理 代码的设计与确定 通信网络的设计 系统的安全保密性设计 系统实施计划 其它,系统设计的任务,5.6 系统设计概述,更快、更准、更多地提供资料 更多、更细的处理功能 更有效、更科学的管理方法,系统设计的目标,系统设计的目标是:在保证实现逻辑模型的基础上,尽可能地提高系统的各项指标,即系统的运行效率、可靠性、可修改性、灵活性、通用性和实用性。正确划分人工处理与计算机处理。,5.6 系统设计概述,系统的运行效率包括三个方面的内容,即:处理能力指在单位时间内能够处理的事务 个数 处理速度指处理单个事务的平均时间 响应时间指从发出处理要求到给出回答所 用的时间,系统设计的目标运行效率,不同处理方法的系统,其运行效率有不同的含义。不同计算模式;对请求的不同响应方式,5.6 系统设计概述,影响系统运行效率的因素一般取决于:系统中硬件及其组织结构 计算机处理过程的设计质量中间文件的数量文件的存取方法子程序的安排及软件编制质量,系统设计的目标运行效率,5.6 系统设计概述,系统的可靠性是指系统运行过程中,抵抗异常情况(人为的和机器的故障)的干扰、保证系统正常工作的能力 软件可靠性:随着软件工具水平而提高 硬件可靠性:冗余设计,系统设计的目标可靠性,系统的可靠性包括:检、纠错的能力,对错误的容忍能力,排除错误的能力等,5.6 系统设计概述,衡量系统可靠性的重要指标:平均故障间隔时间(MTBF):指平均的系统前后两次发生故障的时间,这反映了系统安全运行的时间 平均维护时间(MTTR):指发生故障后平均每次所用的修复时间,它反映系统可维护性的好坏,系统设计的目标可靠性,5.6 系统设计概述,系统的有效性:系统的有效性=MTBF/(MTBF+MTTR),系统设计的目标可靠性,提高系统可靠性的途径主要有:设计中尽可能地避免出错 对可能出现的错误,系统要有完善的检、纠错功能和对安全的考虑 对可能的错误进行出错冗余设计,5.6 系统设计概述,系统的可修改性是指系统容易修改程度,没有一个定量的标准,而是通过比较得出的结果,系统设计的目标可修改性,应用合理的系统设计原则,能够对系统的可修改性产生积极的影响。(系统分解的好坏),系统的可修改性之所以重要,是因为一个系统从设计到建成运行,总是处于不断的变化之中,这就必然引起修改和维护,5.6 系统设计概述,这些变化包括:系统需求和环境的变化 现代信息技术如计算机技术、管理决策 方法等的发展 系统本身总是处于不断地完善之中,不 适应或错误在所难免,系统设计的目标可修改性,5.6 系统设计概述,系统设计过程中,始终要明确应用计算机处理和人工处理的界线,系统设计的目标划分计算机处理与人工处理,系统设计中要避免这样两种倾向:一味地追求计算机处理,将许多只能由人完成的工作交计算机去干,从而造成设计的复杂和不够科学 把本该由计算机完成的工作交由人去处理,从而使新系统的功能、性能以及用户的目标得不到体现,5.6 系统设计概述,两种处理过程的不同特点:处理速度不同。(阅卷;编目)概念的精确程度不同。(涉及语义的工作)对处理的信息的结构化程度要求不同 工作效率的稳定性不同 意外情形的处理 费用的考虑,系统设计的目标划分计算机处理与人工处理,5.6 系统设计概述,划分计算机处理与人工处理的基本原则是:复杂的科学计算,大量重复的数学运算、统计、汇总、报表、数据库检索、分类、文字处理、图形图象基本处理、有关数据的采集、通信等应由计算机完成 传统的人工判定,目前没有成熟的技术可以应用,或代价太高,则仍用人工处理 决策性问题中,计算机尽可能提供决策依据,由人进行最后决策 设计人机接口,考虑时间的匹配,代码的统一、格式的协调等,系统设计的目标划分计算机处理与人工处理,5.6 系统设计概述,本章内容,5.1 结构化方法的基本思想5.2 结构化分析概述5.3 数据流分析技术5.4 IDEF0分析技术5.5 逻辑分析工具5.6 系统设计概述5.7 结构化设计原理5.8 模块化设计5.9 面向数据流的设计,历史沿革:早期的计算机应用,由于受到硬、软件的限制,只是编制了一些简单程序,其设计工具是程序流程图 计算机技术的发展及领域的不断扩大与复杂,使得程序流程图不能满足设计的需要 70年代以来,出现了多种设计方法,其中有代表性的是结构化设计方法、Jackson方法、Warnier方法和Parnas方法,结构化设计方法,5.7 结构化设计原理,设计思想:基本思想是对问题要有一个总的看法,由概括到具体、逐层分解问题 强调把一个系统设计成具有层次式的模块化结构,并且用一组标准的准则和工具帮助系统设计人员确定组成系统的模块及相互关系,结构化设计方法,5.7 结构化设计原理,设计思想:结构化系统设计(structured system design)方法体现了自顶向下、逐步求精的原则,采用先全局后局部、先总体后细节、先抽象后具体等过程开发系统,从而使系统结构清晰,可读性、可修改性、可维护性等指标优异,结构化设计方法,5.7 结构化设计原理,特点:对一个复杂的系统,应用自顶向下,逐步求精 的方法予以分解和化简 强调采用模块化的设计方法,并有一组基本设 计策略 采用结构图的方式作为模块设计的工具 有一组评价设计方案质量的标准及优化技术,结构化设计方法,5.7 结构化设计原理,重要内容:(1)合理地进行模块分解和定义,使一个复杂系统的设计转化为若干种基本模块的设计 结构化设计的分解原则 把密切相关的子问题划归为系统的同一部分 把不相关的问题划归为系统的不同部分,结构化设计方法,5.7 结构化设计原理,重要内容:(2)有效地将模块组织成一个整体,从而体现系统的设计功能 结构化系统设计与结构化的系统分析有着密不可分联系,它是以系统的逻辑模型和数据流图为基础,借助于一套标准的设计方法和图表工具,通过自顶向下或自底向上的方法,逐层把系统划分为多个大小适当、功能明确、具有一定独立性的模块,结构化设计方法,5.7 结构化设计原理,模块化原理:依据系统是由元素和结构组成,且它们又可分层、分类的思想,一个信息系统可被逐层划分为大小适当、功能明确独立且容易实现的模块,并由它们的协调和组合去共同达到系统的设计目标,模块化原理,模块化原理(modularization)的基本思想是可分性,即最大限度地降低系统设计的复杂性,把问题层层分解,直到容易解决为止。这样就降低了人为划分的主观影响,增强了问题的客观性,5.7 结构化设计原理,信息隐蔽原理是指导人们按信息相关度划分模块的一个原理,信息隐蔽原理,信息隐蔽原理(information hiding)的基本思想是:在一定规模和条件的限制下,把那些对模块功能相关度最大的信息(如过程与数据)分在一个模块内,而把最少的完成功能所需的交互信息划分在该模块外(接口)。换言之,模块的划分应该使得包含在模块内的信息对于无需这些信息的模块是不可访问的,5.7 结构化设计原理,信息隐蔽原理是把任何系统划分成子系统的普遍性原理,信息隐蔽原理,信息隐蔽原理的好处是:模块内部的错误很少可能传播到系统的其它模块 最大限度地体现了模块在概念和功能上的独立性、相对完整性和封闭性 给系统结构和模块的实现、维护带来了方便,5.7 结构化设计原理,时空等价原理,时空等价原理的含义:从理论上讲,对于一个特定的系统功能或模块功能,既可由硬件模块去完成,又可由软件模块去完成,此即功能等价 硬件有耗费空间但速度快的属性,而软件有耗费时间但少耗费空间的属性 对系统的资源合理分配,使同一功能由耗费时空最少的模块或子系统去承担。如星地协同处理,移动计算,软件无线电,软件固化等。,5.7 结构化设计原理,运用时空等价原理划分硬、软件子系统或模块时,必须按系统与环境的约束条件在系统硬、软件的时空属性中进行综合折衷。此时,就会应用时空的另一个重要原理:时空权衡原理,时空等价原理,时空权衡原理(space-time tradeoff)是指:牺牲空间或者其它替代资源,通常都可以减少时间代价。反之亦然,5.7 结构化设计原理,本章内容,5.1 结构化方法的基本思想5.2 结构化分析概述5.3 数据流分析技术5.4 IDEF0分析技术5.5 逻辑分析工具5.6 系统设计概述5.7 结构化设计原理5.8 模块化设计5.9 面向数据流的设计,定义:在软件角度,所谓模块(module)是指这样的一组程序语句(或描述),它包括输入与输出、逻辑功能描述、内部信息及其运行环境,模块,输入与输出:从调用者处获得输入信息,经过模块本身的处理后,再把输出返送给调用者 逻辑功能:描述该模块能够做什么样的事情,具备什么样的功能 内部信息:模块执行的指令和在模块运行时所需要的属于该模块自己的数据 运行环境:模块的调用与被调用的关系,5.8 模块化设计,模块的特征,抽象信息隐蔽其它,模块的特征,5.8 模块化设计,定义:把系统划分为若干个模块,每个模块完成一个特定的功能,然后将这些模块汇集起来组成一个整体(即系统),可以完成指定的功能,满足问题的要求,模块化,5.8 模块化设计,模块化,设对于两个问题P1、P2,C(P1)、C(P2)表示问题的复杂程度,而E(P1)、E(P2)表示解决问题所需的工作量。于是,如果 C(P1)C(P2)则 E(P1)E(P2)一个有趣的规律是 C(P1+P2)C(P1)+C(P2)即是说,如果一个问题由两个问题组合而成,那么它的复杂程度大于分别考虑每个问题的复杂程度之和。于是 E(P1+P2)E(P1)+E(P2),5.8 模块化设计,推而广之,当一个系统有n个独立元素时,一般总有 C(P1+P2+Pn)C(P1)+C(P2)+C(Pn)及 E(P1+P2+Pn)E(P1)+E(P2)+E(Pn)这就是模块化的依据,模块化,5.8 模块化设计,能否认为,如果我们无限地分割系统,最终将导致最基本模块的设计非常容易,因而使得设计系统的工作量非常小?,模块化,这个结论是错误的 当模块数目增加时,每个模块的规模将减小,开发单个模块所需的成本(工作量)确实减少了,但随着模块数目的增加,设计模块间接口的工作量也将增加,目标是尽量寻求一个合理的模块分解数目,5.8 模块化设计,5.8 模块化设计,好的系统结构满足:每个模块完成一个相对独立的特定功能(保证了按模块分解后的设计工作量将小于按整个系统设计的工作量)模块之间的接口简单(使设计中的接口成本最小),模块独立性,5.8 模块化设计,具有独立功能而且和其它模块之间没有过多相互作用的模块,我们称之为独立的模块。这种开发方法,就可以做到模块独立。,模块独立性,所谓两个模块彼此完全独立,是指其中任意一个模块在运行时,与另一个模块的存在与否完全无关。,独立只是一个抽象的、相对的概念。,5.8 模块化设计,模块独立的作用:具有独立性的系统比较容易开发,这是由于能够分割功能而且接口可以简化。系统开发常常由若干人的分工合作完成的,这时具有模块独立性的优点就尤为重要。模块的独立性越好,模块的相互影响就越少。当系统中某一模块出错时,产生连锁反应的概率就越低,从而提高了系统的可靠性。独立的模块比较容易测试和维护。这是因为错误的传播范围小,较容易定位,而且对一个模块进行修改或维护时,不担心其它模块的内部是否会受到影响。,模块独立性,5.8 模块化设计,模块的独立程度可以由两个定性标准度量,这两个分别称为耦合和聚合。,模块独立性,耦合:度量不同模块彼此间互相依赖(联结)的紧密程度。,聚合:衡量一个模块内部各个元素彼此结合的紧密程度。,5.8 模块化设计,耦合(coupling)强弱取决于模块间联结形式及接口的复杂程度。模块间接口的复杂性越高,说明联结的程度越高。,模块独立性耦合,模块之间的耦合程度直接影响系统的可读性、可维护性及可靠性。,在系统设计中应尽可能追求松散耦合的系统。,5.8 模块化设计,聚合(cohesion)标志一个模块内部各个元素彼此结合的紧密程度,主要表现在模块内部各个元素为了执行处理功能而组合在一起的程度。,模块独立性聚合,希望系统中的每个模块具有高度的聚合性,它的各个元素都是彼此密切相关的,是为完成一个共同的功能而结合在一起的。,在系统设计中应尽可能追求高聚合的系统。,5.8 模块化设计,影响模块之间联结程度的最主要因素是模块间的联结形式。,模块的耦合,模块间的联结形式有4种:数据耦合 控制耦合 公共耦合 内容耦合,5.8 模块化设计,如果两个模块彼此间通过参数交换信息,而且每一个参数仅仅为数据,那么这种耦合称之为数据耦合。,模块的耦合数据耦合,数据耦合是系统中必不可少的联结形式,它是一种最低的耦合,是一种理想的模块联结。,一个系统内可以将所有模块只设计成数据耦合。,5.8 模块化设计,模块的耦合数据耦合,示例:,5.8 模块化设计,如果两个模块彼此间传递的信息间有控制信息,那么这种耦合称之为控制耦合。,模块的耦合控制耦合,控制耦合与数据耦合很相似,只不过传递参数中一个仅仅为数据,而另一个含有控制信息。,控制耦合可以通过适当的方式,如模块的再分解,而转化为数据耦合,但在某些特殊的场合下,控制耦合还有一定的必要。,5.8 模块化设计,模块的耦合控制耦合,示例:,5.8 模块化设计,如果两个模块彼此间通过一个公共的数据区域传递信息时,称之为公共耦合或公共数据域耦合。,模块的耦合公共耦合,公共数据域实际上就是被设计成为多个模块公用数据的区域。,公共耦合是一种不好的联结形式,尤其当一个公共数据区域被多个模块共同使用时,模块数越多,则其耦合的复杂度越大。,5.8 模块化设计,模块的耦合公共耦合,示例:,5.8 模块化设计,如果一个模块需要涉及另一个模块的内部信息时,则这种耦合称内容耦合。

    注意事项

    本文(结构化系统分析与设计.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开