1.2.3) Software Development Flashcards
What is a SDLC?
Software development life cycle
What are the 7 steps of SDLC?
- Analysis
- Design
- Development
- Testing
- Implementation
- Evaluation
- Maintenance
What happens in the analysis section of the SDLC?
- Stakeholders talk about what they require from the finished product
- The problem is defined
- System requirements are defined
- Existing solutions are analysed
What happens in the Design stage of the SDLC?
Algorithms are designed, flow charts created, test plan defined.
What happens in the development stage of the SDLC?
Design is split into **individual self contained modules **and modularly programmed.
What happens in the testing stage of the SDLC?
The test plan is implemented
What are the different types of testing?
- Alpha
- Beta
- Open Box
- Closed Box
What is Alpha testing?
When testing is carried out by the developer and bugs are identified
What is Beta testing?
When testing is carried out by the end user and feedback is gathered
What is open box testing?
Carried out by people who understand the internal structure of the program, testing all possible routes.
What is closed box testing?
Carried out by someone unaware of internal structure, verifying it meets requirements solely from inputs and outputs.
What happens in the implementation stage of the SDLC?
The software is installed onto user’s systems.
What happens in the evaluation stage of the SDLC?
- The effectiveness of the software is evaluated against system requirements
- Other criteria considered- robustness, reliability, portability and maintainability
What happens in the maintenance stage of the SDLC?
Any bugs or feedback flagged by end users are updated and sent out in software updates.
What are the different types of SDLC?
- Waterfall
- Agile
- Extreme Programming
- Spiral
- Rapid Application Development
What happens in the Waterfall cycle?
- The steps are completed in the sequence- Analysis, Design, Implementation, Evaluation, Maintenance
- Analysis includes a feasibility study using TELOS
- If a change needs to be made within the development process, programmers must revisit all levels.
What is TELOS?
- T- Technical
- E- Economic
- L- Legal
- O-Operational
- S- Schedulable
Def:What are Agile methodologies?
Software development techniques which aim to be more flexible and adaptable
How is software developed using an Agile technique?
- The problem is decomposed
- Sections can be at different stages of development
- A working prototype is delivered early on
- prototypes are improved iteratively
- Focuses on user satisfaction
What is extreme programming?
- Agile model
- Team of two programmers and end user
- frequent and continuous feedback
What is the Spiral Model of development used for?
High risk, large scale projects
What happens in a Spiral Model SDLC?
- Project iterates through loops of development visiting the four key stages every time
- If the project is seen as too risky then project is immediately terminated
What is RAD?
Rapid application development
* Iterative methodology
* partially functioning prototypes made and put through to focus groups
* user feedback used to generate next improved version
Advantages: Waterfall
- Easy to manage
- Well documented
Disadvantages: Waterfall
- Not flexible
- no risk analysis
- limited user involvement
When is a waterfall method used?
Projects that involve:
* Consistent
* low risk projects
* need little user input
* general purpose
Advantages: Agile
- High quality
- flexible to change
- regular user input
Disadvantages: Agile
- Bad documentation
- Requires consistent user interaction
When is the Agile method used?
Projects that involve:
* Small to medium projects
* Unclear requirements
Advantages: Extreme programming
- High quality
- High usability
Disadvantages: Extreme Programming
- Expensive
- Teamwork is essential
- End user may not be able to present
When is extreme programming used?
Projects that involve:
* Small to medium size
* Unclear requirements
* Requiring good usibility
Advantages: Spiral model
- Highly assessed for risks
- Caters to changing needs
- Many prototypes
Disadvantages: Spiral Model
- Expensive
- Lack of focus on efficiency
When is a Spiral Model used?
Projects that involve:
* High risk
* intensive
* high budget
Advantages: RAD
- Caters to changing needs
- highly usable finished product
- focuses on core features
- reduces development time
Disadvantages: RAD
- Poor documentation
- Fast pace so lower quality
When is RAD used?
Projects that involve:
* Small to medium projects
* low budget
* short time frame