Software development/section 1 Flashcards

1
Q

Waterfall methodology

A

A several step process to deliver a product to a client

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

Stages of the waterfall methodology

A

Analysis, design, implementation, testing, documentation, evaluation

A Dance In The Dark Everyday

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

Analysis

A

The beginning stage of the design process, the developers and client will define the purpose and requirements of the software

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

Aspects of the design stage

A

Purpose, functional requirements, assumptions

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

Analysis stage

Purpose

A

A paragraph that outlines what the project is for, decided upon by the devcveloper and the client

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

Analysis stage

Functional requirements

A

The program is abstracted into inputs, processes and outputs, these are defined by the developer

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

Analysis stage

Assumptions

A

Anything that has not been made clear by the client

Can include: IT competency, software compatibility etc.

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

Design stage

A

The purpose and functional requirements are considered to create steps that are turned into code in implementation

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

Design stage

The design techniques

A

Structure diagram, flow charts, pseudocode

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

Design stage

Structure diagrams

A

A visual technique that shows the steps needed to solve a problem

Different shapes represent different techniques

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

Design stage

Flow charts

A

A visual design technique that shows the journey of a piece of software

Show the process not steps needed (steps needed is structure diagram)

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

Design stage

Psuedocode

A

A written design technique not based on any language

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

Design stage

Rules of psuedocode

A

Define and refine the main steps, variables are not declared, indentation to show loops and conditionals

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

Testing stage

A

To make sure a program runs as intended, you need to test various inputs to make sure they do what is expected

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

Testing stage

Normal cases

A

Any data you expect to work

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

Testing stage

Extreme cases

A

Data at the upper or lower limits of the program, the program should still work as intended

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

Testing stage

Exceptional cases

A

Any data just outsice of the limits, should not be accepted

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

Testing stage

Types of errors

A

Syntax errors, logical errors

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

Testing stage

Syntax errors

A

When the code cannot run because it is not written in the correct form

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

Testing stage

Logical errors

A

The code executes, but produces unexpected results

Such as using AND instead of OR

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

Documentation stage

A

A document that contains all analysis, design, implementation and testing

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

Evaluation stage

A

In this stage, the developer will compare the finished product with the analysis and other factors to evaluate whether the product meets expectation

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

Evaluation stage

Factors to evaluate

A

Fitness for purpose, efficiency, robustness, readability

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

Evaluation stage

Fitness for purpose

A

Compares the program to the purpose and functional requirements which must be met

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

Evaluation stage

Efficiency

A

Refers to demands on the processor and RAM, this demand must be as low as possible

Such as using loops where possible

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

Evaluation stage

Robustness

A

Describes whether a program can tackle errors or unexpected inputs

Such as by using inout validation

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

Evaluation stage

Readability

A

Makes code easier to read with internal commentary, meaningful variable names, indentation and whitespace which is evaluated

28
Q

Implementation

Data types

A

Character, integer, string, boolean, real

29
Q

Implementation

Character

A

A single character that can be a number, letter or symbol

30
Q

Implementation

String

A

A whole number, positive or negative

31
Q

Implementation

Real

A

Stores numbers that may have decimal places

Float or double in Python, SQA only accepts real

32
Q

Implementation

String

A

Stores text in quotes, numbers should not be stored as strings

33
Q

Implementation

Boolean

A

Stores true or false values

Can be stored as 0 and 1, where 0 is false and 1 is true

34
Q

Implementation

Data structures

A

Allow you to store more than one value together

Lists, tuples and dictionaries in Python

35
Q

Implementation

Lists

A

A list of values that can be different data types
~~~
fruit = [“apple”, “A”, 1.12, 3]
~~~

Lists store values in a specific order

36
Q

Implementation

Tuples

A

Arrays that cannot be changed, the values always stay the same
~~~
tup = (“Apple”, “B”, 1.023, 3, True)
~~~

Tuples store values in a specific order

37
Q

Implementation

Array indexes

A

