34
Software Deployment, Maintenance & Evolution REKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA

REKAYASA PERANGKAT LUNAK - WordPress.com · REKAYASA PERANGKAT LUNAK Semester Ganjil 2015/2016 ADAM HENDRA BRATA. Deployment ment, on. ... Web-based applications 73% of total cost

Embed Size (px)

Citation preview

Software Deployment,Maintenance &

Evolution

REKAYASA PERANGKAT LUNAK

Semester Ganjil 2015/2016

ADAM HENDRA BRATA

Deployment

So

ftw

are

De

plo

ym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Definition

The delivery, assembly and management at a

site of the resources necessary to use a version

of a software system make a software

system available to its users

A software system is a coherent collection of

artifacts, such as executable files, source code,

data files, and documentation, that are needed at

a site to offer some functionalities to the end

users

So

ftw

are

De

plo

ym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Urgency

Software systems are no longer merely stand-

alone applications

Increasingly, software systems are the integration

of a collection of components, both executable

and data, possibly dispersed over numerous

heterogeneous networked nodes

So

ftw

are

De

plo

ym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

ProcessesS

oft

wa

re D

ep

loym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Processes

Release Interface between developers and actors/users

The software is assembled into packages

containing sufficient metadata to describe the

resources on which it depends

It includes packaging and advertising

Installation The software is transferred to the customer and

configured in preparation for activation

Activation The process of starting the software execution or

putting in place triggers that will execute the

software at an appropriate time

So

ftw

are

De

plo

ym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Processes

De-Activation In many systems this is required prior to

adaptation or reconfiguration where a piece of

software must be passivated and rendered non-

invocable the inverse of activation

Update The process of changing a piece of installed

software usually triggered by the release of a new

version by the developers

Special case of installation de-activation and

re-activation

De-Installation Removing the deployed software from the

machine on which it was deployed

Obsolence (De-Release) No longer supported by developersS

oft

wa

re D

ep

loym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Deployment Issues

Change management introducing hardware

and software changes

Dependencies management among software

components

Large-scale content distribution network

reliability

Interoperability of heterogeneous platforms

Deployment coordination and customization

big-bang or incremental

Internet integration

Security

So

ftw

are

De

plo

ym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Deployment Challenges

Mobile applications Heterogeneity and number of the devices

Intermittent network connections

The lack of centralized control

Personal owned

So

ftw

are

De

plo

ym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Maintenance

So

ftw

are

De

plo

ym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Definition

The modification of a software product after

delivery to correct faults, to improve performance

or other attributes, or to adapt the product to a

modified environment (IEEE)

The modification of a software product after

delivery to correct faults, to improve performance

or other attributes (ISO/IEC)

The software product undergoes modification to

code and associated documentation due to a

problem or the need for improvement. The

objective is to modify the existing software

product while preserving its integrity

So

ftw

are

De

plo

ym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

ExamplesS

oft

wa

re D

ep

loym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Y2K many, many systems had to be updated

language analyzers (find where changes need to

be made)

Anti-Virus Software don't usually have to update software, but must

send virus definitions

Web-based applications 73% of total cost of e-commerce used to re-

design the website after its first

implementation

Examples

Windows NT 30 million LOC added within 6 years

So

ftw

are

De

plo

ym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Growth of Windows NT

0

5

10

15

20

25

30

35

1992 1993 1994 1995 1996 1997 1998 1999 2000

Year

Lin

es

of

Co

de

(m

illi

on

s)

WINDOWS NT 3.51

WINDOWS NT 3.1

WINDOWS NT 3.5

WINDOWS NT 4.0

WINDOWS 2000

Types

Adaptive changes in the software environment (DBMS, OS)

Perfective new user requirements

Corrective diagnosing and fixing errors

Preventive prevent problem in the futures (increasing

software maintainability and reliability)

Facts: 75% on adaptive and perfective; 21% on

corrective; 4% on preventive

So

ftw

are

De

plo

ym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Processes

Depending on the types of software being

maintained, the development processes used in

an organization and people involved in the

process

So

ftw

are

De

plo

ym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Change

requestsImpact

analysis

Release

planning

Change

implementation

System

release

Perfective

maintenanceAdaptive

maintenance

Corrective

maintenance

Difficulties

Factors adversely effect maintenance Lack of models or ignorance of available models

(73%)

Lack of documentation (67.6%)

Lack of time to update existing documentation

(54.1%)

Other factors (1994 study) Quality of original application

Documentation quality

Rotation of

maintenance people

So

ftw

are

De

plo

ym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Difficulties

More factors (Yip ’95 study) Lack of human resources

Different programming styles conflict

Lack of documentation and tools

Bad maintenance management

Documentation policy

Turnover

So

ftw

are

De

plo

ym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Maintenance Cost Factors

Team stability Maintenance costs are reduced if the same staff

are involved with them for some time

