盒子结构是在规范和设计中对现实系统的外在基本属性的功能描述。图3.1描绘了三种盒子:黑盒、状态盒、明盒。这些盒子不仅展示了外部行为,而且还提高了内部可见度。黑盒确定了一个系统或系统组件的外部行为。状态盒则进一步指定了完成外部行为所需的状态数据。明盒则进一步把状态盒具体化,它确定了完成状态盒行为的过程设计。它可使用已有的黑盒或引入新的黑盒,这些黑盒将在以后细化(明盒由程序控制结构组成),每步细化是根据前一步进行验证的。这样盒子结构将系统开发的三个方面(行为、数据和过程的规范)分离开,但又把它们联成一个细化和验证的内聚过程。 1、黑盒行为 黑盒定义了一个系统或系统组件的外部行为。当系统接受激励S(视为从其环境的输入)时,它将产生响应R(作为对其环境的输出),响应不仅与当前激励有关,还与到目前为止收到的激励有关。例如,我们考虑一个计算器的外部行为。假设正在进行一次计算,当前的激励是按了键5;如果此前的历史激励是C718(C表示清零)。那么响应将是7185。也就是说,计算器将当前显示的数字左移一位,并在单元位置插入5。如果此前的历史激励是C718+,计算器将在单元位置显示一新的字符串5。因此,系统的当前激励及此前的历史激励惟一地确定了它的响应。
我们可以从外部行为来看待系统及其组件。例如,工作站接受键盘和鼠标的激励会改变当前窗口内容或显示新的窗口以作出响应。用户可能对工作站的内部操作一无所知,仅仅感受到的是它的外部行为。当然,内部操作可能是与之联网的其他支持这种外部行为的机器完成的。 图 盒子结构精化和验证 BB=黑盒 黑盒行为的数学语义可写成如下函数:
历史激励→响应
简记为
SH→R
SH表示包括当前激励的所有历史激励。
黑盒定义不包含状态数据及过程实现。它定义了仅取决于历史使用的能被用户感受到的外部可见行为。因此,黑盒关心的是从用户角度看待系统行为的问题,而并不考虑状态和过程的设计。黑盒子规范定义了所有可能使用情况所需的行为。也就是说,在黑盒规范中为所有可能的当前激励和历史激励以及它们的组合定义了正确的响应,在净室项目中黑盒规范的如下三个原则对高效系统开发很关键。
1. 对系统拥有者和用户而言,黑盒定义了他们分析和协商的所需行为,这是他们准备资源、着手开发和测试的前提。 2. 对系统开发者而言,黑盒定义了待设计和实现的所需行为。 3. 对系统测试者而言,黑盒定义了在测试过程中待确认的所需行为。
黑盒可以用表格形式来定义,表中的三列分别对应于激励、历史条件和响应。这些表可用任意合适的形式(从自然语言到集合论)来叙述。请看表3.1中的非形式黑盒定义。这个低层黑盒定义了一个基于12个月平均销售额的预测系统,用于为一个产品清单控制系统中数以千计的产品预报销售额。该系统接受产品的月销售额组成的激励。并产生相应的响应。黑盒中规则1指定了某一产品少于12个月销售额时的正确响应。规则2指定了至少有12个月销售额时的正确行为。这张表以一种非形式的方式描述了系统行为,其中尖括号中内容是要进一步定义和细化的重要实体。这张表可能是在系统规范制定的早期产生的,这时与用户的分析和讨论在需求方面取得了一致,但还没组织进一步的细化工作。例如对规则1的讨论可能导致更多的计算需求,比如3或6个月的平均销售额。对规则2 的讨论可能导致这样的需求:一个月的销售额做激励,在计算平均值之前,确定销售额值的集合中不小心疏忽的元素。这些变化都会指定新的行为。在黑盒规范中提倡进行这样的讨论。这样可避免浪费资源并防止开发不符合用户要求的系统。 2、状态盒行为 状态盒规范对系统或其组件进行初步细化,定义了状态空间。状态盒把激励历史封装成状态数据,但仍没有涉及具体过程。它把旧的OS(old state)和激励S映射到新的状态NS(new state)响应R。而新的状态在下一次变换时则变成了旧状态。状态盒子行为的语义是一个如下的变换函数:
(旧状态,激励)→(新状态,响应) 或简写为
(OS,S)→(NS,R)
状态盒根据黑盒来细化和验证。状态信息就是为了符合黑盒子规范而必须保存的激励历史,这样信息来自于黑盒,无需再定义。因为每个历史激励可用状态来表示,所以每个黑盒有一个状态盒描述。而且,对于一个黑盒子,可设计许多不同的状态盒子,因为对一个状态可能有多种不同的表示和访问方法。
状态盒可用表格来定义,对应的列包括旧状态、激励、新状态、响应以及对应的黑盒规则。我们来考虑销售额预测系统的状态盒,如下表所示,它与上表相对应。在此例中,对黑盒的激励历史条件分析导致了〈销售文件〉状态项,用来保存每种产品最近11个月的销售额。文件中每条记录用〈产品〉来标识,并包含一个能存11个月销售额的数组。因为当前激励加上前11个便可求出所需的平均值,所以只需存11个值就够了,不必保留更早的,因而接下来的激励将导致删除早于11个月的销售额。下表中的变换1定义了当激励引入一个新产品时所需的行为。变换2定义了当状态盒已知的产品还没达到11个月的销售额时所需的行为,变换1和2只是产生文字信息,将激励显示给用户。最后,变换3定义了不断计算平均植的稳定状态。注意,每一个变换都要进行相应的状态更新,为处理随后的激励作好准备。例如,变换3是这样处理状态的累积过程的,删除最早的〈销售额植〉和把当前激励作为最新的〈销售额值〉加入到〈销售文件〉的该〈产品〉记录中。
状态盒的验证是导出相应黑盒行为并与原来的黑盒相比较看是否等价。这种导出就是将状态操作转换成激励历史形式。 3、明盒行为 系统或其组件的明盒设计定义了状态盒行为的过程。明盒是一个计算机程序或程序集,基于程序的内部状态OS,它接受激励S,产生新的内部状态NS,并产生响应R。这些过程由基于结构化程序设计的控制结构(顺序、选择、循环,如果引入并发机制还要加上并行结构)来定义。明盒用这些控制结构来完成新状态和响应的计算。对于所给状态盒可以定义多种不同的明盒。明盒可用一个变换函数表示:
(旧状态,激励)→(新状态,响应),借助过程
或简记为:
(OS,S)→(NS,R),借助过程
明盒的过程可以重用已有的黑盒,也可在后续求精过程的状态盒笥明盒中引入新的黑盒。定义明盒是一个关键步骤,因为它必须组织和连接处于一个盒子结构层次的黑盒。通过定义每个黑盒用途的准确内容,这种显式的连接有助于对项目开发保持智能控制。另外,组件及其连接是从明盒设计中局部处理需求导出的。从本质上,盒子结构的信息不是"分离、征服",而是"分离、连接和征服"。
明盒的验证是把其操作抽象成一个导出的状态盒并与原来的状态盒进行比较。明盒的设计和验证在以后讨论。
|
相关推荐
盒子结构建筑的墙体围护结构是现代建筑设计与工程领域中的一个重要组成部分,它涉及到建筑的美学、功能性和结构稳定性。在本压缩包文件“行业文档-设计装置-盒子结构建筑的墙体围护结构.zip”中,主要包含了一份名为...
钢结构施工组织设计是建筑工程中的一项重要工作,尤其在15盒子结构的多层住宅楼工程中,其设计的科学性和合理性直接关系到工程的质量、安全、进度和成本控制。本设计方案详细阐述了从前期准备到后期施工过程中的各项...
本施工组织设计针对的是盒子结构的多层住宅楼项目,这类建筑结构因其独特的空间布局和构造特点,需要特别的规划和设计。 一、施工前期准备 在开始施工前,需要进行现场勘查,了解地质条件、周边环境、交通状况等,...
本施工组织设计着重于“盒子结构多层住宅楼”的建设,这种结构类型常见于现代城市住宅建筑中,因其高效的空间利用和施工便利性而广受欢迎。以下是基于这个主题的详细知识点: 1. **盒子结构**:盒子结构是指建筑...
《盒子结构多层住宅楼工程施工组织设计》是一个深入探讨土木工程建造设计的文档,它主要涵盖了在实际建设过程中如何高效、科学地进行施工规划和管理。这份文档是针对建筑行业的专业人士,特别是对于高等教育阶段的...
3. **设计原理**:设计拼装式钢筋混凝土盒子结构时,需考虑预制构件的尺寸、形状、连接方式等因素,确保结构的安全性和整体性。同时,还需考虑预制构件的运输和吊装限制。 4. **预制构件的生产**:在工厂环境下,...
《盒子结构多层住宅楼工程施工组织设计》是一个重要的文档,它包含了从项目规划到施工实施的全面指导。在本文中,我们将深入探讨这种特殊结构住宅楼的施工组织设计的关键环节,包括工程概述、设计原则、施工准备、...
《15盒子结构多层住宅楼工程施工组织设计方案》是一份详细规划了住宅楼建设过程的文档,涵盖了从项目概述到具体施工步骤、资源配置、质量管理、安全措施等多个关键环节。以下是根据文档内容提炼出的主要知识点: 1....
盒子结构建筑是一种现代建筑设计与施工中的创新技术,它将建筑空间划分为一系列的“盒子”单元,这些单元在设计和预制完成后,通过精确的拼接节点进行组装,形成整体建筑。这种构造方式具有高效、快捷、工业化程度高...
《15盒子结构多层住宅楼工程施工组织设计》是一份重要的参考资料,主要涵盖了在建设多层住宅楼过程中,采用盒子结构的设计与施工策略。盒子结构,又称为单元模块化建筑,是现代建筑工程中常见的一种施工方式,尤其...
【盒子结构多层住宅楼工程施工组织设计方案】 在建筑工程领域,盒子结构多层住宅楼因其高效、快速的施工方式,已成为现代城市住宅建设的常见选择。本设计方案旨在为盒子结构多层住宅楼的施工提供全面、系统的指导,...
在本案例中,由于具体信息未给出,可以推测这部分将概述盒子结构住宅的特点,如预制构件的使用、住宅层数和面积、设计要求等。 2. **施工部署** 施工部署主要涉及施工任务的分配、施工队伍的组织以及施工顺序的...
9. **拓展性与可维护性**:优秀的源码应具备良好的结构设计,方便后续添加新的直播平台,或更新已有平台的接口,同时便于代码维护和升级。 综上所述,【聚合直播盒子源码】涵盖了直播平台接口集成、前端开发、系统...
通过以上知识点的总结,我们可以看出华为内部FPGA设计规范旨在确保设计的一致性、合理性和高效性。这些规范不仅有助于提升设计质量,还能够促进团队成员之间的协作和交流,从而实现更高效的设计流程。
4. 其他结构,如悬挂结构和盒子结构,是较为特殊的建筑形式,适用于特定的设计需求。 三、框架结构布置与计算简图 1. 布置原则:考虑建筑功能、空间要求、地震作用等因素,确保结构均匀、连续、对称,减少扭转效应...
在建筑设计领域,集装箱盒子办公室是一种创新且环保的建筑解决方案,它将废弃的海运集装箱改造为功能齐全的工作空间。这种设计风格既经济又实用,尤其受到初创公司和创意行业的青睐。以下是对“集装箱盒子办公室基础...
这样做的好处是能够使学生通过软件更直观地理解结构设计的过程,提高学习兴趣,并通过软件模拟实际盒子成型过程,增强对结构原理的理解。 文中提到了一些当前流行的包装结构设计软件,例如比利时Esko-GraphiCS公司...
易语言插件盒子是一款专为易语言用户设计的工具,它允许开发者更加便捷地管理和使用各种插件。本文将深入探讨易语言插件盒子的核心功能、实现原理以及相关的编程概念。 1. **易语言插件系统**:易语言是一种中文...
在建筑工程领域,设计图纸是项目实施的关键组成部分,它们提供了详细的设计规范、尺寸和构造细节,指导施工团队进行准确的建造工作。"施工常用图库-集装箱盒子办公室基础平面图.zip"是一个包含相关设计资料的压缩...
《基于微信小程序的零食盒子设计与实现》是一个典型的毕业设计项目,主要涵盖了微信小程序开发、前端设计、用户体验优化以及后台数据管理等多个方面的知识点。以下是对这些领域的详细解析: 1. **微信小程序开发**...