Title: Object Orientation
1Object Orientation
WHY Try to model the data, not the
tasks/procedures Data change less often! Data
is considered to be objects...
Some more of the (claimed) benefits of using
OOAD methods
- Increased abstraction
- Encouragement of cyclic development easy to
revisit early stages - OAD uses a core set of models
- OOAD increases software reusability,
- due to high degree of modularity
2Objects Classes
An abstraction of something in a problem domain,
reflecting the capabilities of the system to
keep information about it, interact with it, or
both objects have crisp boundaries and
meaning for the problem at hand. They encapsulate
state and behaviour.
The state of an object is represented by
attributes and relationships. Behaviour is
represented by operations, methods and state
machines.
An object represents a particular instance of a
class. A class is a description of a set of
objects that share the same attributes,
operations, methods, relationships and semantics.
3Capturing User Requirements Use Case Modeling in
UML (1/2)
A use case model employs actors and use cases
in order to depict a scenario of the systems
use.
Use case a part of the systems functionality.
Use case models can model functionality of
entities at different levels of abstraction
Use case models can be used for
- Illustration
- Validation
- System testing
4Actors Use Cases
- The use case modeling is the technique during
which use case models are produced. A use case
model employs actors'' and use cases'' in
order to depict a scenario of the system's use. - The actors'' represent roles played by various
people or other systems, while the use cases''
represent typical interactions that the actor has
with the system. - Actor a coherent set of roles that users of use
cases play when interacting with these use cases.
An actor has one role for each use case with
which it communicates'' - Use case the specification of a sequence of
actions, including variants, that a system (or
other entity) can perform, interacting with
actors of the system'' OR - a behaviourally related sequence of transactions
in a dialogue with the system''
5Capturing User Requirements Use Case Modeling in
UML (2/2)
What use case modeling is
- It is about what the system will do at a
high-level, with respect to its users.
- It is about describing the system goals
- It is about capturing the functional requirements
What use case modeling is not
- It is not about capturing how the system will do
anything
- It is not about describing the system functions.
To decompose or not to decompose? Tradeoffs
6- Kenworthy E. Use Case Modelling Capturing
User Requirements, - http//www.zoo.co.uk/z0001039/PracGuides/pg_use_c
ases.htm, December, 1997. - M. Fowler K.Scott Use Cases,
- http//www2.awl.com/cseng/titles/0-20189542-0/tech
niques/useCase.htm - Sjaak Brinkkemper, Shuguang Hong, Arjan
Bulthuis, Geert van den Goor - Object-Oriented Analysis and Design Methods A
Comparative Review, - http//wwwis.cs.utwente.nl8080/dmrg/OODOC/oodoc/
oo.html, January 1995 - Penker M. The Unified Modeling Language,
- http//www.boldsoft.com/news/columns/co
lumn1998july.htm, - July 1998.
7Polymorphism(the ability to appear as many forms)
...In one of the StarTrek movies, Cap. Kirk was
in trouble, as usual. He met an extremely
beautiful lady who however thereupon changed
into a hideous troll. Kirk was quite surprised,
but the lady told him Didn't you know I am a
polymorph?''
- Polymorphism allows a message to achieve the
same result, even when the mechanism for
achieving it differs between different objects. - Identical messages are sent to objects of
different classes each object responds in a
different, yet appropriate way. - The requesting object need not know the class of
the receiving object.