净室与其他软件工程实践的关系

原创 2002年03月14日 10:16:00

净室与其他软件工程实践的关系

未经允许,严禁转载本栏目内容

本文经许可转载自软件工程专家网www.21cmm.com

未经CSDN许可,请勿随便转载,谢谢合作

  净室过程对许多当前使用中成功的软件实践提供了强有力的支持。

一、面向对象

  净室过程为面向对象开发提供了可管理性和技术严密性(Ett和Trammell 1995)。对象从本质上来说是封装了数据和一系列服务的状态机器。一个净室组件用黑盒视图(一个对象的外部行为)、状态盒视图(一个对象的封装数据)和明盒视图(处理外部需求和访问封装数据的服务)来定义。一个净室组件从技术上讲就是一个对象。净室盒子结构有助于产生一个完备、一致和正确的对象行为规范。而且,盒子结构有助于定义和管理数据并且控制数据在各个对象之间的流动。

  在净室技术中,数学形式化方法成为规范、设计、正确性验证和认证测试的基础。这种成熟的形式化方法可为相对直观的面向对象方法增加精确性和可预见性。净室是应用工程而非领域工程的一种方法。面向对象方法的普遍力量在于寻求某领域应用特征的关系和抽象。面向对象的领域分析可作为净室应用工程的补充。

二、软件复用

  成功的软件组件复用需要对组件功能在语义上有精确的定义,还需组件在特定使用环境中得到质量和可靠性认证。没有这些保证,复用将是不可预见的和冒险的。

  净室黑盒规范能从语义上定义所有可能的使用情况。如果内部重用的范围窄于组件的范围(如减小了可变范围),可通过限制黑盒函数的定义域来制定范围减小的规范。一个“包装”(一个包含重用组件的组件)可以加强调用组件的并置条件。

  一个现成重用组件的适应性常常是通过试运行来评估的。净室认证通过统计测试能提高特定使用环境的质量和可靠性度量。统计测试允许从特定使用情况和指定置信度水平评估组件的可靠性。

  结合净室可靠性方案,Poore、Mills和Mutchler(1993)改进了一种复用分析的定量方法。利用这种方法,在顶层设计时就可建立组件的可靠性和转移概率。如果给定组件的可靠性指标,通过顶层组件网的定量分析可得到关于系统可靠性的上界。分析结果可用于评估组件重用的生命力。

三、软件体系结构

  在众多软件体系结构的定义中,一个共同的主题是:软件体系结构定义了主要的组件和它们之间的关系。净室提供了一个过程来准确定义体系结构的功能性语义--------是什么组件以及它们之间有什么关系。

  净室状态盒和明盒中高层的内部设计关系到系统主要组件以及它们之间的关系:主要的数据对象由状态盒设计确定,数据对象的主要操作由明盒设计完成。最后,高层明盒设计体现了系统体系结构的主要元素。

  净室规范和设计包括对一个系统解空间的系统的探索。黑盒和状态盒的关系是一对多,必须从一个对象集中做出选择。状态盒和明盒的关系也是一对多,必须从一个对象操作集中做出选择。软件体系结构的进化将产生设计模式的分类,净室工作者的设计选择随着盒子结构设计被编成目录。

  简而言之,净室系统总在明晰体系结构,但从没命名(除“系统顶层明盒”之外)。在研究软件体系结构时对设计模型的命名和描述将加速对设计选择的评估。

四、检查和评审

  净室正确性验证允许在检查和评审中增加额外的技术严密性和精确性。除了使用本地检查列表外,净室还利用基于函数的理论:一个程序(代码)实现一个函数(规范)对代码和设计进行评审。净室评审的目的是验证实现了的功能规范的正确性。对代码的评审总是对照其所实现的功能规范进行,而不是空对空的。

  净室规范和设计产品具有内部的可跟踪性。在盒子结构规范和设计的每一步都要进行同样的评审。要对每个工作产品进行评审,对应的小组成员要对工作产品的正确性负责。最终的成功是小组的成功,失败也是小组的失败。健全的技术和小组对正确性的责任的结合是预防缺陷非常有效的方法。

