440 likes | 1.07k Views
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
E N D
ISO/IEC12207 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 InternationalOrganization 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 (InternationalEletrotechnicalCommission) a primeira comissão conjunta para elaboração de normas, o JTC1 (JointTechnicalCommittee 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 (WorkingGroups – 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/IEC12207 • 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 • NãodetalhaoProcesso • Indicaobjetivoseresultadosapenas Propósitoouresultado FormasdoProcessodesoftware • Descriçãodasatividadeseinter-relações Atividade
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
Documentação Auditoria Resolução de problema Gerênciade configuração Usabilidade Processos de apoio Garantiada qualidade Contrato Verificação Validação Processos de apoio
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 stakeholdersa respeito do progresso obtido em relação aos objetivos acordados.
Processosde 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
Gerência Gestão de ativos Gestão de programa de reuso Infra-estrutura Processos organizacionais Melhoria Engenharia de domínio Recursos humanos Processosorganizacionais
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; • Análise dos requisitos do sistema; • Projeto da arquitetura do sistema; • Análise dos requisitos do software; • Projeto da arquitetura do software; • Projeto detalhado do software; • Codificação e testes do software; • Integração do software; • Teste de qualificação do software; • Integração do sistema; • Teste de qualificação do sistema; • Instalação do software; • Teste e aprovaçã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;