Chapter 4

UML Versus Codecharts

Since the UML is the de facto industry standard modelling language, questions naturally arise about its relation to Codecharts. This subject has been treated in detail throughout our discussion in the properties of design description languages in Chapter 2 and in the guiding principles of Codecharts presented in Chapter 3. This chapter summarizes the similarities and differences between Codecharts and UML diagrams.

The UML is a rich and expressive set of notations designed to articulate a very wide range of functional and nonfunctional specifications of software as well as activities related to software development. Unlike Codecharts, the UML is not merely a design description language (Chapter 2), and it is not constrained to design decisions about object-oriented programs. Its charter is therefore significantly broader than that of Codecharts.

More to the point, the UML is not a formal language: It is not bound by the need for precision, nor is it restricted by the requirement for verifiability—and by implication, automated verifiability (§3.4). This freedom from rigour allows using the UML to articulate specifications for which any notion of design verification (let alone automated verification) is hard to conceive. For example, Use-Case Diagrams and Activity Diagrams are particularly effective in visualizing informal notions such as user requirements, whose representation often requires concepts that fall well outside the charter of any formal ...

Get Codecharts: Roadmaps and blueprints for object-oriented programs now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.