


















Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An overview of uml models, focusing on use case diagrams, class diagrams, collaborations, and sequence diagrams in the context of software engineering. Use case diagrams illustrate the interaction between users and the system, while class diagrams depict the static structure of the system. Collaborations and sequence diagrams show how objects interact to perform tasks and the passage of time, respectively. Useful for university students studying software engineering, particularly in the context of uml modeling and interaction diagrams.
Typology: Slides
1 / 26
This page cannot be seen from the preview
Don't miss anything!



















Use case diagrams show the interaction of users of
the system with the functionality of the system.
A use case is a functional component of the system
that accomplishes a specific task, and is represented by an ellipse.
An actor , depicted as a stickman figure, is a user
(human or non-human) of the system performing a specific role.
Use case diagrams are used early in the
development process to refine the functional specifications, identify user interface requirements and to define the scope of the project.
Actor
UseCase
+Person() +setName() : void +setSsn() : void +setDob() : void +setSpouse() : void +setChildren() : Set +getName() : String +getSsn() : String +getDob() : Date +getSpouse() : Person +getChildren() : Set +getAge() : int
#name : String #ssn : String #dob : Date #spouse : Person #children : Set
Person (^) +setMajor() : void +setClassStanding() : void +computeGpa() : void
-major : String -classStanding : String -gpa : float
Student
+Professor() +setRank() : void +setTenureDate() : void +setDepartment() : void +getRank() : String +getTenureDate() : Date +getDepartment() : String
-rank : String -tenureDate : Date -department : String
Professor
+CourseOffering() +setSectionNo() : void +setCourse() : void +setInstructor() : void +setSchedule() : void +setLocation() : void +setMaxEnrollment() : void +get...() +calcAvailable() : int
-sectionNo : int -course : Course -instructor : Professor -schedule : String -location : String -maxEnrollment : int -enrollment : int -prerequisites : Set
CourseOffering
0..* -teaches -is taught by
1..
-is taken by 0..*
-takes 0..* «extends»
«extends»
The use case model , which describes the tasks which the system must help to perform The class model , which describes the classes which are to be implemented and the relationships between them
A Simple Collaboration, Showing no Interaction
A collaboration, without any interaction shown, is rather like an instance of part of the class model. It shows objects, links and actors
Interaction on Collaboration Diagrams
Each labelled arrow represents a message sent from the object at the tail of the arrow to the object at the point of the arrow.
Furthermore, the target object must understand the message
That is, the class of the object at the point of the arrow must provide the appropriate operation
Interaction Shown on a Sequence Diagram
resource manager
Res. Mgr. Win: UI :Worker :Skill :SkillLevel
find worker
find skill
assign skill to worker
find worker by name
find skill by name
[worker does not currently have skill] assign skill to worker
Homework
Messages from an Object to Itself
An object may, and frequently does, send a message to
itself (i.e. An object calls another method on itself; Java uses keyword “this”).
On a collaboration diagram you show a link from the
object to itself, and messages pass along that link in the usual way
On a sequence diagram, you show a message arrow
from the object’s lifeline back to itself.
Suppressing Detailed Behaviour
Using a Package to Simplify a Collaboration