Section 3 - Software Development Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

What are the key stages of software development?

A

Analysis, Design, Implementation, Installation, and Evaluation

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

What has to be considered in the Analysis stage of the development?

A

The data - origins, uses, volumes and characteristics

The procedures - what is done, where, when and how, and how errors and exceptions are handled

The future - development plans and expected growth rates

Problems with any existing system

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

What has to be considered in the Design stage of the development?

A

Processing: algorithm and appropriate modular structure for the solution

Data structures: how data will be held and how it will be accessed

Output: content, format, sequence, frequency

Input: volume, frequency, documents used, input methods

User interface: screens and dialogues, menus, special-purpose requirements

Security: how the data is to be kept secure from accidental corruption or deliberate tampering or hacking

Hardware: selection of an appropriate configuration

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

Define what is meant by ‘Black box testing’

A

Carried out independently of the code used in the program. Creating test data for all the inputs and outputs and program functions.

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

Define what is meant by ‘White box testing’

A

Dependent on the code logic, program code is studied and tests are devised that test each possible path at least once.

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

Define what is meant by ‘Alpha Testing’

A

Carried out the software developer’s in-house testing team. Reveals omissions and errors in the system requirements.

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

Define what is meant by ‘Beta Testing’

A

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
8
Q

Waterfall Model

A

Analysis -> Design -> Implementation -> Evaluation -> Maintenance

Each step is completed one at a time from beginning to end. Possible to return to previous steps, the developer would have to work back down through the following stages.

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

Spiral Model

A

Same structured steps as Waterfall, but introduces the idea of developing the software in iterative stages.

Requirements are defined at the start work towards initial prototype. Each loop around the model generates a refined prototype until the product is finished.

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

Agile modelling

A

Iterative process during which feedback is obtained from the user and changes are made incrementally as the next part of the system is built.

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

What is Agile modelling dependent upon?

A

Keeping the model simple - not trying to incorporate elements that may be useful at a later date

Rapid feedback from the user

Understanding that user requirements may change during development

Incremental changes as the model develops

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

Extreme programming

A

improve software quality and responsiveness to changing customer requirements.

Frequent releases of the software are made in short development cycles.Improve productivity and introduce checkpoints at which new customer requirements can be adopted

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

Rapid Application Development (RAD)

A

Introduced to complete major projects at a much faster rate.

Workshops and focus groups gather requirements

Prototyping refine system in response to user feedback

Reusing software components which have already been used elsewhere

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

Merits and Drawbacks of Waterfall model

A

Suitable for small projects that need careful supervision.

The absence of user feedback is a serious drawback.

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

Merits and Drawbacks of the Spiral and Agile models

A

Acknowledge that the user cannot always specify their requirements accurately don’t understand what is possible.

Easier to examine a working prototype in order to make changes to the system to improve it.

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

Merits and Drawbacks of Extreme programming and RAD Models

A

Good for large projects where there is a danger of getting sidetracked by suggested improvements, so that developer are continually chasing a new idea/target

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

What is an internet-related algorithm?

A

Manage and manipulate data stored on the internet.

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

What is a Route-finding algorithm?

A

Finding the best way between two points such as the best route to transmit packets of data from A to B over a network

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

what is a Compression algorithm?

A

compress data files so that they can be transmitted faster or held in a smaller amount of storage space.

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

What are the four programming paradigms?

A

Procedural, Object-oriented, declarative and functional programming

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

What data types do procedural languages have built in?

A

integer, real or floating point numbers

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

What does the user need to know when using procedural programming?

A

State and behaviour of the data structure

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

Define object-oriented programming

A

Define a class as the description of what the data state is and what the data’s behaviour is. The user of a class sees only the state and behaviour of a data item.

24
Q

What is a data item called in object-oriented programming?

A

Objects, where an object is an instance of a class

25
Q

What is a superclass

A

Where a class has multiple subclasses with the same attributes as the superclass.

26
Q

What is the term for subclasses taking on properties of their superclass

A

Inheritance

27
Q

What two categories do Methods fall under?

A

Functions - return a value

Procedure - do not return a value

28
Q

What is polymorphism?

A

Programming language’s ability to process objects differently depending on their classes. Ability to redefine the method defined in the superclass.

29
Q

What is a method?

A

A small section of a program that performs a specific task

30
Q

What is a class?

A

Description of the data’s state and its behaviour

31
Q

What is an attribute?

A

A specific method independent to a class field.

32
Q

Advantages of Object-oriented paradigm

A

Extensive planning phase - better design/fewer weaknesses

Encapsulation: source code for object written, tested, and maintained independently of the code for other objects

Reusability: objects defined, written, and tested can be used in multiple programs

33
Q

What is a programming paradigm

A

Style of computer programming

34
Q

Give an example of a programming paradigm

A

Procedural programming Python or Pascal - series of instructions that tell the computer what to do with the input in order to solve the problem

35
Q

Define what is meant by the term ‘Assembly code’

A

Uses mnemonics instead of binary code to represent machine code instructions. Each instruction translates into one machine code instruction.

36
Q

How is assembly language converted into machine code?

A

Assembler translates assembly language into machine code for execution

37
Q

What does the mnemonic ‘ADD’ mean in Assembly language

A

Add the content of the memory address to the Accumulator

38
Q

What does the mnemonic ‘SUB’ mean in Assembly language

A

Subtract the contents of the memory address from the Accumulator

39
Q

What does the mnemonic ‘STA’ mean in Assembly language

A

Store the value in the Accumulator in the memory address given

40
Q

What does the mnemonic ‘LDA’ mean in Assembly language

A

Load the Accumulator with the contents of the memory address given

41
Q

What does the mnemonic ‘BRA’ mean in Assembly language

A

Branch - use the address given as the address of the next instruction

42
Q

What does the mnemonic ‘BRZ’ mean in Assembly language

A

Branch to the address given if the Accumulator is zero

43
Q

What does the mnemonic ‘BRP’ mean in Assembly language

A

Branch to the address given if the Accumulator is zero or positive

44
Q

What does the mnemonic ‘INP’ mean in Assembly language

A

Input into the accumulator

45
Q

What does the mnemonic ‘OUT’ mean in Assembly language

A

Output contents of accumulator

46
Q

What does the mnemonic ‘HLT’ mean in Assembly language

A

Stops the execution of the program

47
Q

What does the mnemonic ‘DAT’ mean in Assembly language

A

Used to indicate a location that contains data

48
Q

What two instruction can alter the flow of a program in assembly code?

A

Conditional or Unconditional branch

49
Q

Define what is meant by a ‘conditional branch’

A

Instruction BRP, BRZ cause a branch to a given label in the program depending on the value held in the accumulator.

50
Q

Define what is meant by a ‘unconditional branch’

A

Instruction BRA will cause a branch whatever the value held in the accumulator.

51
Q

Define what is meant by operation code (opcode)

A

Binary digits represent the basic operation such as ADD OR LOAD, and a 2-digit code represents the addressing mode.

52
Q

What are the four different addressing modes represented by opcode?

A

Immediate addressing

Direct addressing

Indirect addressing

Indexed addressing

53
Q

Immediate addressing

A

Operand is the actual value to be operated on

54
Q

Direct addressing

A

Operand holds memory address of value to be operated on.

55
Q

Indirect addressing

A

Operand is the location that holds the address of the data.

56
Q

Indexed addressing

A

Address of the operand is obtained by adding to the contents of a general register (called the index register a constant value)