Array indexes start from 0, so a list with 20 values has indices 0 to 19
~~~
list[0]
~~~

38
Q

Implementation

Expressions to assign values

A

To declare a variable, you don’t need to specify the data type in Python
~~~
fruit = “apple” (Fruit is defined as the string “apple”
bank += 1 (This adds 1 to bank)
~~~

= is not the same as ==, = is assign while == is compare

39
Q

Implementation

List of arithmetic operations

A

Add, subtract, multiply, divide, exponent, remainder

40
Q

Implementation

Addition

A
a = 1
b = 2
print(a+b)

Output would be 3

To add, use the + symbol

41
Q

Implementation

Subtraction

A
a = 3
b = 2
print(a-b)

Output would be 1

To subtract, use the - symbol

42
Q

Implementation

Multiplication

A
a = 2
b = 3
print(a * b)

Output would be 6

To multiply, use the * symbol

43
Q

Implementation

Division

A
a = 6
b = 3
print(a/b)

Output would be 2

To divide, use the / symbol

44
Q

Implementation

Exponent

A
a = 2
b = 2
print(a ** b)

Output would be 4

To power, use the ** symbol

Finding 2 to the power of 2, in this example you are doing a^b

45
Q

Implementation

Remainder

A
a = 11
b = 2
print(a%b)

Output would be 1

To find the remainder, use the % symbol

As 11 by 2 is 5 remainder 1, you are finding the remainder so answer s 1

46
Q

Implementation

String concatenation

A
print("hello" + "hi")

Output would be “hellohi”

You can add strings together, so they join together

The whitespace has to be part of the string for words to be seperated

47
Q

Implementation

Conditionals

A

If statements, elif statements, else statements

48
Q

Implementation

<

A

Less than

49
Q

Implementation

>

A

Greater than

50
Q

Implementation

>=

A

Greater than or equal to

51
Q

Implementation

<=

A

Less than or equal to

52
Q

Implementation

==

A

Equal to

53
Q

Implementation

!=

A

Not equal to

54
Q

Implementation

If statements

A

if x:
y
~~~

If x is true, then y happens

55
Q

Implementation

Elif statements

A
elif x:
    y

If an if/elif before is false, this conditional will be checked

56
Q

Implementation

Else statements

A
else:
    y

If all if/elif statements before fail, this condition is carried out

57
Q

Implementation

Logical operators

A

AND, OR, and NOT

For example, in x > 3 AND y <4, both conditions must be met

58
Q

Implementation

Types of loops

A

For loop, while loop

59
Q

Implementation

For loop

A
for i in range(5):
y

y is completed 5 times

Fixed loop in SQA terms

60
Q

Implementation

While loop

A
while x <= 5:
y

While condition is met, y happens, loop stops when condition is false

Conditional loop in SQA terms

61
Q

Implementation

Data type change

A
x = str(5)

In this, x is “5”

Can use int, str, char, bool, float

62
Q

Implementation

Length function

A
if str(x).len() > 5:
print(x)

If the length of the string is more than 5, prints

Length can count the chars in a string, whitespace included

63
Q

Implementation

Random function

A
random.choice("hi", "hello, "bye")
random.randint(0,50)

.choice chooses a random value from the ones given

.randint chooses a random value from the range specified

64
Q

Implementation

Round function

A
round(1.23455, 2)

Will round 1.23455 to 2 decimal places

65
Q

Implementation

Input validation

A

Makes sure an input meets a set of criteria

66
Q

Implementation

Running total in a loop

In an array

A
values = [1,2,3,4]
for num in values: 
    total += values
print(total)

You can index through the list, and add the values to a total value

67
Q

Implementation

Running total in a loop

Set amount of loops

A
for i in range(5):
num = int(input("Enter val: "))
total += num 

In this exame, the value that was inputted is added to a total

68
Q

Implementation

Traversing an array

A
values = ["hi", 1, 1.05]
for i in values:
if i.type() == int
numCount+= 1

You can do things with interations of a loop