Section 3 - Software Development Flashcards

(61 cards)

1
Q

What is analysis?

A

Before a problem an be solved, it must be defined. The requirements of the system that solves the problem must be established.

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

In the case of a data processing system, or for example the construction of a website, what would it cover?

A

1) The data - its origin, uses, volumes and characteristics
2) The procedures - what is done, where, when and how, and how errors and exceptions are handled.
3) The future - development plans and expected growth rates
4) Problems with any existing system

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

What does a system designer need to consider?

A
  • Processing
  • Data Structures
  • Output
  • Input
  • User Interface
  • Security
  • Hardware
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Explain processing (Design)

A

The algorithms and appropriate modular structure for the solution, specifying modules with clear documented interfaces

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

Explain Data structures (Design)

A

How data will be held and how it will be accessed - for example in a dynamic data structure such as a queue or tree, or in a file or database

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

Explain Output (Design)

A

Content, format, sequence, frequency, medium (e.g. screen or hard copy) etc

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

Explain Input (Design)

A

Volume, Frequency, Documents used, input methods

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

Explain User interface (Design)

A

Screens and dialogues, menus, special-purpose requirements

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

Explain Security (Design)

A

How the data is to be kept secure from accidental corruption or deliberate

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

Explain Hardware (Design)

A

Selection of an appropriate configuration

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

What are the different testing strategies?

A
  • Black Box Testing
  • White Box Testing
  • Alpha Testing
  • Beta Testing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What type of testing is Black Box Testing?

A

Functional Testing

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

What type of testing is White Box Testing?

A

Structural Testing

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

What is Black Box Testing?

A

Carried out independently of the code used in the program. It involves looking at the program specification and creating a set of test data that covers all the inputs and outputs and program functions.

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

What is White Box Testing?

A

Testing is dependent on the code logic, and derives from the program structure rather than its function. The program code is studied and tests are devised which test each possible path at least once.

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

What is the weakness of white box testing?

A

Will not detect missing functions - you cannot test what isn’t there.

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

What is Alpha Testing?

A

Is carried out by the software developer’s in-house testing team. It is essential because it often reveals both errors and omissions in the system requirements defition.

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

What is Beta Testing

A

Involves giving the package to a number of potential users who agree to use the system and report any problems to the developers.

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

What is implementation?

A

Coding and testing will be carried out, errors traced and corrected. When all is thought to be satisfactory the software will be installed on the user’s system and more testing will be done. At this stage new weaknesses and omissions are almost bound to surface and more work will be carried out.

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

What should a solution be evaluated on?

A

Its effectiveness, usability and maintainability.

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

What does a post-implementation review focus on?

A
  • A comparison of the system’s actual performance with the anticipated performance objectives.
  • An assessment of each aspect of the system against preset criteria.
  • Errors which were made during system development
  • Unexpected benefits and problems.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

What is the waterfall lifecycle model?

A

Each step is completed on at a time from beginning to end. Each step has specific outputs that lead into the next step. It is possible to return to a previous stage if necessary but the model shows that the developers then have to work back down though the following stages.

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

What are the steps in the waterfall model?

A

1) Analysis
2) Design
3) Implementation
4) Evaluation
5) Maintenance

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

What is the spiral model?

A

