Week 1 Flashcards
Software Development Cycle Components
- Requirements
- Design
- Implementation
- Testing
- Deployment
- Maintenance
Waterfall Method
- Requirements engineering
- Specification
- Design
- Implementation
- includes iteration and feedback
Validation
ensuring that the right system is being created by checking whether stakeholder expectations are met
Verification
ensuring that the system is being built in the right way according to the specified design and development standards
Problems with Waterfall Method
- too rigid, no freedom in approach
- may not allow developers to move between various abstraction levels freely
- stakeholder involvement limited to initial requirements gathering phase
V-Model
extension of Waterfall method that specifies for each development phase its corresponding testing phase
Requirements Engineering - Acceptance Testing
Specification - Integration Testing
Design - System Testing
Implementation - Unit Testing
Acceptance Testing
testing whether the currently created requirements meet stakeholders’ expectations for the products
Integration Testing
checks whether the different components in the specification can be integrated easily, and specifies which errors could arise
System Testing
tests whether the system design as a whole meets the specified requirements, validating its overall functionality, performance and behaviour
Unit Testing
tests each module or component of the implementation independently to ensure its functions are carried out correctly
Agile Development
- Requirements
Then, loop: - Design
- Develop
- Test
- Deploy
- Review
Prioritises:
- flexibility
- collaboration
- customer feedback
Principles of Agile development
- Individuals, interactions more important than processes, tools.
- Working software more important than comprehensive documents.
- Customer collaboration more important than contract negotiation.
- Responding to change more important than following a plan.
Drawbacks of Agile Development
- Lack of extensive design phase.
- Lack of energy spent on documentation.
Requirement
a statement expressing a need and its associated constraints and conditions
Steps of Requirements Engineering
- Requirements elicitation
- Requirements specification
- Requirements verification and validation
- Requirements management
Requirements elicitation
the gathering and identifying of user needs and expectations through interviews, surveys, workshops, etc.