青鸟计算机软件构件复用属性规范

上传人:笛音 文档编号:33051287 上传时间:2018-02-13 格式:DOC 页数:63 大小:494.50KB
返回 下载 相关 举报
青鸟计算机软件构件复用属性规范_第1页
第1页 / 共63页
青鸟计算机软件构件复用属性规范_第2页
第2页 / 共63页
青鸟计算机软件构件复用属性规范_第3页
第3页 / 共63页
青鸟计算机软件构件复用属性规范_第4页
第4页 / 共63页
青鸟计算机软件构件复用属性规范_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《青鸟计算机软件构件复用属性规范》由会员分享,可在线阅读,更多相关《青鸟计算机软件构件复用属性规范(63页珍藏版)》请在金锄头文库上搜索。

1、计算机软件构件属性规范 1/64计算机软件构件复用属性规范(QB-CAKL010516)本规范参照国家质量管理和质量保证标准第三部分:GB/T 19001-ISO9001 在软件开发、供应和维护中的使用指南GB/ 19000.3-1994 ISO 9000-3-1993,国家信息技术软件产品评价质量特征及使用指南GB/T 16260-1996,和美国可复用软件构件库标准,并具有与青鸟构件规范的一致性。1 目的本规范为实施青鸟软件生产线技术的引进、开发、应用和示范工程而规定以构件复用为目的的构件属性的定义方法。2 适用范围本规范适用于计算机软件构件的评价、收集、整理、分类和构件在可复用构件库的登

2、录、查找、修改与撤消。3 术语3.1 构件(Component)广义定义:构件是计算机软件构件的简称,是在软件生命周期各阶段可以被复用的软件实体,它可以是设计、代码或软件开发过程的其它产品。如可组装的软件、程序模板、程序的原代码或目标模块和软件需求说明、规格说明、程序说明、数据说明、测试说明和测试案例等软件成分。 “复用”指在同一系统的其它地方或另一个系统中使用已有的软件构件 1。狭义定义:软件构件是具有公开接口和确定意义的可被组装的软件制品。它可以不加修改或者基本不加修改地作为一个部件和其它构件一起组装成更大的软件或软件成分 2。3.2 构架( Framework)构架是计算机软件构架的简称

3、,是可以复用的、需要再扩展才能实现的“半完成”的软件 3。构架提供应用域的可扩展的模板 4,它具有完整的结构、基本元件和明确说明接口的组装其它构件或程序的扩展点 5。构架也是一种构件,可以被组装。本规范用构件的狭义定义区分构件与构架。不加区分时“构件”术语的广义定义包含了它的狭义定义。扩展点是构架中允许被替换、被修改的功能或程序体位置的明确标识。3.3 构件的连接关系一个构件直接与其它构件的继承、关联、访问、存取、引用或通信关系。构件的连接关系有继承关系、聚合关系、联合关系和数据流关系。构件的连接关系简称“连接关系” 。3.3.1 继承关系继承关系是面向对象的构件的“一般和特殊”关系。通过继承

4、,一个类可以共享另一个类(单一继承)或多个类(多重继承)的结构、属性和方法 6。3.3.2 聚合关系聚合关系是构件的“整体和部分”关系。通过聚合,被聚合的构件作为成员组装到聚合构件中,聚合构件应该有方法建立聚合构件和所有被聚合构件的动态的或逻辑的整体一致性计算机软件构件属性规范 2/647。聚合构件和被聚合构件可以是面向对象方法的实例或结构化方法的函数。结构化方法的模块结构用聚合关系表达;文档构件的组合和引用也用聚合关系表达。3.3.3 联合关系联合关系表达构件之间的联系。 “联系”可以是一个构件对别的构件(单向)或者是相互(双向)的关联、访问、存取、引用和通信,聚合关系是一种“强”联合关系

5、8。为区分聚合关系与联合关系,本规范约束联合关系仅表达(1)数据结构的关联(如 E-R 关系) ;(2)对象的指向关系(一个对象作为另一个构件的方法或函数的参数被引用) ;(3)文档构件参考资料的指针(参考符) 。3.3.4 数据流关系 9数据流关系是基于对象数据流图的一种联合关系,表达对象之间的功能信息关联。同时支持结构化方法和面向对象方法的系统分析与设计。数据流关系用联合关系中的对象的指向关系实现。3.4 构件的包含关系如果构件 A 被组装到构件 B 中,并且 A 或者 A 的成员可以被构件 B 所使用,则称构件 B包含构件 A。本规范定义,构架和构件可以互相包含;面向对象方法的构件和结构

