Software development/section 1 Flashcards

(69 cards)

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 analysis 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
# Evaluation stage Fitness for purpose
Compares the program to the purpose and functional requirements which must be met
25
# Evaluation stage Efficiency
Refers to demands on the processor and RAM, this demand must be as low as possible | Such as using loops where possible
26
# Evaluation stage Robustness
Describes whether a program can tackle errors or unexpected inputs | Such as by using inout validation
27
# Evaluation stage Readability
Makes code easier to read with internal commentary, meaningful variable names, indentation and whitespace which is evaluated
28
# Implementation Data types
Character, integer, string, boolean, real
29
# Implementation Character
A single character that can be a number, letter or symbol
30
# Implementation String
A whole number, positive or negative
31
# Implementation Real
Stores numbers that may have decimal places | Float or double in Python, SQA only accepts real
32
# Implementation String
Stores text in quotes, numbers should not be stored as strings
33
# Implementation Boolean
Stores true or false values | Can be stored as 0 and 1, where 0 is false and 1 is true
34
# Implementation Data structures
Allow you to store more than one value together | Lists, tuples and dictionaries in Python
35
# Implementation Lists
A list of values that can be different data types ``` fruit = ["apple", "A", 1.12, 3] ``` | Lists store values in a specific order
36
# Implementation Tuples
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
# Implementation Array indexes
Array indexes start from 0, so a list with 20 values has indices 0 to 19 ``` list[0] ```
38
# Implementation Expressions to assign values
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
# Implementation List of arithmetic operations
Add, subtract, multiply, divide, exponent, remainder
40
# Implementation Addition
``` a = 1 b = 2 print(a+b) ``` Output would be 3 | To add, use the + symbol
41
# Implementation Subtraction
``` a = 3 b = 2 print(a-b) ``` Output would be 1 | To subtract, use the - symbol
42
# Implementation Multiplication
``` a = 2 b = 3 print(a * b) ``` Output would be 6 | To multiply, use the * symbol
43
# Implementation Division
``` a = 6 b = 3 print(a/b) ``` Output would be 2 | To divide, use the / symbol
44
# Implementation Exponent
``` a = 2 b = 2 print(a ** b) ``` Output would be 4 | To power, use the `**` symbol ## Footnote Finding 2 to the power of 2, in this example you are doing a^b
45
# Implementation Remainder
``` a = 11 b = 2 print(a%b) ``` Output would be 1 | To find the remainder, use the % symbol ## Footnote As 11 by 2 is 5 remainder 1, you are finding the remainder so answer s 1
46
# Implementation String concatenation
``` print("hello" + "hi") ``` Output would be "hellohi" | You can add strings together, so they join together ## Footnote The whitespace has to be part of the string for words to be seperated
47
# Implementation Conditionals
If statements, elif statements, else statements
48
# Implementation <
Less than
49
# Implementation >
Greater than
50
# Implementation `>=`
Greater than or equal to
51
# Implementation `<=`
Less than or equal to
52
# Implementation ==
Equal to
53
# Implementation !=
Not equal to
54
# Implementation If statements
if x: y ``` | If x is true, then y happens
55
# Implementation Elif statements
``` elif x: y ``` | If an if/elif before is false, this conditional will be checked
56
# Implementation Else statements
``` else: y ``` | If all if/elif statements before fail, this condition is carried out
57
# Implementation Logical operators
AND, OR, and NOT | For example, in x > 3 AND y <4, both conditions must be met
58
# Implementation Types of loops
For loop, while loop
59
# Implementation For loop
``` for i in range(5): y ``` | y is completed 5 times ## Footnote Fixed loop in SQA terms
60
# Implementation While loop
``` while x <= 5: y ``` | While condition is met, y happens, loop stops when condition is false ## Footnote Conditional loop in SQA terms
61
# Implementation Data type change
``` x = str(5) ``` | In this, x is "5" ## Footnote Can use int, str, char, bool, float
62
# Implementation Length function
``` if str(x).len() > 5: print(x) ``` | If the length of the string is more than 5, prints ## Footnote Length can count the chars in a string, whitespace included
63
# Implementation Random function
``` random.choice("hi", "hello, "bye") random.randint(0,50) ``` | .choice chooses a random value from the ones given ## Footnote .randint chooses a random value from the range specified
64
# Implementation Round function
``` round(1.23455, 2) ``` | Will round 1.23455 to 2 decimal places
65
# Implementation Input validation
Makes sure an input meets a set of criteria
66
# Implementation Running total in a loop | In an array
``` 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
# Implementation Running total in a loop | Set amount of loops
``` 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
# Implementation Traversing an array
``` values = ["hi", 1, 1.05] for i in values: if i.type() == int numCount+= 1 ``` | You can do things with interations of a loop