1.2 Software and Software Development Flashcards
(18 cards)
State what is meant by the term real-time.
The system gives a response within a guaranteed time frame.
Explain why a real-time operating system would be suitable for Intensive Care Units.
If something happens to a patient, a response must be immediate and other types of system may have delays in response.
Explain why the first come, first served scheduling method may not be efficient.
Once a job starts it prevents other jobs from being processed, so a job using a slow resource, like a printer, wastes processor time.
Explain why memory management is necessary.
To organise the use of main memory by converting logical addresses to physical addresses. It also allows programs to share memory and protect data from each other. Also, it allows programs larger than main memory to run.
Explain what is meant by ‘paging’.
Paging is parts of a program divided into equal size pieces and it uses physical divisions.
Explain what is meant by ‘segmentation’.
Segmentation is parts of a program divided into unequal sizes and it uses logical divisions.
State two similarities between paging and segmentation.
- They are both ways of splitting up memory.
2. They both allow programs larger than memory to run.
A software development company is building an operating system for a mobile phone that is in the process of being designed.
One of the developers is responsible for writing the code for what happens when the CPU receives an interrupt.
Outline what the code must do.
- Complete the current FDE Cycle.
- Check the priority of the incoming interrupt.
- If it’s of a higher priority than the current task, then contents of the registers are stored in memory on a stack.
- The relevant interrupt service routine is loaded.
- When the ISR is complete the previous state is popped from the stack and loaded back into the registers.
A game uses a 2D graphics library. Explain why a linker would need to be used after compilation.
The user running the program will not necessarily have the library installed on their machine therefore the relevant code needs to be included within the final executable – it is the job of the linker to combine this code.
State three benefits of using library routines when a program is written.
- They are relatively error free as they have already been tested.
- Ready to use which saves time.
- It’s used multiple times which reduces repeated code.
Describe what happens during syntax analysis, when code is compiled.
Tokens are checked against the grammar rules of the language. Errors are reported as a list and diagnostics are given. The code is then passed to code generation.
A software development team is writing a word game.
The team is using Rapid Application Development.
The software team uses a prebuilt library to create the Graphical User Interface.
Give two advantages to the software team of using a library.
- It saves time and money as it’s prewritten.
2. It’s pretested so it’s highly likely to work.
List three stages of the waterfall lifecycle.
- Analysis
- Design
- Implementation
Justify why the waterfall lifecycle is suited to the development of the operating system of a mobile phone.
It tends to suit large scale projects and an OS is an example of such a big project.
Give one disadvantage of using the waterfall lifecycle to develop the operating system of a mobile phone.
If a change does occur in the requirements the lifecycle cannot respond easily, often at the cost of time and money.
Describe how black box testing can be used to test a program.
It tests the expected output based on input and does not at the code.
State what is meant by alpha testing.
Testing done by the programmer.
Describe the Rapid Application Development process.
A prototype is created then it is evaluated and the feedback is used to inform the next iteration. The process is repeated until the prototype becomes the final product.