0% found this document useful (0 votes)
135 views4 pages

Software Lifecycle Essentials

Software process defines how software is produced and includes the software lifecycle and models, phases, and individuals involved in building software. The software lifecycle typically involves requirements, specification, design, implementation, integration, maintenance, and retirement phases. Analysis and design are two important phases where requirements are analyzed to identify what to build, and the system design is created to specify how it will be built.

Uploaded by

bogdanh
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
135 views4 pages

Software Lifecycle Essentials

Software process defines how software is produced and includes the software lifecycle and models, phases, and individuals involved in building software. The software lifecycle typically involves requirements, specification, design, implementation, integration, maintenance, and retirement phases. Analysis and design are two important phases where requirements are analyzed to identify what to build, and the system design is created to specify how it will be built.

Uploaded by

bogdanh
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Software Process

Software Process defines the way to


produce software. I t includes
Software Life Cycle and Models

Software life-cycle model


Tools to use
Rajkumar Buyya

Individuals building software


Grid Computing and Distributed Systems Lab Software life-cycle model defines how
Dept. of Computer Science and Software Engineering
University of Melbourne, Australia
different phases of the life cycle are
http:// www.buyya.com managed.

1 2

Phases of Software Life-cycle Requirements

Requirements Assumption
Specification (Analysis)

The software being considered is considered


economically justifiable.
Design
I mplementation Concept exploration
I ntegration

Determine what the client needs, not what


the client wants
Maintenance
Retirement Document - Requirements Document

3 4

Specification (Analysis) Phase Design Phase

From the customer requirements identify

From the specification identify how to build.


what to build.

Design involves two steps


Specifications must not be

Architectural Design – Identify modules


Ambiguous

Detailed Design – Design each modules


Incomplete

Contradictory

Document – Architecture Document, Design


Document
Document – Specification Document
5 6
Implementation Phase Integration Phase

I mplement the detailed design in code. Combine the modules and test the
product as a whole.
Developer testing
Testing includes
Unit testing

Product testing

Module testing

Acceptance testing

Document – Commented source code Document – Test cases and test results

7 8

Maintenance Phase Retirement Phase


Any changes after the customer accepts the

Good software is maintained


system.

Sometimes software is rewritten from scratch


Software is now un-maintainable because


A drastic change in design has occurred


Maintenance phase is the most expensive

The product must be implemented on a totally new


Lack of documentation

hardware/operating system

Documentation is missing or inaccurate


Regression testing

Hardware is to be changed—it may be cheaper to rewrite


the software from scratch than to modify it


Document – Documented Changes, Regression

True retirement is a rare event


test cases

9 10

Life-Cycle Models Build and Fix Model


Build-and-fix model

Waterfall model

Rapid prototyping model


Incremental model

Extreme programming

Synchronize-and-stabilize model

Spiral model

Object-oriented life-cycle models


Comparison of life-cycle models

11 12
Notes Waterfall Model

Most software is developed using build-and-fix model.


Basically there is no model.
No specifications

No design

This model is completely unsatisfactory and should not


be adopted.

Need life-cycle model


“Game plan”

Phases

Milestones

13 14

Notes Rapid Prototyping Model


Output from one phase is fed as input to the next


phase.

One phase is completed, documented and signed-off


before the next phase begins.

Advantages

Each phase is well documented.


Maintenance easier.

Disadvantages

If there is a mismatch between what the client wanted and was


is built this will not be known till the product is delivered.

15 16

Notes Summary

A prototype of the product is build rapidly and shown to


Software Engineering is an important

the client before the product is completely built.


discipline due to various aspects.

Advantages :
Any mismatches between requirement and the

product can be found early.

Analysis and Design are two very


Disadvantages : important phases in the software


Sometimes the prototype ends up being the final

development lifecycle.
product which results in quality, maintenance
problems.

17 18
Reference

Stephen Schach, Classical and Object-


Oriented Software Engineering with UML
and Java, Chapter 3, McGraw-Hill, New
York, USA.

http:/ / www.mhhe.com/ engcs/ compsci/ schac


h5/ samplech.mhtml

Any other book on software engineering


is also fine!

19

You might also like