1.05 07 - IntroductionToUML
1.05 07 - IntroductionToUML
Unified Modeling
Language
OOP
Software Engineering Major
Universidad de las Fuerzas Armadas-ESPE
Computer Science Department
Jorge Edison Lascano
Based on the slides of Dr. Stephen Clyde, Utah State University
Unified Modeling Language
60’s
Birth of initial OO ideas
70’s
Nurturing of OO ideas
Introduction of a few more OO Programming Languages
80’s
Maturing of fundamental OO concepts
Emergence of more OOPLs
OOPLs gain widespread use
A Brief Timeline for OO and UML
§ 90’s
The Method Wars
Efforts to unify concepts
Introduction and standardization of UML
Emergency of next-generation ideas, like Patterns
Current
Widespread use of UML
Widespread use of Full-Life-Cycle development tools
UML Building Blocks
Modeling Elements
Student
Scoping
Structural major: String
gpa: Real
Behavioral
standing: String
Organizational Contacts
Annotational add(Course)
drop(Course)
Extension
-- Handle a registration in
Diagrams that
communicate ideas using courses
the modeling elements See Fig. 2 for Registered 0..*
Modeling Elements are more details Student
is in
like words.
Role
Diagrams are like 0..*
sentences or paragraphs Graduate Course
Models are like whole Course
papers or books
Modeling Elements
Modeling Elements are building blocks for
constructing conceptual descriptions of systems
name
major
GPA Classes define abstraction
standing boundaries and encapsulations for
interests
software objects
-- The set of students know the
registration system
StudentS
name: String
major: String
GPA: real
standing: Scode
add(Course)
drop(Course)
-- Software representation of students;
support registration in courses
Implementation Perspective
StudentDialogBox Student
major: String
create()
GPA: Real
doDataExchange()
standing: String
onDelete()
onInsert() add(Course)
onOK() drop(Course)
-- Interact with user to add -- Handle a registration in
drop courses courses
0..1
1
Course
callNumber: Integer
CourseList department
number
-- Display a dynamic list section
courses title
Implementation Perspective
CObject
CWnd
CDialog CListBox
0..1 1
StudentDialogBox CourseList
Structural Diagrams
Class Diagrams
Object Diagrams
Component Diagrams
Deployment Diagrams
Behavioral Diagrams
Use Case Diagrams
Sequence Diagrams
Collaboration Diagrams
Statechart Diagrams
Activity Diagrams
Types of Diagrams
Deployment Diagrams
Behavioral Diagrams
Structural Diagrams
¨ show state machines consisting
of states, transitions, events, and
Class Diagrams activities
Object Diagrams ¨ emphasize event-ordered
behavior
Component Diagrams
¨ used to model behavior of
Deployment Diagrams objects in terms of classes,
Behavioral Diagrams interfaces, or collaborations
¨ used preliminary in design and
Use Case Diagrams
implementation views
Sequence Diagrams
Collaboration Diagrams
State chart Diagrams
Activity Diagrams
Types of Diagrams
Use Cases