ECM2414 SDLC Flashcards

You may prefer our related Brainscape-certified flashcards:
1
Q

SDLC – broad categories

A

Requirements analysis
Design
Implementation
Testing
Evolution

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

Requirements analysis

A

What business/scientific problem is the system addressing? Is it
feasible?

What will the system do? Who are the users?

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

Design

A

What are the hardware, software and network requirements?

What parts of these will be in-house, and what will be externally

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

Implementation

A

The programming

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

Evolution

A

Has the system accomplished its goals? Are there modifications to be made? If so, return to requirement analysis.

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

Software Development Methodologies

A

Although the broad categories remain, there are multiple SD
methodologies

E.g.,
-Waterfall
-Prototyping
-Rapid Application Development
-Agile

Selection of methodology is dependent on the project type and
resources available

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

Waterfall

A

◼ The Waterfall approach breaks the SDLC into distinct sequential
phases
◼ Each phase needs sign-off (approval) before moving to the next
◼ Leads to very well-documented projects
◼ But means that errors propagate through if not spotted, which
can be very expensive to fix

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

Prototyping

A

Not a complete methodology but a way of tackling larger
stages in other methodologies
◼ Prototyping approaches exist across design areas
◼ Involves end users during process
◼ Lower functionality prototype(s) constructed, to try our ideas, to
learn from, and to get feedback
◼ Analysis, design and implementation tightly coupled leading to
prototypes that feed back – can sometimes cause initial plans to
be reassessed
◼ Often prototypes are discarded

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

Rapid Application Development

A

◼ Heavy focus on tool use to reduce development time and costs
(IDEs, GUI builders, database management systems)
◼ The planning and software implementation are interleaved
◼ Business need paramount
◼ Often development deadline prioritised over requirements: i.e.,
the project iterations are overrunning, the focus is on reducing
requirements rather than extending the deadline
An iterative, incremental process, meeting the need of the business with time

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

Agile development

A

Software development practice based on short iterative “sprints”

these sprints include all regular stages of the SDLC, but involve scrum meetings

Based on short fixed-length sprints
Typical 2-4 weeks long
Aim to produce deployable software in each sprint

Sprint planning meeting
- Which items will be worked on
- Identify sprint tasks
- Divide the sprint into timeboxes

Daily Scrum meeting
- Summarise previous day’s work and coming day’s work
- Intended to foster collaboration

Sprint review meeting
- Demonstration of completed software
- Project owner determines which items of work are complete

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

DIFFERENCE BETWEEN RAD AND AGILE

A

Both iterative and incremental
Agile requires understanding the entire system before implementation stage, so you can have a set definition of what each sprint will feature, and what will be reviewed in each sprint review

Agile is very formal

At the end of the end of an agile sprint, you are aiming to create a (semblence of a) product, whether that’s a product, incomplete prototype, or new feature

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

Pair Programming

A

Two people working on a single programming
task
- One is called the driver – they are actually typing
the code
- The other is the navigator – they are responsible
for the overall direction of the programming

Roles are periodically reversed between the two

Better productivity than two programmers
working independently

Promotes dissemination of project knowledge
among the team

Good for transferring skills to junior developers

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

Advantages of agile development

A

◼ User engagement
◼ Rapid development of a usable product
◼ Early testing catches bugs and results in a high-quality product
◼ Small incremental changes mitigate the potential risk of introducing a large change to a system

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