五、软件测试方法

  净室测试基于使用模型对给定版本的软件的预期操作性能产生有根据的统计参考。净室使用模型也可用于其他测试目的,如最大覆盖测试和加强关键功能。使用模型为模型覆盖测试、随机测试、重点测试、划分测试和其他形式的测试提供了科学的基础。

  人工测试(Crafted testing)同样可用于净室过程。有必要为特定环境的系统运行提供专门的测试用例以消除不确定性。另外,在后台运行的代码覆盖工具可作为使用测试的补充。回归测试、结构(白盒)测试和其他测试方法和净室是兼容的。

净室技术

净室技术未经允许,严禁转载本栏目内容 本文经许可转载自软件工程专家网www.21cmm.com,未经CSDN许可,请勿随便转载,谢谢合作   净室软件工程可用如下三个关键技术来刻画:置于统计过程控制之...
  • gigix
  • gigix
  • 2002年03月14日 10:16
  • 1344

【140810】VC++数字图像模式识别技术及工程实践pdf电子书

VC++数字图像模式识别技术及工程实践pdf电子书,本书介绍模式识别和人工智能中的一些基本理论和相关模型,比如神经网络、聚类技术、线性差别函数等,同时结合了模式识别中的一些经典问题,比如人脸检测、车牌...
  • qutadi
  • qutadi
  • 2014年08月10日 09:59
  • 1892

操作系统与应用程序的关系

操作系统与应用程序的关系 操作系统主要可以分为两大部分:内核和内核之外的一些程序。内核就是直接控制最底层的硬件,而我们日常所用到的软件,大都是通过内核之外一些程序与内核之间的接口完成的,例如WIND...
  • maochengtao
  • maochengtao
  • 2013年05月18日 11:24
  • 2121

软件工程实践(三)

概要设计报告(1)1、任务概述目    标: 通过设计,本系统欲达到的目标是解除学生日常管理工作的繁杂性和减小学生成绩等数据处理的复杂程度,提高学校工作效率.运行环境: 本系统要求可以在Win 9x/...
  • ml457
  • ml457
  • 2003年01月24日 17:44
  • 1380

【转】GIS:为什么我和别的软件不一样

转注:本人号称是学GIS的,但博客上写来写去都是软件编程的文章,GIS方面则比较OUT了。但水平有限实在也不知写什么,所以就决定,搞转贴学习。以下内容转自add:凡人做梦:http://blog.3s...
  • huzgd
  • huzgd
  • 2011年03月10日 23:45
  • 4673

操作系统与硬件、其他系统软件以及用户之间的关系

摘抄自 http://www.cnblogs.com/meixinghao/p/3989246.html 操作系统是覆盖在硬件上的第一层软件,他管理计算机的硬件和软件资源,并向用户提供良好的...
  • u012934551
  • u012934551
  • 2015年09月04日 10:43
  • 2561

C/C++工程实践

最近看公司产品代码时,发现了几种没见过的用法 本贴持续总结这些工程中的时间技巧 1.   struct test { int a ; float b; char c[0]; }; 作用: ...
  • xiaoyaohuqijun
  • xiaoyaohuqijun
  • 2016年07月04日 23:51
  • 262

图像分类

这是一篇介绍性的文章,旨在向人们介绍计算机视觉的外围应用:图片分类问题。现在我们介绍一种基于数据驱动的方法。内容如下:简述图像分类,数据驱动和管道K近邻分离器验证集合,交叉验证和超参数调优近邻算法的优...
  • u012435889
  • u012435889
  • 2017年06月26日 20:30
  • 556

Visual_C++音频视频处理技术及工程实践 下载

Visual_C++音频视频处理技术及工程实践 问题的提出: 需要研究一下如何进行视频处理,相应的参考书籍 问题的解决: Visual_C++音频视频处理技术及工程实践_01_第01章_P001_...
  • mandagod
  • mandagod
  • 2017年04月14日 19:02
  • 436

陈硕 c++工程实践链接地址

学习Linuxc++和网络服务其 http://www.cnblogs.com/Solstice/category/287661.html
  • shenlanzifa
  • shenlanzifa
  • 2014年09月25日 16:47
  • 498
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:净室与其他软件工程实践的关系
举报原因:
原因补充:

(最多只允许输入30个字)