Analysis

aka ‘Problem domain’ - Understanding the Problem

  • What is the current issue
  • What does the customer need
  • Functional requirements (inputs, outputs)
  • Non functional requirements (performance, security, quality, maintainability, extensibility)

 

Collect this information via use-case modelling, user stories

Design

  • Developing the implementation of the requirements
  • Plan out the system’s internal structure that delivers the external behaviour
  • Software blueprints (design artifacts, domain models)

 

UML Class Design Component Design

Implementation

Writing the software

Testing

Unit testing (component testing) (Regression test) Integration test User acceptance test (Verifying that the implementation meets the requirements)

Evaluation

  • aka Release & Maintenance
  • Deployment
  • Regular testing
  • Addition of features