管理信息系统分析与设计建模(第9次课)_第1页
管理信息系统分析与设计建模(第9次课)_第2页
管理信息系统分析与设计建模(第9次课)_第3页
管理信息系统分析与设计建模(第9次课)_第4页
管理信息系统分析与设计建模(第9次课)_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据字典数据流图E-R图状态变迁图加工规约控制规约数据对描述象数据设计体系结构设计接口设计过程设计总体设计

从分析模型导出设计模型分析模型设计模型§5.3启发规则

概要设计的启发式准则:1.改进软件结构,提高模块独立性力求提高内聚,降低耦合,简化模块接口,少用全局性数据和控制信息。(1)消除重复功能Q1CQ2CQ1Q2C改进前Q1、Q2功能相似XYQ’XYXY重复部分改进方法1:将Q1、Q2合并为Q’不可取改进方法2:将Q1、Q2的公共部分分离出来

(2)分解模块可以减少控制信息传递例如:例如:数据控制功能模块A功能

(根据k决定执行C).....A子功能K==1或k==0

B功能控制功能模块

A功能

B功能

C功能(A子功能)合并合并模块可以减少全局数据的引用

A功能

B功能全局数据修改修改分解A功能

.....B功能K功能§5.3启发规则

概要设计的启发式准则:2.模块规模应该适中(最好能写在一页纸上)

大模块:分解不充分,阅读困难;小模块:使用开销大,接口复杂。软件结构的度量和术语:深度:表示软件结构中控制的层数。宽度:表示控制(同一层次)总跨度(即软件结构内同一层次上的模块总数的最大值)扇出数:指由一模块直接控制(调用)的其他模块的数目。扇入数:指有多少个上级模块直接控制一个给定的模块。上级模块下级模块软件结构度量术语深度宽度扇出扇入(模块的层数)(同一层最大模块数)(一个模块直接调用的模块数)(调用一个给定模块的模块个数)§5.3启发规则

概要设计的启发式准则:3.深度、宽度、扇出和扇入都应适当扇入:表明有多少个上级模块直接调用它。扇入越大则共享该模块的上级模块数目越多。这有利于增加模块的利用率,但是不能违背模块独立性原理单纯追求高扇入。§5.3启发规则

概要设计的启发式准则:3.深度、宽度、扇出和扇入都应适当扇出:是一个模块直接控制(调用)的模块数目。扇出低表示下级模块少,可以减少模块调用和控制的复杂度;但扇出过小(例如总是1)也不好。扇出太小时可以把下级模块进一步分解成若干个子功能模块,或者合并到它的上级模块中去。扇出过大意味着模块过分复杂,需要控制和协调过多的下级模块——例幻灯片12(煎饼形结构)扇出太大般是因为缺乏中间层次,应该适当增加中间层次的控制模块——例幻灯片13(塔形结构);经验表明,一个设计得好的典型系统的平均扇出通常是3或4,最好不超过5-7。

§5.3启发规则

概要设计的启发式准则:3.深度、宽度、扇出和扇入都应适当设计良好的软件通常具有瓮形结构,两头小,中间大:顶层扇出比较高;中层扇出较少;底层扇入到公共的实用模块中去——(瓮形结构)

减少高扇出争取高扇入高扇出的模块结构举例:编外人员工资取得工资数据计时制工资额薪金制工资额编外人员税款编外人员扣款常规扣款税收扣款计算实发工资避免平铺结构增加中间层降低扇出编外人员工资取得工资数据计时制工资额薪金制工资额编外人员税款编外人员扣款常规扣款税收扣款计算实发工资计时工人实发工资计薪工人实发工资编外人员实发工资概要设计的启发式准则:4.模块的作用范围保持在该模块的控制范围内

模块的作用范围是指该模块中一个判断所影响的所有其它模块;模块的控制范围指该模块本身以及所有直接或间接从属于它的模块。§5.3启发规则

CHDEGXF将模块的影响限制在模块的控制范围内AILJKB模块C的控制范围:C、D、E、F、G、H如果模块C作出的决策影响了模块L,L超出了C

