信息系统设计
4、信息系统设计
4.1系统设计概述
系统分析阶段要回答的中心问题是系统“做什么”,即要明确系统的功能和用途,为系统的具体设计和实现提供一个逻辑模型。
系统设计阶段要回答的中心问题是系统“怎么做”,即如何实现系统规格说明书所规定的系统功能。建立物理模型。
4.1.1系统设计的目标
1、系统的可靠性
系统的可靠性主要分系统硬件和软件的可靠性。衡量系统的可靠性的重要指标是系统的平均故障间隔时间(Mean Time Between Failure,MTBF)和平均维护时间(Mean Time To Repair,MTTR)。前者指平均的系统前后两次发生故障的间隔时间,后者指发生故障后平均修复所需要的时间。MTBF越长,系统可靠性越高,MTTR越短,系统的可维护性就越高。
2、较高的系统运行效率
体现在以下三方面:
①处理能力指在单位时间能够处理的事物数。
②处理速度指处理单个事物所耗费的平均时间。
③响应时间指从客户端发出处理要求到系统返回处理结果所用的时间。
影响系统运行效率主要是以下两方面的因素:
系统硬件结构的影响。计算机处理过程的设计质量的影响。
3、系统的可变更性
4、系统的经济性
4.1.2系统设计的原则
系统性原则、简单性原则、开放性原则、管理可接受原则、其他原则(经济性、安全性、可靠性、简单易用等原则)。
4.1.3系统设计的内容
总体设计和详细设计。在实际系统设计工作中,这两个设计阶段的内容往往是相互交叉和关联的。
1、总体设计的主要任务是完成对系统总体结构和基本框架的设计。包括:系统总体布局设计和系统模块化结构设计。
模块化设计的工作任务包括如下内容:
①按需求和设计原则将系统划分为若干功能模块。
②决定每个模块的具体功能和职责。
③分析和确定模块间的调用关系。
④确定模块间的信息传递。
系统总体布局方案包括系统网络拓扑结构设计和系统资源配置设计方案。
2、详细设计
包括:代码设计、数据库设计、输入/输出设计、用户界面设计、处理过程设计。
3、其他设计任务
详细设计完成以后,也需要编制系统设计文档,主要工作包括系统标准化设计、描述系统设计结果、拟定系统实施方案。
描述系统设计的结果是编制系统设计说明书、程序设计说明书、系统测试说明书以及各种设计图表等,并将它们汇集成册,交给有关人员和部门审核批准。
4.2结构化设计方法和工具
4.2.1结构化系统设计的基本原则
结构化设计的基础是模块化,即将整个系统分解成相对独立的若干模块,通过对模块的设计和模块之间关系的协调来实现整个软件系统的功能。
4.2.2系统流程图
1、系统流程图的特点在于它着重表达的是数据在系统中传输时所通过的存储介质和工作特点,与物理技术有密切的联系。系统流程图的缺点在于它不能反映系统结构和每个模块的功能,无法评审系统是否符合用户的逻辑要求,也不可能知道系统的大小,是否易于维护和修改。
2、绘制系统流程图的主要依据
①信息处理的步骤和内容。
②每一步骤所涉及的物理过程。
③各步骤之间的物理和逻辑关系。
3、系统流程图常用符号
4.2.3模块
模块(module)是通过一个名字就可以调用的一段程序语言。包括输入输出、逻辑功能、内部数据及其运行程序4个部分。
模块的特点:抽象性、信息隐蔽性。
4.2.3HIPO技术
1、IPO图
IPO图是一种反映模块的输入、处理和输出的图形化表格。其中I、P、O分别代指输入(input)、处理(process)和输出(output)。它描述了模块的输入输出关系、处理内容、模块的内部数据和模块的调用关系,是系统设计的重要成果,也是系统实施阶段编制程序设计任务书和进行程序设计的出发点和依据。
2、HIPO分层示意图
分层次自顶向下分解系统,将每个模块的输入、处理和输出关系表示出来就得到了HIPO图。
4.2.5控制结构图
控制结构图描述了模块之间的调用关系,体现了模块之间的控制关系。基本调用方式主要有三种:直接调用、条件调用和重复调用。
4.2.6模块结构图
结构化设计采用结构图(Structured Chart)描述系统的模块结构及模块间的联系。从数据流图出发,绘制HIPO图,再加上控制结构图中的模块控制与通信标志,实际上就构成了模块结构图。结构图可以由数据流程图转换而来。
结构图与数据流程图有着本质的差别:数据流程图着眼于数据流,反映系统的逻辑功能,即系统能够“做什么”;结构图着眼于控制层次,反映系统的物理模型,即怎样逐步实现系统的总功能。从时间上说,数据流程图在前,控制结构图在后。数据流程图是绘制结构图的依据。
总体设计阶段的任务就是要针对数据流程图规定的功能,设计一套实现办法,因此,绘制结构模块图的过程就是完成这个任务的过程。
结构图也不同于程序框图(Flow Chart),后者用于说明程序的步骤,先做什么,再做什么。结构图描述各模块的“责任”,例如一个组织机构图用于描述各个部门的隶属关系与职能。
结构图中的组成部分包括:
①模块,用长方形表示。
②调用,从一个模块指向另一个模块的箭头表示前一个模块调用后一个模块。箭尾的菱形表示有条件地调用,弧形箭头表示循环调用。
③数据,带空心圆圈的小箭头表示一个模块传递给另一个模块的数据。
④控制信息,带实心圆圈的小箭头表示一个模块传递给另一个模块的控制信息。
模块结构图的层数称为深度。一个层次上的模块总数称为宽度。深度和宽度反映了系统的大小和复杂程度。
4.3系统总体设计
在进行系统总体布局方案设计时,有若干个问题应当进行考虑,主要包括:
①系统类型,集中式还是分布式。
②处理方式,根据实际情况采取其中一种,或者混合使用。
③数据存储,根据数据量的大小决定何种存储方式,即分布存储还是集中存储。
④网络结构,逻辑结构设计,网络协议选择。(B/W/D模式:浏览器/Web服务器/数据库服务器)
⑤硬件配置,考虑机器类型、性能价格指标等。
⑥软件配置,自行开发、外包或者整体购买。
4.3.2软件系统结构设计的原则
总体结构设计的主要原则有:
分解-协调原则、信息隐蔽和抽象的原则、自顶向下原则、一致性原则、面向用户原则。
4.3.3模块结构设计
1、模块独立性
模块的独立程度可以有两个定性标准度量:聚合(cohesion)和耦合(coupling)。聚合衡量模块内部各元素结合的紧密程度。耦合度量不同模块间互相依赖的程度。
聚合:偶然聚合、逻辑聚合、时间聚合、过程聚合、通信聚合、顺序聚合、功能聚合。
在进行模块设计中,应当尽可能提高模块的聚合程度,使每个模块执行单一的功能,以降低模块间的联系,争取获得较高的模块独立性。尤其应该追求模块的功能聚合,如果可能,要将非功能性聚合的模块转化为功能聚合的模块。
耦合:数据耦合、控制耦合、公共耦合、内容耦合。
模块内的高聚合往往意味着模块之间的松耦合。要想提高模块内部的聚合性,必须减少模块之间的联系。
2、功能模块设计原则
(1)系统分解有层次
(2)适宜地系统深度和宽度比例:深度过大说明系统划分过细,宽度过大可能会导致系统管理难度的加大。
(3)模块大小适中
(4)适度控制模块的扇入扇出
模块的扇入指模块直接上级模块的个数,模块的直属下级模块个数即为模块的扇出。模块的扇入数一般来说越大越好,说明该模块的通用性较强。对扇出而言,过大可能导致系统控制和协调比较困难,过小则可能说明该模块本身规模过大。经验证明。扇出的个数最好是3或4,一般不要超过7。如图,模块A的扇出系数为3,模块F的扇入系数为2。
(5)较小的数据冗余
3、数据流图到模块结构图的变换
数据流程图有两种典型的结构:变换型结构和事务型结构。对这两种结构,可以分别通过变换分析方法和事务分析方法导出标准形式的结构图。都是先设计结构图的顶端主模块,然后自顶向下逐层细化,最后得到满足数据流程图要求的系统结构。
4.4系统详细设计
4.4.1代码设计
1、代码的功能:唯一标识功能、分类功能、排序功能。
2、代码的种类:顺序码、区间码、助忆码、缩写码。
3、代码设计的原则:唯一性、标准化、规范化、合理性、可扩展性、简单性、实用性。
4、代码设计的步骤:确定编码对象和范围、调查是否已有标准代码、确定编排方式和符号类型、考虑检错功能、编写代码表。
4.4.2数据库设计
1、数据库设计步骤
数据库的设计过程可以分为4个阶段,即用户需求分析、概念结构设计、逻辑结构设计和物理结构设计。
用户需求分析是对现实世界的调查和分析;概念结构设计是从现实世界向信息世界的转换;逻辑结构设计是从信息世界向数据世界的转化;物理结构设计是为数据模型选择合适的存储结构和存储方法。
2、用户需求分析
系统应用环境分析、用户数据需求及加工分析、系统约束条件分析。
3、数据库概念结构设计
E-R模型即实体-联系模型是描述数据库概念结构的有力工具。
4、数据库逻辑结构设计
可由E-R模型转换为关系数据模型的转化规则。
5、数据库物理结构设计
确定存储结构、选择和调整存储路径、确定数据存储位置、确定存储分配、确定数据的完整性与安全性约束、考虑数据恢复方案。
4.4.3输入设计
输入设计是信息系统与用户交互的纽带。将直接影响处理结果的正确性和最终获得信息的可靠性。输入设计要保证将不合法、不完整和不正确的数据拒之于系统之外。
1、输入设计的原则
输入量最小原则、输入延迟最低原则、输入数据早校验原则、输入步骤少转换原则、输入过程简单化原则。
2、输入设计的内容
确定输入数据内容、确定数据的输入方式、确定输入数据的记录格式、确定输入数据的正确性校验机制。
3、输入设备
4、数据校验
输入错误的种类、数据校验方法、差错的纠正、设计出错表。
5、输入设计的评价
主要从用户使用的方便性和系统运行的高效、安全性两方面进行评价。
4.4.4输出设计
1、输出设计的内容
确定输出内容、选择输出设备、确定输出信息格式、
2、输出设计评价
4.4.5用户接口界面设计
1、接口界面设计的原则
统一原则、简明易学原则、灵活原则、美观原则、宽容原则、严谨原则。
2、接口界面设计的内容
定义界面形式、定义基本的交互控制形式、定义图形和符号、定义各种操作方式、定义信息反馈的策略、定义Help策略。
3、确定接口界面类型
菜单式、填表式、对话式、图形式、窗口式、
4.4.6处理过程设计
1、程序流程图
程序框图包括三种基本成分:加工步骤,用方框表示;逻辑条件,用菱形表示;控制流,用箭头表示。
2、N-S图
N-S图是一种符合结构化设计原则的图形描述工具,又称盒图。在N-S图中,每个处理步骤用一个盒子表示。盒子可以嵌套。盒子只能从上面进入,从下面走出,除此之外再无其他入口。
3、程序设计语言
4.5系统设计说明书
系统设计的最终成果是设计人员提交的系统设计说明书。应该包括的内容有两部分,引言和系统总体技术方案。
实施方案说明书:系统总体结构设计完成以后就要确定系统实施方案,书写实施方案说明书。实施方案说明书是系统实施阶段的依据和出发点。
实施方案说明、实施的总计划、实施方案的审批。