1.04k likes | 1.16k Views
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
E N D
Desenvolvimento de Software de Acordocom 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 III SEQS
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 III SEQS
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? III SEQS
PROCESSO 1. Introdução - Como se entender? Linguagem Comum III SEQS
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.04 SPICE CE 21.101.05 CASE CE 21.101.06 Ponto de Função CE 21.101.07 Gerência de Configuração CE 21.101.08 Ergonomia III SEQS
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 III SEQS
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. III SEQS
... CICLO DE VIDA: Início Descontinuidade ENVOLVIDOS: Adquirente, Fornecedor, Usuário, ... Corporação APLICACÃO: ... Projeto Projeto PRODUTOS SERVICOS * * PROCEDIMENTO, TÉCNICAS, FERRAMENTAS E AMBIENTES PROCESSO DEFINIÇÃO E DESCRIÇÃO METODOLOGIA MÉTODOS & METRICAS DETALHES: * Não define * NÃO COBRE 1. Introdução - Escopo da NBR ISO/IEC 12207 III SEQS
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 III SEQS
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] III SEQS
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] III SEQS
2. Definições - Produto de Software “ O conjunto de programas de computador, procedimentos e possível documentação e dados associados.” III SEQS
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.” III SEQS
2. Definições - Organização “Um conjunto independente de pessoas.” NOTA: Uma organização herda o mesmo nome do processo que ela executa. III SEQS 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. III SEQS
2. Definições - Extensão de um acordo “Um acordo vai desde um acordo formal até um contrato legal.” III SEQS
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. III SEQS
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 III SEQS
Processos Fundamentais Processos de Apoio Aquisição Documentação Fornecimento Gerência de Configuração Desenvolvimento Operação Garantia da Qualidade Verificação Validação Adaptação Revisão Manutenção Auditoria Resolução de Problemas Processos Organizacionais Gerência Infra-estrutura Melhoria Treinamento 3. NBR ISO/IEC 12207 Processos de ciclo de vida de software III SEQS
3. NBR ISO/IEC 12207 - Conceitos básicos • Modularidade • Responsabilidade • Flexibilidade e Independência de Tecnologia III SEQS
3. NBR ISO/IEC 12207 - Modularidade Fortemente coeso: todas as partes de um processo são fortemente relacionadas PROCESSO MODULAR Fracamente acoplado: a quantidade de interfaces entre os processos é mínima III SEQS
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 III SEQS
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 III SEQS
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. III SEQS
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. III SEQS
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 III SEQS
ATIVIDADE 1 PROCESSO1 TAREFAS Ciclo de Vida . . . Da concepção até a descontinuidade PROCESSO17 PROCESSO... ATIVIDADE N TAREFAS PRINCÍPIOS BÁSICOS:MODULARIDADE;RESPONSABILIDE CICLO:“PDCA” 3. NBR ISO/IEC 12207 - Estrutura dos Processos III SEQS
PLANEJAR planejamento das tarefas a executar Início AGIR ações corretivas, resolução de problemas CHECAR checar, avaliar, garantir FAZER executar as tarefas do plano Fim 3. NBR ISO/IEC 12207 Regras para particionar um processo III SEQS
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 Nenhum dos acima ** III SEQS
Própria Organização B Organização A 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 III SEQS
Onde estamos? 1. Introdução 2. Definições 3. NBR ISO/IEC 12207 4. Processos da NBR ISO/IEC 12207 5. Conclusões III SEQS
Processos de Apoio Documentação Gerência de Configuração Garantia da Qualidade Verificação Validação Adaptação Revisão Auditoria Resolução de Problemas Processos Organizacionais Gerência Infra-estrutura Melhoria Treinamento 4. Processos da NBR ISO/IEC 12207 Processos Fundamentais Aquisição Fornecimento Desenvolvimento Operação Manutenção III SEQS
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. III SEQS
Operação T Manutenção Fornecimento Aquisição 01 02 T E/T U 01 Início 01, 02 o mesmo ponto E: Executa T: Tarefa U: Usa Desenvolvimento PDCA 4.1 Processos Fundamentais III SEQS
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 III SEQS
1. Iniciação 4. Monitorar fornecedor • Descreve necessidades • Define requisitos do sistema • Define requisitos do software • Prepara plano de aquisição • Define estratégia de aceitação • 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 2. Preparação solic. proposta • Documenta requisitos da aquisição • Seleciona atividades e tarefas • Define pontos de controle • Define marcos para fornecedores 3. Preparação e atualiz. contrato • Estabelece proced. p/ seleção de fornec. • Seleciona fornecedores • Adapta 12207 & partes envolvidas • Negocia contrato 4.1 Processos Fundamentais Processo de Aquisição III SEQS
Uso interno Processos que invoca ATIVIDADES RESULTADOS P R É - C O N T R A T O 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 CONTRATO COM FORNECEDOR CONTRATO COM OUTROS PREPARAÇÃO E ATUALIZ. CONTRATO CONTROLES ADAPTAÇÃO INTERNOS C O N T R A T O MONITORAR & AVALIAR RESULTADOS REVISÃO MONITORAÇÃO FORNECEDOR AUDIT VERIF. VALID. CONJ. ACEITAR PRODUTOS E SERVIÇOS ACEITAÇÃO E CONCLUSÃO 4.1 Processos Fundamentais Processo de Aquisição Para o adquirente de produtos e serviços Cobre períodos de pré-contrato e contrato III SEQS
Processos Subseção Resultados Tipo de Resultado Aquisição 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 de seleção de fornecedor Procedimento 5.1.3.4 Contrato Contrato 4.1 Documentos produzidos na Aquisição III SEQS
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 III SEQS
Processos Fundamentais Processos de Apoio Aquisição Documentação Fornecimento Gerência de Configuração Desenvolvimento Operação Garantia da Qualidade Verificação Validação Adaptação Revisão Manutenção Auditoria Resolução de Problemas Processos Organizacionais Gerência Infra-estrutura Melhoria Treinamento 4. Processos da NBR ISO/IEC 12207 III SEQS
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.” III SEQS
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 • Coordenar com o adquirente • Revisões conjuntas • Auditoria • V & V • Fornecer acesso ao adquirente • QA • 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 2. Preparação resposta • Preparar resposta 5. Execução/controle 7. Entrega e conclusão 3. Contrato • 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 • Negociar e firmar contrato com o adquirente • Solicitar modificações III SEQS
QUALIDADE CO. 4.1 Processos Fundamentais Processo de Fornecimento Prover produtos e serviços Cobre o período pré-contratual e contratual ATIVIDADES RESULTADOS Uso interno Processos que invoca P R E - C O N T. DECISÃO DE CONTRATO INÍCIO PREPARAÇÃO PROPOSTA DA RESPONSTA CONTRATO CONTRATO CICLO DE VIDA & PLANO DE GERENCIA DO PROJETO PLANEJAMENTO CONTRATO SELEÇÃO DE UM OU MAIS EXECUÇÃO E MONITORA, MONITORAR RESULTADOS DEV. OPER. MANUT. AQUIS. CONTROLA CONTROLE RESULTADOS AVAL/REVISÃO REVISÃO E REV.CONJ. AUDITORIA GAR.QUAL V&V AVALIAÇÃO ENTREGA E CONCLUSÃO PROD/SERV. ENTREGUES III SEQS
Processos Subseção Resultados Tipo de Resultado Fornecimento 5.2.2.1 Proposta Proposta 5.2.4.5 Plano(s) de gerência de projeto Plano 5.2.6.4 Relatórios de avaliação, revisões, auditorias, testes e resolução de problema Relatório 4.1 Documentos produzidos no Fornecimento III SEQS
Exercício 2 - Processo de Fornecimento • Reunir o mesmo grupo • Especificar o processo de Fornecimento das pizzas (fabricação própria) • Tempo: 15 minutos III SEQS
Processos de Apoio Documentação Gerência de Configuração Garantia da Qualidade Verificação Validação Adaptação Revisão Auditoria Resolução de Problemas Processos Organizacionais Gerência Infra-estrutura Melhoria Treinamento 4.1 NBR ISO/IEC 12207 Processos de ciclo de vida de software Processos Fundamentais Aquisição Fornecimento Desenvolvimento Operação Manutenção III SEQS
4.1 Processos Fundamentais Processo de Desenvolvimento “Define as atividades do desenvolvedor, organização que define e desenvolve o produto de software.” III SEQS
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. 4.1 Processos Fundamentais Processo de Desenvolvimento III SEQS
4.1 Processos Fundamentais Processo de Desenvolvimento 3. Projeto de arquitetura de sistemas 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 • 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. III SEQS