software design and developement (SDD) Flashcards
what is iterative methodology
The iterative development methodology is often referred to as the ‘Waterfall model’. Software is developed in the following sequence of iterative stages:
Analysis
Design
Implementation
Testing
Documentation
Evaluation
What is the agile methodology?
Agile development teams build prototypes or software components in small increments known as sprints. Agile development focuses on delivering software as quickly as possible.
what does the analysis stage define
the scope and requirements of the software forming the software specification
what is the purpose in analysis
general overview of what the software does
what is the scope in analysis
what will be delivered (code, design, testing, evaluation) including the time limits
what are the boundaries in analysis
what the system does and doesn’t do, including assumptions
what are functional requirements
what the system must do in terms of inputs, processes and outputs
what is a top-level design in pseudocode
it shows the main steps of the design without detailed subprogram logic
why are data flow and refinements important in pseudocode
data flow shows what information flows in/out of sub-programs, and refinements break down complex steps
what are parallel 1D arrays
two or more 1D arrays together where each array holds related data of the same type
what is a record
stores multiple related fields of different data types
what is an array of records
a list of records stored in 1D array
what is the difference between local and global variables
local: declared within and only accessible inside a sub-program
global: declared in the main program and accessible throughout
what are the two types of parameter passing
formal parameters: declared at the sub-program definition
actual parameters: passed into the sub-program from the main program
what is the difference between a function and a procedure
function returns a value, procedures don’t return a value
what is a sub-program
a block of code within a main program designed to carry out a specific task
what is a pre-defined function
a built-in function provided by a programming language that performs specific tasks without requiring user defintion
what is the purpose of parameter passing
to send data from the main program to sub-programs
what is a comprehensive test plan
a plan that tests with normal, extreme and exceptional data to check how software handles various inputs
what are the 3 types of errors
logic, syntax and execution(runtime) errors
what is a logic error
when a program runs but produces incorrect results due to a mistake in the algorithm or logic
what is a syntax error
when the code doesn’t follow the rules of the language preventing it from compiling
what is an execution error
an error that occurs while the program is running often due to unexpected inputs or outputs
what is dry run debugging
manually stepping through code on paper to check logic