Contractual responsibility The developers of a system may have no

contractual responsibility for maintenance so there

is no incentive to design for future change

Staff skills Maintenance staff are often inexperienced and

have limited domain knowledge

Program age and structure As programs age, their structure is degraded and

they become harder to understand and change

So

ftw

are

De

plo

ym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Evolution

So

ftw

are

De

plo

ym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Evolution

What is evolution ??

So

ftw

are

De

plo

ym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Definition

Changing a software product after delivery to

adapt such system to the ever-changing user

requirements and operating environment the

system operates in or address a problem or

activity of a real world

Software maintenance bug fixing or error

correction

Software evolution adaptive and perfective

So

ftw

are

De

plo

ym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Software Change

Software change is inevitable New requirements emerge when the software is

used

The business environment changes

Errors must be repaired

New computers and equipment is added to the

system

The performance or reliability of the system may

have to be improved

A key problem for all organizations is

implementing and managing change to their

existing software systems

So

ftw

are

De

plo

ym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Urgency

Organisations have huge investments in their

software systems - they are critical business

assets

To maintain the value of these assets to the

business, they must be changed and updated

The majority of the software budget in large

companies is devoted to changing and evolving

existing software rather than developing new

software

So

ftw

are

De

plo

ym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Lehman’s LawS

oft

wa

re D

ep

loym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Law Description

Continuing

change

A program that is used in a real-world environment must necessarily

change, or else become progressively less useful in that environment.

Increasing

complexity

As an evolving program changes, its structure tends to become more

complex. Extra resources must be devoted to preserving and simplifying

the structure.

Large program

evolution

Program evolution is a self-regulating process. System attributes such as

size, time between releases, and the number of reported errors is

approximately invariant for each system release.

Organizational

stability

Over a program’s lifetime, its rate of development is approximately

constant and independent of the resources devoted to system

development.

Conservation of

familiarity

Over the lifetime of a system, the incremental change in each release is

approximately constant.

Continuing

growth

The functionality offered by systems has to continually increase to maintain

user satisfaction.

Declining quality The quality of systems will decline unless they are modified to reflect

changes in their operational environment.

Feedback system Evolution processes incorporate multi-agent, multi-loop feedback systems

and you have to treat them as feedback systems to achieve significant

product improvement.

Stage Model : Software Life CycleS

oft

wa

re D

ep

loym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Initial development

Evolution

first running versionevolution changes

Servicing

code decay

servicing patches

Close-down

Phase-out

servicing discontinued

Switch-off

Versioned Stage ModelS

oft

wa

re D

ep

loym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Close-down Version 1

Initial development

Close-down Version 2

Phase-out Version 2

Phase-out Version 1

Servicing Version 1

Evolution Version 1

evolution changes

Evolution Version . . .

Evolution Version 2

evolution of new version

evolution of new version

evolution changes

servicing patches

Servicing Version 2

servicing patches

first running version

Initial Development

Developing the first version

System architecture proposed even with some

lack features

System knowledge acquired: application domain,

user requirements, data formats, algorithms,

operating environment, etc. crucial for the

evolution

So

ftw

are

De

plo

ym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Evolution

The stage in a software system’s life cycle where

it is in operational use and is evolving as new

requirements are proposed and implemented in

the system

The first version already released successfully Successful in the marketplace

User demand is strong

Revenue streams are buoyant

The organization is supportive

ROI is excellent

So

ftw

are

De

plo

ym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Evolution : ROIS

oft

wa

re D

ep

loym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Evolution

Adapts the application to the ever-changing user

and operating environment

Adds new features

Corrects mistakes and misunderstandings

Responds to both developer and user learning

Program usually grows during evolution

Both software architecture and software team

knowledge make evolution possible

So

ftw

are

De

plo

ym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Servicing

Software maturity no longer evolvable

The software remains useful but the only

changes made are those required to keep it

operational i.e. bug fixes and changes to reflect

changes in the software’s environment small

tactical change

No new functionality is added

Code decay loss of system knowledge due to

the loss of key personnel system goes to

servicing

Transition from evolution is irreversible

technical and knowledge problems must be

addressed

So

ftw

are

De

plo

ym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Phase-out and Close-down

Phase-out no more servicing is being undertaken

system still may be in production/use

Close-down the software use is disconnected

towards replacement

an ‘exit strategy’ is needed : changing to another system requires retraining

what to do with long-lived data?

So

ftw

are

De

plo

ym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Next

Software Engineering Advanced Research and

Development

Software Project Management

Information Technology Industrial Management

Software Quality Assurance

“As long as we live in this digital era, we are needed”

Who are we ?

We are IT Engineer

Whatever your majority !

So

ftw

are

De

plo

ym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on

Terimakasih v^^

So

ftw

are

De

plo

ym

en

t,

Ma

inte

na

nc

e &

Evo

luti

on