A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Engenharia de Software Profa. Juliana Herbert Centro de Ciências Exatas e Tecnológicas UNISINOS2003/1.

Apresentações semelhantes


Apresentação em tema: "Engenharia de Software Profa. Juliana Herbert Centro de Ciências Exatas e Tecnológicas UNISINOS2003/1."— Transcrição da apresentação:

1 Engenharia de Software Profa. Juliana Herbert Centro de Ciências Exatas e Tecnológicas UNISINOS2003/1

2 2 Engenharia de Software Sobre a disciplina: Engenharia de Software Qualidade de software: conceitos, modelos e normas. Conceito de Engenharia de Software. Paradigmas de desenvolvimento. Identificação de problemas no desenvolvimento de software. Trabalho cooperativo. Workflow. Engenharia de requisitos. Especificação semi-formal e formal de software. Teste e depuração de software procedimental. Teste e depuração de software orientado a objetos. Projeto de interfaces. Ferramentas CASE (Computer Aided Software Engineering). Métricas de software. Manutenção de software. Outros tópicos sobre pesquisas atuais na área.

3 1. Qualidade Conceitos...

4 4 Engenharia de Software Primeiro Exercício Avaliação de qualidade. Análise da escolha. Identificação de critérios.

5 5 Engenharia de Software Qualidade X Custos Qualidade melhor: imagem melhor; custo de serviço menor; custo de inspeção e testes menores; custo de refugo e retrabalho menor; reclamações menores; estoques menores; menos necessidade de competir em preço.

6 6 Engenharia de Software Conceito de Qualidade NBR ISO 8402 Qualidade é a totalidade das características de uma entidade que lhe confere a capacidade de satisfazer às necessidades implícitas e explícitas.

7 2. Qualidade de Software

8 8 Engenharia de Software Problemas do Software Software não possui existência física. Clientes não sabem o que querem. Clientes mudam de idéia, durante o desenvolvimento de sistemas. Mudanças de hardware e software de apoio durante o desenvolvimento. Clientes possuem altas expectativas.

9 9 Engenharia de Software Definições de Qualidade de Software Qualidade relacionada à conformidde do software com os requisitos: Problema: raramente os requisitos estão completos. Qualidade relacionada à satisfação do usuário: Problema: usuários diferentes.

10 Modelo de Boehm

11 11 Engenharia de Software

12 12 Engenharia de Software Tratamento das Características Classificação (Perry, 1987): neutras: usabilidade X correteza; diretas: interoperabilidade X usabilidade; inversas:reusabilidade X eficiência.

13 13 Engenharia de Software Visões de Qualidade de Software usuário Facilidade de Uso, Desempenho, Confiabilidade dos Resultados, Preço do Software, etc. desenvolvedor Taxa de defeitos, Facilidade de Manutenção e Conformidade em relação aos Requisitos de Usuários, etc organização Cumprimento de Prazo, Boa Previsão de Custo, Boa Produtividade

14 14 Engenharia de Software Qualidade de Software Usuário: Usuário: avalia o software sem conhecer seus aspectos internos, está apenas interessado na facilidade do uso, no desempenho, na confiabilidade dos resultados e no preço. Desenvolvedores: Desenvolvedores: avaliam aspectos de conformidade em relação aos requisitos dos clientes e também aspectos internos do software Organização: Organização: avalia aspectos de conformidade em relação aos requisitos dos clientes e desenvolvedores e também aspectos de custo e cronograma

15 3. Engenharia de Software

16 16 Engenharia de Software Evolução do Software Software X hardware. Grupos de desenvolvimento. Alta rotatividade de empregos. Manutenção é constante e problemática. Programação forma de arte. Maior concorrência - globalização.

17 17 Engenharia de Software Crise de Software Crise: momento, etapa ou evento decisivo e crucial. Mas a crise já dura mais de 20 anos!! Aflição crônica de software: Aflição: algo que causa dor e sofrimento. Crônica: que dura longo tempo ou retorna freqüentemente; que continua indefinidamente.

18 18 Engenharia de Software Definição de Fritz Bauer (1969): o estabelecimento e uso de sólidos princípios de engenharia para que se possa obter economicamente um software que seja confiável e que funcione eficientemente em máquinas reais.

19 19 Engenharia de Software Elementos da Engenharia de Software Métodos. Ferramentas. Procedimentos. Objetivo comum: garantia da qualidade de software.

