Software and software development Flashcards

1
Q

Intensive Care Units in hospitals are for patients in need of round the clock monitoring and support. Computerised systems can be used to monitor patients’ vital signs (temperature, heart rate, blood pressure and breathing). They can then alert medical professionals to any significant changes.
These systems usually run on an embedded, real-time, operating system.
(i) State what is meant by the term real-time.

A

The system gives a response within a guaranteed time frame (1).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Intensive Care Units in hospitals are for patients in need of round the clock monitoring and support. Computerised systems can be used to monitor patients’ vital signs (temperature, heart rate, blood pressure and breathing). They can then alert medical professionals to any significant changes.
These systems usually run on an embedded, real-time, operating system.
(ii) Explain why a real-time operating system would be suitable for Intensive Care Units

A

If something happens to a patient, a response must be immediate (1). Other types of system may have delays in response (1).
This could result in a patient not receiving treatment in time (1).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

An operating system uses scheduling. One method of scheduling is first come, first served.
Explain why the first come, first served scheduling method may not be efficient.

A

Once a job starts it prevents other jobs from being processed
A job using a slow resource (eg printer) wastes processor time

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

An operating system uses scheduling. One method of scheduling is first come, first served.
Describe one other scheduling method.

A

Round robin
Time slice to each user in turn Or
Length of job
Shortest job first

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

An operating system uses scheduling. One method of scheduling is first come, first served.
(iii) Explain why scheduling is necessary

A

Process as many jobs as possible…
…in least possible time / quicker
Ensure all jobs are processed (fairly)
Maximise number of interactive users…
..with fast response times / real time
Efficient use of resources / processor time

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Explain why memory management is necessary.

A

Organise the use of (main) memory…
…by converting logical addresses to physical addresses
Allows programs to share memory / allocate memory…
…& protect programs / data from each other
Allows programs larger than main memory to run

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Paging may be used in memory management. Describe paging.

A

Partitioning memory
Pages are fixed size
Pages are physical divisions
Used for virtual memory

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Memory management in a computer for main memory can use either paging or segmentation.
(i) Explain what is meant by ‘paging’.

A

Parts of a program divided into or PARTITIONED into equal size pieces
Uses physical divisions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Memory management in a computer for main memory can use either paging or segmentation.
(ii) Explain what is meant by ‘segmentation’

A

Parts of a program divided into unequal sizes
Uses logical divisions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Memory management in a computer for main memory can use either paging or segmentation.
State four similarities between paging and segmentation.

A

Both ways of partitioning / splitting up memory
Use virtual memory / backing store to swap parts of programs
Allow programs larger than memory to run / insufficient memory
Allows programs to be stored in memory noncontiguously

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

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.

A

– Complete the current FDE Cycle
– Check the priority of the incoming interrupt.
– If its of a higher priority than the current task.
– Contents of registers stored in memory..
– … in a stack.
– The relevant interrupt service routine is loaded …
– ..by loading the relevant value into the program counter.
– When the ISR is complete the previous state is popped from the stack
– And are loaded back into the registers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

A software company decides to release a duplicate file finder which it has named “De-Duplicator”. Duplicate files are files that are exactly the same (bit for bit identical). Space is often wasted on computers by having multiple versions of the same file. Duplicate file finders are programs that find and identify duplicate files on a hard drive so that they can be removed.
A duplicate file finder is an example of a utility. Describe what is meant by a utility.

A

A utility performs a specific task (1) and is usually related to the upkeep of the system (1).
Examples of a utility include a virus checker (1) / disk defragmenter (1)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

State what type of translator program would be needed to convert the assembly code above into machine code.

A

assembler

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

A gaming company decides to release a new video games console. The console will use a modified version of an operating system called Linux.
Linux is open-source.
Explain how Linux being open-source would benefit the games company.

A

This means that a lot of the core functionality they need is already available (1) so the company just has to make amendments / additions specific to their system (1) saving time and money (1).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

The owner of a small shop has bought some new stock-handling software and is setting up a computer system in order to run it.
The owner will use a number of pieces of utility software.
State the purpose of each of the following types of utility software and describe how the owner would use them.
a) File handlers

A

Purpose
–Manages data storage / organises data storage
Uses
– Used for the deletion / sorting / moving / copying / creation of files / folders
– Manage the storage of software
– Manage the storage of stock files
– To access files

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

The owner of a small shop has bought some new stock-handling software and is setting up a computer system in order to run it.
The owner will use a number of pieces of utility software.
State the purpose of each of the following types of utility software and describe how the owner would use them.
b) Hardware drivers

A

Purpose
– Enable peripheral and OS to communicate
Uses
– To configure hardware
– e.g. would be used to install a new keyboard; mouse; printer
(accept any examples sensible within context)

17
Q

The owner of a small shop has bought some new stock-handling software and is setting up a computer system in order to run it.
The owner will use a number of pieces of utility software.
State the purpose of each of the following types of utility software and describe how the owner would use them.
c) Backup utility

A

Purpose
–Automatically makes a copy of files –Storing them in a different location / medium
– in case of loss / corruption (of original)
Uses
–To make Incremental back–ups
– Ensure that sales / stock data is backed up

18
Q

When translating computer languages, intermediate code may be produced.
Explain the need for intermediate code and its purpose in a virtual machine.

A

Intermediate code:
Is simplified code that…
…is between high level & machine code …is produced by compiler
…runs on any computer
Allows sections of code to be written in different languages…
…by different programmers
…suitable for specific tasks

