07系统设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模块化遵循“低耦合高内聚( 模块化遵循“低耦合高内聚(Higher Cohesion, Lower Coupling )”原则
内聚分类:功能内聚 内聚分类:功能内聚(Functional -)、顺序内聚 、顺序内聚(Sequential -)、数据内聚 、数据内聚(Data -)、过程内聚 、过程内聚(Procedure-)、 、 时间内聚(Temporal)、逻辑内聚 和偶然内聚( )。聚合度依次降低 时间内聚 、逻辑内聚(Logical-)和偶然内聚(coincidental -)。聚合度依次降低。在模块化设 和偶然内聚 )。聚合度依次降低。 计中,最好是功能内聚,其次可以考虑顺序和数据内聚,尽量避免偶然内聚和逻辑内聚,以提高系统 计中,最好是功能内聚,其次可以考虑顺序和数据内聚,尽量避免偶然内聚和逻辑内聚, 设计质量和增加系统可修改性。 设计质量和增加系统可修改性。 耦合分类:数据耦合(Data)-、控制耦合 耦合分类:数据耦合 、控制耦合(Control-)、公共耦合 、公共耦合(Common-)、内容耦合 、内容耦合(Content-)。耦合度 。 依次升高,最联想的是数据耦合,内容耦合是病态联接,尽量避免。 依次升高,最联想的是数据耦合,内容耦合是病态联接,尽量避免。 合理确定模块的扇入和扇出。扇入表示一个模块其上级模块关系,扇入数愈大, 合理确定模块的扇入和扇出。扇入表示一个模块其上级模块关系,扇入数愈大,表明其被多个上级模 块控制,该模块公用性好,模块分解好。如果扇入数为1的模块 看其可否合并到上级模块中。 的模块, 块控制,该模ห้องสมุดไป่ตู้公用性好,模块分解好。如果扇入数为 的模块,看其可否合并到上级模块中。扇出表 示一个模块对其下级模块直接控制范围。扇出数大说明其需要控制模块多,其内聚程度较低,所以, 示一个模块对其下级模块直接控制范围。扇出数大说明其需要控制模块多,其内聚程度较低,所以, 尽量控制扇出数在7以内。 尽量控制扇出数在 以内。 以内
模块化
把一个复杂的系统分解为多个功能较单一的功能模块的方法称作模块化。 把一个复杂的系统分解为多个功能较单一的功能模块的方法称作模块化。模块化是一种重要的设 计思想,它把一个复杂的系统分解为一些规模较小、功能较简单的、更易于建立和修改的部分。 计思想,它把一个复杂的系统分解为一些规模较小、功能较简单的、更易于建立和修改的部分。 特点是: 特点是: • 各个模块具有相对独立性,可以分别加以设计实现; 各个模块具有相对独立性,可以分别加以设计实现; • 模块之间的相互关系(如信息交换、调用关系)通过一定的方式予以说明。各模块在这些关 模块之间的相互关系(如信息交换、调用关系)通过一定的方式予以说明。 系的约束下共同构成一个统一的整体, 系的约束下共同构成一个统一的整体,完成系统的功能
• 示例
– 若已知码的位数为 ,每一位上可用字符数为Si,则可 若已知码的位数为P,每一位上可用字符数为 以组成码的总数为: 以组成码的总数为:c = P s i
∏
i=1
– 例如,对每位字符为0-9的三位码,共可组成 例如,对每位字符为 的三位码 的三位码, C=10*10*10=1000种码。 种码。 种码
材料 1-不锈钢 不锈钢 2-黄铜 黄铜 3-钢 钢 螺钉直径 1-Φ0.5 2-Φ1.0 3-Φ1.5 4-方形头 方形头 螺钉头形状 1-圆头 圆头 2-平头 平头 3-六角形状 六角形状 4-方形头 方形头 表面处理 1未处理 未处理 2镀铬 镀铬 3镀锌 镀锌 4上漆 上漆
练习:判定下列编码属于哪种方式
顺序码举例
顺序码(系列码) 顺序码(系列码) 内容 厂长 科长 科员 生产工人
码 1 2 3 4
区间码举例
用户分类码(第一位) 用户分类码(第一位)
码 1 2 3 4 5 分 类 批发单位 零售单位 教育界 国防部门 其他部门 码 1 2 3 4 5
采购总量(第二位) 采购总量(第二位)
分 类 <9999元 10000-29999元 30000-49999元 >49999 元 -
第二节 系统详细设计
本节内容: 本节内容: 一、代码设计 二、功能结构图设计 三、信息系统流程图设计 四、系统物理配置方案设计 五、输出设计 六、输入设计 七、 数据存储设计 八、 处理流程图设计 九、制订设计规范 十、 编写程序设计说明书和系统设计报告
一、代码设计 -1
• 代码的定义 – 代码是代表事物名称、属性、状态等的符号。 代码是代表事物名称、属性、状态等的符号。 • 代码的功能 – 为事物提供一个概要而不含糊的认定,便于 为事物提供一个概要而不含糊的认定, 数据的存贮和检索。 数据的存贮和检索。 – 使用代码可以提高处理的效率和精度。 使用代码可以提高处理的效率和精度。 – 提高数据的全局一致性。 提高数据的全局一致性。 – 代码是人和计算机的共同语言,如零件号、 代码是人和计算机的共同语言,如零件号、 图号等早已使用代码。 图号等早已使用代码。
一、代码设计 -2
• 代码设计的若干原则
– 代码应唯一标志它所代表的事物或属性; 代码应唯一标志它所代表的事物或属性; – 结构应与处理的方法相一致。 例如,有时可利用代码 结构应与处理的方法相一致。 例如, 的结构直接进行记录的统计; 的结构直接进行记录的统计; – 代码设计要预留足够的位置,以适应不断变化的需要。 代码设计要预留足够的位置,以适应不断变化的需要。 – 不要使用易于混淆的字符。 不要使用易于混淆的字符。 – 要注意尽量采用不易出错的代码结构。 要注意尽量采用不易出错的代码结构。
在信息中心的人口资源管理中,对县级 以上的城市按人口多少排序,其序号作 为该城市的编码,如上海为001,北京为 002,天津为003,该编码方式为 顺序码 电话号码中的区号编码方式 为 顺序码 将2005年4月26日表示为 20050426这种编码类型属于 上下关联区间码
一、代码设计 -5
• 代码结构中的校验位 – 为了保证正确输入,在原有代码的基础上, 为了保证正确输入,在原有代码的基础上, 另加一个校验位,作为代码的一个组成部分。 另加一个校验位,作为代码的一个组成部分。 校验位通过事先规定的数学方法计算出来。 校验位通过事先规定的数学方法计算出来。 代码一旦输入, 代码一旦输入,计算机会用同样的数学运算 方法按输入的代码数字计算出校验位,并将 方法按输入的代码数字计算出校验位, 它与输入的校验位进行比较, 它与输入的校验位进行比较,以证实输入是 否有错。 否有错。
一、代码设计 -4
• 区间码又可分为以下多种类型 多面码。例如,对于机制螺钉, – 多面码。例如,对于机制螺钉,可作如下表那样的规 代码2342 表示材料为黄铜的 表示材料为黄铜的φ1.5mm方形头镀铬螺 定。代码 方形头镀铬螺 钉。 – 上下关联区间码。 例如,会计核算方面,用最左位代 上下关联区间码。 例如,会计核算方面, 表核算种类,下一位代表会计核算项目。 表核算种类,下一位代表会计核算项目。 – 十进位码。例如,图书分类中的十进位分类码。 十进位码。例如,图书分类中的十进位分类码。
二、
系统设计的原则
• 系统性 – 从整个系统的角度考虑,如系统的代码要统一,设计 从整个系统的角度考虑,如系统的代码要统一, 规范要标准,传递语言要尽可能一致,对系统的数据 规范要标准,传递语言要尽可能一致, 采集要做到数出一处、全局共享等。 采集要做到数出一处、全局共享等。 • 灵活性 – 要求系统具有很强的环境适应性,如尽量采用模块化 要求系统具有很强的环境适应性, 结构,提高各模块的独立性。 结构,提高各模块的独立性。 • 可靠性 – 如安全保密性、检错、纠错能力、抗病毒能力等。 如安全保密性、检错、纠错能力、抗病毒能力等。 • 经济性 – 如不要盲目追求技术上的先进,尽量避免不必要的复 如不要盲目追求技术上的先进, 杂化。 杂化。
B
A x,y z B a图 A
A x p y B b图
A
C c图
D
B
C d图
D
三、信息系统流程图设计 -1
• 信息系统流程图表达了各功能之间的数据传送关系。
不同功能模块分别向同一数据存储文件输入或读取数据而发生联系 通过在功能模块之间设立一个临时的中间文件而发生联系
• 绘制信息系统流程图的步骤:先为数据流程图中的每个处理功能 绘制信息系统流程图的步骤: 画出数据关系图。然后,把各个处理功能的数据关系图综合起来, 画出数据关系图。然后,把各个处理功能的数据关系图综合起来, 形成整个系统的数据关系图,即信息系统流程图。 形成整个系统的数据关系图,即信息系统流程图。
一、代码设计 -6
• 代码结构中的校验位
– 有多种确定校验位值的方法 • 算术级数法
– – – – 1 2 3 4 5 原代码 6 5 4 3 2 各乘以权 6+10+12+12+10=50 乘积之和 为模去除乘积之和( 处理), 以11为模去除乘积之和(若余数是 则按 处理),把得出 为模去除乘积之和 若余数是10, 则按0处理),把得出 的余数作为校验码: 的余数作为校验码:50/11=4……6,因此代码为 ,因此代码为123456。 。
• 几何级数法
– 原理同上,但把所乘权数改为32 16 8 4 2 等。 原理同上,但把所乘权数改为
• 质数法
– 原理同上,但把所乘权数改为质数系列,如17 13 7 5 3等。 原理同上,但把所乘权数改为质数系列, 等
二、功能结构图设计 -1
• 功能结构图就是按功能从属关系画成的图表。愈上层功 功能结构图就是按功能从属关系画成的图表。 能愈笼统,愈下层功能愈具体。 能愈笼统,愈下层功能愈具体。功能分解的过程就是一 个由抽象到具体、由复杂到简单的过程。 个由抽象到具体、由复杂到简单的过程。 • 下图是工资管理子系统的功能结构图。 下图是工资管理子系统的功能结构图。
第七章 管理信息系统的系统设计
第一节 系统设计概述 第二节 系统详细设计
第一节 系统设计概述
本节内容: 本节内容: 一、系统设计的任务 二、系统设计的原则
一、 系统设计的任务
• 系统设计的任务 系统设计的任务 – 在系统分析提出的逻辑模型的基础上,科学合理地进 行物理模型的设计。主要是解决“怎样做”的问题。 • 系统设计的具体工作 系统设计的具体工作 – 总体设计:信息系统流程图、功能模块图、功能结构图。 – 代码设计和设计规范的制定 – 系统物理配置方案设计 – 数据存储设计 – 计算机处理过程设计:输入输出设计、处理流程图、 编写程序设计说明书
二、功能结构图设计 -2
功能模块
功能结构图中每一个框称为一个功能模块。 功能结构图中每一个框称为一个功能模块。 功能模块可以根据具体情况分得大一点或小一点。 功能模块可以根据具体情况分得大一点或小一点。分解得最小的功能模块可以是一个程序中的每 个处理过程,而较大的功能模块则可能是完成某一任务的一组程序。 个处理过程,而较大的功能模块则可能是完成某一任务的一组程序。
数 据 关 系 的 一 般 形 式
模块化功能结构图举例
图a中,模块A调用模块B,并将 A数据x、y传给B,调用结束后, 调用结束后, 将Z值返回给A。 图b中,模块A调用模块B,并将 A数据x和控制信息p传给B,调用 结束后, 结束后,将y值返回给A。 图c中,模块A判断调用模块B、 C,直接调模块D 图d中,模块A循环地调用模块B、 C、D 最后给出一个实例
练习:以下哪一个用作代码比较 合适?
M3M FOV 螺丝钉 N25
N25
一、代码设计 -3
• 代码的种类 – 顺序码。顺序码是一种用连续数字代表编码 顺序码。 对象的码, 对象的码, – 区间码。区间码把数据项分成若干组,每一 区间码。区间码把数据项分成若干组, 区间代表一个组, 区间代表一个组,码中数字的值和位置都代 表一定意义。典型的例子是邮政编码。 表一定意义。典型的例子是邮政编码。 – 助忆码。例如,用TV-B-12代表 寸黑白电 助忆码。例如, 代表12寸黑白电 代表 视机, 代表20寸彩色电视机 视机,用TV-C-20代表 寸彩色电视机 代表