1.2.3 Software Development Flashcards
Describe what a software development methodology is
A process or series of processes used in software development.
Describe the waterfall lifecycle methodology
Series of stages - Followed in order - Can go back up the order - Then needs to follow back down in order.
Progress to the next step is not made until the previous step is completed.
Uses formal documented stages
Focuses on the end user at the start
Each stage in the life cycle feeds information to the next stage
In what scenario would it be beneficial to use the waterfall methodology?
When the requirements are clear and unlikely to change
Very reliant on getting the definition of requirements correct at the start; changes are harder to add in at a later stage. However, this forces the definition to be well-understood.
Describe extreme programming
An iterative process designed to allow development to respond to changing user requirements.
Involves paired programming
The end user integral throughout XP
The focus is on good-quality code
Describe rapid application development
Use of prototypes
No formal analysis, or design stages so requirements do not need to be stated at the start (more flexible)
Feedback used to influence future stages
Reduced development time due to each subtask being given strict time limits.
The prototype is tested and feedback is obtained from users
The results of feedback and testing are used to inform the next prototype.
Describe the spiral model
Mostly used for large-scale projects, where risk is a factor.
Has more focus on risk management; projects may be modified or even dropped if the risk is too great.
Has four quadrants (determine objectives, identify and manage risk, develop and test, and plan the next iteration).
Relies on frequent client feedback to inform future development of prototypes.
Produces functional prototypes.
Describe the main differences between agile and waterfall
Waterfall needs fixed requirements as it is hard to change - Agile does not
Waterfall used formal stages that are followed in order - Agile does not
Waterfall does not involve the user in the development stages - Agile does.
What is the pseudocode for a WHILE loop?
while condition
code to execute
endwhile
———–EXAMPLE————–
while answer!=”computer”
answer=input(“What is the password?”)
endwhile
What is the pseudocode for a DO WHILE/UNTIL loop?
do
code to execute
until condition
———–EXAMPLE————–
do
answer=input(“What is the password?”)
until answer==”computer”
What is the pseudocode for a for loop?
for i=x to y
code to execute
next i
———–EXAMPLE————–
for i=0 to 7
print(“Hello”)
next i
State the 7 arithmetic operators
Add (+)
Subtract (-)
Multiply (*)
Divide (/)
MOD (Remainder)
DIV (Whole part of division)
^ (Power)
State the 6 comparison operators
Equal to (==)
Not equal to (!=)
Less than (<)
Less than or equal to (<=)
Greater than (>)
Greater than or equal to (>=)
What is the pseudocode to output?
print(“hello world”)
What is the pseudocode to take an input?
VariableName=input(“Please enter your name”)
What is the pseudocode for a substring?
stringname.subString(startingPosition, numberOfCharactersToReturn)