Software Design and Development Flashcards
L. Ron Hoyabembe.
What is the order of phases in the waterfall model development methodology?
Analysis, Design, Implementation, Testing, Documentation, Evaluation, Maintenance.
The waterfall model is L_____ and S_______.
The waterfall model is Linear and Sequential.
The waterfall model can be described as an Iterative Process. What does this mean?
Iterative means previous stages can be revisited when a problem is discovered or a client requests new functionality.
When can Iteration take place in the waterfall model?
Iteration can take place between or within stages.
What does the system analyst do?
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.
What does the independent test group do?
The independent test group test for errors in the program.
What does the project manager do?
The project manager keeps the project on schedule and within budget.
During the analysis stage, a contract with the client is made. What is this contract called and what does it identify.
The contract made is called the software specification and it clearly identifies the functional requirements by analysing inputs processes and outputs.
What is stepwise refinement?
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.
What design notation shows the hierarchy of program components and how they link together?
Structured diagrams show the program in a series of smaller chunks by stepwise refinement.
What is comprehensive testing?
Comprehensive testing is planned to test a wide range of test data, testing how the program responds to normal, extreme, and exceptional data.
What is systematic testing?
Systematic testing progresses from testing subroutines and works its way up to testing the whole system.
What is a dry run?
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.
What is a trace table?
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.
What is a breakpoint?
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.
What is a watchpoint?
A watchpoint is similar to a breakpoint, it stops the program from running when a condition is met.
What is a syntax error?
A syntax error is similar to a grammar error, the code cannot run because it is typed with incorrect syntax.
What is an execution error?
An execution error is when you try to ask the program to do something impossible, causing a ‘crash’.
What is a logic error?
A logic error is when numeric, comparative or logic operations are designed or implemented improperly, leading to unexpected values or results.
What is contained in the testing documentation?
Testing documentation includes the test plan and details of all testing done.
What guides are created during the documentation phase?
The user guide and the technical guide are created during the documentation phase.
What does the user guide tell the user how to do?
The user guide explains how to use the program.
What does the technical guide contain?
The technical guide gives the system requirements and an installation guide.
What headings is the end product evaluated under during evaluation?
Robust, Reliable, Efficient, Portable, Maintainable, Readable.
What three types of maintenance are there?
Corrective, Perfective, and Adaptive.
What is corrective maintenance?
Corrective maintenance is when the program is modified to rectify errors.
What is perfective maintenance?
Perfective maintenance is when features are added or improved.
What is adaptive maintenance?
Adaptive maintenance is when the program is ported to a new system or device or new compatibility is added.
What size of project is the waterfall model best for?
The waterfall model is best for large projects.
Agile methodologies are I________ and I__________..
Agile methodologies are Iterative and Incremental.
What does “Incremental” mean when describing Agile methodologies?
Incremental means stages can commence before prior stages are fully completed.
What happens during a “sprint” when following an Agile Methodology?
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.
What do agile methodologies place emphasis on?
Agile methodologies place great emphasis on communication with the client and between teams.
What predefined functions in python have we learned in higher computing?
int(), round(), len(), ord(), chr().
What is a subroutine?
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.
Why do we use subroutines?
Subroutines cut out on unnecessary repetition of lines, shortening development time and file size, and also make the program more readable.
What is a local variable?
A local variable is a variable used within a subroutine and cannot be seen or referenced by any other part of the program.
What is a global variable?
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.
What is the scope of a local variable?
The scope of a local variable is the subroutine it is in.
What is the scope of a global variable?
The scope of a global variable is the whole program.
Programs that use subroutines can be M______.
Programs that use subroutines can be Modular.
How many values can a function return?
A function can only return 1 value, but this can be an array to effectively return multiple.
What is a method?
A method is like a function but part of a class.
How can we pass a parameter?
We can pass a parameter by value or by reference.
What does it mean to pass a parameter by value?
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.
What does it mean to pass a parameter by reference?
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.
What standard algorithms do we learn in higher?
Input validation, Count Occurrences, Linear search, Find Minimum, Find Maximum.
What three modes are there for the open() function in python?
Read, Append, and Write.
What does strip() do in python?
Strip removes all whitespace and turns a text file into one continuous line.
What does split() do in python?
Split converts every word in a line to a value and returns an array.
What is a .csv file?
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.
How do we pass in arrays?
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.
What does a modulus (%) do?
Modulus returns the remainder when a number is divided. For example 5%2 = 1.