Skip to main content

Activities in OO system development

Short answer

OO system development iterates through: requirements gathering (use cases, SRS); OO analysis (domain model, system events); OO design (class responsibilities, architecture, patterns); implementation in OO language; unit/integration/system testing; deployment; and maintenance with feedback for next iteration.

Describe the activities involved in Object-Oriented system development.

Object-oriented system development is iterative; each iteration repeats the following activities, usually organised by the Unified Process.

 Requirements -> Analysis -> Design
      ^                         |
      |                         v
   Feedback <- Testing <- Implementation
            Deployment/Maintenance
  1. Requirements gathering. Collect functional and non-functional needs from users by interviews, questionnaires and observation. Write them as use cases and a supplementary specification (SRS).
  2. Object-oriented analysis (OOA). Understand the problem domain. Find use cases, conceptual classes (domain model), attributes, associations and system events (system sequence diagrams), and operation contracts. It answers "what".
  3. Object-oriented design (OOD). Decide how the system will work. Assign responsibilities to classes (GRASP), draw interaction diagrams and a design class diagram, add the architecture (layers, packages), choose patterns. It answers "how".
  4. Implementation (coding). Map the design to an OO language such as Java, C++ or C#: classes, methods, collections, exception handling.
  5. Testing. Unit test of classes, integration test of collaborating objects, system test against use cases, and acceptance test by the customer.
  6. Deployment. Install the system, train users, convert data.
  7. Maintenance and review. Correct errors, adapt and improve; feedback goes to the next iteration.

Because the same object model flows through all activities, the transition from analysis to code is smooth, and each iteration yields a tested working part of the system.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Object Oriented Analysis and Design chapter 1 questions →