收藏 分享(赏)

结构化系统设计.ppt

上传人:weiwoduzun 文档编号:5692184 上传时间:2019-03-13 格式:PPT 页数:95 大小:1.50MB
下载 相关 举报
结构化系统设计.ppt_第1页
第1页 / 共95页
结构化系统设计.ppt_第2页
第2页 / 共95页
结构化系统设计.ppt_第3页
第3页 / 共95页
结构化系统设计.ppt_第4页
第4页 / 共95页
结构化系统设计.ppt_第5页
第5页 / 共95页
点击查看更多>>
资源描述

1、第7章 结构化系统设计,蒙 华 ,本章主要内容,结构化方法 系统设计的任务 总体设计:软件结构及各组成成分(子系统或模块之间的相互关系) 结构化设计的概念、基本原则 从数据流图导出结构图 结构化设计 代码设计 输入、输出及人机对话设计 模块详细设计 数据库设计、网络设计 系统设计说明书,7.1 结构化方法概述,结构化方法的主要思想: (1)软件是有组织、有结构的逻辑实体,其结构为自顶向下的 形式 (2)软件由程序和数据组成,其结构呈现三层组织形式,即系 统、子系统、功能模块/数据体 (3)软件结构中的各部分既独立又关联 从分析到设计,转换,现实领域的各种需求,计算机领域的具体实现,7.2 系统

2、设计的任务和标准,系统设计的任务总体设计和详细设计 系统总体设计是把总任务分解成为许多基本的、 具体的任务 将系统划分为模块 决定每个模块的功能、模块的调用关系 决定模块的界面,即模块间的数据传递 设计就是要回答“怎么做” 完成技术实现方案的制定,即信息系统的物理模型 一个逻辑模型,可以提出多个物理模型 根据物理模型进行实施,得到最终的物理系统,标准: 信息系统的功能:是否满足用户的需求 系统的效率:响应时间、操作的方便性 系统的可靠性:抗干扰能力、故障恢复 系统的工作质量:准确性、使用效果 系统的可变更性:修改和维护的难易程度 系统的经济性:系统收益与支出比,(1) 对一个复杂的系统,应用自

3、顶向下、逐步求精的方法予以分解和化简。 (2) 强调采用模块化的设计方法,并有一组基本设计策略 (3) 采用结构图作为模块设计的工具。,结构化系统设计的特点:,信息系统的可变更性,统计表示:在信息系统的整个生命周期中,系统维护成本占总 成本的80%左右。 因此,可变更性是衡量信息系统设计的重要指标。 结构简单 系统各组成元素分工明确,易于理解 元素之间的关系清晰简洁 软件设计方法: 结构化设计(SD)、面向对象设计(JSD方法)、 面向对象的设计方法(OOD方法),7.2.1 模块化的基本思想,结构化设计方法是基于模块化、自顶向下逐步细化、结构化 程序设计等技术发展起来。使用模块化一定程度上能

4、够简化系统结 构,使系统容易修改和理解。具体做法: 把整个软件划分为部分,其中每一部分的功能简单明确,即 程序模块(可以是子过程或函数) 划分模块工作按层次进行,上层模块调用下层模块 每一个模块应尽可能独立 模块间的调用接口要阐明(模块名称、输入数据、输出数据),(一)模块的概念,模块(Module) 通常对应于用一个名字就可以调用的一段程序语句 (子程序或函数) 模块具有输入和输出、逻辑功能、运行程序、内部数据四种属性。 模块数量和软件成本的关系如下图所示,接口成本,成本,模块数量,单元模块成本,软件总成本,模块设计的度量标准 为了衡量模块的相对独立性,提出了模块间的耦合(Coupling)

