ISO/IEC 12207
Alexsandra Santana
Ana Priscila
Jhoseph Kelvin
NATAL / RN
2013
Agenda
•
•
•
•
•
•
•
•
•
•
•
ISO
ISO e Tecnologia da Informação
Aplicação de Padrões
Certificação
Principais Normas ISO Relacionadas à Qualidade de
Processos de Software
Norma ISO/IEC 12207 – Contexto Histórico
Conceito ISO/IEC 12207
Conteúdo da norma
Formas de Processo de Software
Atividades de Desenvolvimento de Software
Considerações Finais
ISO
• Organização
internacional
não
governamental
dedicada à padronização.
• É atualmente a maior desenvolvedora e editora de
padrões internacionais do mundo e embora a ISO seja
conhecida como International Organization for
Standardization, “ISO” não é uma sigla. A palavra
provém do grego “isos” e significa igual.
(Fonte: http://www.iso.org).
ISO
• Na verdade, ISO é uma rede de institutos nacionais de
padronização de 157 países, com um secretariado central
sediado em Genebra, Suíça (a ABNT é o instituto
brasileiro integrante dessa rede).
• Conta atualmente com mais de 17.000 documentos
internacionais de padronização e mais de 50.000
especialistas que contribuem no mundo inteiro para a
criação e verificação dos documentos
(Fonte: http://www.iso.org).
ISO e Tecnologia da Informação
• A ISO criou com a IEC (International
Eletrotechnical Commission) a primeira comissão
conjunta para elaboração de normas, o JTC1 (Joint
Technical Committee 1).
• O JTC1 é responsável pela criação de normas
relacionadas a TI e é dividido em subcomissões
(SC), que, por sua vez, são divididas em grupos de
trabalho (Working Groups – WG) (Koscianski e
Soares, 2006
• A subcomissão SC-7 (Engenharia de Software e de
Sistemas) trata das normas relacionadas à
qualidade de software.
Aplicação de Padrões
• Adequação x Certificação.
• Adequação: deve preceder a certificação e
consiste em colocar em prática, total ou
parcialmente, aquilo que é nela proposto.
• Certificação: Envolve a participação de um
organismo ou empresa externa que possa atestar
que a empresa candidata segue efetivamente o
padrão.
• Alguns padrões são passíveis de certificação,
outros não (Koscianski e Soares, 2006).
Certificação
• Pré-análise -> Relatório de não-conformidades.
• Ajustes
• Avaliação -> Relatório de não-conformidades +
Recomendação, que podem ser:
• Certificar a empresa, sugerindo apenas pequenas
correções a serem realizadas.
• Certificar a empresa, porém sob a condição de que
certas correções sejam efetuadas.
• Não certificar a empresa, recomendando uma nova
etapa de adequação à norma antes de uma nova
tentativa de certificação.
Principais Normas ISO Relacionadas à Qualidade
de Processos de Software
• A Série ISO 9000 – Sistemas de Gerência da
Qualidade
• ISO/IEC 12207 – Engenharia de Software e de
Sistemas – Processos de Ciclo de Vida de Software
• ISO/IEC 15504 – Tecnologia da Informação –
Avaliação de Processos
IECC 12207 – Contexto Histórico
• 1a Versão (1995): Tecnologia da Informação – Processos
de Ciclo de Vida de Software: descreve processos e suas
atividades e tarefas, de modo a facilitar o
desenvolvimento de software em situações envolvendo
duas partes.
• Paralelamente, a Indústria de Software constata que,
igualmente importante, é a necessidade de avaliar a
capacidade de processo (ISO/IEC 15504), o que requer a
declaração do propósito do processo e descrição de
resultados esperados.
• Emendas 1 (2002) e 2 (2004): introdução de novos
processos e definição de propósitos e resultados
esperados para cada processo.
IECC 12207 – Contexto Histórico
• Apesar da ISO 12207 tratar processos de ciclo de vida
de software dentro de um contexto de sistemas, era
necessário um padrão no domínio de sistemas: ISO/IEC
15288 (2002).
• O desenvolvimento confuso das emendas e a falta de
harmonia com a 15288, dificultavam a aplicação da ISO
12207.
• Começa, então um projeto de harmonização que culmina
com a 2a edição da ISO 12207(2008): Engenharia de
Software e de Sistemas – Processos de Ciclo de Vida de
Software.
Conceito ISO/IEC 12207
• Norma internacional responsável por definir
os processos de desenvolvimento de software.
Objetivos da Norma ISO/IEC
12207
Esta Norma estabelece uma estrutura comum para
processos de ciclo de vida de software, com terminologia
bem definida, que pode ser referenciada pela indústria de
software. A estrutura contém processos, atividades e
tarefas que serão aplicadas durante a aquisição de um
produto de software ou serviço, e durante o
fornecimento, desenvolvimento, operação, manutenção e
descontinuidade dos produtos de software. O software
inclui a parte de software de firmware.(ABNT, 2009)
Provê, também, um processo que pode ser empregado na
definição, controle e melhoria de processos de ciclo de
vida (ISO/IEC, 2008).
Formas do Processo de Software
Propósito ou
resultado
• Não detalha o
Processo
• Indica objetivos e
resultados apenas
Formas do
Processo de
software
Atividade
• Descrição das
atividades e interrelações
Classes de processos
Fundamentais
Apoio
Organizacionais
Processos fundamentais
Aquisição
Fornecimento
Desenvolvimento
Operação
Manutenção
Processos Fundamentais
Aquisição
• Obter um produto ou serviço que satisfaça a
necessidade do cliente
Fornecimento
• Fornecer um produto ou serviço que atenda aos
requisitos acordados com o cliente.
Processos Fundamentais
Desenvolvimento
• Transformar um conjunto de requisitos em um
produto de software ou um sistema baseado em
software que atenda às necessidades expressas
pelo cliente.
Operação
• Operar o produto de software no seu ambiente e
• Fornecer suporte aos clientes desse produto
Processos fundamentais
Manutenção
• Modificar o produto de software após sua entrega
para corrigir falhas, melhorar o desempenho ou
outras características, ou adaptá-los a mudanças no
ambiente
Processos de apoio
Documentação
Auditoria
Gerência de
configuração
Resolução de problema
Garantia da qualidade
Verificação
Validação
Processos
de apoio
Usabilidade
Contrato
Processos de apoio
• Documentação
– desenvolver e manter registradas as informações do
software produzidas por um processo.
• Gerência de Configuração
– estabelecer e manter a integridade de todos os
produtos de trabalho de um processo ou projeto e
disponibilizá-los a todos os envolvidos.
• Garantia de Qualidade
– fornecer garantia de que os produtos de trabalho e
processos estejam em conformidade com os planos e
condições pré-definidos.
Processos de apoio
• Verificação
– confirmar que cada produto de trabalho de software ou serviço
de um processo ou projeto reflete apropriadamente os
requisitos especificados.
• Validação
– confirmar que são atendidos os requisitos de um uso específico
pretendido para o produto de trabalho de software.
• Revisão Conjunta
– manter um entendimento comum com os stakeholders a
respeito do progresso obtido em relação aos objetivos
acordados.
Processos de apoio
• Auditoria
– determinar, de forma independente, a conformidade
dos produtos e processos selecionados com os
requisitos, planos e contratos, quando apropriado
• Resolução de Problema
– assegurar que todos os problemas identificados são
analisados e resolvidos
Processos de apoio
• Usabilidade
– introduzido em 2002
– garantir que sejam considerados os interesses e
necessidades dos envolvidos, visando a redução das
chances de rejeição do sistema pelo usuário
• Avaliação de Produto
– introduzido em 2002
– executar exame e medições sistemáticas para
garantir que o produto atende às necessidades
especificadas e implícitas dos seus usuários
Processos organizacionais
Gerência
Gestão de ativos
Infra-estrutura
Gestão de
programa
de reuso
Melhoria
Recursos humanos
Processos
organizacionais
Engenharia de
domínio
Processos organizacionais
• Gerência
– organizar, monitorar e controlar a iniciação e a
execução de qualquer processo de forma a atingir as
suas metas de acordo com as metas da organização
• Infraestrutura
– manter um ambiente estável e confiável, necessário
para apoiar a execução de qualquer outro processo
(hardware, software, métodos, ferramentas, técnicas,
padrões e instalações)
• Melhoria
– estabelecer, avaliar, medir, controlar e melhorar um
processo de ciclo de vida de software
• Recursos Humanos
– introduzido em 2002
– fornecer à organização os recursos humanos adequados e manter as
suas competências consistentes com as necessidades do negócio
Processos organizacionais
• Gestão de Ativos
– introduzido em 2002
gerenciar a vida dos ativos reutilizáveis desde a sua
concepção até a descontinuação
• Gestão do Programa de Reuso
– introduzido em 2002
– planejar, estabelecer, gerenciar, controlar e monitorar
esse programa e sistematicamente explorar as
oportunidades de reuso
• Engenharia de Domínio
– introduzido em 2002
– desenvolver e manter modelos, arquiteturas e ativos
de domínio.
Atividades do Desenvolvimento
de Software
• Implementação;
• Levantamento de requisitos;
• Integração do software;
• Análise dos requisitos do sistema; • Teste de qualificação do
software;
• Projeto da arquitetura do
• Integração do sistema;
sistema;
• Análise dos requisitos do
software;
• Teste de qualificação do sistema;
• Projeto da arquitetura do
software;
• Teste e aprovação do software
• Projeto detalhado do software;
• Codificação e testes do software;
• Instalação do software;
Considerações finais
•
•
•
•
•
A Norma ISO/IEC 12207, por ser internacional, tem sido muito
importante para organizações definirem seus padrões e
processos do ciclo de vida de software, pois possuem alta
granularidade.
A arquitetura é robusta e bem definida, facilitando o
desenvolvimento dos processos primários do desenvolvimento de
software,
É referência para o modelo de maturidade mps.Br.
A competitividade entre as organizações é muito grande,
portanto, certificar os processos e produtos da empresa é de
suma importância para que a empresa possa se destacar entre as
demais;
Ou seja, devemos padronizar para impor confiança, credibilidade
e qualidade nos processos e produtos de software;
Download

software