Software development Flashcards

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

What are the stages of the iterative/waterfall methodology?

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

Why is the agile development methodology said to be more flexible than the iterative model?

A

As the Agile methodology breaks down the program into smaller chunks referred to as ‘sprints’. That involve ongoing analysis, design, and testing as the chunk of the program is put together all at once

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

Why is there no separate testing phase in an agile methodology?

A
  • Testing is done through the production of the program, as you test each part of the program as it is produced
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are some of the key differences in what is expected in terms of communication between agile methodologies and iterative methodologies?

A
  • An agile development methodology would combine people with different skills and place them in a team
  • an Iterative model would place people with the same skills in a single team.
  • Communication in the iterative model relies heavily on the analysis stage, as if misunderstandings occur here these issues will not come up again until the testing stage (by this point great amounts of time and resources have been wasted)
  • With agile methodologies however rapid communication with the clients is prioritised and teams will constantly test and evaluate their program as it is produced, this way it will be far less costly to go back and fix any mistakes or misunderstandings.
  • In the iterative model the client is only required during the analysis and evaluation stages and is not present at any other point in the development of the software
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Why does the agile development methodology not have a documentation stage?

A

As agile methodologies focus on limiting the amounts of documentation and do documentation in chunks as the program is produced instead of all on one go in one big document as iterative models would do

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

What are some of the strengths of the iterative model?

A
  • It has a rigid planning structure that must be followed
  • It is good for managing large teams
  • The outcomes of the project are agreed to beforehand
  • It is easy to track the progression of the software’s development
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are some of the advantages of the agile method?

A
  • Can cope with small changes by the client as the project progresses
  • Heavily involved with clients - this allows changes to be agreed upon more quickly
  • Works very well at producing a simple project
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is meant by the ‘scope’ of a project?

A

The scope is a list of deliverables that the project must deliver to their clients.

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

What is meant by ‘deliverables’?

A

Things that the software development teams must be able to produce.
- Completed program
- any time constraints
- design plan
- program documentation

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

What is a boundaries?

A

Limits of things that the program has to and does not have to do?
e.g for a football game a program would not need to display the names of more than the 22 players on the pitch at that time.

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

What is a module?

A

A smaller part of a program that carries out a particular function.

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

What are the benefits of using modular programming?

A
  • Modular programming allows different programmers to work on the same program without causing errors for each other as they can all work on different modules.
  • Errors in one module should not have an impact on other modules as local variables should be used (meaning that the variables used within that module only exist within that module and not with the rest of the program)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is a local variable?

A

A variable that only exists within the module for which it was created and cannot be used at other points in the program

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

What is a global variable?

A

A variable that can be used in any part of the program

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

What is meant by ‘Data Flow’?

A

When data is passed between modules

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

What type of information can data flow be?

A

-Variables
-Arrays

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

What are the most important rules of data flow?

A
  • Input from the user is not data flow, it is only data flow if it is passed between modules
  • Reading from a file or writing to a file is not data flow unless this information is being passed to another module
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What are the different data types?

A
  • Character
  • String
  • Real
  • Integer
  • Boolean
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What are the data structures?

A
  • Parallel arrays / arrays
  • Records
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

How would you create a record for a pupil at a school with the data of ( First name, House, Year) ?

A

DECLARE pupil AS ARRAY of { FirstName: STRING, House: STRING , Year: INTEGER}

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

How would you declare an array of records for the pupil record?

A

DECLARE Pupils AS ARRAY of pupil*(However many records you needed)

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

What are the standard algorithms at higher?

A
  • Find Max
  • Find Min
  • Count Occurences
  • Linear Search
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

How does a Find Max standard algorithm work?

A

-Create a variable called maximum and set it equal to the first number in the array,
-Loop through each item in the array
-Use a conditional statement to set maximum to the number(counter) if it is bigger than the value that is currently in the maximum value

24
Q

How does a Find Min standard algorithm work?

A
  • Min = numbers[0]
  • For counter in range len(numbers):
  • If numbers[counter] < min
  • Min = numbers[counter]
25
Q

How does a count occurences standard algorithm work?

A
  • Count = 0
  • target = input(“Enter your target”)
  • for counter in range len(array):
  • If array[counter] == target
    -Count = Count + 1
    -Print(“Your target appeared” + Count + “times”)
26
Q

What are the 5 pre-defined functions you need to know for higher?

A
  • Convert floating point to integer
  • Modulus (remainder)
  • Substring
  • ASCII from character
  • character from ASCII
27
Q

What do you do to convert a floating point to an integer?

A

You place int before the number e.g
number 1 = int(3.9539539429)
print(number 1)
this would print the number 3

28
Q

