VII Simpósio Internacional
de Melhoria de Processos
de Software
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
Modelo de Fábrica de Software
Jorge Risco Becerra, Fábio Levy Siqueira e Beatriz Borsoi
O conceito de Fábrica de Software busca a obtenção de produtividade e qualidade no
desenvolvimento de software através de padronização e controle. Neste tutorial é apresentado
como esse conceito foi empregado para a criação de um modelo de Fábrica de Software. São
assim apresentados o embasamento teórico (introdução à qualidade em software, arquitetura
de processos e a definição de Fábrica de Software) e o método de criação desse modelo.
Também é discutido como esse modelo foi instanciado em uma Fábrica de Software para
dispositivos móveis.
VII Simpósio Internacional
de Melhoria de Processos
de Software
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
Modelo de Fábrica de Software
Prof. Dr. Jorge Risco Becerra
[email protected]
Prof. Msc. Fábio Levy Siqueira
[email protected]
Profa. Msc. Beatriz Borsoi
[email protected]
Escola Politécnica da
Universidade de São Paulo
Sumário
Apresentação do LTS
Introdução à Qualidade
Arquitetura de Processos
Definição de Fábrica de Software
A Parceria
Fábrica de Software de Objetos Educacionais
Modelo de Fábrica de Software
Análise do Processo
Definição do Modelo
Instanciação do Modelo
Conclusão e Trabalhos Futuros
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
VII Simpósio Internacional
de Melhoria de Processos
de Software
Modelo de Fábrica de
Software
O LTS
Laboratório de Tecnologia de Software
Escola Politécnica da Universidade de São Paulo
www.pcs.poli.usp.br/lts
[email protected]
Tel: 3091 5200
Fax: 3091 5294
Laboratório de Tecnologia de
Software
Missão
Ter excelência em Tecnologia de Software para promover
transformações na sociedade
Objetivos
Ensino
Pesquisa
•
•
•
•
Formar recursos humanos com experiência
Desenvolver programas integrados de pesquisa alinhados com
as áreas de interesse
Realizar pesquisas de impacto que conduzam ao seu
reconhecimento
Direcionar a pesquisa para obtenção de tecnologia
Extensão
•
•
•
Tornar-se centro de referência
Transferir tecnologia
Formar profissionais
VII Simpósio Internacional
de Melhoria de Processos
de Software
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
Áreas de Atuação
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Arquitetura de Software
Banco de Dados
Engenharia de Requisitos
Gerência de Projeto de Software
Interface Homem-Computador
Métodos Formais em Engenharia de Software
Processos de Software
Qualidade de Software
Reutilização de Software
Técnica de Orientação a Objetos
Membros
Jorge Luis Risco Becerra (doutor)
Jorge Rady de Almeida Júnior (associado)
Kechi Hirama (doutor)
Lúcia Vilela Leite Filgueiras (doutor)
Maria Alice G.V. Ferreira (doutor)
Paulo Sergio Muniz Silva (doutor)
Reginaldo Arakaki (doutor)
Selma Shin Shimizu Melnikoff (titular)
Solange Nice Alves de Souza (doutor)
VII Simpósio Internacional
de Melhoria de Processos
de Software
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
Modelo de Fábrica de
Software
Introdução à Qualidade
Porque qualidade em software?
VII Simpósio Internacional
de Melhoria de Processos
de Software
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
Qualidade
A Qualidade é a chave dos negócios
Melhoras na qualidade de software
trazem melhoras na produtividade de
software
A qualidade do suporte de software é
tão importante quanto a qualidade do
software
Para atingir a qualidade de software,
pessoas e cultura são tão importantes
quanto a tecnologia
Qualidade
Melhora na qualidade de software, significa
melhora no processo de desenvolvimento
(pessoal, facilidades, equipamentos,
tecnologia, metodologia, conceitos)
Deve existir um compromisso da Diretoria na
melhora dos processos
Sistemas baseados em modelos é um bom
início para muitas empresas.
O sistema de qualidade é “customizado” para
cada empresa
VII Simpósio Internacional
de Melhoria de Processos
de Software
Conceitos
Necessidades
Mercado do software
Fator crítico
Globalização
Competitividade
Sucesso
Satisfação do usuário
Confiança nos negócios
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
VII Simpósio Internacional
de Melhoria de Processos
de Software
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
Características
Qualidade fator de competitividade
Funcionalidade como fator de avaliação
Qualidade do produto
Qualidade do suporte
Assegurar a qualidade
Padrão como pré-requisitos dos
negócios
Qualidade na corporação
Características
Qualidade fator essencial no mercado
Fábrica de software
• Componentes
Projetos Cooperativos
Exportação
• Competir com qualidade
• Off-shore
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
VII Simpósio Internacional
de Melhoria de Processos
de Software
Características
Qualidade aumenta o custo-benefício
Visa aumentar a produtividade
Reduz os custos
• Redução dos defeitos
Reutilização
Análise da redução dos custos
• Técnica: “Custo do programa de qualidade”
• Análise da figura a seguir
Custo da qualidade
falhas
diminuição das falhas
verificação
melhoras nos testes
prevenção
básico
maior prevenção
melhores processos
Antes
Depois
VII Simpósio Internacional
de Melhoria de Processos
de Software
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
Características
Qualidade protege os negócios
Aumenta a satisfação do cliente
Assegurar o cliente
Aumento de 5 % na retenção do cliente
aumenta em 35 % os lucros
• (CRM - Customer Relationship Managment)
Qualidade será a marca registrada dos
negócios
Definição
“ Todas as funcionalidades e
características dos produtos ou serviços
que se relacionam com a capacidade de
atingir necessidades específicas”
International Standards Quality Vocabulary (ISO
8402-1986)
VII Simpósio Internacional
de Melhoria de Processos
de Software
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
Definição
Satisfação do Usuário = Qualidade
A qualidade de um produto é
determinado:
Total entendimento das necessidades
Definição dos requisitos
Transformação dos requisitos em
produto
Suporte ao desenvolvimento do produto
Definição
Qualidade e os requisitos
O processo de aquisição dos requisitos
deve identificar e definir as
características de um produto para
determinar sua qualidade
Determinação dos requisitos objetivos e
subjetivos
Comunicação com o usuário ou
determinação dos requisitos do mercado
VII Simpósio Internacional
de Melhoria de Processos
de Software
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
Definição
Qualidade e o processo de
desenvolvimento
Utilizar as melhores técnicas da
engenharia de software
Utilizar ferramentas adequadas
Equipe especializada
Técnicas para determinação de erros
Análise estatístico do processo
Definição
Qualidade e o suporte ao produto
Documentação, textos de ajuda (on-line)
Distribuição
Assistência e serviços específicos e
consultoria
Treinamento
Melhoras
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
VII Simpósio Internacional
de Melhoria de Processos
de Software
Sistema de Qualidade
Descreve os processos que asseguram
qualidade dos produtos e os serviços
Processos, políticas, procedimentos,
ferramentas, recursos técnicos e
humanos
CMM e o SPICE definem os requisitos
do sistema de qualidade
Modelo de Fábrica de
Software
Arquitetura de Processos
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
VII Simpósio Internacional
de Melhoria de Processos
de Software
Problema
CMM-I
PSP-TSP
“Boas Práticas”
ISO-12207
Recomendações
Processos
Implementação
Melhoria
SPICE
Qualidade de software e Processos
Pesquisa
ODP
Open
Distributed
Processing
Empresa
Informação
Computação
Engenharia
Arquitetura de
Software
ODP – MDA
Métodos
Objeto
Sistema
Objeto
Sistema
Objeto
Sistema
Objeto
Sistema
Corporativo
M
Gerencial
M
Objeto
Sistema
Objeto
Sistema
Tecnologia
Processo de Negócio Principal
Operacional
Produto
Serviço
Arquiteturas Corporativas
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
VII Simpósio Internacional
de Melhoria de Processos
de Software
Arquitetura ODP
Objeto
Empresa
Objeto
Sistema =
Processos
Objeto
Computação
Objeto
Informação
Objeto
Engenharia
Objeto
Tecnologia
Arquitetura
Arquitetura Corporativa
Processos
de
Negócios
Sistema
Corporativo
Sistemas de
Informação
Sistema de
Informação
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
VII Simpósio Internacional
de Melhoria de Processos
de Software
Modelo de Fábrica de
Software
Definição de Fábrica de Software
Fábrica de Software
Ambiente Cooperativo de Desenvolvimento de
Software
Modelo de Objetos Processos
• Arquitetura dos processos de negócios
Modelo de Objetos Sistemas de Informação
• Arquitetura do sistema de informação
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
VII Simpósio Internacional
de Melhoria de Processos
de Software
Fábrica de Software
Sistema
Processos
Estratégico
Project
Processos
Processos
RUP
Processos
ISO 12207, CMM, ISO 15504
SourceSafe
Sistemas de
Informação
Técnicas, métodos, roteiros
Reutilização, Componentes,
arquiteturas
CRM, SCM, RH
Tecnologia
Instância de Fábrica
Processo de
Supervisão
Corporativo
Processo
Processo
Processo
Supervisão e Controle
de Planejamento
G.Configuração
Linha de
Linha de
Linha de
Linha de
Produção 1
Produção 2
Produção 3
Produção N
Processos de Desenvolvimento
VII Simpósio Internacional
de Melhoria de Processos
de Software
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
Modelo de Fábrica de
Software
A Parceria
Laboratório USP – Microsoft
3 anos
2 monitores
Apoio em pesquisa e ensino
Infra-estrutura
12 Estações 64 bits
8 pockets
7 Tablets
10 Estações Pentium
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
VII Simpósio Internacional
de Melhoria de Processos
de Software
Modelo de Parceria
Modelos de Fábrica
Pólos tecnológicos
Arquiteturas Corporativas
Middleware
LTS
Meta Acadêmica
Meta Curto
Prazo
Instancia de Modelo
De Fábrica VSTS
Microsoft
Modelo de Fábrica de
Software
Fábrica de Software de Objetos
Educacionais
VII Simpósio Internacional
de Melhoria de Processos
de Software
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
Exemplo
A Fábrica de Software
Objetos Educacionais:
“Qualquer recurso digital que pode ser
reusado para apoiar o aprendizado”
(Wiley, 2000)
Estudantes definem a simulação
Ensino médio / Escolas públicas
Aplicação de conceitos de física
Disponível na Internet
http://www.labvirt.futuro.usp.br/
VII Simpósio Internacional
de Melhoria de Processos
de Software
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
Partes Envolvidas
Escola do Futuro
Faculdade de Educação
Escola de Comunicações e Artes
Escola Politécnica
Secretaria de Educação de São Paulo
Microsoft
Particularidades da Fábrica
Domínio de aplicação específico
Produção rápida
15 horas em média
Preocupação com o conteúdo
educacional
Manter a filosofia
VII Simpósio Internacional
de Melhoria de Processos
de Software
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
Processo Geral
Escola
Criação dos Roteiros
Faculdade de
Educação
Escola do Futuro
- Equipe de Designers
Fábrica de Software
POLI
BPMN
Notação gráfica para expressar processos de
negócio
Legível para diferentes públicos
Transformação automática para uso de
Web Services
Ponte para projeto de processos de
negócio e implementação do processo
Padrão
Versão 1.0 – 2004
Envolvimento de diversas empresas do setor
VII Simpósio Internacional
de Melhoria de Processos
de Software
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
Elementos Gráficos do BPMN
Artefatos
Objetos de
Fluxo
Objetos de
Conexão
Swimlanes
Modelo BPMN
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
VII Simpósio Internacional
de Melhoria de Processos
de Software
Ferramentas
Project / Project Web
InfoPath
Medições esforço e tamanho
SharePoint
Planejamento e acompanhamento
Workflow de documentos
Visual SourceSafe
Gerência de Configuração
Resultados
28 escolas envolvidas
120 professores treinados
60 objetos educacionais produzidos pela
Fábrica de Software
Complexidade do OE
Duração Média
Produção (horas)
Baixa
5
Média
8
Alta
22
17%
48%
35%
Baixa
Média
Alta
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
VII Simpósio Internacional
de Melhoria de Processos
de Software
Resultados
10,00
9,00
Estimado
Real
8,00
7,00
6,00
Duração média (horas)
5,00
4,00
3,00
2,00
1,00
0,00
Análise de
Viabibildade
Análise de
Requisitos
Modelagem
Implementação
Testes
Fase do Processo
Modelo de Fábrica de
Software
Modelo de Fábrica de Software
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
VII Simpósio Internacional
de Melhoria de Processos
de Software
Objetivo
Definir um Modelo de Fábrica de
Software
? ? ?
Modelo de Fábrica de Software
Pocket PC
Aplicativos
Embasamento
Fábrica de Software de Objetos
Educacionais (FSW-OE)
Processos de desenvolvimento
Processos de gerência
CMM
Processos de gerência
UP
Processo de desenvolvimento
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
VII Simpósio Internacional
de Melhoria de Processos
de Software
Método
Fase 1
Fase 2
Fase 3
Análise do Processo
da Fábrica
Definição do Modelo
Instanciação em
uma Fábrica
Protótipo
Modelo do CMM em
BPMN
Avaliar Fábrica de
Objetos Educacionais
Definir pontos fortes e
pontos fracos
Corrigir problemas
encontrados
Montar processo
Montar guia de processo
Instanciar o processo
conceitual
Foco em aplicativos
Móbile
Modelo de Fábrica de
Software
Avaliação do Processo
VII Simpósio Internacional
de Melhoria de Processos
de Software
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
Objetivo
Avaliar o processo de software
Seguir a filosofia do CMM (nível 2)
Comparar o processo com o CMM
Pontos fortes e fracos do processo
Porque CMM?
Definição de fábrica
Necessidade de um processo bem
definido
Gerência adequada
A filosofia do CMM está diretamente
ligada à idéia de Fábrica de Software
VII Simpósio Internacional
de Melhoria de Processos
de Software
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
Base do Método de Avaliação
CBA-IPI (CMM-Based Appraisal for
Internal Process Improvement)
Método para avaliação de pontos fortes
e fracos de uma organização usando
CMM
Três fases:
• Planejar e preparar a avaliação
• Conduzir a avaliação
• Exibir os resultados
Base do Método de Avaliação
SPF (Software Process Framework)
Guia para projetar,
analisar e revisar
projetos
Consistência com
o CMM
Define um quadro
de referência
básico
Restringem
Padrões
Políticas
Processos
Implementados por
Procedimentos
Apoiados por
Treinamento
Ferramentas
VII Simpósio Internacional
de Melhoria de Processos
de Software
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
Processo de avaliação
Atividades principais
Questionário
Criado a partir das práticas
Adaptado para cada papel
Importância de cobrir diversos papéis
Consolidação dos dados
Absorção das visões dos funcionários
Definição de uma visão geral
VII Simpósio Internacional
de Melhoria de Processos
de Software
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
Atividades principais
Análise dos pontos fortes e pontos
fracos
Checklist do SPF como base
Comparação
• Processo CMM conceitual
• Processo da fábrica de software
Processo Conceitual do CMM
Objetivos
Baseado nas práticas do CMM
Atividades e Verificações
Compromissos, Habilidades e Medições
CMM não define processo
Observar graficamente o processo do CMM
Facilitar a análise de processos
Adicionadas seqüências e mensagens
Adicionadas atividades (raramente)
Suposições foram documentadas
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
VII Simpósio Internacional
de Melhoria de Processos
de Software
Comparação BPMN
Equipe de
Desenvolvimento
Obter
Documentos
Análise de
Requisitos
E-mail
Teste
Implementação
Entrega
E-mail
Cronograma
Gerência Sênior
SharePoint
Controle de Versão
Grupo de Engenharia de Software
SharePoint
Revisar o status
Semanalmente
Gerente de projeto
Equipe de Planejamento
Gerente de Projetos
Roteiro e Telas
Outros Grupos
afetados
Equipe de Planejamento
Problemas
Revisar
superficialmente o
roteiro e as telas
Criar o
cronograma
Dados Históricos
Gerente de Primeira Linha
Equipe de
Desenvolvimento
Grupo de Controle
de Mudanças
?
Documento de
Viabilidade
Fazer a análise de
viabilidade
Ficha de Atividade
Planejamento do CMM
Planejamento da Fábrica de Software
Modelo de Fábrica de
Software
Definição do Modelo
VII Simpósio Internacional
de Melhoria de Processos
de Software
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
Modelo de Fábrica de Software
Não é específico a um domínio de
aplicação
Tarefas principais
Necessário instanciar o processo
Dificuldades
Interdependência dos processos
Atividades que estão em diversos
processos
Discussões entre os responsáveis pelo
processo
Diferentes níveis de abstração
Visões diferentes do processo
“Burocratização” do processo
Problema do processo teórico
Necessária a implantação do processo
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
VII Simpósio Internacional
de Melhoria de Processos
de Software
Resultado
Guia do processo
Modelos BPMN dos processos
Passo-a-passo das atividades
Modelo de Fábrica de
Software
Instanciação do modelo
VII Simpósio Internacional
de Melhoria de Processos
de Software
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
Instanciação do modelo
Especialização dos guias para um
contexto específico
Desenvolvimento de aplicações para
dispositivos móveis
Fábrica Móbile
Pocket PC, SmartPhones
Consideração dos requisitos do domínio
de aplicação
Seleção das Ferramentas
Necessidade de escolher ferramentas
Desenvolvimento
Modelagem UML
Planejamento e acompanhamento
Gerência de Configuração
• Códigos e os demais artefatos de projeto
Coleta de dados gerenciais
Suporte ao processo
• Facilitar o uso do processo
• Automatizar atividades
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
VII Simpósio Internacional
de Melhoria de Processos
de Software
Fábrica Móbile
Apoio ao processo
Visual Studio 2005 Team System
(Beta 2)
Ferramentas
Microsoft Office, Visio e Project
VSTS para a Fábrica Móbile
Atividades
Eventos
Papéis
Artefatos
Work items
Transições
Campos
Estados
Visual Studio
Team Systems
2005
Guia dos
Processos
Template de Processo da
Fábrica de Software
Diagramas
BPMN dos
processos
Guia do
Processo
Requisitos do
Desenvolvimento
Pocket
VII Simpósio Internacional
de Melhoria de Processos
de Software
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
A Ferramenta
Resultados
Guia do Processo para a Fábrica Móbile
Template de Processo para Fábrica
Móbile (VSTS)
Ferramentas empregadas
Visual Studio Team System
Office (Word, Excel, Project e Visio)
SharePoint
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
VII Simpósio Internacional
de Melhoria de Processos
de Software
VSTS e o Modelo de Fábrica
Pontos Cobertos
Medidas das
atividades
Papel 1
Atividades e
seus estados
internos
Papel 2
Respositório de
artefatos integrado
Papéis e suas
permissões
Modelo de Fábrica de
Software
Conclusão e Próximos Passos
VII Simpósio Internacional
de Melhoria de Processos
de Software
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
Conclusões
Resultados gerais
Guia de Processo para a Fábrica Móbile
Template de Processo da Fábrica Móbile
para o VSTS
Aplicação do VSTS
• Problemas e pontos positivos
• Caso de aplicação do VSTS e de seus
benefícios
Próximos passos
Relação arquitetura de processos e workflow
Modelo de fábrica para pequena empresa de
inovação
“Residência” em Engenharia de Software
Modelo de pólo tecnológico
Especialista aprende especificamente uma área
do processo
Objetos educacionais para Engenharia de
Software
VII Simpósio Internacional
de Melhoria de Processos
de Software
São Paulo, SP – Brasil
21-23/11/2005
www.simpros.com.br
Referências
CUSUMANO, M. A. The Software Factory: A Historical Interpretation.
IEEE Software, v.6, n.2, p.23-30. March 1989.
DUNAWAY, D. K.; MASTERS, S. CMM – Based Appraisal for Internal
Process Improvement (CBA-IPI). Technical Report CMU/SEI-2001-TR033. Carnegie Mellon Software Engineering Institute, 2001.
FERNSTROM, C.; NARFELT, K.; OHLSSON, L. Software Factory
Principles, Architecture, and Experiments. IEEE Software, v.9, n.2,
p.36-44. March 1992.
JACOBSON, I; BOOCH, G.; RUMBAUGH, J. The Unified Software
Development Process. Addison-Wesley, 1999.
OLSON, T. G. et al. A Software Process Framework for the SEI
Capability Maturity Model: Repeatable Level. Special Report CMU/SEI93-SR-007. Carnegie Mellon Software Engineering Institute, 1993.
PAULK, M.; CURTIS, B.; CHRISSIS, M. B.; WEBER, C. V. Capability
Maturity Model for Software. Technical Report CMU/SEI-93-TR-024.
Carnegie Mellon Software Engineering Institute, 1993.
WILEY, D. A. Connecting learning objects to instructional design theory:
A definition, a metaphor, and a taxonomy. In D. A. Wiley (Ed.), The
Instructional Use of Learning Objects: Online Version. 2000. Disponível
em: <http://reusability.org/read/chapters/wiley.doc>.
Obrigado!
Prof. Dr. Jorge Risco Becerra
[email protected]
Prof. Msc. Fábio Levy Siqueira
[email protected]
Profa. Msc. Beatriz Borsoi
[email protected]
Download

Modelo de Fábrica de Software Jorge Risco Becerra, Fábio Levy