4 信息系统设计
4.1系统设计概念
任务:建立新系统的物理模型(系统在计算机内由哪些功能模块以何种方式构成)
- 总体设计:硬件体系、软件体系、网络体系、模块体系设计(模块结构图)
- 详细设计:文件或数据库设计;代码设计;输入/输出设计;模块设计
- 提交系统设计的报告
系统设计的特点:
- 功能满足;
- 系统的效率性;
- 系统的可靠性;
- 系统的工作质量;
- 系统的可变性;
- 系统的经济性
系统设计的目标:可变性;易于理解;容易维护
4.2总体设计
4.2.1总体设计内容
硬件体系、软件体系、网络体系、模块体系设计(模块结构图)
4.2.2模块结构图的构成要素
系统流程图——过程角度
HIPO图——层次结构
模块结构图——过程和层次
模块结构图的特点:
- 从过程与层次两个角度划分子系统与模块
- 不仅表示了模块之间的层次,而且表明了调用关系、数据流、控制流和信息传递的关系
- 是系统流程图与HIPO的综合与发展
- 依据于数据流程图
- 是目前结构化系统设计的主流工具
4.2.3模块结构图的画法
设计策略:依赖于数据流程图,把数据流程图变换成模块结构图;事务分析法;变换分析法
事务分析法:高层的数据流程图中的处理逻辑都可以看成事务;对于三层或者三层以上的数据流程图,都可以用事务分析法;事务分析产生的结构图
系统总体优化的准则:
- 模块的聚合(内聚)
- 概念:模块内部的紧凑程度
- 分类:
- 功能聚合:内部的所有动作都是为了完成一个功能、一次输入、转换与输出
- 顺序聚合:前一个动作的输出是后一个动作的输入
- 通信聚合:两个动作使用相同的输入、产生相同的输出
- 过程聚合:动作无关系、都受同一个控制流的支配
- 暂时聚合:处理的动作和时间有关(如:初始化)
- 逻辑聚合:逻辑相似,但实质上是有区别的或者不同的
- 偶然聚合:没有任何关系的模块放在一起
- 模块的耦合(联结)
- 数据耦合:单个数据项传递
- 特征耦合:数据结构传递
- 控制耦合:上级模块向下级模块传递的信息控制着下级模块内部的动作
- 公共耦合:模块和一个公共数据域有关
- 内容耦合:一个模块受另一个模块内部的数据的影响
- 模块的分解
- 分解到功能聚合型的模块为止
- 模块大概可用30-50句语句完成
- 模块的扇入、扇出
- 扇入:一个模块的上级模块叫做扇入模块
- 扇出:一个模块控制的下级模块叫扇出模块
- 原则:扇入越大越好 扇出数目控制在7±2范围内
- 模块的控制范围与判断作用范围(影响范围)
- 前者指模块本身和它的下级模块
后者指模块和有判断调用的模块的组合 - 准则:后者是前者的子集
模块的判断作用范围内的模块尽量在层次上靠拢
- 前者指模块本身和它的下级模块
4.3详细设计
对信息系统中的数据、代码、人机交互等进行的设计。
包括:
- 数据文件分类与设计
- 代码设计
- 输入、输出与人机交互设计
4.3.1数据文件分类和设计
内容:
数据与文件分类
存储方式、文件命名规则设计
规范化设计
完整性
一致性
有效性
安全性
存储过程
数据与文件分类
按不同的角度进行分类
- 按照媒体类型分类,可分为数字、文本、图形、3D、矢量图像、栅格图像、动画、音频、视频等
- 按性质分类,可分为基础数据库和代码数据库
- 按时间分类,可分为现场库和历史库
- 按业务分类,如教务系统可分为学生用户和教师用户等
- ……
存储方式、文件命名规则设计
存储方式:
- 分布、集中、异构:分布数据库逻辑相同,物理分散;集中数据库逻辑和物理一致,异构数据库逻辑上有所差别,物理上不同。
- 单机、网络
- 文件、数据库、其他
文件夹与文件命名规则
由于分类的方式不同,数据的种类也不同,因此需要统一的文件命名规则,是不同分类体系的体现,便于不同模块的不同的人进行开发。包括日期(版本)、人员、业务、内容等等,命名规则要简洁、唯一、易读等等。
规划化设计
规范化设计是将数据模式中不合理的东西(依赖、冗余、异常等)解决,使之变的规范化,便于数据库人员的操作,提高效率。一般要采用3NF以上的范式,根据具体情况选择,但并不是范式越高越好,可能造成冗余等现象。
完整性设计
存储在数据库中的所有数据值均正确的状态
实体完整性是指数据库中主关键字不能为空
参照完整性是指数据库中表的取值必须有效,不能引用不存在的实体。
用户自定义的完整性是指用户自己定义每个字段的限制条件。
一致性、有效性、安全性
要保证数据的一致性、有效性、安全性
存储过程设计
存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集。
存储在数据库中,经过第一次编译后调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
存储过程是数据库中的一个重要对象。
存储过程设计要求设计存储过程的种类和数量。
4.3.2代码设计-离散数据
一个或者一组有序的易于计算机和人识别与处理的符号。
代码设计的步骤:
- 信息分类
- 分类原则:
- 科学性
- 系统性
- 可扩充性
- 兼容性
- 综合实用性
- 分类方法
- 线分类法
- 也称层级分类法,将选定的分类对象按若干属性逐次地分成若干层级的类目,同类之间并列、上下之间从属
层次性好、方便
弹性差、效率低
- 也称层级分类法,将选定的分类对象按若干属性逐次地分成若干层级的类目,同类之间并列、上下之间从属
- 面分类法
- 若干属性独立分类、没有上下级的从属关系
进行组配
组配太多
- 若干属性独立分类、没有上下级的从属关系
- 线分类法
- 分类原则:
- 编码
编码的原则:
唯一性:一个编码对应一个信息或事物,即通常所说的一物一码
合理性:编码要合理,尽可能采用有逻辑的编码可以反映某些意义,便于记忆。
可扩展性:编码要包含某一类的所有东西,种类增加后可以通过扩展进行编码
简单性:编码要尽可能简单,减少冗余,便于记忆、阅读、填写等
适用性:编码要适用,不能过长也不能过短,过长记忆、存储等方面都有难度,过短不能充分表示所有物品。
规范性:编码要符合国家的、行业的等相应的标准和规范。
4.3.3 输入输出设计
设计必要性:系统中有需要进行输入/输出的地方
输出设计的内容:
1、确定输出内容
确定用户在使用信息方面的要求,包括使用目的、输出速度、频率、数量、安全性要求
然后设计输出信息的内容、信息形式(表格、图形、文字)、数据结构、数据类型、位数及取值范围等等。
2、选择输出设备与介质
常用的输出设备有显示终端、打印机、磁盘机、绘图仪、多媒体设备、磁带机等
选择输出介质:纸张、光盘、磁带IC卡、磁盘、多媒体介质等
3、确定输出格式
输出文字、报表、图形等,清晰直观,满足用户的管理需求和习惯,符合行业标准
4、确定输出方式
邮件、手机短信、脉冲等
输出质量要求:正确Accuracy;易存取Accessibility;及时Timeliness;适当Relevance;可用Useability
输入设计的原则:
最小量原则:输入必要的数据,系统计算二次数据或导入数据
简单性原则:输入次数少,人机交互易
早检验原则:单字段检验
少转换原则:用户最易用的前提下,输入的数据尽量在系统中少发生形式的转换。
输入设计的内容:
1、确定输入数据内容
确定输入数据项名称、数据内容、精度、数值范围
2、确定数据的输入方式
确定是终端输入还是脱机批量输入
3、输入格式设计
包括纸质和屏幕的记录格式,好的设计能减少数据冗余,降低错误率和操作员强度。
4、正确性校验设计和输入设备设计
4.3.4 界面设计
4.3.4.1以用户为中心开展界面设计
4.3.4.2可用性的定义与衡量
信息系统可用性是产品在特定使用环境下为特定用户用于特定用途时所具有的有效性、效率和用户主观满意度。
可用性的度量:
有效性:是否成功达成目标;复杂作业-分解成-次作业;计算成功的比例
效率:偏离理想作业方式;错误率、犯错次数;工作时间;心智工作负荷(生理指标)
满意:问卷(基于任务、基于测试)
4.3.4.3视觉心理与界面设计
4.3.4.4人的认知心理与界面设计
注意——记忆——决策
4.3.4.5经典的界面可用性原则
费茨定律:鼠标移动的距离越短越好
希克定律:选择越少越好
尼尔森:10大可用性原则
4.3.4.6界面原型设计
系统主要功能和交互方式的可视化展示,包括:
低保真原型——线框图
高保真原型