• Nenhum resultado encontrado

Linha de Produto de Software

N/A
N/A
Protected

Academic year: 2021

Share "Linha de Produto de Software"

Copied!
10
0
0

Texto

(1)

Engenharia de Software, © 2007 Jair C Leite

Linha de Produto de Software

Jair C Leite

DIMAp/UFRN

O que é linha de produto de software?

• Técnica de produção baseada em outras engenharias –

fábricas que desenvolvem uma mesma família de

produtos com partes e recursos comuns.

• Um conjunto de sistemas de software que:

– Têm uma funcionalidade comum

– São construídos de uma forma prescrita visando uma missão específica ou segmento de mercado.

– São desenvolvidos utilizando componentes e recursos (ativos) de uma base comum.

• Substancial economia de produção de software

• Aplicável em grupos de sistemas similares

(2)

Engenharia de Software, © 2007 Jair C Leite

Motivação

• Empresas de software buscam atingir um

segmento de mercado específico.

• Sistemas desenvolvidos para um domínio de

aplicação possui mais coisas em comum do que

particularidades.

• Os produtos para um domínio de aplicação

compartilham elementos que podem ser

reutilizados com adicionamento de requisitos

específicos.

Histórico

• Desenvolvimento baseado em reuso em sendo proposto

desde as origens da engenharia de software (McIlroy's

1969)

• Princípio “escondendo informação” (Parnas, 1972)

• Idéia de “Família de Produtos” (Parnas, 1972)

• Conceito de “Domínio de Aplicação” e Análise Engenharia

de Domínio (Neighbors, 1989)

• Framework para desenvolvimento baseado em reuso para

uma família de produtos relacionados (SEI, 2002)

• Fabrica de Software da Toshiba – abordagem de linha de

produtos para geradores de potência.

(3)

Engenharia de Software, © 2007 Jair C Leite

Benefícios de LPS

• Ganhos de produtividade em larga escala

• Diminuição do tempo de entrega

• Melhoria da qualidade do produto e satisfação do

usuário

• Maior eficiência no uso dos recursos humanos

• Maior presença no mercado

• Possibilidades de crescimento da empresa

O que é necessário para adotar LPS?

• Visão antecipada do negócio

– Oportunidades de mercado para produtos – Capacidade de produção da empresa

• Definição de uma família de produtos

– Similaridade – Requisitos comuns – Base comum

– Ex. MS Office, Sistema de vendas de comércio (lojas)

• Investimento antecipado nos ativos (componentes e

recursos) da base comum

• Arquitetura de Linha de Produção

– Elaboração de uma arquitetura de base (framework) visando reuso e múltiplos produtos da mesma família

• Definição de um Plano de Produção

(4)

Engenharia de Software, © 2007 Jair C Leite

O que não é linha de produto de software? (1)

• Reuso de software em API’s

– Construir um software reutilizando uma certa API de domínio não é LPS.

– É necessário a API tenha sido definida para uma arquitetura para linha de produção de uma família de software.

• Desenvolvimento de um único sistema com reuso

– Desenvolver um novo sistema reutilizando partes de um outro sistema similar anterior não é LPS.

– LPS requer a produção de vários produtos de uma mesma família de forma deliberada

• Desenvolvimento baseado em componentes

– LPS requer um desenvolvimento baseado em componentes, mas é necessário que os componentes estejam de acordo com a arquitetura de linha de produção.

O que não é linha de produto de software? (2)

• Utilizar uma arquitetura de software reconfigurável ou

frameworks

– São importantes pois precisam ser definidas para aceitar componentes comuns aos vários produtos da família

• Releases e versões de um mesmo produto

– LPS produz múltiplos produtos similares ao mesmo tempo. Cada um tem suas releases e versões

• Conjunto de normas técnicas

– A definição de normas técnicas para os ativos é importantes para direcionar a produção e orientar os engenheiros, mas não são suficientes.

(5)

Engenharia de Software, © 2007 Jair C Leite

Ativos base (core assets)

• Ativos base são os artefatos e recursos que formam a

base da linha de produção.

• Incluem

– Arquitetura (chave) – Componentes – Modelos do domínio – Requisitos – Especificações e documentação – Planos e casos de testes

– Planejamento, cronogramas, orçamento e processo

Aspectos organizacionais e técnicos

• Estratégias organizacionais

– Centralizada:

• Todos os produtos da família planejados por um núcleo comum de gerentes e especialistas

– Distribuídas:

• Os produtos são distribuídos para equipes distintas • Dificuldades de coordenação

