SoftMoore
Consulting

Object-Oriented Analysis and Design

Home Resources Feedback Search Contents

 

Training
Consulting
Rates

Get Java Now

Object-Oriented Analysis and Design With UML

Description: 
This SoftMoore seminar introduces the fundamental principles of object-oriented requirements analysis and design using the notation of the Unified Modeling Language (UML), which integrates many of the best features from earlier object-oriented methods including the Booch Method, Object-Oriented Software Engineering (Jacobson), and the Object Modeling Technique (Rumbaugh).  Adopted as a standard by the Object Management Group in late 1997, UML has been accepted by the software community as the primary notation for specifying, constructing, visualizing, and documenting the artifacts of a software-intensive system. Topics include an overview of basic object-oriented concepts, requirements capture via use cases, strategies for identifying objects and classes of objects, development of class diagrams, specifying object interactions, design of class hierarchies, specifying object lifecycle and state-dependent behavior, architectural considerations, an incremental and iterative process for object-oriented analysis and design, techniques for evaluating an object-oriented model, and an overview of design patterns for object-oriented software. Case studies and class exercises will be integrated with class discussions throughout the course to illustrate and reinforce the underlying concepts.
 
Audience:
This seminar is designed for software professionals who are interested in applying object-oriented techniques to the analysis and design activities of software development. Participants should have strong software development experience. Prior familiarity with object-oriented concepts and languages would be useful but is not required.
 
Recommended Duration:
5 Days
 
Course Materials:
Each participant will receive a complete set of all course materials including course notes, class exercises and solutions, and a copy of the Addison-Wesley textbook UML Distilled (Second Edition) by Martin Fowler and Kendall Scott.
 

Course Outline

Basic Object-Oriented Concepts
 Software Engineering
 Classes and Objects
 Object Identity
 Encapsulation/Information Hiding
 Inheritance
 Polymorphism
 Benefits of an Object-Oriented Approach
 
Overview of UML
 Background and Current Status
 Model Elements and Relationships
 Common Mechanisms
 
Capturing Requirements with Use Cases
 Actors and System Boundaries
 Basic Course and Alternative Courses
 Use Case Relationships
 Documenting Use Cases
 
Modeling the Static Structure
 Modeling Objects and Classes
 Attributes, Operations, and Methods
 Links and Associations
 Multiplicity
 Class Stereotypes
 Packages
 Generalization
 Aggregation and Composition
 Dependency
 Abstract Classes
 Interfaces
 Association Classes
 Active Classes
 
Modeling Object Interactions
 Modeling Messages
 Sequence Diagrams
 Collaboration Diagrams
 Modeling Object Lifecycles and State-Dependent Behavior
 States, Events, and Transitions
 Statechart Diagrams
 Actions and Activities
 Sequential and Concurrent Substates
 
Additional UML Concepts
 Activity Diagrams
 Component Diagrams
 Deployment Diagrams
 
Architecture
 Multi-tier Software Architecture
 Logical versus Physical Tiers
 Architecture Impact on Analysis and Design
 
Analysis and Design Process
 Software Lifecycle Models
 Identifying Objects and Classes
 An Iterative and Incremental Process
 Problem Space versus Solution Space
 The Role of Prototyping
 Documenting Analysis and Design Models
 
Design Patterns
 The Role of Patterns in Software Design
 Overview of Creational Patterns
 Overview of Structural Patterns
 Overview of Behavioral Patterns
 
Evaluating an Object-Oriented Design
 Class Coupling and Cohesion
 Principles of Object-Oriented Design
 
Selected Topics in Object Technology
 Object Persistence
 Object Technology and Software Reuse
 Testing Object-Oriented Software
 Object-Oriented Metrics
 

 

Send mail to jmoore@softmoore.com with questions or comments about this web site.
Last modified: June 1, 2004