Unit 3 Software Development Flashcards
What are the stages of Software Development? (5)
- Analysis
- Design
- Implementation
- Evaluation
- Maintenance
What happens in the Analysis stage?
The system analyst gathers information about what the old system is (if there is one) and what the new system needs to do
How might a System Analyst gather information? (4)
- Interviews
- Questionnaires
- Look at the current system
- Look at existing documentation
What does the Analysis stage produce?
A document that defines what the system will do, but not how it will do it. Usually called “System Specification” or “User Requirements”
What things does a Software Design include? (6)
- A description of the data
- Database design if needed
- Input screens
- Output screens
- How the data will be stored
- How the software will be tested
What happens in the Implementation stage? (3)
- Software is coded and tested
- User and technical documentation is written
- Software is installed for the user
What does Black Box Testing do?
It looks at the program specification and creates a set of test data that covers all the inputs, outputs and program functions
What does White Box Testing do?
Tests each path of the code at least once
What happens in Alpha Testing?
The software developer and user test the program to see any errors and to check that the code does what the user wants
What happens in Beta Testing?
The software is given to a number of potential users, who agree to use the software and report any faults
What happens in the Evaluation Stage?
The code is evaluated against the original specification document
What are the types of Maintenance? (3)
- Corrective
- Adaptive
- Perfective
What does Corrective Maintenance do?
Corrects any bugs that are found when the software is released
What does Adaptive Maintenance do?
Adapts software overtime to meet any user requirements that change
What does Perfective Maintenance do?
Alters code to make it faster, easier to use or more efficient
What happens in the Waterfall Model?
Each stage is completed before the next one begins. The user doesn’t see the end product until it is completed. Any changes usually means the project has to be restarted
What are the advantages of the Waterfall Model? (4)
- Simple to understand
- Each stage is self-contained
- Easy to manage
- Works well for small projects
What are the disadvantages of the Waterfall Model? (3)
- Not much user involvement
- No working software is produced until the end
- Not easy to make changes
What happens in the Spiral Model?
Stages are looped repeatedly. Each loop generates a new prototype until software meets all requirements
What are the advantages of the Spiral Model? (5)
- Easy to manage
- Problems can be identified early
- User gives regular feedback
- Changes can be made
- User is more likely to be happy with product
What are the disadvantages of the Spiral Model? (3)
- More time consuming
- More expensive
- Not suitable for small projects
What happens in the Agile Model?
Software is developed in quick, small cycles. Each version adds more functionality and is tested before release. Good for small, quick projects. Less planning is needed to start
What are the advantages of the Agile Model? (4)
- Quick
- Good communication
- Working software is released frequently
- Software can be easily adapted
What are the disadvantages of the Agile Model? (3)
- Project can fail if user is not clear about desired outcome
- Not suitable for beginner programmers
- Lack of emphasis on documentation
What is an Algorithm?
A set of instructions that completed a defined problem or task
What are features of a good Algorithm? (5)
- Works for any input
- Allows for invalid syntax
- Terminates at some point
- Efficient
- Easy to understand
What is Pseudocode?
Halfway between English statements and program code
What happens in a Bubble Sort?
Each item is compared with the adjacent item and swapped if it is larger. Repeats until sorted
What are common Searching Algorithms? (2)
- Linear Search
- Binary Search
What happens in a Linear Search?
Each item is searched one after the other until desired item in found
What happens in a Binary Search?
Items are repeatedly separated in half and compared until desired item is found. Only works on sorted lists
What are the Programming Paradigms? (4)
- Procedural
- Object-Orientated
- Declarative
- Functional
What is a Programming Paradigm?
A style or way of programming
What is Imperative Programming?
A style of programming that consists of a series of instructions that tell the computer what to do with the input in order to solve the problem
What is Structural Programming?
A style of programming where programs are broken into different functions these functions are also known as modules, subprograms, subroutines and procedures
What is Declarative Programming?
A style of programming that uses statements to describes the program then finds the best way of solving it. It is used to create, amend and query databases
What is Logic Programming?
A form of declarative programming that expresses the logic of a computation without expressing its control flow. Programs consist of logical statements
What is Object-Orientated Programming?
A style of programming that makes it possible to abstract details of implementation away from the user
What is a Class?
A blueprint for an object that defines attributes and methods that capture the common characteristics and behaviours
What is Encapsulation?
Where attributes and methods are wrapped into a single entity
What is Information Hiding?
To interact with an object, its methods must be accessible (public)
Where the objects attributes are private and only changed through the objects methods
What is a Method?
A procedure or action associated with a class
What is Inheritance?
A relationship among classes where a sub-class shares all of the attributes and methods of a parent class while also having their own attributes and methods
What is Polymorphism?
Where an inherited class may have methods and attributes that do not exist in the parent class
When was the fist fully programable electronic computer made?
The ENIAC computer 1946
What does ADD in LMC do?
Adds the contents of the memory address xx to the Accumulator
What does SUB in LMC do?
Subtracts the contents of the memory address xx from the Accumulator
What does STA in LMC do?
Stores the value in the Accumulator in the memory address xx.
What are the 3 Branches in LMC?
- BRZ branch if 0
- BRP branch if 0 or positive
- BRA branch always