Provided by: Software Training Academy, Inc

Object-Oriented Analysis and Design with UML

Computer

A good understanding of object-oriented analysis and design is important in designing effective systems using modern software engineering languages and frameworks such as C , .NET and Java. This five-day course teaches you how to use object-oriented techniques to analyze real-world requirements and to design solutions that are ready to code. The course employs Unified Modeling Language, using UML 2. 0 notation.
The course contains a case study of an object-oriented system. Progressive labs go through the analysis and design of this system, which is documented in UML notation. Implementations are provided of the case study in C , Java and C#.
LEARNING OBJECTIVES
Learn how to identify and design objects, classes, and their relationships to each other
Use links, associations, and inheritance
Use diagram notation for use cases, class and object representation, links and associations, and object messages
Gain a working knowledge UML 2. 0
Apply knowledge of OOAD to design an object-oriented system which can be implemented in an object-oriented language
Audience: Analysts, designers, architects, and developers responsible for applying object-oriented techniques in their software engineering projects.
Prerequisites: Some exposure to the problems of analysis and design. Experience with structured analysis and design and object-oriented programming would be helpful.
This is primarily ilt training
on-line e-learning cbt (computer based)This is an online eLearning or CBT training program
self directedThis is a self-directed course
study at homeThis course may be available for home-study
instructor led trainingThis class may be available at a classroom in Toronto, ON,
Course Level:introductory
Duration:flexible
Training Presented in:English
Training Provided by Software Training Academy, Inc
Object-Oriented Analysis and Design with UML
1. Course Introduction
Course Objectives
Overview
Suggested References
2. Introduction to Analysis and Design
Why is Programming Hard?
The Tasks of Software Development
Modules
Models
Modeling
Perspective
Objects
Change
New Paradigms
3. Objects
Encapsulation
Abstraction
Objects
Classes
Responsibilities
Attributes
Composite Classes
Operations and Methods
Visibility
Inheritance
Inheritance Example
Protected and Package Visibility
Scope
Class Scope
4. Advanced Objects
Constructors & Destructors
Instance Creation
Abstract Classes
Polymorphism
Polymorphism Example
Multiple Inheritance
Solving Multiple Inheritance Problems
Interfaces
Interfaces with Ball and Socket Notation
Templates
5. Classes and Their Relationships
Class Models
Associations
Multiplicity
Qualified Associations
Roles
Association Classes
Composition and Aggregation
Using Class Models
6. Sequence Diagrams
Sequence Diagrams
Interaction Frames
Decisions
Loops
Creating and Destroying Objects
Activation - 2. 0
Synchronous & Asynchronous
The Objects Drive the Interactions
Evaluating Sequence Diagrams
Using Sequence Diagrams
7. Communication Diagrams
Communication Diagrams
Communication and Class Diagrams
Evaluating Communication Diagrams
Using Communication Diagrams
8. State Machine Diagrams
What is State?
State Notation
Transitions and Guards
Registers and Actions
More Actions
Internal Transitions
Superstates and Substates
Concurrent States
Using State Machines
Implementation
9. Activity Diagrams
Activity Notation
Decisions and Merges
Synchronization
Drilling Down
Iteration
Partitions
Parameters and Pins
Expansion Regions
Using Activity Diagrams
10. Package, Component, and Deployment Diagrams
Modeling Groups of Elements - Package Diagrams
Visibility and Importing
Structural Diagrams
Components and Interfaces
Deployment Diagram
11. New Models in UML 2. 0
New to UML 2. 0
Composite Structure Diagrams
Timing Diagrams
Interaction Overview Diagrams
12. Use Cases
Use Cases
Use Case Diagram Components
Use Case Diagram
Actor Generalization
Include and Extend
Other Systems
Narrative
Template for Use Case Narrative
Using Use Cases
13. Process
Process
Risk Management
Test
Reviews
Refactoring
History
The Unified Process
Agile Processes
14. The Project
Inception
Elaboration
Elaboration II
Construction Iterations
Construction Iterations - The Other Stuff
15. Domain Analysis
Top View - The Domain Perspective
Data Dictionary
Finding the Objects
Responsibilities, Collaborators, and Attributes
CRC Cards
Class Models
Use Case Models
Other Models
Judging the Domain Model
16. Requirements and Specification
The Goals
Understand the Problem
Specify a Solution
Prototyping
The Complex User
Other Models
Judging the Requirements Model
17. Design of Objects
Design
Factoring
Design of Software Objects
Features
Methods
Cohesion of Objects
Coupling between Objects
Coupling and Visibility
Inheritance
18. System Design
Design
A Few Rules
Object Creation
Class Models
Interaction Diagrams
Printing the Catalog
Printing the Catalog II
Printing the Catalog III
Object Links
Associations
19. Refactoring
Refactoring
Clues and Cues
How to Refactor
A Few Refactoring Patterns
Appendix A. UML Syntax
Appendix B. Design by Contract
Contracts
Enforcing Contracts
Inheritance and Contracts
Appendix C. University Summary
Appendix D. Implementations
C
Java
C#
About The Training Provider: Software Training Academy, Inc
Software Training Academy, Inc - Software Training Academy is company based in Seattle, WA (USA) and Toronto, ON (Canada) and it offers highly customized IT Training. Our portfolio includes Java, .NET, Web Development (PHP, Ruby on Rails, etc), Databases (Oracle, SQL Server, MySQL, DB2, etc) and Advanced courses for Microsoft Office. We deliver courses either onsite or in class throughout North America and Europe, and...
Want to Sell More learning object-oriented training?
Custom Search
tcw11-v473M-01/09/12-04:10:21-()[B]-[B]-[A] -12:28:07