* UML 2.0 defines *13* types of diagrams ...these can be categorized in different ways, here is one such categorization: * structure diagrams * class diagram * object diagram * component diagram * composite structure diagram * package diagram * deployment diagram * behavior diagrams * use case diagrams * activity diagram * state machine diagram * interaction diagrams - derived from the more-general behavior diagrams * sequence diagram * communication diagram * timing diagram * interaction overview diagram * Jalote Chapter 7 - Coding and Unit Testing -- * Weinberg's experiment * coding and testing are inter-related -- and remember that MAINTENANCE is greatly affected by HOW coding and testing are done; * that old maxim: code should be written so other PEOPLE can read it... * "bad smells" * things in working/passing-unit-test code that suggest refactoring MAY be desired; * Code inspection - another technique often used at the "unit" level * IS recognized as an industry best practice * main goal of a code inspection to detect defects in work products * conducted by group of programmers FOR programmers (review done by PEERS) * we're talking about this as a STRUCTURED process, with defined roles for participants * review data is recorded, used for monitoring effectiveness * can be broken into phases: * planning phase * preparation and overview phase * group review meeting phase * rework and follow-up phase