Processo de Software UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA...

21
Processo de Software UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Prof.ª Adriana dos Santos Caparróz Carvalho

Transcript of Processo de Software UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA...

Page 1: Processo de Software UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Prof.ª Adriana dos Santos Caparróz Carvalho.

Processo de Software

UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SULSISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE

Prof.ª Adriana dos Santos Caparróz Carvalho

Page 2: Processo de Software UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Prof.ª Adriana dos Santos Caparróz Carvalho.

O que é um processo?

“Desde que o software, como todo capital, é conhecimento incorporado, e como esse conhecimento está inicialmente disperso, tácito, latente e incompleto na sua totalidade, o desenvolvimento de software é um

processo de aprendizado social. O processo é um diálogo no qual o conhecimento, que deve se transformar em software, é reunido e

incorporado ao software. O processo fornece interação entre usuários e projetistas, entre usuários e ferramentas em desenvolvimento e entre

projetistas e ferramentas em desenvolvimento [tecnologia]. É um processo iterativo no qual a própria ferramenta serve como meio de comunicação, como cada nova rodada de diálogo explicitando mais

conhecimento útil do pessoal envolvido” [BAE98]

Page 3: Processo de Software UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Prof.ª Adriana dos Santos Caparróz Carvalho.

Processo de Software

A elaboração de software é um processo interativo de aprendizado.

É a incorporação de conhecimentos coletados, destilados e organizados, à medida que o processo é conduzido.

É o arcabouço das tarefas que são necessárias para construir softwares de alta qualidade [PRE06]

Page 4: Processo de Software UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Prof.ª Adriana dos Santos Caparróz Carvalho.

E Engenharia de Software?

Fritz Bauer - 1969

“O estabelecimento e uso de sólidos princípios de engenharia para que se possa obter

economicamente um software que seja confiável e que funcione eficientemente em máquinas

reais”

Page 5: Processo de Software UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Prof.ª Adriana dos Santos Caparróz Carvalho.

Engenharia de Software

IEEE, 1993

“A aplicação de uma abordagem sistemática, disciplinada e quantificável para o desenvolvimento, operação e

manutenção do software; isto é, a aplicação da engenharia ao software”.

Qualquer abordagem de engenharia deve se apoiar num compromisso com a qualidade.

Page 6: Processo de Software UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Prof.ª Adriana dos Santos Caparróz Carvalho.

ES: em camadas

Foco na qualidade: base Processo: alicerce; adesivo Métodos: conjunto de tarefas; “como fazer” Ferramentas: apoio automatizado ou semi-

automatizado para o processo e para os métodos.

Foco na qualidadeProcesso

Métodos

Ferramentas

Page 7: Processo de Software UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Prof.ª Adriana dos Santos Caparróz Carvalho.

Arcabouço de Processo

Estabelece o alicerce para um processo de software completo pela identificação de um pequeno número de atividades de arcabouço:ComunicaçãoPlanejamentoModelagem ConstruçãoImplantação

Page 8: Processo de Software UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Prof.ª Adriana dos Santos Caparróz Carvalho.

Arcabouço de Processo

Diferentes projetos necessitam de diferentes conjuntos de tarefas.

A equipe de software escolhe o conjunto de tarefas com base no problema e características do projeto.

Page 9: Processo de Software UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Prof.ª Adriana dos Santos Caparróz Carvalho.

Arcabouço de Processo

Um projeto engloba tarefas de trabalhoProjeto de dadosProjeto arquiteturalProjeto de interfaceProjeto de componentes

Tudo isso cria um modelo e/ou uma especificação de projeto.

Page 10: Processo de Software UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Prof.ª Adriana dos Santos Caparróz Carvalho.

Arcabouço de Processo

Todos os modelos de processo podem ser caracterizados dentro do arcabouço de processo.

A aplicação inteligente de qualquer modelo de processo de software deve reconhecer que a adaptação (ao problema, ao projeto, à equipe e à cultura organizacional) é essencial para o sucesso.

Page 11: Processo de Software UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Prof.ª Adriana dos Santos Caparróz Carvalho.

Modelos de Processo

Os modelos diferem fundamentalmente:No fluxo geral de atividades e tarefasNo grau em que as tarefas de trabalho são

definidas dentro de cada atividade do arcabouçoNa maneira como as atividades de garantia de

qualidade são aplicadasNo grau geral de detalhes e rigorNo grau de envolvimento dos clientesNo nível de autonomia da equipe de

