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

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

Engenharia de Software

Apresentações semelhantes


Apresentação em tema: "Engenharia de Software"— Transcrição da apresentação:

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

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 Engenharia de Software
Primeiro Exercício Avaliação de qualidade. Análise da escolha. Identificação de critérios.

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 Conceito de Qualidade NBR ISO 8402
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 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 Definições de Qualidade de Software
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 Engenharia de Software

12 Tratamento das Características
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 Engenharia de Software
Visões de Qualidade de Software Facilidade de Uso, Desempenho, Confiabilidade dos Resultados, Preço do Software, etc. usuário Taxa de defeitos, Facilidade de Manutenção e Conformidade em relação aos Requisitos de Usuários, etc desenvolvedor Cumprimento de Prazo, Boa Previsão de Custo, Boa Produtividade organização

14 Engenharia de Software
Qualidade de Software 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: avaliam aspectos de conformidade em relação aos requisitos dos clientes e também aspectos internos do software 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 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 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 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 Elementos da Engenharia de Software
Métodos. Ferramentas. Procedimentos. Objetivo comum: garantia da qualidade de software.

20 1. Qualidade do Produto de Software

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

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

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

24 Qualidade do Produto de Software
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 13596 Produto OK!!

26 Engenharia de Software
NBR 13596 Tradução da norma ISO/IEC 9126/1991. Tradução realizada pela ABNT - CE-21:101.01 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 Engenharia de Software
NBR 13596 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 Engenharia de Software
NBR 13596 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 Engenharia de Software
NBR 13596 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 Engenharia de Software
NBR 13596 Definições: 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: 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é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 Engenharia de Software
NBR 13596 Definições (continuação): Produto de software: entidade de software disponível para liberação do usuário. 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: totalidade das características de um produto de software que lhe confere a capacidade de satisfazer às necessidades explícitas e implícitas.

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

33 Engenharia de Software
NBR 13596 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 Engenharia de Software
NBR 13596 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 Engenharia de Software
NBR 13596 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 Engenharia de Software
NBR 13596 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 Engenharia de Software
NBR 13596 Manutenibilidade: “Conjunto de atributos que evidenciam o esforço necessário para fazer modificações especificadas no software.”

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

39 Engenharia de Software
NBR 13596 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 Engenharia de Software
NBR 13596 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 Visão da Qualidade pelo Usuário
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 Visão da Qualidade pela Equipe de Desenvolvimento
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 Visão da Qualidade pelo Gerente
Engenharia de Software Visão da Qualidade pelo Gerente Clientes Processo Vendas Marketing Suporte Técnico

44 Modelo do Processo de Avaliação
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 Engenharia de Software
NBR ISO/IEC 12119 Tradução da norma ISO/IEC 12119/1994. Tradução realizada pela ABNT - CE-21:101.01 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 Engenharia de Software
NBR ISO/IEC 12119 Palavras-chave: tecnologia de informação, processamento de dados, programas de computador, qualidade, pacotes de software. 13 páginas.

48 Engenharia de Software
NBR ISO/IEC 12119 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 Engenharia de Software
NBR ISO/IEC 12119 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 Engenharia de Software
NBR ISO/IEC 12119 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 Engenharia de Software
NBR ISO/IEC 12119 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 Engenharia de Software
NBR ISO/IEC 12119 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 Engenharia de Software
NBR ISO/IEC 12119 Definições: 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: 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 Engenharia de Software
NBR ISO/IEC 12119 Definições (continuação): 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: descrição de produto e a documentação de usuário;

55 Engenharia de Software
NBR ISO/IEC 12119 Definições (continuação): 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: parte da manutenção de sistemas que está relacionada à modificação do pacote de software;

56 Engenharia de Software
NBR ISO/IEC 12119 DP 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.

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

58 Documentação de Usuário
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 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 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 Relatório de Teste Produzido
Engenharia de Software Relatório de Teste Produzido 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 Autoria dos Slides sobre MEDE-PROS
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 Como saber se o produto é de qualidade segundo a visão do usuário?
Engenharia de Software Como saber se o produto é de qualidade segundo a visão do usuário? MEDE-PROS Método de Avaliação de Qualidade de Produto de Software O CTI desenvolveu o MEDE-PROS, que é o Método De Avaliação De Qualidade De Produto De Software, ou seja, uma forma de checar medir a qualidade de um produto de software segundo a visão do usuário, e tentamos não deixar passar nenhum detalhe que possa diminuir a qualidade ideal dos produtos de softwar LINK - Assim o MEDE-PROS tem por objetivo ...

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 Engenharia de Software
Avaliação da Qualidade de Produto de Software - MEDE-PROS Objetivo 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.

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

68 Engenharia de Software
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 Engenharia de Software
Base Teórica ISO/IEC 9126 ISO/IEC 14598 ISO/IEC 12119 Definições de Qualidade NBR 13596 Qualidade de Pacotes de Software NBR ISO/IEC12119 ISO/IEC Características da Q.Software ISO/IEC Visão Geral ISO/IEC ISO/IEC Métricas Externas Planej / Gerenciamento ISO/IEC ISO/IEC Processo de Desenvolvimento Métricas Internas ISO/IEC ISO/IEC Processo de Aquisição Qualidade em Uso ISO/IEC Processo p/ Avaliadores ISO/IEC Doc. Módulos de Avaliação Processo de Avaliação