20 1. Qualidade do Produto de Software

21 21 Engenharia de Software Primeiro Exercício Qualidade do produto relógio. Análise de contexto. Definição de estratégia de marketing.

22 22 Engenharia de Software Qualidade do Produto X Qualidade do Processo Fabricação do relógio: hipótese 1; hipótese 2. Influência??

23 23 Engenharia de Software Qualidade do Produto X Qualidade do Processo Produto final de software. Lista de características avaliadas: ____________________________

24 24 Engenharia de Software Qualidade do Produto de Software NBR ISO/IEC 9126: Tecnologia de Informação - Avaliação de produto de software - Características de qualidade e diretrizes para o seu uso. NBR ISO/IEC 12119: Tecnologia de Informação - Pacotes de software - Teste e requisitos de qualidade.

25 2. NBR Produto OK!!

26 26 Engenharia de Software NBR Tradução da norma ISO/IEC 9126/1991. Tradução realizada pela ABNT - CE-21: Comissão de Estudo de Qualidade de Software, dentro do CB-21 (Comitê Brasileiro de Computadores e Processamento de Dados). Válida a partir de 30 de maio de 1996.

27 27 Engenharia de Software NBR Palavras-chave: tecnologia de informação, processamento de dados, programa de computador, qualidade. 10 páginas. Endereço da ABNT em Porto Alegre: Siqueira Campos, Conjunto 906 Tel.: e

28 28 Engenharia de Software NBR Objetivo Objetivo: Esta Norma define seis subcaracterísticas que descrevem, com um mínimo de sobreposição, qualidade de software. Estas características fornecem uma base para posterior refinamento e descrição de qualidade de software. As diretrizes descrevem o uso de características de qualidade para a avaliação da qualidade de software (...) A definição das características e o modelo do processo de avaliação de qualidade correspondente, nesta Norma, são aplicáveis na especificação dos requisitos de produtos de software e na avaliação da sua qualidade ao longo do seu ciclo de vida.

29 29 Engenharia de Software NBR Dirigida às pessoas envolvidas com aquisição, desenvolvimento, uso, suporte, manutenção ou auditoria de software. Faz referências às normas: NBR ISO 8402/ Gestão da qualidade e garantia da qualidade - Terminologia. ISO/IEC / Information technology - Vocabulary - Part 20: Systems development.

30 30 Engenharia de Software NBR Definições: Características de qualidade de software Características de qualidade de software: conjunto de atributos de um produto de software, através do qual sua qualidade é descrita e avaliada. Uma característica pode ser detalhada em múltiplos níveis de subcaracterísticas. Critério de julgamento de qualidade de software Critério de julgamento de qualidade de software: conjunto de regras e condições definidas e documentadas que são usadas para decidir se a qualidade total de um produto de software específico é aceitável ou não. Métrica de qualidade de software Métrica de qualidade de software: método e uma escala quantitativa que podem ser usados para determinar o valor que uma particularidade (feature) recebe em um produto de software específico.

31 31 Engenharia de Software NBR Definições (continuação): Produto de software Produto de software: entidade de software disponível para liberação do usuário. Qualidade Qualidade: totalidade das características de uma entidade, que lhe confere a capacidade de satisfazer às necessidades explícitas e implícitas. Em uma situação contratual, as necessidades são especificadas. Qualidade de software Qualidade de software: totalidade das características de um produto de software que lhe confere a capacidade de satisfazer às necessidades explícitas e implícitas.

32 32 Engenharia de Software NBR Características consideradas: funcionalidade; confiabilidade; usabilidade; eficiência; manutenibilidade; portabilidade. Exemplo: editor Microsoft Word.

33 33 Engenharia de Software NBR Funcionalidade: Funcionalidade: Conjunto de atributos que evidenciam a existência de um conjunto de funções e suas propriedades especificadas. As funções são as que satisfazem as necessidades explícitas ou implícitas

34 34 Engenharia de Software NBR Confiabilidade: Confiabilidade: Conjunto de atributos que evidenciam a capacidade do software de manter seu nível de desempenho sob condições estabelecidas durante um período de tempo estabelecido.

35 35 Engenharia de Software NBR Usabilidade: Usabilidade: Conjunto de atributos que evidenciam o esforço necessário para se poder utilizar o software, bem como o julgamento individual desse uso, por um conjunto explícito ou implícito de usuários.

