Software Design And Development Flashcards

1
Q

What is the agile design methodology

A

Each step can be revisited, copes well with unpredictability and rapid change
Client gives constant feedback throughout
Face to face communication, lots of collaboration
Small cycles of coding, testing and adapting, reduces documentation
Difficult to predict whats happening next, adaptive
Testing carried out while programming

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

What are 2 benefits of agile methodology over iterative methodology

A
  1. More communication with client, live and constant feedback
  2. Each step can be revisited throughout the process, adapts well to change
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the role of the client in an agile methodology?

A
  • Details requirements
  • Outlines scope and boundaries
  • Evaluates prototype/suggest changes
  • Provides feedback/liaising with development team throughout process
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the iterative design methodology?

A

Linear, client involved at analysis stage and end of development.
Teams work independently
Detailed project specs and legal contract
Predictable, difficulty changing direction
Testing done after implementation

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

What are 2 advantages of the iterative design methodology over adaptive design methodology?

A
  1. It’s easy to make and meet deadlines
  2. Everything is organised and straightforward
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is purpose in the analysis stage?

A

General description of the purpose of the software

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

What are functional requirements in the analysis stage?

A

Inputs, processes and outputs

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

What is scope in the analysis stage?

A

Deliverables that are handed over at the end of the project (e.g. completed program, test results, evaluation report)

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

What are boundaries in the analysis stage?

A

Limits of what the program can and can’t do, clarifies assumptions

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

List the 3 types of errors?

A

Syntax error
Logic error
Execution error

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

What are syntax errors?

A

Errors where the program wont run, usually caused by misspellings or missing symbols, lines of code etc

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

What are logic errors?

A

Errors where the program runs fine but outputs something unexpected, usually caused by using and instead of or (or vice versa), using < instead of > (or vice versa) or any other wrong symbol or logical operator

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

What are execution errors?

A

Errors where the program crashes unexpectedly

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

How to create record structure?

A

Record recordname is
(name as string, age as integer, height as real/single)
End record

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

How to find maximum? (construct)

A

Set max to array(0)
For counter 1 to (length of array - 1)
If array(counter) > max then
Set max to array(counter)
End if
Next loop

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

How to find minimum? (construct)

A

Set min to array(0)
For counter 1 to (length of array - 1)
If array(counter) < min then
Set min to array(counter)
End if
Next loop

17
Q

How to do count occurence? (construct)

A

Receive target from keyboard
Set numFound to 0
For counter 1 to (length of array - 1)
If array(counter) = target then
Set numFound to numFound + 1
End if
Next loop

18
Q

How to do linear search? (construct)

A

Receive target from keyboard
Set found to false
Set position to 0
For counter 1 to (length of array - 1)
If array(counter) = target then
Set found to true
Set position to counter
End if
Next loop

If found = true
Display target and position
Else
Display target not found
End if

19
Q

How to write to file?

A

Create “filename.txt”
Loop through array
Send array(loop) to “filename.txt”
Next loop
Close “filename.txt”

20
Q

How to read from file?

A

Open “filename.txt”
Loop through contents of file
Add to contents(loop)
Next loop
Close “filename.txt”

21
Q

What are the predefined functions ASC and CHR?

A

ASC gives the ASCII code for a character
ASCIIvalue=ASC(Character)
CHR gives the character of an ASCII value
Character=CHR(ASCIIvalue)

22
Q

What is the predefined function INT?

A

Converts floating point number to integer
Integer=INT(Decimal)

23
Q

What is the predefined function MOD?

A

It returns the remained of a division
Remainder=7 MOD 2
Would return 1

24
Q

What is the predefined function MID?

A

LEFT, RIGHT and MID are string functions that take part of the string either from the left, right or any point respectively.

25
Q

What are the 2 scopes of variables?

A

Global - able to be accessed by the whole program

Local - only accessed hy the subprograms/functions they’re in

26
Q

What is the difference between actual and formal parameters?

A

Actual parameters are the parameters in the main program

Formal parameters are the names of variables which link to the actual parameters but don’t need to have the same name

(Luna’s Analogy: actual parameters are the parameters as they are naturally, like being at home. Formal parameters are essentially at the work place)

27
Q

What is the difference between a procedure/subprogram and a function?

A

A function is used only for input values and returns a single value

A procedure/subprogram can be used for input and output values and returns several values

28
Q

What are 2 benefits of modularity?

A
  • It allows sections of code to be self contained
  • Different subprograms can be developed by different programmers without variable name clashes
  • Subprograms can be reused without any extra coding which saves time
  • It makes it easier to identify and solve any errors
29
Q

What is the difference between passing parameters with by reference and by value

A

By ref - changes original value (the actual parameter)

By val - used when parameter is used but not changed

30
Q

What are the different points of evaluation? (Name at least 3)

A
  • Fitness for purpose
  • Efficient use of coding constructs
  • Suitable data types/structures
  • Modularity/parameter passing (subprograms)
  • Usability (user interface, prompts, help provided, visual layout)
  • Maintainability (white space, comment lines, meaningful variable names)
  • Robustness (doesn’t crash, input validation)
31
Q

What are testing/debugging techniques?

A
  • Dry run
  • Watchpoint
  • Breakpoint
32
Q

What is a dry run?

A

Manually reading through each line of code using test data. Every change is recorded in a table (basically just looking through code)

33
Q

What are watch points and break points?

A

Breakpoints stop the program ar a particular line of code allowed you to inspect and analyse variables

Watchpoints stop the programs when a variable value changes or meets a condition

34
Q

How to design a user interface?

A

Inputs require buttons/input boxes and outputs require a listbox to display the information