0% found this document useful (0 votes)
25 views12 pages

Introduction To Software Engineering: Unified Modeling Language Diagrams

The document provides an introduction to Unified Modeling Language (UML) diagrams. It discusses use case diagrams which show actors and use cases within a system boundary along with relationships between use cases. It notes that use case diagrams can also be called scenario diagrams. The document clarifies the difference between use cases and scenarios for the purposes of the course. It provides an example use case template and notes that use cases are important for documenting requirements. The document previews that additional UML diagrams that will be covered include sequence, communication, class, component, package, activity, and deployment diagrams.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views12 pages

Introduction To Software Engineering: Unified Modeling Language Diagrams

The document provides an introduction to Unified Modeling Language (UML) diagrams. It discusses use case diagrams which show actors and use cases within a system boundary along with relationships between use cases. It notes that use case diagrams can also be called scenario diagrams. The document clarifies the difference between use cases and scenarios for the purposes of the course. It provides an example use case template and notes that use cases are important for documenting requirements. The document previews that additional UML diagrams that will be covered include sequence, communication, class, component, package, activity, and deployment diagrams.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

2/9/2016

Introduction to Software Engineering:


Unified Modeling Language Diagrams

John T. Bell

Department of Computer Science


University of Illinois, Chicago
Based on materials from multiple sources . . .

Acknowledgements
Images for this presentation were extracted from:
• Bruegge, Bernd and Allen H. DuToit, “Object-
Oriented Software Engineering”, 3rd edition.
• Fowler, Martin, “ULM Distilled: A Brief Guide to the
Standard Object Modeling Language”, 3rd edition.
• Robertson, Suzanne and James Robinson,
“Mastering the Requirements Process: Getting
Requirements Right”, 3rd edition.
• Gamma, Erich et. al. “Design Patterns”.
2

1
2/9/2016

Overview

• The Unified Modeling Language, UML, is a


standard means of communicating ( object-
oriented ) software designs, mostly via diagrams.
• UML communicates software concepts in much
the same way that blueprints communicate
architecture and building specifications.
• Just as architects use different diagram types for
different concepts, UML has different diagram
types as well.
3

Part I – Product Description and


Requirements Development
• Use case diagrams, a.k.a. scenario diagrams.
• Notes
• “Definition” of scenarios vs. use cases
for use in CS 440.
• Use cases and how they are used.

2
2/9/2016

Use case / scenario diagrams list


examples of who uses the system how.
• System boundary is
clearly defined.
• Each oval is a
separate use case.
• “Actors” are any
entity external to the
system.
• Relationships
between use cases
can be indicated.

More Use Case / Scenario


Diagram Examples
a.k.a. Scenario Diagram

Relationships between use


cases may be indicated with
«includes», «extends»,
inheritance, or other labels.

3
2/9/2016

“Notes” can be attached to any


diagram.

A Problem with the term “Use Cases”

“Jacobson’s definition of a use case must have left


some ambiguity; other authors have written
about use cases and very few of them have the
same idea of what it is. There are about 40
published definitions of “use case” with almost
none of them agreeing. This chaos is
unfortunate.”
- Robertson & Robertson, Chapter 4
• Refers to Jacobson, Ivar, et al. “Object-Oriented
Software Engineering: A Use Case Driven
Approach”, Addison-Wesley, 1992.
8

4
2/9/2016

Use Cases vs. Scenarios


For the purposes of CS 440:
• Scenarios are informal stories, written in a
narrative fashion. They serve to convey general
understanding in classical development and as
acceptance tests in agile development.
• Use Cases are more formal, following a rigid
template with specific contents, used as a first
step in classical requirements development.
• “Use case” diagrams may also be used to
document relationships between scenarios.
9

One Potential Use Case Template


• List as NA if not applicable.
• The following may be added:
• related use cases or scenarios
• associated tests, systems,
classes, etc.
• revision history
• references to other documents
• author(s) / originator(s)
• notes
• Alternatives and exceptions may be
listed either as separate use cases or
as notes to a base case.
•For regularly occurring periodic
events, "time" can be listed as the
initiating actor.

10

5
2/9/2016

Use cases play an important role in


requirements development.
• Detailed use cases document the specific
actions that must be taken by the system
during the course of a use case.
• These actions can be directly translated into
functional requirements. ( What it must do. )
– Sample action: “The system displays a form for the
user to enter their personal data.”
– Sample requirement: “The system must display a
form in which the user can enter personal data.”
11

Review

What is shown in a UML use-case diagram?

A. A list of different use-cases, and which actors are involved in


each one.
B. Swim lanes, indicating exactly who performs each step of a
use-case.
C. The different classes involved in a use-case, and the
relationships between them.
D. The inheritance structure of the use-case tree, showing which
use-cases are derived from which other use-cases.
E. The steps taken by the system during the course of a use-case.

12

6
2/9/2016

Preview

In a UML class diagram, which of the following


arrow types indicates specialization/generalization,
a.k.a. inheritance?

13

Part II – Documenting Design

• Sequence Diagrams
• Collaboration / Communication Diagrams
• Class Diagrams
• Component Diagrams
• Package Diagrams
• Activity Diagrams
• Finite State Diagrams
• Deployment Diagrams

14

7
2/9/2016

Sequence diagrams document the


steps taken during a single use case.
Classes
Sequence diagrams are
often the first step
Time towards identifying the
classes needed for a
new application.

Underline indicates
an object, as
opposed to a class

16

8
2/9/2016

Sample Sequence Diagram


for a Two-Button Watch
User interface
In second column
Initiating
actor in
first column

17

Communication Diagrams convey


(almost) the same info as Sequence Ds

More
compact,
but a little
less
information

a.k.a.
Collaboration
diagrams.

18

9
2/9/2016

Class Diagrams are the most widely


used and widely known ( atSystem Design
this point. )

( italics )

Aggregates exist
independently of
their container;
Composites do not.

19

Package diagrams group classes into


subsystems or other groupings.

Other items
Associations can also be
can be made packaged.
between or
inside of
packages

20

10
2/9/2016

Deployment diagrams show the


allocation of components to platforms.

21

Deployment platforms may be


( combos of ) hardware or software

22

11
2/9/2016

Review

What type of diagram is nearly equivalent to a


sequence diagram?
A. Class diagram
B. Communication diagram
C. Deployment diagram
D. Package diagram
E. Series diagram

23

Review 2

What type of diagram is shown here?

A. Class diagram
B. Package diagram
C. Sequence diagram
D. Use-Case diagram
E. Watch diagram

24

12

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy