Processos de Software
• 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, cronograma.
Engenharia de Software, Jair C Leite, 2004
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, Jair C Leite, 2004
Modelo X Processo
• Um modelo é algo teórico, um conjunto de possíveis ações.
• 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 faz o que, quando e como.
Modelo + Planejamento = Processo
Engenharia de Software, Jair C Leite, 2004
Atividades, Artefatos, Marcos e
Entregas
• Um processo é organizado em atividades.
• Atividades são de responsabilidade de um membro da equipe (trabalhador).
• Atividades devem gerar um artefato de saída, que possa ser verificado, e podem requisitar um artefato de entrada.
• Um artefato é um modelo, documento ou código produzido por uma atividade.
• Uma entrega (liberação) é um artefato entregue ao cliente • Um processo deve estabelecer uma série de marcos.
• Um marco é um ponto final de uma atividade de processo. Engenharia de Software, Jair C Leite, 2004
Modelos de Processo
• Um modelo de processo ou método define um conjunto