Visão Geral de Engenharia de Software - Seja Bem-Vindo...

33
Visão Geral de Engenharia de Software Ricardo de Almeida Falbo Ontologias para Engenharia de Software Departamento de Informática Universidade Federal do Espírito Santo

Transcript of Visão Geral de Engenharia de Software - Seja Bem-Vindo...

Page 1: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

Visão Geral de Engenharia de

Software

Ricardo de Almeida Falbo

Ontologias para Engenharia de Software Departamento de Informática

Universidade Federal do Espírito Santo

Page 2: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

Agenda

• Engenharia de Software: Definição

• Processo de Software

• Normas e Modelos de Qualidade de Processo de Software

– CMMI

– ISO/IEC 12207

– ISO 29110

– MR-MPS-SW (MPS.BR)

– SWEBOK

– ISO/IEC 24744

Page 3: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

Engenharia de Software

• O que é?

• Segundo o IEEE Standard Glossary for Software Engineering: “a aplicação de uma abordagem sistemática, disciplinada e quantificável para o desenvolvimento, operação e manutenção de software, i.e., a aplicação de engenharia a software.”

• Área da Ciência da Computação voltada à especificação, desenvolvimento e manutenção de sistemas de software, com aplicação de tecnologias e práticas de gerência de projetos e outras disciplinas, visando organização, produtividade e qualidade no processo de software.

Page 4: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

Processo de Software

• Envolve as atividades, métodos e práticas que guiam os profissionais na produção de software.

4

Processo de Software

Processos

Atividades

Pré-atividades

Subatividades

Artefatos

Insumos

Produtos

Recursos

Recursos Humanos

Ferramentas de Software

Hardware

Procedimentos

Métodos

Técnicas

Roteiros

Page 5: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

Processo de Software

5

Processo de Desenvolvimento de Software

Processo de Gerência de Projetos

Processos de Apoio

Produto

de

Software

Page 6: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

Processo de Desenvolvimento

• Engloba as atividades que contribuem diretamente para o desenvolvimento do produto de software a ser entregue ao cliente, incluindo a sua documentação:

– Levantamento e Análise de Requisitos

– Projeto

– Implementação

– Testes

– Implantação e Entrega do Sistema

6

Page 7: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

Processo de Engenharia de Requisitos e Processo de Software

7

Levantamento de Requisitos

Análise de Requisitos

Projeto

V&V de Requisitos

Gerência de Requisitos

Gerência de Configuração

Gerência da Qualidade

Processo de Desenvolvimento

...

Gerência de Projetos

Page 8: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

Processo de Desenvolvimento

Planejamento

Determinação do Escopo do Software

Definição do Processo de Software do Projeto

Realização de Estimativas

Estimativa de Tamanho

Estimativa de Esforço

Estimativa e Alocação de Recursos

Estimativa de Tempo e Elaboração do Cronograma do Projeto

Estimativa de Custos e Elaboração do Orçamento do Projeto

Identificação de Riscos e Planejamento de Respostas aos Riscos

Iniciação Acompanhamento

Levantamento preliminar de requisitos marco

Encerramento

8

Processo de Gerência de Projetos

Page 9: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

Processos de Apoio

• Documentação de Software

• Gerência de Configuração de Software

– Controle de Questões

– Controle de Alterações

– Controle de Versões

• Gerência da Qualidade

– Verificação & Validação

– Testes, Inspeções, Revisões

– Garantia da Qualidade

• Medição

• Reutilização

• Gestão do Conhecimento

Page 10: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

CMMI

• Objetivo: fornecer direcionamentos para melhorar os processos de uma organização e sua capacidade de gerenciar o desenvolvimento, aquisição e manutenção de produtos e serviços.

• Provê abordagens comprovadas em uma estrutura que ajuda organizações a avaliar sua maturidade ou capacidade em determinada área de processo, estabelecer prioridades para melhoria, e implementar essas melhorias.

Page 11: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

CMMI

• Trabalha com duas representações: em estágio e contínua.

• Ambas as representações contém áreas de processo comuns. Porém, na representação em estágio, as áreas de processo estão agrupadas em níveis de maturidade e na representação contínua, a mesma área de processo está dividida em categorias.

• A abordagem em estágio é passível de certificação.

Page 12: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

CMMI

Page 13: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

CMMI

Page 14: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207
Page 15: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

CMMI

Page 16: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

CMMI Nível Área de Processo

5 (mais alto) Gerência do Desempenho Organizacional

Análise de Causas e Resolução de Problemas

4 Desempenho do Processo Organizacional

Gerência Quantitativa de Projeto

3

Análise de Decisão e Resolução

Gerência de Riscos

Gerência Integrada de Projeto

