Software Development Methodologies (to be continued) (if i can be bothered)

studied byStudied by 0 people
0.0(0)
learn
LearnA personalized and smart learning plan
exam
Practice TestTake a test on your terms and definitions
spaced repetition
Spaced RepetitionScientifically backed study method
heart puzzle
Matching GameHow quick can you match all your cards?
flashcards
FlashcardsStudy terms and definitions
Get a hint
Hint

what are the stages of generic software development?

1 / 13

14 Terms

1

what are the stages of generic software development?

analysis, design, implementation, testing, evaluation, maintenance

New cards
2

what is the analysis stage?

  • define the problem and establish the requirements

  • requirements could involve the data, the procedures, the future, the problems

New cards
3

what is the design stage?

could involve processing, data structures, output, input, user interface, security and hardware

New cards
4

what is the implementation/programming stage?

  • breaking the problem down into individual modules repeatedly until each module performs a single well-defined task

  • then the program code is written

New cards
5

what is black box testing (functional testing)?

  • looking at the program specification and creating a set of test data that covers all the program functions/inputs/outputs

New cards
6

what is white box testing (structural testing)?

  • derives from the program structure instead of its function

  • tests are devised which test each possible path of the structure at least once

  • does not detect missing functions

New cards
7

what is alpha testing?

  • carried out by software developer’s in-house testing team, reveals both errors and omissions in the requirements definition

New cards
8

what is beta testing?

  • gives the package to a number of potential users who use the system and report problems

  • exposes the product to real use and detects unanticipated problems and errors

  • the product can be modified and sent out for more testing

New cards
9

what happens in the evaluation stage?

  • could use post implementation review about performance, errors, benefits, problems, how much it meets the criteria

  • waiting period allows users and staff to learn how to use the system

  • management evaluate usefulness of system and shortcomings become apparent

  • evaluating on basis of effectiveness, usability and maintainability

New cards
10

what is the waterfall lifecycle model?

  • the steps are carried out sequentially and the entirety of one stage has to be completed before the next can be started

  • each step has specific outputs that lead into the next step

  • difficult to return to previous stages because developers have to work back down through the stages

  • little user input (only in analysis stage)

  • advantages: easy for small projects with clear requirements, clear structure, obstacles in one stage can be resolved before moving on

  • disadvantages: difficulty in making changes, little user input (only in analysis stage), leaves the testing phase until the end is risky, not good for flexible requirements

New cards
11

what is the spiral lifecycle model?

  • uses the same structured steps but introduces idea of developing the software in iterative stages

  • at the start of the process, the requirements are defined and the developers work towards an initial prototype

  • the analyse, design, implement, evaluate stages are carried out repeatedly and they generate a prototype which provides a plan for the next iteration

  • each successive loop around the spiral generates a refined prototype until the product is finished

  • advantages: good for large scale projects, regular testing ensures that problems are detected early, fast and cost effective development due to rapid cycles, software is produced early on, can accomodate to flexible, changing requirements

  • disadvantages: can be expensive if spirals continue indefinitely, not an ideal fit for smaller projects, documentation is too much, a complex process,

New cards
12

what is the agile lifecycle model?

  • advocates building prototypes, testing and incorporating feedback as soon as possible

  • after each prototype is built, it is reviewed

  • in the next stage, the prototype can be modified

  • it’s an iterative process where changes are constantly made and the user constantly gives feedback

  • advantages: focus on users, simple model, flexible, fast software development cycles

  • disadvantages: creates scope creep, (where client continually adds to the requirements, causing more time and money wasted), theres also a lack of documentatation and unsuitable for small projects

New cards
13

what is rapid application development lifecycle?

  • offers faster completion of major projects

  • uses workshops and focus groups to gather requirements

  • use of prototyping, reuses software components, strict time limits on each part of the system

  • advantages: better focus on customer feedback, fast production speed, breaks down development into manageable chunks

  • disadvantages: expensive, unnecessary for small projects, requires a skilled team of developers

New cards
14

what is extreme programming lifecycle?

  • frequent releases of software in response to changing customer requirements

  • a type of agile software development

  • improves productivity and software quality

  • uses pairs of programmers where one codes and one reviews

  • user is involved in development process so strong focus on meeting user requirements

  • disadvantages: no documentation, requires lots of collaboration, scope creep can happen

  • usability: flexible requirements and tight deadlines and high quality

New cards
robot