6、化方法的构件也可以互相包含。可复用构件库的结构服从本定义。3.5 构件属性3.5.1 说明属性综合说明构件的名字、来源、版权信息、版本历史和构件的应用领域、构件类型、开发工具、开发方式、运行环境、主要功能和可复用的程度,以及构件查询的关键字。3.5.2 使用属性说明构件的应用领域、表达形式、服务类型、开发方式、开发工具、运行环境、可复用程度、被使用的次数、被修改的次数,以及技术、经济或法律的约束条件。3.5.3 内容属性内容属性包括构件体和构件的连接关系。构件体即构件本身的内容(程序或文档) ,不包括该构件所复用的其它构件;构件的连接关系说明该构件复用其它构件的连接关系类型(继承、聚合、联合、

7、数据流) ,不包括构件体内部的“类”或函数间的关系。3.5.4 结构属性定量说明构件的结构特征。它包含构件的服务数、内聚、耦合、结构层数、继承、聚合、函数调用等因子。它支持面向对象方法、结构化方法或二者混合方法开发的构件的结构描述。3.5.5 评价属性本规范推荐应用 Albrecht 复杂度、COCOMO 2.0 复杂度和 DeMarco 复杂度从构件的功能组成角度评估构件的复杂度,用 McCabe 复杂度和 Dhama 内聚度从构件内部的程序结构角度评估构件的复杂度。构件的复杂度评估,对于评价构件的质量和预测构件开发、复用、测试、维护的工作量和难度有重要意义。计算机软件构件属性规范 3/64

8、3.5.5.1 功能复杂性 10功能复杂性是从构件的规格说明与设计通过构件的功能性来度量构件复杂度的因子。功能复杂性是针对 4GL 的出现以至不能用简单的代码行作出前述评估而提出的。有三种典型的评估模型可以用于结构化方法、面向对象方法或者混合方法开发的构件功能复杂性评估:Albrecht 复杂度 11,是基于应用(软件或系统)所含的功能和技术要求计算“功能点”的软件复杂性度量。它给出外部输入、外部输出、交互输入、外部文件和内部文件五类三个尺度(简单、平均、复杂)共 15 个因子计算“非可变功能点复杂性” (UFC,Unadjusted Function point Complexity) ,又

9、给出 14 个技术因子计算“技术复杂因素” (TCF, Technical Complexity Factor) , “功能点” (FP, Function Point)等于 UFC 和 TCF 的乘积,是复杂度评估的基准。COCOMO 2.0 复杂度 12,是组合进 “对象点” (OP, Object Point) 、 “功能点”和“源代码行” (LOC, source Line Of Code)度量覆盖软件生命周期的复杂度度量模型。Boehm 推荐应用“对象点”于应用组合(Application Composition)阶段或原型工程,应用“功能点”和“源代码行”于应用开发(Applica

10、tion Development)阶段。 “对象点”OP 的计算统计应用中所含的屏幕数、报告数(Reports)和 3GL 构件数,每一种都带有“简单” 、 “中等” 、 “困难”三级复杂性权重。引入“复用率”R%,新开发的“对象点”NOP = OP(100R) / 100。如果应用“对象点”和“功能点”于同一系统复杂性的早期评估, “对象点”的计算量大约是“功能点”计算量的 47%10。DeMarco 复杂度 13,是基于结构化分析与设计的复杂性度量。它区分应用系统为“功能强”的系统或“数据强”的系统。 “功能强”的系统复杂度是基于数据流图(DFD)依据功能类型加权计算系统所含有的功能对象数

