ENGENHARIA
• Um conjunto de atividades realizadas por pessoas cujo objetivo é desenvolvimento ou evolução de software e sua documentação.
• Atividades genéricas em todos os processos:
– Especificação – o que o sistema deve fazer (funcionalidade) e quais as restrições
– Desenvolvimento – produção do software
– Verificação – avaliar correção, validação e outros aspectos de qualidade
– Manutenção – mudanças no software
• Um modelo de processo de software é uma representação abstrata das atividades, papéis e artefatos. Engenharia de Software © 2008 Jair C Leite
Processo Desenvolvimento de
Software
Requisitos do
Usuário
Processo de
Desenvolvimento
de Software
Sistema novo ou modificado
• “Um processo é o conjunto total de atividades de engenharia necessárias para transformar requisitos do usuário em software” “Managing the Process”, Humphrey, 1989
Engenharia de Software © 2008 Jair C Leite
Visão geral de um processo
WBS – Work Breakdown Structure
Atividades (WBS)
Atividade
(tarefas)
Planejamento
Alocação pessoa-atividade
Artefatos
Equipe
Gerenciamento
Trabalhador
(papel)
Diagrama de Gantt (prazos)
Engenharia de Software © 2008 Jair C Leite
Método x Processo
• Um método (ou modelo de processo) é algo teórico, um conjunto de possíveis ações – conteúdo do método.
– Define o que, como e porque fazer
• O processo deve determinar ações práticas a serem realizadas pela equipe como prazos definidos e métricas para se avaliar como elas estão sendo realizadas.
– Define quem e quando fazer.
Método + Planejamento = Processo
Engenharia de Software © 2008 Jair C Leite
Método e Processo no SPEM 2.0
• SPEM = Software Process Engineering Meta-model
• Qualquer processo pode ser representado utilizando o SPEM
• Diferença entre Conteúdo do Método e Processo
Engenharia de Software © 2008 Jair C Leite
Atividades, Artefatos e Papéis
Realizada por
Trabalhador