• Aspectos técnicos

– Desenvolvimento dos ativos base – Desenvolvimento do produto – Dinamismo em tempo de execução

(6)

Engenharia de Software, © 2007 Jair C Leite

Atividades Essenciais

Fonte: Software Engineering Institute

O produto é desenvolvido a partir de ativos base Os ativos base são

desenvolvidos visando a família de produtos

O desenvolvimento do produto gera novos ativos base

Estratégia de Processo em LPS

• Pró-ativa

– Investimento antecipado nos ativos de produção – Adequado a domínio de aplicação estáveis

• Reativa

– Os ativos são desenvolvidos à medida que forem necessários – Precisam estar de acordo com o planejamento, com padrões e

normas, e com a arquitetura de linha de produto

• Extrativa

– Intermediária – misto de estratégia reativa e pró-ativa – Ideal para empresas que querem migrar para LPS

(7)

Engenharia de Software, © 2007 Jair C Leite

Desenvolvimento dos ativos base

Fonte: Software Engineering Institute

Resultados do desenvolvimento dos ativos

base

• Definição do escopo da linha de produto

– Produtos da linha e possibilidades de inclusão de novos produtos – Requisitos comuns (funcionais e não funcionais)

• Plano de produção

– Prescreve como os produtos serão produzidos a partir dos ativos base

• Ativos comuns

– Arquitetura de linha de produto – compartilhada por toda a família de produtos

– Componentes reutilizáveis – desenvolvidos para reuso sistemático na linha de produção

(8)

Engenharia de Software, © 2007 Jair C Leite

Requisitos para o desenvolvimento dos

ativos base

• Requisitos e restrições de produtos

– Escopo e características comuns

• Restrições de produção

– Prazos, custos, capacidades

• Inventários de ativos pré-existentes

– Experiência e legado da empresa

• Estratégia de produção

– Gênesis da arquitetura e componentes e capacidade de evolução – Pró-ativa – ativos base antes e produtos depois

– Reativa – um produto da família primeiro antes

(9)

Engenharia de Software, © 2007 Jair C Leite

Relacionamento com atividades da ES

Requisitos em LPS

• Os requisitos são definidos e especificados para a família

de sistemas como um todo.

• Os requisitos específicos para cada produto são definidos

como um incremento para a especificação global.

(10)

Engenharia de Software, © 2007 Jair C Leite

Arquitetura de Linha de Produção

• Descreve o modelo sobre como o produto será montado a

partir dos componentes da base comum.

• Adequada aos atributos de qualidade da LP

• Definições de interoperabilidade com outros produtos da

família

• Implicações para a origem dos componentes

• Normas e padrões para interfaces dos componentes

• Infra-estrutura de conexão e montagem

– Middleware: CORBA, JEE (EJB) e .NET

Componentes de software de LPS

• Formam a base dos ativos comuns

• O software será montado com reuso dos componentes

• Devem estar de acordo com a arquitetura de linha de

montagem

• Podem ser reutilizados com ou sem alterações

• Origens:

– Desenvolvimento próprio, de acordo com a estratégia de negócios e arquitetura de linha de produtos

– Componentes de prateleira - COTS (Comercial off-the-shelf) – Aquisição de terceiros

Referências

Documentos relacionados

Para disciplinar o processo de desenvolvimento, a Engenharia de Usabilidade, também conceituada e descrita neste capítulo, descreve os métodos estruturados, a

Foram desenvolvidas duas formulações, uma utilizando um adoçante natural (stévia) e outra utilizando um adoçante artificial (sucralose) e foram realizadas análises

Ninguém quer essa vida assim não Zambi.. Eu não quero as crianças

A participação foi observada durante todas as fases do roadmap (Alinhamento, Prova de Conceito, Piloto e Expansão), promovendo a utilização do sistema implementado e a

Quando os dados são analisados categorizando as respostas por tempo de trabalho no SERPRO, é possível observar que os respondentes com menor tempo de trabalho concordam menos que

Objetivo: Garantir estimativas mais realistas e precisas para o projeto, ao considerar nesta estimativa o esforço necessário (em horas ou percentual do projeto) para

Atualmente os currículos em ensino de ciências sinalizam que os conteúdos difundidos em sala de aula devem proporcionar ao educando o desenvolvimento de competências e habilidades

Ao longo deste trabalho são apresentados diversos tópicos sobre gerência de redes, as principais características do protocolo SNMP, o modelo Gerente/Agente e como eles se