我非常熟悉用于建模面向对象应用程序的 UML。但是,我不熟悉任何专门为设计和/或建模程序、功能或任何其他范例而设计的东西。您如何设计或建模用非面向对象语言编写的应用程序?
3 回答
哦,天哪,过去发生了爆炸。
我们曾经使用过流程图、伪代码、数据流程图、结构图、Hierarchy-IPO、“衣架图”(实际上是流程图的变体)、Nassi-Schneiderman 图。其中。
哦,SADT是另一个。
SSADM - 我想我的认证仍然在某个地方的盒子里......
UML 也可用于建模非 OO 语言。我使用 UML 对任何东西进行建模。公平地说,UML 的核心是面向对象的,但大部分行为、实例级别和不太常见的结构类型都适用于非 OO 语言。但是,UML 用于面向对象的设计而不是实现,您的构建块/对象只是不同的、模块或诸如此类的东西。
Charlie Martin 提到的许多图表类型都有类似的 UML 表示。更好的是它是一个模型,而不仅仅是一个图表/视图。
示例:LISP 不是基于 OO 的。因此,为函数类创建关键字或立体类型。属性是参数,因为它没有状态。这并不完美,但却是最平易近人的。
示例:COBOL/JCL 不是基于 OO 的。让每个 PACBASE 包成为一个组件,并将结构组件作为您的 COBOL。工件可以是您的 JCL。
让 UML 广泛且松散地定义为您的利益和重新利用 UML 部分的事实。您始终可以使用 UML 配置文件对其进行形式化。在我工作的地方,这一直是讨论的焦点。大型机程序员并不认为 OO 设计和 OO-UML 是相关的,但这只是部分正确,因为核心或大多数人使用它的程度只是针对面向 OO 的类/结构材料和用例。