70 Engenharia de Software
NBR 13596 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 Engenharia de Software
NBR ISO/IEC 12119 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

72 Engenharia de Software
ISO/IEC 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.

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

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

75 Engenharia de Software
Lista de Verificação DESCRIÇÃO DO PRODUTO EMBALAGEM NBR ISO/IEC 12119 NBR ISO/IEC 12119 DOCUMENTAÇÃO LINK - No MEDE-PROS consideramos que um produto de SW é composto por 5 Componentes e a Lista de Verificação obedece a esta composição ... A Embalagem, é o meio físico que acondiciona a mídia e os manuais do software. O Site, para produtos distribuídos pela Internet, também podem ser considerados como embalagem. A Descrição do Produto, que é um documento que expõe as propriedades do um produto de software, com o objetivo de auxiliar os potenciais usuários ou compradores, na avaliação da adequação do produto antes da compra. Também podem estar no Site da Empresa. A Documentação, é o conjunto completo de documentos, disponível na forma impressa, ou não, fornecida para utilização de um produto, sendo também uma parte integrante do produto. A Interface, que permite que as informações sejam passadas entre o usuário e os componentes de um sistema computacional O Software, cuja a avaliação é feita sobre o efeito produzido quando o software é executado. LINK - Vejamos o que é verificado, pela LV, em cada um destes 5 componentes ... ISO/IEC 9126 (NBR 13596) SOFTWARE ISO/IEC 9126 (NBR 13596) ISO/IEC 9126 (NBR 13596) INTERFACE ISO/IEC 9126 (NBR 13596)

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

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

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

79 Engenharia de Software
Lista de Verificação Componente: Interface 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 ...

80 Engenharia de Software
Lista de Verificação Componente: 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 ......

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

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

83 Relatório de Avaliação do MEDE-PROS®
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.

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

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

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

87 Chamada Nacional SOFTEX - 1997
Engenharia de Software Chamada Nacional SOFTEX Fortaleza # avaliadores: 6 # produtos: 16 São Carlos # avaliadores: 6 # produtos: 19 Campinas # avaliadores: 16 # produtos: 37 Porto Alegre # avaliadores: 10 # produtos: 28

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 Fortaleza Juiz de Fora São Carlos Campinas Londrina São Leopoldo

89 Engenharia de Software
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 Engenharia de Software

91 1. Processo de Software

92 Engenharia de Software
Processo de Software Processo: uma seqüência de etapas realizadas com um determinado propósito (IEEE). 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 Engenharia de Software
Processo de Software A D C B Procedimentos e métodos definindo o relacionamento das tarefas Processo Ferramentas e equipamentos Pessoas com habilidades, treinamento e motivação

94 Premissa do Gerenciamento do Processo de Software - SEI/CMU
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 Um Processo Imaturo (SEI/CMU)
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 Um Processo Maduro (SEI/CMU)
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 Processo Institucionalizado (SEI/CMU)
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 Benefícios de um Processo Maduro (SEI/CMU)
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 Missão Empresarial aos Estados Unidos
Engenharia de Software Missão Empresarial aos Estados Unidos Realizada de 9 a 17 de junho, de 2000. 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 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 Referência dos Slides sobre CMM
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 Engenharia de Software
Níveis de maturidade Melhoria contínua 5 Otimizando Processo previsível 4 Gerenciado Processo padronizado, consistente 3 Definido Processo disciplinado 2 Repetível 1 Inicial

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

105 Engenharia de Software
Visibilidade 5 In Out

106 Nível de maturidade = capacidade
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 1 Alvo N Tempo/$/... O Cronograma e a previsão de custos normalmente “estouram” em organizações Nível 1

107 Nível de maturidade = capacidade
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 2 Alvo N+a Tempo/$/... Os planos baseados na performance do passado são mais realistas em organizações Nível 2

108 Nível de maturidade = capacidade
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 3 Alvo N-x Tempo/$/... Com processos bem definidos, a performance aumenta em organizações Nível 3

109 Nível de maturidade = capacidade
Engenharia de Software Nível de maturidade = capacidade Probabilidade 5 Alvo N-z Tempo/$/... A performance evolui continuamente em organizações Nível 5 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

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

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

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

113 Engenharia de Software
Key process areas 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 Inicial 1

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 Repetitivo 2

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

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 Gerenciado 4

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

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

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 Engenharia de Software
Abordagem IDEAL Leveraging Acting Initiating Establishing Diagnosing

122 Engenharia de Software
Motivos... “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.” Initiate (Iniciar) Diagnose (Diagnosticar) Establish (Estabelecer) Act (Agir) Leverage (Influenciar)

123 SEPG (Software Engineering Process Group)
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 Estrutura: visão geral
Engenharia de Software Estrutura: visão geral CMM 1 2 3 4 5 5 níveis de maturidade KPA 6 7 2 3 0-7 KPAs por nível de maturidade = 18 KPAs Meta = 52 metas 2-4 metas por KPA 5 common features por KPA com 1-n práticas cada 3 Atividades que implementam os requisitos processuais e de infra-estrutura para institucionalizar o processo 1-n = 316 key practices

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


Carregar ppt "Engenharia de Software"

Apresentações semelhantes


Anúncios Google