Home Feedback Search Contents

 

 













 

Managing Object-Oriented Software Development

Course Description

Object-oriented software technology represents a new paradigm that affects every element of the software development process. Projects using object technology have a different set of deliverables, a different life cycle, different team structures, and different cost estimation techniques. This course explains the different phases of the object-oriented development process, the iterative approach to system development, how to organize development teams, how to encourage reuse, and the new metrics used in object-oriented development.

Course Objective

The objective of this course is to prepare project managers to successfully lead object-oriented development projects. Upon completion of this course attendees will be able to:

Discuss the basic object-oriented concepts of objects, classes, methods, messages, attributes, associations, aggregation, inheritance, and polymorphism.
Explain the tasks, phases, and deliverables of the object-oriented life cycle. 
Understand the impact of this technology on organizations, project structures, and teams. 
Lead the transition to the implementation of object-oriented technologies. 
Direct the evaluation of languages, tools, methodologies, and commercial class libraries. 

Audience

This course is primarily directed toward project managers and team managers. In addition, analysts, designers, programmers, and testers would benefit from this material.

Prerequisites

This course does not require any previous training or experience in the object-oriented paradigm. An introduction to object-oriented concepts is provided. Experience in leading projects using the structured analysis or entity-relationship paradigm would be beneficial.

Course Duration

Managing Object-Oriented Software Development is a two day course. It can be offered in an abbreviated one day format to meet the needs of those interested in a high-level introduction.

Course Outline

  1. Paradigm Shifts
  2. The Software Industrial Revolution 
    Paradigm shifts 
    Procedural decomposition 
    Information modeling 
    The object-oriented paradigm
  3. Technical Basis for Moving to Object-Oriented Technology
  4. Objects 
    Classes 
    Inheritance 
    Polymorphism 
    Message binding
  5. Activities in Object-Oriented Software Development
  6. Systems Engineering 
    Domain Analysis 
    Application Analysis 
    Application Design 
    Class Development 
    Application Assembly 
    Testing
  7. Life Cycles for Object-Oriented Software Development
  8. Interlocking life cycles 
    Waterfall model 
    Iterative and Incremental models 
    Prototyping and Spiral models 
    Management impact
  9. Documentation, Deliverables, and Quality Assurance
  10. System 
    User documentation 
    Technical documentation 
    Regression testing 
    Development deliverables
  11. Managing the Transition to Object-Oriented Technology
  12. The Paradigm Life Cycle 
    Introducing object-oriented technology 
    Transition strategies 
    Dealing with legacy code 
    First projects 
    Resource planning and scheduling 
    Project planning and metrics 
    Organizational impact
  13. Notations and Methodologies
  14. Rumbaugh 
    Booch 
    Jacobsen, Shlaer/Mellor, and others 
    Similarities and differences
  15. Languages and Databases
  16. Comparison of object-oriented languages 
    Impact of language on design 
    Object-oriented databases
  17. Class Libraries and Organizing for Reuse
  18. Commercial class libraries 
    Large-scale reuse 
    Corporate software libraries 
    Organizing for reuse 
    Obstacles to reuse
  19. Summary
  20. Evolution or revolution
    Early adopters 
    Moving to object-oriented technologies 
    Factors for success

Copyright © 2014 Korson-McGregor.  All rights reserved.