Treinamento Organizacional

Definição do Processo Organizacional

Foco no Processo Organizacional

Validação

Verificação

Integração de Produto

Solução Técnica

Desenvolvimento de Requisitos

2

Medição e Análise

Gerência de Configuração

Garantia da Qualidade de Processo e Produto

Gerência de Acordo com Fornecedores

Monitoramento e Controle de Projeto

Planejamento de Projeto

Gerência de Requisitos

Page 17: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

ISO 12207 - Processos de Ciclo de Vida

• Abrange tanto a Engenharia de Software quanto a Engenharia de Sistemas.

• Estabelece uma estrutura comum para os processos de ciclo de vida de software e de sistemas, com terminologia bem definida, que pode ser referenciada pela indústria de software.

• Estabelece uma estrutura comum para os processos de ciclo de vida de software.

• A estrutura contém processos, atividades e tarefas que devem ser aplicados na aquisição, fornecimento, desenvolvimento, operação e manutenção de produtos de software.

Page 18: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

ISO 12207

• Esse conjunto de processos, atividades e tarefas foi projetado para ser adaptado de acordo com as características de cada projeto de software, o que pode envolver o detalhamento, a adição e a supressão de processos, atividades e tarefas não aplicáveis ao mesmo.

• Estrutura

– Processo

• Propósito

• Resultados

• Atividades

– Tarefas

Page 19: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

ISO 12207 Processo

Propósito

Resultados

Atividade

Tarefa

Page 20: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

ISO/IEC 12207 - Processos de Ciclo de Vida

Page 21: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

ISO 29110 - Perfis de ciclo de vida para micro organizações • É uma série de normas de Engenharia de Software, voltada

para micro organizações de software (até 25 pessoas).

• Um grupo de perfis oferece uma abordagem progressiva para atender à maioria das micro organizações (MOs).

Page 22: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

ISO 29110

Parte Certificadora

Guia de Avaliação

Guia de Implementação

Page 23: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

ISO 29110

• Entrada: foca em MOs iniciantes e naquelas que estejam trabalhando em projetos pequenos (tamanho inferior a seis pessoas-mês)

• Básico: descreve as práticas de desenvolvimento de software de um único aplicativo por uma única e sem nenhum risco especial ou fatores situacionais.

• Intermediário: visa MOs que estejam desenvolvendo múltiplos projetos

• Avançado: se aplica às MOs que querem crescer como negócios de desenvolvimento de software independente

Page 24: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

ISO 29110

• Cada perfil tem um conjunto de processos.

• Para implementar cada processo, devem ser executadas as suas atividades, atingidos seus objetivos e produzidos os produtos de trabalho obrigatórios.

• Estrutura:

– Processo • Propósito

• Objetivos

• Produtos de Entrada, Internos e de Saída

• Papéis Envolvidos

• Atividades (indica objetivos relacionados)

– Tarefas (para cada tarefa, são informados os papéis envolvidos e os produtos de entrada e saída).

Page 25: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

ISO 29110

• Perfil Básico

Page 26: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

ISO 29110

• Perfil Básico

Page 27: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

ISO 29110

• Cada atividade da ISO/IEC 29110 é descrita utilizando uma tabela de quatro colunas: papéis envolvidos em uma atividade específica, tarefas, suas entradas e saídas.

• Exemplo de uma tarefa da atividade de Análise de Requisitos do Software

• Para ajudar as MOs, é descrito o conteúdo típico dos documentos produzidos durante a execução de um projeto.

Page 28: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

MPS.BR

• O MPS.BR – Melhoria de Processo do Software Brasileiro (SOFTEX, 2011) tem como objetivo definir um modelo de melhoria e avaliação de processo de software, adequado, preferencialmente, às micro, pequenas e médias empresas brasileiras.

• O MPS.BR está dividido em três componentes:

– Modelo de Referência (MR-MPS)

– Método de Avaliação (MA-MPS)

– Modelo de Negócio (MN-MPS)

Page 29: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207
Page 30: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

MR-MPS-SW

• Estrutura:

– Processo

• Propósito

• Resultados Esperados

Page 31: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

MR.MPS

Page 32: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

SWEBOK 3.0

Page 33: Visão Geral de Engenharia de Software - Seja Bem-Vindo ...falbo/files/OES/OES2-ES-Visao_Geral.pdf · •Normas e Modelos de Qualidade de Processo de Software –CMMI –ISO/IEC 12207

ISO/IEC 24744

• Software Engineering — Metamodel for Development Methodologies

• Define um Metamodelo para Metodologias de Desenvolvimento, incluindo três aspectos principais:

– Processos

– Produtos de Trabalho a usar ou produzir

– Pessoas e Ferramentas envolvidas.