36 36 Engenharia de Software NBR Eficiência: Eficiência: Conjunto de atributos que evidenciam o relacionamento entre o nível de desempenho do software e a quantidade de recursos usados, sob condições estabelecidas.

37 37 Engenharia de Software NBR Manutenibilidade: Manutenibilidade: Conjunto de atributos que evidenciam o esforço necessário para fazer modificações especificadas no software.

38 38 Engenharia de Software NBR Portabilidade: Portabilidade: Conjunto de atributos que evidenciam a capacidade do software de ser transferido de um ambiente para outro.

39 39 Engenharia de Software NBR Utilização: definição de requisitos de qualidade de um produto de software; avaliação de especificação de software, verificando se ele irá satisfazer aos requisitos de qualidade durante o desenvolvimento; descrição de particularidades e atributos do software (por ex., em manuais de usuário); avaliação de software antes da entrega, ou antes da aceitação.

40 40 Engenharia de Software NBR As organizações devem estabelecer os próprios modelos de avaliação e para a criação de métricas. Caso não haja métricas, podem ser utilizadas descrições verbais ou regras empíricas. Para uma avaliação, devem ser estabelecidos níveis de pontuação e critérios específicos para a organização. Algumas características são mais importantes para algumas categorias de software.

41 41 Engenharia de Software Visão da Qualidade pelo Usuário O que é um produto de software de qualidade? Produto que atende às suas necessidades. Produto fácil de usar. Produto que funcione em seu ambiente. Suporte técnico confiável. Produto confiável e eficiente.

42 42 Engenharia de Software Visão da Qualidade pela Equipe de Desenvolvimento O que é um produto de software de qualidade? Qualidade de produtos intermediários. Qualidade relacionada a características internas do produto (por exemplo, eficiência). Produto manutenível. Características desejadas pelo usuário.

43 43 Engenharia de Software Visão da Qualidade pelo Gerente

44 44 Engenharia de Software Modelo do Processo de Avaliação Definição de requisitos de qualidade. Preparação da avaliação. Seleção de métricas de qualidade. Definição dos níveis de pontuação. Definição dos critérios de julgamento. Procedimento de avaliação. Medição. Pontuação. Julgamento.

45 3. NBR ISO/IEC 12119

46 46 Engenharia de Software NBR ISO/IEC Tradução da norma ISO/IEC 12119/1994. Tradução realizada pela ABNT - CE-21: Comissão de Estudo de Qualidade de Software, dentro do CB-21 (Comitê Brasileiro de Computadores e Processamento de Dados). Válida a partir de 30 de novembro de 1998.

47 47 Engenharia de Software NBR ISO/IEC Palavras-chave: tecnologia de informação, processamento de dados, programas de computador, qualidade, pacotes de software. 13 páginas.

48 48 Engenharia de Software NBR ISO/IEC Objetivo: Objetivo: Esta Norma é aplicável a pacotes de software. (...) Esta Norma estabelece: os requisitos para pacotes de software (requisitos de qualidade); instruções de como testar um pacote de software com relação aos requisitos estabelecidos.

49 49 Engenharia de Software NBR ISO/IEC Dirige-se a: Dirige-se a: fornecedores que estejam: especificando os requisitos para um pacote de software; projetando um modelo para descrever produtos; julgando seus próprios produtos; emitindo declarações de conformidade; submetendo produtos à certificação ou à obtenção de marcas de conformidade.

50 50 Engenharia de Software NBR ISO/IEC Dirige-se a: Dirige-se a: entidades de certificação que pretendem estabelecer um esquema de certificação por terceira parte (internacional, nacional ou regional); laboratórios de teste, que terão de seguir as instruções de teste durante a execução de testes para certificação ou para emissão de marca de conformidade;

51 51 Engenharia de Software NBR ISO/IEC Dirige-se a: Dirige-se a: entidades de credenciamento que credenciam entidades de certificação e laboratórios de teste; auditores quando julgam a competência de laboratórios de teste; usuários que pretendam se beneficiar com produtos melhores;

52 52 Engenharia de Software NBR ISO/IEC Dirige-se a: Dirige-se a: compradores que pretendam: comparar seus próprios requisitos com os descritos na Norma; comparar os requisitos necessários para executar uma determinada tarefa com a informação presente nas descrições de produtos existentes; procurar por produtos certificados; verificar se os requisitos foram atendidos.

