Story:
What UML is for Some of the main diagrams are and what you use them for
Class diagrams and class forms Use Case Diagrams Sequence (Event) Diagram State Diagrams
An example
Diagrams
Class diagrams: Represents static structure Use case diagrams: Sequence of actions a system performs to yield an observable result to an actor Sequence diagrams:Shows how groups of objects interact in some behavior State diagrams: Describes behavior of system by describing states of an object
Class Diagrams
Better name: Static structure diagram
Doesnt describe temporal aspects Doesnt describe individual objects: Only the overall structure of the system
Qualifiers
Serves to describe an instance variable that partitions the relationship.
An individual use case represents a task to be done with support from the system (thus it is a coherent unit of functionality)
Reserve book
Borrow book
Return book
Use Cases
Are actually defined as text, including descriptions of all of the normal and exception behavior expected Do not reveal the structure of the system Collectively define the boundaries of the system to be implemented Provide the basis for defining development iterations
State Diagrams
Describe all the possible states a particular object can get into, and the events that lead to those changes Also called a "statechart"
But this is an application you know, so the examples may help make sense
Transcript
courseGrades
Registrar Section
course daysAndTime roster addStudent removeStudent * 1 courses sections getSectionsFor: enrollInSection: dropFromSection: * 1
gradeForCourse: takenCourse: 1
CourseGrade
course grade termEnrolled
1 1
1 *
1..3 *
* 1 *
Department
courses requiredCourses
Course
Admissions
Student
Enroll in a Course
States of a Student
Apply [ Must be accepted first ]
Enrolled
Withdraw
Registered
AddCourse
theRegistrar
aSection
theTranscript
enrolled
enrolled
Process to Representations
OOA
CRC Cards (but theyre not officially UML) Use Cases
OOD
Just about all of the rest But variationssome detail is later
OOP
Can actually go UML->code with some tools!