• No results found

Software Life-Cycle Management

N/A
N/A
Protected

Academic year: 2021

Share "Software Life-Cycle Management"

Copied!
44
0
0

Loading.... (view fulltext now)

Full text

(1)

Software Life-Cycle Management

Software Lifce-Cycle Management Models

©

Ing

o

A

rnold

Department Computer Science University of Basel

(2)

Agenda

Overview

Waterfall Models

Spiral Models

Iterative Models

Prototyping-based Models

Agile Models

(3)

Overview

Software Life-Cycle Management Models

A Software Life-Cycle Management Model describes an

organizational frame a SW-development endeavour

• Phases

• Activities

• Component products, versions

• Criterions for completion of the computer system

• Qualification of team members

• Responsibilities and project roles

(4)

Overview

Software Life-Cycle Management Models

(5)

Overview

Software Life-Cycle Management Models

LCM-models, utilized:

• Important aspect here is the model/method adoption, that helps to define the parts of the model, which need to be respected throughout a given engagement.

Generic Process Model Specific Process Model

Method Adoption

(6)

Overview

Software Life-Cycle Management Models

(7)

Overview

Software Life-Cycle Management Models

The simplest software development process

• Write Software

• Find bugs

Repeatability of the process and reduction of the failure

costs require more comprehensive and more complex

(8)

Overview

Software Life-Cycle Management Models

The Hacker knows only one activity ..

(9)

Overview

Software Life-Cycle Management Models

(10)

Overview

Software Life-Cycle Management Models

Let’s look at this equation:

Very roughly we talked about “Process” and “Technology”

so far – however, one of the most determining factor

always is “People” !

People Process Technology Service /

Product

(11)

Overview

Software Life-Cycle Management Models

A few selected process models

• Waterfall models. Arrange life-cycle process along a sequence of activities

• Spiral models. Arrange life-cycle process as cyclic, risk-oriented sequence of development steps

• Iterative and incremental models. Arrange life-cycle process along a set of increments (i.e. deliveries)

• Prototyping-based models. Utilized within other models. Main purpose is risk mitigation.

(12)

Agenda

Overview

Waterfall Models

Spiral Models

Iterative Models

Prototyping-based Models

Agile Models

(13)

Waterfall Models

Overview

(14)

Waterfall Models

Overview

Waterfall Models characteristics

• Oldest systematic process model

• Development is understood as sequence of development- and verification-steps

• All major activities constitute a phase (e.g. requirements)

• Phases are left as soon as verified and accepted result is available

(15)

Waterfall Models

Overview

Waterfall Models criticism

• Non-local iterations are not model compliant, which makes project management difficult.

(16)

Agenda

Overview

Waterfall Models

Spiral Models

Iterative Models

Prototyping-based Models

Agile Models

(17)

Spiral Models

Overview

(18)

Spiral Models

Overview

Spiral Models

• Evolution of waterfall models

• Designed for complex and risky Computer Systems

• Bi-cyclic waterfall model (develop / verify) is replaced by a four-cyclic model:

- Plan

- Objectives

- Evaluation, risks

(19)

Agenda

Overview

Waterfall Models

Spiral Models

Iterative Models

Prototyping-based Models

Agile Models

(20)

Iterative Models

Overview

(21)

Iterative Models

Overview

Iterative and incremental Models characteristics

• Approach: software-evolution

• Computer System is not (once) developed but instead grows steadily

• Synonyms: versions model, evolutionary model, incremental model

• Fundamental idea: organisation of software life-cycle process along a set of incrementally developed and ready-to-use elements of the final system.

• Overall process can be understood as a sequence of iterations

• Per iteration: a complete sub-set of overall solution is developed

(22)

Iterative Models

Overview

(23)

Iterative Models

Overview

Iterative and incremental Models advantage / disadvantage

+Model well the inherent “behaviour” of complex Computer Systems +Very well support Project Management

+Iterative progress and incremental builts

-Risk of diverging solution islands

-Risk of undermining natural structures and concepts due to

incremental evolution (e.g. natural structure = “Data Warehouse” cannot developed in one coherent go)

(24)

Iterative Models

Overview

Iterative and incremental Models should be used …

• If the Computer System is complex and huge

• If anticipated development effort is huge

• If the full set of functionality is not required immediately (no big bang)

• If the Computer System cannot fully be anticipated in advance

(25)

Agenda

Overview

Waterfall Models

Spiral Models

Iterative Models

Prototyping-based Models

