《论软件工程中软件开发方法的趋势(精品).docx》由会员分享,可在线阅读,更多相关《论软件工程中软件开发方法的趋势(精品).docx(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、论软件工程中软件开发方法的趋势一、软件工程中软件开发方法的现状一构造化方法构造化程序设计方法中的思维创新被以为是程序开发方法发展中的重要飞跃,并且其成功也在很大程度上推动了构造化设计方法以及构造化分析方法的发展,在20世纪七八十年代,构造化方法在软件开发方法中占据了主导的地位并有效的对软件危机蔓延起到了遏制的效果,既是在今天,构造化方法的这种作用仍然在发挥着。从当前来看,构造化方法具有成熟的技术并且使用简单,所以其应用也特别的广泛,但是在一些复杂的或者大规模的软件工程项目中,构造化方法却不能很好的对软件重复使用问题进行解决而难以对软件工程需求的变化进行适应,并且构造化软件开发方法在软件维护方面
2、具有着较强的复杂性。二面向对象方法面向对象方法的基本原则以及出发点是对人类思维方式的模拟,进而让软件开发的整个经过最大化的接近于人类对世界认识的经过,从方法论方面看,面向对象的软件开发方法将系统看做是一个由很多对象相互作用、相互联络而构成的整体。面向对象的软件开发方法包括分析方法、设计方法以及程序设计,其中面向对象程序设计方法是面向对象方法的重要核心内容。在软件工程中,软件由文档和程序两部分组成,程序是由算法和数据机构共同构成,在传统程序开发的经过中,操作以及数据被分离为独立的内容,但是事实上,客观世界中的实体都具有静态和动态两种属相,对于软件工程而言,数据则是静态的属性,而操作则是动态的属性
3、,二者具有密切的关系,而传统程序开发中将二者的分离在一定程度上是软件开发所面临的难度进一步的增加。而面向对象方法则强调了不同元素的共同组成,数据以及操作被看为是一个整体,而这种理念优势在于对软件的重复使用,同时也是代码更容易理解,但是在面向对象的方法中,软件开发经过中的划分相对模糊,所以在软件分析、软件设计以及软件设计的经过中会产生屡次迭代。三形式化方法随着科技的发展以及人类对软件工程需求的不断提高,计算机软件开场执行会引发严重后果甚至威胁人类生命的重要任务,如对核反响堆进行监控、飞船的发射以及对一些交通设施进行安全监控等,而这些需求下的软件一般都具有较强的复杂性,在此背景下,在软件本身复杂性
4、不断增加的基础上保证软件在执行任务时的准确、安全和可靠是特别重要的内容,而形式化方法就是为了知足这样的需求而产生。形式化软件开发方法所根据的是计算与数学模型来对软件系统的特性以及行为作出验证和描绘,其中这些特性与行为包括设计、需求规格以及实现等,由此可见,严格的数学是形式化软件开发方法的重要基础特征。但是形式化软件开发方法也有其本身的缺陷,如在经过中所使用的数学模型或者数学工具并不能保证完全的安全与正确,并且是对同样的数学规范,在不同的软件工程背景下也会产生不同的后果,这种情况是由于不同领域在解释和相容规范经过中的不同而产生的。二、软件工程中软件开发方法的趋势在软件工程发展的经过中,繁琐复杂的
5、开发经过、文档维护难度的加大以及软件开发经过中的反应问题等逐步的暴露出来,并且人们对软件提出了智能化的需求,而面对这些问题和需求的出现与改变,软件方法的研究与更新也引起了很大的重视与关注,很多新的方法出现并体现出了很大的发展潜力。一敏捷软件开发方法敏捷软件开发方法包括ASD、FDD、DSDM、XP等,敏捷软件开发作为一种以人为核心、循序渐进、迭代的开发方法,它把软件项目的整体构建划分为很多个子项目,而这些子项目本身在测试后也验证具有可运行以及集成的特征。敏捷软件开发方法强调了人的作用以及对变化情况的使用,同时强调反应有效性和简单化,同时重视生产效率的提高,在软件开发经过中,小项目能够分别完成并
6、能够独立运行,软件能够始终处于能够进行使用的状态。它的12条实践原则能够在一定程度上体现出它本身的特性:一是获得客户的满意最为优先,需要持续的、尽早的交付有使用价值的软件;二是在软件开发经过中的后期可以以改变对软件的需求;三是交付可使用的软件要具有经常性,交付的时间需要控制在最短的时间范围之内;四是开发人员以及业务人员在项目开发中需要始终共同工作;五是需要为被鼓励的个人提供必要的支持与环境,并信任他们能够完成软件开发工作;六是在团队工作中,面对面交谈是左右效率的信息传递方法;七是首要的进度标准是能够工作的软件;八是可持续的提高开发速度;九是强调优秀设计与技能在提高敏捷能力方面的作用;十是简单;
7、十一是最好的需求、构架与设计来源于自组织的工作团队;十二是在一定时间内,工作人员要针对怎样提高工作有效性进行反省并对工作行为作出调整。当前敏捷软件开发方法尚处于发展阶段,所以并不如面向对象方法成熟。二面向Agent的软件开发方法在互联网不断发展的背景下,规模大以及复杂性高成为了软件开发中最明显的趋势,人们对计算机软件的需求要开场重视其智能化,但是原来的软件开发方法并不能胜任开发具有智能特性软件的工作。Agent的概念来源于资源分布式人工智能领域,自主性、驻留性以及灵敏性是其最重要的三个特征。自主性是指Agent能够以外部环境以及内部状态为根据来对本身的状态进行决定,在此经过中并不需要外部进行控制和干预。驻留性是指Agent能够感悟到外部环境产生的变化。灵敏性是指Agent能够与其他的Agent进行比拟复杂的协同交互行为。凭借Agent本身的优势,它在以后的发展中能够应用于交通管理、医疗护理、游戏娱乐、电力电讯甚至国防军事等诸多领域,固然Agent仍然处于探索阶段并且并不成熟,但是已经得到了广泛的重视与关注,并且也会成为软件工程在软件开发方法方面的重要趋势之一。本文
限制150内