的控制范围•模块的作用域应该在控制域之内设计好的系统,受判断影响的模块应该从属于做出判断的模块,最好局限在做出判断的那个模块本身或在它的直属下级模块。例如:M

ABCG

DEFM

ABCG

DEF如果A做出的判断,要影响G,就需要加标记到M。这样就出现控制耦合。解决的方法:A的判断上移,或G下移到A的控制域内(两种方法)TOPXYABB1B2按作用域/控制域规则对下图进行修改:模块B2内有一判定,其作用域有一部分作用到模块A上,超出其控制域。按作用域/控制域规则对下图进行修改:太高XYABB1B2Top按作用域/控制域规则对下图进行修改:适中TOPXABB1B2Y按作用域/控制域规则对下图进行修改:最佳TOPXYAB1B2B概要设计的启发式准则:5.力争降低模块接口的复杂程度

模块接口的复杂性是引起软件错误的一个主要原因。接口设计应该使得信息传递简单并且与模块的功能一致。§5.3启发规则

概要设计的启发式准则:6.设计单入口单出口的模块避免内容耦合,易于理解和维护。7.模块的功能应该可以预测相同的输入应该有相同的输出,否则难以理解、测试和维护。§5.3启发规则

模块功能应该可以预测模块功能不可预测:带有内部状态的模块,则功能不可预测,因为它的输出可能由于状态的不同,而导致相同的输入有不同的输出。产生的原因:不可预测的模块往往是非单一功能成分的组合,或者是内部多分支情况处理。不可预测功能的模块,不易于理解和维护!解决方法:注意高内聚的模块设计,拆分多种情况的功能。但也不要使功能过分局限。§5.4描绘软件结构的图形工具5.4.1层次图5.4.2HIPO图5.4.3结构图1.层次图(H图)

表示软件的层次结构正文加工系统输入输出编辑加标题存储检索编目录添加删除插入修改合并列表带编号的层次图(H图)

正文加工系统输入1.0输出2.0编辑3.0加标题4.0存储5.0检索6.0编目录7.0添加3.1删除3.2插入3.3修改3.4合并3.5列表3.6酒店管理信息系统功能结构图HMIS收银管理子系统收银管理子系统收银管理子系统客人登记预定登记客房处理历史记录客房查询预定查询餐桌安排菜单作业营业结帐汇总打印各类查询初始设置客帐处理退房处理夜审处理客帐查询报表打印IBM公司发明的HIPO图:层次图

+

输入/处理/输出图(H图)(IPO图)(HierachyInputProcessOutput)§5.4描绘软件结构的图形工具2.HIPO图

H图中每一方框(模块)均有一张IPO图对应

航线调度系统HIPO图举例H图:命令监控器1.0取得输入1.1输入确认1.2请求确认1.3更新处理1.4传统的IPO图举例输入处理输出读口令请求口令文件1取得输入2口令确认3请求确认请求记录权限文件4更新处理权限记录状态报告响应命令监控器(1.0)的IPO图改进的IPO图格式IPO图系统:模块:编号:作者:日期:被调用:调用:输出:输入:输入:局部数据元素:注释:3.结构图—SC图(StructureChart)

(1)SC中的组成符号SD方法在概要设计中的主要表达工具约定:用矩形框表示模块,用带箭头的连线表示模块间的调用关系。在调用线的两旁,应标出传入和传出模块的数据流。SD方法在概要设计中的主要表达工具约定:不加区分的数据数据信息控制信息编辑学生记录学生数据无此学生学号读学生记录SC中的四种模块在系统结构图中的模块传入模块─从下属模块取得数据,经过某些处理,再将其传送给上级模块。它传送的数据流叫做逻辑输入数据流。传出模块─从上级模块获得数据,进行某些处理,再将其传送给下属模块。它传送的数据流叫做逻辑输出数据流。变换模块─它从上级模块取得数据,进行特定的处理,转换成其它形式,再传送回上级模块。它加工的数据流叫做变换数据流。协调模块─对所有下属模块进行协调和管理的模块。在系统结构图中的模块

(2)SC图中的模块调用

①简单调用

ACBX,YZZ入出___ABC12X,YZZ12

