27
Software product lines Paulo Borba Informatics Center Federal University of Pernambuco Federal University of Pernambuco

ConceitosBasicosDeLPS - twiki.cin.ufpe.br · Title: Microsoft PowerPoint - ConceitosBasicosDeLPS.pptx Author: Paulo Borba Created Date: 3/5/2008 8:22:45 AM

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ConceitosBasicosDeLPS - twiki.cin.ufpe.br · Title: Microsoft PowerPoint - ConceitosBasicosDeLPS.pptx Author: Paulo Borba Created Date: 3/5/2008 8:22:45 AM

Software product lines

Paulo BorbaInformatics Center

Federal University of PernambucoFederal University of Pernambuco

Page 2: ConceitosBasicosDeLPS - twiki.cin.ufpe.br · Title: Microsoft PowerPoint - ConceitosBasicosDeLPS.pptx Author: Paulo Borba Created Date: 3/5/2008 8:22:45 AM

Software product lines basic Software product lines basic conceptsp

Paulo BorbaPaulo BorbaInformatics Center

Federal University of Pernambuco

Page 3: ConceitosBasicosDeLPS - twiki.cin.ufpe.br · Title: Microsoft PowerPoint - ConceitosBasicosDeLPS.pptx Author: Paulo Borba Created Date: 3/5/2008 8:22:45 AM

Um produto

www usm maine eduwww.usm.maine.edu

Page 4: ConceitosBasicosDeLPS - twiki.cin.ufpe.br · Title: Microsoft PowerPoint - ConceitosBasicosDeLPS.pptx Author: Paulo Borba Created Date: 3/5/2008 8:22:45 AM

Uma família de produtos

it.zaobao.com

Produtos com várias funcionalidades comuns mas func ona a s comuns mas

com variações entre si

Page 5: ConceitosBasicosDeLPS - twiki.cin.ufpe.br · Title: Microsoft PowerPoint - ConceitosBasicosDeLPS.pptx Author: Paulo Borba Created Date: 3/5/2008 8:22:45 AM

Agora passando de produtosAgora passando de produtosde hardware para softwarede hardware para software...

P f l f Program families are sets of programs whose common properties p g p p

are so extensive that it is advantageous to study the common advantageous to study the common properties of the programs before

analyzing individual membersanalyzing individual membersAdapted from: On the Design and Development of Program Families (Parnas 1976)m ( )

Page 6: ConceitosBasicosDeLPS - twiki.cin.ufpe.br · Title: Microsoft PowerPoint - ConceitosBasicosDeLPS.pptx Author: Paulo Borba Created Date: 3/5/2008 8:22:45 AM

Aparelhos diferentes 15 a Aparelhos diferentes, 15 a 60 aplicações diferentes…60 apl cações d ferentes…

ProdutosProdutosdiferentes

para clientespara clientesdiferentes

64kb, flip 4Mb, flip 100Kb, sem flip

Page 7: ConceitosBasicosDeLPS - twiki.cin.ufpe.br · Title: Microsoft PowerPoint - ConceitosBasicosDeLPS.pptx Author: Paulo Borba Created Date: 3/5/2008 8:22:45 AM

Pouco reuso e agilidade alto Pouco reuso e agilidade, alto custo

A D

custo A A D

M C

B'CB

CB

Mesmo com

J2ME!J2ME!

Page 8: ConceitosBasicosDeLPS - twiki.cin.ufpe.br · Title: Microsoft PowerPoint - ConceitosBasicosDeLPS.pptx Author: Paulo Borba Created Date: 3/5/2008 8:22:45 AM

li hSolução: linha de produtosC

B

D B'

DReuso estratégico de artefatos

Acomuns e variações

A DA A D

CB'

CBC

B

Page 9: ConceitosBasicosDeLPS - twiki.cin.ufpe.br · Title: Microsoft PowerPoint - ConceitosBasicosDeLPS.pptx Author: Paulo Borba Created Date: 3/5/2008 8:22:45 AM

A software product line is...a set of software-intensive systems sharing a common managed set of sharing a common, managed set of features that satisfy the specific

needs of a particular market segment needs of a particular market segment or mission and that are developed from

