1.2.3 Software Development

studied byStudied by 2 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 / 26

flashcard set

Earn XP

27 Terms

1

Common stages in software development lifecycles

Analysis

Design

Development

Testing

Implementation

Evaluation

Maintenance

New cards
2

Analysis

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

New cards
3

Design

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

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

New cards
4

Development

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

New cards
5

Testing

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

New cards
6

Alpha testing

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

New cards
7

Beta testing

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

New cards
8

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

New cards
9

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

New cards
10

Implementation

The software is installed onto the users’ systems

New cards
11

Evaluation

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

New cards
12

Maintenance

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

New cards
13

Waterfall Lifecycle

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

New cards
14

Advantages of the Waterfall Lifecycle

Straightforward to manage

Clearly documented

New cards
15

Disadvantages of the Waterfall Lifecyle

Lack of flexibility

No risk analysis

Users have very little input

New cards
16

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

New cards
17

Advantages of Agile

Produces high quality code

A working prototype is delivered early on

Flexible to changing

New cards
18

Disadvantages of Agile

Poor documentation

Requires consistent interaction between user and programmer

New cards
19

Extreme Programming

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

New cards
20

Advantages of Extreme

Produces high-quality code

Constant user involvement

Programmers work low hours

New cards
21

Disadvantages of Extreme

Teamwork is essential

High cost of two people working on one project

New cards
22

Spiral Model

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

New cards
23

Advantages of Spiral

Thorough risk analysis

Produces prototypes throughout

New cards
24

Disadvantages of Spiral

Expensive to high risk assessors

Lack of code efficiency

High cost

New cards
25

Rapid Application Development

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

New cards
26

Advantages of RAD

Highly usable finished product

Focus on core features

New cards
27

Disadvantages of RAD

Poor documentation

Fast pace can reduce code quality

New cards
robot