53 53 Engenharia de Software NBR ISO/IEC Definições: documento de requisitos: documento de requisitos: documento contendo quaisquer combinações de recomendações, requisitos ou regulamentações a serem atendidas por um pacote de software; descrição de produto: descrição de produto: documento expondo as propriedades de um pacote de software, com o principal objetivo de auxiliar os potenciais compradores na avaliação da adequação do produto antes de sua aquisição;

54 54 Engenharia de Software NBR ISO/IEC Definições (continuação): documentação de usuário: documentação de usuário: conjunto completo de documentos, disponível na forma impressa ou não, que é fornecido para a utilização de um produto, sendo também uma parte integrante do produto; documentação de pacote: documentação de pacote: descrição de produto e a documentação de usuário;

55 55 Engenharia de Software NBR ISO/IEC Definições (continuação): guia de teste (test case): guia de teste (test case): instrução documentada para o responsável pelo teste, que especifica como deve ou convém que seja testada uma função ou uma combinação de funções; manutenção: manutenção: parte da manutenção de sistemas que está relacionada à modificação do pacote de software;

56 56 Engenharia de Software NBR ISO/IEC Descrição de produto: Descrição de produto: define o produto; é parte do conjunto de documentação do produto; ajuda o potencial usuário; serve como base para testes; deve estar disponível para pessoas interessadas no produto; requisitos especificados na Norma. DP

57 57 Engenharia de Software Segundo Exercício Estudo da descrição do produto. Elaboração de uma descrição do produto.

58 58 Engenharia de Software Documentação de Usuário Características consideradas pela Norma: completitude; correção; consistência; inteligibilidade; apresentação e organização.

59 59 Engenharia de Software Programas e Dados Características consideradas pela Norma: funcionalidade: instalação; presença de funções; correção; consistência; confiabilidade; usabilidade: inteligibilidade; apresentação e organização; operacionalidade; eficiência; manutenibilidade; portabilidade.

60 60 Engenharia de Software Instruções para Teste Especificam como um produto deve ser testado em relação aos requisitos de qualidade, incluindo tanto o teste das propriedades necessárias a todos os produtos de mesmo tipo, quanto o teste das propriedades especificadas na descrição do produto. Também estão incluídos o teste por inspeção dos documentos e o teste caixa-preta.

61 61 Engenharia de Software Relatório de Teste Produzido Estrutura sugerida pela Norma: Estrutura sugerida pela Norma: Identificação do produto. Sistemas computacionais utilizados para o teste. Documentos usados (com identificações). Resultados dos testes de descrição de produto, documentação de usuário, programas e dados. Lista das não-conformidades aos requisitos. Lista das não-conformidades em relação às recomendações, ou uma lista das recomendações que não foram seguidas, ou uma declaração de que o produto não foi testado quanto à conformidade em relação às recomendações. Data do encerramento do teste.

62 4. Método de Avaliação MEDE-PROS Fundação Centro Tecnológico para Informática CTI - Campinas, SP Laboratório de Qualidade de Software - UNISINOS

63 63 Engenharia de Software Autoria dos Slides sobre MEDE- PROS Os próximos slides, referentes ao método de avaliação MEDE-PROS, são de autoria de Regina Colombo, da Fundação CTI, utilizados em apresentação realizada no Workshop de Qualidade que ocorreu no dia 19 de novembro de 1999, na UNISINOS.

64 64 Engenharia de Software Como saber se o produto é de qualidade segundo a visão do usuário? MEDE-PROS MEDE-PROS Método de Avaliação de Qualidade de Produto de Software

65 65 Engenharia de Software O que freqüentemente encontramos nos produtos avaliados? Embalagem não consistente com o produto. Descrição do produto incompleta. Manual desatualizado ou incompleto. Difícil de navegar, aprender e compreender. Help não é sensível ao contexto. Funcionalidade não implementada. Erros fatais que levam à perda de dados....

66 66 Engenharia de Software Avaliar a qualidade de produto de software, segundo a visão do usuário, verificando o quanto ele está atendendo os padrões das Normas Internacionais de Qualidade. Avaliação da Qualidade de Produto de Software - MEDE-PROS Avaliação da Qualidade de Produto de Software - MEDE-PROS Objetivo

