Histórico: Linha de Produção. Linha de Produtos de Software. Reuso vs. Customização. Mercado Competitivo. Linha de Produtos de Software



Documentos relacionados
Agenda da Aula. Resumo dos Padrões (Aula 4) Padrões Arquiteturais. Arquitetura Cliente-Servidor. Arquitetura Cliente-Servidor

Histórico: Linha de Produção

Princípios de Linhas de Produtos de Software. Prof. Alberto Costa Neto

Qualidade de Software. Qualidade de Software. Adequado à Especificação. Alguns Atributos de Qualidade. Equipe de Qualidade

Definição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão

Processos de Software. O que é modelo de processo? Vantagens. Modelos de Processo Gerais. O que é um processo de software?

1 Introdução 1.1. Motivação

ENG1000 Introdução à Engenharia

Processos de Desenvolvimento de Software

Testes de Software. Testes de Software. Teste de Validação. Teste de Defeito. Modelo de Entrada e Saída. Modelo de Entrada e Saída

Gerência de Configuração em Ambientes de Desenvolvimento de Software Orientados a Organização

Engenharia de Software

FORMULÁRIO PARA CRIAÇÃO DE DISCIPLINA

DCC / ICEx / UFMG. O que é anunciado. Falha de Comunicação no Desenvolvimento de Software. Eduardo Figueiredo.

Gerenciamento de configuração. Gerenciamento de Configuração. Gerenciamento de configuração. Gerenciamento de configuração. Famílias de sistemas

ERP Enterprise Resource Planning

Universidade Estadual de Maringá Centro de Tecnologia Departamento de Informática Programa de Pós-Graduação em Desenvolvimento de Sistemas para Web

Agenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software

Modelo de Qualidade CMMI

Um Framework para definição de processos de testes de software que atenda ao nível 3 do TMM-e

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr

QUESTIONÁRIO DE AVALIAÇÃO Primeira Fase

Descrição Geral da Mobile Media

Padrões Arquiteturais e de Integração - Parte 1

Reutilização no MPS.BR e no projeto Cooperativa MPS.BR SOFTSUL. Porto Alegre, Agosto de Sumário

Documento de Arquitetura

Profa. Celia Corigliano. Unidade IV GERENCIAMENTO DE PROJETOS DE TI

FORMULÁRIO PARA CRIAÇÃO DE DISCIPLINA

PRODUTOS RIOSOFT COM SUBSÍDIO SEBRAEtec

Modernização e Evolução do Acervo de Software. Gustavo Robichez de Carvalho guga@les.inf.puc-rio.br

Testes de Software. Testes de Software. Teste de Validação. Teste de Defeito. Modelo de Entrada e Saída. Modelo de Entrada e Saída

Processos Técnicos - Aulas 4 e 5

O modelo unificado de processo. O Rational Unified Process, RUP.

REPRESENTAÇÃO DE REQUISITOS VARIÁVEIS COM UML, SEGUINDO O MÉTODO ICONIX

Usando RDL para Derivação de Produtos em uma Linha de Produtos de Software

Engenharia de Requisitos Estudo de Caso

Engenharia de Software 01 - Introdução. Márcio Daniel Puntel marciopuntel@ulbra.edu.br

Linha de Produto de Software

19 Congresso de Iniciação Científica CAPACITAÇÃO EM SISTEMA CAD DE GRANDE PORTE E EM SISTEMA PDM

Projeto de Arquitetura

UML - Unified Modeling Language

4 O Workflow e a Máquina de Regras

Gerenciamento de Configuração de Software

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

Prof.: Gilberto Onodera

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

PLANEJAMENTO E PROJETOS. Lílian Simão Oliveira

PPS - Processo de Proposta de Solução Versão 1.3.1

Organização e a Terceirização da área de TI. Profa. Reane Franco Goulart

Requisitos. Professor Gabriel Baptista ( gabriel.baptista@uninove.br ) ( )

Introdução à Qualidade de Software. Profº Aldo Rocha

Metodologia de Desenvolvimento de Sistemas

Tópicos da Aula. Que é são requisitos? Tipos de Requisitos. Requisitos Funcionais. Classificação de Requisitos. Requisitos de Software.

Padrões de Qualidade e Métricas de Software. Aécio Costa

Planejamento e Gerência de Projetos de Software. Prof.: Ivon Rodrigues Canedo. PUC Goiás

2.0. Uma Nova Geração de Ferramentas para Gestão de Processos de Software. Coordenação Carla Alessandra Lima Reis Rodrigo Quites Reis

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

GUIA DE CURSO. Tecnologia em Sistemas de Informação. Tecnologia em Desenvolvimento Web. Tecnologia em Análise e Desenvolvimento de Sistemas

C.M.M. Capability Maturity Model Modelo de Maturidade da Capacidade

Engenharia de Software

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Gestão do Conhecimento e Dasenvolvimento de Software

ENGENHARIA DE SOFTWARE I

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3

Engenharia de Software na Prática Hélio Engholm Jr.

Importância do GED. Implantação de um Sistema de GED

Engenharia de Software 1

PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE 1. VISÃO GERAL 1.1. PROCESSOS EM GERAL

Requisitos de Software

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior

Engenharia de Software Aula 7 (Versão )

Qualidade de Software. Aécio Costa

Histórico de mercado. Gestão da Qualidade. Histórico de mercado. Histórico de mercado. Antes do século 20. Em Anos 40

Metodologias de Gestão de Projetos no Escritório de Inovação Tecnológica (EIT) da Universidade Federal de Mato Grosso

agility made possible

Padrões de Qualidade de Software

Engenharia de Software

