Trabalho para a cadeira de Engenharia de Software do 9º período do CFG de Engenharia da Computação do IME.
Size: 1.48 MB
Language: pt
Added: May 20, 2016
Slides: 63 pages
Slide Content
NORMA ISO/IEC 15504
Felipe Ferraz
Luan Ferreira Cardoso
Rafael Chaves
Raffael Russo
Ricardo Solon Zalla
Trabalho para a cadeira de Engenharia de Software do 9º período do CFG de Engenharia da Computação do IME.
Introdução
-Contextualização
-Processos
-ISO 9001 x ISO/IEC 15504
-ISO/IEC 12207 x ISO/IEC 15504
-CMMI x ISO/IEC 15504
Contextualização
Contextualização
A ISO/IEC 15504 é a norma que define uma série de atividades para avaliar e melhorar processos de
software, e tem como objetivo determinar o nível de capacidade dos processos de uma organização.
Originou-se do projeto SPICE (Software Process Improvement and Capability Determination) com base
nos modelos já existentes como ISO 9000 e CMM.
Contextualização
O SPICE foi niciado em 1993 a partir da necessidade de uma norma para avaliação de processos de
software.
Em 2003 o projeto SPICE se tornou a ISO/IEC 15504 com as alterações:
• Virou uma norma internacional
• Foi dividida estruturalmente em 5 partes
• Tornou-se mais genérica.
Contextualização
ISO - International Organization for Standardization
SEI - Software Engineering Institute
IEC - International Electrotechnical Commission
Contextualização
O contexto da ISO/IEC 15504 é o de padronização para avaliação de processos.
Logo esta norma insere-se no escopo de avaliação da qualidade do processo de software assim como
a ISO 12207.
Portanto para entendermos a ISO/IEC 15504 precisamos entender a definição de processos, bem como
a relação entre esta norma e as outras citadas anteriormente.
Processos
Processos
“O processo de desenvolvimento de software é um conjunto de atividades, parcialmente ordenadas,
com a finalidade de obter um produto de software. É um dos principais mecanismos para se obter
software de qualidade e cumprir corretamente os contratos de desenvolvimento.”
Dentre os passos e atividades de um processo podemos citar:
• Análise Econômica
• Análise de requisitos de software
• Especificação
• Arquitetura de Software
• Implementação (ou codificação)
• Teste
• Documentação
• Suporte e Treinamento de Software
• Manutenção
Processos
Processos
Como abordagens a um processo de software podemos citar os ciclos de vida:
Esqueletos ou estruturas pré-definidas nas quais encaixamos as atividades do processo.
• Modelo em cascata
• Prototipagem
• Desenvolvimento incremental
• Modelo em espiral
• Desenvolvimento Rápido de Aplicação
Processos
Os padrões normativos para avaliação de processos foram criados para que as empresas que os
seguem tivessem uma garantia de um certo grau de confiança aos seus clientes.
Logo o processo de desenvolvimento de software deve estar documentado para que possa ser
avaliado, compreendido e seguido.
Processos
Como padrões que focam no processo de desenvolvimento de software podemos citar:
• CMMI
• ISO 9001
• ISO/IEC 12207
• ISO/IEC 15504 (SPICE)
ISO 9001 x ISO/IEC 15504
ISO 9001 x IEC 15504
A ISO 9001 é uma evolução da ISO 9000 e tem como objetivo melhorar a gestão de uma empresa.
Através do ISO 9001, uma empresa aplica nos seus processos padrões para o seu sistema de gestão e
qualidade. Esta norma também é usada para medir o nível de satisfação dos clientes, melhorando a
eficácia da gestão da empresa.
ISO 9001 x IEC 15504
Com isso a ISO 9001 relaciona-se com a ISO 15504 no sentido de que a norma 15504 define os
requisitos para avaliação e orientações na aplicação, enquanto a 9001 dá apenas um modelo abstrato.
Sendo assim a norma ISO/IEC 15504 é um complemento à norma ISO 9001
ISO/IEC 12207 x ISO/IEC 15504
ISO/IEC 12207 x ISO/IEC 15504
A ISO/IEC 12207 estabelece uma estrutura comum para os processos de ciclo de vida de software. Ela
é uma base que serve de fundamentação para várias outras normas e modelos.
A norma ISO/IEC 15504, como será visto adiante, contém um modelo exemplo de avaliação de
processo que é baseado no modelo de referência de processo definido na ISO/IEC 12207. Esse modelo
exemplo pode ser utilizado para conduzir uma avaliação do processo de engenharia de software.
ISO/IEC 12207 x ISO/IEC 15504
Por esse fato, muitas vezes, diz-se que a ISO/IEC 15504 é uma evolução da ISO/IEC 12207, pois além
de basear-se na 12207 para avaliar software, a norma 15504 possui uma dimensão de determinação do
nível de capacidade dos processos.
CMMI x ISO/IEC 15504
CMMI x ISO/IEC 15504
O CMMI (Capability Maturity Model Integration), definido pelo SEI, é um modelo para melhoria contínua
de processos. É uma evoulção do CMM.
Surgiu com o objetivo de reduzir duplicações, eliminar inconsistências e fornecer uma terminologia
comum entre vários outros modelos também criados pelo SEI.
O CMMI relaciona-se com a norma ISO/IEC 15504 no que se refere à avaliação de processos em níveis
de capacidade.
ISO/IEC 15504
-Estrutura do Modelo
-A dimensão do processo
-A dimensão de capacidade
-Mecanismos de pontuação
-Perfil de capacidade
Estrutura de modelo
Estrutura do Modelo
A ISO 15504 foi dividida em 5 partes:
• Parte 1: conceitos e vocabulário
• Parte 2: requisitos mínimos para a realização de uma avaliação visando consistência e repetibilidade
• Parte 3: guia (não normativo) para a interpretação dos requisitos para a realização de uma avaliação
• Parte 4: guia (não normativo) para: – determinação da capacidade (perfil de capacidade) – melhoria
de processo (perfil + plano de ação)
• Parte 5: modelo de referência de processos (não normativo) aderente aos requisitos da Parte 2;
podem ser usados outros modelos como, por exemplo, a ISO 12207 ou o CMMI
Estrutura do Modelo
Dimensão de Processo
Dimensão de Processo
A dimensão do processo se limita a verificação da execução dos processos. São relacionadas a “o que
fazer” organizadas em processos específicos.
São 48 processos que estão organizados em 3 categorias de processo e 9 grupos de processo.
Dimensão de Processo
Cada processo é descrito com os seguintes seis elementos:
• Identificação (process identifier)
• Nome (process name)
• Propósito (process purpose)
• Resultados (Outcomes)
• Práticas base (base practice)
• Produtos de trabalho (work-products)
Processos Fundamentais
Processos Fundamentais
Processos de aquisição: aplicáveis a organizações na aquisição de serviços de desenvolvimento de
SW, de componentes ou módulos
Envolve as etapas de preparação, seleção, contratação, monitoração e aceitação.
Processos Fundamentais
Processo de fornecimento: aplicáeis a organizações na fase de apresentação de proposta de serviços
de desenvolvimento de SW, de componentes ou módulos.
Envolve as etapas de preparação de propostas, release de produto e apoio à aceitação.
Processos Fundamentais
Processo de Engenharia de Software: processos do ciclo de desenvolvimento de software e de
sistemas
Envolve as etapas de elicitação de requisitos, arquiteturas do sistema, análise de requisitos, design,
construção, integração e teste de SW, teste de SW e de sistema, instalação de SW e manuntenção de
SW e de sistema.
Processos Fundamentais
Processo de operação: processos relacionados à operação do software.
Envolve as etapas de uso operacional e suporte à operação.
Processos Organizacionais
Processos Organizacionais
Processo de gestão: processos relacionados à gestão do software.
Envolve as etapas de alinhamento aos objetivos estratégicos da organização, estabelecimento de
práticas de gestão em geral, gestão da qualidade, gestão de riscos e medição.
Processos Organizacionais
Processo de gestão: processos associados à definição e melhoria de processos
Envolve as etapas de definição de processos, avaliação de processos e melhoria de processos.
Processos Organizacionais
Processo de Recursos e Infra-estrutura: processos relacionados à gestão de RH e Infraestrutura.
Envolve as etapas de gestão de RH, treinamento, gestão do conhecimento e infraestrutura.
Processos Organizacionais
Processo de Reuso: processos relacionados à gestão de ativos susceptíveis de reuso.
Envolve as etapas de gestão de ativos, gestão de programa de reuso e engenharia de domínio..
Processos de Apoio
Processos de Apoio
Processo de Apoio: processos de apoio ao desenvolvimento de software e de sistemas.
Envolve as etapas de garantia da qualidade, verificação e validação, revisão conjunta, auditoria,
avaliação de produto, documentação, gestão de configuração e de mudança e solução de problemas.
Dimensão da Capacidade
Dimensão de Capacidade
Permite uma avaliação detalhada dos processos executados por uma organização
Trabalha com:
●N@́veis de capacidade
●Atributos de processo
Niveis de Capacidade
0 - Incompleto
Processo não existe ou falha em atingir seus objetivos
1 - Executado
Processo geralmente atinge os objetivos, porém sem padrão de
qualidade e sem controle de prazos e custos
2 - Gerenciado
Processo planejado, acompanhado, e satisfaz os requisitos definidos de
qualidade, prazo e custos
Niveis de Capacidade
3 - Estabelecido
Processo executado e gerenciado com uma adaptação de um
processo padrão definido; eficaz e eficiente
4 - Previsível
Processo executado dentro dos limites de controle definidos e
com medições detalhadas e analisadas
5 - Otimizado
Processo melhorado continuamente de forma disciplinada
Atributos de Processo
●1.1 Execução
O processo atinge os objetivos esperados.
●2.1 Administração do Processo
Objetivos do processo são identificados e sua execução é planejada. Responsabilidades são
atribu@́das, a infra-estrutura é fornecida e a comunicação entre os envolvidos é gerenciada.
●2.2 Administração do Produto
Produtos do processo são identificados e documentados, requisitos para eles são definidos e
revisões e ajustes são efetuados conforme necessário.
Atributos de Processo
●3.1 Definição
Um processo padrão é definido para a organização.
●3.2 Implementação
Os elementos identificados em 3.1 são postos em prática.
●4.1 Medição
Estabelecem-se objetivos quantitativos, bem como as medições a serem realizadas e a
freqüência de sua aplicação. Os resultados são coletados, analisados e publicados na
organização.
●4.2 Controle
Estabelecem-se limites de variação para as medidas e ações corretivas para tratar as causas de
desvios em relação a esses limites.
Atributos de Processo
●5.1 Inovação
Objetivos de melhoria são estabelecidos. Oportunidades de melhoria são identificadas
●5.2 Otimização
O desempenho do processo é medido e o impacto das melhorias propostas é comparado com os
objetivos esperados. A implementação de mudanças é gerenciada.í
Mecanismos de pontuação
Mecanismos de Pontuação
• Verificação do grau de satisfação (avaliação) dos atributos de processo
• Escala ordenada de quatro valores, escolhidos de acordo com um percentual de atendimento aos
requisitos do atributo de processo.
Mecanismos de Pontuação
N
Não atingido
0 - 15%Há pouca ou nenhuma evidência de que o
atributo foi satisfeito
P
Parcialmente atingido
16 - 50%Há evidências de uma prática sistemática no
sentido da satisfação do atributo. Entretanto
alguns aspectos do atendimento podem ser
imprevis@́veis.
L
Largamente atingido
51 - 85%Há evidências de uma prática sistemática no
sentido da satisfação do atributo. Alguns
pontos fracos relacionados ao atributo podem
ser encontrados.
T
Totalmente atingido
86 - 100%Não há nenhuma falta ou falha significativa
relacionada ao atributo
Níveis exigidos de capacidade de processo
0 1 2 3 4 5
1.1 L ou T T T T T
2.1 L ou T T T T
2.2 L ou T T T T
3.1 L ou T T T
3.2 L ou T T T
4.1 L ou T T
4.2 L ou T T
5.1 L ou T
5.2 L ou T
Perfil de Capacidade
Perfil de Capacidade
Uma das vantagens da ISO 15504 é a grande quantidade de formatos de apresentação dos resultados
CMMI por estágios fornece um único número para representar o n@́vel de maturidade dos processos da
organização
Exemplos de formatos de apresentação poss@́veis:
●Perfil de capacidade t@́pico para dois processos
●Perfil de capacidade por projeto
Conclusão
The awesome points you must know
about ISO/IEC 15504 after today
Don’t miss any of that for the test!
Conclusão
A ISO/IEC 15504 definiu os requisitos para o Método de Avaliação de Processos
de forma detalhada, bem como uma maneira de avaliar os níveis de capacidade
de processos.
Portanto ela é de extrema importância para organizações e para os clientes, que
ganham confiança na qualidade das atividades desempenhadas na organização.
Questões
Questões
1- Dado que sabemos o ciclo de vida de um processo, queremos verificar a
execução deste. Para tal, qual norma é necessário se aplicar? Neste caso
simples, a 12207 resolve o problema?
2- Tendo em vista a separação em categorias da ISO 15504-5 classifique os
seguintes processos segundo sua categoria, justificando brevemente:
Análise de requisitos de Sistema, Garantia da Qualidade, Avaliação do Produto e
Treinamento de Funcionário.
Questões
3- No contexto dos níveis de capacidade, proponha uma maneira de comparar a
maturidade entre dois grupos de processos de uma organização.
4- No contexto de treinamento em engenharia de software, considere o processo
como a cadeira ministrada no IME. Classifique-a cada atributo de processo em
níveis de capacidade e diga seu nível.
5- Imaginando o IME como uma organização dotada de processos, existem
algum processo do Tipo 5? Exemplifique e justifique.
Faça o mesmo para um processo do tipo 1.
Thanks!
Grupo:
Luan Cardoso
Felipe Ferraz
Rafael Chaves
Raffael Russo
Ricardo Zalla
Referências
1-<http://www.devmedia.com.br/ciclos-de-vida-do-software-artigo-revista-engenharia-de-software-
magazine-36/21099> Acessado em <01/05/2016>
2- <http://blog.newtonpaiva.br/pos/wp-content/uploads/2013/04/PDF-E5-I19.pdf> Acessado em
<01/05/2016>
3- <https://en.wikipedia.org/wiki/ISO/IEC_15504> Acessado em <01/05/2016>
4- <http://www.ic.unicamp.br/~cortes/inf326/transp/cap7.pdf> Acessado em <01/05/2016>