Skip to main content

OO design cycle vs conventional cycle

Short answer

Conventional design follows a linear, sequential process separating data and functions, with a gap between models. Object-oriented design is iterative and incremental, using the same objects across phases, giving seamless transition, higher reuse, early risk detection, and easier change. For example, library use cases map to classes that are refined iteratively.

What are the main differences of OO based design cycle to other conventional design cycle? Explain with relevant example.

The conventional (structured/waterfall) cycle is function oriented and sequential. The OO design cycle is object oriented, iterative and incremental, and the same classes carry through analysis, design and code.

Main differences

PointConventional cycleOO cycle
FlowLinear: requirements, design, code, testIterative and incremental
BasisFunctions and data flowObjects and classes
ModelsDFD, ERD, structure chartUse case, class, sequence, state diagrams
Transition between phasesBig gap (DFD to structure chart needs translation)Smooth: same objects in analysis, design and code ("seamless")
Data and processSeparatedCombined (encapsulation)
ChangeCostly late in the cycleEasier; feedback each iteration
ReuseLittleHigh (inheritance, polymorphism, frameworks)
RiskFound lateFound early
TestingAt the endIn every iteration
 Conventional:   Req -> Design -> Code -> Test -> Maintain

 OO (iterative):  +--------------------------+
                  v                          |
              Analysis -> Design -> Code -> Test
                  (use cases, classes, objects)

Example: Library system.

  • Conventional: DFD finds processes "issue book", "return book"; these are mapped to modules in a structure chart; then files/tables are designed separately.
  • OO: use cases "Issue Book" and "Return Book" are found; the domain classes Book, Member, Loan are identified; the same classes get methods in design (Loan.calculateFine()) and are coded directly as Java/C++ classes. The first iteration delivers "Issue Book" completely; the next adds "Return Book" and fines.

Thus OO design reduces the semantic gap between the problem and the solution and handles change better.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Object Oriented Analysis and Design chapter 1 questions →