Uses analysis, design, implementation and evaluation in a loop to create multiple prototypes of the software. Each prototype improving.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
What is extreme programming?
Software development methodology which is intended to improve software quality and responsiveness to changing customer requirements.
26
What is rapid application development (RAD)
- Workshops and focus groups to gather requirements rather than a formal requirement document. - The use of prototyping to continually refine the system in response to user involvement and feedback. - Producing within a strict time limit each part of the system, which may not be perfect but which is good enough. - Reusing any software components which have already been used elsewhere.
27
What are the merits and drawbacks of the waterfall system lifecycle?
Is suitable for very small projects which need careful supervision, such as those undertaken by students or trainees. The absence of user involvement is a serious drawback.
28
What are the merits and drawbacks of spiral model and the agile approach?
They acknowledge that users often cannot specify their requirements accurately because they don't understand what is possible. It is much easier to examine a working prototype and figure out what needs to be done to it to turn it into a useful system
29
What are the merits and drawbacks of extreme programming and rapid application development?
Good methodologies for large projects where there is a danger of getting bogged down or sidetracked by suggested improvements, so that developers are continually chasing a moving target.
30
A good algorithm has what properties?
- It has clear and precisely stated steps that produce the correct output for any set of valid inputs. - It should allow for invalid inputs. - It must always terminate at some point. - It should execute efficiently, in as few steps as possible. - It should be designed in such a way that other people will be able to understand it and modify it if necessary.
31
Give some examples of practical applications of algorithms.
- Internet-related algorithms - Route-finding algorithms - Compression algorithms - Encryption algorithms.
32
Explain an internet-related algorithm
Algorithms are used to manage and manipulate the huge amount of data stored on the internet. How does a search engine find all the pages on which particular information resides in a fraction of a second?
33
Explain a route-finding algorithm
Given two locations, how does a route-finder determine the shortest or best route between the two points? There may be thousands of possible routes. This type of algorithm is used not only for driving a vehicle from A to B, but also for many other applications, for example finding the best route to transmit packets of data from A to B over a network.
34
Explain a compression algorithm
These are used to compress data files so that they can be transmitted faster or held in a smaller amount of storage space. For example, MP3 files are compressed so that you can hold thousands of tracks on a mobile phone.
35
Explain an encryption algorithm
When someone purchases something over the internet and sends their credit card number and other personal details to the store, the data needs to be encrypted so that even if its intercepted, it cannot be read.
36
What is interpreting algorithms?
Looking at someone else algorithm and deciding what it does and how it works.
37
What is a programming paradigm?
A style of computer programming.
38
What is procedural programming?
Supported by languages which have a series of instructions that tell the computer what to do with the inputs in order to solve the program.
39
What languages support procedural programming?
Python and Pascal.
40
What is structured programming?
Type of procedural programming which uses the programming constructs of sequence, selection, iteration and recursion. It uses modular techniques to split large programs into manageable chunks.
41
What is object oriented programming?
Developed to make it possible to abstract details of implementation away from the programmer, make code reusable and programs easy to maintain.
42
What languages support object oriented programming?
Java, Python and Delphi.
43
What is declarative programming?
Write statements that describe the problem to be solved, and the language implementations decides the best way of solving it.
44
What languages support declarative programming?
SQL
45
What is functional programming?
Functions, not objects or procedures, are used as he fundamental building blocks of a program. Statements are written as a series of functions which accept input data as arguments and return an output.
46
What languages support functional programming?
Hskell, Python, C# and Java.
47
What is a procedural language?
Has built-in data types such as integers, real or floating point numbers, characters,, Boolean and string. It typically has data structures such as arrays and record.
48
What do you do in object-oriented languages?
Define a class as the description of what the data looks like (the state) and what the data can do (the behaviour). The user of a class sees only the state and behaviour of a data item. Data items are called objects, where an object is an instance of a class.
49
What is Polymorphism?
Refers to a programming languages ability to process objects differently depending on their class.
50
What is a constructor?
A procedure with the name new.
51
What is Machine Code?
First language used to enter programs by early computer programmers.
52
What is Assembly Code?
Uses mnemonic to represent the operation codes and addresses instead of binary codes.
53
What does the assembler do?
Translates the assembly language program into machine code for execution.
54
How can the flow of the program be altered?
Using conditional or unconditional branch instructions
55
What is a conditional branch instruction?
The instruction BRP(Branch if positive), BRZ(Branch if zero) cause a branch to a given label in the program depending on the value held in the accumulator.
56
What is a unconditional branch instruction?
(BRA) will cause a branch whatever the value held in the accumulator.
57
What are the four addressing modes?
- Immediate Addressing - Direct Addressing - Indirect Addressing - Indexed Addressing
58
Describe immediate addressing
The operand is the actual value to be operated on, say 3 or 75
59
Describe direct addressing
The operand holds the memory address of the value to be operated on. This is the only addressing mode using the LMC assembly language.
60
Describe indirect addressing
The operand is the location (typically a register) which holds the address of the data we want. This enable a larger range of addressable locations.
61
Describe indexed addressing
The address of the operand is obtained by adding to the contents of a general register (called the index register) a constant value. The number of the index register and the constant value are included in the instruction code. Indexed addressing mode is used to access an array whose elements are in successive memory locations.