从UML到Z:系统开发的进化方法
1. 技术方法与途径
1.1 掌控系统的内在复杂性
要掌控任何真实系统的复杂性,都需要一套强大的方法论。方法论是严谨方法、专用符号和集成工具支持的恰当组合。
在软件工程(SE)中,结构化方法从功能角度催生了许多成功的系统,但在可复用性、易于修改等诸多方面却不尽人意。因此,近年来出现了一些新的方法。其中一些采用了面向对象原则,强调数据本身。这些方法提供了流程和专用符号,通常是图形化的。然而,与结构化方法一样,它们的工具支持相当有限,主要局限于语法层面。
工具支持不足的主要原因在于这些符号是半形式化的。换句话说,只有当符号及其支持的流程都有形式化语义时,验证与确认(V&V)手段才可用。
半形式化规范有其益处。半形式化符号有着明确的语法,但语义却缺乏严格定义。像SADT、SART等符号和流程就是半形式化的。UML作为纯符号也是半形式化的,尽管有人声称其部分内容可以严格形式化。Fusion作为支持UML符号的流程虽然定义严谨,但由于所支持的符号问题,仍属于半形式化。
尽管这些流程和符号的语法精确,但语义薄弱,有时甚至未定义。不过,半形式化符号及其方法论仍在广泛使用,并促成了许多成功的系统开发。其成功的原因主要有两点:
- 它们通常是图形化的,提供了一组易于理解的图标及它们之间的联系。
- 它们适用于通用但范围有限的问题领域,能够表示一些实际情况。
形式化规范则存在主要局限。几乎与半形式化方法论同时出现的形式化符号及其配套流程,虽然在一些关键系统的开发和规范制定中进行了大量实验,但效果并不理想。形式化方法自诞生以来承诺颇多,但期望并未实现。如今人
UML与Z结合的系统开发方法
超级会员免费看
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



