System Development Lifecycle Flashcards
(12 cards)
What is the system development lifecycle (SDLC)?
The process of determining how a system can support business needs, designing the system, building it and delivering it to users.
What are the stages of SDLC?
- Planning
- Analysis
- Design
- Implementation
Describe the planning stage of SDLC
Understanding why a system should be developed and creating a plan for how this will happen. Often involves a feasibility analysis and making a business case. It should provide project goals, scope and an initial work plan.
Describe the analysis stage of SDLC
Analysis of the problem, determination of system requirements and gathering this requirement data from users. Can use PACT questions for this.
What are PACT questions?
People - what are the end users’ characteristics and skills?
Activities - how is the activity currently carried out? What can be improved?
Context - what is the environment of the activity?
Technology - what tools are being used currently? How can these be developed further?
Describe the design stage of SDLC
Determining the design of the system architecture and interface to satisfy all requirements. Produces a system specification that can be followed during the implementation stage.
Describe the implementation stage of SDLC
Building, testing and installing the final system. Sometimes includes maintenance as well.
Describe the different types of testing that may take place during the implementation stage
- Unit testing - testing system units and modules separately.
- Integration testing - testing that different modules work together correctly.
- Acceptance testing - testing that the system meets the requirements defined during the analysis stage.
- User testing - testing the system with actual end users to see how it performs.
What is waterfall development?
Each stage of the process happens one at time for the entire system at once. Means that requirements are fixed with little change and timings are easier to control.
What is agile development?
Feature oriented where SDLC process happens each time for each new feature of the system. Allows for quicker development and delivery and is more adaptable.
Pros and cons of waterfall development
Pros - limited change to requirements, clear goals, easy to arrange tasks in linear fashion, suited to high security systems.
Cons - time consuming, inflexible, no working software until late in the process, high overheads.
Pros and cons of agile development
Pros - cheaper and more flexible than waterfall, working software can be delivered earlier, more chance to act on user feedback.
Cons - harder to scale and manage, especially for large systems, can be a challenge to integrate individual components together at the end.