Approach | Top-down approach | Bottom-up approach |
Organization | Program divided into sub-modules or functions | Program organized using classes and objects |
Communication | Function call is used | Message passing is used |
Reusability | Software reuse is not possible | Reusability is possible |
Design Integration | Structured design typically left until end phases | Object-oriented design done concurrently with other phases |
Suitability | More suitable for off-shoring | More suitable for in-house development |
Transition from Design to Implementation | Clear transition from design to implementation | Not so clear transition from design to implementation |
Applicability | Suitable for real-time systems, embedded systems, projects where objects are not the most useful level of abstraction | Suitable for most business applications, game development projects, and projects that require customization or extension |
Modeling | DFD & E-R diagram model the data | Class diagram, sequence diagram, state chart diagram, and use cases contribute to modeling |
Project Management | Projects can be managed easily due to clearly identifiable phases | Projects can be difficult to manage due to uncertain transitions between phases |