OOAD and SSAD
OOAD and SSAD
OOAD and SSAD
----------------------------------
The Information Systems (IS) development has evolved over the years from procedural programming to
Modular programming then to Object Oriented Programming. As OO programming becomes the trend,
to support Object Oriented Analysis and Design (OOAD) has also been developed. The pioneers of
OOAD are Grady Booch, Ivar Jacobson and James Rambaugh. The Booch method used different models
to describe a computer system (the objects and their relationships). They heavily depended on diagrams
which are both static and dynamic. . Rambaugh’s Object Modeling Technique (OMT) used three types
of models, viz. : an object model, a dynamic model, and a functional model. The object model represents
the artifacts of the system. The dynamic model represents the interaction between these artifacts
represented as events, states, and transitions. The functional model represents the methods of the
system from the perspective of data flow. Whereas Jacobson method concentrated more on Use cases,
for depicting how a system interacts with the users. The OMG (Object Management Group) adopted
these three models to derive UML (Unified Modeling Language). Of these three models, the OMT
represented more of an analysis and design methodology compared to other two.
The OOAD strategy approaches the system from a object perspective, whereas the traditional structured
methodology approaches it from a functional perspective. SSAD (Structured System Analysis and Design)
is based on the structured top-down decomposition of the functional system. The decomposition
continues until all the essential components of the system are identified. But in OOAD the system model
is developed as the objects and the relationship and interactions with each other. A comparison
between these two models is as follows.
SSAD OOAD
1. SSAD evolved from Structured programming OOAD evolved from Object Oriented Programming
SSAD is process oriented OOAD is data oriented (objects)
SSAD breakdowns the system using DFDs(Data OOAD breaks down the system using Use cases.
Flow Diagrams)
SSAD the components of the system are derived OOAD the components are derived from class
from DFDs diagrams and other UML diagrams.
SSAD has defined steps, of planning , analysis, OOAD most of the times follows an iterative
design and implementation development. The system gets refined each time.
SSAD has a separation of system data and OOAD the system’s data and process are
processes. encapsulated into objects.
Advantages:
1. Compared to SSAD the level of organization, development time and the code reuse are greatly
enhanced in OOAD.
2. Since the objects are closest to the real world model, it improves the understanding of the system
design.
3. The code developed by OOAD is reusable. This helps in reducing design, coding and validation COSTS.
5. OOAD is resilient to change - OOAD is suitable for risky large projects with changing user
requirements.
6. Since the OOAD promotes code reuse, the resources required to develop an Information System is
less.
7. The code reuse increased the quality of the system. Only the new parts of the system should undergo
testing. This reduces the number of defects in the system.
Disadvantages:
1. OOAD tends to be more focused on code rather than the functionality as in SSAD.
2. Project teams with large experience in SSAD the transition to OOAD is very difficult.
3. The reuse without planning will not provide the expected results of reduced time in design, coding
and validation.
4. The amount of time to get trained and the amount of investment required is high compared to
SSAD.
5. OOAD is often adopted for increased productivity and shortened schedule. This may results in
reducing the development time allotted. So all procedures may not be followed and in turn may end
up in schedule slippages and project failures.
OOAD and Business Analysts – For the business analyst, the OOAD methodology enhances
communication with the technical team (design, coding and implementation). Since both sides (BA and
the technical team) can use the common language of UML it helps in clearing ambiguities in
requirements. Once the Business Analysts gets the final set of requirements, after ‘requirements
scrubbing’, he goes into analysis of these requirements. In OOA (Object Oriented Analysis) the Business
Analyst develops a Business process model using Use cases, State diagrams, Activity Diagram etc. These
high level diagrams can also be used in interacting with the customers. Some of the Business Analysts
even go to the level of an Object Model to represent an abstract model of processing and data
requirements of the solution. The use of OOA methods to this level usually depends on how technical
savvy is the Business analysts as well as the organization.
OOAD and Project Manager – The Project Manager uses OOAD methods to develop a Technical model
(Automated Business case) with the help of the technical team. The Business use cases developed by the
Business Analyst will be decomposed to technical use cases. The same will happen with the other
diagrams BA derived during the Analysis phase. These diagrams are also used by the PM to maintain
‘Traceability’. The Business use cases developed by the BA can be traced to the Test cases, design level
transition, communication, activity, and sequence diagrams. So at any point in time during the system
development, the PM can make sure that the system under development conforms to the user
requirements.
OOAD influence on System Development life cycle- The concept of ‘Reuse’ has influenced all the phases
of the system development life cycle. For the BA, it’s the reuse of Business Use cases for similar patterns
in the AS-IS as well as in the TO-BE system. For the technical teams it is the reuse of design patterns and
object oriented code. Altogether this reduces the system development and implementation time.
Another advantage in using the OOAD is more accurate ‘gussstimates’ (Guess+estimates) in the early
stages of the development lifecycle. Identification of the patterns with the past project’s experience (in
PMBOK terms the Enterprise Process Assets) enhances the predictability of the project in terms of
Schedule and Budget.
References:
"Using object-oriented analysis and design over traditional structured analysis and design". International
Journal of Business Research. Kenneth Pefkaros, FindArticles.com. Accessed on 07 Oct, 2010.
http://findarticles.com/p/articles/mi_6773/is_2_8/ai_n31126769/
Pitfalls of Objected oriented Development, Vivek Shah, Marcos Sivitanides, Roy Martin,
Object Orinetd Analysis & Design by Atul Kahate page 25-33, Tata McGraw-Hill, 2007
Further reading:
UML 2.0 in action , A Project Based Tutorial, Patric Grassle et al, PCKT Publishing, 2005