Documente Academic
Documente Profesional
Documente Cultură
MODULE 1
Dr.D.Jeya Mala,
Associate Prof., Thiagarajar College of Engineering, Madurai.
Why Object-Oriented?
OO Approach
the solution should be considered as a collection of
interactions among various well defined entities.
OO over Structured
The paradigm shift now is on the collaboration of
the entities to provide the expected functionality
rather than on how to achieve the functionality.
This improves
performance, reliability and availability of the
software;
extensibility and reusability of the entities in the
problem domain.
Real World Application Development –
Resolving complexity
Algorithmic Vs. Object Oriented Abstraction
Read Personal Read Pay Details Calculate Grosspay Calculate Netpay Pay Roll Generation Pay Slip
Details Generation
Algorithmic hierarchy
is top down structured and
is showed as having a collection of subsystems under a
system and further when it is split up, this will be fine
tuned till the primitive components are reached.
The subsystems collaborate to provide a complete
system.
Structured Approach
System
Package1/ …. …. Package n /
Namespace 1 Namespace n
Component 1 …. Component n
System
Class Hierarchy Example
Vehicle
Dr.D.Jeya Mala
Object oriented analysis and design with UML
OOAD offers
A routine for acquiring understanding
An approach for recording the relevant information
30
Visual Modeling
Visual modeling is the process of taking the information from
real-world process of a computer system and displaying it
graphically using a standard set of graphical elements.
Benefits
To easily communicate information between different stakeholders in an
unambiguous way
To specify target-language-independent designs
To provide structure for problem solving
To provide mechanisms (abstractions, views, filtering, structure) to
manage complexity
To be able to easily experiment to explore multiple solutions
To be able to build something in virtual form and verify that it works
before committing resources to build the real thing
Visual Modeling for the Stakeholders
Users
Visualize interactions they will make with the system
Analysts
Visualize interactions between the various objects from the models
Developers
Visualize objects that need to be developed and the functionalities of each of
them
Testers
Visualize the interactions between objects and prepare test cases based on
these interactions
Project managers
see the entire system and understand how the individual modules interact
Chief information officers
Visualize high−level models and see how systems in their organization interact
with one another.
Unified Modeling Language (UML)
History
Construction
Documenting
Tools Available
Rational Rose, Enterprise Architect, Eclipse, Umbrello
UML Modeler, Altova, MagicDraw, Describe and even
Microsoft Visuo.
Special features of UML
facilitates re-usable section of the code to be
identified easily and coded with the highest
efficiency
spots the logic 'holes' in design drawings and hence
ensures that the software will behave as expected
directs the way in which the software is developed
and hence right decisions are made early on in the
process
presents an enterprise level, bird’s-eye view of the
entire system and, as a result, competent memory
and processor efficient systems can be designed
Special features of UML
supports easy maintenance of the application, by
providing more effective visual representations of
the system which are precisely understood by the
maintenance team
aids in providing resourceful training to new
members of the development team
provides an effective medium of communication with
both internal and external stakeholders since it
documents the system much more efficiently
UML Diagrams
Class diagram
Object diagram
Package diagram
Component diagram
Composite structure diagram
Deployment diagram
Use case diagram
Activity diagram
State-machine diagram
Sequence diagram
Communication diagram
Interaction overview diagram
Timing diagram
Hierarchical categorization of the UML diagrams
Support for OOA and OOD
Models in unambiguous, precise manner
OOA-OOD
discovery and documentation of the key classes for a
particular problem domain, interactions, details etc.
UML Use case diagrams, Class diagrams – great help
Designers
Coders
Testers
QA
The Customer
Technical Authors