Software Development Lifecycle
Contents
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