Object-Oriented Analysis and Design
Course length: 5 days
Prerequisites: There are no prerequisites. However, the more programming you have done, the more you will benefit from an improved approach to designing complex software systems.
Topics
- Overview of abstraction, models, analysis, "object-oriented" and design
- How can one problem have more than one solution and which one is best?
- Understanding systems, actors and use case
- Can a use case show conditional branching, looping/repetition?
- Understanding encapsulation
- Understanding the why's and how's of grouping together pieces of data and code
- All about information hiding
- Understanding objects and their relationship to physical and non-physical things
- Learning about operations
- Understanding collaboration
- Understanding messages and responses and their relationship to objects
- Constructing a message flow diagram
- Understanding attributes and how operations affect them
- Understanding relationships between objects
- Object links and how operations affect links
- Lifetime of links and navigability
- Composition vs. links
- Applying abstraction to similar objects with Classes
- Understanding instances
- Applying abstraction to similar links with Association
- Using links in a particular order with multiplicity
- Learning about reflexive association
- Understanding Inheritance
- How to apply abstraction to similar classes
- Overview of superclasses and subclasses
- Understanding Inheritance and Venn diagrams
- How inheritance affects objects
- Learning about substitutability
- Understanding concrete and abstract Classes
- About Multiple Inheritance and resolving ambiguity
- Learning two aspects of operations: Interface and implementation
- Using polymorphism to write flexible code
- Writing code without polymorphism
- Tips on finding classes
- The what's, why's and how's of Sequence Diagrams
- Understanding reuse
- Overview of Case Tools
- How to write portable software
- Learning about persistence
- Storing objects in a relational database
- Class Libraries
- Improving the performance of an implementation
Return to Courses