信息隐藏和局部化是软件工程中的重要概念,可以提高软件的模块化程度和独立性。以下是关于信息隐藏和局部化的详细解释和作用:

  • 信息隐藏:指设计和确定模块时,使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说是不能访问的。这种隐藏可以通过定义一组独立的模块来实现,每个模块仅交换必要的信息,从而避免了修改期间由于疏忽而引入的错误传播到软件的其他部分。例如,一个计算圆面积的模块可以隐藏其内部的数学公式和计算过程,对于其他模块而言只需要知道输入半径和输出面积即可。
  • 局部化:指把一些关系密切的软件元素物理地放得彼此靠近。这种局部化有助于实现信息隐藏,因为不同模块之间的紧密联系被限制在局部范围内,避免了系统中不必要的耦合和依赖。例如,一个处理用户输入的模块可以与一个处理输出的模块放在同一个文件夹内,而与其他模块放在不同的文件夹内,这样就实现了局部化。

信息隐藏和局部化的作用在于提高软件的模块化程度和独立性,具体包括:

  • 有效的模块化可以通过定义一组独立的模块来实现,每个模块仅交换必要的信息,从而避免了修改期间由于疏忽而引入的错误传播到软件的其他部分。这样可以提高软件的可维护性和可靠性。
  • 模块独立的概念是模块化、抽象、信息隐藏和局部化概念的直接结果。模块独立程度的两个定性标准度量是耦合和内聚,耦合要低,即每个模块和其他模块之间的关系要简单;内聚要高,每个模块完成一个相对独立的子功能。模块独立程度高可以提高软件的可测试性和可维护性。
  • 设计单入口单出口的模块可以避免模块间出现内容耦合,从而提高软件的可维护性。
  • 层次图和结构图可以用于描绘软件结构的文档,导出结构图的过程可以作为检查设计正确性和评价模块独立性的好方法。
  • 变换流是信息隐藏和局部化的一种具体实现方式,可以实现输入和输出的格式转换和加工处理,从而提高软件的可扩展性和可移植性。

如何理解信息隐藏和局部化?相关推荐

  1. 基于MATLAB的混沌密码与数字图像加密应用、信息隐藏

    基于MATLAB的混沌密码与数字图像加密应用.信息隐藏 实验目的:利用Matlab软件基于Logistic映射的加密算法对图像进行加密和解密,以及利用DEV C++软件.Excel表格绘制图像基于Lo ...

  2. 基于奇异值分解的图像压缩和信息隐藏

    基于奇异值分解的图像压缩和信息隐藏 将图像进行奇异值分解后,通过对对角矩阵进行一系列操作,可以达到压缩图像以及信息隐藏的目的.不仅如此,随着计算机网络和网络技术的不断发展,数字图像.音频和视频产品越来 ...

  3. 利用MATLAB实现WAV音频的LSB信息隐藏

    0. 背景 音频信息隐藏技术就是将秘密数据直接嵌入音频载体中,但不影响原载体的使用价值,也不容易被人的知觉系统觉察或注意到. 音频信息隐藏技术作为信息隐藏技术的一个重要分支,受到越来越多的关注. 近年 ...

  4. 信息隐藏——二值图像的信息隐藏

    二值图像的信息隐藏 [实验目的]: 使用一个特定图像区域中黑像素的个数来编码秘密信息. 若某块P1 (Bi)>50%,则嵌入一个1,若P0 (Bi)>50%,则嵌入一个0. 在嵌入过程中, ...

  5. 信息隐藏——DCT隐写

    DCT隐写 [实验目的]: 了解DCT的系数隐写 [实验内容]: ■Jepg 压缩算法的回顾 ■用MATLAB实现图像DCT相关操作 ■完成基于图像DCT的信息隐藏实验 两点法的嵌入和提取 三点法的嵌 ...

  6. 音频信息隐藏技术研究

    传统的保密通信技术主要是以密码学为基础,将待传输信息进行充分置乱,使得非法用户无法正确获取原文.与此不同,信息隐藏作为近年迅速发展起来的一种保密通信技术,它首先将待传输信息嵌入到诸如音频.视频.文件等 ...

  7. 软件工程与计算II-13-详细设计中的模块化与信息隐藏

    13-详细设计中的模块化与信息隐藏 1. 内聚和耦合 概念重要 内聚:内聚表达的是一个模块内部的联系的紧密型:包括信息内聚.功能内聚.通信内聚.过程内聚.时间内聚.逻辑内聚和偶然内聚. public ...

  8. 信息隐藏隐写系统框架

    信息隐藏中隐写是其中很重要的一部分.本文通过一段时间的CTF的学习结合个人CTF比赛杂项选手的刷题经历总结.对一部分自己所学过的隐写进行系统的概括. 隐写 隐写相关概念 定义 隐写分析(stegana ...

  9. 论文简述Reversible Data Hiding in Encrypted Images with Two-MSB Prediction加密图像可逆信息隐藏算法

    一 误差预测所用方法 1.中值预测器 使用中值预测器MED(Median Edge Detector),对图中x的左.上和左上三个相邻像素,预测出x的预测值px. 2.根据预测误差产生的位图(Loca ...

最新文章

  1. Java基础之Comparable接口和Comparator接口的比较
  2. hosts文件_电脑修改hosts文件屏蔽网站方法
  3. Akka Types of dispatchers
  4. Hudson持续集成工具v3.3.3
  5. webservice服务及客户端 编程 - 入门
  6. 基于Jtopo的网络拓扑编辑器初探
  7. java 多文字水印_Java如何给Word文档添加多行文字水印
  8. 计算机硬盘有坏道,硬盘有坏道就不能用了吗?别再吃哑巴亏了,今天跟大家再说一次!...
  9. 创龙基于Xilinx Artix-7系列FPGA处理器的HDMI、SFP接口
  10. jsp如何打开本地html文件怎么打开,jsp文件怎么打开,教您电脑怎么打开jsp文件
  11. android aar 自动引入依赖
  12. mysql笔试题15道
  13. PMP续证流程(PMI)
  14. 如何用matlab画紫罗兰,[转载]基于MATLAB的快速傅立叶分析程序设计
  15. 随着信息产业的飞速发展,项目管理对于应用开发为主的软件企业是一个行之有效的管理办法,在软件开发中项目...
  16. IBM MQ 搭建测试环境并测试消息的发送和接收
  17. 计算机毕业设计Javavue架构云餐厅美食订餐系统(源码+系统+mysql数据库+lw文档)
  18. 装个论坛玩玩。Discuz! 4.0.0
  19. 电表远程抄表功能概述
  20. 最新考古学发现: 人类起源于亚洲

热门文章

  1. 这位年轻人,把CryptoPunks送给了无聊猿公司?B轮4个亿?
  2. 如何预置Android 手机 APK
  3. mac系统双开应用(QQ、微信)
  4. miui系统小米手机应用双开默认登陆设置修改方法步骤
  5. 【Adobe】Premiere pro 2023问题:文件导入器检测到xxxxx的文件结构不一致。已禁止读取和写入此文件的元数据(XMP)
  6. 豆瓣8.5以上!这10本书,值得每个人读一遍
  7. 你的人生你定义!享你所想,无惧冒险
  8. 首席新媒体运营黎想教程:增长黑客思维下的用户增长
  9. 如何解决win10不能访问局域网其他电脑的问题
  10. 【每日笔记】:layui表单checkbox设为必选