a common set of core assets in a a common set of core assets in a prescribed way

Software Product Lines, Practices and Patterns. Clements and Northrop 2002.

Page 10: ConceitosBasicosDeLPS - twiki.cin.ufpe.br · Title: Microsoft PowerPoint - ConceitosBasicosDeLPS.pptx Author: Paulo Borba Created Date: 3/5/2008 8:22:45 AM

Family = Line?

Family LineFamily• Elements

Line• Support that

enables the generation of generation of the elements

Page 11: ConceitosBasicosDeLPS - twiki.cin.ufpe.br · Title: Microsoft PowerPoint - ConceitosBasicosDeLPS.pptx Author: Paulo Borba Created Date: 3/5/2008 8:22:45 AM

BenefíciosOferta de vários produtos semmultiplicação de custos (mass multiplicação de custos (mass customization)M i f t t d t d Maior fatoramento dos custos de desenvolvimento entre vários clientesAumento de produtividade• redução em custos, time to market, e redução em custos, time to market, e

número de desenvolvedoresMaior qualidadeMaior qualidade...

Page 12: ConceitosBasicosDeLPS - twiki.cin.ufpe.br · Title: Microsoft PowerPoint - ConceitosBasicosDeLPS.pptx Author: Paulo Borba Created Date: 3/5/2008 8:22:45 AM

Economia de escopo

www.sei.cmu.edu/plp

Page 13: ConceitosBasicosDeLPS - twiki.cin.ufpe.br · Title: Microsoft PowerPoint - ConceitosBasicosDeLPS.pptx Author: Paulo Borba Created Date: 3/5/2008 8:22:45 AM

Population

Sharing as in a family, but with more g ysignificant changes between productsMight consist of separate familiesMight consist of separate families• family of DVD players• family of digital TV set top boxesNot necessarily a single architecture Not necessarily a single architecture with the same plug and play options

Page 14: ConceitosBasicosDeLPS - twiki.cin.ufpe.br · Title: Microsoft PowerPoint - ConceitosBasicosDeLPS.pptx Author: Paulo Borba Created Date: 3/5/2008 8:22:45 AM

Better understanding the Better understanding the definition...def n t on...

a set of software-intensive systems a set of software intensive systems sharing a common, managed set of features that satisfy the specific features that satisfy the specific

needs of a particular market segment or mission and that are developed from or mission and that are developed from

a common set of core assets in a prescribed wayprescribed way

Software Product Lines, Practices and Patterns. Clements and Northrop 2002.

Page 15: ConceitosBasicosDeLPS - twiki.cin.ufpe.br · Title: Microsoft PowerPoint - ConceitosBasicosDeLPS.pptx Author: Paulo Borba Created Date: 3/5/2008 8:22:45 AM

FeatureUser-visible aspect or characteristic of th f il (K 1990)the family (Kang 1990)• define both common aspects of the family p y

as well as differences between products in the familyy

Logical unit of behavior specified by a set of functional and quality set of functional and quality requirements (Bosch 2000)Groups requirements

Page 16: ConceitosBasicosDeLPS - twiki.cin.ufpe.br · Title: Microsoft PowerPoint - ConceitosBasicosDeLPS.pptx Author: Paulo Borba Created Date: 3/5/2008 8:22:45 AM

Variations and variations Variations and variations pointspo nts

A

CB'

DA

CB

A

CB

D

Variations Variation points

Page 17: ConceitosBasicosDeLPS - twiki.cin.ufpe.br · Title: Microsoft PowerPoint - ConceitosBasicosDeLPS.pptx Author: Paulo Borba Created Date: 3/5/2008 8:22:45 AM

M h i f i Mechanisms for managing variationsvariations

Core’

Startup OnDemand HybridStartup OnDemand Hybrid

V i ti s V i ti i tVariations Variation point

Page 18: ConceitosBasicosDeLPS - twiki.cin.ufpe.br · Title: Microsoft PowerPoint - ConceitosBasicosDeLPS.pptx Author: Paulo Borba Created Date: 3/5/2008 8:22:45 AM

Variations and features

Each feature is realized by a set of f y fcore assets • variations • common behavior Might

!common behavior• common architecture

not exist!

Both are managed

Page 19: ConceitosBasicosDeLPS - twiki.cin.ufpe.br · Title: Microsoft PowerPoint - ConceitosBasicosDeLPS.pptx Author: Paulo Borba Created Date: 3/5/2008 8:22:45 AM

Atividades para criar uma linhapde produtos

Reusable Artifact Product

developmentdevelopment development

ManagementManagement

Fonte:SEI

Page 20: ConceitosBasicosDeLPS - twiki.cin.ufpe.br · Title: Microsoft PowerPoint - ConceitosBasicosDeLPS.pptx Author: Paulo Borba Created Date: 3/5/2008 8:22:45 AM

Outros nomes para as Outros nomes para as atividades

Engenhariade domínio Engenharia de

aplicação

Gerência

Page 21: ConceitosBasicosDeLPS - twiki.cin.ufpe.br · Title: Microsoft PowerPoint - ConceitosBasicosDeLPS.pptx Author: Paulo Borba Created Date: 3/5/2008 8:22:45 AM

Product line development Product line development approachesapproaches

P ti (Bi b )Proativa (Big bang)ExtrativaExtrativaReativaReativa

Page 22: ConceitosBasicosDeLPS - twiki.cin.ufpe.br · Title: Microsoft PowerPoint - ConceitosBasicosDeLPS.pptx Author: Paulo Borba Created Date: 3/5/2008 8:22:45 AM

E i d i Extractive and reactive approachesapproaches

CoreCore’

Product 1

StartupOnDemand Hybrid OnDemand HybridProduct 2

Extractive Reactive

OnDemand Hybrid

22

Page 23: ConceitosBasicosDeLPS - twiki.cin.ufpe.br · Title: Microsoft PowerPoint - ConceitosBasicosDeLPS.pptx Author: Paulo Borba Created Date: 3/5/2008 8:22:45 AM

Yet another reuse approach?

Text reuse, not reuse!l Class reuse

• Failure for business concepts: Client, Account, etcetc.

• Even with repositories and search mechanisms• OK inside a single project or for infra-OK inside a single project or for infra

structure softwareComponent reusep• Better than class reuse due to interfaces,

deployment and visibility of components • Similar problem with business concepts • Similar problem with business concepts,

repositories and search

Page 24: ConceitosBasicosDeLPS - twiki.cin.ufpe.br · Title: Microsoft PowerPoint - ConceitosBasicosDeLPS.pptx Author: Paulo Borba Created Date: 3/5/2008 8:22:45 AM

Or reuse that pays?

Services reuseS f • Same as component reuse except for technology involved, and its non technical consequencesq

Framework reuse• Class or componentsp• Successful for both infra-structure (look at

GUI) and business (in this case with limited flexibility)flexibility)