67 67 Engenharia de Software Relatório de Avaliação aspectos de destaque positivo aspectos a serem revistos Avaliação da Qualidade de Produto de Software - MEDE-PROS Avaliação da Qualidade de Produto de Software - MEDE-PROS Resultado

68 68 Engenharia de Software MEDE-PROS MEDE-PROS Quem se Beneficia Produtores Lançamento do Produto Aprimoramento do Produto Marketing e Vendas Argumento de Venda Usuários Verificar se o Produto é adequado às suas necessidades Instituições de Incentivo a Produtores Financiamentos, Premiações, etc.

69 69 Engenharia de Software Base Teórica Qualidade de Pacotes de Software NBR ISO/IEC12119 Definições de Qualidade NBR ISO/IEC Características da Q.Software ISO/IEC Métricas Externas ISO/IEC Métricas Internas ISO/IEC Visão Geral ISO/IEC Planej / Gerenciamento ISO/IEC Processo de Desenvolvimento ISO/IEC Processo de Aquisição ISO/IEC Processo p/ Avaliadores ISO/IEC Doc. Módulos de Avaliação ISO/IEC 14598ISO/IEC ISO/IEC Qualidade em Uso ISO/IEC 9126 Processo de Avaliação

70 70 Engenharia de Software NBR Totalidade de aspectos da qualidade de produto Definição de 6 Características Mínimo de Sobreposição Sem Métodos para Medição Qualquer tipo de Software

71 71 Engenharia de Software Estabelece os Requisitos de Qualidade para Pacotes de Software Como Testar um Pacote de Software com Relação aos Requisitos Estabelecidos Não trata do Processo de Desenvolvimento dos Pacotes de Software NBR ISO/IEC 12119

72 72 Engenharia de Software Tecnologia de informação - Avaliação de produto de software - Parte 5: Processo para avaliadores Define atividades para: analisar requisitos da avaliação especificar projetar executar e concluir ações de avaliação de qualquer tipo de produto de software. ISO/IEC

73 73 Engenharia de Software Análise de Requisitos da Avaliação Especificação da Avaliação Projeto da Avaliação Execução da Avaliação Conclusão da Avaliação Requisitos do Solicitante Entradas do Solicitante Relatório de Avaliação Final Plano da Avaliação Requisitos da Avaliação Descrição do Produto Especificação da Avaliação Componentes do Produto Pré-Relatório ISO/IEC ISO/IEC Processo para Avaliadores

74 74 Engenharia de Software MEDE-PROS ® v 1/97 Manual do Avaliador Modelo de Relatório Lista de Verificação Estrutura

75 75 Engenharia de Software ISO/IEC 9126 (NBR 13596) INTERFACE DOCUMENTAÇÃO SOFTWARE DESCRIÇÃO DO PRODUTO EMBALAGEM NBR ISO/IEC ISO/IEC 9126 (NBR 13596) ISO/IEC 9126 (NBR 13596) ISO/IEC 9126 (NBR 13596) Lista de Verificação NBR ISO/IEC 12119

76 76 Engenharia de Software Identificação Aspectos Visuais Aspectos de Robustez Aspectos Práticos Lista de Verificação Componente: Embalagem

77 77 Engenharia de Software Identificação do documento Produto Produtor Requisitos de Hardware Requisitos de Software Interfaces com outros produtos Suporte técnico Manutenção Lista de Verificação Componente: Descrição do Produto

78 78 Engenharia de Software Espelho da Descrição do Produto Clara, Precisa e Organizada Consistente Interna e Externamente Refletir a Interface Orientada ao Aprendizado do Usuário... Lista de Verificação Componente: Documentação

79 79 Engenharia de Software Facilidade de interação com o usuário Aspectos visuais Mensagens apresentadas Help e Tutorial Funções de Interface Consistência de dados de entrada... Lista de Verificação Componente: Interface

80 80 Engenharia de Software Funções implementadas corretamente Importação dos dados Exportação dos dados Instalação Desinstalação Falhas Cópia de Segurança Restauração dos dados Lista de Verificação Componente: Software

81 81 Engenharia de Software Explicação dos Procedimentos de Avaliação Explicação dos Procedimentos de Avaliação Explicação detalhada das Questões Explicação detalhada das Questões Postura do Avaliador Regras e Obrigações Confidencialidade Termo de Compromisso Manual do Avaliador

