Vous êtes sur la page 1sur 7

O que é um processo 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.
Engenharia de Software © 2008 Jair C Leite

Processo Desenvolvimento de
Software

Processo de
Requisitos do Sistema novo
Desenvolvimento
Usuário
de Software 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

Trabalhador
(papel)
Atividades (WBS)

Gerenciamento
Atividade
(tarefas)

Planejamento Alocação pessoa-atividade

Artefatos

Equipe 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


• Um processo é organizado em
Realizada por
atividades.
• Atividades são de
Trabalhador Atividade responsabilidade de um papel
(papel) (tarefas) (membro da equipe ou
trabalhador).
responsável Entrada/saída • Um artefato (produto do trabalho)
é um modelo, documento ou
código produzido por uma
atividade.
Artefatos
(produto do trabalho) • Atividades devem gerar um
artefato de saída, que possa ser
verificado, e podem requisitar um
artefato de entrada.

Engenharia de Software © 2008 Jair C Leite


Papéis
• Na definição de um método, deve-se definir quais
são os papéis.
• Na elaboração de um processo, deve-se definir quais
pessoas desempenham papéis.
• Os papéis podem variar de um processo para outro

Analista João

Desenvolvedor Pedro

Método Arquiteto Maria


Testador
Paulo
Gerente
Envolvido Ana
Claudia
Qualquer
Engenharia de Software © 2008 Jair C Leite

Atividades (disciplinas)
• Em um método, as atividades ou tarefas a serem
realizadas são as disciplinas.
• Em um processo, as atividades devem ser alocadas
aos papéis...
• ... e deve ser determinados o fluxo de trabalho, a
rede de dependências e os marcos

Requisitos
Arquitetura

Desenvolvimento

Teste
Gerenciamento
Método Processo
Engenharia de Software © 2008 Jair C Leite
Exemplo de estrutura de processo (WBS)
• WBS – Work Breakdown Structure
– termo tradicional da área de gerência de projetos para
determinar a estrutura de atividades, dependências, marcos

Engenharia de Software © 2008 Jair C Leite

Artefatos
• Artefatos podem ser documentos, modelos, códigos,
incrementos, builds, releases, etc.
• Em um método, as disciplinas e papéis produzem e
consomem artefatos
• Um processo define quem produz e consome os
artefatos e quando eles serão produzidos (marcos)

Modelos
Documentos

Componentes
Builds
Método Processo

Engenharia de Software © 2008 Jair C Leite


Incrementos, builds e releases
• Um incremento é um componente de software
compilado, utilizado na composição de builds.
• Um build é um artefato parciais de software
composto por incrementos .
• Uma release é um build entregue ao cliente com
executáveis (bin), bibliotecas (lib), manuais, etc.

compilação build liberação

Código fonte Componente


(incremento)
Build1.2.0.1 Relase1.2

Código fonte Componente


(incremento)
Engenharia de Software © 2008 Jair C Leite

Marcos (milestones)
• Um marco (milestone) é um ponto final de uma
atividade de processo.
• Um processo deve estabelecer uma série de marcos.
• Marcos principais delimitam fases
• Marcos intermediários permitem avaliar o progresso
do processo de software

Marcos
Marcos intermediários

build release

Marcos principais
tempo
Engenharia de Software © 2008 Jair C Leite
Diagrama de Gantt
• Determina a linha de tempo na qual as atividades
serão executadas
• Deve refletir os marcos e as dependências

Engenharia de Software © 2008 Jair C Leite

Vous aimerez peut-être aussi