software engineering 1 the life cicle of software lesson 4

18
ftware Engineering 1 Software Engineering Software Engineering The Life Cicle of Software Lesson 4

Upload: dina-manning

Post on 04-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Engineering 1 The Life Cicle of Software Lesson 4

Software Engineering 1

Software EngineeringSoftware Engineering

The Life Cicle of SoftwareLesson 4

Page 2: Software Engineering 1 The Life Cicle of Software Lesson 4

Software Engineering 2

The Life Cycle of Software

The Life Cycle of Software:

coherent sets of activities whose goal is the development, design and evolution

of software

Page 3: Software Engineering 1 The Life Cicle of Software Lesson 4

Software Engineering 3

0. Feasibility Study

1. Project Planning and Management

2. Risk Analysis

3. Requirements Analysis

4. Design Analysis

5. Software Implementation

6. V&V (Verification & Validation)

7. Maintenance

The Life Cycle of Software

Page 4: Software Engineering 1 The Life Cicle of Software Lesson 4

Software Engineering 4

The Life Cycle of Software

Every phase:

- has 1 o more derivables

- has a milestone

- could have sub-phases

Page 5: Software Engineering 1 The Life Cicle of Software Lesson 4

Software Engineering 5

Definition of Deliverable:the result of each phase

The Life Cycle of Software

Example:Deliverable of Software Implementation is code

Page 6: Software Engineering 1 The Life Cicle of Software Lesson 4

Software Engineering 6

Definition of Milestone:the expiry date of a phase

The Life Cycle of Software

Page 7: Software Engineering 1 The Life Cicle of Software Lesson 4

Software Engineering 7

Every Software Development Process is composed of several of these phases in a particular sequence.

The Life Cycle of Software

Page 8: Software Engineering 1 The Life Cicle of Software Lesson 4

Software Engineering 8

The Life Cycle of Software

Now we describe these phases…

… after we will describe through real case studies some Software Development Process: Waterfall, RAD, Spiral, …

Page 9: Software Engineering 1 The Life Cicle of Software Lesson 4

Software Engineering 9

0. Feasibility Study

• understand the problem (main functionality)

• make or buy the software?

• cost, time and effort estimation

The Life Cycle of Software

Page 10: Software Engineering 1 The Life Cicle of Software Lesson 4

Software Engineering 10

Feasibility Study deliverable (made by user)

30/50 pages with:

1) Introduction

2) Context

3) State of the art (products with similar functionalities)

4) Goals (software main functionalities)

5) Future scenarios (with cost, time and effort estimation)

6) Critical aspects

The Life Cycle of Software

Page 11: Software Engineering 1 The Life Cicle of Software Lesson 4

Software Engineering 11

The Life Cycle of Software

1. Project Planning and Management

Cost, time and effort definition

Examples:• a Project Manager for the project at 20% of his

time• oracle from Apr, 1st to May, 25th• a key user for the first three months• …

Page 12: Software Engineering 1 The Life Cicle of Software Lesson 4

Software Engineering 12

The Life Cycle of Software

1. Project Planning and Management

Resources definition

Example:• a Project Manager• a System Architect• programmers• analyst• key users• hardware• software• …

Page 13: Software Engineering 1 The Life Cicle of Software Lesson 4

Software Engineering 13

The Life Cycle of Software

1. Project Planning and Management

• What can go wrong?• How can we avoid it?• What can we do about it?

Example:• timeline• key user vacation• project manager illness

Page 14: Software Engineering 1 The Life Cicle of Software Lesson 4

Software Engineering 14

The Life Cycle of Software

There are a lot of techniques and tools to planSoftware Development Process

Example:Tool: Microsoft ProjectTechnique: Gantt Chart

Page 15: Software Engineering 1 The Life Cicle of Software Lesson 4

Software Engineering 15

The Life Cycle of Software

• Planned Duration: elapsed time

• Planned Effort

• Resources (programmers, key users, hw, sw, …)

• Tasks / Activities / Sub-Activities

• Deliverable/Milestone

• Dependencies

• Actual Duration

• Actual Effort

Basic Concepts:

Planned in advance

Planned during the process

Page 16: Software Engineering 1 The Life Cicle of Software Lesson 4

Software Engineering 16

The Life Cycle of Software

• Elapsed Time (tf -t0)

• Man Power (Effort)

time

developer

Basic Concepts 2:

Example: if Man Power of a project is 2 months/man Elapsed Time is 2 months for a man and a month for 2 men

Page 17: Software Engineering 1 The Life Cicle of Software Lesson 4

Software Engineering 17

The Life Cycle of Software

When planning, for each phases we may try and fix:

Time, Effort fix Cost

Time, Cost fix Effort

Effort, Cost fix Time

To show these informations we use: Gantt Chart

Page 18: Software Engineering 1 The Life Cicle of Software Lesson 4

Software Engineering 18

The Life Cycle of Software

t0= Kickoff-Meeting tF= Software Derivable

Jan Feb Mar Apr May Jun Jul Aug

T1:= V&V

T4:= Requirements Analysis

T3:= Architectural Analysis

T2:= Software Implementation

a Dependency

= Milestone with

deliverable