- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
正交软件体系结构设计与演化方法应用研究
正交软件体系结构设计与演化方法应用研究
摘要:通过对正交软件体系结构的概念分析,给出了具体的正交软件体系结构模型,并详细介绍了其演化控制方法,最后以实例探讨了该模型和方法在实际系统中的应用。
关键词:正交软件体系结构; 模型; 线索; 演化控制
中图法分类号:TP311.52文献标识码:A
文章编号:1001-3695(2007)01-0078-02
软件体系结构(Software Architecture)是一种关注和描述软件系统整体组织结构和性能的抽象系统机制,为软件系统提供了一个结构、行为和属性的高级抽象,由构成系统的元素描述、这些元素的相互作用、指导元素集成的模式以及这些模式的约束组成[1]。
软件体系结构设计是软件生命周期中的一个重要环节。计算机应用系统的日益复杂和庞大,使得软件体系结构的研究成为当前的热点。??
对于软件项目的开发来说,一个清晰的软件体系结构是首要的。传统的软件开发过程可以划分为从概念到实现的若干个阶段,包括问题定义、需求分析、软件设计、软件实现及软件测试等。软件体系结构的建立就位于需求分析之后、软件设计之前。在建立软件体系结构时系统设计师主要从结构的角度对整个系统进行分析,选择恰当的构件、构件间的相互作用以及它们的约束,最后形成一个系统框架(Framework)以满足用户的需求,为软件设计奠定基础。??
1正交软件体系结构概述??
1.1正交软件体系结构基本概念??
正交(Orthogonal)软件体系结构由组织层和线索的构件构成。线索是子系统的特例,由完成不同层次功能的构件组成,每一条线索完成整个系统中相对独立的一部分功能。每一条线索的实现与其他线索的实现无关或关联很少,在同一层的构件之间不存在相互调用。如果线索是相互独立的,即不同线索构件之间没有相互调用,那么这个结构就成为完全正交。每一条线索可按其功能划分为多个子线索,从而形成低一级的子正交结构,成为多级正交结构[2]。正交结构有一个公共的顶层,由它来触发各条线索运行;有一个公共的底层,包含了各线索要调用的数据。??
1.2正交软件体系结构模型 ??
对于复杂的软件系统,其子线索可以划分为低一级子线索,形成多级正交体系结构。图1为正交软件体系结构的框架。??
图1是一个三级线索、五层结构的正交软件体系结构框架图,其中,ABDFH组成一条线索,ACEGH也是一条线索。因为BC处于同一层中,所以不允许进行相互调用;DE,FG也处于同一层中,也不允许相互调用。第一层是顶层,二、三、四层是三级正交线索,第五层是物理数据库链接层。??
1.3结构的演化控制方法??
在软件演化过程中,系统需求会不断发生变化。在正交软件体系结构中,因为线索的正交性,每一个需求变动只影响一条线索,而不涉及其他线索。这样,就把软件需求变动局部化了,产生的影响也被限制在一定范围内,因此容易实现[3]。在对应用程序进行演化控制时,新软件的结构可以通过在原软件结构基础之上新增、修改、删除线索来产生。这个过程是以原结构的线索和构件为单位自顶向下、由左向右进行的,首先将用户提出的软件功能要求映射到原结构的一个副本上,然后:??
(1)从整个正交结构最左边的一条线索开始,判断线索是否可重用,如果可重用,则继续对下一条进行判断;如果只能部分重用,则进一步判断重用发生在哪几层,并画出线索结构变动情况图,对发生变动的构件作出标记。(2)对于新增功能,需建立新的线索和构件;如果新增功能是多个原始功能的合并,则对相应线索作合并标记。(3)重复以上步骤,遍历所有线索,反复修改,对所作标记进行处理,形成新的正交结构,从而完成一次演化过程。对线索中的构件进行修改和添加时也应按照自顶向下的原则,先修改高级构件,然后根据需要修改被其调用的构件[4]。??
2应用实例??
2.1应用背景??
我们为某汽车生产厂家的服务站设计了一个汽修服务站管理系统,设计初期为一个内部管理系统,在完成系统的第一个版本后,应厂家的要求,要实现网上报单。也就是说,本系统除了要实现服务站的内部管理,还要在Internet上通过协同电子商务平台与生产厂服务部、零配件供应商进行数据交换,这需要集成到由西南交通大学CAD工程中心主持研发的国家“863”项目区域网络化制造平台上,构成一个完整的汽车产业链系统。此外,还应考虑其他的一些需求变化。??
2.2设计思想??
为应付将来用户需求可能发生的变化,使软件结构清晰、易修改、降低维护成本、提高可用性和重用性,我们在软件设计初期采用了正交软件体系结构的设计思想。??
在本系统中,我们将线索分为两级,
文档评论(0)