Object Oriented Analysis and Design (BAOOAD, 5 days) -
2. Course Description
This CTES Certified System design course provides IT professionals with a good overview of the end to end roles and responsibilities of a software designer in the context of an application development project. The course begins with a discussion of the differences between a waterfall methodology and an iterative methodology as it applies to the systems design role. It is worth noting that the iterative methodology is emphasized and discussed in detail in this course. Having situated systems design within the larger context of the overarching methodology, a thorough discussion of business use cases, system use cases, UML and database design is undertaken. The focus is on the development of high quality functional requirements in support of a particular design activity. This is followed by an implementation workshop which allows participants to see how a given design can be implemented using the object oriented language of their choice. If time permits, the course concludes with an overview of design patterns and of their implementation in the chosen language.
3. Course Pre-requisites
Previous experience as systems designer and an object oriented programmer
4. Target Audience
Experienced software programmers and system designers
Module 1: Software Engineering with Components.
Topic 1: What is a good system?
Topic 2: Do we have a good system?
Topic 3: What are good systems like? Encapsulation, Abstraction, Coupling!
Topic 4: How are good systems built?
Module 2: Object Concepts
Topic 1: Defining terms: Containment, Inheritance, Polymorphism, Interface and Implementation, classes, etc
Topic 2: What is an object? Messages, Interfaces, Classes.
Topic 3: Inheritance.
Topic 4: Polymorphism and Dynamic Binding.
Topic 5: How does this help us achieve the goals of Section I.
Module 3: The Rational Unified Process
Topic 1: The Happy Video Store
Topic 2: The Rational Unified Process
Topic 3: The Inception Phase
Topic 4: The Elaboration Phase
Topic 5: The Construction Phase
Topic 6: The Transition Phase
Module 4: UML: Essentials of Class Models
Topic 1: Introduction to UML
Topic 2: Identifying objects and classes.
Topic 3: Associations.
Topic 4: Attributes and Operations.
Topic 5: Generalization.
Topic 6: The class model during the development.
Topic 7: CRC cards.
Module 5: UML: More On Class Models.
Topic 1: More about associations: Aggregation and Composition, Roles, Navigability, Qualified Associations, Derived Associations, Constraints.
Topic 2: More about classes: Interfaces, Abstract Classes.
Topic 3: Parametrized classes.
Topic 4: Dependency
Module 6: UML: Use Case Models
Topic 1: Actors in detail.
Topic 2: Use cases in detail
Topic 3: System boundary
Topic 4: Relationships between use cases.
Topic 5: Relationships between actors.
Topic 6: Actors and classes.
Module 7: UML: Interaction Diagrams.
Topic 1: Collaborations.
Topic 2: Interactions on Collaboration Diagrams.
Topic 3: Sequence Diagrams.
Topic 4: More advanced features: Messages from an object to itself, Detailed Behavior, Returned Values, Creation and Deletion of Objects, Timing.
Topic 5: Other Purposes: providing an operation, how design patterns work, how a component works.
Topic 6: Conditional Behavior and Iteration.
Topic 7: Concurrency.
Module 8: UML: State And Activity Diagrams.
Topic 1: State Diagrams
Topic 2: Activity diagrams.
Topic 3: Other kinds of events.
Topic 4: Other kinds of actions.
Topic 5: Looking inside states.
Topic 6: Concurrency within states.
Module 9: UML: Implementation Diagrams
Topic 1: Component Model
Topic 2: Deployment Model
Module 10: UML: Reuse: Components and Patterns.
Topic 1: What can be reused and how?
Topic 2: Why reuse?
Topic 3: Why is reuse hard?
Topic 4: Which components are really reusable?
Topic 5: What difference does object orientation make?
Module 11: Creating Objects with Java/VB.NET/C#
Topic 1: Proper Coding
Topic 2: Using Classes
Topic 3: Creating Classes
Topic 4: Class Properties
Topic 5: Object Methods
Topic 6: Constructors
Topic 7: Destructors
Topic 8: Static Data
Topic 9: A complete Object example
Module 12: Inheritance and Polymorphism
Topic 1: Inheritance
Topic 2: Polymorphism
Topic 3: Abstract Functions and Classes
Topic 4: Interfaces
Topic 5: Common Inheritance Examples
Module 13: UML: Design Patterns (If Time Permits):
Topic 1: Modeling Design Patterns
Topic 2: Singleton
Topic 3: Abstract Factory
Topic 4: Facade
Topic 5: Visitor
Topic 6: Observer
Date and Price
Jun 24 to Jun 28, 2013
Nov 4 to Nov 8, 2013
1-2 People for
Web Dev Training
Windows 8 Training
Server 2012 Training
SQL Server Training
Testing and QA
ITIL® is a registered trademark of the Cabinet Office
IT Infrastructure Library® is a registered trademark of the Cabinet Office