UML and Java Programming

Recommended Duration:
3 Days
Version
UML 1.5 (Some UML 2.0 features), Java 1.4, and J2EE 1.4. Course covers UML 1.5, some parts of UML 2.0 are discussed. UML use with Java and J2EE is also discussed.
Benefits
Experienced Java programmers are introduced to UML and how UML artifacts may be used to generate Java code. If supported by the available IDE, students will learn to generate Java from UML diagrams and to reverse engineer Java into UML. This is not an Object Oriented Analysis and Design course, though, many topics and examples are borrowed from OOA&D.
Important artifacts such as use case diagrams, class diagrams, sequence diagrams, and collaboration diagrams are presented in detail. GUI analysis and design is also discussed.
Audience
Experienced Java developers needing to read, create, and use UML design artifacts.
Prerequisites
Java programming experience or completion of "Java Server-Side Programming Part I" is required. Experience using WebSphere Studio Application Developer (WSAD) or some other IDE is useful, but, not required. UML experience is not required. Some familiarity with OOA&D is useful but not required.
Major Topics
  • Unified Modeling Language (UML) Overview
  • Introduction to the Object Management Group (OMG)
  • UML "artifacts"
  • Use Cases and Use Case Diagrams
  • Class Diagrams
  • Sequence Diagrams
  • Collaboration Diagrams
  • GUI Diagramming
  • Generating J2EE code using UML (both Servlet/JSP and EJB)
  • Associations
  • Attributes
  • Converting UML artifacts to code
  • Building Java classes
  • Coupling and Cohesion
  • Creating GUI and prototypes
  • Incremental Development
  • Reverse Engineering (round trip)
  • Using the available Integrated Development Environment (IDE)
  • Introduction to the Rational Unified Process (RUP)
  • Model-View-Controller and other patterns
Exercises
There will be several UML reading and writing exercises. If supported by the available IDE Java code will be created using UML and UML will be created by reverse-engineering Java.