Unit 3 Software Development Flashcards

1
Q

What are the stages of Software Development? (5)

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

What happens in the Analysis stage?

A

The system analyst gathers information about what the old system is (if there is one) and what the new system needs to do

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

How might a System Analyst gather information? (4)

A
  • Interviews
  • Questionnaires
  • Look at the current system
  • Look at existing documentation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What does the Analysis stage produce?

A

A document that defines what the system will do, but not how it will do it. Usually called “System Specification” or “User Requirements”

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

What things does a Software Design include? (6)

A
  • A description of the data
  • Database design if needed
  • Input screens
  • Output screens
  • How the data will be stored
  • How the software will be tested
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What happens in the Implementation stage? (3)

A
  • Software is coded and tested
  • User and technical documentation is written
  • Software is installed for the user
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What does Black Box Testing do?

A

It looks at the program specification and creates a set of test data that covers all the inputs, outputs and program functions

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

What does White Box Testing do?

A

Tests each path of the code at least once

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

What happens in Alpha Testing?

A

The software developer and user test the program to see any errors and to check that the code does what the user wants

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

What happens in Beta Testing?

A

The software is given to a number of potential users, who agree to use the software and report any faults

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

What happens in the Evaluation Stage?

A

The code is evaluated against the original specification document

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

What are the types of Maintenance? (3)

A
  • Corrective
  • Adaptive
  • Perfective
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What does Corrective Maintenance do?

A

Corrects any bugs that are found when the software is released

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

What does Adaptive Maintenance do?

A

Adapts software overtime to meet any user requirements that change

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

What does Perfective Maintenance do?

A

Alters code to make it faster, easier to use or more efficient

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

What happens in the Waterfall Model?

A

Each stage is completed before the next one begins. The user doesn’t see the end product until it is completed. Any changes usually means the project has to be restarted

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

What are the advantages of the Waterfall Model? (4)

A
  • Simple to understand
  • Each stage is self-contained
  • Easy to manage
  • Works well for small projects
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What are the disadvantages of the Waterfall Model? (3)

A
  • Not much user involvement
  • No working software is produced until the end
  • Not easy to make changes
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What happens in the Spiral Model?

A

Stages are looped repeatedly. Each loop generates a new prototype until software meets all requirements

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

What are the advantages of the Spiral Model? (5)

A
  • Easy to manage
  • Problems can be identified early
  • User gives regular feedback
  • Changes can be made
  • User is more likely to be happy with product
21
Q

What are the disadvantages of the Spiral Model? (3)

A
  • More time consuming
  • More expensive
  • Not suitable for small projects
22
Q

What happens in the Agile Model?

A

Software is developed in quick, small cycles. Each version adds more functionality and is tested before release. Good for small, quick projects. Less planning is needed to start

23
Q

What are the advantages of the Agile Model? (4)

A
  • Quick
  • Good communication
  • Working software is released frequently
  • Software can be easily adapted
24
Q

What are the disadvantages of the Agile Model? (3)

A
  • Project can fail if user is not clear about desired outcome
  • Not suitable for beginner programmers
  • Lack of emphasis on documentation
25
Q

What is an Algorithm?

A

A set of instructions that completed a defined problem or task

26
Q

What are features of a good Algorithm? (5)

A
  • Works for any input
  • Allows for invalid syntax
  • Terminates at some point
  • Efficient
  • Easy to understand
27
Q

What is Pseudocode?

A

Halfway between English statements and program code

28
Q

What happens in a Bubble Sort?

A

Each item is compared with the adjacent item and swapped if it is larger. Repeats until sorted

29
Q

What are common Searching Algorithms? (2)

A
  • Linear Search
  • Binary Search
30
Q

What happens in a Linear Search?

A

Each item is searched one after the other until desired item in found

31
Q

What happens in a Binary Search?

A

Items are repeatedly separated in half and compared until desired item is found. Only works on sorted lists

32
Q

What are the Programming Paradigms? (4)

A
  • Procedural
  • Object-Orientated
  • Declarative
  • Functional
33
Q

What is a Programming Paradigm?

A

A style or way of programming

34
Q

What is Imperative Programming?

A

A style of programming that consists of a series of instructions that tell the computer what to do with the input in order to solve the problem

35
Q

What is Structural Programming?

A

A style of programming where programs are broken into different functions these functions are also known as modules, subprograms, subroutines and procedures

36
Q

What is Declarative Programming?

A

A style of programming that uses statements to describes the program then finds the best way of solving it. It is used to create, amend and query databases

37
Q

What is Logic Programming?

A

A form of declarative programming that expresses the logic of a computation without expressing its control flow. Programs consist of logical statements

38
Q

What is Object-Orientated Programming?

A

A style of programming that makes it possible to abstract details of implementation away from the user

39
Q

What is a Class?

A

A blueprint for an object that defines attributes and methods that capture the common characteristics and behaviours

40
Q

What is Encapsulation?

A

Where attributes and methods are wrapped into a single entity

41
Q

What is Information Hiding?

A

To interact with an object, its methods must be accessible (public)
Where the objects attributes are private and only changed through the objects methods

42
Q

What is a Method?

A

A procedure or action associated with a class

43
Q

What is Inheritance?

A

A relationship among classes where a sub-class shares all of the attributes and methods of a parent class while also having their own attributes and methods

44
Q

What is Polymorphism?

A

Where an inherited class may have methods and attributes that do not exist in the parent class

45
Q

When was the fist fully programable electronic computer made?

A

The ENIAC computer 1946

46
Q

What does ADD in LMC do?

A

Adds the contents of the memory address xx to the Accumulator

47
Q

What does SUB in LMC do?

A

Subtracts the contents of the memory address xx from the Accumulator

48
Q

What does STA in LMC do?

A

Stores the value in the Accumulator in the memory address xx.

49
Q

What are the 3 Branches in LMC?

A
  • BRZ branch if 0
  • BRP branch if 0 or positive
  • BRA branch always