1.2.3 - software development Flashcards

1
Q

waterfall lifecycle

A

Has a series of stages, each of which have to be completed before moving on to the next one. Each stage is large ad thorough and produces a large amount of documentation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

5 stages of the waterfall cycle

A

1- requirements
2- analysis
3- design
4- implementation
5- testing
6- deployment
7- testing

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

requirements stage of the waterfall lifecycle

A
  • project team will work with the client to set out requirements for the whole program.
  • these will be very hard to change after this stage is completed.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

analysis stage of the waterfall lifecycle

A

The project team analyses:
- what solutions they have ready to implement
- what they can use or adapt to produce a solution

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

design stage of the waterfall lifecycle

A

The project team produces a solution design that meets all of the user’s requirements.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

2 advantages of waterfall lifecycle

A

1- Easy to manage as team is only focusing on one stage at a time.
2- Fewer production issues during development due to amount of time invested into previous stages.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

disadvantages of waterfall lifecycle

A

1- Inflexible and doesn’t cope with changing requirements which can cause delays and significant cost increases.
2- Doesn’t work very well for complex or long term projects as it would take too long to get through each stage.
3- Can be very difficult for the project team to capture all the user requirements in one go as the client often doesn’t know what they want.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

usage of waterfall life cycle

A
  • works well for small to medium projects
  • effective when the client has a very clear picture of what they want to be developed.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

agile methodology

A
  • has a series of stages
  • some of these stages are repeated to allow people to change their requirements and develop a product over sprints
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

user stories in agile methodologies

A

Descriptions of the different ways that the system will be used, what it will look like and what they expect it to do.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Describe a sprint in agile methodologies.

A
  • A development sprint is a short time frame during which a specific user story is completed.
  • A sprint planning meeting is held to prioritise and categorise these user stories and set up the work for the sprint.
  • The product is a fully working deliverable that the client can use instantly.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What happens after a sprint in agile methodologies?

A
  • The deliverable is given to the client.
  • The product is evaluated and this info is fed back into the next sprint planning meeting.
  • The sprint planning meeting and the sprint are repeated until the full scope of the project is agreed as finished.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

3 advantages of agile methodology

A

1- The client can take a product to the market quicker.
2- Clients can receive incremental updates for the product.
3- The final product has absolute certainty that it is what the clients wanted as they are constantly involved with its development.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

3 disadvantages of agile methodology

A

1- Less predictability compared to waterfall in terms of time and cost and the process constantly repeats.
2- Requires higher time input from the client as they are constantly required for feedback and consultation throughout the development process.
3- Can easily go off track and a project can last well beyond the initial idea, which means high cost and time.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

usage of agile methodology

A

Best suited to projects where the client has a good idea of what they want but they also have a lot of time to invest into controlling the project and feeding back on it.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

stages of extreme programming

A

1- extreme planning
2- extreme designing
3- extreme programming
4- extreme testing
5- acceptance testing

17
Q

extreme planning stage of extreme programming

A
  • Client is in constant contact with the project team to establish requirements.
  • The project then goes into the ‘planning game’ to plan out releases and what will be in each iteration.
18
Q

extreme designing stage of extreme programming

A

The project team will build simple designs to implement the needed functionality.

19
Q

extreme programming stage of extreme programming

A

The programmers work in pair with one coding and the other critiquing the code.

20
Q

extreme testing stage of extreme programming

A
  • the code is tested in units
  • integration testing is also completed to ensure it works together and the code is reviewed for efficiency and quality.
21
Q

acceptance testing stage of extreme programming

A
  • The client feeds back on the product in its current stage.
  • This is then taken into the next iteration of extreme planning for the next release.
22
Q

3 advantages of extreme programming

A

1- Can produce a product quickly that the client can use.
2- Constantly refactored in response to client feedback which saves time and money for developing.
3- Lower risk of failure.

23
Q

3 disadvantages of extreme programming

A

1- The project can be too code-focused and not design-focused so may not be best possible product.
2- Produces little to no documentation.
3- If the developers are split geographically, it can cause issues when it is time for code review.

24
Q

usage of extreme programming

A

Best suited to projects where the client has a constantly changing set of requirements and needs a product quickly at the lowest possible price.

25
Q

4 stages of spiral methodology

A

1- identification
2- design
3- construction
4- evaluation and risk assessment

26
Q

identification stage of spiral methodology

A
  • The client and project team collaborate to establish requirements.
    2- Also used to review what has been achieved before and what needs to be added.
27
Q

design stage of spiral methodology

A

1- conceptual
2- architectural
3- logical
4- physical

28
Q

construction stage of spiral methodology

A

During the first spiral, a concept version will be built to get feedback from the client, then functionality will be added in each spiral.

29
Q

evaluation and risk assessment stage of spiral methodology

A

Evaluate the product by the client and assess the risk of what still needs to be done.

30
Q

advantages of spiral methodology

A
  • A product can be developed at each cycle and more added to the system after each spiral.
  • The client is able to see the product being developed to ensure it is what they want.
31
Q

3 disadvantages of spiral methodology

A

1- Can easily fall off track.
2- Requires significant time investment from client.
3- Produces poor documentation.

32
Q

usage of spiral methodology

A

The client should have a clear idea of what they want and be willing to make a big time investment.

33
Q

types of agile methodologies

A

1- spiral
2- extreme programming
3- RAD

34
Q

3 stages of RAD

A

1- analysis and design
2- build, demonstrate and refine
3- testing and implementing

35
Q

analysis and design stage of RAD

A
  • Project team will look at user requirements and what they can adapt or use from other projects.
  • A simple design is produced.
36
Q

build, demonstrate and refine stage of RAD

A
  • Develop a product
  • Demonstrate to client
  • Refine product based on feedback
37
Q

2 disadvantages of rapid application development

A

1- Requires heavy time input from client.
2- System focuses on delivering a product that is simply good enough, not perfect.

38
Q

Usage of RAD

A

Best suited to large project with short time scales, where it is important to have a timely release to keep market relevance.