1.2.3 Software Development

0.0(0)
studied byStudied by 4 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/26

flashcard set

Earn XP

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

27 Terms

1
New cards

Common stages in software development lifecycles

Analysis

Design

Development

Testing

Implementation

Evaluation

Maintenance

2
New cards

Analysis

Stakeholders state what they require from the finished product which is used to clearly define the problem and the system requirements

3
New cards

Design

Different aspects of the new system are designed, such as:

inputs, outputs, security features, hardware set-up, user interface

4
New cards

Development

Design from previous stage is used to split the project into individual, self-contained modules, which are allocated to teams for programming

5
New cards

Testing

Program is tested against plan formed in design stage. Various tests can be carried out

6
New cards

Alpha testing

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

7
New cards

Beta testing

Carried out by end-users after alpha testing is complete. Feedback is used to inform the next stage of development

8
New cards

White box testing

Carried out by software development teams in which the test plan is based on the internal structure of the program. All possible routes through the program are tested

9
New cards

Black box testing

Software is tested without the testers being aware of the internal structure of the software. The test plan traces through inputs and outputs within the software

10
New cards

Implementation

The software is installed onto the users’ systems

11
New cards

Evaluation

The effectiveness of the software is evaluated against the system requirements defined in analysis

12
New cards

Maintenance

Any errors or improvements that could be made are flagged by the end-users. Software updates will regularly be sent out

13
New cards

Waterfall Lifecycle

Method of software development based on a series of stages which are completed in sequence, from start to finish

14
New cards

Advantages of the Waterfall Lifecycle

Straightforward to manage

Clearly documented

15
New cards

Disadvantages of the Waterfall Lifecyle

Lack of flexibility

No risk analysis

Users have very little input

16
New cards

Agile Methodologies

A collection of methodologies which aim to improve the flexibility of software development and adapt to changes in user requirements faster. The problem is broken down into sections which can be developed in parallel

17
New cards

Advantages of Agile

Produces high quality code

A working prototype is delivered early on

Flexible to changing

18
New cards

Disadvantages of Agile

Poor documentation

Requires consistent interaction between user and programmer

19
New cards

Extreme Programming

An agile model in which the development team consists of a pair of programmers alongside a representative end-user

20
New cards

Advantages of Extreme

Produces high-quality code

Constant user involvement

Programmers work low hours

21
New cards

Disadvantages of Extreme

Teamwork is essential

High cost of two people working on one project

22
New cards

Spiral Model

Built on four key stages with the focus of effectively managing risk-heavy projects. Suited to very large-scale methods

23
New cards

Advantages of Spiral

Thorough risk analysis

Produces prototypes throughout

24
New cards

Disadvantages of Spiral

Expensive to high risk assessors

Lack of code efficiency

High cost

25
New cards

Rapid Application Development

An iterative methodology which uses partially functioning prototypes which are continually built upon

26
New cards

Advantages of RAD

Highly usable finished product

Focus on core features

27
New cards

Disadvantages of RAD

Poor documentation

Fast pace can reduce code quality