VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Desenvolvimento e Replicação de Uma
Fábrica de Software
José Augusto Fabri
Alexandre L’Erário
André Luiz Presende Trindade Marcelo S. de Paula Pessôa
Mauro de Mesquita Spínola
Eng. de Produção
Tópicos desse Tutorial
• Envolvidos
• Introdução ao Tema
• O Processo Fabril
• Fábricas de Software (Definições)
• Implementando uma Fábrica de Software
• Replicando uma Fábrica de Software
• Conclusão
• Referências bibliográficas
3-1
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Envolvidos
• Fundação Educacional do Município de Assis.
– Objetivos: Formar mão de obra qualificada nas mais variadas áreas do
conhecimento.
– Conta com 09 cursos superiores, entre eles o curso de Ciência da
Computação e Tecnologia em Processamento de Dados.
• Área de Computação:
– 15 professores.
– 300 alunos.
– Pesquisa (curso de graduação e pós-graduação)
• Engenharia de Software, Teoria da Computação, Informática Aplicada
ao Ensino e Inteligência Artificial
Envolvidos
• Centro de Pesquisas em Informática (CEPEIN)
– Unidade de opera junto a FEMA.
– Objetivo:
• Agregar as atividade de pesquisas na área de computação em
informática.
• Prestar serviço de desenvolvimento software e projetos de TI junto ao
poder público.
3-2
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Envolvidos
• Departamento de Engenharia de Produção da Escola Politécnica da
Universidade de São Paulo.
• Primeiro Departamento de Engenharia de Produção do País.
– 45 professores.
– 450 alunos de graduação.
– 200 alunos de pós graduação
Envolvidos
•
Grupos de Pesquisas:
– GOL: Grupo de Gestão de Operações Logísticas
– TTO: Tecnologia Trabalho e Organização
– QEP: Qualidade em Engenharia do Produto
– EPEF: Economia da Produção e Engenharia Financeira
– GTI: Gestão em Tecnologia da Informação
3-3
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Envolvidos
• GTI:
– Objetivos: Planejar o desenvolvimento e implantação de Sistemas e
ativos relacionados a TI.
– Atualmente conta com 30 alunos de pós-graduação.
– Destaque para área de qualidade de software com mais de 15
dissertações e teses concluídas
Envolvidos
•
Fundação Vanzolini:
– Formada em 1967 pelos professores do Departamento de Engenharia de
Produção da Escola Politécnica.
– Entidades sem fins lucrativos que opera em convênio com a universidade
de São Paulo.
– Objetivos: Divulgar conhecimento científicos e tecnológicos inerentes à
área de Engenharia de Produção e à Administração Industrial.
– Produtos:
• Treinamento; Certificações; Assessoria; Projeto
3-4
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Introdução ao Tema
• Fábrica de Software: Utilizado pela primeira vez no Japão em 1969.
Várias empresas associam o termo
FÁBRICA DE SOFTWARE
ao mero desenvolvimento
de software
Introdução ao Tema
•
Características fabris para software (Segundo Cusumano):
– Produção de Software em Massa e em Larga Escala.
– Padronização e controle de tarefas.
– Divisão do Trabalho
– Mecanização e Automatização
– Desenvolvimento de software baseados em Componentes.
– Gerenciamento das atividades por projeto e por processo.
3-5
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Introdução ao Tema
• Pesquisa:
– 31 Fábricas
– Empresas Nacionais e Multinacionais.
• Resultados:
–
–
–
–
–
–
–
Certificação (ISO ou CMM):
Opera como célula do cliente:
Ciclo de vida definido:
Metodologia própria:
Usa software de controle de projetos:
Usa ferramentas CASE (automação):
Aplica métricas de qualidade:
14%
16%
42%
45%
16%
13%
10%
Fonte (Ivanir Costa)
Introdução ao Tema
•
Relatório do MCT (2001)
–
–
–
–
–
Desenvolvedores com ferramentas de automação:
Processo formal documentado:
Certificado ISO :
Avaliação CMM:
Uso de gerência da configuração:
30%
30%
29%
02%
10%
– Brasil importa dez vezes o que exporta em Software
gerando assim um déficit de 1 BiUS$
Gazeta Mercantil (ago2002)
3-6
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Introdução ao Tema
• Modelos tradicionais de desenvolvimento de software se autodenominam fábrica. Puro marketing.
• Enfim, há muito o que fazer para solucionar esse problema e alavancar
as exportações no mercado internacional de software.
O que fazer então?
Introdução ao Tema
Formalizar o
conceito de FS
para realidade
brasileira
Conscientizar
o mercado
Prover técnicas de
replicação
de FS para o mercado
Quem pode fazer isso?
Universidades
Governo
empresas
3-7
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Introdução ao Tema
Como fazer?
Desenvolvendo um
mecanismo de replicação
de técnicas fabris
Medida adotada pelos envolvidos no projeto
eLabTI – Um ambiente replicável de FS
O Processo Fabril
• Henry Ford
“Construirei um carro para as grandes massas, feito com os melhores
materiais, pelos melhores homens que puderem ser contratados e
seguindo os projetos mais simples que a moderna engenharia pode
conceber [...] de preço tão baixo que qualquer homem que ganhe um
bom salário seja capaz de possuir – e desfrutar com sua família a
bênção das horas de prazer nos grandes espaços abertos da natureza”
– declaração de Henry Ford no início de carreira como produtor de
carros (Tedlow 2002).
3-8
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
O Processo Fabril
•
Adaptação da citação de Henry Ford (Utopia?)
Replicaremos uma série de entidades que produzirá softwares para as “grandes
massas empresariais”, feito com os melhores componentes e seguindo
projetos mais simples que a moderna engenharia de software possa conceber.
O preço do software deve ser baixo que qualquer empresa que tenha um
rendimento condizente com a realidade possa crescer utilizando um software
que supra as suas necessidades e esteja alinhado com a sua estratégia
O Processo Fabril
•
Em 1910 foi inaugurada a fábrica de Highlang Park (uma fábrica que produzia
um modelo complexo como Ford T).
•
Produção em fluxo sem interrupção (idéia desenvolvida por Henry Ford).
•
A decisão de fixar-se num só modelo (T) permitiu que os projetistas
especificassem e produzissem equipamentos dedicados esse tipo de modelo
(Isso não funciona para software)
•
1913 – mudança no processo de produção do Ford T – aumento drástico da
produtividade.
3-9
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
O Processo Fabril
•
Principal mudança:
– os produtos a serem montados agora fluiriam de estação de trabalho em estação de
trabalho, indo ao encontro dos montadores, e não ao contrário. Estava criada a linha
de montagem móvel (Corrêa 2003).
•
Henry Ford apresentou ao mundo a união dos princípios da:
–
Administração científica • Divisão do trabalho;
• Escolha do trabalhador certo para a tarefa certa.
– Intercambialidade de peças (desenvolvida por Eli Whitney (Hounshell
1984)).
– Princípio da Padronização dos Produtos –
• e a idéia de fazer produtos moverem-se enquanto estações de trabalho ficavam
estáticas.
O Processo Fabril
“Antes da implementação da linha de montagem, um chassi levava 12 horas e 28
minutos para ser montado. Na primavera de 1914 a tarefa podia ser feita em 1
hora e 33 minutos.” (Corrêa 2003)
•
Em 1926 a Ford produzia sozinha em torno de 2 milhões de carros por ano
(Corrêa 2003).
3 - 10
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
O Processo Fabril
•
Por volta de 1910 surgiu a GM.
•
A GM possuia sete linhas veículos.
•
–
Chevrolet
–
Oakland
–
Olds
–
Scripps-Booths
–
Sheridam
–
Buick
–
Cadillac
Destes carros o Buick tinha preço médio/alto e o Cadillac possuía um conceito luxuoso
e altos preços (Sloan JR. 2001).
O Processo Fabril
•
Problema enfrentado pela GM
– O Ford T era 300 US$ mais barato que o GM Chevrolet
– 1920 - GM apenas com 17% do mercado
– 1921 – índice baixou para 12%
•
Estratégia da GM para reverter o quadro:
– introduzir uma linha de montagem de veículos para cada segmento da
sociedade, diversificando assim os preços.
– Esta estratégia considerada de longo prazo apostava que o consumidor
norte-americano iria possuir um poder aquisitivo maior e tornar-se mais
exigente.
3 - 11
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
O Processo Fabril
•
Quando a Ford percebeu que estava perdendo mercado resolveu adotar a
mesma estratégia da GM.
•
A Ford teve necessidade de mudar toda a sua linha de produção.
•
Em 1927 a Fábrica de River Rouge ficou fechada por 06 meses.
•
Resultados:
– Isso custou a Ford cerca de 200 a 250 milhões de dólares.
– A mudança repentina a linha de produção da Ford representou muitos
desperdícios, levando a atividades descoordenadas entre a engenharia do
produto e o processo de produção.
O Processo Fabril
•
Para software é necessário ter uma linha de produção:
– Dinâmica com conceitos adaptativos.
– Divisão do trabalho.
– Intercambialidade de componentes de software.
•
Resultados:
– Produção de software para segmentos diversificados.
– Na produção de software a diversificação é mais volumosa e o conceito de
produção em massa de um único software não constitui uma realidade.
– Por meio deste contexto, verifica-se que não é trivial implementar o conceito de
linha de produção de software ou fábrica de software.
3 - 12
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Fábricas de Software (Definições)
•
Definições sobre Fábrica de Software:
Fábrica de software é um ambiente no qual se constrói programas e efetua testes.
Neste ambiente devem existir ferramentas para realizar as ações de construir e
testar. Uma fábrica possui medidas de produtividade e qualidade, os registros
financeiros são mantidos por custo da programação e a forma de
gerenciamento deve dar subsídios para prever ou estimar dados de futuros
projetos.
(Berner 1969)
Fábricas de Software (Definições)
•
Definições sobre Fábrica de Software:
•
Uma fábrica de software deve:
– ser flexível, capaz de produzir vários tipos de produtos;
– implementar os conceitos de engenharia de software (metodologia,
ferramental, configuração do ambiente, guia para construção de fábricas
de softwares avançadas) e,
– também, ser capaz de estudar, projetar, implementar, evoluir e melhorar os
sistemas.
Cantone (1992)
3 - 13
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Fábricas de Software (Definições)
•
Definições sobre Fábrica de Software:
Conceitualmente, fábrica de software é definida como uma estrutura de
desenvolvimento que reúne alguns requisitos básicos, como a capacidade de
atender clientes, de projetar o produto, de planejar e controlar a produção, de
produzir e de controlar a qualidade
Fagundes (2004)
Fábricas de Software (Definições)
•
Nosso entendimento sobre o conceito de Fábrica de Software.
•
Fábrica de software é uma organização estruturada, voltada para a produção
do produto software, totalmente alicerçada na engenharia e com forte
caracterização pela organização do trabalho, pela capacidade de
modularização de componentes e pela escalabilidade produtiva.
•
É com base na engenharia que se pode pensar em produzir software de forma
modular e distribuída, valendo-se da figura de componentes hermeticamente
encapsulados e totalmente reutilizáveis (como futuras partes de composição
na montagem do produto final), por meio de um processo ágil, flexível e de
rápida progressão.
3 - 14
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Implementando uma Fábrica de Software
•
Seleção de um modelo de fábrica de software, vindo da literatura;
•
Adequação do modelo à realidade da Organização (Caso do CEPEIN);
•
Desenvolvimento do processo fabril para a área de desenvolvimento de software, este
processo está alicerçado no modelo selecionado;
•
Configuração de um conjunto de ferramentas (toolkit) para atender, de forma dinâmica
ao processo fabril.
•
Desenvolvimento de um projeto piloto para testar modelo, processo e ferramentas.
•
Implantação gradativa do conceito de fábrica de software.
Implementando uma Fábrica de Software (1)
Fábrica de componentes
Fábrica de software
produtos
planejar
dados
construir
planos
componentes
Implantar
Implementação
componentes
Análise de
componentes
modelos
Modelo de Basili
3 - 15
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Implementando uma Fábrica de Software (2)
Produção de componentes
Analisar
produtos
Projetar
dados
implementar
implementar
planos
testar
Projetar
testar
armazenar
implantar
componentes
revisar
modelos
Padronização de tarefas
Automatização
de procedimentos
Divisão do Trabalho
Gerenciamento de projetos
e administração de componentes
Gerenciamento de projetos
Produção de software
distribuir
Medidas de qualidade
produtividade
Flexibilidade na Produção
Implementando uma Fábrica de Software
•
Seleção de um modelo de fábrica de software, vindo da literatura;
•
Adequação do modelo à realidade da Organização (Caso do CEPEIN);
•
Desenvolvimento do processo fabril para a área de desenvolvimento de software, este
processo está alicerçado no modelo selecionado;
•
Configuração de um conjunto de ferramentas (toolkit) para atender, de forma dinâmica
ao processo fabril.
•
Desenvolvimento de um projeto piloto para testar modelo, processo e ferramentas.
•
Implantação gradativa do conceito de fábrica de software.
3 - 16
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Implementando uma Fábrica de Software (3)
• Orientado a Reuso (desenvolvimento Baseado em Componentes)
• Incremental
• Evolucionário (na Unidade de Produção de Componentes)
Implementando uma Fábrica de Software (3)
analisar
V
GHILQLomR
GRV DJHQWHV
H[WHUQRV
GHILQLomR
GR HVFRSR GR
VLVWHPD
H
LQWHUDJLU
FRP R FOLHQWH
PRGHODU
HYHQWRV
VLVWrPLFRV
GHILQLomR
GRV HYHQWRV
VLVWrPLFR
SUHYLVmR
GR WDPDQKR
GR VRIWZDUH
V
SUHYHU
EDVHV
WHFQROyJLFDV
*HUHQFLDU
D DWLYLGDGH GH
DQDOLVH
*HUHQFLDU
D DWLYLGDGH GH
DQDOLVH
3 - 17
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Implementando uma Fábrica de Software (3)
projetar
Implementando uma Fábrica de Software (3)
implementar
JHUHQFLDU
DWYLGDGH GH
LPSOHPHQWDomR
V
H
PRQWDU
VRIWZDUH
3 - 18
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Implementando uma Fábrica de Software (3)
validar:
estamos
construíndo o
produto certo
interação com o usuário
aceitação dos
requisitos
espeficificação
do sistema
projeto do
sistema
uma validação pode gerar uma
correção
implementação
verificar:
estamos
construído certo
o produto
métodos de teste
testar
implantar
software
integração de
requisitos
componentes
integração
componentes
implementação
modelagem
aceitação
Processo de Teste
caixa preta
caixa branca
forma de teste
Implementando uma Fábrica de Software (3)
testar
V
SURMHWDU
FDVRV GH
WHVWH
SUHSDUDU
FDVRV GH
WHVWH
WHVWDU
XQLGDGH GH
VRIWZDUH
V
FRPSDUDU
RV UHVXOWDGRV
WHVWH GH
DFHLWDomR
WHVWDU
FRPSRQHQWHV
H
JHUHQFLDU
DWLYLGDGH
GH WHVWH
V
JHUHQFLDU
DWLYLGDGH
GH WHVWH
3 - 19
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Implementando uma Fábrica de Software (3)
implantar
YHULILFDU
EDVH
WHFQROyJLFDV
FRQILJXUDU
R VRIWZDUH
WUHLQDU
XVXiULRV
H
V
*HUHQFLDU
D DWLYLGDGH
LPSODQWDomR
*HUHQFLDU
D DWLYLGDGH GH
LPSODQWDomR
Implementando uma Fábrica de Software (3)
revisar
H
V
YHULILFDU
QRYR
FRPSRQHQWH
QD EDVH
FRPXQLFDU
DR FOLHQWH
VREUH
FRPSRQHQWH
VXEVWLWXLU
FRPSRQHQWH
H
V
*HUHQFLDU
D DWLYLGDGH
GH UHYLVmR
*HUHQFLDU
D DWLYLGDGH GH
UHYLVmR
3 - 20
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Implementando uma Fábrica de Software (3)
armazenar
GRFXPHQWDU R
FRPSRQHQWH
FRPXQLFDU
RV LQWHJUDQWHV
GR SURFHVVR
H
V
*HUHQFLDU
D DWLYLGDGH GH
DUPD]HQDU
*HUHQFLDU
D DWLYLGDGH
DUPD]HQDU
Implementando uma Fábrica de Software (3)
Distribuir
YHULILFDU VH
FRPSRQHQWH
DWHQGH
VROLFDomR
YHULILFDU
SHUPLVV}HV GH
DFHVVR
H
V
*HUHQFLDU
D DWLYLGDGH GH
GLVWULEXLomR
*HUHQFLDU
D DWLYLGDGH
GH GLVEUXLomR
3 - 21
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Implementando uma Fábrica de Software
•
Seleção de um modelo de fábrica de software, vindo da literatura;
•
Adequação do modelo à realidade da Organização (Caso do CEPEIN);
•
Desenvolvimento do processo fabril para a área de desenvolvimento de software, este
processo está alicerçado no modelo selecionado;
•
Configuração de um conjunto de ferramentas (toolkit) para atender, de forma dinâmica
ao processo fabril.
•
Desenvolvimento de um projeto piloto para testar modelo, processo e ferramentas.
•
Implantação gradativa do conceito de fábrica de software.
Implementando uma Fábrica de Software (4)
• Configuração de Conjuntos de Ferramentas para atender o processo
fabril.
– Aderência ao processo fabril.
– Escolha amarrada a questão de qualidade e custo.
– Parte das ferramentas foram desenvolvidas internamente parte
foram compradas e algumas são caracterizadas como Freeware.
3 - 22
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Implementando uma Fábrica de Software (4)
• Ferramenta de gerenciamento de projetos de software:
– Destinada ao suporte a gerentes de projeto no desenvolvimento de
software, provendo informações de controle de projetos em
andamento (recursos necessários para seus desenvolvimentos), de
mão de obra (alocação de pessoal por projeto), de fornecedores e
dos riscos do projeto.
– Ferramenta desenvolvida
Implementando uma Fábrica de Software (4)
• Ferramenta de gerenciamento de processos, para um determinado
projeto de software:
– Dá suporte aos engenheiros de software, analistas de sistemas,
desenvolvedores e arquitetos, para controlar as informações dos
agentes externos de um determinado projeto de software e a
relação entre os agentes, as restrições inerentes ao software, o
modelo de dados a ser desenvolvido, as fases do projeto em
relação ao ciclo de vida e o desenvolvimento de componentes
(código, projeto, coleções e documentos).
3 - 23
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Implementando uma Fábrica de Software (4)
• Ferramenta para modelagem UML (Unified Modeling Language):
– especificação de diagramas de use cases, de classes, de transição
de estados, de atividades, de seqüências, de colaborações e de
componentes.
– Após a especificação do software, com esta ferramenta é possível
gerar a assinatura das classes e dos métodos para o
desenvolvimento dos componentes de código.
Implementando uma Fábrica de Software (4)
• Ferramenta para desenvolvimento de componentes de código:
– Tecnologia Java.
– IDE: NetBeans (v. 3.5.1)
3 - 24
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Implementando uma Fábrica de Software (4)
•
Ferramenta para metrificar software:
– Objetivo: automatizar o cálculo do tamanho do software a ser desenvolvido
pelo projeto.
– Esta ferramenta está baseada na teoria de COCOMO 2.
Implementando uma Fábrica de Software (4)
•
Estrutura Modular do Conjunto de Ferramentas
conjunto
ferramenta
projeto
processo de
software
modelagem visual
fortemente acoplada
fracamente acoplada
3 - 25
desenvolvimento de
componente de
código
métricas
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Implementando uma Fábrica de Software (4)
•
Estrutura Modular do Conjunto de Ferramentas
conjunto
ferramenta
projeto
riscos
visões
escopo
recursos
(equipamentos)
cronograma
mão de
obra
especialidades
fornecedores
componentes
envolvidos
Implementando uma Fábrica de Software (4)
•
Estrutura Modular do Conjunto de Ferramentas
conjunto
ferramenta
dados processo de software
fase
atividades
agentes
externos
tempo gasto no
desenvolvimento
relação
agentes
3 - 26
modelo de
dados
componentes
modelagem
implementação
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Implementando uma Fábrica de Software (4)
•
Estrutura Modular do Conjunto de Ferramentas
implementação
restrições
atributos
não funcionais
funcionalidades
status da versão
versões
desenvolvedores
envolvidos c/ a
versão
teste da
versão
correções da
versão
Implementando uma Fábrica de Software (4)
•
Estrutura Modular do Conjunto de Ferramentas
modelagem
restrições
status da versão
versões
desenvolvedores
envolvidos c/ a
versão
3 - 27
teste da
versão
correções da
versão
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Implementando uma Fábrica de Software
•
Seleção de um modelo de fábrica de software, vindo da literatura;
•
Adequação do modelo à realidade da Organização (Caso do CEPEIN);
•
Desenvolvimento do processo fabril para a área de desenvolvimento de software, este
processo está alicerçado no modelo selecionado;
•
Configuração de um conjunto de ferramentas (toolkit) para atender, de forma dinâmica
ao processo fabril.
•
Desenvolvimento de um projeto piloto para testar modelo, processo e ferramentas.
•
Implantação gradativa do conceito de fábrica de software.
Implementando uma Fábrica de Software (5)
• Projeto Piloto:
• Objetivo do software a ser fabricado:
O software de agendamento de consulta tem como objetivos
armazenar os dados dos consultores (neste caso os médicos); os
dados dos pacientes; agendar consultas; prover um mecanismo de
validação das consultas agendadas e emitir relatórios em relação
aos dados armazenados.
3 - 28
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Implementando uma Fábrica de Software (5)
•
Atividades do ciclo de vida a serem desenvolvidas:
– o levantamento dos requisitos;
– a analise e projeto dos requisitos levantados;
– a implementação e teste das informações inferidas nas atividades de
analise e projeto;
– a implantação do software.
Implementando uma Fábrica de Software (5)
•
O levantamento de requisitos é realizado utilizando componentes de infraestrutura.
•
Os requisitos:
– Principais necessidades:
SURYHU
L QWHUIDFHDPHQWR
SDUD SUHHQFL PHQWR GR
DWHQGL PHQWR HP
XP FRPSXGDGRU
SRUWDWLO
/DQoDU DV Do}HV
UHDOL]DGDV
MXQWR DR FO LHQWH
Sistema de
Atendimento ao
Cliente
HPLWLU UHODWyULRV HVWDWtVWLFRV
DJHQGDU
VREUH DWHQGL PHQWR
DWHGL PHQWR
3 - 29
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Implementando uma Fábrica de Software (5)
• Os objetivos do software, suas principais necessidades e o diagrama
de causa-efeito são capturadas no módulo de gerenciamento de
projetos/gerência de escopo do projeto (uma das ferramentas do
tookit).
conjunto
ferramenta
projeto
riscos
visões
escopo
recursos
(equipamentos)
cronograma
mão de
obra
especialidades
fornecedores
componentes
envolvidos
Implementando uma Fábrica de Software (5)
•
Agentes externos envolvidos no contexto do sistema:
– Os agentes externos (atores e usuários do software) também são mapeados
utilizando componente de infra-estrutura/formulários
–
Agente Externo 1: Médico
–
Responsabilidade: Atende um paciente e fornece um diagnóstico.
–
Uso do Software: Armazena os dados do diagnóstico fornecido ao paciente. Valida o
agendamento de uma consulta, quando este é efetuado por um paciente.
–
Ambiente: Pode trabalhar em qualquer ambiente, utilizando a web.
–
Agente Externo 2: paciente
–
Responsabilidade: Agenda consulta. Pessoa que recebe o atendimento de um médico.
–
Uso do Software: O paciente pode agendar um atendimento via web. Nota esse atendimento só é
valido se o médico validá-lo
–
Ambiente: Trabalho em qualquer ambiente, o mesmo pode usar a web.
–
Relação entre os agentes: Médico atende um paciente
3 - 30
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Implementando uma Fábrica de Software (5)
•
As informações relativas aos agentes externos são capturadas no módulo de
gerenciamento das informações das atividades de desenvolvimento de
software/agentes externos (uma das ferramentas do tookit).
conjunto
ferramenta
dados processo de software
fase
atividades
agentes
externos
tempo gasto no
desenvolvimento
relação
agentes
modelo de
dados
componentes
modelagem
implementação
Implementando uma Fábrica de Software (5)
• Mapeadas as informações sobre as principais necessidades do
software e dos agentes externos é possível inferir alguns eventos cuja
as atividades fazem parte do contexto sistêmico no qual o software vai
ser desenvolvido.
– Armazenar e recuperar informações de médicos
– Armazenar e recuperar informações de pacientes
– Agendar consultas
– Validar consultas
– Armazenar informações sobre o atendimento
– Emitir relatório dos dados armazenados
3 - 31
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Implementando uma Fábrica de Software (5)
•
Representação das atividades Essenciais:
Implementando uma Fábrica de Software (5)
• Desenvolvimento de um cronograma para realização das atividades de
levantamento de requisitos e análise de sistemas.
•
Necessidade de realização de uma interação com o cliente para validar o
modelo sistêmico proposto.
3 - 32
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Implementando uma Fábrica de Software (5)
•
O tempo do projeto é capturado no sub-módulo gerência de tempo de projeto, o custo, no submódulo de gerência de custo de projeto e os recursos, no sub-módulo de gerência de recursos
humanos do projeto.
conjunto
ferramenta
projeto
riscos
visões
escopo
recursos
(equipamentos)
cronograma
mão de
obra
especialidades
fornecedores
componentes
envolvidos
Implementando uma Fábrica de Software (5)
•
Na interação realizada junto ao cliente do software, são priorizadas as
atividades essenciais que devem ser implementadas (processo incremental).
•
Atividades Essenciais:
– Armazenar e recuperar informações de médicos.
– Armazenar e recuperar informações de pacientes.
•
Surge a questão: Quais são essas informações?
3 - 33
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Implementando uma Fábrica de Software (5)
• Para responder essa questão, é necessário realizar consulta ao cliente,
denominado no contexto fabril de levantamento de requisitos de
componentes.
Implementando uma Fábrica de Software (5)
•
Levantados os requisitos de um determinado componente, o próximo passo é
estabelecer uma versão para o desenvolvimento do mesmo.
– componente armazenar e recuperar informações de médicos está na versão 001.
– Versão Datada de 21 de maio de 2004.
– Agente Externo: Médico.
– Início do Levantamento de Requisitos: 21 de maio de 2004.
– Término da Atividade de Levantamento de Requisitos: agendada para 22 de maio de
2004.
– Liberação das informações para o desenvolvimento da atividade de projeto: 22 de
maio de 2004.
– Foram gastas 04 horas no Levantamento de Requisitos.
3 - 34
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Implementando uma Fábrica de Software (5)
•
Com isso é possível concluir que:
FRPSRQHQWH
WHP
UHVWULomR
UHVWULomR
$W1)
Q
$W1)
YHUVmR
Q
YHUVmR
Q
WHP
UHTXLVLWRV
SURMHWR
WHVWH
PRQWDJHP
$W1)
LPSODQWDomR
$WULEXWRV QmR IXQFLRQDLV
Implementando uma Fábrica de Software (5)
•
O projeto do componente:
–
Desenvolvimento do modelo funcional (Diagramas Use-Case e Seqüência).
–
Desenvolvimento do Modelo de Dados (Diagrama de Classes
3 - 35
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Implementando uma Fábrica de Software (5)
•
Os diagramas de use case (com seus fluxos normal e alternativo) e de seqüências, a
data de início, a previsão para data de termino, a data de liberação e a quantidade de
horas gasta na atividade de projeto de um componente são capturadas pelo módulo de
gerenciamento das informações das atividades de desenvolvimento de software
(Ferramenta).
conjunto
ferramenta
dados processo de software
fase
atividades
agentes
externos
tempo gasto no
desenvolvimento
relação
agentes
modelo de
dados
componentes
modelagem
implementação
Implementando uma Fábrica de Software (5)
•
Ordem Montagem
3 - 36
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Implementando uma Fábrica de Software (5)
DUPD]HQDU H UHFXSHUDU LQIRUPDo}HV GH PpGLFRV
YHUVmR
Q
JHUD XPD QRYD
YHUVmR
YHUVmR
Q
WHP
UHTXLVLWRV
,QtFLR 7pUPLQR
/LEHUDomR
4WGH GH +RUDV SURMHWR
,QtFLR 7pUPLQR
/LEHUDomR
4WGH GH +RUDV PRQWDJHP
YDOLGDGR LQtFLR GD
LPSODQWDomR
WHP
WHVWH
,QtFLR 7pUPLQR
/LEHUDomR
4WGH GH +RUDV PRQWDJHP
,QtFLR 7pUPLQR
/LEHUDomR
6WDWXV &RP (UUR
Q WHVWH
,QtFLR 7pUPLQR
/LEHUDomR
4WGH GH +RUDV ,QtFLR 7pUPLQR
/LEHUDomR
6WDWXV 6HP (UUR
&RP (UUR
rastreabilidade
Implementando uma Fábrica de Software (5)
• Informações sobre o Projeto Piloto:
– Uma equipe de desenvolvimento de software foi destacada, especialmente,
para desenvolver este projeto.
– Esta equipe recebeu treinamento e tarefas lhe foram distribuídas (alguns
membros da equipe foram treinados para fabricar componentes, outros
para fabricar software).
3 - 37
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Implementando uma Fábrica de Software (5)
•
Desenvolvimento de um Projeto Piloto para testar modelo, processo e
ferramentas (Resultados Iniciais).
– Configuração de uma unidade de produção de componentes e uma unidade de
produção de software (divisão do trabalho).
– Introdução de técnicas de gerenciamento de projetos.
– Padronização de tarefas e controles podem ser inferidos.
– Automatização de procedimento, no desenvolvimento de software.
– Adoção de uma linguagem de modelagem comum no desenvolvimento de projetos
de softwares (a linguagem adotada: UML).
– Algumas medidas de produtividade e qualidade já podem ser inferidas.
– Configuração de um ambiente de teste de software.
Implementando uma Fábrica de Software
•
Seleção de um modelo de fábrica de software, vindo da literatura;
•
Adequação do modelo à realidade da Organização (Caso do CEPEIN);
•
Desenvolvimento do processo fabril para a área de desenvolvimento de software, este
processo está alicerçado no modelo selecionado;
•
Configuração de um conjunto de ferramentas (toolkit) para atender, de forma dinâmica
ao processo fabril.
•
Desenvolvimento de um projeto piloto para testar modelo, processo e ferramentas.
•
Implantação gradativa do conceito de fábrica de software.
3 - 38
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Implementando uma Fábrica de Software (6)
•
Plano para Implantação do conceito fabril.
– Mapeamento de projetos que estão sendo desenvolvidos pelo CEPEIN e os projetos
que estão na fila de espera para iniciar o desenvolvimento.
– Classificação das equipes e dos projetos que irão trabalhar de forma semelhante ao
projeto piloto. O critério utilizado na classificação atenderá, primeiro, os projetos
com maior prioridade.
– Treinamento dos integrantes dos projetos classificados.
– Gerenciamento dos projetos classificados, utilizando os conceitos definidos no
projeto piloto, de forma gradativa (um projeto por vez).
Implementando uma Fábrica de Software
•
Análise dos modelos fabris da literatura.
•
Seleção de um modelo levando em consideração alguns critérios.
– uma fábrica de software é baseada na produção de software por meio de
componentes.
– a padronização de técnicas e a flexibilidade na produção.
•
Adequação do modelo a realidade (customização).
•
Desenvolvimento de um processo fabril.
•
Institucionalizar o processo desenvolvido (sugestão: desenvolvimento de um
projeto piloto).
•
Configurar um conjunto de ferramentas para apoio ao processo.
•
Desenvolvimento de um plano de implantação.
3 - 39
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Replicando uma Fábrica de Software
• Passos a serem seguidos:
– Definir um macro processo para transferência de conhecimento e
tecnologia.
– Definir passos para customizar e adaptar o conhecimento e a
tecnologia para a organização receptora do processo fabril.
– Criar uma Base de Conhecimento com informações sobre os vários
aspectos do desenvolvimento do software.
Nishiyama, Ikeda e Niwa (2000)
Replicando uma Fábrica de Software (MP)
• Macro processo de transferência:
– Definir o conhecimento que será transferido (já realizado – processo e
tecnologia de suporte)
– Estabelecer o modelo de transferência de conhecimento
S H VV R D V
S U R F HV V R
W UD QV IH Ur QF LD G H
F RQ K H F LP H Q WR
F R Q IL J X U D o m R G R
D P E LHQ WH
3 - 40
IH U U D P H Q W D WH FQ R OR JLD
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Replicando uma Fábrica de Software (MP)
• Formas de transferir conhecimento.
– “learning by doing”;
– treinamento convencional (ensino e aprendizagem – professor e aluno);
– auto aprendizagem: consulta a uma base de conhecimento (livros, cursos
on-line, manuais, formalização de processos).
Replicando uma Fábrica de Software (MP)
•
Formas de transferir conhecimento.
–
“learning by doing”;
RULHQWDU
PRQLWRUDU
DSULPRUDU
3 - 41
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Replicando uma Fábrica de Software (MP)
• Configuração do ambiente:
– Instalar as ferramentas;
– Iniciar a base de componentes e de conhecimento;
Replicando uma Fábrica de Software (MP)
• Configuração do ambiente:
– Definir a planta do ambiente fabril.
,/+$ '( )$%5,&$d­2 %&
,/+$ '( )$%5,&$d­2 3 - 42
,/+$ '( )$%5,&$d­2 1
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Replicando uma Fábrica de Software (CUS)
• Customizar processo e da tecnologia:
– Análise dos modelos fabris.
– Adaptar o modelo a realidade da organização.
– Customizar o conjunto de ferramentas.
– Propor um projeto piloto.
Replicando uma Fábrica de Software (BC)
• Configuração de uma base de conhecimento.
estrutura do processo (apresentada na seção 2),
informações que respondem como utilizar o processo;
tutoriais relacionados às atividades de processo;
informações que respondem como configurar as ferramentas;
tutoriais sobre as ferramentas;
como aplicar as ferramentas em conjunto com o processo;
informações relativas aos componentes (permissões, regras, autor
do componente)
– informações que respondem como utilizar um determinado
componente na atividade implementação;
– informações relativas a estrutura dos componentes e a biblioteca
de componentes.
–
–
–
–
–
–
–
3 - 43
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Replicando uma Fábrica de Software (Recursos)
• Customizar as ferramentas de gerenciamento de projeto e de
processos de acordo com o processo definido.
• Configurar o ambiente: estabelecer um número x de ilhas de
fabricação de software, x pode variar de acordo com as pretensões da
organização.
• Configurar a base de conhecimento: criar um mecanismo que propicie
a compartilhamento do processo e das ferramentas.
• Estabelecer o número de integrantes que irão participar no processo
de fabricação de software.
Replicando uma Fábrica de Software (Recursos)
• Transferir conhecimento: todos os integrantes que irão participar do
processo de fabricação de software devem ser treinados. Os
treinamentos sugeridos são:
– Treinamento no processo (orientado a processo ou orientado a objetos),
utilizando as ferramentas de gerenciamento de projetos e de processos (60
horas).
– Treinamento em métricas (20 horas).
– Treinamento na tecnologia JAVA (60 horas).
– Treinamento na ferramenta de modelagem do processo fabril (20 horas).
• Desenvolver um projeto piloto para balizar o processo fabril e as
ferramentas.
3 - 44
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Conclusão
• Casos de Sucesso de empresas que implementaram o conceito de
Linha de Produto de Software.
• Caso: CelsiusTech (empresa sub-contratada da marinha sueca para o
desenvolvimento de sistemas para embarcações militares).
– A participação do software no custo total dos sistemas caiu de 65% para
20%;
– Redução da mão de obra de desenvolvimento de software (dos projetos de
uma família) de 200 pessoas para menos de 50;
– O tempo de entrega (time-to-market) passou de poucos anos para meses;
– 70% a 80% dos sistemas de software eram compostos de componentes do
repositório de ativos;
– Houve um aumento na qualidade dos sistemas desenvolvidos e na
satisfação dos clientes.
Dusrcki e Spínola 2004
• Outros casos - Nokia, Philips e Avaya Telecom
Conclusão
•
Este trabalho apresentou as técnicas utilizadas para o desenvolvimento da
fábrica de software do CEPEIN. Após apresentar tais técnicas o trabalho provê
um modelo genérico para desenvolver e replicar fábricas de software.
•
É possível verificar que as técnicas apresentadas necessitam do suporte do
conceito de fábrica de software (amplamente discutido no meio científico).
Tais técnicas estão embasadas nas idéias de padronização de tarefas, divisão
do trabalho, automatização de procedimentos, medidas de qualidade e
produtividade e flexibilidade na produção, propostas por Basili et. al. (1992),
Berner (1969), Cantone (1992) e Cusumano (1989).
3 - 45
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Conclusão
•
Ao definir as técnicas e aplicá-las no desenvolvimento da fábrica de software
do CEPEIN, houve a tentativa de responder algumas questões, entre elas,
destaca-se: Quais os critérios para selecionar um modelo para implementar
uma fábrica de software?
•
Critérios:
– Uma fábrica de software é baseada na produção de software por meio de
componentes, com isso o modelo escolhido deve apresentar este conceito.
– A padronização de técnicas e a flexibilidade na produção
Conclusão
•
Com certeza, outros critérios podem surgir e alterar a configuração do modelo utilizado
para implementar uma fábrica de software em outros ambientes, com isso é possível
afirmar que a questão não está totalmente solucionada.
•
Outras questões devem ser respondidas pelos autores deste trabalho, entre elas: Como
adequar um modelo selecionado na literatura à realidade de uma organização? Quais
são os passos para desenvolver um processo de desenvolvimento de software aderente
ao modelo selecionado? Como escolher e configurar um conjunto de ferramentas para
desenvolver software em uma fábrica?
•
Tais questões merecem grande atenção da comunidade científica e, possivelmente,
quando respondidas de forma definitiva solucionarão muitos problemas da área de
engenharia de software.
3 - 46
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Referências bibliográficas
•
Basili, V. R.; Caldiera G.; Cantone G. A Reference Archiecture for the Component Factory. ACM
Transaction on Software Engineering and Methodology. Vol 1. nº 1, January 1992. pp 53-80.
•
Cusumano, Michael A.. Software Factory: A Historical Interpretation. IEEE Software – March de 1989.
•
Cantone, G. Software Factory: Modeling the Improvement. IEEE Software. 1992.
•
Li, Chao; Li Huaizhang; Li Mingshu. A Software Factory Modelo Based on ISO 9000 and CMM for
Chinese Small Organizations. IEEE, 2001.
•
Fernstrom, C.; Narfelt, Kjell-Hakan; Ohlsson, L. Software Factory Principles, Architecture and
Experiments. IEEE Software, March 1992.
•
Bux, G.; Marzano, G. Library of Predefined Software Process Models as Support for Software Factory
Design. The SFINX Proposal Proposal. IEEE, 1992.
Referências bibliográficas
•
Noboru, Akima; Ooi, Fusatake. Insdustrializing Software Development A Japanese Approach. IEEE
Software, March 1989.
•
Humphrey, S. Watts. Software and the Factory Paradigm. Software Engineering Journal, September
1991.
•
Cesar, Ricardo. Fábrica de Software uma Vocação Nacional, extraíde de
www.computerworld.terra.com.br em 2003.
•
IEEE Std 830-1998 – Recommended Practice for Software Requirements Specifications.
•
Bayer, J.; Flege, O.; Laqua, R.; Muthig, D.; Schmid, K.; Widen, T. PulSE: A Methodology to Develop
Software Product Lines. SSR’99 Los Angeles CA USA. ACM.
•
Chatters, Brain. Implementing an Experience Factory. Maintenance and Evolution of the Software and
System Developement Process.
3 - 47
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Referências bibliográficas
•
IEEE Std 1016-1998. Recommend Practice For Software Design Descriptions.
•
Sommerville, Ian Engenharia de Software. 6ª Edição, Addison Wesley. 2003.
•
Fernandes, Agnaldo Aragon; Teixeira, Descartes de Souza. Fábrica de Software: Implantação e
Gestão de Operações. Editora Atlas. 2004.
•
Processo RUP.
•
PMBOK
•
Berner, R. W. Position Papers For Painel Discussion: The Economics of Program Producition. In
Information Processing 68, North-Holland, Amsterdan. 1969.
Referências bibliográficas
•
Laszlo A. Belady. The Disappearance of the “Pure” Software Industry
•
Ivica Crnkovic; Stig Larsson; Judith Stafford. Component-Based Software Engineering:
Building systems from Components at 9th IEEE Conference and Workshops on
Engineering of Computer-Based Systems.
3 - 48
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Referências bibliográficas
•
D. L. Parnas. A Technique for Software Module Specification with Examples.
•
Stefano Cinti, Giandomenico Oldano, Elena Orazi Alfonso Fuggetta, Luigi Lavazza,
Sandro Morasca Applying GQM in an Industrial Software Factory.
•
Michael A. Cusumano, Richard W. Selby. How Microsoft Biulds Softwares.
•
John D. Tvedt, Roseanne Tesoriero, Kevin A. Gary. The Software Factory: Combining
Undergraduate Computer Science and Software Engineering Education.
•
Victor Basili, Frank McGarry. The Experience Factory: How to Build and Run One.
•
SWEBOK
Referências bibliográficas
•
Slack, N. Lewis, M. Operations Strategy. Londres: Pitman, 2002.
•
Corrêa, Henrique Luiz. Teoria Geral da Administração: Abordagem Histórica da Gestão
de Produção e Operações. São Paulo. Ed. Atlas, 2003.
•
Nieto, M.; Arias, D.; Miguela, B; Rodrigues, A. The Evolution of Management Contentes:
An Analysis of th Most Relevant Textbooks. Industrial Management and Data Systems.
99/8 p. 345-352. MCB University Press, 1999.
•
Sloan JR., A. E. Meus anos com a General Motors. S. Paulo. Negócio Editora. 2001.
•
Hounshell D. From the American System to Mass Production 1800-1934. Johns Hopkins
University-Press, 1984
•
Tedlow, R. S. Sete Homens e os Impérios que Construíram. S. Paulo: Futura 2002.
•
COSTA, Ivanir; Contribuição para o aumento da qualidade e produtividade de uma Fábrica de
Software através da padronização do processo de recebimento de serviços de construção de
software; exame de qualificação de doutorado Poli Produção; 2003.
•
Durskcki, R. C. Linhas de Produto de Software: riscos e vantagens de sua implantação. Simpósio
Brasileiro de Processo de Software. S. Paulo. 2004
3 - 49
VI Simpósio Internacional de Melhoria de
Processos de Software
São Paulo, SP – Brasil 24-26/11/2004
www.simpros.com.br
Desenvolvimento e Replicação de Uma
Fábrica de Software
Repositório Fabril – CEPEIN e eLabTI
www.femanet.com.br/fs
[email protected]
Eng. de Produção
3 - 50
Download

Desenvolvimento e Replicação de Uma Fábrica de Software