Difference between revisions of "OODE"
From Suhrid.net Wiki
Jump to navigationJump to search (→UML) |
(→UML) |
||
Line 38: | Line 38: | ||
* A visual language for describing many aspects of system design and requirements. | * A visual language for describing many aspects of system design and requirements. | ||
* UML is '''''only a language''''' and NOT a method/process. UML is typically used with an agile method. | * UML is '''''only a language''''' and NOT a method/process. UML is typically used with an agile method. | ||
+ | * UML consists of two parts: | ||
+ | # The graphical notation used to draw models. | ||
+ | # A metamodel: which specifies the validity of models. |
Revision as of 07:45, 21 October 2011
Contents
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.
- UML is only a language and NOT a method/process. UML is typically used with an agile method.
- UML consists of two parts:
- The graphical notation used to draw models.
- A metamodel: which specifies the validity of models.