Desenvolvimento de Software de Acordo com Padrões Internacionais de Qualidade Cristina Ângela Filipak Machado - CELEPAR ABNT - Associação Brasileira de Normas Técnicas CELEPAR – Companhia de Informática do Paraná Sumário 1. Introdução 2. Definições 3. Arquitetura da NBR ISO/IEC 12207 4. Processos da NBR ISO/IEC 12207 5. NBR ISO/IEC 12207 – Versão 2001 6. Aplicação da 12207 7. Conclusões 11/2001 III SEQS 2 1. Introdução - Cenário Econômico • estabelecimento de uma relação internacional de produtividade e qualidade • aumento da competitividade • oportunidade para ganhos de novos mercados Terceirização 11/2001 III SEQS 3 1. Introdução - Problemas Quais são os padrões internacionais de qualidade? Como é a relação entre o adquirente e o fornecedor nos mercados interno e externo? O que o adquirente espera? Como o adquirente deve contribuir? O que o fornecedor deve fornecer? Existem problemas nesta relação? 11/2001 III SEQS 4 1. Introdução - Como se entender? Linguagem Comum PROCESSO 11/2001 III SEQS 5 1. Introdução - A resposta da ISO CT-21:101 Métricas de Processo CE 21.101.01 Qualidade de Software CE 21.101.03 Gerência de Ciclo de Vida CE 21.101.06 Ponto de Função 11/2001 CE 21.101.04 SPICE CE 21.101.07 Gerência de Configuração III SEQS CE 21.101.05 CASE CE 21.101.08 Ergonomia 6 1. Introdução - ISO/IEC 12207 Processos de Ciclo de Vida de Software Publicada como Norma Internacional em 1995 Publicada como Norma Nacional NBR ISO/IEC 12207 em 1998 Será estendido o seu escopo em 2001 Referência para contratação e fornecimento de serviços e produtos de software É uma norma de processos Define uma taxonomia para processos de software ... “facilitar o comércio internacional de bens e serviços ” ... em software 11/2001 III SEQS 7 1. Introdução - Objetivo e Público Alvo Objetivo: • Estabelecer processos, atividades e tarefas a serem executados durante os processos de aquisição, fornecimento, operação, desenvolvimento e manutenção de software Público Alvo: • Compradores, Fornecedores, Operadores, Desenvolvedores, Mantenedores, Gerentes, Profissionais de Qualidade e Usuários. 11/2001 III SEQS 8 1. Introdução - Escopo da NBR ISO/IEC 12207 CICLO DE VIDA: ... Início ENVOLVIDOS: Descontinuidade Adquirente, Fornecedor, Usuário, ... Corporação APLICACÃO: ... Projeto PRODUTOS DETALHES: PROCESSO DEFINIÇÃO E DESCRIÇÃO * Não define 11/2001 Projeto SERVICOS * METODOLOGIA MÉTODOS & METRICAS * PROCEDIMENTO, TÉCNICAS, FERRAMENTAS E AMBIENTES * NÃO COBRE III SEQS 9 Onde estamos? 1. Introdução 2. Definições 3. Arquitetura da NBR ISO/IEC 12207 4. Processos da NBR ISO/IEC 12207 5. Conclusões 11/2001 III SEQS 10 2. Definições - Processo “ Uma seqüência de passos realizados para um determinado propósito” [IEEE] “ Um conjunto de atividades(*) inter-relacionadas, que transforma entradas em saídas.” (*) O termo “atividades” engloba a utilização de recursos. [NBR ISO 8402/1994, 1.2] 11/2001 III SEQS 11 2. Definições - Processo de Software “ Um conjunto de atividades, métodos, práticas e tecnologia que as pessoas utilizam para desenvolver e manter software e produtos relacionados.” [SEI] 11/2001 III SEQS 12 2. Definições - Produto de Software “ O conjunto de programas de computador, procedimentos e possível documentação e dados associados.” 11/2001 III SEQS 13 2. Definições - Modelo de Ciclo de Vida “ Uma estrutura contendo processos, atividades e tarefas envolvidas no desenvolvimento, operação e manutenção de um produto de software, abrangendo a vida do sistema desde a definição de seus requisitos até o término de seu uso.” 11/2001 III SEQS 14 2. Definições - Organização “Um conjunto independente de pessoas.” NOTA: Uma organização herda o mesmo nome do processo que ela executa. 11/2001 III SEQS 15 2-7 2. Definições - Parte “Um que entra dentro de um acordo.” NOTA: Partes podem ser de uma mesma ou diferente(s) organização(ões). Uma parte herda o mesmo nome do processo que ela executa. 11/2001 III SEQS 16 2. Definições - Extensão de um acordo “Um acordo vai desde um acordo formal até um contrato legal.” 11/2001 III SEQS 17 2. Definições - Projeto “Um projeto é um empreendimento temporário com o objetivo de criar um produto ou serviço único. Temporário significa que todo projeto tem um iníco e fim definido. Único significa que o produto ou serviço é diferente de todos os produtos ou serviços executados anteriormente”[PMBOK]. “ Um projeto pode existir num pré-acordo, acordo ou numa fase de pós-acordo ou uma combinação acima.” NOTA: Um projeto pode cobrir uma parte do ciclo de vida. 11/2001 III SEQS 18 Onde estamos? 1. Introdução 2. Definições 3. Arquitetura da NBR ISO/IEC 12207 4. Processos da NBR ISO/IEC 12207 5. NBR ISO/IEC 12207 – Versão 2001 6. Aplicação da 12207 7. Conclusões 11/2001 III SEQS 19 3. NBR ISO/IEC 12207 Processos de ciclo de vida de software Processos Fundamentais Processos de Apoio Aquisição Documentação Fornecimento Gerência de Configuração Garantia da Qualidade Validação Desenvolvimento Revisão Auditoria Manutenção Resolução de Problemas Adaptação Verificação Operação Processos Organizacionais 11/2001 Gerência Melhoria III SEQS Infra-estrutura Treinamento 20 3. NBR ISO/IEC 12207 - Conceitos básicos Modularidade Responsabilidade Flexibilidade e Independência de Tecnologia 11/2001 III SEQS 21 3. NBR ISO/IEC 12207 - Modularidade Fracamente acoplado: a quantidade de interfaces entre os processos é mínima 11/2001 PROCESSO MODULAR III SEQS Fortemente coeso: todas as partes de um processo são fortemente relacionadas 22 3. NBR ISO/IEC 12207 - Modularidade Um processo deveria executar uma e somente uma função dentro do ciclo de vida e a quantidade de interfaces entre dois processos quaisquer deveria ser mínima Deve ser possível verificar qualquer função dentro do modelo de ciclo de vida Cada processo deveria ter uma estrutura interna suficientemente definida para que possa ser executável 11/2001 III SEQS 23 3. NBR ISO/IEC 12207 - Modularidade Cada processo é invocado na arquitetura Se um processo A é invocado por um processo B e somente por ele, então A pertence a B Se uma função é invocada por mais de um processo, então esta função torna-se um processo 11/2001 III SEQS 24 3. NBR ISO/IEC 12207 - Responsabilidade Cada processo é considerado como sendo de responsabilidade de uma parte. A parte que executa um processo tem a responsabilidade por todo o processo, mesmo que tarefas individuais possam ser realizadas por pessoas diferentes. 11/2001 III SEQS 25 3. NBR ISO/IEC 12207 - Responsabilidade Uma organização pode executar um ou mais processos. Um processo pode ser executado por uma ou mais organizações, com uma das organizações sendo identificada como a parte responsável. A responsabilidade facilita a adaptação e a aplicação da NBR ISO/IEC 12207 em um projeto, no qual várias pessoas podem estar formalmente envolvidas. 11/2001 III SEQS 26 3. NBR ISO/IEC 12207 - Flexibilidade e Independência Tecnológica Arquitetura de alto nível utilizável com qualquer modelo de ciclo de vida, método ou técnica de engenharia de software, linguagem de programação,... Atividades/tarefas dizem “o que fazer” e não “como fazer” • Ex: “Desenvolver e documentar um projeto de arquitetura”, mas não “desenvolver ou documentar um projeto de arquitetura usando UML” Qualquer prática industrial • Ex.: militar, comercial 11/2001 III SEQS 27 3. NBR ISO/IEC 12207 - Estrutura dos Processos ATIVIDADE 1 PROCESSO 1 TAREFAS Ciclo de Vida Da concepção até a descontinuidade ... PROCESSO ... PROCESSO 17 ATIVIDADE N TAREFAS PRINCÍPIOS BÁSICOS: MODULARIDADE; RESPONSABILIDE 11/2001 CICLO: “PDCA” III SEQS 28 3. NBR ISO/IEC 12207 Regras para particionar um processo Início AGIR ações corretivas, resolução de problemas PLANEJAR planejamento das tarefas a executar ACT PLAN CHECK DO CHECAR checar, avaliar, garantir FAZER executar as tarefas do plano Fim 11/2001 III SEQS 29 3. NBR ISO/IEC 12207 - Atividades e Tarefas Uma atividade é dividida em tarefas, as quais são agrupadas de acordo com a similaridade das ações TAREFA: Uma ação “O que fazer”, não “como fazer” Verbos usados: Verbo DEVERÁ, IRÁ (Auto-declaração) DEVE (Requisito) DEVERIA (Recomendação) PODE (Permissão) PODERÁ (Possibilidade,quando necessária) ** Não é um requisito 11/2001 Nenhum dos acima ** III SEQS 30 3. NBR ISO/IEC 12207 - Níveis de Aplicação Por uma pessoa como própria imposição Por uma organização internamente Entre pessoas dentro de uma organização Entre organizações Própria 11/2001 Organização A III SEQS Organização B 31 Onde estamos? 1. Introdução 2. Definições 3. NBR ISO/IEC 12207 4. Processos da NBR ISO/IEC 12207 5. Conclusões 11/2001 III SEQS 32 4. Processos da NBR ISO/IEC 12207 Processos Fundamentais Processos de Apoio Aquisição Documentação Fornecimento Gerência de Configuração Garantia da Qualidade Validação Desenvolvimento Revisão Auditoria Manutenção Resolução de Problemas Adaptação Verificação Operação Processos Organizacionais 11/2001 Gerência Melhoria III SEQS Infra-estrutura Treinamento 33 4.1 Processos Fundamentais “Um conjunto de processos que atendem às partes fundamentais* (pessoa ou organização) durante o ciclo de vida do software.” * Parte fundamental é aquela que executa ou inicia o desenvolvimento, operação ou manutenção de produtos de software. 11/2001 III SEQS 34 4.1 Processos Fundamentais Operação T Fornecimento Aquisição 01 T Manutenção 02 E/T U 01 Início 01, 02 o mesmo ponto Desenvolvimento E: Executa T: Tarefa U: Usa 11/2001 PDCA III SEQS 35 4.1 Processos Fundamentais Processo de Aquisição “Define as atividades do adquirente, organização que adquire um sistema, produto de software ou serviço de software.” RESPONSÁVEL -> ADQUIRENTE 11/2001 III SEQS 36 4.1 Processos Fundamentais Processo de Aquisição 1. Iniciação • • • • • Descreve necessidades Define requisitos do sistema Define requisitos do software Prepara plano de aquisição Define estratégia de aceitação 2. Preparação solic. proposta • • • • Documenta requisitos da aquisição Seleciona atividades e tarefas Define pontos de controle Define marcos para fornecedores 4. Monitorar fornecedor • Monitora de acordo c/ rev. conj. e auditoria • Complementa com V & V 5. Aceitação e conclusão • • • • Prepara p/ aceitação, incluindo testes Conduz aceitação, testes/revisões Aceita o produto Assume gerência de configuração 3. Preparação e atualiz. contrato • • • • Estabelece proced. p/ seleção de fornec. Seleciona fornecedores Adapta 12207 & partes envolvidas Negocia contrato 11/2001 III SEQS 37 4.1 Processos Fundamentais Processo de Aquisição Para o adquirente de produtos e serviços Cobre períodos de pré-contrato e contrato ATIVIDADES P R É C O N T R A T O C O N T R A T O Uso interno Processos que invoca REQ. SISTEMA PLANO DE AQUISIÇÃO CRITÉRIOS DE ACEITAÇÃO DESENVOLV. INICIAÇÃO INCLUSÃO REQ. ADQ. SELEÇÃO TAREFAS REFERENCIA P/ CONTRATOS PREPARAÇÃO PROPOSTA PREPARAÇÃO E ATUALIZ. CONTRATO MONITORAÇÃO FORNECEDOR ADAPTAÇÃO REVISÃO CONJ. CONTRATO COM FORNECEDOR CONTRATO COM OUTROS CONTROLES INTERNOS AUDIT VERIF. VALID. MONITORAR & AVALIAR RESULTADOS ACEITAR PRODUTOS E SERVIÇOS ACEITAÇÃO E CONCLUSÃO 11/2001 RESULTADOS III SEQS 38 4.1 Documentos produzidos na Aquisição Processos Aquisição 11/2001 Subseção Resultados Tipo de Resultado 5.1.1.8 Plano de aquisição Plano 5.1.1.9 Estratégia e condições de aceitação Especificação 5.1.2.1 Pedido de proposta Especificação 5.1.2.1 Documentação de aquisição Especificação 5.1.3.1 Procedimento fornecedor 5.1.3.4 Contrato de seleção de Procedimento Contrato III SEQS 39 Exercício 1 - Processo de Aquisição Compor grupo de 5 pessoas Especificar o processo de Aquisição de um jantar (cardápio: pizza) Tempo: 15 minutos Apresentação: 5 minutos Formato: • Requisitos do jantar • Opção de aquisição • Contrato 11/2001 III SEQS 40 4. Processos da NBR ISO/IEC 12207 Processos Fundamentais Processos de Apoio Aquisição Documentação Fornecimento Gerência de Configuração Garantia da Qualidade Validação Desenvolvimento Revisão Auditoria Manutenção Resolução de Problemas Adaptação Verificação Operação Processos Organizacionais 11/2001 Gerência Melhoria III SEQS Infra-estrutura Treinamento 41 4.1 Processos Fundamentais Processo de Fornecimento “Define as atividades do fornecedor, organização que provê o sistema, produto de software ou serviço de software ao adquirente.” 11/2001 III SEQS 42 4.1 Processos Fundamentais Processo de Fornecimento 1. Iniciação 4. Planejamento 6. Revisão e avaliação • Revisão do pedido de proposta • Decisão sobre propor ou aceitar contrato • Revisar req. do adquirente • Selecionar modelo de ciclo de vida, quando necessário • Estabelecer requisitos para os planos • Desenvolver e documentar planos de gerência de projetos • • • • • • 5. Execução/controle 7. Entrega e conclusão • Executar plano de gerência • Desenvolver, operar ou manter • Monitorar/controlar progresso e qualidade • Gerenciar subcontratados • Interagir com agentes independentes de V & V • Interagir com outras partes • Entregar produtos e serviços • Prover assistência 2. Preparação resposta • Preparar resposta 3. Contrato • Negociar e firmar contrato com o adquirente • Solicitar modificações 11/2001 III SEQS Coordenar com o adquirente Revisões conjuntas Auditoria V&V Fornecer acesso ao adquirente QA 43 4.1 Processos Fundamentais Processo de Fornecimento Prover produtos e serviços Cobre o período pré-contratual e contratual ATIVIDADES P R E C O N T. Uso interno QUALIDADE CO. RESULTADOS Processos que invoca DECISÃO DE INÍCIO CONTRATO PREPARAÇÃO PROPOSTA DA RESPONSTA CONTRATO CONTRATO C O N T R A T O CICLO DE VIDA & PLANO DE GERENCIA DO PROJETO PLANEJAMENTO SELEÇÃO DE UM OU MAIS EXECUÇÃO E CONTROLE MONITORA, CONTROLA REVISÃO E AVALIAÇÃO REV.CONJ. DEV. OPER. AUDITORIA ENTREGA E CONCLUSÃO 11/2001 V&V MANUT. AQUIS. MONITORAR RESULTADOS GAR.QUAL RESULTADOS AVAL/REVISÃO PROD/SERV. ENTREGUES III SEQS 44 4.1 Documentos produzidos no Fornecimento Processos Fornecimento 11/2001 Subseção Resultados Tipo de Resultado 5.2.2.1 Proposta Proposta 5.2.4.5 Plano(s) de gerência de projeto Plano 5.2.6.4 Relatórios auditorias, problema Relatório de avaliação, revisões, testes e resolução de III SEQS 45 Exercício 2 - Processo de Fornecimento Reunir o mesmo grupo Especificar o processo de Fornecimento das pizzas (fabricação própria) Tempo: 15 minutos 11/2001 III SEQS 46 4.1 NBR ISO/IEC 12207 Processos de ciclo de vida de software Processos Fundamentais Processos de Apoio Aquisição Documentação Fornecimento Gerência de Configuração Garantia da Qualidade Validação Desenvolvimento Revisão Auditoria Manutenção Resolução de Problemas Adaptação Verificação Operação Processos Organizacionais 11/2001 Gerência Melhoria III SEQS Infra-estrutura Treinamento 47 4.1 Processos Fundamentais Processo de Desenvolvimento “Define as atividades do desenvolvedor, organização que define e desenvolve o produto de software.” 11/2001 III SEQS 48 4.1 Processos Fundamentais Processo de Desenvolvimento 1. Implementação processo 2. Análise de requisitos de sistemas • Definir e selecionar modelos de ciclo de vida • Detalhar as interações/seqüências das atividades e tarefas de desenvolvimento e processos de suporte a serem utilizados • Empregar processos de gerência de configuração, documentação e resolução de problemas • Selecionar/adaptar métodos, ferramentas • Executar plano de desenvolvimento e documentação • Utilizar, se necessário, produtos não entregáveis Executar ou suportar • Especificar os requisitos do sistema descrevendo: • Funções e capacidades; requisitos do negócio, organizacionais e de usuário; requisitos de proteção, de segurança, de fatores humanos, de interface, de operação e de manutenção; restrições de projeto e requisitos de qualificação. • Avaliar os requisitos de sistema para: •Rastreabilidade, consistência, testabilidade, viabilidade do projeto de arquitetura e da operação e manutenção. 11/2001 III SEQS 49 4.1 Processos Fundamentais Processo de Desenvolvimento 3. Projeto de arquitetura de sistemas • Estabelecer uma arquitetura de alto nível. Identificar itens de hardware, software e operações manuais. • Avaliar a arquitetura para: • Rastreabilidade, consistência, adequação dos métodos e padrões do projeto, viabilidade dos itens de soffware, operação e manutenção. 11/2001 4. Análise de requisitos do software • Para cada item de configuração: • Estabelecer e documentar os requisitos, incluindo as características de qualidade descritas na NBR ISO/IEC 13596. • Especificações funcionais, de capacidade, interfaces externas, proteção, segurança, ergonomia... • Requisitos de bases de dados • Requisitos de instalação e aceitação do produto • Documentação do usuário • Requisitos do usuário para manutenção, execução e operação III SEQS 50 4.1 Processos Fundamentais Processo de Desenvolvimento 5. Projeto arquitetura software • Produzir uma arquitetura p/ o SCI • Identificar componentes p/ o SCI´s 8, 10 Integração software/sistema 11/2001 • Integração de software e sistema III SEQS 51 4.1 Processos Fundamentais Processo de Desenvolvimento ATIVIDADES USO INTERNO PROCESSO INVOCADO RESULTADOS Implementação do Processo Documentação Análise Requis. Sistemas Avaliações Requisitos do Sistema Avaliações Arquitetura do Sistema - HW, SW, OM Projeto Arquitetura Sist. Análise Requis. SW Avaliações Projeto Arquitetura SW Avaliações Projeto Detalhado SW Avaliações Codif. Teste do SW Ger.Conf. ISO/IEC 9126 Resolução Problemas Revisão Conjunta Revisão Conjunta Revisão Conjunta Avaliações Revisão Conjunta Teste de Qualif. SW Avaliações Auditoria Integração Sistema Avaliações Instalação do SW Suporte Aceitação SW 11/2001 Requisitos do Software Arquitetura do SW Projeto Detalhado do SW Código/Base de Dados do SW Avaliações Integração do SW Teste Qualif. Sistema Planos e Modelos de Desenvolvimento SW Integrados(SCIs) SCIs Qualificados (Código e Projeto) Sistema Integrado Avaliações Auditoria Sistema Qualificado SW Instalado Avaliações III SEQS SW Entregue 52 Documentos produzidos no Desenvolvimento Subseção Resultados 5.3.1.2 Registros de conformidades 5.3.1.4 Planos de desenvolvimento Plano 5.3.2.1 Especificação dos requisitos do sistema Especificação 5.3.3.1 Documento de arquitetura do sistema Especificação 5.3.3.1 Documento de alocação dos requisitos do sistema Especificação 11/2001 problemas Tipo de Resultado III SEQS e não- Registro 53 Documentos produzidos no Desenvolvimento 5.3.4.1 Especificação do software Especificação 5.3.4.2 Avaliação da especificação do software Registro 5.3.5.1 Item de configuração do software Software 5.3.5.1 Especificação da arquitetura Especificação 5.3.5.2 Especificação das interfaces do software Especificação 11/2001 III SEQS 54 Documentos produzidos no Desenvolvimento 5.3.5.3 Projeto de alto nível da base de dados Especificação 5.3.5.4 Manual(is) do usuário Manual 5.3.5.5 Requisitos de teste Especificação 5.3.5.6 Revisão de projeto Registro 5.3.6.1 Projeto detalhado Especificação 5.3.6.2 Especificação detalhada das interfaces do software Especificação 5.3.6.3 Projeto detalhado da base de dados Especificação 11/2001 III SEQS 55 Documentos produzidos no Desenvolvimento 5.3.6.5 Requisitos do teste de unidade do software Especificação 5.3.6.7 Revisão do projeto detalhado Registro 5.3.7.1 Bases de dados e unidades do software Software 5.3.7.1 Procedimento de teste Procedimento 5.3.7.2 Resultados software do Registro 5.3.7.5 Revisão de código do software e resultados dos testes Registro 5.3.8.1 Plano de integração do software Plano 5.3.8.2 Resultados de integração do software e testes Registro 11/2001 dos testes de III SEQS unidade 56 Documentos produzidos no Desenvolvimento 5.3.8.5 Revisão do plano de integração do software e documentação Registro 5.3.9.1 Resultados do teste de qualificação do item de configuração do software Registro 5.3.9.3 Revisão da integração do software Registro 5.3.9.4 Auditoria da integração do software Registro 5.3.10.1 Resultados da integração do sistema e testes Registro 5.3.10.2 Requisitos do teste de qualificação do sistema Especificação 5.3.10.3 Revisão do teste de qualificação do sistema Registro 11/2001 III SEQS 57 Documentos produzidos no Desenvolvimento 5.3.11.1 Resultados do teste de qualificação do sistema Registro 5.3.11.3 Resultados da auditoria do sistema Registro 5.3.12.1 Plano de instalação do software Plano 5.3.12.2 Resultados e eventos da instalação do software Registro 5.3.13.1 Revisão de aceitação e testes do software Registro 11/2001 III SEQS 58 Exercício 11/2001 III SEQS 59 4.1 Processos Fundamentais Processo de Operação “Define as atividades do operador, organização que provê serviço de operação de um sistema computacional, no seu ambiente de funcionamento, para seus usuários.” 11/2001 III SEQS 60 4.1 Processos Fundamentais Processo de Operação 1. Implementação processo 3. Operação do sistema • Plano de desenvolvimento operacional • Conj. padrões operacionais • Plano de execução e documentação • Estab. proced. resolução de problemas • Estab. proced. teste operacional • Estab. proced. com o proc. de manutenção • Estab. proced. liberação do produto para uso operacional • Operar no ambiente 4. Suporte ao usuário • Fornecer suporte ao usuário • Encaminhar requisição do usuário para manutenção quando necessário • Prover opção para solução temporária 2. Teste operacional • Executar teste operacional para cada versão • Assegurar a execução do código/base de dados como planejado 11/2001 III SEQS 61 4.1 Processos Fundamentais Processo de Operação ATIVIDADES Implementação do Processo USO INTERNO PROCESSOS INVOCADOS RESULTADOS - Plano Operacional Resolução de Manutenção Problema Teste Operacional QUALITY LINES Garantia e Teste Internos - Procedimentos de Operação Versão do Software na visão operacional OK [Funções Executadas] Operação do Sistema - Requisições do Usuário - Resolução de Suporte ao usuário Problemas 11/2001 III SEQS 62 4.1 Processos Fundamentais Processo de Manutenção “Define as atividades do mantenedor, organização que provê o serviço de manutenção do produto de software, isto é, gerenciando as modificações no produto de software para mantê-lo atualizado e em perfeita operação. Este processo inclui a migração e a descontinuação do produto de software.” NOTA: Norma específica ISO/IEC 14764 - em processo de tradução pela ABNT 11/2001 III SEQS 63 4.1 Processos Fundamentais Processo de Manutenção 1. Implem. processo 3. Implem. modificação 5. Migração • Desenvolver, documentar e executar o plano • Estabelecer procedimento para relato de problemas e modificações • Gerenciar modificações • Determinar objetivos da modificação • Usar processo desenv. para modificação • Suplem. com teste para assegurar que as partes modificadas e não modificadas estão corretamente feitas • Desenvolver, documentar e executar plano • Notificar usuário ... • Fazer operação paralela • Avaliar impacto do paralelo 2. Análise probl./modif. • Analisar impacto da modificação • Replicar/verificar problemas • Implementar modificações • Documentar e obter aprovação 11/2001 4. Rev. e aceitar modif. • Revisar com autorização organizacional III SEQS 6. Descont. software • Desenvolver, documentar e executar plano • Notificar usuários ... • Fazer operação paralela • Prover acesso aos dados do produto descontinuado 64 4.1 Processos Fundamentais Processo de Manutenção ATIVIDADES USO INTERNO Implementação do Processo Resol. Problemas RESULTADOS - Proced./Plano de Manutenção Ger. Conf. - Problema/Mod. Analisado/Modific ado Implementação Modificação Migração HD PROCESSOS INVOCADOS Análise do Problema/ modificação Aceit/Rev. Modificação QUALITY FIXING Desenvolvimento Revisões Internas - SW Modificado - Resultado Revisão da - Plano e Relat. de migração - Sistema Migrado. Revisões Internas - Plano de Descont. Descont. SW 11/2001 - Arquivamento III SEQS 65 Exercício 3 - Processos Fundamentais Questionário - assinale a alternativa correta Tempo: 5 minutos 11/2001 III SEQS 66 4. Processos da NBR ISO/IEC 12207 Processos Fundamentais Processos de Apoio Aquisição Documentação Fornecimento Gerência de Configuração Garantia da Qualidade Validação Desenvolvimento Revisão Auditoria Manutenção Resolução de Problemas Adaptação Verificação Operação Processos Organizacionais Gerência 11/2001 Melhoria Infra-estrutura III SEQS Treinamento 67 4.2 Processos de Apoio “ Um processo de apoio auxilia um outro processo como uma parte integrante, com um propósito distinto, e contribui para o sucesso e qualidade do projeto de software. Um processo de apoio é empregado e executado, quando necessário, por outro processo.” 11/2001 III SEQS 68 4.2 Processos de Apoio Processo de Documentação “Define as atividades para registro da informação produzida por um processo de ciclo de vida.” 11/2001 III SEQS 69 4.2 Processos de Apoio Processo de Documentação ESTABELECER PADRÕES DE DOCUMETAÇÃO - MIDIA, FORMATO, CONTEÚDO, DISTRIBUIÇÃO, ... ATIVIDADES USO INTERNO PROCESSOS INVOCADOS Implementação do Processo Plano de Documentação Documentos "PREPADOS" Projetar e desenvolver Documentos Produzidos Produzir Manter 11/2001 RESULTADOS Ger. Configuração III SEQS Documentos Modificados 70 4.2 Processos de Apoio Gerência de Configuração “Define as atividades de gerência de configuração.” NOTA: Norma específica ISO/IEC TR 15846 - Gerência de Configuração 11/2001 III SEQS 71 4.2 Processos de Apoio Gerência de Configuração Gerência de Configuração dos produtos e tarefas Interna ou externa ATIVIDADES USO INTERNO PROCESSOS INVOCADOS Plano de Gerência de Configuração Implementação do Processo Identificação configuração Controle configuração -Identificação definida Controle de acesso interno e auditoria Resultados controlados da configuração Relatórios da situação da Configuração Relato da situação da configuração Avaliação da configuração Avaliação interna Relatórios da avaliação Gerência de liberação e distribuição 11/2001 RESULTADOS Produtos entregues III SEQS 72 4.2 Processos de Apoio Processo de Garantia da Qualidade “Define as atividades para garantir objetivamente que os produtos e processos de software estão em conformidade com seus requisitos especificados e aderem aos seus planos estabelecidos. Revisões Conjuntas, Auditorias, Verificação e Validação podem ser utilizadas como técnicas para Garantia da Qualidade.” 11/2001 III SEQS 73 4.2 Processos de Apoio Processo de Garantia da Qualidade ATIVIDADES Implementação do Processo Garantia do Produto USO INTERNO PROCESSOS INVOCADOS V&V, Revisão conjunta, Auditoria como técnicas Incluir resultados de V&V, Revisão conjunta, auditoria e Avaliações internas 11/2001 Plano de Garantia de Qualidade Produtos com qualidade Processo com qualidade Garantia do Processo Garantia do Sistema de Qualidade Resolução de Problemas RESULTADOS ISO 9001 III SEQS De acordo com o contrato 74 4.2 Processos de Apoio Processo de Verificação “Define as atividades (para o adquirente, o fornecedor, ou uma parte independente) para verificação dos produtos de software, em profundidade variável, dependendo do projeto de software.” 11/2001 III SEQS 75 4.2 Processos de Apoio Processo de Verificação Verificar se os requisitos na atividade estão de acordo com os da atividade anterior. Usa o termo “verificar” ao invés de “avaliar” ATIVIDADES Implementação do Processo USO INTERNO PROCESSOS INVOCADOS Resolução de Problemas RESULTADOS Plano de Verificação Verificação - CONTRATO - PROCESSO - REQUISITOS - PROJETO - CÓDIGO - INTEGRAÇÃO - DOCUMENTAÇÃO Produtos e Serviços Verificados CADA QUAL COM O SEU CRITÉRIO 11/2001 III SEQS 76 4.2 Processos de Apoio Processo de Validação “Define as atividades (para o adquirente, o fornecedor ou uma parte independente) para validação dos produtos de software do projeto de software.” 11/2001 III SEQS 77 4.2 Processos de Apoio Processo de Validação Validar dos produtos contra os critérios especificados Usa o termo “validar” ao invés de “avaliar” ATIVIDADES Implementação do Processo USO INTERNO PROCESSOS INVOCADOS Resolução de Problemas RESULTADOS Plano de Validação VALIDAÇÃO Produtos e Serviços Validados 4/5 tarefas: Testes 1 Tarefa: Uso pretendido 11/2001 III SEQS 78 4.2 Processos de Apoio Processo de Revisão Conjunta “Define as atividades para avaliação da situação e produtos de uma atividade. Este processo pode ser empregado por qualquer uma das duas partes, onde uma delas (parte revisora) revisa a outra parte (parte revisada) em um fórum conjunto.” 11/2001 III SEQS 79 4.2 Processos de Apoio Processo de Revisão Conjunta ATIVIDADES Implementação do Processo USO INTERNO PROCESSOS INVOCADOS Resolução de Problemas Agenda, escopo,.. Resultado da situação do projeto Revisão Gerencial do Projeto Revisão Técnica 11/2001 RESULTADOS Resultado da revisão III SEQS 80 4.2 Processos de Apoio Processo de Auditoria “Define as atividades para determinar a conformidade com requisitos, planos e contrato. Este processo pode ser empregado por qualquer uma das duas partes, onde uma delas (parte auditora) audita os produtos de software ou atividades da outra parte (parte auditada).” 11/2001 III SEQS 81 4.2 Processos de Apoio Processo de Auditoria ATIVIDADES Implementação do Processo USO INTERNO PROCESSOS INVOCADOS Resolução de Problemas Agenda, escopo,.. Resultado da auditoria Auditoria 11/2001 RESULTADOS AUDIT III SEQS 82 4.2 Processos de Apoio Processo de Resolução de Problemas “Define um processo para análise e remoção dos problemas (incluindo nãoconformidades), independente da sua natureza ou origem, que forem descobertos durante a execução dos processos de desenvolvimento, de operação, de manutenção ou de outros processos.” Nem todo problema necessita de ações corretivas 11/2001 III SEQS 83 4.2 Processos de Apoio Processo de Resolução de Problemas ATIVIDADES USO INTERNO PROCESSOS INVOCADOS RESULTADOS Implementação do Processo Resolução de Problemas 11/2001 Problemas Resolvidos III SEQS 84 Exercício 4 - Processos de Apoio Resolva as palavras-cruzadas Tempo: 5 minutos 11/2001 III SEQS 85 4. Processos da NBR ISO/IEC 12207 Processos Fundamentais Processos de Apoio Aquisição Documentação Fornecimento Gerência de Configuração Garantia da Qualidade Validação Desenvolvimento Revisão Auditoria Manutenção Resolução de Problemas Adaptação Verificação Operação Processos Organizacionais Gerência 11/2001 Melhoria Infra-estrutura III SEQS Treinamento 86 4.3 Processos Organizacionais “São empregados por uma organização para estabelecer e implementar uma estrutura, constituída de processos de ciclo de vida e pessoal associados, e melhorar continuamente a estrutura e os processos. Eles são tipicamente empregados fora do domínio de projetos e contratos específicos; entretanto, ensinamentos destes projetos e contratos contribuem para a melhoria da organização.” 11/2001 III SEQS 87 4.3 Processos Organizacionais Processo de Gerência 1 2 Processos Fundamentais Processo de InfraEstrutura 3 Processo de Melhoria [Processo de Apoio] 4 Processo de Treinamento 1: Gerencia segundo o Processo de Gerência 2: Estabelece infra-estrutura segundo o Processo de Infra-Estrutura 3: Melhora segundo o Processo de Melhoria 4: Treina pessoal segundo o Processo de Treinamento Nota: O Processo de gerência é instanciado nos Processos Fundamentais (e alguns de Apoio), porque eles são gerenciados diferentemente 11/2001 III SEQS 88 4.3. Processos Organizacionais Processo de Gerência “Define as atividades básicas da gerência, incluindo gerência de projeto, durante um processo de ciclo de vida.” NOTA: Norma específica de Gerência de Projetos pela ISO/IEC a ser traduzida pela ABNT 11/2001 III SEQS 89 4.3. Processos Organizacionais Processo de Gerência ATIVIDADES USO INTERNO PROCESSOS INVOCADOS OUTPUTS RESULTADOS Iniciação e Definição do escopo [Requisitos do Processo] Planejamento Plano de Gerência Execução e controle [Relatórios] Revisão e Avaliação [Relatórios] [Produtos] Conclusão [Serviços] 11/2001 III SEQS 90 4.3. Processos Organizacionais Processo de Infra-estrutura “Processo de Infra-estrutura (seção 7.2). Define as atividades básicas para o estabelecimento da estrutura de apoio de um processo de ciclo de vida.” Define padrões, procedimentos, ferramentas, equipamentos, espaço, logística 11/2001 III SEQS 91 4.3. Processos Organizacionais Processo de Infra-estrutura ATIVIDADES USO INTERNO PROCESSOS INVOCADOS RESULTADOS Implementação do Processo Infra-estrutura Estabelecimento da infraestrutura Configuração da Infraestrutura Manutenção da Infraestrutura 11/2001 [Registros] III SEQS 92 4.3. Processos Organizacionais Processo de Melhoria “Define as atividades básicas que uma organização (isto é, adquirente, fornecedor, desenvolvedor, operador, mantenedor, ou o gerente de outro processo) executa para estabelecer, medir, controlar e melhorar seu processo de ciclo de vida.” 11/2001 III SEQS 93 4.3. Processos Organizacionais Processo de Melhoria ATIVIDADES USO INTERNO PROCESSOS INVOCADOS RESULTADOS Estabelecimento do Processo [Processo(s) Estabelecidos] Avaliação do Processo Planos e procedimentos avaliados Melhoria do Processo [Avaliação, Histórico, registro de custo da qualidade] 11/2001 III SEQS 94 4.3. Processos Organizacionais Processo de Treinamento “Define as atividades para prover pessoal adequadamente treinado.” 11/2001 III SEQS 95 4.3. Processos Organizacionais Processo de Treinamento ATIVIDADES USO INTERNO PROCESSOS INVOCADOS Implementação do Processo Plano de Treinamento Desenvolver material de treinamento Manuais de treinamento Registro de treinamento [Pessoal treinado] Implementação do Plano de Treinamento 11/2001 RESULTADOS III SEQS 96 4. Processos da NBR ISO/IEC 12207 Processos Fundamentais Processos de Apoio Aquisição Documentação Fornecimento Gerência de Configuração Garantia da Qualidade Validação Desenvolvimento Revisão Auditoria Manutenção Resolução de Problemas Adaptação Verificação Operação Processos Organizacionais Gerência 11/2001 Melhoria Infra-estrutura III SEQS Treinamento 97 4.4 Processo de Adaptação “Base para adaptação da norma para um projeto de software.” 11/2001 III SEQS 98 4.4 Processo de Adaptação ATIVIDADES USO INTERNO PROCESSOS INVOCADOS RESULTADOS Identificar Ambiente do Projeto Características do Projeto Solicitar Entradas Entradas da organizações Processos, atividades e tarefas selecionadas Selecionar processos, atividades e tarefas Decisões e razões da adaptação claras Documentar decisões e razões da adaptação 11/2001 III SEQS 99 Onde estamos? 1. Introdução 2. Definições 3. NBR ISO/IEC 12207 4. Processos da NBR ISO/IEC 12207 5. Conclusões 11/2001 III SEQS 100 5. Conclusões Visão Funcional da Norma Processos Fundamentais Processo de Aquisição Visão do Contrato Adquirente, fornecedor Processo de Fornecimento Processo de Operação Processo de Manutenção Processos de Apoio •Documentação •Gerência de configuração •Garantia de qualidade •Verificação Processo de Desenvolvimento Visão Operacional Visão de Engenharia •Validação •Revisão •Auditoria •Resolução de problemas Visão de Suporte Operador, usuário Desenvolvedor, Mantenedor Pessoa que emprega processos de suporte Processos Organizacionais •Gerência •Infra-estrutura •Melhoria •Treinamento 11/2001 III SEQS 101 5. Conclusões A Norma não especifica Detalhes de implementação; Detalhes de documentação; Modelo de ciclo de vida de desenvolvimento; Método de desenvolvimento de software; e Não se aplica a “software de prateleira”; Não é certificadora. 11/2001 III SEQS 102 5. Conclusões Trabalhos da ISO/IEC SC7 em relação a Processos Série 12207 • • • • • ISO/IEC 12207: Visão Geral; ISO/IEC 14764.: Processo de Manutenção TR 15846 :Gerência de Configuração TR xxxxx: Gerência de Projeto ISO/IEC 15288 - Processos de Ciclo de Vida de Sistemas Norma 15504 - Avaliação e Capacitação de Processos de Software 11/2001 III SEQS 103 Perguntas??????? Cristina Ângela Filipak Machado CELEPAR - Companhia de Informática do Paraná [email protected] [email protected] José Ignácio Jaeger Neto PROCERGS - Companhia de Processamento de Dados do Estado do Rio Grande do Sul [email protected] Sheila dos Santos Reinehr BANESTADO - Banco do Estado do Paraná [email protected] 11/2001 III SEQS 104