2. Three OOD principles that improve software design for reliability,
maintainability, and reusability.
• Abstraction: Objects are an abstraction of part of the real-
world. More maintainable and reusable.
• Encapsulation: Objects hide their internal contents from
other components to improve maintainability. (information
hiding)
• Inheritance: Organizing objects in class hierarchies to
promote reuse. (subclass, superclass, hierarchical, multiple,
polymorphism)
6/3/2014 2Sahib Babbar - sahib.babbar@gmail.com
4. • HOOD is a method of hierarchical decomposition of the
design into software units based on identification of objects,
classes and operations reflecting problem domain entities or
more abstract objects related to digital programming entities.
• It is intended for the Architectural Design, Detailed Design and
coding for software to be developed in programming
languages such as Ada, C, or FORTRAN, as well as in object
oriented languages such as C++, Ada95 or Eiffel.
6/3/2014 4Sahib Babbar - sahib.babbar@gmail.com
5. The main process in HOOD is called the Basic Design Step.
• "A Basic Design Step has as its goal the identification of child
objects of a given parent object, and of their individual
relationships to other existing objects, or the refinement of a
terminal object to the level of the code. This process is based
on the identification of objects by means of object-oriented
design techniques”
6/3/2014 5Sahib Babbar - sahib.babbar@gmail.com
6. A basic design step process is further split into four phases, thus
defining a micro life-cycle for a design step: -
1. Problem definition
• Statement of the problem
• Analysis and structuring of requirement data
2. Development of solution strategy
3. Formalization of the strategy
• Object identification.
• Operation identification.
• Grouping objects and operations (object operation table).
• Graphical description.
• Justification of design decisions.
4. Formalization of the solution
6/3/2014 6Sahib Babbar - sahib.babbar@gmail.com
7. Phase 1 : Problem Definition
The context of the object to be designed is stated, with the goal
of organizing and structuring the data from the requirement
analysis phase. This is an opportunity to provide a
completeness check on requirements and traceability to
design.
1. Statement of the problem - the designer states the problem in
correct sentences which provides:
- a clear and precise definition of the problem;
- the context of the system to design.
2. Analysis and structuring of requirement data - the designer
gathers and analyses all the information relevant to the
problem, including the environment of the system to be
designed.
Phase 1
Problem definition
Phase 2
Development of
solution strategy
Phase 3
Formalization of the
strategy
Phase 4
Formalization of the
solution
6/3/2014 7Sahib Babbar - sahib.babbar@gmail.com
8. Phase 2 : Development of solution strategy
The outline solution of the problem stated above is described
in terms of objects at a high level of abstraction.
Phase 1
Problem definition
Phase 2
Development of
solution strategy
Phase 3
Formalization of the
strategy
Phase 4
Formalization of the
solution
6/3/2014 8Sahib Babbar - sahib.babbar@gmail.com
9. Phase 3 : Formalization of the strategy
The objects and their associated operations are defined. A
HOOD diagram of the proposed design solution is
produced, allowing easy visualization of the concepts and
further formalization. There are five sub phases in the
formalization of the strategy:
1. Object identification.
2. Operation identification.
3. Grouping objects and operations (object operation table).
4. Graphical description.
5. Justification of design decisions.
Phase 1
Problem definition
Phase 2
Development of
solution strategy
Phase 3
Formalization of the
strategy
Phase 4
Formalization of the
solution
6/3/2014 9Sahib Babbar - sahib.babbar@gmail.com
10. Phase 4 : Formalization of the solution
The solution is formalized through:
• formal definition of provided object interfaces.
• formal description of object and operation control
structures.
Phase 1
Problem definition
Phase 2
Development of
solution strategy
Phase 3
Formalization of the
strategy
Phase 4
Formalization of the
solution
6/3/2014 10Sahib Babbar - sahib.babbar@gmail.com
11. The main diagram used for describing the structure of a system
is the HOOD object diagram, which shows a static view of the
structure in the hierarchical object oriented design. The
symbols used are as follows:
6/3/2014 11Sahib Babbar - sahib.babbar@gmail.com
12. 6/3/2014 12
Person
name address national_insurance_no
Chare_time
Earn_salary
Hire
Fire
Product
Product_name weight
Worker Manager
Department
Company
name
address
phone
product
works_for
project
Project_name
Budget
priority
Manu-
factures
Component Optional_extras