Difference between revisions of "OODE"

From Suhrid.net Wiki
Jump to navigationJump to search
Line 32: Line 32:
 
* Create models at each phase, requirements, design etc.
 
* Create models at each phase, requirements, design etc.
 
* Capture the essence of things of interest - not everything.
 
* Capture the essence of things of interest - not everything.
 +
* Hence models are easier to change - but is difficult to keep the model in sync with the actual system.
 +
 +
== UML ==
 +
 +
* A visual language for describing many aspects of system design and requirements.
 +
*

Revision as of 07:37, 21 October 2011

Introduction

Why OO

  • Modern systems are large and complex - lots of interconnected components, distributed and heterogeneous.
  • OO is particularly useful to build such systems.
  • Remember OO is not always the best approach, but is useful in the right setting.

When to use OO

  • For the systems where the user is in control e.g. decision support systems, CRM's, enterprise systems. OO makes it easier to model such systems.
  • Systems where long term extensibility is important. Again OO's concepts make it easier to incorporate extensibility.

What is OO Development

  • Quite simply, the use of classes and objects in developing software and systems.
  • OO Development implies using classes and objects throughout the construction process - requirements analysis, design, coding and testing.

Development Methods

  • Waterfall - doesnt work for large systems
  • Spiral - emphasizes risk and cost
  • RUP - Rational Unified Process from IBM Rational. User stories are constructed from which OO designs will be built.
  • Use cases are a way to write user stories.
  • Model Driven Development
    • Aim to build software using abstract models. RUP is a kind of MDD.
    • Models are at a higher level abstraction than code.
    • UML is a popular modeling language.

Modeling

  • Create models at each phase, requirements, design etc.
  • Capture the essence of things of interest - not everything.
  • Hence models are easier to change - but is difficult to keep the model in sync with the actual system.

UML

  • A visual language for describing many aspects of system design and requirements.