computer science - - madeley high · pdf filecomputer science software development ... better...

47
COMPUTER SCIENCE Software Development Life Cycle

Upload: hathu

Post on 06-Feb-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

COMPUTER SCIENCE

Software Development Life Cycle

Page 2: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Creating New Software / Apps /

Programs

How do you think new software / apps or programs

are made?

HINT: what might be some of the steps that happens

before, during and after its made? Think about your

coursework, what steps where there?

Page 3: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Learning Objectives

Understand the software development lifecycle

Be able to explain what commonly occurs at each stage of the software development lifecycle

Be able to identify at which stage of the software development lifecycle a given step would occur.

Success Criteria

Good - will be able to explain in detail ALL the

sections of the SDLC.

Better - will be able to put the SDLC in the correct

order and remember what they are for.

Great - will understand the purpose of the SDLC.

Page 4: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

We are going to

look at how

software comes to

life!

Page 5: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Software Development Life Cycle

(SDLC)

The development of software is very complex and

can take years!

The purpose of the SDLC is to break the making of

software down into manageable steps, that:

produces a piece of software that meets the users’ needs

is produced within budget

is finished on time

Page 6: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Problem – Mrs Legomski is hungry…

What are the steps you might take to help Mrs

Legomski out?

Page 7: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Sandwich Development Cycle

Requirements/ Analysis

Design

Implementation

Testing

Evaluation

Maintenance

Page 8: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Sandwich Development Cycle

It is possible to make me a sandwich?

Do we have the correct equipment?

What will the costs be?

When does the sandwich need to be

made by?

Page 9: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Sandwich Development Cycle

Research needs to happen as to

what sandwich fillings Mrs Legomski

likes,

what fillings are available.

Use questionnaires / interviews to

help your research.

Page 10: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Sandwich Development Cycle

Think about the shape of the sandwich

e.g. triangles / squares?

Think about the layers of the sandwich

e.g. ham then lettuce and tomato on

top?

Page 11: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Sandwich Development Cycle

Make the sandwich!

Page 12: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Sandwich Development Cycle

Do all the ingredients taste

nice together

Is it put together in the best

way possible

Page 13: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Sandwich Development Cycle

Taste the sandwich and tell you what I

think about it.

Do I like it?

Would I like to change it next time?

What would I take away or add?

Page 14: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Sandwich Development Cycle

Clean up any crumbs that have

dropped.

Put any rubbish in the bin.

Page 15: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Software Development Life Cycle

Technical – does the technology exist to

do what we want to do?

Economical – does it make financial

sense? Will we save money in the long

run?

Legal – are there any

copyright/licencing issues?

Operational – Will people be able to

use it?

Schedule – Can it be made in time?

It is possible and can it

be done?

Remember TELOS

Page 16: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Software Development Life Cycle

Use interviews / questionnaires /

observe people / find existing

documentation.

Draw diagrams that identify processes

and show how data will flow around

the system.

The end product is the specification and

user requirements (explains what the

software must do)

What will the software

need to do?

Page 17: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Software Development Life Cycle

The software design will include:

• A detailed Data Dictionary that

defines any data in the system.

• Input screens/user interface

• Output screens and reports

• How the data will be processed:

main algorithms as flow charts and

pseudocode.

• How the software will be tested:

typically a formal test plan will be

drawn up at the design stage to

make sure the software is tested

objectively.

Page 18: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Software Development Life Cycle

Implementation includes the following

activities:

• Coding & Testing the software

Writing documentation: technical

documentation, for whoever has to

support and maintain the software

later, and a user guide

• Installing the software for the user (if

this software is written for a particular

customer, as opposed to commercial

off-the-shelf software).

Page 19: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Implementation includes the following

activities:

• Coding & Testing the software

Writing documentation: technical

documentation, for whoever has to

support and maintain the software

later, and a user guide

• Installing the software for the user (if

this software is written for a particular

customer, as opposed to commercial

off-the-shelf software).

Software Development Life Cycle

Page 20: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Does it do what it is supposed to do?

The software must be evaluated

against the original specification/User

Requirement document. This is also

called Acceptance Testing.

If everything works the developer can

get paid!

Software Development Life Cycle

Page 21: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Corrective maintenance – fix any bugs

that come up.

Adaptive maintenance – when the

software needs to change to meet new

requirements.

Perfective maintenance – the user might

want request performance

improvements or changes to how it

looks to make it easier to use.

Remember CAP!

Software Development Life Cycle

Page 22: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Identify problems with

existing data

Produce Documentation for

the users

Implement the new system

Maintain the new system

Evaluate the new system

Test the new system

Design the new system

Build the new system

Analyse the new system’s

requirements

Carry out a Feasibility

Study

Page 23: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Identify problems

with existing data Evaluate the

new system

Maintain the

new system

Implement the

new system

Produce Documentation

for the users

Test the new

system

Build the

new system

Design the

new system

Analyse the new

system’s requirements

