Linha de Produto de Software



Documentos relacionados
Engenharia de Software. Parte I. Introdução. Metodologias para o Desenvolvimento de Sistemas DAS

Fábrica de Software 29/04/2015

Módulo 4: Gerenciamento de Dados

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS

Engenharia de Software

Pós Graduação Engenharia de Software

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

SGQ 22/10/2010. Sistema de Gestão da Qualidade. Gestão da Qualidade Qualquer atividade coordenada para dirigir e controlar uma organização para:

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

CMMI Conceitos básicos. CMMI Representações contínua e por estágios. Professor Gledson Pompeu (gledson.pompeu@gmail.com)

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

Engenharia de Requisitos

Planejamento e Gerenciamento de Projeto de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

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

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.

Planejamento e Gerenciamento de Software. Tema 3. Gerência de Projetos Profa. Susana M. Iglesias

Introdução. AULA 2 A Organização empresarial e a gestão de projetos. Tema relevante em diversas áreas

Introdução à Engenharia de Software

CMMI. B) descrições das atividades consideradas importantes para o atendimento de suas respectivas metas específicas. Governo do ES (CESPE 2009)

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

PMONow! Serviço de Implantação de um Escritório de Projetos

Nome da Empresa. <Nome do Projeto> Plano de Desenvolvimento de Software. Versão <1.0>

Processos de Desenvolvimento de Software

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

ADMINISTRAÇÃO DE ATIVOS DE TI GERENCIAMENTO DE CONFIGURAÇÃO

15/09/2015. Gestão e Governança de TI. Modelo de Governança em TI. A entrega de valor. A entrega de valor. A entrega de valor. A entrega de valor

Requisitos de Software

Processo de Desenvolvimento de Software. Engenharia de Software.

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

Oficina de Gestão de Portifólio

Professor: Curso: Disciplina:

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

LEVANTAMENTO DE REQUISITOS. Lílian Simão Oliveira

Princípios da Engenharia de Software Aula 02. Prof.: Franklin M. Correia

Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Programa de Pós-Graduação em Informática

Gerenciamento de Projeto

MASTER IN PROJECT MANAGEMENT

Modelos do Design de Software

Processo Eletrônico Nacional. Processo Eletrônico Nacional

CBG Centro Brasileiro de Gestão

PMO A implantação do Escritório de Projetos e a C&M. Setembro/2013

Prêmio Inovação UP 2012 Manual de Preenchimento do Formulário

Sistemas de Gestão da Qualidade. Introdução. Engenharia de Produção Gestão Estratégica da Qualidade. Tema Sistemas de Gestão da Qualidade

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

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

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software

Fundamentos de Engenharia de Software. Josino Rodrigues

Engenharia de Sistemas Computacionais

Modelo para Documento de. Especificação de Requisitos de Software

Modelo para Documento de. Especificação de Requisitos de Software

Requisitos de Software. Teresa Maciel DEINFO/UFRPE

REQUISITOS. Prof. Msc. Hélio Esperidião

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Processo de Desenvolvimento Unificado

Fase 1: Engenharia de Produto

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Fundamentos de Teste de Software

04/02/2009. Curso Superior de Tecnologia: Redes de Computadores. Disciplina: Gestão de Projetos de TI. Prof.: Fernando Hadad Zaidan. Unidade 1.

Concepção e Elaboração

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

PROPOSTA DE PROJETO DE PESQUISA APLICADA PARA AUXÍLIO FINANCEIRO A CURSOS PROJETO DE TELEFONIA IP

REGULAMENTO DO TRABALHO DE CONCLUSÃO DE CURSO Curso Superior de Tecnologia em Sistemas para Internet 1/2011

RUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP

Gerenciamento de Projeto: Planejando os Recursos. Prof. Msc Ricardo Britto DIE-UFPI

INTRODUÇÃO A PROJETOS

Gerenciamento de Projetos

AULA 1 INTRODUÇÃO - ENGENHARIA DE SOFTWARE. Prof. Msc. Hélio Esperidião

Projeto: Simul-e Documento de Arquitetura de Software

QUALIDADE DE SOFTWARE

Jonathan J. Campos, Jefferson de Faria, William de O. Sant Ana

Engenharia de Software

PROFESSOR: CRISTIANO MARIOTTI

Engenharia de Requisitos

PEN - Processo de Entendimento das Necessidades de Negócio Versão 1.4.0

GARANTIA DA QUALIDADE DE SOFTWARE

Engenharia de Domínio baseada na Reengenharia de Sistemas Legados

GTI Governança de TI. GTI como Ativo Estratégico. GTI - Um Ativo Estratégico 1

Guia para RFP de Outsourcing

Profa. Gislaine Stachissini. Unidade III GOVERNANÇA DE TI

Engenharia de Software II: Definindo Projeto III. Prof. Msc Ricardo Britto DIE-UFPI

UML - Unified Modeling Language

CENTRO UNIVERSITÁRIO UNIVATES

Trilhas Técnicas SBSI

Especialização em Engenharia de Software e Banco de Dados

O Processo de Desenvolvimento de Software

Sistemas de Gerenciamento de Banco de Dados

ISO Aécio Costa

Conhecimento em Tecnologia da Informação. CobiT 5. Apresentação do novo framework da ISACA Bridge Consulting All rights reserved

Projeto de Arquitetura

Transcrição:

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

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.

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 Processo centrado na montagem (reuso e arquitetura)

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.

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

Atividades Essenciais Os ativos base são desenvolvidos visando a família de produtos O produto é desenvolvido a partir de ativos base O desenvolvimento do produto gera novos ativos base Fonte: Software Engineering Institute 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

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 Cada ativo tem um processo anexo (atached) específico.

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 Desenvolvimento do produto Fonte: Software Engineering Institute

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.

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 Mineração de componentes legados de produtos anteriores