Software Development Lifecycle Flashcards
What is the Software Development Lifecycle (SDLC)?
The SDLC represents the development of software as a set of phases or activities.
What stage of the SDLC is described as “figuring out what problem the system is addressing”?
Requirements Analysis Phase
What stage of the SDLC is described as “finding out and obtaining the relevant hardware, software and network requirements”?
Design Phase
What stage of the SDLC is described as “making any modifications if necessary”?
Evolution Phase
What stage of the SDLC is described as “assessing the software thoroughly and fixing any detected bugs”?
Testing Phase
What stage of the SDLC is described as “installing the system to support the intended business functions”?
Implementation Phase
What is the “Waterfall approach”?
The “waterfall” approach breaks the SDLC into distinct, sequential phases, which needs managerial sign-off before moving onto the next.
What is the difference between a project and a program?
A project is a chunk of work to be done, while a program may be a collection of separate projects.
What are some examples of factors that go into reducing the risk of a project?
Experience, difficulty to implement, size and type of the project, number and independence of components, available resources, clarity of client requirements and the staging of deliverables are all factors that go into reducing the risk/increasing the chance of success of a project.
What is the “Incremental/Divide and Conquer approach”?
An incremental model develops different versions of a program, developing it further and further until the project is in a deliverable state.
What is the “Iterative/Rapid Application Development (RAD) approach”?
The RAD approach is where we rework and “evolve” existing components until the project can be “closed”, or delivered.
What is the “V-Model Development Lifecycle”?
The V-Model is a way of representing a project as almost like a “V”, where each phase on the “left” has a corresponding phase on the “right”.
Typically, this means that each development phase will have a corresponding testing phase.
What is meant by “Agile” development?
Agile is a method based on short, iterative “sprints”, where we incrementally develop, but iterate after a QA testing phase.
These “sprints” may be short, long, or even dynamic based on the project being made.
What is meant by “Scrum” development?
Scrum is a method based on Agile where each sprint is fixed-length, typically around 2-4 weeks long, where we aim to produce a piece of working, functional software within that deadline.
What is meant by “Paired Programming”?
Paired Programming is a method where two programmers will work on the same task, with one person acting as the “driver”, while the other acts as the “observer”.
The observer sits back and keeps an eye out for potentially harmful or lazy practices that could be an issue later in development.