Knowledge reuse• Extremely successful with patternsExtremely successful with patternsStrategic reuse

Page 25: ConceitosBasicosDeLPS - twiki.cin.ufpe.br · Title: Microsoft PowerPoint - ConceitosBasicosDeLPS.pptx Author: Paulo Borba Created Date: 3/5/2008 8:22:45 AM

O projeto visa...

desenvolver uma linha de produtos a partir de um produto existente

www.usm.maine.edu it.zaobao.com

Page 26: ConceitosBasicosDeLPS - twiki.cin.ufpe.br · Title: Microsoft PowerPoint - ConceitosBasicosDeLPS.pptx Author: Paulo Borba Created Date: 3/5/2008 8:22:45 AM

Ferramentas do FLIPFerramentas do FLIP

Base FLIPg

Produto 1FLIPex ReceptionReception

FLIPc

Quality Assurance Packaging

Produto 1 Produto 2

Page 27: ConceitosBasicosDeLPS - twiki.cin.ufpe.br · Title: Microsoft PowerPoint - ConceitosBasicosDeLPS.pptx Author: Paulo Borba Created Date: 3/5/2008 8:22:45 AM

Software product lines basic Software product lines basic conceptsp

Paulo BorbaPaulo BorbaInformatics Center

Federal University of Pernambuco