当今是一个快速发展的时代,软件的功能更强大,应用更广泛,系统架构更复杂。与此同时,软件开发的难度也越来越大,软件质量难以得到保障。在与业界同行交流的过程中,我感受到更多的不是自信,而是对软件质量的无可奈何与力不从心。为了解决软件开发存在的问题,业界不断涌现出许多开发方法、过程以及模型,试图从方法论、工程学等角度对软件开发过程进行改进和管理。其中最为知名的,要数RUP(Rational Unified Process,统一软件开发过程)和近十年涌现的各种Agile(敏捷)开发方法了。但从实际效果来看,似乎都没有达到预期的目的。
本文试图以模型驱动开发(MDD)为契合点,在RUP的坚实与Agile的灵动之间找到一种平衡。
模型驱动开发概述
模型驱动开发就是以“模型”为核心的软件开发过程,业界存在许多特定领域的建模语言(如DoDAF、AUTOSAR等)。但是以UML最为通用、规范和科学化,成为业界建模事实上的标准。
模型驱动开发专注于业务的建模和抽象,而不是具体的语言和算法。这种软件开发方法使开发人员把更多精力放在产品的需求分析和功能划分上,而不是纠缠于软件的实现细节。模型以图形化的方式来表述所研究的系统、过程、事物或概念,而图形化的方式更符合人脑的思维方式。
用文字去表述的概念,例如软件需求,很容易造成误解。相比较人类的语言文字,模型在表述时更加准确,尤其是标准化的建模语言,例如UML。
模型驱动的开发方法使软件实现和模型设计完美地统一起来。软件发展的模型驱动方法不是一种全新的方法,随着UML2.0(目前最新版本是2.3)及相关工具的推出,其支持性技术越来越成熟,也愈加受到重视。
模型驱动开发的成熟,不仅体现在效率方面,更体现在可测量性方面。这种能力是与方法及工具密不可分的。UML2.0版本在语言定义精确程度有了相当的提高,是模型驱动开发的必要条件。UML2.0从通信界代码生成技术最成功的SDL语言汲取了大量语法语义,使得代码完全自动生成成为可能。自动化意味着模型转换时的不明确和不精密的消除,同时能够保持良好的一致性,使由模型直接生成最终代码成为切实可行的方案,也为最终生成代码的质量提供了保障。同时对特定领域的改进和支持也使得UML能够更好地适应各种应用需要,例如嵌入式领域。
📚作品详情
文件名称:《Agile模型驱动开发BorConChina》
更新时间:2020-04-30
详情列表:
💡声明
本站收录优秀作品内容、精彩书评、互联网技术文章、软件使用手册、书籍作品杂谈等内容,不提供电子书下载,请自行搜索下载或购买正版。如有读书交流沟通的想法可联系taoshuzhai521@163.com。博主会第一时间反馈,谢谢合作!