②选择调用ACBDA根据内部判断决定是否调用BA按另一判定结果选择调用C或D③SC中的循环调用ABCA根据内在的循环重复调用B、C等模块

◆5.5.1面向数据流设计方法的基本概念

结构化设计方法(简称SD法):以数据流图为基础,它定义了把DFD变换成软件结构的不同映射方法映射DFD

(问题结构)软件系统的结构

(软件结构)§5.5面向数据流的设计方法

系统结构特征可归纳为两种典型形式:■变换型结构■事务型结构数据流图可分为两种类型:

变换型数据流事务型数据流(1)数据流图的类型变换中心输入输出变换型结构事务中心接受路径动作路径基本模型

特征事务型结构由输入、变换中心和输出三部分组成具有在多种事务中选择执行某类事务的能力变换流示意图信息时间输入流输出流交换流变换型数据流结构传入变换传出变换中心传入部分传出部分事务分析事务中心动作1动作2动作3接受接受部分事务型数据流结构变换型数据流举例输入信息物理输入格式检查处理显示正确信息结果物理输出数据变换中心逻辑输入逻辑输出传入部分传出部分特点:具有明确的传入、变换(或称主加工)和传出界面的DFD变换型系统结构图变换型数据处理问题的工作过程大致分为三步,即取得数据,变换数据和给出数据。相应于取得数据、变换数据、给出数据,变换型系统结构图由输入、中心变换和输出等三部分组成。事务型系统结构图它接受一项事务,根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。在事务型系统结构图中,事务中心模块按所接受的事务的类型,选择某一事务处理模块执行。各事务处理模块并列。每个事务处理模块可能要调用若干个操作模块,而操作模块又可能调用若干个细节模块。事务型数据流图举例ABEHOMIDCNLFG大型系统DFD中,变换型和事务型结构往往共存:T事务中心传入变换传出2.面向数据流设计方法的设计步骤精化DFD确定DFD类型把DFD映射到系统模块结构设计出模块结构的上层基于DFD逐步分解高层模块设计出下层模块根据模块独立性原理,精化模块结构面向数据流方法的设计过程精化数据流图区分事务中心和数据接收路径映射成变换结构区分输入和输出分支映射成事务结构用启发式设计规则精化软件结构导出接口描述和全程数据结构详细设计事务分析变换分析复查事务变换流类型SD方法的两种映射过渡方法变换型DFD事务型DFD初始SC初始SC变换分析事务分析初始的SC主模块输入模块主加工模块输入模块事务控制模块接受模块动作发送模块动作1模块动作2模块动作3模块由变换分析产生由事务分析产生变换分析方法由以下四步组成:重画数据流图;区分有效(逻辑)输入、有效(逻辑)输出和中心变换部分;进行一级分解,设计上层模块;进行二级分解,设计输入、输出和中心变换部分的中、下层模块。5.5.2变换分析设计方法步骤:(1)区分传入、变换中心、传出部分,在DFD上标明分界线变换分析设计方法步骤确定DFD中是否含有变换流输出输入变换变换流:具有明显的输入、变换(或加工)、输出分界的数据流图变换映射方法BCADEQPRWUVabcedrpuwv变换中心传入部分传出部分变换分析设计方法步骤(2)第一级分解(建立初始SC框架)设计顶层和第一层模块变换映射方法控制模块输入处理模块输出处理模块主要处理模块输出输入变换第一级分解的方法MCMTMAME第一级分解后的SCMCMTMAME第一层顶层c,ec,eu,wu,w传入模块传出模块中心变换模块变换分析设计方法步骤(3)第二级分解(分解SC各分支)自顶向下分解,设计出每个分支的中、下层模块传入分支的分解

MACBAbacEDdec,e传出分支的分解

MEWWriteVuuw,uvvvPutUUtoVMEUWriteWwwuw,uV(1)(2)中心加工分支的分解MTPQRec,pru,wpr事务分析方法由以下四步组成:重画数据流图;区分传入部分、事务中心进行一级分解,设计上层模块;进行二级分解,设计传入、事务中心部分的中、下层模块。5.5.3事务分析设计方法例如:某事务系统具有下列功能读入用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论