基于金审工程建设的审计软件过程度量模型的实现
肖敏 姚永佶(审计署重庆特派办)
【发布时间:2008年12月02日】
字号:【大】 【中】 【小】

1 引言

金审工程[1]是审计信息化建设项目的简称,被列为国家电子政务重点启动的12个重要业务系统之一,其总体目标是用若干年的时间,建成对依法接受审计监督的财政收支或者财务收支的真实、合法、效益,实施有效监督的国家审计信息系统。金审工程于1998年起由审计署开始筹备,按照总体规划、系统设计、分期建设、分步实施的建设原则,涉及到应用系统、信息资源、网络系统、安全系统、运行服务体系和人员培训等六大方面建设内容,下图反映出审计信息系统建设总体部署:
 

                                                                                 图1 审计信息系统建设部署图

为全面完成金审工程六大建设内容、实现总体建设目标,开发高质量、高效率的审计软件显得尤为重要。《基于审计信息化建设的审计软件度量的研究》[2](审计月刊2008年第2期)一文对审计应用系统建设的内容、规模、部署等进行了研究,提出了运用软件过程度量技术对审计信息系统开发过程进行度量的观点,利用过程规范语言PSL建立了基于审计信息化建设的软件过程实体关系图。本文在此基础上进一步研究运用软件度量技术实施过程度量的可行性和实用性,利用可扩展标记语言XML解释过程规范,描述度量过程,实现基于金审工程建设的审计软件过程度量模型。

2 审计软件过程度量模型语法描述

2.1 可扩展标记语言-XML

XML即Extensible Markup Language(可扩展标记语言)的缩写,是Web上表示结构化信息的一种标准文本格式,同HTML一样,都来自SGML(标准通用标记语言)。XML继承了SGML的许多特性,首先是可扩展性。XML允许使用者创建和使用他们自己的标记而不是HTML的有限词汇表。其次是灵活性。HTML很难进一步发展,就是因为它是格式、超文本和图形用户界面语义的混合,要同时发展这些混合在一起的功能是很困难的。而XML提供了一种结构化的数据表示方式,使得用户界面分离于结构化数据。所以,Web用户所追求的许多先进功能在XML环境下更容易实现。第三是自描述性。XML文档通常包含一个文档类型声明,因而XML文档是自描述的。不仅人能读懂XML文档,计算机也能处理。XML表示数据的方式真正做到了独立于应用系统,并且数据能够重用。XML文档被看作是文档的数据库化和数据的文档化。

2.2、XML描述过程数据

PSL可以为描述过程提供与过程特点紧密相关的一系列概念和定义,接下来便是如何使用XML来描述软件过程模型。由于过程数据的特点,XML在描述软件过程方面有着它独特的优势。XML的“以标记为中心”的语法结构使得它非常适合描述序列和层次关系。因此,XML可以很好的用来描述PSL中的有序时间点和活动实例;同时,在描述子活动和子实例时XML也是很好的选择。XML的另外一个特点就是XML的模块性。例如,使用XML的命名空间可以把任意一个对象描述嵌入到过程规范中,并且可以利用过程规范解释器把它分离开来留给其他的软件工具去解析该对象的描述。目前主流的软件应用供应商如英特尔浏览器、数据库环境厂商和商业产品工具都已经或正在计划在它们的产品中兼容XML。把PSL映射到XML将使得这些通用的应用软件可以解释过程规范,降低了数据共享的壁垒。

在使用XML描述过程定义时需要遵循以下的几点指导原则[3],它们对扩展过XML过程定义词汇表而言确是非常有用的。

1) 使用RDF描述过程的资源。

RDF可能是用来描绘过程中所使用到的对象的最佳选择。RDF可以被嵌入到任意的过程描述中去,RDF Schema对于详细说明对象的结构、类别和实例以及遗传关系是非常有用的。RDF提供了一种基于XML的语法(成为RDF/XML)用于保存和交换RDF图,这样我们在描述资源的时候可以用RDF来为资源建模,接着用XML Schema来描述该资源模型。

2) 把时间点描述成元素的序列

把时间点描述成一组有序的元素序列,给每一个时间点元素赋予一个唯一的标识。如果一个XML应用程序使用DTD或者是Schema来描述,那么这个唯一的标识符可以使用一个ID属性来表示,]

3) 为活动创建层次

对每一个活动,赋予一个唯一的标识符和活动名称。如果该活动包含子活动,可以在一个容器类元素中说明。如果该活动没有子活动,通过对已经用RDF Schema定义的适当的类的引用来详细说明该活动所使用到的资源情况。

4) 为已发生的事件创建层次,允许并行

为了以一种连续的顺序详细说明一个活动中所发生的事件,可以把子活动封装在父活动中。每一个活动事件应该有一个开始和结束时间点,除非它们可以由父活动事件推断出来。

 3 基于XML的审计软件过程度量模型的实现

审计软件过程度量模型的语法用XML Schema[4]来定义,主要包括以下的几个语言成分:Process,MainActivity及SubActivity,Timepoints及Timepoint,Resource,Measure等,分别对应于模型中的各个实体。

3.1 Process

     Process是整个SPRM模型的顶层语言成分,一个Process由属性信息、MainActivity、TimePoints和ProcessResource组成。Process用XML Schema描述如下:

<xsd:element name="Proeess" type="Process"></xsd:element>

<xsd:complexType name="Proeess">

<xsd:sequence>

