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

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

Embed Size (px)

Citation preview

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.