Paletizadoras e despaletizadoras

Introdução ao Modelo de Referência para melhoria do processo de software (MR mps) Projeto: mps Br melhoria de processo do software Brasileiro

Anexo I Formulário para Proposta

do software Brasileiro

Técnicas para Reutilização de Software

Extração de Requisitos

DATA WAREHOUSE. Introdução

Integração do Teamcenter com o Catia V5

Prof. Daniel Gondim. Sistemas de Informações

Análise de Pontos por Função

Gerência de Configuração de Software Introdução

Disciplina de Banco de Dados Introdução

Análise de Requisitos

Aprenda as melhores práticas para construir um completo sistema de teste automatizado

Motivação. Motivação (software) Customização em massa. Outros exemplos de uso de plataformas

ESPECIFICANDO OS REQUISITOS. Cleviton Monteiro

Transcrição:

DCC / ICEx / UFMG Histórico: Linha de Produção Linha de Produtos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Produtos em geral eram feitos manualmente Com o crescimento do consumo, foi necessário automatizar a produção No domínio de automóveis, a Ford criou o conceito de linha de produção Vantagens Produção em massa Baixo custo Reuso vs. Customização Mercado Competitivo Reuso em Larga Escala Reuso com Customização Empresas de automóveis que trabalhavam com produção e customização em massa Acréscimo de até 35% nas vendas Empresas de automóveis que mantinham linhas de produtos separados Perdas de até 7% nas vendas O mesmo padrão se repetiu em outras indústrias, com câmeras fotográficas Linha de Produtos de Software Propriedades de uma LPS LPS é um conjunto de aplicações definidas sobre uma arquitetura comum e que compartilham componentes SEI Engenharia de LPS é um processo de desenvolvimento de aplicações de software usando uma arquitetura comum e customizações LPS favorece o reuso em larga escala É geralmente criada a partir de várias aplicações desenvolvidas sobre o mesmo domínio Usa outras técnicas de reuso Frameworks, componentes, padrões, etc. Klaus Pohl

Investimento e Retorno Gráfico de Custos vs. Produtos A principal razão para se criar uma linha de produtos é a redução de custos Entretanto, antes de começar os ganhos, um investimento inicial é necessário Estudos indicam que são necessários de três a quatro produtos de software para se recuperar o investimento Melhoria da Qualidade Os artefatos de uma LPS são revisados e testados em muitos produtos Estes artefatos tendem a atingir elevado grau de confiabilidade (poucas falhas) Extração de LPS Artefatos confiáveis elevam a qualidade de todos os produtos da LPS Extração da Linha Processo de extração de uma linha de produtos 1. Cria uma aplicação 2. Cria outra aplicação no mesmo domínio 3. Reusa algo da primeira aplicação na segunda 4. Cria uma terceira aplicação e reusa... e assim por diante Processo de Desenvolvimento 1. Levantar os requisitos dos usuários 2. Escolher elementos da linha de produtos que atendem de forma aproximada os requisitos 3. Negociar os requisitos com o cliente para minimizar alterações 4. Adaptar o sistema para atender todos os requisitos 5. Integrar o novo membro a família Cada nova aplicação é um novo membro da linha de produtos

Pré-requisitos Os principais pré-requisitos para implantação de uma linha de produtos de software são: Tecnologia adequada Maturidade do processo Qualificação da equipe no domínio Tecnologias para LPS Cada vez mais tecnologias estão maduras o suficiente para apoiar LPS Programação OO Frameworks e componentes Técnicas de composição Programação OO ainda é a principal forma de se desenvolver LPS Frameworks e componentes permitem reuso de partes maiores de software Maturidade do Processo Qualificação da Equipe Processos mais maduros têm maior chance de sucesso ao implantar LPS Por muito tempo, processos de desenvolvimento de software foram desestruturados, pouco definidos e pouco entendidos Os modelos de avaliação da capacitação, e.g., CMMI, estão mudando este panorama Para se implantar uma LPS, é preciso ter bom conhecimento no domínio A experiência da equipe é fundamental : deve-se saber quais os pontos de variação Criar variabilidade desnecessária leva a custos adicionais de desenvolvimento e gerência O Conceito de Característica Modelo de Características Característica é uma propriedade importante e observável do sistema Um modelo de característica permite expressar a configurabilidade da LPS Uma característica deve ter um nome conciso Facilita a comunicação entre desenvolvedores

Componentes de uma LPS de LPS: MobileMedia Características mandatórias Aquelas que são encontradas em todos os membros da linha de produto Características variáveis Opcionais: um produto pode ou não contê-las Alternativas: um produto deve conter uma das alternativas Características Mandatórias Todo produto deve permitir a visualização, adição, remoção e edição da legenda View, Add, Delete, Edit Label Visualizar Características mandatórias Representadas por círculos preenchidos Características Opcionais Os produtos não precisam conter características opcionais Capture Photo, Sort by Views, etc. Ordenar Características opcionais Representadas por círculos vazios

Características Alternativas Os produtos devem considerar algum tamanho para a tela Alternativas XOR Representadas por um arco vazio entre as alternativas Screen Size Screen 1 Screen 2 Screen 3 Um Modelo de Características Alternativas não exclusiva Representadas por um arco preenchido entre as alternativas Media Selection Photo Music Video Bibliografia Ian Sommerville. Engenharia de Software, 9ª Edição. Pearson Education, 2011. Cap. 16 Reuso de Software (Seção 16.3) K. Pohl, G. Bockle, F. Linden. Software Product Line Engineering: Foundations, Principles and Techniques, 1st edition, Springer, 2005. Capítulos 1 e 2