Agile Models

(26)

Prototyping-based Models

Overview

Protyping-based Models

• More a technique than a model

• Very adequate means for early detection and solution of problems

• Prototyp: excecutable piece of a Computer System which implements critical aspects, sub-sets at an early stage in order to proof a targeted approach

• Synonym: proof of concept (PoC), hot spot

• Different types of prototyping are distinguished:

- Explorative and experimental - Evolutionary

(27)

Prototyping-based Models

Overview

(28)

Prototyping-based Models

Overview

Protyping-based Models – explorative and experimental

• Explorative and experimental prototyping is used to …

- Identify and detect requirements

- Demonstrate and communicate to stakeholders - Proof a selected concept (feasability)

- Evaluation of alternatives

• Explorative and experimental prototyping …

- May be undocumented

- May be based on ugly solutions from a software-engineering perspective - Requires the prototyp to be decommissioned, once its purpose is fullfilled

(29)

Prototyping-based Models

Overview

Protyping-based Models – evolutionary

• Characteristics of an evolutionary prototyping approach:

- Prototype is a pilot-system

- Prototype becomes kernel of to-be-developed Computer System

- Prototype is not thrown away – thus needs to comply with engineering best practices right from the beginning

(30)

Agenda

Overview

Waterfall Models

Spiral Models

Iterative Models

Prototyping-based Models

Agile Models

(31)

Agile Models

Overview

Agile Models

• Idea: to map the techniques for developing very small Computer Systems onto the development of complex Computer Systems, so that …

• the project is successful

(32)

Agile Models

Overview

Agile Models

• Fundamental principles:

• The smaller the sub-systems and the shorter re-cycles the better this is • The customer continuosly shapes the product. The customer is actively

involved in the project

• The more independent the developers can organize their work items, the better this is

• Quality is assured at the origin:

• Pair programming

(33)

Agenda

Overview

Waterfall Models

Spiral Models

Iterative Models

Prototyping-based Models

Agile Models

(34)

Agile Models

Overview

Agile Models do work well if …

• Stakeholders are available, competent and empowered to draw decisions

• Overall problem can be decomposted into a meaningful sub-set of smaller problems / solutions

• Development-team is small or can be segmented into multiple parallel development-teams

• Software-Architect is competent and experienced (holistic view)

• Continuous integration is possible with minor effort

(35)

Exemplified Walk-through Problem/Solution

Overview

(36)

Exemplified Walk-through Problem/Solution

Overview

(37)

Exemplified Walk-through Problem/Solution

Overview

(38)

Exemplified Walk-through Problem/Solution

Overview

(39)

Exemplified Walk-through Problem/Solution

Overview

(40)

Exemplified Walk-through Problem/Solution

Overview

Black-box perspective is turned into white-box perspective

in order to elaborate on the system’s solution design

(41)

Exemplified Walk-through Problem/Solution

Overview

(42)

Exemplified Walk-through Problem/Solution

Overview

Revisit problem statement and detailed requirements (i.e.

non-functional requirements)

(43)

Exemplified Walk-through Problem/Solution

Overview

Introduce (bottom-up)

quality aspects.

Here the Abstract-

Factory-Class pattern

was used to abstract

future UI channels

(44)

References

Related documents

BLOCK DIAGRAM (PER PORT) MAC RMII Data Interface MDC/MDIO PHYAD[4:0] PCS Framer Carrier Detect 4B/5B TP_PMD MLT-3 BLW Stream Cipher 25 MHz 25 MHz 10TX 10RX 20 MHz 100TX 100RX TX+

This chapter pre- sents the solutions and their application in predicting load displacement response, loading capacity of a pile in strain-softening soil, and safe cyclic

Its function is to send impulses through the optic nerve back to the brain.... The eyes are the sense organs

Figure 2: Graph showing the stream density of tweets (number of tweets published per five minute period) returned following an unfiltered call to the API between 10

The Circuit Court of Cook County Mortgage Foreclosure Mediation Program (“Program”) is a court-annexed program that encourages homeowners in foreclosure to come to court so they

N.. chose to leave the marketing of these crops outside the CWB. The result is a mixed marketing system, and while it is an irritant to some prairie producers it is not a trade

Measurement for all constructs developed for this study comprises of five independent variables which are Perceived Green Knowledge (PGK, 12 item), Green Perceived

• For the first time, we successfully conducted CUES School of Business Lending™ and Board Liaison Workshop online, a shift we made in rapid response to the pandemic.. •