工控软件基础4

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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