lab2
TRANSCRIPT
![Page 1: LAB2](https://reader033.vdocuments.site/reader033/viewer/2022042905/577cc7b51a28aba711a1ab31/html5/thumbnails/1.jpg)
Introduction to Object-
Oriented Analysis and
Design using the UML
Lab 2
Software Engineering
By Nouran Radwan
![Page 2: LAB2](https://reader033.vdocuments.site/reader033/viewer/2022042905/577cc7b51a28aba711a1ab31/html5/thumbnails/2.jpg)
Functional Requirements
Detailed in the Use Case Model and in the
System Features list. They are specified in
detail in Operation Contracts where
necessary.
Non-functional requirements
Often called the “-ilities” of a system; quality, reliability, usability, performance, etc.
Note
![Page 3: LAB2](https://reader033.vdocuments.site/reader033/viewer/2022042905/577cc7b51a28aba711a1ab31/html5/thumbnails/3.jpg)
Use-Case Model
3
![Page 4: LAB2](https://reader033.vdocuments.site/reader033/viewer/2022042905/577cc7b51a28aba711a1ab31/html5/thumbnails/4.jpg)
Use Cases are not Diagrams
Use Cases may have a diagram associated
with them, and a use case diagram is an
easy way for an analyst to discuss a
process.
But use cases are primarily text. The text
is important.
Capture the specific ways of using the
system as dialogues between an actor and
the system.
4
![Page 5: LAB2](https://reader033.vdocuments.site/reader033/viewer/2022042905/577cc7b51a28aba711a1ab31/html5/thumbnails/5.jpg)
Diagramming Use Cases
The text is the Use Case!
Diagrams may supplement or help the
text.
5
![Page 6: LAB2](https://reader033.vdocuments.site/reader033/viewer/2022042905/577cc7b51a28aba711a1ab31/html5/thumbnails/6.jpg)
Overview
A use case diagram identifies transactions between
actors and a system as individual use cases.
6
![Page 7: LAB2](https://reader033.vdocuments.site/reader033/viewer/2022042905/577cc7b51a28aba711a1ab31/html5/thumbnails/7.jpg)
Actor
An actor is a user of a
system.
Actors can be users or
other systems.
Many users can be one
actor, in a common role.
An actor is labeled with
the name of the role.
7
![Page 8: LAB2](https://reader033.vdocuments.site/reader033/viewer/2022042905/577cc7b51a28aba711a1ab31/html5/thumbnails/8.jpg)
Non-human Actor
Actors can be users,
processes, and other
systems.
Show non human actors
in a different manner,
usually as a rectangle.
Non human actors are
usually not primary
users, and thus are
usually shown on the
right, not the left.
8
Inventory
System
![Page 9: LAB2](https://reader033.vdocuments.site/reader033/viewer/2022042905/577cc7b51a28aba711a1ab31/html5/thumbnails/9.jpg)
Use Case
A use case is a coherent unit of externally
visible functionality provided by a system and
expressed by a sequence of messages.
Additional behavior can be shown with parent-
child, extend and include use cases.
It is labeled with a verb name that the user can
understand.
9
![Page 10: LAB2](https://reader033.vdocuments.site/reader033/viewer/2022042905/577cc7b51a28aba711a1ab31/html5/thumbnails/10.jpg)
System A system is shown as a
rectangle, labeled with
the system name.
Actors are outside the
system.
Use cases are inside the
system.
The rectangle shows the
scope or boundary of
the system.
10
![Page 11: LAB2](https://reader033.vdocuments.site/reader033/viewer/2022042905/577cc7b51a28aba711a1ab31/html5/thumbnails/11.jpg)
Relationships in Use Cases
There are several Use
Case relationships:
Association
Extend
Generalization
Uses
Include
11
Most Use Cases have only associations.
Use other relationships sparingly.
![Page 12: LAB2](https://reader033.vdocuments.site/reader033/viewer/2022042905/577cc7b51a28aba711a1ab31/html5/thumbnails/12.jpg)
Association Relationship
An association is the
communication path between
an actor and the use case
that it participates in.
It is shown as a solid line.
It does not have an arrow,
and is normally read from left
to right.
Here, the association is
between a Modeler and the
Create Model use case.
12
![Page 13: LAB2](https://reader033.vdocuments.site/reader033/viewer/2022042905/577cc7b51a28aba711a1ab31/html5/thumbnails/13.jpg)
Include Relationship
Include relationships
insert additional
behavior into a base
use case.
They are shown as a
dotted line with an
open arrow and the
key word
<<include>>.
13
![Page 14: LAB2](https://reader033.vdocuments.site/reader033/viewer/2022042905/577cc7b51a28aba711a1ab31/html5/thumbnails/14.jpg)
![Page 15: LAB2](https://reader033.vdocuments.site/reader033/viewer/2022042905/577cc7b51a28aba711a1ab31/html5/thumbnails/15.jpg)
Extend Relationship
Extend puts additional
behavior in a use case
that does not know
about it.
It is shown as a dotted
line with an arrow
point and labeled
<<extend>>
In this case, a
customer can request
a catalog when placing
an order. 15
![Page 16: LAB2](https://reader033.vdocuments.site/reader033/viewer/2022042905/577cc7b51a28aba711a1ab31/html5/thumbnails/16.jpg)
Use Case Generalization
Generalization is a
relationship between
a general use case
and a more specific
use case that inherits
and extends features
to it.
It is shown as a solid
line with a closed
arrow point.
16
registration
Under-
graduate
registration
Graduate
registration
![Page 17: LAB2](https://reader033.vdocuments.site/reader033/viewer/2022042905/577cc7b51a28aba711a1ab31/html5/thumbnails/17.jpg)
![Page 18: LAB2](https://reader033.vdocuments.site/reader033/viewer/2022042905/577cc7b51a28aba711a1ab31/html5/thumbnails/18.jpg)
Uses Relationship
When a use case uses
another process, the
relationship can be
shown with the uses
relationship.
This is shown as a solid
line with a closed
arrow point and the
<<uses>> keyword.
18
![Page 19: LAB2](https://reader033.vdocuments.site/reader033/viewer/2022042905/577cc7b51a28aba711a1ab31/html5/thumbnails/19.jpg)
Use Case Example 1
![Page 20: LAB2](https://reader033.vdocuments.site/reader033/viewer/2022042905/577cc7b51a28aba711a1ab31/html5/thumbnails/20.jpg)
Use Case Altered State University
![Page 21: LAB2](https://reader033.vdocuments.site/reader033/viewer/2022042905/577cc7b51a28aba711a1ab31/html5/thumbnails/21.jpg)
Use Case Template
![Page 22: LAB2](https://reader033.vdocuments.site/reader033/viewer/2022042905/577cc7b51a28aba711a1ab31/html5/thumbnails/22.jpg)
Assignment
Use Case Template and Diagram
![Page 23: LAB2](https://reader033.vdocuments.site/reader033/viewer/2022042905/577cc7b51a28aba711a1ab31/html5/thumbnails/23.jpg)
Reference
Applying UML and Patterns: An
Introduction to Object-Oriented Analysis
and Design and Iterative Development
[Craig Larman]