5、与模块的内聚(Cohesion)两个标准 耦合:模块和模块之间的联系程度 内聚:模块内部各元素之间的联系程度 设计目标:低耦合、高内聚 模块内的联系越紧越好 模块间的联系越少越好,(二)系统模块设计原则,1、模块之间的耦合原则-模块之间的联系-模块的耦合方式-几种耦合的比较 2、模块的内聚性原则 3、模块的分解原则 4、模块的扇入和扇出原则,1、影响耦合度的因素,如果使用模块A需要了解模块B,那么A和B是耦合的。影 响模块间耦合程度有三方面的因素:模块接口的复杂程 度、调用模块的方式、通过模块接口的数据。 联系方式模块间通过什么方式联系 来往信息的作用模块间来往信息作什么用 数量模块间来往信息

6、的多少。,混合 控制 数据,用过程 直接引用 语句调用,少,多,数量,方式,作用,0,离坐标原点越远,耦合程度越高,-耦合的方式,根据以上因素,对耦合分类如下: 数据耦合:采用子程序调用,调用模块将需要进行处 理的数据传递给被调模块。 标记耦合:两个模块接口参数包含相同内部结构。 控制耦合:一个模块将控制信息传递给另一个模块, 以控制被调模块的内部处理逻辑。(可以分解) 公共耦合:如果两个模块共享同一公用数据,称为公 共耦合。 内容耦合:两个模块之间的内部属性有直接关联,也 称病态耦合。(某些GOTO语句),数据耦合 sum(int a,int b) int c; c=a+b; return(

7、c); main() int x,y; printf(“x+y=%d”,sum(x,y),控制耦合,模块之间交换信息中包含有控制信息(有时控制信息以数据的形式出现) void output(flag) if (flag) printf(“ok!”);else printf(“no!”); main() int flag;output(flag); ,公共耦合,如果两个或多个模块都和同一个公用数据域有关 1)系统可理解性降低(模块间存在错综复杂的连系) (2)系统可维护性差(修改变量名或属性困难) (3)系统可靠性差(公共数据区及全程变量无保护措施)慎用公共数据区和全程变量!,模块B、E和模块C

8、之间存在着公共耦合,当需要修改 公共数据时, 与之相关的 所有模块可能 都要进行修改,内容耦合,-若一个模块访问另一个模块的内容(包括数据和程序段)进行了直接的引用甚至修改; -或通过非正常入口进入到另一模块内部; -或一个模块有多个入口; -或两个模块共享一部分代码;,-几种耦合的比较,系统设计模块之间的联结原则,尽量采用较低的耦合形式(简单耦合和数据耦合) 减少控制耦合 必要时使用公共耦合,但一定要将数据控制在最少 绝对不能采用内容耦合,2、 模块的内聚,模块的内聚反映模块内部联系的紧密程度。高内聚性的好处是可以提高程序的可靠性。有一个调查表明,50的强内聚性子程序是没有错误的,而只 有

9、18的弱内聚性子程序才是无错的,弱内聚性子程序的出错机 会要比强内聚性出错机会高 6 倍,而修正成本则要高 19 倍。 模块的组合形式功能顺序通信过程暂时逻辑偶然组合 模块组合形式的判断 模块组合形式的比较,比如显示期末成绩通知:,顺序内聚,例如:一个模块用于计算高于平均分的人数,步骤是先循环累计总分,然后计算得到平均分,最后循环统计高于平均分的人数有步骤的先后,而且前一个步骤的结果要用于后一步骤的运算中,通信内聚,上图中有两个工作: 按配件编号查询“数据存储”,获得单价。 按配件编号查询“数据存储”,获得库存量。 这两个处理动作都使用相同的输入数据,称为通讯内聚,模块组合判断树,该模块只执行

