************************************************************
SECTIONS from Jalote 6 you are responsible for on the Final:
*   Intro through 6.1, 121-131
*   Sections 6.3, 6.3.1, 6.3.2 - pp. 142-156
*   Section 6.6 - pp. 172-176 - metrics
*   pp. 177-178 - chapter summary
************************************************************

*   open-closed principle
    *   a module should be open for extension but closed for
        modification

*   Liskov's Substitution Principle
    *   If a program is using object o1 of (base) class C,
        that program should remain unchanged if o1 is replaced by 
        an object o2 of a subclass of C

*   UML - Unified Modeling Language
    is a graphical language
    for 
    *   visualizing
    *   specifying
    *   constructing and
    *   documenting

    ...the artifacts of a software-intensive system

    *   UML is not a software development process model or methodology;

    *   UML is not ITSELF a model --
        it is a language USEFUL for modeling (and more);

    *   using UML to visualize aspects of software 
        this CAN HELP to understand one's system better,
	and CAN HELP in communicating aspects of a system;

        it is a NOTATION for representing
	designs at various levels

*   trying to provide "vocabulary" to model
    software at different LEVELS of abstraction
         
*   consists of MANY diagram types...!
    ...see "Additional UML References" link in References section
    on public course web site;