Larman Chapter 1
Larman Chapter 1
and Design
Chapter 1
Applying UML and Patterns
-Craig Larman
Applying UML
UML is just a standard diagramming
notation. It is just a tool, not a skill that is
valuable in itself. Knowing UML helps
you communicate with others in creating
software, but the real work in this course
is learning Object-Oriented Analysis and
Design, not how to draw diagrams.
Assigning Responsibilities
The most important skill in Object-
Oriented Analysis and Design is
assigning responsibilities to objects.
That determines how objects interact
and what classes should perform what
operations.
Requirements Analysis
All Software Analysis and Design is
preceded by the analysis of requirements.
One of the basic principles of good
design is to defer decisions as long as
possible. The more you know before you
make a design decision, the more likely it
will be that the decision is a good one.
TFCL: Think First, Code Later!
Use Cases
Writing Use Cases is not a specifically
Object Oriented practice. But it is a best
practice for elaborating and
understanding requirements. So we will
study Use Cases.
The Unified Process
A standardized approach to analysis and
design helps to ensure that all necessary
tasks are understood and completed in
software development.
This text, and the course, will focus on
the Unified Process developed at
Rational Software by Ivar Jacobsen,
Grady Boch, Jim Rumbaugh, and others.
Other Necessary Skills
Requirements Analysis, Object-Oriented
Analysis and Object-Oriented Design are
not a complete toolkit for a software
developer. There are many other skills
necessary in Software development,
including programming. This course only
covers a subset of the necessary skills.
What is Object Oriented
Analysis?