10、一个功能吗?,功能组合,否,模块内各组成部分关系如何?,数据流,否,是,顺序组合,通信组合,否,是,过程组合,暂时组合,否,是,逻辑组合,偶然组合,控制流,两者皆非,是,次序重要吗?,逻辑相似吗?,次序重要吗?,耦合和内聚的关系,二者就像连体兄弟,存在紧密相关的关系: 模块内的高内聚往往意味着模块间的松耦合 反之,低内聚一般会带来紧耦合 松耦合 作为软件设计的军规之一。各部分的关联越少意味着你在测试,集成,维护的时候可以轻松不止一点点。 高内聚 也就是说一个类特别是一个方法应该专注于一件事。,作用范围与控制范围,一个判断的作用范围是所有这样的模块的集合,这些模块内含有依赖于这个判断结果的处理。

11、或称影响范围。 一个模块的控制范围是指它本身及其所有下属模块的集合。,D 计算总工资,C 计算职工工资,B 计算临时工工资,A 计算工资,模块A的控制范围是: A、B、C、D,假如判定出现在模块A,该判断的作用范围是:A B、C、D不受影响,有些处理的执行受判断的影响。由此引出判断的作用范围(或称影响范围)这一概念。 模块的作用域是指模块中判定的作用范围,它是指所有受这个判定影响的模块。如果模块中含有受判定影响的操作,则该模块在这个判定的作用范围之中。如果模块执行与否取决于判定的结果,则该模块及其直接或间接调用的模块均在这个判定的作用范围之中。 模块的控制域是指模块本身及其直接或间接调用的模块

12、。 如果模块的作用域不在控制域之内,则会增加模块间数据的传递量,使模块间出现控制耦合。 模块的控制范围:本身及其所有下级模块。 模块的判断作用范围:被判断调用的模块。,模块设计中模块控制域与作用域的设计原则:,1.对于任何一个内部存在判断调用的模块,它的判断作用的范围应该是其控制范围的一个子集。 2.存在判断调用的模块,所在层次不要与那些属于判断作用范围的模块所在的层次相隔太远。,4、模块的扇入和扇出原则,模块的扇出 模块扇出的原则 模块的扇入 模块的扇入原则 模块扇出扇入总原则,模块的扇出(Fan_Out),模块的扇出表达了一个模块对它的直属下级模块的控制范围模 块。扇出系数是指其直属下级模

13、块的个数。 扇出原则: -模块的扇出直接影响着系统的宽度 -模块的扇出过大,控制与协调困难,模块的聚合可能较低 -模块的扇出过小,说明上下级模块或本身过大,应进行分解 -一个系统的平均扇出系数通常是3至4,一般不应超过7,A的扇出系数为2,B的扇出系数为1,C的扇出系数为3,模块的扇入(Fan_In),模块的扇出表达了一个模块与其的直属上级模块的关系 模块的扇入系数是指其直接上级模块的个数,A的扇出系数为3,B的扇出系数为2,F的扇入系数为2,模块的扇入、扇出原则,模块的扇入说明系统的通用情况,扇入系数越大,表明共享该模块的上级模块数目越多,通用性越强(通用性强,维护方便) 片面追求高扇入可能

14、使得模块的独立性降低 高扇入 :扇入就是指被其它类或方法引用。那高扇入也就是说你这个类/方法.被很多其它类引用了。也就是利用率很高了。如果段代码连写了三次,应考虑把它单独作为一个方法或类 高层模块的扇出系数较高、中层模块的扇出系数较少 低扇出 :扇出自然就是引用其它类或方法了。 扇出越高,类就越不稳定,因为任何一个引用对象出问题了,这个类也就会出问题。引用超过约七个就算高扇出了. 对其它类的引用过多,导致该类不稳定(取决所有引用类),7.2.2 结构化系统设计,面向数据流的设计是以需求分析阶段产生的数据流图为基础,按 一定的步骤映射成软件结构,又称结构化设计(Structured Design

15、 ,简称SD)。该方法由美国IBM公司L.Constantine和E.Yourdon等 人于1974年提出,与结构化分析(SA)衔接,构成了完整的结构化 分析与设计技术。 采用自顶向下的方法进行设计 具有系统自动化边界的DFD 结构图(简单地说,就是绘制模块结构图) 根据DFD导出系统初始的结构图(利用一组设计策略)对结构图的反复改进过程(设计优化-运用一组设计原则),引子,2自动化系统边界划分(Automation System Boundary),将数据流图划分为手工处理部分和系统能自动完成的部分 程序的处理过程可以在系统边界内部或外部 数据流可以在系统边界内部或外部 穿过系统界线的数据流

