Object Oriented Analysis and Design with Use Cases
The course consists of lectures combined with practical exercises to consolidate what is taught. The students will apply the concepts either to a project that is relevant to their work, or alternatively, a sample project can be provided.
Training Course Objectives
- Create effective use-case diagrams and write effective use case descriptions and scenarios
- Identify analysis classes from use case description documents
- Create analysis sequence diagrams from analysis classes, use case descriptions and scenarios
- Create class diagrams from analysis sequence diagrams, and create design sequence diagrams allocating behaviors appropriately
- Apply the concepts of abstraction, encapsulation, inheritance and polymorphism to create a comprehensive class diagram
- Create state charts and understand how they feed into the model
- Understand the need for mechanisms, and be able to identify required mechanisms
- Identify the need for components, and be able to identify suitable components
- Know how to package classes effectively, and understand the principles of layering applications
- Understand the different views of a software architecture, the key mechanisms that are defined in support of that architecture, and the effect of the architecture and mechanisms on the produced design
- Describe some basic design considerations, including the use of patterns
Who it is for
This workshop is intended for practitioners who desire an understanding of object-oriented analysis and design concepts using UML, as well as hands-on practical experience applying the techniques. This includes analysts, designers, and software developers.
Training Course Prerequisites
- An appreciation of the issues surrounding the delivery of quality software that meets requirements, is on time and is on budget.
Chapter 1 Concepts and UML Overview
- An overview of the basic OO concepts
- Objects and Classes
- UML Notation Overview
Chapter 2 Introduction to Use-Cases
- Overview of the basic Use-Case Modelling concepts
- Actors, Use-Cases, Associations
- Requirements Documents (Use Case Model, Use Case Specification, Supplementary Specification, Glossary)
Chapter 3 Defining the Architecture
- Techniques for defining the initial Architecture for the system.
- Introducing 3-Tier, MVC, and Layered Architectures.
Chapter 4 Use Case Analysis
- Techniques for identifying the initial classes from Use-Case Specifications
- Allocating responsibilities to these classes
- Describing the required class collaborations to deliver the Use-Case functionality
- Describing the class relationships that must exist to support collaborations
Chapter 5 Analysis to Design
- Techniques for moving from the initial analysis model produced in Use Case Analysis to the more formal design model
Chapter 6 Implementing Architectural Design Patterns
- Refinement of the initial architecture to incorporate key design and implementation patterns for mechanisms
Chapter 7 Use Case Design
- Techniques for refining the collaborations initially developed during ?Use Case Analysis? to incorporate the defined architectural patterns and design elements
- Techniques for designing the internals of subsystems identified during ?Analysis to Design?
Chapter 8 Introducing Design Patterns
- Commonly used Design Patterns
- Abstract Factory
Chapter 9 Class Design
- Techniques for designing the internals the design classes
- Modeling state-controlled behavior
- The refinement of the class relationships and the incorporation of basic patterns