Software Design and Development Flashcards

L. Ron Hoyabembe.

1
Q

What is the order of phases in the waterfall model development methodology?

A

Analysis, Design, Implementation, Testing, Documentation, Evaluation, Maintenance.

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

The waterfall model is L_____ and S_______.

A

The waterfall model is Linear and Sequential.

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

The waterfall model can be described as an Iterative Process. What does this mean?

A

Iterative means previous stages can be revisited when a problem is discovered or a client requests new functionality.

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

When can Iteration take place in the waterfall model?

A

Iteration can take place between or within stages.

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

What does the system analyst do?

A

The system analyst communicates with the client to get a clear picture of what they want to save time and money. They relay information back to the team. They also analyse the problem.

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

What does the independent test group do?

A

The independent test group test for errors in the program.

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

What does the project manager do?

A

The project manager keeps the project on schedule and within budget.

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

During the analysis stage, a contract with the client is made. What is this contract called and what does it identify.

A

The contract made is called the software specification and it clearly identifies the functional requirements by analysing inputs processes and outputs.

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

What is stepwise refinement?

A

Stepwise refinement is when the large problem a program is built to solve is split into a series of smaller and smaller steps, and small manageable parts are given to different teams.

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

What design notation shows the hierarchy of program components and how they link together?

A

Structured diagrams show the program in a series of smaller chunks by stepwise refinement.

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

What is comprehensive testing?

A

Comprehensive testing is planned to test a wide range of test data, testing how the program responds to normal, extreme, and exceptional data.

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

What is systematic testing?

A

Systematic testing progresses from testing subroutines and works its way up to testing the whole system.

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

What is a dry run?

A

A dry run is when the code is manually ran though to trace the value of variables and check they are as they should be. They identify logic errors.

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

What is a trace table?

A

A trace table has a column for what a value of a variable is supposed to be at each point in the code and a column to be filled in with what the value is when properly run.

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

What is a breakpoint?

A

A breakpoint stops the program from running after a certain point and prints the value of a variable (or many). This helps to fill in a trace table.

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

What is a watchpoint?

A

A watchpoint is similar to a breakpoint, it stops the program from running when a condition is met.

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

What is a syntax error?

A

A syntax error is similar to a grammar error, the code cannot run because it is typed with incorrect syntax.

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

What is an execution error?

A

An execution error is when you try to ask the program to do something impossible, causing a ‘crash’.

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

What is a logic error?

A

A logic error is when numeric, comparative or logic operations are designed or implemented improperly, leading to unexpected values or results.

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

What is contained in the testing documentation?

A

Testing documentation includes the test plan and details of all testing done.

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

What guides are created during the documentation phase?

A

The user guide and the technical guide are created during the documentation phase.

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

What does the user guide tell the user how to do?

A

The user guide explains how to use the program.

23
Q

What does the technical guide contain?

A

The technical guide gives the system requirements and an installation guide.

24
Q

What headings is the end product evaluated under during evaluation?

A

Robust, Reliable, Efficient, Portable, Maintainable, Readable.

25
Q

What three types of maintenance are there?

A

Corrective, Perfective, and Adaptive.

26
Q

What is corrective maintenance?

A

Corrective maintenance is when the program is modified to rectify errors.

27
Q

What is perfective maintenance?

A

Perfective maintenance is when features are added or improved.

28
Q

What is adaptive maintenance?

A

Adaptive maintenance is when the program is ported to a new system or device or new compatibility is added.

29
Q

What size of project is the waterfall model best for?

A

The waterfall model is best for large projects.

30
Q

Agile methodologies are I________ and I__________..

A

Agile methodologies are Iterative and Incremental.

31
Q

What does “Incremental” mean when describing Agile methodologies?

A

Incremental means stages can commence before prior stages are fully completed.

32
Q

What happens during a “sprint” when following an Agile Methodology?

A

Sprints are carried out for each area of development. Several steps are repeated and carried out in consecutive sprints. During each sprint, a prototype of the program is created.

33
Q

What do agile methodologies place emphasis on?

A

Agile methodologies place great emphasis on communication with the client and between teams.

34
Q

What predefined functions in python have we learned in higher computing?

A

int(), round(), len(), ord(), chr().

35
Q

What is a subroutine?

A

A subroutine is a function that the program carries out that values can be passed into to carry out a specific process defined by the programmer.

36
Q

Why do we use subroutines?

A

Subroutines cut out on unnecessary repetition of lines, shortening development time and file size, and also make the program more readable.

37
Q

What is a local variable?

A

A local variable is a variable used within a subroutine and cannot be seen or referenced by any other part of the program.

38
Q

What is a global variable?

A

A global variable is created in the main part of a program and can be passed to other parts of the program. It can be seen and accessed from all parts of the program.

39
Q

What is the scope of a local variable?

A

The scope of a local variable is the subroutine it is in.

40
Q

What is the scope of a global variable?

A

The scope of a global variable is the whole program.

41
Q

Programs that use subroutines can be M______.

A

Programs that use subroutines can be Modular.

42
Q

How many values can a function return?

A

A function can only return 1 value, but this can be an array to effectively return multiple.

43
Q

What is a method?

A

A method is like a function but part of a class.

44
Q

How can we pass a parameter?

A

We can pass a parameter by value or by reference.

45
Q

What does it mean to pass a parameter by value?

A

Passing a parameter by value passes a copy of a value into the block of code. It does not need to be passed out again. Because this only creates a copy of the value, this requires more space and processing power.

46
Q

What does it mean to pass a parameter by reference?

A

Passing a parameter by reference is when we pass in the actual parameter rather than a copy of its value. It will be passed out again.

47
Q

What standard algorithms do we learn in higher?

A

Input validation, Count Occurrences, Linear search, Find Minimum, Find Maximum.

48
Q

What three modes are there for the open() function in python?

A

Read, Append, and Write.

49
Q

What does strip() do in python?

A

Strip removes all whitespace and turns a text file into one continuous line.

50
Q

What does split() do in python?

A

Split converts every word in a line to a value and returns an array.

51
Q

What is a .csv file?

A

CSV stands for Comma Seperated Values. These can be imported and exported to databases and can be modified by programs. When writing to them we use arrays.

52
Q

How do we pass in arrays?

A

We pass in arrays by reference as they can be very big and duplicating their value takes up a lot of space and processing power.

53
Q

What does a modulus (%) do?

A

Modulus returns the remainder when a number is divided. For example 5%2 = 1.