16、代表了系统的输入和输出 在最终的系统中,数据流将成为用户界面中的表单、报表、供其他系统使用的数据文件等,带自动化系统边界的DFD,结构图的基本符号 结构图中模块调用关系 结构图的表示 结构图的特点 结构图与数据流程图的区别 结构图与程序框图的区别,3、 结构图(structure chart),结构图的基本符号,模块名称,表示一个功能模块,表示模块与模块之间的调用关系,表示模块与模块之间的数据传递关系,表示模块与模块之间的控制信息传递关系,表示判断关系,表示循环关系,结构图的关系,A,B,x,y,z,(1),A,C,D,B,(2),A,C,D,B,(3),主调模块,被调模块,被调模块,主调模块

17、,被调模块,被调模块,循环调用,条件调用,1.结构图无严格的模块调用顺序,但一般习惯从左至右 2.因为约定遵从从上向下的调用,调用关系也可以不使用箭头,而直接使用直线 3.模块间传递的信息如果出现在数据字典中,则视为数据,否则为控制信息,结构图的画法,4、从数据流图导出结构图,转换,设计模型 (物理模型),转换存在鸿沟,数据流图着眼于现实世界,结构图着眼于计算机世界。 数据流图反映数据流,系统逻辑功能,即能“做什么”; 结构图反映程序控制层次,反映系统的物理模型,即怎样逐步实现系统的总功能。 数据流图描述线性的工作流程,结构图描述工作的分配(谁负责做什么) 数据流图中存在两种典型的结构: 变换

18、型( Transform)结构 事务型(Transaction)结构。 可分别通过变换分析和事务分析方法导出标准形式的结构图。 变换分析:用来描述输入、处理、输出数据流。 事务分析:用来描述多种事务类型的处理。,要把数据流图(DFD)转化为软件结构,首先必须研究DFD的类型。各种软件系统,不论DFD如何庞大和复杂,一般可分为变换型和事务型。 变换型布局的数据流图呈一种线性状况,它所描述的工作可默示为输入、变换及输出。,变换型问题数据流,变换型系统结构图,事务型布局的数据流图则呈束状,即一束数据流平行流人或流出,可能同时有几个事务请求处理。若某个加工将它的输入流分离成许多发散的数据流,形成许多加

19、工路径,并根据输入的值选择其中一条路径来执行,这个加工称为事务处理中心。,事务型问题数据流,事务型系统结构图,混合型设计一个结构图,事务型与变换型DFD结构图转换示例,4.4 设计一个结构图,4 结构化系统设计,事务型与变换型DFD结构图转换示例,面向数据流方法的设计过程,面向数据流设计方法的过程如下: (1)确定DFD类型 -如果是变换型,确定变换中心和逻辑输入、逻辑输出的界线,映射为变换结构的顶层和第一层; -如果是事务型,确定事务中心和加工路径,映射为事务结构的顶层和第一层。 (2)分解上层模块,设计中下层模块结构。 (3)根据优化准则对软件结构求精。 (4)描述模块功能、接口及全局数据

20、结构。 (5)复查,如果有错,转向(2)修改完善,否则进入详细设计。,5、设计一个结构图,(1)确定DFD中的变换中心、逻辑输入和逻辑输出。 (2)设计软件结构的顶层和第一层-变换结构。变换中心决定了主模块的位置,即软件结构的顶层。其主要功能是完成所有模块的控制,名字为系统名称,以体现完成整个系统的功能。第一层一般至少有三种模块:输入、输出和变换模块。 (3)设计中、下层模块。对第一层的输入、输出、变换模块自顶向下逐层分解。 输入模块的功能是向调用模块提供数据,所以必须有数据来源。每个输入模块可以设计成两个下属模块:一个接收,一个转换,用类似的方法一直分解下去,直到物理输入端。 输出模块的功能