11、和功能对象内的输入/输出数据项数;“数据强”的系统复杂度是基于实体关系图(ERD)依据数据实体的关系数加权计算系统所含有的数据实体数。DeMarco 建议用数据对象间的数据连接数与功能对象数的比值区分“功能强”的系统(小于0.7)或“数据强”的系统(大于 1.5) ,或是“中性”的系统(0.8 和 1.4 之间) 。3.5.5.2 结构复杂性结构复杂性是通过构件内部的程序结构对构件的结构复杂度进行度量的因子。McCabe 复杂度 14是典型的适用于结构化方法、面向对象方法或者混合方法开发的构件结构复杂性的评估模型。McCabe 复杂度映射一个程序成为一个图,程序的“基本结构复杂度”为判定节点数

12、加1。基于此,McCabe 定义了层次化引用构件的程序的结构复杂度:(1)顺序执行构件的程序结构复杂度等于顺序系列中所有构件的结构复杂度之和减去构件数再加 1;(2)嵌套调用构件的程序结构复杂度等于程序的“基本结构复杂度”加上所有被调构件的结构复杂度之和再减去被调构件数。McCabe 复杂度是 NATO 推荐的构件结构复杂性度量模型。对于继承复用,本规范规定不计入被继承构件的复杂度,但被继承构件在被度量构件内部参与运算的方法作为被度量构件的组成成分被度量。3.5.5.3 Dhama 内聚度 22Dhama 内聚度根据方法或函数的接口参数、全局变量、 “扇入” 、 “扇出”等评估方法或函数的内聚

13、度。Dhama 定义内聚度 Mc为 Mc = K/(di + 2ci + do + 2co + gd+ 2gc + w + r)。这里,数据耦合和控制耦合参数 di 是输入参数数、c i输入控制参数数、d o是输出参数数、c o计算机软件构件属性规范 4/64是输出控制参数数,全局耦合参数 gd是全局变量数、g c是全局控制变量数,环境耦合参数 w 是被调用的函数数、r 是调用的函数数。常数 K=1。控制类参数引起引起条件转移,加权 2。4 属性描述语言属性描述采用巴科斯范式(BNF,Backus Normal Form)描述,本规范使用的描述符号意义如下:= 定义符,意为“定义为” 。 连选

14、符,符号两边的内容必须选取(可省略,省略时自然连接的内容必须选取) 。| 选择符,符号两边的内容选择其中一个。 任选符,符号内用分隔符分隔的内容可选一个、多个或者不选。 重复符,符号前任选符包含的内容可以重复一个或多个,或者不重复。待定义符,符号内的内容需要再定义。“” 复用定义符,符号内的定义被继承。5 构件属性5.1 说明属性构件说明属性:= := 英语名字且唯一汉语名字:= 构件提供者 联系人联系方式构件提供日期:= := 版权所有者定义的版本号 | CALyymmdd99 注:本室版权编码:= 收录进构件库的日期:= 文字说明,用逗号 “, ”分隔的本版本前的版本号系列。:= 文字说明

15、,描述构件的应用领域、构件类型、开发工具、开发方式、运行环境、主要功能和复用程度。:= 说明构件的应用领域、类型和重要功能的 4 个左右的英文词。5.2 使用属性构件使用属性:= 10 := 公共 | PUB | 办公自动化 | OA | 电子商贸 | EC | 其它 | OTHER:= |:= | | | | | := 规格说明,设计说明,实现说明,测试案例,使用说明:= 程序的源码形式,参见构件的程序写作规范 。:= |注:构件的二进制形式可以通过对的封装、编译而来。如果要编译为 LIB(静态库) ,只要简单的更改源程序的 make 文件中的输出部分即可。对于 Windows 平台而言,如

16、果要编译为DLL,只要增加一个定义文件,如 interface.def,在其中定义要公开的函数名称即可。如果要编译计算机软件构件属性规范 5/64为 ActiveX,可以使用 VC 中的 ActiveX 向导生成一个具有相同接口的空 ActiveX 控件,然后使用源码构件的接口定义 ActiveX 的接口。如果要编译成 CORBA 对象,需要使用 OMG IDL 定义接口,然后使用 IDL 编译程序得到根程序和程序框架,然后使用源码构件的界面实现 CORBA 对象。:= 文档,源码,二进制1516:= |:= GUI 的“类” 、函数、窗口、Web 页面、演示等。:= 在人机界面和数据库接口之间的中间件。:= 支持 SQL 操作(如增、删、修、查等)的构件。:= 驱动数据库管理系统命令(如连接、

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号