Software Design and Development Flashcards
Describe agile methodologies
Agile programming is a type of development process suited to smaller projects. It is designed to be as flexible as possible where the specification may change throughout the development process resulting in reduced development time and costs.
Describe iterative development process
Software development is an iterative process. When using this approach, programmers move from stage to stage in sequence unless problems are encountered. If problems are encountered at one stage, then it may be necessary to revisit earlier stages of the waterfall cycle. If problems are encountered within a stage, it may be necessary to repeat elements of that stage before moving on.
Advantage and disadvantage of Iterative development process
Rigid Planning Structure
Good for large teams
Can over complicate simple projects.
Little involvement of client after analysis
Advantage and disadvantage of Agile methodologies.
Ongoing involvement of client allows changes to be agreed quickly
Changes cause less delay or can be tackled in the next version.
Usually no legally binding agreement at the start
Needs close version control and tracking of changes
What is the purpose of a program
The purpose of a program is a clear and accurate description of what the program is to achieve
What is the scope of a program
The scope is a collection of statements that explain what the program should be able to do or work with, usually written as a list of deliverables;
What is the boundaries of a program
The boundaries are the opposite of scope; what the program should not be able to do or work with;
What are the functional requirements of a program
Functional requirements are clear statements explaining what every input, process and output does in the program.
Draw and label the shapes for a structure diagram.
Loop
Selection
Process
Predefined function
What are the three levels of design
- Top level design
- The data flow
- Refinements
What will data flow help with
Data flow will allow us to identify the parameters being passed in and out
Implement a 1D Parallel Array
lines=len(readings)
Name=[””]len(lines)
Subject1=[0]len(lines)
counter=0 while counter < len(lines): Name [counter] = [counter] [0] Subject [counter] = [counter] [0] counter +=1
Implement a record
class competitors; name : str = "" subject1 : int = 0 subject2 : float = 0.0
Two benefits of using a local variable
Aids Modularity
Removes name clashing with other local variables in other subroutines