82 82 Engenharia de Software Embalagem Descrição do Produto Documentação Interface Software Itens Avaliados

83 83 Engenharia de Software Relatório de Avaliação do MEDE-PROS ® É a resposta, que o solicitante precisa, sobre a qualidade do produto de acordo com a visão do usuário. É a resposta, que o solicitante precisa, sobre a qualidade do produto de acordo com a visão do usuário.

84 84 Engenharia de Software Banco de Dados Avaliação Funcionalidades Aplicação BMA Banco de Dados AAQPS - Ambiente de Avaliação da Qualidade de Produto de Software Avaliação da Qualidade de Produto de Software - MEDE-PROS Avaliação da Qualidade de Produto de Software - MEDE-PROS

85 85 Engenharia de Software Características: avaliação técnica só pacotes de software grande quantidade de produtos grande variedade de produtosCaracterísticas: avaliação técnica só pacotes de software grande quantidade de produtos grande variedade de produtos Prêmio ASSESPRO: Melhor Software do Ano

86 86 Engenharia de Software Chamada Nacional SOFTEX Características: Coordenação do processo de avaliação:Coordenação do processo de avaliação: F disponibilizar o MEDE-PROS ® ; F treinar avaliadores; F revisar os Relatórios da Avaliação. Produtos de Software em diferentes estágios de desenvolvimento.Produtos de Software em diferentes estágios de desenvolvimento. Grande número de produtos.Grande número de produtos. Prazo curto de avaliação.Prazo curto de avaliação. Diferentes categorias de produtos.Diferentes categorias de produtos. Coordenação do processo de avaliação:Coordenação do processo de avaliação: F disponibilizar o MEDE-PROS ® ; F treinar avaliadores; F revisar os Relatórios da Avaliação. Produtos de Software em diferentes estágios de desenvolvimento.Produtos de Software em diferentes estágios de desenvolvimento. Grande número de produtos.Grande número de produtos. Prazo curto de avaliação.Prazo curto de avaliação. Diferentes categorias de produtos.Diferentes categorias de produtos.

87 87 Engenharia de Software Chamada Nacional SOFTEX FortalezaFortaleza # avaliadores: 6 # produtos: 16 São Carlos # avaliadores: 6 # produtos: 19 CampinasCampinas # avaliadores: 16 # produtos: 37 Porto Alegre # avaliadores: 10 # produtos: 28

88 88 Engenharia de Software Laboratórios Credenciados para Prestação de Serviço de Avaliação da Qualidade de Produto de Software utilizando o MEDE-PROS Laboratórios Credenciados para Prestação de Serviço de Avaliação da Qualidade de Produto de Software utilizando o MEDE-PROS Fortaleza Juiz de Fora São Carlos Campinas Londrina São Leopoldo

89 89 Engenharia de Software Controle da Qualidade Controle da Qualidade Para continuar pensando... Etapas: 1. Definir as características de qualidade do produto ou serviço. 2. Definir como medir cada característica. 3. Estabelecer padrões de qualidade. 4. Controlar a qualidade pelos padrões. 5. Encontrar e corrigir causas de má qualidade. 6. Continuar a fazer melhoramentos.

90 90 Engenharia de Software

91 1. Processo de Software

92 92 Engenharia de Software Processo de Software Processo Processo: uma seqüência de etapas realizadas com um determinado propósito (IEEE). Processo de software Processo de software: um conjunto de atividades, métodos, práticas e transformações que pessoas utilizam para desenvolver e manter sistemas de software e produtos associados (CMM/SEI).

93 93 Engenharia de Software Processo de Software A D C B Pessoas com habilidades, treinamento e motivação Procedimentos e métodos definindo o relacionamento das tarefas Ferramentas e equipamentos Processo

94 94 Engenharia de Software Premissa do Gerenciamento do Processo de Software - SEI/CMU A qualidade de um sistema de software é altamente influenciada pela qualidade do processo utilizado para desenvolvê-lo e mantê- lo. A premissa sugere foco tanto no produto quanto no processo.