desenvolvimento

Page 12: Processo de Software UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Prof.ª Adriana dos Santos Caparróz Carvalho.

Modelos de Processo

Os modelos prescritivos de processo:Enfatizam a definição, identificação e aplicação

detalhada e atividades e tarefas;Objetivo: melhorar a qualidade o sistema para

tornar os projetos mais gerenciáveis, as datas de entrega e os custos mais previsíveis e para guiar equipes de engenheiros de software.

Se aplicados dogmaticamente e sem adaptação,eles podem aumentar a burocracia e criar dificuldades para desenvolvedores e clientes

Page 13: Processo de Software UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Prof.ª Adriana dos Santos Caparróz Carvalho.

Modelos de Processo

Os modelos de processo ágil:Enfatizam a agilidade do projeto, a

manobrabilidade e a adaptabilidade;Abordagem mais informal mas não menos efetiva.

Ambas as filosofias têm como objetivo comum criar softwares de alta qualidade que satisfaçam às necessidades do cliente.

Page 14: Processo de Software UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Prof.ª Adriana dos Santos Caparróz Carvalho.

CMMI

Cabability Maturity Model Integration

Desenvolvido pelo SEI (Software Engineering Institute)

Metamodelo de processo baseado em um conjunto de capacidades de engenharia de software que devem estar presentes à medida que as empresas alcançam diferentes níveis de capacidade e maturidade de processo.

Page 15: Processo de Software UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Prof.ª Adriana dos Santos Caparróz Carvalho.

CMMI

CMMI Modelo ContínuoDescreve um processo em duas dimensões (nível

de capacitação e área de processo)Nível de capacitação:

• Nível 0: incompleto• Nível 1: Realizado• Nível 2: Gerido• Nível 3: Definido• Nível 4: Quantitativamente gerido• Nível 5: Otimizado

Page 16: Processo de Software UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Prof.ª Adriana dos Santos Caparróz Carvalho.

CMMI

CMMI Modelo ContínuoDescreve um processo em duas dimensões (nível

de capacitação e área de processo)Área de Processo

• PP: Planejamento de Projeto• GREQ: Gestão de Requisitos• MA: Mediação de Análise• GC: Gestão de Configuração• GQPP: Gestão de Qualidade de Processo e de Produto

Page 17: Processo de Software UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Prof.ª Adriana dos Santos Caparróz Carvalho.

CMMI CMMI Modelo Contínuo

Descreve um processo em duas dimensões (nível de capacitação e área de processo)

0

1

2

3

4

5

PP GREG MA GC GQPP

N0: incompletoN1: RealizadoN2: GeridoN3: DefinidoN4: Quantitativamente geridoN5: Otimizado

PP: Planejamento de ProjetoGREQ: Gestão de RequisitosMA: Mediação de AnáliseGC: Gestão de ConfiguraçãoGQPP: Gestão de Qualidade de Processo e de Produto

Page 18: Processo de Software UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Prof.ª Adriana dos Santos Caparróz Carvalho.

CMMI

O CMMI define cada área de processo em termos de “metas específicas” e das “práticas específicas” necessárias para atingir tais metas.

ME 1 Desenvolver um plano de projeto• PE1. 1 Estabeleça o orçamento e o cronograma• PE1. 2 Identifique os riscos de projeto• PE1. 3 Planeje a gestão de dados• PE1. 4 Planeje os recursos de projeto• PE1. 5 Planeje as habilidades e conhecimentos• PE1. 6 Planeje o envolvimento dos interessados

Page 19: Processo de Software UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Prof.ª Adriana dos Santos Caparróz Carvalho.

CMMI

CMMI Modelo em estágios Define 5 níveis de maturidade Permite uma seqüência de melhoria onde cada nível serve

de pré-requisito para o próximo Permite comparações entre organizações que utilizam

níveis de maturidade

Page 20: Processo de Software UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Prof.ª Adriana dos Santos Caparróz Carvalho.

Avaliação de Processo O processo deve ser avaliado para garantir que ele

satisfaça a um conjunto de critérios básicos de processo que demonstraram ser essenciais para uma engenharia de software bem-sucedida.

SCAMPI

CBA

Norma SPICE (ISSO/IEC 15504)

ISSO 9001:2000 para Software

Page 21: Processo de Software UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Prof.ª Adriana dos Santos Caparróz Carvalho.

Avaliação de Processo