工控软件基础4
• 1.具备完整性和正确性 • 2.最小化,即系统中的对象只出现一次 • 3.具备易理解性
集成的方法
• 1.依次取出局部的E-R图进行集成 • 2.检查集成后的模型,消除冗余数据和联系
• 集成过程中的冲突: 1> 属性冲突
2>命名冲突
3> 结构冲突
2.逻辑结构设计
• 概念结构设计所得的E-R模型是对用户需求的 一种抽象的表达形式,它独立于任何一种具体 的数据模型,因而也不能为任何一个具体的 DBMS(数据库管理系统(database management system))所支持。为了能够建 立起最终的物理系统,还需要将概念结构进一 步转化为某一DBMS所支持的数据模型,然后 根据逻辑设计的准则、数据的语义约束、规范 化理论等对数据模型进行适当的调整和优化, 形成合理的全局逻辑结构,并设计出用户子模 式。这就是数据库逻辑设计所要完成的任务。
<5>内容耦合
非直接耦合:若两个模块都不需要对方的存在而 能独立工作,则称这两个模块为非直接耦合。 即无直接关系,通过主模块的调用产生联系
数据耦合:若所有参数都是简单变量,或虽然有 结构变量,但是被调用模块需要该结构中的所 有数据,则成为数据耦合
控制耦合:若一个模块传递控制信息给另一个模 块进而控制另一个模块的逻辑,则为控制耦合 。其缺点是两个模块之间不独立,被调用的模 块必须知道调用模块的内部结构和逻辑,因此 会降低模块的可复用性。而且与逻辑内聚有关 ,故包含逻辑内聚的缺点。
H图又称为 层次方 框图
层次方框图用树形结构的一
系列多层次的矩形框描绘数 据的层次结构。树形结构的 顶层是一个单独的矩形 框
,它代表完整的数据结构。 例如,描绘一家计算机公司 全部产品的数据结构。
IPO图
• 输入——处理——输出
• IPO 图使用的基本符号既少又简单,因此 很容易学会使用这种图形工具。它的基本 形式是在左边的框中列出有关的输入数据 ,在中间的框内列出主要的处理,在右边 的框内列出产生的输出数据。处理框中列 出处理的次序暗示了执行的顺序,但是用 这些基本符号还不足以精确描述执行处理 的详细情况。在 IPO 图中还用类似向量符 号的粗大箭头清楚地指出数据通信的情况
Warnier 图
• 法国计算机科学家 Warnier 提出了表示信息层次 结构的 另外一种图形工具。和层次方框图类似, Warnier 图也 用树形结构描绘信息,但是这种图 形工具比层次方框 图提供了更丰富的描绘手段。 用 Warnier 图可以表明信息的逻辑组织,也就是 说,它可以指出一类信息或一个信息元素是重复 出现的,也可以表示特定信息在某一类信息中是 有条件地出现的。因为重复和条件约束是说明软 件处理过程的基础,所以很容易把 Warnier 图转 变成软件设计的工具。
• 描绘一类软件产品的例子,它说明了这种图形工 具的用法。表示一种软件产品要么是系统软件要 么是应用软件。系统软件中有 P1 种操作系统, P2 种编译程序,此外还有软件工具。软件工具是 系统软件的一种,它又可以进一步细分为编辑程 序、测试驱动程序和设计辅助工具,图中标出了 每种软件工具的数量。
软件结构的优化
• 1.公共数据变量的数据结构与作用 范围
• 2.输入、输出文件的结构 • 3.数据库中的表结构、视图结构以
及数据完整性等
5.安全性设计
• 1.操作权限管理设计 • 2.操作日志管理设计 • 3.文件与数据加密设计 • 4.特定功能的操作校验设计
6.故障处理设计
• 针对软件系统工作中出现的故障, 概要设计时需对各种可能出现的来 自软件、硬件以及网络通信等方面 的故障作出专门考虑
8.编写文档
• 概要设计阶段需要编写的文档有:概 要设计说明书、数据库设计说明书、 用户操作手册和有关测试的初步计划 等。其中,概要设计说明书是概要设 计阶段必须产生的基本文档,涉及系 统目标、系统构架、软件结构、数据 结构、运行控制、出错处理、安全机 制等方面的设计说明。
9.概要设计评审
• 1.需求确认:是否覆盖所有软件需求 • 2.接口确认:内部和外部接口是否明确定义 • 3.模块确认:模块是否满足高内聚、低耦合
• 4.根据系统整体逻辑构造与应用需要,对系 统进行整体物理部署和优化。
3.软件结构设计
• 1.确定构造子系统的模块元素 • 2.根据软件需求定义每个模块的功能 • 3.定义模块接口与设计模块接口数据
结构 • 4.确定模块之间的调用与返回关系 • 5.评估软件结构质量,进行结构优化
4.公共数据结构设计
数据库设计
• 包括结构特性设计和行为特性设计。其中结构特 性设计指数据库框架和数据库结构设计,其结果 为得到一个合理的数据模型以反映真实的事物之 间的联系,其目的是汇总各用户的视图,减少冗 余并实现数据共享。而行为特性的设计指应用程 序设计,比如查询和报表处理等。其目的是确定 用户的行为和动作。
• 结构特性必须适应行为特性。
接口规约和命名规则等 • <4>设计目标、设计原则
2.系统构架设计
• 根据系统的需求框架,确定系统的基本结 构以获得有关系统创建的总体方案。包括:
• 1.根据系统业务需求将系统分解成诸多具有 独立任务的子系统
• 2.分析子系统之间的通信,确定子系统的外 部接口
• 3.分析系统的应用特点、技术特点以及项目 资金情况,确定系统的硬件环境、软件环 境和网络与数据环境等
软件开发成本估算
• <1>经验估算法 • <2>因素估算法 • <3>工作分解结构基础上的全面详细估算 • 其前提是(1)对项目需求做出一个完整的限
定;(2)制定完成任务所必需的逻辑步骤; (3)编制WBS表。其优点是准确度高,但是 需要大量计算,工作量较大。
常见的估算模型
• <1>Putnam 模型 • <2>COCOMO模型:包括 1)组织型(相
1.概念结构设计
• 使用E-R图(教务管理系统的E-R图 )
如何判断一个事物是否是属性
• 1.此事物不包含别的属性。即若事物只需要 用名称来表示,则为属性,若需要事物具 有比它的名称更多的信息,则为实体
• 2.此事物不能与其他实体发生联系。即联系 只发生于实体与实体之间。
画E-R图的步骤
• 先画分解的若干子系统的局部应用E-R模型 ,然后进行集成。集成后的E-R图应:
HIPO图
HIPO图(Hierarchy Plus Input/Processing/Output)图是IBM 公司于70年代中期在层次结构图(structure chart)的 基础上推出的一种描述系统结构和模块内部处理功 能的工具(技术)。HIPO图由层次结构图和IPO图两部 分构成,前者描述了整个系统的设计结构以及各类模 块之间的关系,后者描述了某个特定模块内部的处理 过程和输入/输出关系 。
<2>逻辑内聚
<3>时间内聚
<4>过程内聚
<5>通信内聚
<6>信息内聚
<7>功能内聚
耦合度
• 是软件结构中各个模块之间相互关联程度 的度量。其强弱取决于各个模块之间接口 的复杂程度、接口数据对模块内部计算的 影响程度和调用模块的方式。
• 包括: <1> 非直接耦合 <2>数据耦合
<3>控制耦合
<4>公共耦合
• 模块体现了系统所具有的功能层次结构。
模块的独立性
• 指软件系统中每个模块都只涉及自己 特定的子功能,并且模块接口简单, 与软件中其他模块没有过多的联系。
• 良好的独立性便于功能的实现和软件 维护
• 由内聚度和耦合度进行度量。
内聚度
• 定义:模பைடு நூலகம்内部各个元素彼此结合的紧密 程度。
• 包括: <1>偶然内聚
<3>两个模块有一部分程序代码重叠
<4>一个模块有多个入口
内容耦合是一种强耦合形式,会严重影响模块的 独立性。模块改动困难,出错难以修正。
软件结构图
• 软件结构包括构成系统的设计元素的描述、设 计元素之间的交互、设计元素的组合模式以及 在这些模式中的约束。一个系统由一组构件以 及它们之间的交互关系组成,这种系统本身又 可以成为一个更大的系统的组成元素。软件结 构图也就是为了反映软件系统中组件之间相互 关系和约束的体系结构设计图,称为软件体系 结构图更为合适,一般通过分层次或分时间段 等方式说明体系结构的各个组成部分的组合关 系。
• 公共耦合:若两个模块可以访问同一公共数据 环境,则其关系为公共耦合。这种公共的数据 环境可以是全局数据结构、共享的通信区、共 享的内存区和任何存储介质上的文件等。
• 内容耦合:若发生以下情形,则为内容耦合: <1>一个模块直接访问另一个模块的内部数据
<2>一个模块不通过正常入口转到另一模块内 部
• 如:提供备用设备,设备出错处理 模块和设置数据备份模块等
7.可维护性设计
• 软件系统在投入使用后必定面临维护 的问题,如改正错误和扩充功能等。 概要设计需要对比做出专门安排以方 便以后的维护工作。例如:在软件中 设置用于系统检测维护的专用模块, 预计今后进行功能扩充的模块,还要 对这些接口进行专门的定义
它既可以描述软件总的模块层次结构--H图(层次图), 又可以描述每个模块输入/输出数据、处理功能及模 块调用的详细情况--IPO图。HIPO图以模块分解的层 次性以及模块内部输入、处理、输出三大基本部分 为基础建立的。
H图
• 即软件层次图,用于描述软件结构上的分 层调用关系,作用类似于软件结构图。其 优点为清晰度高,能够用于正式文档中对 软件结构的描述。
• 1.模块的大小适中 • 2.模块的扇入和扇出适中 • 3.作用域应该限制在控制域之内