资源描述:
《软件体系结构的作用和意义.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、软件体系结构的作用和意义 目前,软件体系结构尚处在迅速发展之中,越来越多的研究人员正在把注意力投向软件体系结构的研究。用于对软件体系进行规格描述的模型、标记法和工具仍很不正规。尽管这些不正规的模型是有用的,为使之更为精确和健壮,在很多方面的研究工作还需要继续进行。许多项目都是在回顾时,才发现问题在结构上,因结构局限性,付出太多的代价,在体系设计上付出一天的努力解决的问题,在以后阶段可能要多付出几天到十几天.首先,体系结构一般说来与需求是密切相关的.明确的需求可以制定明确的软件规格,越明确的规格
2、来设计出来的软件架构越清晰。需求的变更也是必须要考虑,有明确的变更趋势也可以更早的在设计中体现出来。然后,在定制软件规格的阶段,要考虑一个问题,就是一些核心的技术,指的是这个项目中比较重要的关键的技术,应实验一个这些技术是否可行,如果稳定可靠才能采用,否则只能另寻它路.一些难关也是要考虑的。这样制定的规格才能符合实际.这些工作应作为结构设计上的重要参考。最后,如果有明确的需求和规格,那应该进行详细的结构设计,从用例到类图,到关键部分的序列图,活动图等,越细越好.多多与别人交流,尽量让更多的人了解
3、你的设计,为设计提出建议。结构设计应注重体系的灵活性,一定要考虑各种变更的可能性。这是最关键的阶段,但这通常是理想状态,一般来说,客户不会给出太明确的需求。只有走别的线路了,这种情况下前面的亮点还是需要的,不能省略.总之写在纸上的东西就有案可查.比如说:(1)写出一个小的原型来.如果有用户界面的,最好办,先写出界面,不实现具体功能.让用户试用.如果没有用户界面,试写一个能工作的最小系统,同样给用户试用.这样你和用户才能对这个软件有感性认识;(2)与用户探讨,记录用户的反馈;(3)如果没问题进入第
4、3步;(4)回到(1),写一个更完善的。在Coding阶段时应遵循体系结构.所以开发人员必须对这个体系有深入的了解.了解它的内部结构和如何扩展.记录下遇到的问题.测试人员可针对这个体系设计测试程序.如性能上的,可能的缺陷等在测试时期,记录下体系结构导致的问题,以便借鉴.开发人员Review整个架构。总结整个项目,分析优缺点可以把这个体系作为后续项目的范本.整个项目一般受到多种限制,尤其明显的是Schedule.面对这些问题.在设计架构上要注意模块的划分,模块越独立越好.不要过分注重其它特性.如果
5、设计不清,就要调整一个规格,去掉一些不重要的功能,这才是可行的. 关于软件体系结构的研究工作主要在国外展开的,国内到目前为止对于软件体系结构的研究尚处在起步阶段。软件体系结构在国内未引起人们广泛注意的原因主要有两点: (1)软件体系结构从表面上看起来是一个老话题,似乎没有新东西。 (2)与国外相比,国内对大型和超大型复杂软件系统开发的经历相对较少,对软件危机的灾难性体会没有国外深刻,因而对软件体系结构研究的重要性和必要性的认识还不很充分。 软件体系结构设计既然作为软件工程的一部分,它的计
6、算机辅助实现手段是相当重要的。我们应当开发出一些软件工具来实现体系结构的描述和分析,开发阶段转换工具,以实现阶段成果的自动转换,例如,把需求规格说明自动转换为构件等。目前关于这方面的研究成果很少,特别是可以应用到实际项目开发中的工具和环境就更少。 当今软件系统的规模变得越来越大,结构也越来越复杂,同时从头开始构建的大系统数量在急剧地减少,因而很多遗留系统正在被逐步地利用。从遗留系统软件代码和系统中抽取结构信息,经过描述、统一、抽象、一般化与实例化等处理,可总结出系统的体系结构。 在这种情况下
7、,软件再工程变得越来越重要,因为它提供了一条把遗留系统转换为可进化系统的现实可行的途径,是一种可以改进人们对软件的理解和改进软件本身的活动。这类研究的目的是为一些特定的应用领域的软件系统提供一些体系结构框架,如控制系统、移动机器人和用户接口界面等。通过这些框架可以很方便地构造一个新的软件系统。所以正确合理地运用软件体系结构的知识可以在项目开发中发挥它无穷的力量。