3.1 System Analysis Flashcards
2 categories of software
- Application
- System
What are the steps of software development
- Analysis
- Design
- Implementation
- Evaluation
- Maintenance
Systems development life cycle
- Analysis
- Design
- Implementation
- Evaluation
- Maintenance
Analysis
- Gathers information about what the current system does if there is one, and what the new system needs to do
- Analysts may interview people who will use the software, use questionnaires to get information from large groups of people, observe how the current system works, look at existing documentation
What are some outputs from analysis?
- System spec, user requirements
- Can define what the system will do, but not how it will do it
- Is used to create the design and to evaluate the finished product
Features of the design testing
- A description of the data
- Database design
- Input screens
- Output screens and reports
- How the data will be porcess
- How the software will be tested
Implementation
- Coding and testing the software
- Writing user and technical documentation
- Installing the software for the user
Black box testing
- Carried out independently of the code used in the program.
- It looks at the program specification and create a set of test data that covers all the inputs, outputs and program functions
White box testing?
Depends on the code logic and devised which test each path through code at least once
Alpha testings
- Carried out by the software developer’s in-house team and by the user
- It can reveal errors or omissions in the definition of the system requirements
- The user may discover that the system does not do exactly what they wanted
Beta testing
- This is used when a a commercial software is being developed
- Software is given to a number of potential users, who agree to use the software and report any faults
Evaluation
Acceptance testing evaluates the product against the specification document
Give 3 different types of maintenance
- Corrective
- Adaptive
- Perfective
Corrective maintenance
Bugs will usually be found when the software is put into action, no matter how thoroughly it was tested
Adaptive maintenance
Over time, user requirements will change and the software will have to be adapted to meet new needs