OO Problem Analysis  «Prev  Next»
Lesson 1
Introduction to Refining the Model
Rethinking Systems Development
In recent years, object-oriented development concepts and methods have received a lot of press. Some outstanding success stories sing the praises of objects. The claims run as high as 90% savings in time and money, 70% to 90% savings on code.
The counterpoint to these claims is an industry-wide savings of only 10% to 30%. Some development teams even slow down because the learning curve is so steep for the new technologies and techniques.
Research into why these powerful new concepts are not yielding the expected results has identified three very important causes:
  1. People using the new technologies are still approaching analysis and design from a procedural and/or data-centric perspective.
  2. The systems development process is not closely linked to a business reengineering process.
  3. Reuse is not a priority.

This module focuses on the attitudes and practices that will help you avoid common pitfalls in software design.
In this module you will learn to:
  1. Apply encapsulation throughout your models and your process
  2. Apply cohesion and coupling throughout your models and your process
  3. Focus on responsibility to improve cohesion and coupling
  4. Understand the purpose and process of refactoring
  5. Apply some guidelines for assigning attributes and operations