01.01.2015 Views

UML Weekend Crash Course™ - To Parent Directory

UML Weekend Crash Course™ - To Parent Directory

UML Weekend Crash Course™ - To Parent Directory

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Session 5—Understanding the Use Case Model 53<br />

Dependency: Identifies a communication relationship between two Use Cases.<br />

Generalization: Defines a relationship between two actors or two Use Cases where<br />

one Use Case inherits and adds to or overrides the properties of the other.<br />

Now comes the fun part. It’s finally time to learn the notation that will allow you to<br />

begin developing diagrams.<br />

Use Case system<br />

One of the first tasks in a project is to set the context and scope of the proposed application.<br />

You need to answer questions such as how much to include in the system, how this<br />

system relates to other systems in your architecture, and who plans to use this system.<br />

All this could be described in a lengthy document. But, as the saying goes, a picture is<br />

worth a thousand words. This conviction helps explain the simplicity of the system notation,<br />

a mere rectangle with a name (Figure 5-4). The system icon simply provides a context into<br />

and around which you place all the elements that influence the construction of the system.<br />

Note<br />

Having said that, I must tell you that the system icon is rarely used. It tends<br />

to be too restrictive and doesn’t add substantial information to the diagram.<br />

Consequently, in most tools, you will only see Use Cases, actors, and their<br />

relationships.<br />

System Name<br />

System Name<br />

OR<br />

Figure 5-4 System icon for the Use Case diagram<br />

Think of the system in terms of encapsulation, which asserts that to use an object, you<br />

need know only its interfaces, not its internal implementation. A system is like an object,<br />

in that each has a purpose and an interface. The internal implementations of the object or<br />

system may be replaced or enhanced without affecting other entities as long as the purpose<br />

and the interfaces remain unchanged.<br />

So, the priority in defining the system is to define its purpose and the required interfaces.<br />

The purpose is the target of the project justification. The interfaces are the channels of communication<br />

between the actors outside the system and the features of the system itself, the<br />

Use Cases. Working inward from this fundamental requirement, you set the context for all<br />

subsequent modeling of the system’s internal behavior.<br />

Use Case actors<br />

Systems always have users. Users in the classic sense are people who use the system. But<br />

users can also be other systems or devices that trade information.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!