Software Engineering
Introduction to Modeling with UML

Course Map


Agenda


History


Structure of the UML

Four parts comprise the UML:

The superstructure of the UML, which is our primary interest, offers standard modeling concepts that enable anyone who understands the superstructure, to create models that other people who understand the superstructure will stand a good chance of interpreting properly.


Infrastructure


Object Constraint Language


Diagram Interchange

 


Metamodel Layering

The architecture that is centered around the Core package is a complementary view of the four-layer metamodel hierarchy on which the UML metamodel has traditionally been based. When dealing with meta-layers to define languages there are generally three layers that always has to be taken into account:

This structure can be applied recursively many times so that we get a possibly infinite number of meta-layers; what is a metamodel in one case can be a model in another case, and this is what happens with UML and MOF. UML is a language specification (metamodel) from which users can define their own models. Similarly, MOF is also a language specification (metamodel) from which users can define their own models.

An example of metamodeling; note that not all instance-of relationships are shown

Giving an illustration of a class using an instance specification

An example of the four-layer metamodel hierarchy


Superstructure of the UML: Diagrams

There are two kinds of diagrams: structure diagrams which represent the way things are, and behavior diagrams which represent the way things happen.

The top-level package structure of UML 2.0 Superstructure

A diagram requires a border or a title, Diagram frame shows how this is done. The border plus title is known as a frame . Some behavioral diagram elements appear on diagram borders - ports or entry/exit points, for example.

The heading gives the kind of diagram and the name: [<kind>]<name>[<parameters>]
The diagram may have the following kinds :

In addition to the long form names for diagram heading types, the following abbreviated forms can also be used:


Things

Things are the entities of a UML model.

UML things can be partitioned:


Relationships


Extensibility Mechanisms

 


UML Diagrams Used in this Course


Terminology and Templates


What Are Verification, Validation, and Accreditation?

In the context of computer software, the terms verification, validation, and accreditation have specific meanings.

It is important that these activities are kept independent of the development activity and that they are conducted rigorously. This is, among other reasons, to ensure that the customer's confidence in the software can remain high.


Verification

Did I build the thing right?


Validation

Did I build the right thing?

 


Moving from Document Centric to Model Centric Development (SysML)


Putting It All Together


Personal Observations

Everyone can write programs but not everyone can design them.