软件体系结构的形式化描述与分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西安交通大学
'
软件形式化方法
:
论文题目软件体系结构的形式化描述与分析
学院软件学院
班级硕4098班
/
学号06
学生姓名冯伯阳
指导老师侯迪
完成时间
)
一.软件体系结构定义
在这个计算机技术高速发展的时代,人们对计算机的需求也愈发迫切,需要更多的软件来实现种种功能,对软件的集合与加工也更加重要。因此,作为从软件设计抽象出来的一门新兴学科,软件体系结构已经成为软件工程一个重要研究领域。
所谓的软件体系结构,是指一种数据与构件的集合。事实上,随着软件系统规模与复杂性的不断提升,软件系统对于全局结构的摄于与规范开始受到重视,甚至慢慢比算法的选择乃至数据结构的设计更加重要。这种全局结构的设计与规划,就是软件体系结构所要讨论的问题。
抽象而言,软件体系结构包括对构成系统的设计元素的描述,交互,组合等等。一般而言,一个具体的软件,就是由其各个构件以及各个构件之间的关系组成的,这样的系统,又有可能成为一个更大系统的组成元素。
时至今日,人们已经普遍意识到一点:为软件系统设计一个合适的体系结构,是一件极其重要的事情,直接关系到这个项目是否能取得长远的成功。但是,当前的大多数体系结构描述,都是非形式化的,这对于我们系统项目的成功,造成了非常大的阻碍。
\
二.软件发展所面临的问题
目前,在计算机软件的开发与维护过程中,遇到了一系列严重的问题。实际上,自从计算机诞生开始,就出现了“软件危机”。具体表现如下:
1.软件的开发成本日益增加。
2.软件的开发进度难以掌控。
3.开发完成的软件质量差。
4.软件的日后维护十分困难。
@
而这些问题的造成是有许多方面的原因的,比如不明确的用户需求,没有正确的指导理论,软件规模越来越大,软件的复杂度越来越高等。因此,为了克服这些软件危机,人们采取了优化软件体系结构的方法,也为此开始了软件体系结构的研究。
三.软件体系结构的研究领域
事实上,一个软件无论如何设计,哪怕制作的再有问题,也总是有体系结构的,世界上不存在没有体系结构的软件。
从整体上讲,任何一款软件,都是由基础、主体和装饰这些组成的,即,在操作系统上存在的基础设施软件。而从细节上来看,任意一个子程序也是有其各自的结构。因此,以前很少有人特别研究软件体系结构。
但现在,随着系统的愈发复杂,软件体系结构的研究已经迫在眉睫。于一个体系系统而言,拥有一个优秀的体系结构,是其取得成功的重要因素。目前,人们将其划分为4个领域:
1.通过提供一种全新的体系结构描述语言来解决体系结构的描述问题。
~
2.对体系结构领域进行总结性的研究。
3.研究针对特定的领域框架。
4.研究软件体系结构形式化所支持的方面。
四.软件体系结构的现状
时至今日,关于软件体系结构的研究工作,依旧主要在国外展开,到目前为止,我们国家对于软件体系结构的研究,依旧尚处在起步阶段。由于与国外相比,我们国内对大型和超大型复杂软件系统的开发次数要少得多。
在目前通用的软件开发方法中,一般的描述,通常是用非形式化的图和文本。
但这些图和文本,并不能描述系统期望的存在于构件之间的接口,也不能描述组成系统不同部分间组合关系的意义,因此很难被开发人员理解。
现在,当一个软件系统中的各个构件之间,几乎没有一种形式化的方法来描述,因此,系统的重用性也会受到了极大的影响。一个系统结构的设计,很难移植到另一个不同的系统中去。因为没有形式化的描述时,把这样的系统移植是不可能的。