21、是将它的调用模块产生的数据送出。这样每个输出模块可以设计成两个下属模块:一个转换,一个发送,直到物理输出端。 变换模块下属模块的设计。 设计的优化。 以上步骤设计出的软件结构仅仅是初始结构,还必须根据设计准则对初始结构精细和改进。,变换分析,第1步 划分输入、加工、输出,原始数据,机内数据,正确数据,解,格式化解,输出解,逻辑输出,逻辑输入,(物理输入),(物理输出),第2步 构造第1、2层模块,正确数据,求解 编辑数据,计算,获得正确数据,输出解,编排格式,打印解,编辑数据,读入数据,正确数据,原始数据,原始数据,解,格式化解,解,正确数据,格式化解,解,第3步 继续分解,更细粒度的模块分解

22、,如:,计算,中间结果,数据,计算A,计算B,最终解,对于具有事务型特征的DFD,则采用事务分析的设计方法。 (1)确定DFD中事务中心和加工路径。 (2)设计软件结构的顶层和第一层事务结构。 接收分支:负责接收数据,它的设计与变换型DFD的输入部分设计方法相同。 发送分支:通常包含一个调度模块,它控制管理所有的下层的事务处理模块。当事务类型不多时,调度模块可与主模块合并。 (3)事务结构中、下层模块的设计、优化等工作同变换结构。,事务分析,对并行结构的DFD进行分析,如:根据输入数据判断业务类型,不同业务的具体处理过程有区别。,Q内容,B结果,C结果,B数据,A结果,清单,原始输入,A数据,

23、P内容,C数据,R内容,决定 事务类型,打印 更新内容,事务A,事务B,事务C,更新P,更新Q,更新R,请根据已知的销售分析系统的数据流程图,绘制出初始结构图,结构图与数据流程图的区别,结构图与程序流程图的区别,7.3 模块总体设计举例,问题描述:病人监护系统中的实时监测模块。 该模块使用病床专用设备测量病人的若干生理参数,如体温、脉搏、血压等等。 每个病人各种指标的安全范围由医生预先指定。 每经过一定的时间间隔,监测模块从监视设备读入这些数据,并存入数据库中。 若发现某个指标超出合理范围,则向维修站发出设备故障通知,报告床号。 若发现某个指标越出安全范围,则向护理站发出通知,报告病人号。,分

24、析产生的DFD,病历,合理数据,数据,不安全因素,读取数据,存储数据,检查数据,通报不 安全因素,不合理数据,FS2,病人监护,采集数据,检查数据,处理数据,获取下一个病人,PN,FS,EOF,EF,EOF,FS,EF,USF,EF,USF,FS,PN,EF,USF,PN,FS,PN,FS,EF,PN,EF,PN,FS,FS SR,读 取 数 据,检查不合理范围,查询安全范围,判定病人是否安全,写 数 据 库,通报设备故障,通报不安全因素,EF,BN,PN,FS,EF,PN,BN,初始结构图,PN病人号;BN床位号;SR安全范围;FS各指标数据; EF设备故障标志; EOF标志已查过最后一个病

25、人; FS2标志指标是否合理; USF标志指标不安全,第1次改进,“处理数据”模块没有实质性的功能,所包含的三个子模块相互之 间没有什么关联,内聚程度很低。 该模块只是充当了“管道”,改进如下: 废除“处理数据”模块; 直接由主模块调用“通报设备故障”、“通报不安全因素”和“写数据库”三个模块,病人监护,写数据库,通报不安全因素,通报 设备故障,检查数据,采集数据,第2次改进,通报设备故障时应通报床位号而不应是病人号,因此要传 递床位号。 床位号BN可由“采集数据”模块传给主模块,再由主模 块传递给 “通知设备故障”模块。这样做增加了模块间的联系, 改为由“采集数据”模块直接调用,PN, FS

