Linha de Produto de Software: Diferentes produtos para diferentes clientes
description
Transcript of Linha de Produto de Software: Diferentes produtos para diferentes clientes
![Page 1: Linha de Produto de Software: Diferentes produtos para diferentes clientes](https://reader034.fdocuments.net/reader034/viewer/2022051817/54899fd0b47959dd0c8b5a0d/html5/thumbnails/1.jpg)
Linha de Produto de Software:Linha de Produto de Software:Diferentes produtos para diferentes
clientes
Priscylla [email protected]
![Page 2: Linha de Produto de Software: Diferentes produtos para diferentes clientes](https://reader034.fdocuments.net/reader034/viewer/2022051817/54899fd0b47959dd0c8b5a0d/html5/thumbnails/2.jpg)
Objetivos
➔ Introduzir os principais conceitos de Linha de Produto de Software (LPS)
➔ Indicar vantagens e riscos de sua utilização
➔ Mostrar cenários em que a utilização de LPS é útil e vantajosa em empresas
➔ Apontas caminhos para a criação de LPS
![Page 3: Linha de Produto de Software: Diferentes produtos para diferentes clientes](https://reader034.fdocuments.net/reader034/viewer/2022051817/54899fd0b47959dd0c8b5a0d/html5/thumbnails/3.jpg)
Roteiro
➔ Surgimento das Linhas de Produto
➔ Customização de Produtos
➔ Software Individual vs Software Padrão
➔ Linha de Produto de Software:
➔ Definição➔ Motivações➔ Vantagens➔ Riscos➔ Quando usar? Quando não Usar?
➔ Como criar uma Linha de Produto de Software?
![Page 4: Linha de Produto de Software: Diferentes produtos para diferentes clientes](https://reader034.fdocuments.net/reader034/viewer/2022051817/54899fd0b47959dd0c8b5a0d/html5/thumbnails/4.jpg)
Surgimento das Linhas de Produto
➔ Inicialmente os produtos eram feitos de modo artesanal;
➔ Com o crescimento da sociedade e do consumo era preciso aumentar a quantidade de produtos fabricados.
➔Como atender a esta demanda?
![Page 5: Linha de Produto de Software: Diferentes produtos para diferentes clientes](https://reader034.fdocuments.net/reader034/viewer/2022051817/54899fd0b47959dd0c8b5a0d/html5/thumbnails/5.jpg)
Henry Ford
➔ Na área automotiva, Henry Ford inventou a linha de produtos
➔ Produção em massa;➔ Preços mais baixos que produtos
artesanais;
➔ O primeiro automóvel produzido desta forma foi o Ford T (1908).
➔ Até 1914, o Ford T era produzido em várias cores (a escolha do cliente).
![Page 6: Linha de Produto de Software: Diferentes produtos para diferentes clientes](https://reader034.fdocuments.net/reader034/viewer/2022051817/54899fd0b47959dd0c8b5a0d/html5/thumbnails/6.jpg)
Customização de Produtos
➔ Por que Customizar?➔ Pessoas têm necessidades diferentes:
➔ Algumas podem pagar a mais por certas características do produto;
➔ Outras querem mostrar que podem pagar a mais por produtos diferenciados;
Limpador de Pára-brisa Traseiro: opcional
Ar Condicionado: opcional
Motor: 1.0, 1.6 ou 2.0
Câmbio: automático ou manual
Portas: 3 ou 5
![Page 7: Linha de Produto de Software: Diferentes produtos para diferentes clientes](https://reader034.fdocuments.net/reader034/viewer/2022051817/54899fd0b47959dd0c8b5a0d/html5/thumbnails/7.jpg)
Customização de Veículos
Fonte: www.fiat.com.br
![Page 8: Linha de Produto de Software: Diferentes produtos para diferentes clientes](https://reader034.fdocuments.net/reader034/viewer/2022051817/54899fd0b47959dd0c8b5a0d/html5/thumbnails/8.jpg)
Customização de Celulares
Fonte: http://www.motorola.com/
![Page 9: Linha de Produto de Software: Diferentes produtos para diferentes clientes](https://reader034.fdocuments.net/reader034/viewer/2022051817/54899fd0b47959dd0c8b5a0d/html5/thumbnails/9.jpg)
O que tudo isso tem haver com O que tudo isso tem haver com Software???Software???
![Page 10: Linha de Produto de Software: Diferentes produtos para diferentes clientes](https://reader034.fdocuments.net/reader034/viewer/2022051817/54899fd0b47959dd0c8b5a0d/html5/thumbnails/10.jpg)
Software Individual vs Software PadrãoSoftware Individual vs Software Padrão
![Page 11: Linha de Produto de Software: Diferentes produtos para diferentes clientes](https://reader034.fdocuments.net/reader034/viewer/2022051817/54899fd0b47959dd0c8b5a0d/html5/thumbnails/11.jpg)
Software Individual vs Software Padrão
➔ Software individual
➔ Produzidos para satisfazer requisitos específicos de um cliente;
➔ Podem ser únicos e personalizados➔ Customização é cara!
➔ Software padronizado
➔ Vendidos em larga escala;➔ Custo de produção relativamente baixo;➔ Sofrem da falta de diversificação para atender
os vários clientes!
![Page 12: Linha de Produto de Software: Diferentes produtos para diferentes clientes](https://reader034.fdocuments.net/reader034/viewer/2022051817/54899fd0b47959dd0c8b5a0d/html5/thumbnails/12.jpg)
Software Individual vs Software Padrão
➔ Como unir o melhor que esses dois mundos tem a oferecer?
➔ Queremos:
➔ Customização➔ Minimizar os custos➔ Vender em larga escala
![Page 13: Linha de Produto de Software: Diferentes produtos para diferentes clientes](https://reader034.fdocuments.net/reader034/viewer/2022051817/54899fd0b47959dd0c8b5a0d/html5/thumbnails/13.jpg)
Linha de Produto de Software!!!Linha de Produto de Software!!! Software Product Line
![Page 14: Linha de Produto de Software: Diferentes produtos para diferentes clientes](https://reader034.fdocuments.net/reader034/viewer/2022051817/54899fd0b47959dd0c8b5a0d/html5/thumbnails/14.jpg)
Exemplo
➔ Desenvolvimento de jogos para dispositivos móveis;
![Page 15: Linha de Produto de Software: Diferentes produtos para diferentes clientes](https://reader034.fdocuments.net/reader034/viewer/2022051817/54899fd0b47959dd0c8b5a0d/html5/thumbnails/15.jpg)
O que é uma Linha de Produto de Software?
➔ “é um conjunto intensivo de sistemas de software que compartilham e gerenciam um conjunto de características em comum que satisfazem uma necessidade específica de um domínio, e que são desenvolvidos a partir de um núcleo comum e de uma forma preestabelecida.” (Clements and Northrop)
Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Boston, MA, USA (2002).
![Page 16: Linha de Produto de Software: Diferentes produtos para diferentes clientes](https://reader034.fdocuments.net/reader034/viewer/2022051817/54899fd0b47959dd0c8b5a0d/html5/thumbnails/16.jpg)
Quem já está utilizando???
![Page 17: Linha de Produto de Software: Diferentes produtos para diferentes clientes](https://reader034.fdocuments.net/reader034/viewer/2022051817/54899fd0b47959dd0c8b5a0d/html5/thumbnails/17.jpg)
Motivações para empresas usarem LPS
➔ Empresas de software buscam atingir um segmento de mercado específico;
➔ Sistemas de desenvolvimento para um domínio de aplicação possui mais coisas em comum do que particulares;
➔ Os produtos para um domínio de aplicação compartilham elementos que podem ser reutilizados com adicionamento de requisitos específicos
![Page 18: Linha de Produto de Software: Diferentes produtos para diferentes clientes](https://reader034.fdocuments.net/reader034/viewer/2022051817/54899fd0b47959dd0c8b5a0d/html5/thumbnails/18.jpg)
Motivações
➔ Redução dos custos de Desenvolvimento;
➔ Aumento da qualidade do produto e satisfação do usuário;
➔ Redução do tempo de entrega;
➔ Redução dos Esforços de Manutenção;
![Page 19: Linha de Produto de Software: Diferentes produtos para diferentes clientes](https://reader034.fdocuments.net/reader034/viewer/2022051817/54899fd0b47959dd0c8b5a0d/html5/thumbnails/19.jpg)
Motivações
➔ Evolução organizada;
➔ Ganhos de produtividade em larga escala
➔ Maior presença no mercado;
➔ Possibilidade de crescimento da empresa;
![Page 20: Linha de Produto de Software: Diferentes produtos para diferentes clientes](https://reader034.fdocuments.net/reader034/viewer/2022051817/54899fd0b47959dd0c8b5a0d/html5/thumbnails/20.jpg)
Riscos
➔ Maior Nível de Risco
➔ Grande investimento inicial que pode se tornar inútil se importantes requisitos mudam;
➔ Maior tempo de entrega para o primeiro produto baseado na arquitetura da LPS;
➔ Requer Engenharia Experiente;
➔ Gerenciamento técnico e organizacional;
![Page 21: Linha de Produto de Software: Diferentes produtos para diferentes clientes](https://reader034.fdocuments.net/reader034/viewer/2022051817/54899fd0b47959dd0c8b5a0d/html5/thumbnails/21.jpg)
Quando usar LPS?
VARIABILIDADE
Plataforma comum;
Domínio estável;
Quando não usar LPS?
Quando você não conhecer bem o domínio da da linha:
Quando o domínio não for estável:
![Page 22: Linha de Produto de Software: Diferentes produtos para diferentes clientes](https://reader034.fdocuments.net/reader034/viewer/2022051817/54899fd0b47959dd0c8b5a0d/html5/thumbnails/22.jpg)
Demanda pela Engenharia de LPS
➔ Aumento da quantidade de dispositivos com software embarcado;
➔ Variabilidade no Software também tem crescido bastante;
➔ Novos Clientes;
➔ Portabilidade;
![Page 23: Linha de Produto de Software: Diferentes produtos para diferentes clientes](https://reader034.fdocuments.net/reader034/viewer/2022051817/54899fd0b47959dd0c8b5a0d/html5/thumbnails/23.jpg)
Restrições sobre adaptações
➔ Em LPS, é preciso que as adaptações:
➔ Possam ser reproduzidas de forma controlada;
➔ Ocorram em lugares que façam sentido!
![Page 24: Linha de Produto de Software: Diferentes produtos para diferentes clientes](https://reader034.fdocuments.net/reader034/viewer/2022051817/54899fd0b47959dd0c8b5a0d/html5/thumbnails/24.jpg)
Abordagens para Construção de LPS
➔ Pró-ativa
➔ Extrativa
➔ Reativa
![Page 25: Linha de Produto de Software: Diferentes produtos para diferentes clientes](https://reader034.fdocuments.net/reader034/viewer/2022051817/54899fd0b47959dd0c8b5a0d/html5/thumbnails/25.jpg)
Abordagem Pró-Ativa
SPL
Product 1
Product 2
Product 3
![Page 26: Linha de Produto de Software: Diferentes produtos para diferentes clientes](https://reader034.fdocuments.net/reader034/viewer/2022051817/54899fd0b47959dd0c8b5a0d/html5/thumbnails/26.jpg)
Abordagem Extrativa
Product 1
Product 2
Product 3SPL
Product 1
Product 2
Product 3
![Page 27: Linha de Produto de Software: Diferentes produtos para diferentes clientes](https://reader034.fdocuments.net/reader034/viewer/2022051817/54899fd0b47959dd0c8b5a0d/html5/thumbnails/27.jpg)
Abordagem Reativa
SPL
Product 1
Product 2
Product 3SPL
React
Iterate
Product 1
Product 2
Product 3
Product 4
![Page 28: Linha de Produto de Software: Diferentes produtos para diferentes clientes](https://reader034.fdocuments.net/reader034/viewer/2022051817/54899fd0b47959dd0c8b5a0d/html5/thumbnails/28.jpg)
Como implementar uma LPS?
➔ Orientação a objetos e polimorfismo
➔ Padrões de projeto
➔ Frameworks
➔ Programação orientada a features
➔ Compilação Condicional
➔ Programação Orientada a Aspectos