UML AND OBJECT MODELING
A traditional technique of systems analysts is to draw models of the system. These
models help visualize and analyze problems, define business requirements, and design
the information system. There are many kinds of models. Process models, such as the
Data Flow Diagrams introduced in Lab 2, date back to the late 1970s. Data models,
which emerged at about the same time as process models, define the data requirements
for an information system. In future labs, we will learn to develop data models.
Though process models and data models are very useful, the problem is that they separate
the data from the processes of the information system when, in fact, nearly all
information systems have both data and processes that work together. In the late 1980s
and early 1990s, the need to integrate data and process modeling combined with new
object-oriented programming languages to give birth to object modeling. Object
modeling attempts to merge the data and process concerns into a single construct known
as an object. From the work of several methodologists came the Unified Modeling
Language (UML), a standard set of diagrams for analyzing, constructing, and
documenting software and even non-software systems.
The use case diagrams and activity diagrams we drew in previous labs are part of the
UML. In this lab we will look at class diagrams, another common UML diagram.
OBJECT CLASSES AND OBJECT INSTANCES
What is an object in UML? An object is something that can be seen, touched, or
otherwise sensed and about which users
. In an
information system, objects correspond to real things of importance such as customers,
orders, and products. Each object incorporates both the data stored for the object and the
behaviors, or processes, associated with it, thus integrating both data and processes.
A business might speak of "products" that it has for sale as something general and
abstract. However it might also speak of specific products, such as Coke, Diet Coke,
Cherry Coke, Caffeine-free Coke, etc. "Products" is the abstract object, or object class.
Diet Coke in an individual product, or object instance.
CNIT 180: Lab 5 – Unified Modeling Language & Class Diagrams