26、,病人监护,采集数据,检查数据,通报 不安全因素,获取 下一个病人,PN,FS,EOF,EF,PN,BN,EOF,FS,EF,USF,USF,PN,FS2,PN,EF,PN,FS,FS SR,SR,读取数据,检查 不合理范围,查询安全范围,判定病人是否安全,写数据库,通报 设备故障,EF,BN,PN,FS,EF,FS,第2次改进结果,第3次改进,若由“检查数据”模块直接调用“通报不安全因素”模块,则可减 少模块间的联系,即不用传递USF标志(排除控制耦合)。 “检查数据”的名字改为“报告不安全因素”更为恰当,病人监护,采集数据,报告不安全因素,写数据库,PN,FS,EOF,EF,EF,USF,

27、PN,SR,FS,EF,PN,FS,查询安全范围,通报不安全因素,PN,FS,判定病人是否安全,第4次改进,“获取下一个病人”模块的界面要返回病人号和床位号,如果“ 读 取数据”模块包括从病人号查床位号的功能,则“获取下一个病 人”模块的接口可以简化,采集数据,获取 下一个病人,PN,EOF,FS,EF,PN,BN,FS,读取数据,检查不合理因素,从PN查BN,EOF,PN,通报设备故障,FS2,BN,第5次改进,通过床号读取数据,功能很明确,但目前包含在“读取数据”模块中,这部分程序代码如果抽取出来单独成为一个模块更好,名字为“从床号读数据” 该模块可以成为一个公用模块,很易于重用,采集数据

28、,获取下一个病人,PN,EOF,FS,EF,PN,BN,FS,EOF,PN,FS2,BN,从PN查BN,从床号读数据,通报设备故障,检查不合理因素,BN,采集病人数据,第6次改进,“ 从床号读数据”应该是功能单一,调用“通报设备故障”不应属 于该模块内容。 将“通报设备故障”改为上层模块调用,使“从床号读数据”模块 功能更明确,公用性也更好 第7次改进 给护士站或维修站的通报消息可能采用了同一种方式或界面,因此 可能会有公用的模块,比如“写一行”(或“发出警报”之类) 因此再抽出一个模块“写一行”,供两个模块调用。,第6次改进结果,病人监护,采集数据,报告不安全因素,写数据库,判定 下一个病人

29、,PN,FS,EOF,EF,PN,EOF,FS,EF,USF,PN,EF,SR,EF,FS,PN,FS,SR,采集 病人数据,检查 安全范围,判定病人是否安全,通报 不安全因素,EF,PN,PN,FS,从PN查BN,从床号 读数据,通报 设备故障,检查不合理因素,BN,BN,EF,FS,BN,FS,FS2,PN,FS,第7次改进结果,病人监护,采集数据,报告不安全因素,写数据库,判定 下一个病人,PN,FS,EOF,EF,PN,EOF,FS,EF,USF,PN,EF,SR,EF,FS,PN,FS,FS,SR,采集 病人数据,检查安全范围,判定病人是否安全,通报 不安全因素,EF,PN,PN,F

30、S,从PN查BN,从床号 读数据,通报 设备故障,产生一行,写一行,检查不合理因素,BN,BN,EF,EF,FS,BN,FS,FS2,PN,FS,一行,一行,一行,7.4 代码设计和作用,代码:表征客观事物的一个或一组有序的符号,它应易于计算机和 人识别与处理。一般用数字、字母或其的组合来表示。代码设计是 科学管理的体现。如车牌号码、商品编码、身份证号、学号 代码的作用:鉴别功能、分 类 、排序、专用含义,唯一化,规范化,系统化,为事物提供一个概要而不含糊的认定,便于数据的存储和检索。,编码要有规律,符合某一类事物的聚集,提高处理的效率和精度。,也即标准化,符合国家或行业标准,提高数据全局一致