How do you use a substring predefined function?

A

String = “Hello World”
Substring = String[marker1:marker2]
e.g Substring = String[0:4]
Would print hello

Or you can select based off the last characters using a negative number as your first marker e.g
Substring = String[-5:] Would print ‘world’

29
Q

How do you get an ASCII number from a character?

A

You use the ord command short for ordinal
Number = ord(A)

30
Q

How do you get an ASCII character from a number?

A

Using the chr command short for character

31
Q

What are the two types of modules?

A
  • Functions
  • Procedures
32
Q

How do we make a function?

A

To make a function we have a def keyword
Any parameters that we want to include in the function go need to go in brackets at the functions declaration
These parameters are used in the main body of the function instead of variables
The function must run a process and then use the value that it has produced and return this value to the part of the code that called on the function

33
Q

What is the main difference between a procedure and a function?

A

A function will return a value where a procedure will preform a task but may not return a value

34
Q

What are the two different types of parameter?

A
  • Formal parameter
  • Actual parameter
35
Q

What is a formal parameter?

A

Formal parameters are the name given to any parameters that appear in the definition of the function

36
Q

What is an actual parameter?

A

actual parameters is the name given to any parameter that does not appear within the declaration of a function

37
Q

Why are global variables not very memory efficient?

A

As global variables remain in the memory of the program even after they have been used, they can be called at any point in the program meaning that they constantly take up RAM space

38
Q

Why are local variables said to be memory efficient?

A

As local variables are only used in the section of the code where they are declared meaning that they do not take up space in the memory of the program after they have been used

39
Q

What are the four debugging techniques that you need to know at higher?

A
  • Dry run
  • Trace table
  • breakpoint
  • watchpoint
40
Q

What does a dry run debugging technique involve?

A

Dry runs involve mentally walking through the program step by step and using logic to determine what the program should be doing at each stage

41
Q

What does the trace table debugging technique involve?

A

Trace tables involve creating a table that lists all of the relevant variables of the program and tracks how each of the variables changes as the program progresses.

42
Q

What does using breakpoints in debugging involve?

A

This is a computer-based technique that allows a programmer to place a marker at a line in the code that when the code runs the program will stop at this marker

breakpoints can be used in conjunction with trace tables to stop the program and write down the values of variables

43
Q

What does using watchpoints involve in debugging?

A

Watchpoints are a computer-based technique that stops the program automatically when a condition is met for instance a condition for a watchpoint could be that the value of a variable has changed

44
Q

What are the four error types that you need to know at higher?

A
  • End of file error
  • Syntax error
  • logic error
  • Execution error
45
Q

What is meant by a Syntax error?

A

An error with the code that causes the program to be unable to run and will cause the program to break as soon as it is asked to run

46
Q

What is meant by a logic error?

A

An error in the logic of the program that although the program will still run the values that the program outputs will be incorrect

47
Q

What is meant by an executional error?

A

Executional errors occur when the program runs to begin with however then later breaks down and crashes, this can be caused by user input amongst other things

48
Q

What is meant by an end of file error?

A

This type of error occurs when reading to a file and using loops if you read to a file for more lines than are in that file then an end-of-file error will appear. For instance, if you ask a program to loop through a file 101 times reading each line of an 100-line file then by the time the program loops the 101st time there will be no line to read from causing the EOF error.

49
Q

What does a program being fit for purpose mean?

A

Fitness for purpose means that the program meets all of its functional requirements, it reads all of its inputs, completes all of its processes, and displays all of its outputs

50
Q

What does a program having efficient use of programming constructs mean?

A

This means that your program is written is as few lines as possible making it more efficient
programming constructs such as
-loops and arrays
can be used to make a program more efficient

51
Q

What is meant by the robustness of a program?

A

A robust program means that your program copes well with errors and does not crash, a robust program will use input validation to ensure that the user’s input is correct

52
Q

What is meant by usability of a program?

A

Usability means that your program is usable to the average intended user

53
Q

What are some of the ways that you can improve the usability of your program?

A
  • Use constructive error messages that explain to the user what is going wrong or what they are doing that is causing the program to not work
  • Give the user instructions about how they use the code (dont say “enter input” instead say “enter your age as a number”)
  • Format your input and output in a readable way, using whitespace and indentation
54
Q

What is meant by the maintainability of a program?

A

The maintainability of a program refers to how easy your program is for other programmers to edit and maintain

55
Q

What are some of the ways that you can make your program maintainable?

A
  • Make use of commenting to ensure that you and other programmers can tell how each segment of your code works
  • Make use of whitespace, indentation, and meaningful variable names to make your program more readable
  • Use modular programming techniques, using local variables so that changes made only effect certain parts of your code.