OBJECT ORIENTED SOFTWARE DESIGN (OOSD) USING THE UML

The object oriented paradigm has replaced the structured programming paradigm in modern software development.  The following table empahsizes the necessary shift in terminlogy required to upgrade from structured programming to object oriented software development.
 

Paradigm
Abstract Foundation
Abstract Representation
Software Implementation
Programming
algorithm
flowchart; pseudocode
program
O. O. Development
1. object architecture
2. operation algorithms
1. UML class diagrams
2. SAC for algorithms
O. O. S'ware Architecture
OO stands for "object oriented".
UML stands for the Unified Modeling Language, the standard Object Technology
SAC stands for Structured Algorithm Charts, a structured programming version of flowcharts

The following is the best, most concise example I can think of that illustarte all the constructs of object oriented software design.

     
    UML Class Diagram:
    Prototype Architecture for a Geometry Application
    The diamond headed links between classes represent "has-a" relationships.

     
    Limited UML Class Diagram
    showing only the distinctive elements for an
    Expansion of Geometry Application Architecture
    The dashed arrow represents the "uses-a" relationship between classes.
    The triangular arrow represents the "is-a" relationship between classes.
    Italics represent an "abstract" class that can not be made into a real object.
    Complete UML Class Diagram
    for the preceding
    Expansion of Geometry Application Architecture