问答题
阅读以下关于软件复用技术应用的叙述,根据要求回答问题。
[说明]
随着政府职能的转型,XX行业职能主管部门(国家相关部委、各省、市的相关厅、局、委等)机构日趋精简,但随着国家现代化的发展,业务量反而越来越大。为保证本行业管理工作的质量和效率,实现企业资质审批管理信息化、网络化和电子化,提高了工作效率和质量,规范了业务处理流程,提高管理工作的广度、深度、力度和速度,更有效地为相关企业和业主提供服务,该行业主管部门委托FT软件开发公司开发一个XX行业管理信息系统。该系统由公共信息管理模块、系统管理维护模块、资质管理模块、企业信息管理模块和系统扩展接口模块等5大功能模块组成。
在该项目架构分析会上,FT公司高层领导提出,为了使那些公共功能模块比较容易地被其他电子政务项目所复用,应充分利用领域分析和软件复用的知识,采用基于可复用的软件开发方式,在这些公共模块的实现中保持高度的独立性,即在实现的具体细节上与XX行业国家部委(或者其他的政府机构)无关。
问答题
[问题1]
特定领域软件架构(Domain Specific Software Architecture,DSSA)是一种有效实现特定领域软件重用的手段。结合你的系统架构设计经验,请用300字以内的文字简要说明基于DSSA的软件设计开发主要包含哪些阶段以及每个阶段的目标。
【正确答案】领域分析是分析和研究某个应用领域特性的活动,它是识别、收集、组织和描述一个领域相关信息,发现和记录领域中的共性和差异的过程,是系统化、形式化、有效复用的关键。通过领域分析,类似系统的公共特性将被提取,使用于该领域所有公共的、基本的对象,操作也将被标志出来,并且通过定义模型来描述他们之间的关系。领域分析的本质是以复用为目的,对具有若干共同特性的一群应用系统进行分析,对共同的部分开发出一系列公用的组件,对不同的部分进行参数化。
按照Will Tracz的说法,特定领域软件架构(DSSA)就是一个特定的问题领域中由领域模型、参考需求和参考架构等组成的开发基础架构,其目标就是支持一个特定领域中多个应用的生成。DSSA的基本活动包括领域分析、领域设计和领域实现。领域分析的主要目的是获得领域模型,领域模型描述领域中系统之间共同的需求,即领域需求;领域设计的主要目标是获得DSSA,DSSA描述领域模型中表示需求的解决方案;领域实现的主要目标是依据领域模型和DSSA开发、组织可重用信息。
在最高的级别上,DSSA方法共有5个阶段,每个阶段可以进一步划分为一些步骤或子阶段,每个阶段包括一组需要回答的问题、一组需要的输入,以下一组将产生的输出和验证标准。该方法的领域工程过程是并发的、递归的和反复的,或者可以说,它是螺旋型的,完成该过程可能需要对每个阶段经历几遍,每次增加更多的细节。该领域工程过程的5个阶段如下。
(1)定义领域范围:重点是确定领域中包含哪些元素及领域工程过程到何时结束。这一阶段的一个主要输出是领域中的应用需要满足的一系列用户的需求。
(2)定义领域特定的元素:目标是制订领域字典和领域术语的同义词词典。在领域工程过程的前一个阶段产生的高层次块图中增加更多的细节,特别是识别领域中各种应用间的共同性和差异性。
(3)定义领域特定的设计和实现需求约束:目标是描述空间中的特性,不仅要识别约束,并且要记录约束对设计和实现决定造成的后果,还要记录对处理这些问题时产生的所有问题的讨论。
(4)定义领域模型和构架:目标是产生DSSA,并说明构成它的模块或构件的语法和语义。
(5)产生和搜集可复用的产品:目标是为DSSA增加构件,使得它可以被用来产生问题域中的新应用。
从软件实践上看,面对特定领域的系统开发,迫切需要一种好的开发方法来有效地支持软件重用性,而DSSA方法已经在实践中被证明是有效的,能显著加大重用的粒度,从而缩短整体开发周期,在提高产品品质的同时降低开发费用。
【答案解析】
问答题
[问题2]
结合你的系统架构设计经验,请用300字以内的文字简要说明该项目5个功能模块在软件复用方面的基本架构思路。
【正确答案】在电子政务的建设过程中,应充分利用领域分析和软件复用的知识,采用基于可复用的软件开发方式,注重采用领域分析的方法,建立领域模型。例如,在领域分析时使用国际上通用的统一建模语言(UML)作为建模工具。在电子政务的建设过程中,应建立系统工程,建立行业范围内的一些标准,以利于确定复用的方案,使开发的系统可靠性高、成本低。
根据题干关键信息,并结合从事系统架构设计的历史经验,大致可以分析该系统5大功能模块中,公共信息管理模块是Internet网络上的一个应用系统,这部分主要包括系统网站相关功能,包括信息发布和浏览、资质等级标准查询、企业资质查询、网上调查、意见箱管理、问题解答,以及下载文档管理等。系统管理维护模块主要是系统管理员用户用来设置或设定系统的参数,管理和维护系统最基本的数据。主要功能包括用户及权限管理、工作流管理、企业管理、信息发布管理、系统维护、文档管理和基础数据管理等。对于这两个功能模块应该在具体的配置和使用上通过配置文件(或数据文件)把建设方的相关信息加入进来。这样,这些公共功能模块就很容易的被其他电子政务项目所复用。
根据行业经验,资质管理模块通常包括企业资质的网上申请、审批、年审、动态管理、变更、备案、资质证书管理和相关资质申请审批工作处理情况的查询及资质标准和等级的管理和分析统计等。企业信息管理模块主要是对具体企业信息的维护,包括企业相关信息的输入、输出、修改、删除、查询和打印等功能。其中,人员管理还包括人员的调离、年龄控制等。系统扩展接口模块用于本系统与其他信息系统的数据交换,保证了建设方的管理系统与其他行业部门已有或待建信息化系统的无缝链接等。对于这些与建设方密切相关的功能模块,即使在实现上无法完全和建设方相关信息分开,也要尽力降低和建设方的耦合度,以便使得今后复用时的代价最小化。
在具体实现上,应该充分采用在市场上广泛使用的技术与产品。例如,Web服务器、J2EE应用服务器、电子邮件系统、数据库系统、信息门户和系统安全解决方案等,建议使用已有的软件产品而不是自行开发。同时采用CMM模型或者CASE工具等指导所承接的软件系统的开发,以便高质量地完成项目的建设工作,使得所建成的软件系统具有良好的可复用性。
【答案解析】
问答题
[问题3]
软件复用包括两个相关过程:可复用软件(构件)的开发;基于可复用软件(构件)的应用系统构造(集成和组装)。软件构件技术是软件复用的核心技术。结合你的系统架构设计经验,请用200字以内的文字简要说明可复用构件应具备哪些属性,并给予简要的解释。
【正确答案】构件(component)是指应用系统中可以明确辨识的构成成分。它是软件系统可替换的、物理的组成部分,它封装了实现体(实现某个职能),并提供了一组接口的实现方法。而可复用构件(Reusablecomponent)是指具有相对独立的功能和可复用价值的构件。软件构件技术是软件复用的核心技术。它是基于面向对象的,以即插即用型软构件概念为中心,通过构件组合来建立应用的体系。其主要研究内容包括构件获取、构件模型、构件描述语言、构件分类与检索、构件复合组装和构件标准化。
可复用构件应具备以下属性。
(1)有用性(Usefulness),构件必须提供有用的功能。
(2)可用性(Usability),构件必须易于理解和使用。
(3)质量(Quality),构件及其变形必须能正确工作。
(4)适应性(Adaptability),构件应该易于通过参数化等方式在不同语境中进行配置。
(5)可移植性(Portability),构件应能在不同的硬件运行平台和软件环境中工作。
(6)可变性(Variability),构件除了向复用者提供一些公共“特性”外,还要提供可变的“特性”。针对不同的应用系统,只需对其可变部分进行适当的调节,复用者要根据复用的具体需要,改造构件的可变“特性”,即进行“客户化”工作等。
【答案解析】