programming methodologies

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

1 / 30

flashcard set

Earn XP

31 Terms

1

analysis

stakeholders stake their requirements which are used to define the problem and system requirements

New cards
2

design

the different aspects of the new system are designed (e.g. inputs, outputs, security features)

New cards
3

development

the project is split into individual and self-contained modules and allocated to teams

New cards
4

testing

the program is tested against the test plan formed in the design stage

New cards
5

alpha testing

carried out by in-house software development teams within the company. bugs are pinpointed and fixed.

New cards
6

beta testing

carried out by end-users after alpha testing has been completed. feedback from users is used to inform the next stage of development

New cards
7

white box testing

carried out by the software development team, who know the internal structure of the program, and so all possible routes throughout the program are tested

New cards
8

black box testing

the testers aren’t aware of the internal structure of the program

New cards
9

implementation

once the software has been tested and reviewed, it is installed onto the users’ systems

New cards
10

evaluation

the effectiveness of the system is evaluated against the system requirements. different criteria are considered (e.g. robustness, reliability, portability, and maintainability)

New cards
11

maintenance

any errors or improvements that could be made to the system are flagged by end users. programmers regularly send out software updates to fix bugs, security issues, or make improvements.

New cards
12

waterfall lifecycle

  • if a change needs to be made within a project, developers must revisit all levels between the current stage and where the change needs to be made

  • users have little input as they are only involved at the very beginning and end (during analysis and evaluation)

<ul><li><p>if a change needs to be made within a project, developers must revisit all levels between the current stage and where the change needs to be made</p></li></ul><ul><li><p>users have little input as they are only involved at the very beginning and end (during analysis and evaluation)</p></li></ul><p></p>
New cards
13

agile methodologies

  • a collection of methodologies

  • aim to improve the flexibility of software development + adapt to user requirement changes faster

  • problem is broken down into sections which are developed in parallel

  • different sections of software can be at different levels of development

  • a working prototype will be given early during development, and the prototype is built on in an iterative manner

  • less of a focus on documentation

  • priority given to user satisfaction

<ul><li><p>a collection of methodologies</p></li><li><p>aim to improve the flexibility of software development + adapt to user requirement changes faster</p></li><li><p>problem is broken down into sections which are developed in parallel</p></li><li><p>different sections of software can be at different levels of development</p></li><li><p>a working prototype will be given early during development, and the prototype is built on in an iterative manner</p></li><li><p>less of a focus on documentation</p></li><li><p>priority given to user satisfaction</p></li></ul><p></p>
New cards
14

extreme programming

  • agile model

  • team of a pair of programmers, and a representative end user

  • model built on system requirements that are specified by the end user

  • paired programmers produce high-quality code and work no longer than 40 hour weeks

  • hard to produce high quality documentation

New cards
15

spiral model

  • analysing system requirements > pinpointing and mitigating risks > development, testing + implementation > evaluating to inform the next iteration

  • if the project is found to be too risky at any point is it terminated

<ul><li><p>analysing system requirements &gt; pinpointing and mitigating risks &gt; development, testing + implementation &gt; evaluating to inform the next iteration</p></li></ul><ul><li><p>if the project is found to be too risky at any point is it terminated</p></li></ul><p></p>
New cards
16

rapid application development

  • iterative methodology

  • partially functioning prototypes which are constantly built-upon

  • user requirements are gathered by using focus groups

  • incomplete version of the solution is built and given to the user to trial

  • user feedback is used to generate the next, improved prototype

  • this continues until a final products made

  • common to use where requirements are initially unclear

  • constant changed can make code inefficient

New cards
17

strengths of waterfall

  • straightforward to manage

  • clearly documented

New cards
18

drawbacks of waterfall

  • lack flexibility

  • no risk analysis

  • limited user involvement

New cards
19

waterfall uses

static, low-risk projects which need little user input

New cards
20

strengths of agile

  • produces high quality code

  • flexible to changing requirements

  • regular user input

New cards
21

drawbacks of agile

  • poor documentation

  • requires consistent interaction between user and programmer

New cards
22

uses of agile

small to medium projects with unclear initial requirements

New cards
23

strengths of extreme programming

  • produces high quality code

  • constant user involvement means high usability

New cards
24

drawbacks of extreme

  • high cost of two people working on one project

  • teamwork is essential

  • end-user mat not be able to be present

New cards
25

uses of extreme

small to medium projects with unclear initial requirements requiring excellent usability

New cards
26

strengths of spiral

  • thorough risk analysis and mitigation

  • caters to changing user needs

  • produces prototypes throughout

New cards
27

drawbacks of spiral

  • expensive to hire risk assessors

  • lack of focus on code efficiency

  • high costs due to constant prototyping

New cards
28

uses of spiral

large, risk-intensive projects with a high budget

New cards
29

strengths of RAD

  • caters to changing user requirements

  • highly usable finished product

  • focus on core features, reducing development time

New cards
30

drawbacks of RAD

  • poorer quality documentation

  • fact pace may reduce code quality

New cards
31

uses of RAD

small to medium, low budget projects with short time frames

New cards

Explore top notes

note Note
studied byStudied by 7 people
453 days ago
5.0(1)
note Note
studied byStudied by 23 people
729 days ago
5.0(1)
note Note
studied byStudied by 6 people
707 days ago
5.0(3)
note Note
studied byStudied by 7 people
755 days ago
5.0(1)
note Note
studied byStudied by 6 people
848 days ago
5.0(1)
note Note
studied byStudied by 28 people
309 days ago
5.0(1)
note Note
studied byStudied by 523 people
659 days ago
5.0(4)
note Note
studied byStudied by 43192 people
104 days ago
4.8(313)

Explore top flashcards

flashcards Flashcard (100)
studied byStudied by 45 people
121 days ago
5.0(3)
flashcards Flashcard (39)
studied byStudied by 2 people
100 days ago
5.0(1)
flashcards Flashcard (67)
studied byStudied by 18 people
344 days ago
5.0(1)
flashcards Flashcard (30)
studied byStudied by 20 people
404 days ago
5.0(1)
flashcards Flashcard (65)
studied byStudied by 11 people
450 days ago
5.0(1)
flashcards Flashcard (113)
studied byStudied by 1 person
629 days ago
5.0(1)
flashcards Flashcard (23)
studied byStudied by 13 people
136 days ago
5.0(1)
flashcards Flashcard (41)
studied byStudied by 11 people
1 hour ago
5.0(1)
robot