12 - Fundamentals of Software Development Flashcards
What are the 5 stages of software development?
Analysis
Design
Implementation
Testing
Evaluation
What is the analysis stage?
Where the problem is identified, researched and alternative solutions proposed.
What does defining the problem include?
Identifying the scope of the problem#
Identifying the constraining factors
Identifying how much of the problem a new system can solve
What are four ways to investigate how an existing system works?
Interview people involved with the system
Ask people to fill in questionnaires or surveys
Observe current practices
Examine the current system(files, paperwork and processes)
What is a feasibility study?
An analysis on whether it is possible or desirable to create a system.
How is a feasibility study carried out?
By identifying possible solutions and suggesting the best way forward.
What is the design stage?
Where algorithms, data and interface are designed.
What is defined in the design stage?
The way in which data will be manipulated and stored.
File structures and algorithms that are going to be used.
Choice of hardware.
What is top-down design?
Breaking a problem down into smaller self-contained modules, where each can be tested and worked ion individually.
What is a data flow diagram?
A visual method of showing how data passes around a system.
What is a data dictionary?
A list of all the data being used in the system, including name, length, data type and validation.
Why are data dictionaries used?
They can reduce the number of problems encountered later in the project.
What is a variable table?
A list of all variables a program will use, including name and data type.
Why is declaring variables useful?
It allows the programmer much tighter control of their program.
Why is the volume of data important?
It will determine how the programmer stores and handles the data.
What are the 3 key things to consider when it comes to volume of data?
How many transactions the system will need to handle in a given time frame
How much data the system will need to store at any given time
How many users are allowed t access the files/programs at one time.
What is the human-computer interface?
Any form of communication between a computer and its user.
What are the 4 considerations when making an HCL?
Ease of use
Target audience
Technology
Ergonomics (feels comfortable)
What is the implementation stage?
The actual code3 and data strictures are created. (Working system)
What is a prototype?
A stripped down version of a whole system, sued to test whether a concept works.
What is the testing stage?
Includes a range of tests using a variety of data, to ensure the code performs as expected.
When should tests be carried out?
During development and at the end
What is test data?
Data that generates a know result and that covers every aspect of a solution.
What is normal test data?
Test data within the expected range of the system, that should produce a correct result.