31、性。,代码的类型,代码举例: 身份证号 国际书号 会计科目 考研报考的学校代码、专业代码 ,如何保证代码输入的正确性,代码不允许出错,那么如何避免代码错误: 输入技术(如磁卡、IC卡、读卡器) 列表选择输入(少量) 界面中采用下拉表选择,不需要键盘输入 利用数据库中的代码表对照检查(较多) 代码量很多时,下拉选择不可取,可在数据库中为代码及其含 义建立数据表,手工输入后,在数据库中进行查询,如果存在 则可显示详细内容,否则表示输入有误 代码中设置校验位(上述方法都不适用时) 代码自身具有一定的验证功能,代码设计的步骤,-确定代码对象 -考查是否已有标准代码 -根据代码的使用范围、使用时间,根据

32、实际情况选择 代码的种类与类型。 -考虑检错功能 -编写代码表,7.5 输入/输出设计,哪些地方需要进行输入/输出设计呢? 报输出设计:当DFD图中有数据流从系统流出到外部实体地方。 表、人机交互的查询、发送邮件等 到其他系统(消息、数据库、文件等) 输入设计:外部实体的数据流进入到系统的地方。 本系统操作人员的输入 来自于其他系统的输入(其他的数据库或文件、其他系统的实时响应结果) 高度自动化的输入(条码扫描仪、传感器等),7.5.1 输出设计,系统中的数据输出到人、组织、其他系统,报表,商品查询结果,付款信息,输出设计的内容,确定输出内容:首先确定用户在使用信息方面的要求,包括使用目的、输

33、出速度、频率、数量、安全性要求等等。然后设计输出信息的内容、信息形式(表格、图形、文字)、数据结构、数据类型、位数及取值范围等等。 选择输出设备与介质:常用的输出设备有显示终端、打印机、磁带机、磁盘机、绘图仪、缩微胶卷输出器、多媒体设备。输出介质有纸张、磁带、磁盘、缩微胶卷、光盘、多媒体介质等等。 确定输出格式:输出报表或图形,清晰直观,满足需求和习惯,符合行业标准,输出设备输出介质,输出设备和输出介质,Printers(打印机) Video Display Unit(显示器) Plotters(绘图仪) COM Equipment(串行端口设备) Speakers(喇叭)Paper(纸) V

34、ideo Screen(屏幕) Microfilm/Microfiche(胶片) Air Waves/Sound(声音) Disk(存储设备) IC卡,输出格式,表格 清单(如各种收费单) 汇总表(月报表) 对照表(年度对照) 图形 折线图(股票走势) 柱状图(产品销售业绩) 饼图(产品区域分布比例) 文字,7.5.2 输入设计,外部产生的数据如何输入到系统中,贷款审批意见,订单,新生档案,1、输入设计的内容,确定输入数据内容:包括确定输入数据项名称、数据内容、精度、数值范围。 确定数据的输入方式:联机终端输入还是脱机批量输入,与数据发生地点、时间、紧急程度有关。 记录格式设计:记录格式设计得

35、好,能减少数据冗余,降低错误率和操作员劳动强度。 输入数据的正确性校验:可能的话直接从已有数据中选择 确定输入设备:键盘、鼠标、触摸屏、读卡机、字符识别机、光电阅读器、条形码识别机、语音识别仪、图像扫描仪,批量输入联机输入混合方式,2、输入模式,Magnetic Ink Character Recognition (MICR) Optical Character Recognition (OCR) Optical Mark Recognition (OMR) Image Scanner & Facsimile (Fax) Machines Point-of-Sale Device (POS)