Carry out a

Feasibility Study

Page 24: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Review

Can you create a method that will help you to

remember the order of the SDLC?

Song

Limmerick

Rhyme

What problems might there be with the SDLC?

Page 25: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Software Development Life Cycle

Requirements/ Analysis

Design

Implementation

Testing

Evaluation

Maintenance

Page 26: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Different Life Cycle Models?

Why are there several different ways to develop

software?

Why isn’t there just one method?

Page 27: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Learning Objectives

understand that there are several lifecycle models that can be used (eg cyclical, waterfall, spiral)

be able to discuss the advantages and disadvantages of these lifecycle models

Success Criteria

Good - will be able to explain the advantages and

disadvantages of ALL life cycle models.

Better - will be able to explain the advantages

and disadvantages of at least one model.

Great - will be able to name all the different life

cycle models and how they are different.

Page 28: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Challenge: Waterfall Model

You have 5 minutes to find out what the waterfall

model is.

And an advantage / disadvantage.

5 minutes

End

Page 29: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Waterfall Model

What is the waterfall model?

Advantages Disadvantages

Page 30: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Waterfall Model

Steps completed one at a time

Each step should have an output

Can go back but then the steps will need redoing

User has little impact after analysis until the

evaluate stage.

Page 31: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Waterfall Model

Self-contained steps are easy to manage

Defined processes and output per step

Good model for managing large groups of developers working in parallel

Requirement changes mean going back to an earlier stage that had already been completed

Changes can be costly in money and time

Lack of customer involvement after Analysis means issues are not highlighted until the Evaluation

Advantages Disadvantages

Page 32: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Challenge: Cyclical Model

You have 5 minutes to find out what the cyclical

model is.

And an advantage / disadvantage.

5 minutes

End

Page 33: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Cyclical Model

What is the Cyclical model?

Advantages Disadvantages

Page 34: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Cyclical Model

Similar to waterfall model

Knows that once a version of software has come out,

then ideas for a new version are already being

made taking it back to the feasibility study.

Page 35: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Cyclical Model

Self-contained steps are easy to manage

Defined processes and output per step

Good model for managing large groups of developers working in parallel

Maintenance, logically starts the next cycle of the process so it maps better on to the real lifecycle of a complex piece of software.

Requirement changes mean going back to an earlier stage that had already been completed

Changes can be costly in money and time

Lack of customer involvement after Analysis means issues are not highlighted until the Evaluation

Advantages Disadvantages

Page 36: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Challenge: Spiral Model

You have 5 minutes to find out what the spiral

model is.

And an advantage / disadvantage.

5 minutes

End

Page 37: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Spiral Model

What is the Spiral model?

Advantages Disadvantages

Page 38: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Spiral Model

Developing the software in iterative (repeating)

stages

After each run through a prototype is made

Keeps refining the software

Used for larger projects

Page 39: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Spiral Model

Well defined steps in the process make it easy to manage

Interim prototypes highlight issues quickly so that the end product is more likely to be what the customer wants

Iterative nature of the process means changes can be easily incorporated as feedback is received

It takes time to build

prototypes and get

feedback, so it takes

longer to get the

product to the customer

Longer timescale means

it costs more to develop

Advantages Disadvantages

Page 40: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Challenge: Agile Model

You have 5 minutes to find out what the agile model

is.

And an advantage / disadvantage.

5 minutes

End

Page 41: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Agile Model

What is the Agile model?

Advantages Disadvantages

Page 42: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Agile Model

Similar to spiral in making prototypes

Customer then evaluates each prototype and gives

feedback

Best suited to small groups of developers who work

together rather than large projects where

developers work on separate parts in parallel

Good if the requirements of the products are likely

to change

Page 43: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Agile Model

Essentially the same as the Spiral Model with the following addition:

Small multitasking groups make the team flexible to changing requirements so this is more effective in a rapidly changing environment

Essentially the same as

the Spiral Model with

the following addition:

This way of working is

only suitable for smaller

development teams.

Advantages Disadvantages

Page 44: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Life Cycle Models

Create a leaflet that explains each model and

highlights an advantage and a disadvantage of

each.

Page 45: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Review

Can you simplify each model to 10 words?

Now 5?

Page 46: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

Match Up!

Spiral Model

Waterfall Model

Cyclical Model

Agile Model

A – Used for large projects, after going

through each stage a prototype is made.

B – When you get to maintenance it starts

the steps all over again (to develop a

new version).

C – If you go back to a step you have to

follow through the other steps again.

D – Where small group of developers

work together, great if the requirements

might change

Page 47: COMPUTER SCIENCE - - Madeley High · PDF fileCOMPUTER SCIENCE Software Development ... Better - will be able to put the SDLC in the correct ... and disadvantages of at least one model

HW - DUE IN – 19th April 2016

Complete Software Development life cycle

questions.

You can use the internet, but MUST be written in

your own words.

This work will be marked and then put in folders for

you to revise from.