欢迎来到天天文库
浏览记录
ID:38287104
大小:55.97 KB
页数:5页
时间:2019-06-02
《软件体系结构与软件维护性》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、软件体系结构与软件维护性摘要:软件维护性是软件的重要质量特性。本文从软件工程的角度出发,针对体系结构对可维修性的影响进行了分析,并在对软件维护性以及软件体系结构模型进行分析的基础上,提出了针对维护性的体系结构分析,以及体系结构中对维护性的一般要求,最后对在软件开发过程中按照体系结构来保证维护性进行了探讨。一、引言随着计算机技术的飞速发展以及现代局部战争条件下信息化要求的不断提高,武器装备系统中将越来越多地使用计算机系统,各种软件密集系统接连出现。武器装备中的软件不仅极大地提高了装备原有的功能,而且使其获
2、得了许多崭新的能力,许多关键任务的完成均依赖于软件,因此软件被赞誉为力量的倍增器。在作战过程中,武器装备性能的发挥乃至战争模式的改变,很大程度上来源于软件更改的灵活性和强度,并且软件维护费用在武器系统寿命周期费用中占有很大的比重,因此,软件的维护性不仅是软件系统的重要特性,而且是武器装备系统的重要特性。软件维护性在软件交付使用前的设计开发阶段就已经确定下来,如何在软件设计开发阶段确保软件具有较高的维护性,使得软件在交付使用以后能够以较小的代价方便地进行维护是当前一个需要解决的问题。本文根据软件工程的观点
3、,从软件体系结构的角度出发,对如何以体系结构来保证维护性进行研究。二、软件维护性1、软件工程与软件维护1958年北约组织(NATO)的科学委员会提出了软件危机问题,其主要表现为:软件质量不高,开发进度延缓以及开发费用昂贵,认为这将是影响计算机应[1]用发展的瓶颈。后来人们发现,软件危机的根本出路在于将软件开发过程和生产过程工程化,即软件工程。软件工程不只是一套工具和技术的集合,它是一门指导软件开发和维护的工程学科,旨在促进软件开发生产过程规范化、工程化,实现软件开发生产从手工作坊向工程化、社会化转变,从
4、而提高软件质量、加快软件开发进度、降低开发费用与风险。软件维护是软件工程中的重要概念,它是指软件在软件生存期的运行和维护阶段在其相应的运行环境中被使用、监视,以期获得满意的性能,同时在需要时对产品进行修改以改正问题或对变化了的需求作出响应。因此,软件维护按照[2]目的可以分为以下4类:1)改正型维护——为改正软件系统中的错误,使软件能够满足预期的正常运行状态的要求而进行的维护。2)适应型维护——为适应软件运行环境的变化而进行的维护。3)完善型维护——为增加软件的功能或用户提出的新需求而进行的维护。4)预
5、防型维护——为改进软件效率、可靠性、可维修性而进行的维护。软件是武器装备系统不可分离的重要组成部分,软件维护不仅与维护性有关,而且涉及到软件的快速分发、软件的鉴别、软件与固件的供应等问题,但是较高的维护性是实现软件维护的关键。2、软件维护性与软件质量软件的维护性是一种与软件维护有关的属性,国标GB/T11457-89对软件的维护性作了以下定义:1)软件进行维护的难易程度。2)按照预定的需要对某一功能部件进行维护的难易程度。3)在规定的使用条件下,在给定时间间隔内一个软件保持在某一指定状态或者恢复到某一指
6、定状态的能力。软件维护性是软件的内在固有属性,它是软件质量的重要组成部分。软件质量是软件产品中能够满足给定需求的各种特性的总和,这些特性包括:功能度、可靠性、维护性、可重用性、易用性、安全性等。软件质量,对开发者来说就是优良的设计或代码,对使用者来说就是响应迅速、功能强大,对维护人员来说就是易于升级、修改,对管理者来说就是较低的开发成本以及合理的开发时间。在软件的质量特性中,维护性与可靠性、可重用性的关系尤为密切。3、软件维护性与硬件维修性之间的区别目前,硬件可靠性和维修性经过长时间的发展,已经成为一门
7、逐渐走向成熟的工程学科,而软件可靠性和维护性的研究和发展远远滞后于硬件,在它的发展过程中,借鉴了许多硬件可靠性和维修性的概念。但是,硬件和软件在内部结构、故障机理和唯一性等方面存在着重大的差异,不加区别地套用硬件的概念是不恰当的。软件维护性与硬件维修性存在着以下区别:1)硬件维修是指使产品保持或恢复到规定状态所进行的全部活动。软件维护还包括改进性能和其它属性,或使产品适应改变了的运行环境。2)硬件维修性可以用概率方法来进行表示,而软件由于是唯一的,软件的拷贝不会改变软件本身的属性,所以目前软件维护性还是
8、一个定性的概念,无法采用定量的方法如概率方法进行描述。3)硬件维修来源于硬件由于物理退化引发的硬件故障,而软件维护则大部分来源软件分析、设计、开发过程中人为引入的各种逻辑错误,另一部分则来源于用户需求和运行环境发生了变化。软件是一个复杂的逻辑实体,维护性在软件交付使用以前就已经确定下来,因此,在软件生存期的前半段——需求阶段、设计阶段、实现阶段和测试阶段中必须充分地加以考虑。软件体系结构是软件分析、设计、实现和测试的蓝图,在正确的体系结构下
此文档下载收益归作者所有