Virtual machine:
A translator is used to convert code from one language to another…
…from source code to object code
A theoretical computer which provides… …an environment in which a translator is available
Uses an interpreter to run the intermediate code

19
Q

A programmer spends her spare time contributing to an open source application that converts video files from a range of formats to one which uses lossy compression.
Describe what is meant by the term ‘open source software’.

A

Source code is freely available… …for others to amend / examine / recompile

20
Q

The coding team are looking at writing a new closed source version of the application that converts audio and image files in addition to video. They intend to sell copies of the program when it is complete. They investigate three programming languages they could use, including:
C++, which is compiled to machine code
Java, which compiles to an intermediate code that then runs off a virtual machine JavaScript, which runs from an interpreter in a web browser.
* Discuss the benefits and drawbacks of the three options above and justify which option you would recommend.

A

Java:
One version needs be written and can be used on any device / OS combination that has the Java Virtual Machine rather than having to write multiple versions.
Code running on a VM tends to be slower than compiled.
C++:
Multiple versions of the code will need to be maintained for different architectures… …however there may be minimal differences between them, and then just need compiling with different compilers.
JavaScript:
As interpreted likely to be by far the slowest option.
Will run in any browser.

21
Q

Describe what is meant by the term ‘assembler‘.

A

A program that translates assembly code (1) into machine code/object code (1)

22
Q

A software company decides to release a duplicate file finder which it has named “De-Duplicator”. Duplicate files are files that are exactly the same (bit for bit identical). Space is often wasted on computers by having multiple versions of the same file. Duplicate file finders are programs that find and identify duplicate files on a hard drive so that they can be removed.
* The software team that produces De-Duplicator decides to make a new version that can detect duplicated images the previous version could not. The software team must decide which methodology they will use for the project. Some members of the team suggest extreme programming whilst others would prefer to use the waterfall lifecycle.
Discuss the two methodologies and justify which you would recommend.

A

The waterfall lifecycle involves linear stages whereas XP takes on an agile, iterative approach.
The waterfall lifecycle establishes requirements in early stages and subsequent stages focus on these – new requirements can be adopted throughout XP.
The waterfall lifecycle focuses on the end user at the start and then they may be consulted at different points throughout the project whereas an end user is integral throughout XP.
In the waterfall lifecycle the development phase focuses on code that meets the requirements / design. In XP the quality of the code is an important factor – paired programming helps focus on this.

The waterfall lifecycle establishes requirements in early stages and subsequent stages focus on these. New requirements can be adopted throughout XP. The requirements in this project are likely to be static making the Waterfall model a more appropriate approach.

23
Q

A software development company is building an operating system for a mobile phone that is in the process of being designed.
The developers follow the waterfall lifecycle.
(i) List the stages of the waterfall lifecycle.

A

– Feasibility Study
– Analysis
– Design
– Implementation
– Testing
– Installation
– Documentation
– Evaluation
– Maintenance

24
Q

iii) Give one disadvantage of using the waterfall lifecycle to develop the operating system

A

If a change does occur in the requirements the lifecycle cannot respond easily, often at the cost of time and money.

25
Q

ii) Justify why the waterfall lifecycle is suited to the development of the operating system.

A

– Tends to suit large scale projects … – ..An OS is an example of such a big project.
– Tends to suit projects with stable requirements …
– … And the base requirements of an OS are unlikely to change.

26
Q

Describe how black box testing can be used to test a program.

A

Tests the expected output… [1] …based on input [1]
Does not look at the code // looks only at program specification [1]

27
Q

During alpha testing, both white box testing and black box testing are used.
(i) State what is meant by alpha testing.

A

Testing done by the programmer / Beryl / Developers employee(s)

28
Q

(ii) Describe how Beryl will use white box testing in her program

A

Using the source code
Check every possible path / condition statements
Dry Runs / Trace Tables

29
Q

A programmer is going to design a procedure that will prompt for and receive two values, A and B. The procedure will then compare them. The procedure will also write a suitable message to a file on disk depending on whether:
the values are the same A is less than B, or
B is less than A.
Use pseudocode to write the procedure.

A

A = input(“Enter value A”)
B = input(“Enter value B”)
myFile = openWrite(“output.txt”)
if A < B then
myfile.writeLine(“A is less than B”)
elseif B > A then
myfile.writeLine(“B is less than A”)
else
myfile.writeLine(“A is equal to B”)

30
Q

A software development team is writing a word game. The team is using Rapid Application Development.
Describe the Rapid Application Development process.

A

– Prototype is created (1)
– (Evaluated and) feedback used to inform next iteration (1)
– Any changes are made (1) – Process repeated until…(1)
…prototype becomes final product. (1)

31
Q

State what opcode SUB does

A

Performs subtraction

32
Q

A burglar alarm runs on a processor with the Little Man Computer (LMC) instruction set. One of the instructions in the set is Branch if Positive (BRP ).
A numeric PIN code entered into the burglar alarm is compared with the code stored at the memory location passcode.
If the codes match, the program jumps to the part of the program labelled deactivate. If the codes do not match, the program jumps to the part of the program labelled alarm.
Write the LMC code to meet the requirements above. (You don’t have to write the code for labels deactivate and alarm, as you can assume this has already been written elsewhere.)

A

INP
SUB passcode
BRZ deactivate
BRA alarm

33
Q

Describe what the instruction BRP does.

A

The program flow jumps to a (designated) label / another point in the program
If the value in the accumulator is positive.