background image

软件体系结构的作用和意义

  

目前,软件体系结构尚处在迅速发展之中,越来越多的研究人员正在把注

意力投向软件体系结构的研究。用于对软件体系进行规格描述的模型、标记
法和工具仍很不正规。尽管这些不正规的模型是有用的,为使之更为精确和
健壮,在很多方面的研究工作还需要继续进行。许多项目都是在回顾时,才
发现问题在结构上,因结构局限性,付出太多的代价,在体系设计上付出一天

的努力解决的问题,在以后阶段可能要多付出几天到十几天. 首先,体系结构

一般说来与需求是密切相关的.明确的需求可以制定明确的软件规格,越明确的

规格来设计出来的软件架构越清晰。需求的变更也是必须要考虑,有明确的变

更趋势也可以更早的在设计中体现出来。然后,在定制软件规格的阶段,要考

虑一个问题,就是一些核心的技术,指的是这个项目中比较重要的关键的技术,

应实验一个这些技术是否可行,如果稳定可靠才能采用,否则只能另寻它路.一

些难关也是要考虑的。这样制定的规格才能符合实际.这些工作应作为结构设

计上的重要参考。最后,如果有明确的需求和规格,那应该进行详细的结构设

计,从用例到类图,到关键部分的序列图,活动图等,越细越好.多多与别人

交流,尽量让更多的人了解你的设计,为设计提出建议。结构设计应注重体系

 

的灵活性,一定要考虑各种变更的可能性。这是最关键的阶段, 但这通常是

 

理想状态,一般来说,客户不会给出太明确的需求。只有走别的线路了, 这
种情况下前面的亮点还是需要的,不能省略.总之写在纸上的东西就有案可查. 

比如说:
       (1)写出一个小的原型来.如果有用户界面的,最好办,先写出界面,不实

现具体功能.让用户试用.如果没有用户界面,试写一个能工作的最小系统,同样

给用户试用.这样你和用户才能对这个软件有感性认识;

(2

 

)与用户探讨,记录用户的反馈;

(3  

) 如果没问题进入第 3

 

步 ;

(4  

) 回到(1),写一个更完善的。

         在 Coding 阶段时应遵循体系结构.所以开发人员必须对这个体系有深入

的了解.了解它的内部结构和如何扩展.记录下遇到的问题.测试人员可针对这

个体系设计测试程序.如性能上的,

 

可能的缺陷等

        在测试时期,记录下体系结构导致的问题,以便借鉴.开发人员 Review 整

个架构。
        总结整个项目,分析优缺点可以把这个体系作为后续项目的范本. 整个项

目一般受到多种限制,尤其明显的是 Schedule.面对这些问题.在设计架构上要

注意模块的划分,模块越独立越好.不要过分注重其它特性.如果设计不清,就要

调整一个规格,去掉一些不重要的功能,这才是可行的.

  关于软件体系结构的研究工作主要在国外展开的,国内到目前为止对于
软件体系结构的研究尚处在起步阶段。软件体系结构在国内未引起人们广泛
注意的原因主要有两点:
  (1)软件体系结构从表面上看起来是一个老话题,似乎没有新东西。

  (2)与国外相比,国内对大型和超大型复杂软件系统开发的经历相对较

少,对软件危机的灾难性体会没有国外深刻,因而对软件体系结构研究的重
要性和必要性的认识还不很充分。
  软件体系结构设计既然作为软件工程的一部分,它的计算机辅助实现手
段是相当重要的。我们应当开发出一些软件工具来实现体系结构的描述和分
析,开发阶段转换工具,以实现阶段成果的自动转换,例如,把需求规格说
明自动转换为构件等。目前关于这方面的研究成果很少,特别是可以应用到
实际项目开发中的工具和环境就更少。
  当今软件系统的规模变得越来越大,结构也越来越复杂,同时从头开始