Section 3 - Software Development Flashcards

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

Programming Paradigms

What is a ‘programming paradigm’?

A

A style of computer programming

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

Programming Paradigms

What are the 4 programming paradigms?

5, only 4 needed for OCR

A
  • Procedural
  • Object Oriented
  • Declarative
  • Functional - not covered in OCR
  • Assembly - ?

Assembly is questionable - use other example if asked in exam

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

Programming Paradigms

What are the features of procedural programming?

A
  • Series of instructions/steps
  • Can have subtroutines
  • Easier to learn
  • Can have reusable code
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Programming Paradigms

What are the features of object oriented programming?

A
  • Interaction between objects
  • Encapsulation
  • Resubale code
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Programming Paradigms

What are the features of functional programming?

A
  • Functions only
  • Reusability
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Programming Paradigms

What are the features of declarative programming?

A
  • Write statements that describe the problem to be solved
  • Program solves problem for programmer
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Programming Paradigms

What are the features of assembly programming?

A
  • Low level
  • Quicker to translate
  • Mneumonics
  • No resuabilty
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Assembly Language

What are the 4 addressing modes?

A
  • Direct
  • Indirect
  • Immediate
  • Index
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Assembly Language

What is the operand in direct addressing?

A

The address of the data to be used

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

Assembly Language

What is the operand in indirect addressing?

A

The address of the address of the data to be used

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

Assembly Language

What is the operand in immediate addressing?

A

The data to be used

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

Assembly Language

What is the operand in index addressing?

A

Position relative to the last position checked

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

Systems Analysis Methods

What are the 5 steps of the waterfall lifecycle model?

A
  1. Analysis
  2. Design
  3. Development/Implementation
  4. Evaluation
  5. Maintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Systems Analysis Methods

What are the advantages of using the waterfall lifecycle model?

A
  • Easy to manage - good for projects that must be closely supervised
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Systems Analysis Methods

What are the disadvantages of using the waterfall lifecycle model?

A
  • No user feedback
  • Rigid process - must restart if stakeholder requirements change
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Systems Analysis Methods

What are the 4 steps of the spiral?

A
  1. Analysis
  2. Risk assessment/Design
  3. Development/Implementation
  4. Evaluate
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Systems Analysis Methods

What are the advantages of using the spiral?

A
  • Lots of user feedback
  • Many prototypes created
18
Q

Systems Analysis Methods

What are the disadvantages of using the spiral?

A
  • Difficult to manage
19
Q

Systems Analysis Methods

What are the 4 steps of a sprint in the agile model?

A
  1. Analysis
  2. Design
  3. Development/Implementation
  4. Testing

Very similar to waterfall!

20
Q

Systems Analysis Methods

What are the advantages of using the agile model?

A
  • regular communication with the client
  • many prototypes made
21
Q

Systems Analysis Methods

What are the disadvantages of using the agile model?

A
  • time consuming to gain feedback so often
  • team work and often feedback means large projects are hard to make
22
Q

Systems Analysis Methods

What is Extreme Programming (XP)?

A

An agile model where pair programming is used to ensure code is well written and feedback is collected often to ensure the program meets the stakeholders’ needs

23
Q

Systems Analysis Methods

What are the advantages of using Extreme Programming (XP)?

A
  • code is strong/reliable
  • lots of feedback
  • many prototypes made
24
Q

Systems Analysis Methods

What are the disadvantages of using Extreme Programming (XP)?

A
  • expensive to hire double programmers
25
Q

Systems Analysis Methods

What is Rapid Application Development (RAD)?

A

An agile model where code from previous projects is used to create quick prototypes

26
Q

Systems Analysis Methods

What are the advantages of using Rapid Applicaiton Development (RAD)?

A
  • program is made quickly
  • many prototypes made
27
Q

Systems Analysis Methods

What happens during analysis?

A

The problem is defined and the requirements of the system (that solves the problem) must be established

28
Q

Systems Analysis Methods

What happens during design?

A

Different aspects of the new system are designed, such as user interface and I/O.

29
Q

Systems Analysis Methods

What happens during development?

A

The problem is broken down into individual modules until each module performs a single well-defined task, and then programmed.

30
Q

Systems Analysis Methods

What happens during testing?

A

The code is tested out to ensure no errors can be found. Types of testing include:
* Black box
* White box
* Alpha
* Beta

31
Q

Systems Analysis Methods

What is black box/functional testing?

A

Testing that is carried out independently of the code
Involves looking at the program specification and creating a set of test data that covers all I/O and program functions

32
Q

Systems Analysis Methods

What is white box/structural testing?

A

Testing that is dependent on the code logic, deriving from the program structure
The code is studied and tests are devised which test each possible path at least once
White box testing will not detect missing functions

33
Q

Systems Analysis Methods

What is alpha testing?

A

Testing carried out by the software developer’s in-house testing team

34
Q

Systems Analysis Methods

What is beta testing?

A

The package is sent to a number of potential users who agree to use the system and report any problems
This exposes the product to real use and detects problems and errors that may not have been anticipated by the developers

35
Q

Systems Analysis Methods

What happens during implementation?

A

The software will be installed on the user’s system

36
Q

Systems Analysis Methods

What happens during evaluation?

A

The program is reviewed to see whether it solves the problem based on its effectiveness, usability, and maintainability

37
Q

Writing and Following Algorithms

What are the properties of an algorithm?

5 points

A
  • Has clear and precisely-stated steps that produce the correct output for any set of valid inputs
  • Should allow for invalid inputs
  • Must always terminate at some point
  • Should execute efficiently, in as few steps as possible
  • Should be designed in a way that other people will be able to understand and modify if necessary
38
Q

Writing and Following Algorithms

What is pseudocode?

A

A way of expressing a solution in a way that can easily be translated into a programming language

39
Q

Writing and Following Algorithms

What is a “Divide and Conquer” algorithm?

A

An algorithm that takes a large-scale problem and divides it into smaller sub-problems and recursively solves each of these sub-problems

40
Q

Programming Paradigms

What is inheritance?

A

Where a superclass passes its methods and attributes down to its subclasses.

41
Q

Programming Paradigms

What is encapsulation?

A

The privatisation of class attributes to protect them from accidental edits
Private attributes must be accessed with getters and setters