Accelerating Java Development with the UML Greg Schottland General Manager, Application Development Tools Embarcadero Technologies,Inc.
Tutorial Outline lPart 1: Quick Overview of the UML lPart 2: Practical UML lPart 3: Demonstration
Part One UML Overview
What is the UML lUnified Modeling Language lAn industry standard design notation for: èExpressing software architecture èExpressing software dynamics and behavior èDocumenting software deployment lOMG standard lThe de-facto industry standard today lThe UML supports both Process and Architecture
UML Architecture Support Design ViewImplementation View Process View Deployment View Use Case View View Model of Architecture Class & Object Diagrams Interaction Diagrams Statechart Diagram Activity Diagram Component Diagram Interaction Diagrams Statechart Diagram Activity Diagram Use Case Diagram Interaction Diagrams Statechart Diagram Activity Diagram Class & Object Diagrams Interaction Diagrams Statechart Diagram Activity Diagram Deployment Diagram Interaction Diagrams Statechart Diagram Activity Diagram Reprinted from The Unified Modeling Language Users Guide
Architecture lUse Case View l encompasses the use cases that describe the behavior of the system l does not specify the organization of the software system l does specify the forces that shape the system’s architecture l static aspects are captured in Use Case diagrams l dynamic aspects are captured in Interaction (Sequence and Collaboration), Statechart and Activity diagrams
Architecture lDesign View l classes, interfaces and collaborations that form the vocabulary of the problem and its solution l supports the functional requirements of the system l static aspects are captured in Class and Object diagrams l dynamic aspects are captured in Interaction, Statechart and Activity diagrams
Architecture lProcess View l threads and processes that form the system’s concurrency and synchronization mechanisms l addresses performance, reliability, scalability and throughput of the system l static and dynamic aspects are captured as with the Design View with a focus on active classes that represent the processes and threads
Architecture lImplementation View l the components and files used to assemble the system l primarily addresses the configuration management of the system’s releases l static aspects are captured in Component diagrams l dynamic aspects are captured in Interaction, Statechart and Activity diagrams
Architecture lDeployment View l the nodes that form the system’s hardware topology l addresses the distribution, delivery and installation of the system l static aspects captured in Deployment diagrams l dynamic aspects captured in Interaction, Statechart and Activity diagrams
Part Two Practical UML
Class Diagram Sequence Diagram Use-Case Diagram Most used UML Diagrams:
Practical UML lThree main approaches to applying UML technology l Upfront Analysis and Design l Code exploration / discovery l Combination of the above two
Upfront A & D: Models Guide Code Java Source Code
Code Exploration / Discovery: Code viewed through models Java Source Code
Combination: Quick Iteration Between Code and Models Java Source Code
Part Three Demonstration
Network Monitor Program Sample application to monitor network performance of clients connected to a server
Network Monitor Model Summary UML Provides Architecture and Implementation Visibility
Recommended UML Guides lSAMS Teach Yourself UML in 24 Hours Schmuller, Joseph Indianapolis: SAMS: A Division of Macmillan Computer Publishing. lInstant UML Miller, Pierre-Alain, Paris: Wrox Press Ltd. lThe Unified Modeling Language User Guide Booch, Grady, J. Rumbaugh, and I. Jacobson Reading: Addison-Wesley. lUse Case Driven Object Modeling with UML Rosenberg, Doug with Kendall Scott Addison-Wesley
Thank You! Greg Schottland Phone: (800) 811 – 2784 Website: