1、ICS 35.080 L77 远昌中华人民=lI二不日国国家标准GB/T 1849 1.5-20 1 O/ISO/IEC TR 14143-5: 2004 信息技术软件测量功能规模测量第5部分:功能规模测量的功能域确定Information technology-Software measurement一Functional size measurement 一Part 5: Determination of functional domains for use with functional size measurement CISO/IEC TR 14143-5: 2004 , IDT)
2、2010-12-01发布2011-04-01实施数码防伪中华人民共和国国家质量监督检验检疫总局中国国家标准化管理委员会发布GB/T 1849 1.5-2010/ISO/IEC TR 14143-5 :2004 目次前言.皿引言.凹1 范围-2 规范性引用文件3 术语和定义4 缩略语.15 要求6 规程27 FDC方法举例.2附录A(资料性附录)确定功能域的CHAR方法4附录B(资料性附录)确定功能域的BFC方法四I GB/T 1849 1.5-2010/ISO/IEC TR 14143-5:2004 目U1=1 GB/T 18491在信息技术软件测量功能规模测量总标题下目前由以下6个部分组成:
3、一一第1部分:概念定义;-一一第2部分:软件规模测量方法与GB/T18491. 1-2001的符合性评价;一一第3部分:功能规模测量方法的验证;一一第4部分:基准模型;一一第5部分:功能规模测量的功能域确定;一-第6部分:GB/T18491系列标准和相关标准的使用指南。本部分为GB/T18491的第5部分。本部分等同采用ISO/IECTR 14143-5: 2004(信息技术软件测量功能规模测量第5部分:功能规模测量的功能域确定)(英文版)。由于国际标准ISO/IEC14143-6: 2006发布晚于ISO/IECTR 14143-5: 2004,因此,原国际标准ISO/IECTR 14143
4、-5: 2004的前言中不涉及ISO/IEC14143-6: 2006 0 而在将ISO/IECTR 14143-5 :2004转化为本部分时,前言中补充了有关第6部分的说明。本部分做了下列编辑性修改:一一根据国情,删去了原文的引言中的最后两段文字;一一由于原文第7章的注2与上段文字重复,在转换为国家标准时,作了删除处理。本部分的附录A和附录B为资料性附录。本部分由全国信息技术标准化技术委员会(SAC/TC28)提出并归口。本部分起草单位:上海计算机软件技术开发中心、中国电子技术标准化研究所负责起草。本部分主要起草人:杨根兴、蔡立志、刘振宇、冯惠、谢晓燕、李婷、金荣得、陈达丽。皿GB/T 18
5、49 1.5-20 1 O/ISO/IEC TR 14143-5 :2004 引-E 功能规模测量(FSM)是通过量化软件用户功能需求来测量软件规模的一种技术。最初发表包含这种概念的方法是由AllanAlbercht于20世纪70年代后期开发的功能点分析。此后,对原有方法开发出了许多扩展和变种。在将Albrecht的方法或此后的功能规模测量方法等特定方法应用到不同类型的软件中时,己作出了很多关于有效性和局限性的申明。所引用的这些软件类型的例子包括管理信息系统(MIS)、嵌入式软件、过程控制软件、决策支持软件、军用软件、工程和实时软件等。软件类型这个术语的定义很宽泛。它们已被广泛用于区分软件执行
6、的用户功能种类(它能做什么)、软件性能问题、内部处理复杂度、物理实现需求和开发环境。这些术语或与功能规模评估相关的FUR特性都还没有普遍一致的定义。其结果如下za) 对于一个特定FSM方法的潜在用户去评估该方法对度量一组FUR特定集规模的适用性是很困难的;b) 一个FSM方法的所有者和开发者无法描述可应用该FSM方法的功能域。GB/T 18491的本部分通过描述如何使用FUR特性确定软件类型来说明这些难点。在本部分中,短语软件类型由巳定义的术语功能域替代。在GB/T1819 1. 1 2001中,功能域被定义为基于与功能规模测量有关的FUR特性的一类软件。GB/T 18491. 1-2001要
7、求一个FSM方法应描述其能应用的功能域。本部分的目的是详细说明功能域是如何定义的,并提供用于产生功能域的方法实例。N GB/T 1849 1.5-2010/ISO/IEC TR 14143-5:2004 1 范围信息技术软件测量功能规模测量第5部分:功能规模测量的功能域确定GB/T 18491的本部分描述了功能域的属性和可用于确定功能域的功能用户需求(FUR)特性的原理。附录A和附录B中提供了两种实现这些原理的方法实例。这两种方法都可以被直接使用,或者通过以下方法使用本地定义的功能域:a) 由FSM方法的用户来确定一个特定的FSM方法是否适用于特定FUR描述的功能域;b) 为给定的FUR集描述
8、FUR所属的功能域;c) 由FSM方法的拥有方和设计方描述在GB/T18491. 1-2001中概括的可应用FSM方法的功能域。使用附录A和附录B中的方法确定功能域在于它允许对不同出处的FUR进行比较,并允许对各种FSM方法的可用性进行比较。2 规范性引用文件下列文件中的条款通过GB/T18491的本部分的引用而成为本部分的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本部分,然而,鼓励根据本部分达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本部分。GB/T 18491. 1-2001信息技术软件测量功能规模测量第
9、1部分:概念定义(idtISO/IEC 14143-1: 1998) 3 术语和定义3. 1 3.2 下列术语和定义适用于本部分。FUR特性characteristic of FUR FUR可区分的属性,对标识FUR所属指定集的功能域是重要的。功能域归类functional domain categorization 识别符合5.1中要求的功能域的过程。4 缩略语FDC 功能域归类(functional domain categorization) 5 要求5. 1 功能域的一般要求一个功能域应:a) 区别于其他所有的功能域;b) 由一组与功能规模相关的特性描述。1 GB/T 1849 1.5
10、-201 O/ISO/IEC TR 14143-5: 2004 功能域应使用信息技术业界公认的术语命名,扩展时适当注明其出处,比如OrganizationX Real Time。这允许功能域在FSM的周境中(以及存在软件分类需求的其他潜在软件领域,如软件开发和维护)获得认可。注:应避免没有进一步的限定而直接在样本功能域的标题中使用业界术语(如实时、MIS、过程控制),因为它们在信息技术业界中使用(或误用)时除了包含FUR,通常还包含对质量和技术因素的考虑。需要有一个直接的声明以强调软件的技术和质量特性不是所定义功能域的部分。例如:在业界使用的术语实时可能意味着时间约束(技术的或定性的)、特定的
11、硬件(技术的)、即时的反馈(质量)、与非人工用户(软件/硬件)的通讯、关键安全性和可靠性(质量)、容错性(质盐),加上实际的FUR(如在航空器中的航行水平位置控制)。一组FUR可被归属于多个功能域。5.2 功能域特性的一般要求一个功能域的特性应:a) 继承了在GB/T18491. 1-.2001中定义的功能规模的所有特性;b) 由功能用户需求展示;c) 独立于软件开发方法; d) 独立于质量和技术需求。5.2.1 FDC方法的要求一个FDC方法应sa) 是可重复的;b) 是一致的;c) 使得出的功能域描述,在将米仍保持与产生M-致;d) 是结构化的,而且易于理M;e) 定义功能域的特性。注2附
12、录A和附录B列举了FDC方法的例子。其他)1法也是可行的。6 规程6. 1 确定用于给定FUR集合的功能域为了确定一个FUR集的功能域:a) 使用一个FDC方法识别该FUR集展现的特性;b) 将该特性集和参考功能域的特性集进行匹配,如使用选中的FOC方法定义的;c) 确定适用于这个FURC或FUR集)的功能域。6.2 确定一个FSM方法对特定功能域的适用性为了确定一个FSM方法对特定功能域的适用性=a) 识别为特定功能域定义FDC方法的特性;b) 对于所选的FSM方法和每个BFC类型,识到上述哪些特性是被认可的;c) 将该功能域的特性和被FSM方法认可的特性进行比较;d) 如果由功能域展现的特
13、性:1) 是FSM方法认可的子集,那么FSM方法适用于该功能域;或2) 是FSM方法认可的超集,那么FSM方法部分适用于该功能域;或3) 与FSM方法认可的任一特性不符,那么FSM方法不适用于该功能域。7 FDC方法举例基于第6章描述的规程,附录A和附录B就是独立的且自包含的FDC方法的一些实例,用以说明定义功能域的不同方法。这些方法或任何其他的符合5.2.1的结构化方法都可以用来帮助确定一个GBjT 1849 1.5-2010jISOjIEC TR 14143-5:2004 FSM方法所适用的功能域。GBjT 1849 1. 1 -2001要求一个FSM方法描述它能够应用的功能域。FSM方法
14、的拥有者应使用附录A和附录B中的方法或其他可比的结构化方法的概念来描述其FSM方法可适用的功能域。作为替换,FSM方法的拥有者可以使用这些方法来生成本地定义和命名的功能域。注:已有的FSM方法的概念可能,也可能不完全符合资料性附录中方法的概念,因为在这些方法被开发出之前,许多FSM方法已经被定义和设计好了。附录A给出了一个自顶向下的方法实例,来构造一个定义功能域的方法,这些功能域是建立在对软件工程领域内外使用的分类方法的众多文献研究基础上的,并结合了用于辨别什么能够被功能域正常理解的软件工程概念。附录B给出了个自底向上方法的例子,该例子使用已有的软件工程概念来定义一个用于确定功能域模型的BFC
15、类型集(见GB/T18491. 1-2001中的定义)。3 G/T 1849 1.5-2010/ISO/IEC TR 14143-5 :2004 附录A(资料性附录)确定功能域的CHAR方法A.1 本附录的目的本附录的目的是为了:a) 定义一个FDC方法;b) 使用这个方法生成各种特定的功能域的实例定义;c) 根据FUR和一些现有的候选FSM方法的例子来测试该方法。GB/T 18491. 1一2001要求:a) FSM方法是通过识别在FUR认可范围内的基本功能部件类型(或BFC类型)以及分配用于计算功能规模的值的方法来度量功能规模的;b) BFC类型是一个已定义分类的由FSM方法定义和使用的,
16、以测量为目的的FUR基本单元;c) FSM方法应描述它们可应用的功能域。本附录:a) 能用来描述或定义各种来源于FUR的实用功能域;b) 能被FSM方法的设计者用来说明哪些特性是被他们设计的FSM方法的BFC类型认可的。在测试要求列表中的每个测试要求应:a) 被编号,这样它能被唯一地标识;b) 识别FSM方法中相应的语句,如果是可适用的;c) 识别测试引用的性能属性;d) 陈述用于确认测试的确认方法;注:确认方法将在附录B中描述。e) 与A.2中各条款的描述正好一致。A.2 定义A. 2.1 CHARs 为附录A方法选择的特定的FUR特性。A. 2. 2 CHAR Group 用于确定一个特定
17、功能域的一组相关CHARs的集合。A.3 与FSM相关的FUR特性(CHARs)A. 3.1 背景基于CHARGroup方法,有3个区分功能域的CHARGroupo通过A.3. 2中描述的评价和等级,一个FUR集能够经过评价而找出它特定的功能域。A. 3.1.1 CHAR Group模型有3组CHARs,每组都包含了可变数量的CHARso每个CHAR只能属于一个CHARGroup,而且只能单独进行评价:a) 控制和通讯占优FUR规定:软件必须并发操作和控制其外部世界的用户。本CHARs包括:4 GB/T 1849 1.5-2010/ISO/IEC TR 14143-5:2004 1) 响应:软
18、件需求,包含转换为FUR的时间约束;2) 接口:用于对外部对象或其他外部软件进行控制或与之通讯的软件接口是至关重要的;3) 系统管理:软件通过对外部环境的管理来检测越界或紧急数值,它的处理顺序也能够根据以上情况进行调整(例如,高优先级的触发条件能够中断或改变服务的处理)。注:软件是否能监控外部环境,或者外部环搅是否为数据监控提供触发条件,是实现相同功能用户需求的两种途径。b) 数据占优数据体系结构、关系需求、完成FUR规定事务时的数据持久性是软件的优先考虑。本CHRs包括:1) 复杂的数据:复杂的数据或控制关系(或相互依赖)的需求是FUR的重要组成部分;2) 持久性:数据的持久性或逻辑存储是F
19、UR的重要组成部分。注:本附录中的数据持久性指的是输入或查询的数据应该保留一段时间的需求,严格考虑数据是否必须被保留到单个已完成的事务之后。c) 操作和算法占优FUR规定软件必须执行特定类型的算法密集的服务与/或复杂的操作。本CHARs包括:1) 操作:数据的高效处理(例如,对简单数据进行不同逻辑功能操作的优势); 2) 科学/工程:数学或逻辑算法要求的科学/工程(例如,包括精度和正确性、统计分析等); 注:例如,MonteCarlo仿真是一些软件估算模型中要求的复杂的统计算法。3) 适应性:软件是被要求具有适应性的(也就是软件能够根据外部情况或事件动态地改变它的行为或逻辑)或软件具有业务处理
20、规则,这些规则是根据日期、时间、季节或其他外部需要考虑的事项进行调整的。注:例如,人身保险精算软件包含了管理用于特定情况的算法组合的规则,这些算法不是静态的。A.3.2 通过评价FUR或FUR组确定功能域的规程如果给定一组FUR,确定它们所属的功能域的规程分三步执行。首先,对每个CHAR进行评价和等级划定,并记录在表A.l中;其次,作为结果的CHAR等级被用来建立CHARGroup的等级(见表A.2);最后,合并CHARGroup的等级用于确定FUR的功能域(见表A.3)。a) 为给定的FUR集评价每个CHAR的重要性,可通过将重要性等级划分为可忽略的、一般的和重要的。提供表A.l是为了增加划
21、分CHARs等级时的一致性和客观性。该表为每个分类提供了FUR范例,并为每个CHAR回答了下面的问题:FUR是否展现了这个CHAR?表A.1CHAR评价表等级=可忽略的等级=一般的等级=重要的等级CHAR (代表了50%(忽略的、一般的、的需求)的需求)的需求)重要的)控制和通讯占优1.响应报告批处理查询银行结余监控管道压力2.接口模拟算术计算器处理信用卡支付控制喷泊系统3.系统管理处理月工资单自动驾驶控制核反应堆数据占优4.复杂的数据频繁的飞机登记管理组织财政监控有组织的犯罪5.持久性搜索因特网网站导航监控实验火箭5 GB/T 18491.5一2010/ISO/IECTR 14143-5 :
22、2004 表A.1(续)等级=可忽略的等级=一般的等级=重要的等级CHAR (代表了50%(忽略的、一般的、的需求的需求)的需求)重要的)操作和算法占优6.操作旅馆人住登记目录管理在线医疗诊断7.科学/工程监控在线购物车解释来自晗勃空间预测气象望远镜的数据8.适应性检查拼写错误扫描邮件病毒控制导弹轨道b) 基于第一步获得的CHAR的结果,使用表A.2建立CHARGroup的等级。表A.2 CHAR Group的评价等级=可忽略的等级=一般的等级=重要的(至少有一个(没有等级为一CHAR的等级是(有一个CHAR等级CHAR Group 般的CHAR或一般的而且的等级是重要的(可忽略的、CHARs
23、的总和需求的50%)求的50%)控制和通讯占优使用表A.l中的响应、接口和系统管理CHARs的结果数据占优使用表A.l中的复杂数据和持久性CAHRs的结果操作和算法占优使用表A.l中的操作、科学/工程和适应性CHARs的结果c) 运用第二步建立的CHARGroup等级,从表A.3中选择适当的功能域。表A.3功能域功能域控制和通讯占优数据占优类型操作和算法占优纯数据处理系统可忽略的重要的可忽略的信息系统可忽略的重要的一般的数据处理系统可忽略的一般的一般的控制信息系统一般的重要的可忽略的控制数据系统一般的一般的可忽略的复杂控制信息系统一般的重要的一般的非特定(复杂)系统一般的一般的一般的简单控制系
24、统重要的可忽略的可忽略的控制系统一般的可忽略的一般的复杂控制系统重要的可忽略的一般的数据驱动控制系统重要的一般的可忽略的复杂数据驱动控制系统重要的一般的一般的纯计算系统可忽略的可忽略的重要的控制计算系统一般的可忽略的重要的科学信息系统可忽略的一般的重要的科学控制数据处理系统一般的一般的重要的注:本表提供了功能域的例子,并不是给出所有的列表。6 G/T 1849 1.5-2010/ISO/IEC TR 14143-5 :2004 A. 3. 3 CHAR 总结图A.l总结了A.3. 2概述的CHAR的评价规程。表A.l:CHAR评价记录功能域图A.1功能域评价过程A.4 评估FUR确定功能域的范
25、例A.4.1 范例1.字处理FURA. 4. 1. 1 字处理FUR下列逻辑需求组成了本应用的FUR:输入:a) 接受介于1132之间的一个数值(称为MAXPOS);b) 接受一个字符输入流(称为INSTREAM);c) 在输出中保持输人单词的顺序和长度;d) 使每个内部输入中断减少为单个的字符输出中断;e) 每个输出行以一个字作为开始;f) 在每个输出行中填入尽可能多的完整的字;g) 在新行之前,建立包含不超过MAXPOS限定长度的字符的输出行;h) 只在输入中断的地方对输出行进行中断;i) 保存输入供以后参考和使用;7 GB/T 18491.5-2010/ISO/IEC TR 14143-
26、5 :2004 输出zj) 返回与正常输入对应的完整编码;k) 返回与元效MAXPOS对应的完整编码;1) 返回与空输入对应的完整编码;m) 返回与仅表示中断的输入对应的完整编码;n) 返回与超长字对应的完整编码;0) 以逐行的输出格式返回输入字符流。A. 4.1.2 字处理FUR功能域评价结果表A.4字处理FUR评价CHAR 等级(见表A.l)响应可忽略的接口可忽略的系统管理可忽略的复杂数据可忽略的持久性一般的操作一般的科学/工程可忽略的适应性可忽略的A.4.2 范例2.人力资源FURA. 4. 2.1 人力资源FUR下列逻辑需求组成了本应用的FUR:a) 维护和存储职工及其家属信息;b)
27、维护和存储有效的职位信息;c) 维护和存储工作分配的信息;CHAR Group 控制和通讯占优数据市优操作和算法占优d) 提供在任何地点反时访问信息的方法;e) 将所有对工资单情况的修改记录到L资单日志中。A. 4. 2. 2 人力资源FUR功能域评价结果等级(见表A.2) 可忽略的一般的一般的表A.5人力资源FUR评价CHAR 等级(见表A.D响应可忽略的接口可忽略的系统管理可忽略的复杂的数据一般的持久性一般的操作一般的科学/工程可忽略的适应性可忽略的A.4.3 范例3.交通灯FURA. 4. 3.1 交通灯FUR下列逻辑需求组成了本应用的FUR:8 CHAR Group 等级(见表A.2)
28、 丰富的控制和交流可忽略的数据占优重要的操作和算法占优一般的功能域(见表A.3)数据处理系统功能域(见表A.3) 信息系统GBjT 18491.5-2010jISOjIEC TR 14143-5:2004 a) 交通灯会根据等待的车辆数、信号灯位置以及预先设定的时间而变化;b) 维护和存储时段、工作日和节假日时间段的时间设置文件;c) 来自于紧急车辆的信号可中断常规程序逻辑;d) 火车信号应防止交通灯通过开关变为绿灯;e) 发送每周的交通统计情况到交通部门(DOT), A.4.3.2 交通灯系统FUR功能域评价结果表A.6交通灯系统FUR评价CHAR 等级(见表A.1) 响应一般的接口一般的系
29、统管理一般的复杂数据一般的持久性一般的操作可忽略的科学/工程一般的适应性一般的A.4.4 范例4:银行自动柜员机FURA. 4. 4.1 银行自动柜员机FUR下列逻辑需求组成了本应用的FUR:被维护的实体za) 顾客;b) 存款帐户pc) 支票;d) 交易(图像)j 接口:CHAR Group 等级(见表A.2) 控制和通讯占优重要的数据占优一般的操作和算法占优一般的功能域(见表A.3)复杂数据驱动控制系统e) 软件通过访问终端控制器中的表来获得日期、分行号和状态(在线或离线),但用户不能访问这些数据;f) 没有其他可被访问的文件;交易/功能:g) 增加客户;h) 修改客户;删除客户;客户查询
30、;k) 新开帐户;1) 结清帐户;m)支票存款;n) 支票提现;0) 存款;p) 取款;q) 两个帐号间的转账;r) 支票查询;9 G/T 1849 1.5-20 1 O/ISO/IEC TR 14143-5:2004 s) 存款查询;t) 打印凭证;u) 存折登折;v) 从j)到s)项功能必须在10s内完成,否则会发生超时。A.4.4.2 银行自动柜员机FUR的功能域评价结果表A.7银行自动柜员机FUR评价CHAR 等级(见表A.l)CHAR Group 等级(见表A.2)功能域(见表A.3)响应一般的接口可忽略的控制和通讯占优一般的系统管理可忽略的复杂数据一般的数据占优重要的复杂的控制信息
31、系统持久性一般的操作一般的科学/工程可忽略的操作和算法占优一般的适应性可忽略的A.5 把部分通用软件类型映射到CHARGroup模型中作为对模型的测试,被普遍理解的软件类型的特性可以被映射到CHARGroup模型中。表A.8中给出的软件类型列表包括ISO/IEC12182(信息技术软件分类中出现的或同义的术语。下列术语不会都被使用,因为ISO/IEC12182中的绝大多数分类与本部分的目的无关。注:为这些软件类型选择的特性可以不必出现在所有特定软件类型的实例中。表A.8对部分普遍理解的软件类型的分析ISO/IEC 12182软件类型功能域控制和丰富数据丰富的操作通讯占优管理信息系统(业务处理)
32、,决策支持信息系统可忽略的重要的一般的字处理系统,地理信息系统,银行自数据处理系统可忽略的一般的一般的动柜员系统控制数据系统一般的一般的可忽略的业务(业务企业复杂控制信息系统一般的重要的一般的军用指挥和控制非特定(复杂)系统一般的一般的一般的实时:嵌入式,设备(打印机,磁盘)简单控制系统驱动重要的可忽略的可忽略的实时z嵌入式、航空电子、消息路由复杂控制系统重要的可忽略的一般的E-mail、紧急派遣呼叫/接收,操作数据驱动控制系统系统重要的一般的可忽略的过程控制(控制系统复杂数据驱动控制系统重要的一般的一般的科学的、标准数学/三角算法系统纯计算系统可忽略的可忽略的重要的工程控制计算系统一般的可忽
33、略的重要的10 、GBjT 1849 1.5-201 OjISOjIEC TR 14143-5 :2004 表A.8(续)ISO/IEC 12182软件类型功能域控制和丰富数据丰富的操作通讯占优自学系统(专家或人工智能),统计学的,电子制表软件,安全系统,保险科学信息系统可忽略的一般的重要的精算关键安全科学控制数据处理一般的一般的重要的系统(元相应类型)纯数据处理系统可忽略的重要的可忽略的(元相应类型)控制信息系统一般的重要的可忽略的(元相应类型)控制系统一般的可忽略的一般的注:本分析显示,许多通用软件类型不能被FUR区分,而是要通过其他需求类型,特别是质量约束来区分。A.6 现有的候选FSM
34、方法到CHARGroup模型的映射作为对CHARGroup模型的测试,4个现有的FSM候选方法,包括IFPUG功能点分析方法4.1版(未调整的功能点)、针对功能点分析的应用的NESMA定义和计算指南、MkIIFP方法和COSMICFFP方法被映射到BFC类型中,见表A.9。注:之所以包含这囚种方法是由于它们当前正通过PAS过程进行标准化,或是作为SC7中一个新工作项。表A.9现有的候选FSM方法到CHARGroup模型的映射IEPUG4.1 NESMA CHAR MKII COSMIC FFP 未调整未调整通过基本越界处理,通过基本越界处理,通过登录、退出BFC的响应提供的持久数据是提供的持久
35、数据是通过逻辑事务响应一般等级的一般等级的通过基本越界处理,通过基本越界处理,通过登录、退出BFC的接口提供的持久数据是提供的持久数据是通过逻辑事务一般等级的一般等级的接口通过基本越界处理,通过基本越界处理,通过登录、退出BFC的系统管理提供的持久数据是提供的持久数据是通过逻辑事务系统管理一般等级的一般等级的复杂的数据未说明未说明未说明未说明持久性通过ILF、EIF通过ILF、EIF通过逻辑事务的实通过读、写BFC的持久性BFC的持久性体参考BFC的持久性操作未说明未说明未说明未说明科学的/工程未说明未说明未说明未说明适应性未说明未说明未说明未说明上述分析说明这4种方法比其他方法更明确地详细阐
36、述了CHARGroup模型的确定功能域。一些CHAR是在一个方法现存BFC类型中被说明的;一些CHAR是不能被区分的;另一些CHAR不能被任何方法说明。11 GB/T 1849 1.5-20 1 O/ISO/IEC TR 14143-5:2004 附录B(资料性附录)确定功能域的BFC方法B.1 本附录的目的本附录的目的是为了:a) 定义一个FDC方法;b) 用这个方法生成多种特定功能域的实例定义;并c) 根据FUR和一些现有的候选FSM方法的例子,测试该方法。GB/T 18491. 1-2001要求:a) FSM方法是通过在FUR中识别功能部件类型(或BFC类型)并分配用于计算功能规模的值来
37、测量功能规模的;b) BFC类型是一个己定义的由FSM方法定义和使用的,以测量为目的的FUR基本单元类型;c) FSM方法应描述它们能应用的功能域。本附录:a) 能被用于描述或定义源自FUR的各种实用功能域;b) 能被FUR方法的设计者用来说明哪些特性能够被他们设计的FSM方法的BFC类型识别。本附录中定义的BFC类型集(BFC类型模型或模型勺提供了一个软件FUR的元模型。此模型基于已建立的结构化信息系统和数据分析方法的部件,这些方法包括Chen趴1,、Codd、Con凶川s创tantrMy严巳rs、DeMa盯rcO、,Ja肌ckson、Wa盯rme盯r与Your吐don等,但是根据对实际软件
38、部件的额外观察进行了独立扩展。定义BFC类型集的一个重要选择标准是BFC类型的粒度或抽象水平能够使其被明确地识别和定义。B.2 BFC类型模型B. 2.1 模型本附录中的BFC类型模型取决于对软件是如何被构造为层和层中的段的理解(参见图B.1),此外,还依赖于对软件段边界的定义。对这些术语完整的解释将在B.8中给出。处于任何一段的软件的FUR通常是由仅属于一个已定义功能域的BFC类型构成的。然而,处于同一层次相邻段或相邻层次的软件的FUR或可能或不可能与我们感兴趣的段属于同一个己定义的功能域。因此,在为了确定一组特定FUR属于哪个(或哪些)功能域而分析这组FUR时,首先应该关注区分层及其层中的
39、段。类似地,当确定一个特定的FSM方法是否能被用于测量一组特定FUR的规模时,首先应确定FUR是否需要软件处于不同功能域的不同层次与/或段。只有这样,人们才能测试该FSM方法是否能应用于所有的FUR。这个方法是这样看待FUR的za) FUR由一组事务构成;b) 事务将接收的数据作为输入,然后处理这些数据,最后输出处理结果。12 GB/T 1849 1.5-201 O/ISO/IEC TR 14143-5: 2004 r-输入输出事务1. -E -m -P -件软或FUR 输入输出事务n图B.1软件模型B. 2. 2 将FUR分解成BFC类型B. 2. 2.1 事务种类FUR规定软件一旦被运行后
40、应该做什么。FUR的主子集能够被功能性地分解成事务,这些事务是输入、处理、输出的序列(不必按照这个顺序),并由软件外部事件触发。(在实时系统世界中,事务可以被定义为软件对外部事件而要求做出的响应。)范例包括:a) 对于一个业务应用,在真实的自然世界中签约了一个新顾客,该事件触发了用户在软件中登记顾客相关信息的过程;b) 用户决定查询新客户信息(的事件); c) 对于一个过程控制应用,一个硬件时钟达到某个特定时刻(的事件)就会触发这个应用开始一轮对一列传感器的轮询,以收集数据,并把接收到的数据和标准值进行比较,然后发送信号将修正值应用到机器设定中;d) 对于前面的过程控制范例,除了以上情况,软件
41、要求是可中断的,例如,如果一个传感器监测到一个需要立即引起注意的异常情况(的事件),软件的正常操作会被中断,软件的功能将变化为处理这个异常情况;e) 消息路由器接收一条发送来的消息(的事件),通过处理来确定往哪里、如何转发这条消息,并将消息正确发送。在任何情况下,当软件与相关外部事件处于完全一致的情形时,该事务就完成了,也就是说该事务已经完成了被要求完成的作为外部事件产生的结果的每一件事。基于软件被要求如何与外部世界进行交互,本模型可识别3类事务(3种BFC类型): 类型l(被动的):一旦启动,软件正常的情况就是不做任何事。当接收到一个来自软件边界另一边的用户的输入时,数据将被处理,处理过程或
42、可能或不可能将数据返回到边界另一边。当事务完成后,软件回复到不做任何事的状态。类型2(半主动的):一旦启动,软件的正常情况是:软件必须定期观察在边界另一边所发生的事情。根据探测到的情况和它的处理规则,软件或可能或不可能将数据返回到边界另一边。类型3(可中断的):一旦启动,软件在类型l或类型2的模式下运行,但另外,当得知某种类型的事件发生时,它必须停止正在做的任何操作,然后接受事件并立即对事件作出反应。根据与该事件相关的13 GBjT 18491.5-2010jISOjIEC TR 14143-5:2004 处理规则,软件或可能或不可能将数据返回到边界另一边。上述解释只说明了软件可能被要求执行的
43、功能。每项功能都可以通过不同的方法来实施,而且实现过程可能被性能或质量需求限制。如何详细说明这3种类型的例子分别是:a) 软件需要接收键盘的一个输入,并在监视器上显示该键值对应的符号;b) 软件需要每隔1s读一次温度并产生一个信号,用来指出冷却剂的温度是否超出了20OC 300C的范围气c) 软件需要每隔1s读一次温度,当温度高于30oC时,产生一个启泵的信号;当温度低于200C时,产生一个停泵的信号。无论何时,当接收到过热的通知时,软件将元条件地发出启泵的信号。B.2.2.2 认可的数据类型事务包括输入、输出和对数据项或数据组的处理。这个模型可区分软件需要认可的各种不同类型的数据项或数据组(
44、也就是BFC类型)。不同的功能域可以只认可某些数据类型。本模型认可下列数据类型:a) 数据元素类型(DET),同义词数据属性;b) 数据组(单个实体类型的数据属性的集合); c) 声音;d) 图像;巳)动态图像;f) 数据关联(描述两种数据类型之间的意义和关联程度的规则)。注:在现有FSM方法中,数据元素类型的典型定义是唯一的用户可认可的数据单元,这个概念能包括以上任何一种数据类型。因此,如果合适,今后基于本模型定义BFC类型和功能域的FSM方法可以需要更准确地详细说明它们认可哪些数据类型。B.2.2.3 信息创建功能类型当事务处理数据,也就是它们操作和计算新数据时,它们会使用许多不同的处理类
45、型,我们就称这些处理类型为信息创建功能类型。这些BFC类型的复杂性从非常简单的布尔运算到复杂的数学算法,它们随功能域的变化而变化。本模型认可以下信息创建功能类型:a) 简单布尔运算;b) 简单算术运算;c) 标准的数学/统计学算法(例如业界标准的电子制表软件hd) 二维和三维几何学(例如地理信息系统); e) 复杂的科学/工程处理(例如机翼设计或者天气预报hf) 基于推论的决策规则集,例如在专家系统中;g) 启发式或自调整的算法;h) 特定业务领域算法(也就是在本地业务中定义的)。B.2.2.4 数据保留需求B.2.2.2中的数据类型可以被要求为不同的时间段而保留,这是一个区分功能域的特征。本
46、模型识别3种时间量程(或持久度勺,FUR为这3种时间量程详细说明了数据类型的保留程度:14 a) 不保留的,在逻辑事务完成后不需要被保留的数据类型,例如简易计算器使用的数据;b) 仅在软件处理期间才需要被保留的数据类型,例如,当所有事务被处理后,贯穿于这批实现普通报表输出事务的累积数据;c) 为软件外部事件而需要长期被保留的数据类型,就软件而言,是无限期地。GB/T 1849 1.5-20 1 O/ISO/IEC TR 14143-5:2004 B. 2. 3 BFC类型模型总结本附录的BFC类型模型认可3组BFC类型,即:a) 3种事务类型;b) 不同的数据类型;c) 信息创建功能的不同类型
47、。各种数据类型都能被要求具有3种数据保留持久性程度中的任何一种。要求任何事务仅识别确定的数据类型,根据确定的信息创建功能的类型处理该数据类型,并在确定的周期内保留该数据类型。本附录中的模型建议所有的FUR能以这些BFC类型和数据保留需求来表示,为实用FSM方法而需被区分的功能域能够由这些相同的BFC类型来定义。然而,这个BFC类型的列表并未声明是毫无遗漏的,也不排斥将来其他BFC类型的规定。BFC类型模型可以总结为表B.l。表B.1BFC类型模型一一定义功能域的一个框架软件BFC类型4.数据类型保留要求1.事务种类2.数据类理!3信息创建功能类型 被动的 数据元素类型DET 简单布尔运算 不保
48、留的 半主动的 数据组 简单算术运算(只在事务的持续期间) 可中断的 声音 2维或3维几何学 处理期间保留的 图像 标准的数学/统计学算法国无限期地e 动态同像 复杂的科学/工程算法 数据关联 专家系统规则 启发式算法 特定业务领域算法B.3 功能域生成的过程一个唯一的功能域是能通过特征被辨别的,然后通过将表B.l第1、2、3列中的0个、1个或多个相关BFC类型以及第4列中的数据保留需求进行组合,来定义这个功能域。这个过程可能会导致大量功能域定义的产生,这是我们不希望看到的。实际上,FSM方法的设计者和用户只需要少量常遇的功能域定义。表B.2定义了这些功能域的例子,这个列表可能在将来的研究过程中进行扩展和完善。使用表B.2中的定义,此次分析结果如下:a) 多用户操作系统是复杂过程控制软件;b) PC字处理