36、Automatic Teller Machine (ATM) Intelligent Card,Keyboard Mouse Joystick Pens Scales Voice Recognition Touch Screen,3、输入设备,4、输入的记录格式,很多数据在输入到系统之前,通常来源于纸质的记录。 数据提供者只负责提供数据,而不负责数据录入到计算机 出于安全考虑,需要有纸质档案,如会计数据 因此需要进行数据记录格式的设计。 数据记录格式的设计直接关系到系统输入数据的质量,因此要 考虑计算机录入的特点。,5、输入设计的原则,最小量原则 仅输入必要的数据,尽量让系统计算或导出数据 简

37、单性原则 输入的准备、输入过程应尽量容易,以减少错误的发生,并在适当的地方使用代码 早检验原则 对输入数据的检验尽量接近原数据发生点 少转换原则 输入数据尽量用其处理所需形式记录,以免数据转换时发生错误;直接使用已有的数据,比如采用EDI(电子数据交换),XML,从一个系统到另一个系统数据直接使用,不需要再次输入,7.6 信息系统界面(接口),信息系统与外界环境之间的输入输出就可以称为信息系统的界面。 根据输入输出操作对象和设备划分为两种: 系统界面:系统中包含的不需要人员干预的输入和输出部分。例如:自动捕获的输入数据和自动输出的数据。 人机界面:信息系统中需要用户交互的输入和输出部分。例如:

38、查询书目、下订单。,7.6.1 人机对话设计,信息系统是一个人-机系统,大量的输入和输出面对的是人,抽取这部分进行人机对话设计。 多数场合指图形用户界面设计 少数使用字符界面:如命令行 要了解图形用户界面的基本元素(控件)及其使用特点:下拉菜单、弹出菜单、列表框/组合列表框选择钮、复选框、文本输入框命令按钮、滚动条、表格,7.6.2 图形用户界面设计步骤,1、了解用户的特点(岗位职责、学历水平、计算机熟悉程度) 2、确定输入和输出的数据内容 3、确定设计目标(易用性、数据校验要求) 4、选择适当的界面元素,将设计排练出来 5、评价设计结果,可反复修改 Ben Shneiderman所著的用户界

39、面设计有效的人机交互策 略总结了三项原则: -考虑用户的多样性 -八条黄金设计规则,适用于大多数交互系统的基本定律 -预防出错,八条黄金设计规则,-尽量保持一致(布局、颜色、词汇) -允许熟练用户使用快捷键 -提供积极的有价值的反馈 -设计完整的对话过程,每次对话有明确的结束信息(包括窗口的切换) -提供预防错误和简单的错误处理手段 -允许撤销动作 -提供控制的内部轨迹,让用户感觉控制了系统,而不是被控制 -减轻短期记忆负担,7.7 模块详细设计,区分模块总体设计和模块详细设计 模块详细设计是要确定每个模块的内部特征,即内部的处理过程的设计。 处理过程设计可以采用以下工具表达: 程序流程图(程

40、序框图) 盒图(NS图) 程序设计语言(PDL),1、程序流程图,三种结构,(a) 顺序,(b) 循环,(c) 选择,(d) 条件,2、盒图(NS图,Nassi & Shneiderman),在NS图中,每个处理步骤用一个盒子表示。盒子可以嵌套。盒子只能从上头进入,从下头走出,除此之外别无其他出入,(a) 顺序,(d) 循环,(c) 选择,(b) 条件,3、流程图和盒图的比较,与流程图相比,NS图的优点在于: 第一,它强制设计人员按结构化程序设计方法进行思考 并描述他的方案; 第二,图象直观,容易理解设计意图,为编程、 复查、测试、维护带来方便; 第三、简单易学。,7.8系统设计说明书,设计完成,提交系统设计书,两种形式: 单册报告,分章节介绍总体模块设计、代码设计、输入/输出、人机交互、数据库等各部分内容 多册,以上各部分单独书写成册,如总体设计报告、数据库设计报告、模块详细设计报告等,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报