Software Development Flashcards
Life cycle
Analysis
Design
Implementation
Evaluation
Maintenance
Repeat
Waterfall model
Similar to lifecycle but customer only sees final product:
Analysis
Design
Implementation
Evaluation
Maintenance
2 types of software
Application and system
3 elements of implementation
Programming, testing, installing
System specification
AKA user requirements document, defines what system will do but not how it will do it
Black box testing
Looks at program specification and creates a set of test data that covers all the input, outputs and program functions independently of the code
White box testing
Tests devised to test each path through the code at least once to find logic errors
Alpha testing
In-house software developers reveal errors/omissions in definition of system requirements
Beta testing
Software given to a number of potential users who agree to use the software and report any faults
Acceptance testing
AKA evaluation, user must test every aspect of the software and compare it to the original specification
Types of maintenance
Corrective, adaptive & perfective
Corrective maintenance
Fixing bugs
Adaptive maintenance
Altering to match new user requirements
Perfective maintenance
Making software faster, easier to use, more functional etc
Spiral method
Agile method
Extreme programming
Frequent releases of software made in short development cycles intended to improve productivity & responsiveness to changing customer requirements
5 things that can go wrong in a large project
• Personnel change
• Requirements change
• Technology advances
• Costs spiral upwards
• Project gets cancelled
A good algorithm… (5)
• Has clear and precisely stated steps that produce correct output for any set of valid inputs
• Should allow for user inputs
• Must terminate at some point
• Should perform task efficiently in as few steps as possible
• Should be designed in a way that is easy to understand and modify
Bubble sort
Starting with the first item compare it with the next item and swap if the first was bigger. Continue along the list. Repeat until all items are in order. Check 1 final time
Linear search algorithm
The algorithm systematically searches every item until it finds what it’s looking for
Binary search algorithm
In a sorted list, the algorithm halves the search area every time an item is examined