<xsd:element name="ProcessDescription" type="xsd:string" minOccurs="0"/>

<xsd:element name="ProcessProperty" type="ProcessProerty" minOccurs="0"/>

<xsd:element name="ProcessResource" type="ProcessResource" minOccurs="0" maxOccurs="unbounded"/>

<xsd:element name="TimePoints" type="TimePoints" minOccurs="0"/>

<xsd:element name="MainActivity" type="MainActivity" minOccurs="0"/>

<xsd:element name="Measure" type="Measure" minOccurs="0"/>

<xsd:attribute name="ID" type="xsd:string" use="required"/>

<xsd:attribute name="Name" type="xsd:string" use="required"/>

过程使用到的相关信息、数据等资源描述可以通过RDF-资源描述框架进行详细描述。

3.2 MainActivity及SubActivity的定义

MainActivity体现了过程的活动内容,它由若干个SubActivity组成。在主活动的执行过程中可能会需要调用其他的过程,另外,还涉及到活动参与者和需要使用的相关工具,这些都会在SubActivity中给出定义。MainActivity用XML Schema描述如下:

<xsd:complexType name="MainActivity"/>
          <xsd:sequence>
          <xsd:element name="SubActivity" type="SubActivity" minOccurs="0" maxOccurs="unbounded"/>
          </xsd:sequence>
        </xsd:complexType>
 
每个子活动表现的就是主活动中一个具体的活动内容,SubActivity下有许多子元素,包括:Participants(参与者),指具体执行或参与这项子活动的角色及相关人员;InputProduct(输入产品)和OutputProduct(输出产品),指该子活动的输入和输出产品,可能是文档或是源代码等;Tool(使用工具),指执行该子活动所使用到的工具,包括相关的软、硬件工具等等。在SubActivity中还有两个重要的属性,那就是开始时间点和结束时间点,它们可以用来表示子活动执行顺序,子活动在执行时可以有三种次序:顺序执行、并行执行和交叉执行,这都可以通过时间点元素来标识。SubActivity用XML Schema描述如下:

<xsd:complexType name="SubActivity"/>

<xsd:sequence>

<xsd:element name="SubActivityDescription" type="string" minOccurs="0"/>

<xsd:element name="SubActivityProperty" type=" SubActivityProperty " minOccurs="0"/>

<xsd:element name="Participants" type="Participants" minOccurs="0"/>

<xsd:element name="InputProduct" type="Product" minOccurs="0"/>

<xsd:element name="OutputProduct" type="Product" minOccurs="0"/>

<xsd:element name="Tool" type="Tool" minOccurs="0"/>

<xsd:element ref="Process" minOccurs="0"/>

</xsd:sequence>

<xsd:attribute name="ID" type="xsd:string" use="required"/>

<xsd:attribute name="Name" type="xsd:string" use="required"/>

<xsd:attribute name="Begin" type="TimePoint" use="required"/>

<xsd:attribute name="End" type="TimePoit" use="required"/>

</xsd:complexType>



3.3 TimePoints及TimePoint的定义

TimePoints体现了过程的内部流程,由若干个TimePoint组成。每个TimePoint都标识某个具体的阶段点,它可以区分两种不同的状态,也可以是活动的起始点和终止点。过程内部活动的次序就是靠时间点元素来标识的。下面给出它们的XML Schema描述:

<xsd:complexType name="TimePoints"/>

<xsd:sequence>

<xsd:element name="TimePoint" type="TimePoint" minOccurs="0" maxOccurs="unbounded"/>

</xsd:sequence>

</xsd:complexType>

<xsd:complexType name="TimePoint"/>

<xsd:sequence>

<xsd:element name=" TimePointDescription " type="xsdstring" minOccurs="0"/>

<xsd:element name="Time" type="TimeType"/>

<xsd:element name="Area" type="xsd:string" minOccurs="0">

</xsd:sequence>

<xsd:attribute name="ID" type="xsd:string" use="required"/>

<xsd:attribute name="Name" type="xsd:string" use="required"/>

</xsd:complexType>

<xsd:simpleType name="TimeType">
<xsd:restriction base="xsd:string">
    <xsd:pattern value="\d{4}-\d{2}-\d{2}-\d{2}:\d(2)"/>
    </xsd:restriction>
    </xsd:simpleType>

   
3.4 Measure的定义

Measure体现了软件过程度量的要求,由对象、问题和度量元等三个对象组成,下面给出它的XML Schema描述:

<xsd:complexTypename="Measure"/>

<xsd:sequence>

<xsd:element name="object" type="MainActivity" minOccurs="0"/>

<xsd:element name="question" type=" xsd:string " minOccurs="0"/>

<xsd:element name="measurement" type="measurement" minOccurs="0"/>

</xsd:sequence>

<xsd:attribute name="ID" type="xsd:string" use="required"/>

<xsd:attribute name="Name" type="xsd:string" use="required"/>

</xsd:complexType>
5 小结
本文结合金审工程信息系统建设的特点,在前期利用PSL建立了软件过程描述模型的基础上,以XML为基础,实现了对软件过程模型的描述,在实现过程中充分考虑到软件过程度量的要求。通过以上分析和描述可以看出本文为软件过程提供统一的定义和描述模型,过程间的交流或调用可以很好地在过程定义文档中描述出来,增强过程间的互操作性;同时,在过程描述文档中体现了软件过程度量的要求,为规范金审工程应用系统的建设和度量奠定了良的基础。

【关闭】    【打印】