95 95 Engenharia de Software Um Processo Imaturo (SEI/CMU) Ad-hoc: processo improvisado pelas pessoas envolvidas em sua realização. O processo não é rigorosamente seguido. Altamente dependente das pessoas. Baixa visibilidade do progresso e qualidade. Funcionalidade e qualidade são freqüentemente comprometidas em relação a um cronograma. A utilização de nova tecnologia envolve alto risco. Retrabalho e custos de manutenção excessivos. A qualidade é difícil de ser prevista.

96 96 Engenharia de Software Um Processo Maduro (SEI/CMU) Consistente com a forma através da qual o trabalho é realizado. Definido, documentado e continuamente aperfeiçoado. Apoiado pela gerência, de forma explícita. Controlado (através de métricas, por exemplo). Introdução disciplinada de novas tecnologias.

97 97 Engenharia de Software Processo Institucionalizado (SEI/CMU) Esta é a forma como nós fazemos as coisas aqui. Existência de uma infra-estrutura que contém processos aplicados de forma consistente em toda a organização. A cultura organizacional conduz o processo. A cultura é conduzida por distribuição de responsabilidades e recompensas. Processos permanecem sendo utilizados, mesmo após as pessoas que os elaboraram não atuarem mais na organização.

98 98 Engenharia de Software Benefícios de um Processo Maduro (SEI/CMU) Aproximadamente 85% dos problemas são causados pelo processo, não pelas pessoas. Pessoas desenvolvem melhor seu potencial e são mais efetivas na organização. Definindo, medindo e controlando o processo, melhorias têm maior sucesso e continuidade.

99 2. CMM - Cabability Maturity Model

100 100 Engenharia de Software Missão Empresarial aos Estados Unidos Realizada de 9 a 17 de junho, de Promovida pelo Instituto de Informática da UNISINOS. Workshops de acompanhamento, promovidos pelo Laboratório de Qualidade de Software: julho; setembro; novembro. Programa Economia & Negócios, da TV-COM.

101 101 Engenharia de Software Origem do CMM Software Engineering Institute (SEI), da Universidade Carnegie Mellon - Pittsburgh. Baseado nas idéias de Watts Humphrey. Disponível em:

102 102 Engenharia de Software Referência dos Slides sobre CMM Slides baseados em: apresentações realizadas por Steve Master e Edward Gebauer, do SEI/CMU, durante a Missão Empresarial aos Estados Unidos, em junho de 2000; documentos disponíveis na home-page do SEI; apresentação de Odisnei Galarraga, da DSI/UNISINOS, realizada durante o Workshop em Qualidade de Software, em 19 de novembro de 1999, na UNISINOS.

103 103 Engenharia de Software Níveis de maturidade 5432 Inicial Repetível Definido Gerenciado Otimizando Processo disciplinado Processo padronizado, consistente Processo previsível Melhoria contínua 1

104 104 Engenharia de Software Visibilidade 1In Out 2InOut 3InOut 4InOut

105 105 Engenharia de Software Visibilidade 5InOut

106 106 Engenharia de Software Nível de maturidade = capacidade Probabilidade 1 Alvo N Tempo/$/... O Cronograma e a previsão de custos normalmente estouram em organizações Nível 1 Probabilidade 2 Alvo N+a Tempo/$/... Os planos baseados na performance do passado são mais realistas em organizações Nível 2

107 107 Engenharia de Software Nível de maturidade = capacidade Probabilidade 2 Alvo N+a Tempo/$/... Os planos baseados na performance do passado são mais realistas em organizações Nível 2 Probabilidade 3 Alvo N-x Tempo/$/... Com processos bem definidos, a performance aumenta em organizações Nível 3

108 108 Engenharia de Software Nível de maturidade = capacidade Probabilidade 3 Alvo N-x Tempo/$/... Com processos bem definidos, a performance aumenta em organizações Nível 3 Probabilidade 4 Alvo N-y Tempo/$/... Com base na análise quantitativa do processo e do produto, a performance continua a evoluir em organizações Nível 4

109 109 Engenharia de Software Nível de maturidade = capacidade Probabilidade 4 Alvo N-y Tempo/$/... Com base na análise quantitativa do processo e do produto, a performance continua a evoluir em organizações Nível 4 Probabilidade 5 Alvo N-z Tempo/$/... A performance evolui continuamente em organizações Nível 5

110 110 Engenharia de Software Estrutura Níveis de maturidade Key process areas Contêm Common features São organizadas por Key practices Contêm Indicam Capacidade do processo Atingem Metas Levam a Implementação ou institucionalização Descrevem Atividades ou infra-estrutura

