系统架构设计师下午(Ⅱ)模拟5

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

[模拟] 系统架构设计师下午(Ⅱ)模拟5

论文

一、论基于CBSD的软件架构设计与应用

第1题:

基于构件的软件开发(Component-Based Software Development,CBSD)是一种基于分布对象技术,强调通过可复用构件设计与构造软件系统的软件复用途径。基于构件的软件系统中的构件可以是COTS(Commercial-Off-The-Shelf)构件,也可以是通过其他途径获得的构件(如自行开发)。CBSD体现了“购买而不是重新构造”的哲学,将软件开发的重点从程序编写转移到了基于已有构件的组装,以更快地构造系统,减轻用来支持和升级大中型软件系统所需要的维护负担,从而降低软件开发的费用。

请围绕“基于CBSD的软件架构设计与应用”论题,依次从以下3个方面进行论述。

1、概要叙述你参与管理和开发的软件项目及你在其中所承担的主要工作。

2、简要介绍基于构件的软件开发过程模型,具体论述你在所管理和开发的软件工程项目中选择了哪种典型的构件平台并说明理由,如何具体实施的,最终实际效果如何。

3、论述你在该项目实施过程中遇到的问题及解决的办法,以及你进一步应用软件复用技术的有关设想。

参考答案:

1、简要介绍你参与规划、设计和实施的大中型信息系统软件工程项目的基本情况,简要说明自己在该项目中的角色、所承担的主要任务及开展的主要工作。论文叙述自己参与设计和实施的信息系统项目应有一定的规模,自己在该项目中担任的主要工作应有一定的分量。

2、构件(Component)是某系统中有价值的、几乎独立的并可替换的一个部分,它在良好定义的体系结构语境内满足某清晰的功能。构件是一个独立发布的功能部分,可以通过其接口访问它的服务。软件构件是软件系统中具有相对独立功能,可以明确标识,接口由规约指定,与语境有明显依赖关系,可独立部署,且多由第三方提供的可组装软件实体。软件构件需承载有用的功能,并遵循某种构件模型。可复用构件是指具有可复用价值的构件。商用成品构件(Commercial Off-The-Shelf,COTS)是指由第三方开发的满足一定构件标准的,可组装的软件构件。基于构件的软件工程(CBSE)不是针对某个特定的软件系统,而是针对一类软件系统的共同的特征、知识和需求。基于构件的软件的开发过程包括两个并发的子过程,一个是领域工程,另一个是基于构件的开发。领域工程完成一组可复用构件的标示、构造、分类和传播;基于构件的开发完成使用可复用构件构造新的软件系统。基于构件的软件开发过程(CBSD)模型如图6-11所示。

在图6-11中,领域工程步骤如下。(1)领域分析,即对特定应用领域中共同的特征、知识、需求的标识、分析和规约。其目标是发现和挖掘在特定领域内可以被复用的构件。换而言之,领域分析不是针对某个特定的软件系统,而是针对一类软件系统的共同的特征、知识和需求。是比需求分析更一般、更抽象、更广泛的特征。(2)建立领域特定的基准体系结构模型:在领域分析的基础上,构造该领域的基准体系结构,这个基准体系结构应是可以裁剪和扩充的,并可供该领域的应用复用。(3)标识候选构件:在领域分析和领域基准体系结构模型的基础上标识该领域的候选构件。(4)泛化(Generalizadon)和可变性(Variability)分析:提高其通用性,同时寻找候选构件在不同应用中的变化点(Variation Point),通过设置参数、继承或其他手段,使可变部分局部化。

(5)重建构件:在泛化和可变性分析的基础上,重建构件,使它成为可复用构件。

(6)构件的测试:对重建的可复用的构件要严格测试,以提高其可靠性。(7)构件的包装:经测试的构件应根据构件库的要求,对其进行包装,以便构件库对其进行分类储存和检索。(8)构件入库:包装后的构件即可存入构件库。在图6-11中,应用系统工程的步骤如下。(1)建立应用系统的体系结构模型:可以使用构件生产者提供的领域特定的基准体系结构经裁剪和/或扩充而获得。(2)寻找候选构件:根据应用系统的体系结构模型,从构件库或其他可利用的构件源中寻找候选构件。(3)评价和选择合适的构件:评价候选构件以判断是否适合于待开发的软件。(4)构件的修改(Modify)和特化(Specialize):在复用时对构件进行特化以满足特定应用的需要。(5)开发未被复用的部分:对新系统中未复用的部分进行开发。(6)构件的组装:将特化和修改后的可复用构件和新开发的部分组装成一个新的软件系统。(7)集成测试:对组装后的软件系统进行集成测试。(8)评价被复用的构件,并推荐可能的新构件。通常,要经过2~3个采用复用的生产周期(3年左右)复用才能带来显著的效益。开发基于构件的软件系统受到以下几方面因素的影响。

(1)COTS构件质量的提高和种类的增加。(2)要求降低系统开发和维护成本的经济压力,通常约有30%~50%的复用可使生产率提高25%~40%。(3)构件集成技术的出现。(4)软件开发组织内可以用于新系统开发的已有软件制品的数量增加。基于构件的应用系统体系结构描述了组成应用系统的构件,构件之间的组织结构、交互、约束和关系,并给出了对系统的组成、结构,以及系统如何工作的较为宏观的描述。基于构件的体系结构层次包括逻辑体系结构和物理体系结构。其中,逻辑体系结构以接口形式对每组服务进行描述,并描述那些包如何交互来满足通常的用户使用场景;物理体系结构描述系统的物理设计,包括硬件及其拓扑结构、网络和通信协议、基础设施(如运行平台、中间件和数据库管理系统等),以及软件系统的部署。逻辑体系结构展示系统设计的蓝图,可用于验证系统是否提供了适当的功能,并能在系统功能需求变化时方便地改变系统的设计;物理体系结构展示了系统的实现构架,有助于理解系统的许多非功能属性,如性能、吞吐量,以及服务的可用性等。常见的基于构件的应用系统开发方法有:RUP(Rational’s Unified Process),这是一个关于软件开发的广泛的过程框架,覆盖了整个软件生命周期,使用UML进行分析和设计建模,鼓励使用CBSD方法;The SelectPerspecfive Method是一个支持通用的构件设计方法,并以Select Component Manager为目标,通用构件设计准则使用UML作为构件设计符号;Sterling Software的Enterprise-CBD方法鼓励使用UML的扩展形式把构件的规格说明和实现分离,允许制作技术中立的规格说明,然后再使

相关文档
最新文档