Comp 3100 3500 4500 software engineering group project
This presentation is the property of its rightful owner.
Sponsored Links
1 / 10

COMP 3100/3500/4500 Software Engineering Group Project PowerPoint PPT Presentation


  • 78 Views
  • Uploaded on
  • Presentation posted in: General

COMP 3100/3500/4500 Software Engineering Group Project. ICT Development Lifecycles. Terms and Concepts. System : A set of interrelated components which interact with one another in an organised fashion toward a common purpose. (NASA Systems Engineering Handbook)

Download Presentation

COMP 3100/3500/4500 Software Engineering Group Project

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Comp 3100 3500 4500 software engineering group project

COMP 3100/3500/4500 Software Engineering Group Project

ICT Development Lifecycles


Terms and concepts

Terms and Concepts

  • System: A set of interrelated components which interact with one another in an organised fashion toward a common purpose. (NASA Systems Engineering Handbook)

  • System-of-interest: The system whose life cycle is under consideration. (INCOSE Systems Engineering Handbook v3.1)

  • End product: The portion of a system that performs the operational functions and is delivered to an acquirer. (EIA 632)

  • Enabling product: An item that provides the means for a) getting an end product into service, b) keeping it in service, or c) ending its service. (EIA 632)


Development lifecycle models

Development Lifecycle Models

“All models are wrong, some are useful” (George Box)


Waterfall

Define the requirements

Feedback loop

Design the solution

Build the solution

Test and fix the solution

Deploy the solution

Waterfall

Analyse once; design, build, test and fix once; deploy once


Incremental iterative 1

Incremental/Iterative #1

Analyse once; design, build and test many; deploy once

‘n’ build cycles

Define the requirements

Perform Increment

Produce the solution

Deploy the solution

Design, build and test the solution


Incremental iterative 2

Incremental/Iterative #2

Analyse once; design, build and test many; deploy many

‘n’ build cycles

Define the requirements

Perform Increment

Produce the solution

Deploy the solution

Design, build and test the solution


Evolutionary

Evolutionary

Analyse many; design, build and test many; deploy many

‘n’ build cycles

Define the requirements

Perform Increment

Produce the solution

Deploy the solution

Design, build and test the solution


Spiral

Spiral

Analyse many; build many prototypes; deploy once or many

From:A Spiral Model of Software Development and Enhancement, B Boehm, IEEE 1988


Agile

Agile

Analyse many, build rapidly, deploy once or many, repeat

  • Most agile methods share other iterative and incremental development methods' emphasis on building releasable software in short time periods.

  • Agile methods focus on customer satisfaction by rapid, continuous delivery of useful software.

  • Agile development differs from other development models as in this model time periods are measured in weeks rather than months.

  • A normal development cycle (or Sprint) is usually 2 – 6 weeks in duration, and at the end of each Sprint, a useful set of software functions is completed, tested and accepted.


Lifecycle selection

Lifecycle Selection

The overall development approach needs to be tailored to

suit project drivers, constraints and risks.

  • Waterfall - Use when you have stable requirements and low technical risk.

  • Incremental - Use when you have stable requirements and moderate to high technical risk.

  • Iterative/evolutionary - Use when you have unstable, immature, or incomplete sets of requirements.

  • Spiral - Use when you want a risk driven requirements and design refinement approach prior to committing to a final design.

  • Agile - Use when you have short timeframes, negotiable scope, and ready access to business stakeholders and skilled technical staff.

  • Combination - Tailor the overall development approach as necessary to suit drivers, constraints and risks.


  • Login