111 111 Engenharia de Software Níveis de maturidade (vistos anteriormente) 5432 Inicial Repetível Definido Gerenciado Otimizando Processo disciplinado Processo padronizado, consistente Processo previsível Melhoria contínua 1

112 112 Engenharia de Software Estrutura Níveis de maturidade Key process areas Contêm Common features São organizadas por Key practices Contêm Indicam Capacidade do processo Atingem Metas Levam a Implementação ou institucionalização Descrevem Atividades ou infra-estrutura

113 113 Engenharia de Software Key process areas Inicial1 Gerenciamento de requisitos Planejamento de projeto de software Acompanhamento e supervisão de projeto de software Gerenciamento de subcontratação (terceiros) Garantia da qualidade de software Gerenciamento de configuração de software Repetível 2

114 114 Engenharia de Software Key process areas Foco nos processos da organização Definição dos processos da organização Programa de treinamento Gerenciamento integrado de software Engenharia de produto de software Coordenação interequipes Revisão por pares Definido 3 Repetitivo2

115 115 Engenharia de Software Key process areas Gerenciamento quantitativo dos processos Gerenciamento da qualidade de software Gerenciado 4 Definido3

116 116 Engenharia de Software Key process areas Prevenção de defeitos Gerenciamento de mudanças tecnológicas Gerenciamento de mudanças no processo Otimização 5 Gerenciado4

117 117 Engenharia de Software Estrutura Níveis de maturidade Key process areas Contêm Common features São organizadas por Key practices Contêm Indicam Capacidade do processo Atingem Metas Levam a Implementação ou institucionalização Descrevem Atividades ou infra-estrutura

118 118 Engenharia de Software Metas: exemplo Nível 2 Key process area: Planejamento de projeto de software Meta 1: Estimativas estão documentadas para uso no planejamento e acompanhamento do projeto de software Meta 2: Atividades e compromissos do projeto de software estão planejados e documentados Meta 3: Grupos e indivíduos envolvidos concordam com seus compromissos relativos ao projeto de software

119 119 Engenharia de Software Estrutura Níveis de maturidade Key process areas Contêm Common features São organizadas por Key practices Contêm Indicam Capacidade do processo Atingem Metas Levam a Implementação ou institucionalização Descrevem Atividades ou infra-estrutura

120 120 Engenharia de Software Common features Compromisso de Executar (Commitment to Perform) Capacidade para Executar (Ability to Perform) Atividades Executadas (Activities Performed) Medição e Análise (Measurement and Analysis) Verificação da Implementação (Verifying Implementation)

121 121 Engenharia de Software Abordagem IDEAL Initiating Diagnosing Acting Leveraging Establishing

122 122 Engenharia de Software Motivos... Initiate (Iniciar) Diagnose (Diagnosticar) Establish (Estabelecer) Act (Agir) Leverage (Influenciar) Uma jornada de milhas começa com nada mais do que um simples passo. Se você não sabe onde está, um mapa não vai ajudá-lo. Se você não sabe para onde está indo, qualquer caminho serve. Se você não confere a rota, não saberá quando estiver fora do curso. Se os pioneiros não relatam que o caminho é seguro, os colonizadores não vão segui-los.

123 123 Engenharia de Software SEPG (Software Engineering Process Group) Grupo formado por profissionais da empresa. Direciona e facilita a implantação dos processos dos níveis do CMM. Diretamente relacionado ao aperfeiçoamento da qualidade dos processos de software em uma organização.

124 124 Engenharia de Software Estrutura: visão geral CMM níveis de maturidade KPA KPAs por nível de maturidade = 18 KPAs Meta = 52 metas 2-4 metas por KPA = 316 key practices 1-n Atividades que implementam os requisitos processuais e de infra-estrutura para institucionalizar o processo 5 common features por KPA com 1-n práticas cada 33333

125 Engenharia de Software PERGUNTAS?? Profa. Juliana Herbert - Centro de Ciências Exatas e Tecnológicas UNISINOS UNISINOS


Carregar ppt "Engenharia de Software Profa. Juliana Herbert Centro de Ciências Exatas e Tecnológicas UNISINOS2003/1."

Apresentações semelhantes


Anúncios Google