Engenharia de Software Qualidade de Software



Documentos relacionados
Gerência de Projetos de Software Modelos de gerência. CMM: Capability Maturity Model ITIL: Information Technology Infrastructure Library MPS BR

Atividade da gerência da qualidade

Introdução Fatores de Qualidade Garantia de Qualidade Rivisões de Software Conclusão. Qualidade. Plácido A. S. Neto 1

Responsáveis. Conceito. COBIT Control objectives for information and related technology (Controle e governança de TI)

efagundes com GOVERNANÇA DE TIC Eduardo Mayer Fagundes Aula 3/4

Governança de TI. Governanca de TI. Objetivos. Governanca de TI - ESR - Confluence. 1 de 5 12/04/ :15

Qualidade de. Software. Definições. Qualidade do Produto ISO Processo de. Software. Modelo de Processo de. Software CMM SPICE ISO 12207

QUALIDADE DE SOFTWARE AULA N.7

Governança de TI. ITIL v.2&3. parte 1

MASTER IN PROJECT MANAGEMENT

Conhecimento em Tecnologia da Informação. CobiT 5. Apresentação do novo framework da ISACA Bridge Consulting All rights reserved

Enterprise Quality Management [EQM] Excelência em Gestão da Qualidade

Atividade: COBIT : Entendendo seus principais fundamentos

Gerenciamento de Níveis de Serviço

Curso preparatório para a certificação COBIT 4.1 Fundation

GERIC GERENCIAMENTO DO I.T.I.L E DO COBIT

CAPABILITY MATURITY MODEL INTEGRATION. Prof. Késsia R. C. Marchi

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Qualidade de Software: Visão Geral

PMONow! Serviço de Implantação de um Escritório de Projetos

Curso ITIL Foundation. Introdução a ITIL. ITIL Introduction. Instrutor: Fernando Palma fernando.palma@gmail.com

Profa. Gislaine Stachissini. Unidade III GOVERNANÇA DE TI

GARANTIA DA QUALIDADE DE SOFTWARE

Governança de TI. Professor: Ernesto Junior

Proposta. COBIT Fundamentos. Apresentação Executiva. COBIT - Fundamentos

15/09/2015. Gestão e Governança de TI. Modelo de Governança em TI. A entrega de valor. A entrega de valor. A entrega de valor. A entrega de valor

CobiT 5. Como avaliar a maturidade dos processos de acordo com o novo modelo? Conhecimento em Tecnologia da Informação

Governança. Sistemas de Informação 8º Período Prof: Mafran Oliveira

Proposta. ISO / 2011 Fundamentos. Apresentação Executiva. ISO / Fundamentos

Portfólio de Serviços. Gestão de Serviços de TI. Treinamento e Consultoria

Padrões de Qualidade de Software

GESTÃO DE SERVIÇOS DE TI: OTIMIZAÇÃO DE RECURSOS E PROCESSOS. Realização:

Qualidade de Software. Anderson Belgamo

SENAC GO. Gestão da Tecnologia da Informação. Tópicos especiais em administração. Professor Itair Pereira da Silva. Alunos: Eduardo Vaz

Qualidade de Software. Aécio Costa

Integrando o PSM ao COBIT

FACULDADE SENAC GOIÂNIA

O que é CMMI? Base do CMMI. Melhorando o processo é possível melhorar-mos o software. Gerais. Processo. Produto

Ambientação nos conceitos

Governança Corporativa. A importância da Governança de TI e Segurança da Informação na estratégia empresarial.

Profa. Celia Corigliano. Unidade IV GERENCIAMENTO DE PROJETOS DE TI

Auditoria e Qualidade de Software ISO/IEC 9126 Engenharia de Software Qualidade de Produto

MODELO SPICE Software Improvement and Capacibilty Determination Avalia o software com foco na melhoria de seus processos (identifica pontos fracos e

Qualidade de Processo de Software Normas ISO e 15504

Gestão de Projeto de Tecnologia da Informação

Gerenciamento de Serviços de TI ITIL v2 Módulo 1 Conceitos básicos

Secretaria de Gestão Pública de São Paulo. Guia de Avaliação de Maturidade dos Processos de Gestão de TI

CHECK - LIST - ISO 9001:2000

Responsáveis. Conceito. COBIT Control objectives for information and related technology (Controle e governança de TI)

Gerenciamento de Problemas

Proposta ITIL V3 HAND S ON. Apresentação Executiva. ITIL V3 Hand s ON

Fatores humanos de qualidade CMM E CMMI

Gerenciamento de Incidentes - ITIL. Prof. Rafael Marciano

Integração dos Modelos de Gestão de TI

ISO Aécio Costa

Gestão da Qualidade. Gestão da. Qualidade

PEDRO HENRIQUE DE OLIVEIRA E SILVA MESTRE EM MODELAGEM MATEMÁTICA E COMPUTACIONAL PEDROHOLI@GMAIL.COM CMM E CMMI

QUALIDADE DE SOFTWARE

QUALIDADE DE SOFTWARE

Introdução ao CMM (CapabilityMaturityModel) e CMMI (Capability Maturity Model Integration)

ITIL - Information Technology Infraestructure Library

Apresentação do Treinamento

Políticas de Qualidade em TI

Exercícios ITIL/COBIT

GESTÃO DE TI NAS ORGANIZAÇÕES CONTEMPORÂNEAS

MODELOS DE MELHORES GOVERNANÇA DE T.I. PRÁTICAS DA. Prof. Angelo Augusto Frozza, M.Sc.

Unidade I GERENCIAMENTO DE. Profa. Celia Corigliano

Governança de TI Prof. Carlos Henrique Santos da Silva, MSc

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

ENGENHARIA DE SOFTWARE I

APRENDA COMO GERENCIAR SEUS SERVIÇOS

A Biblioteca: Gerenciamento de Serviços de TI. Instrutor : Cláudio Magalhães cacmagalhaes@io2.com.br

Cobit e ITIL. Cobit. Planejamento e organização; Aquisição e implementação; Entrega e suporte; Monitoração.

INFORMAÇÕES ADICIONAIS

Tecnologia da Informação: Otimizando Produtividade e Manutenção Industrial

Curso Fundamentos de Gerenciamento de Serviços de TI baseado no ITIL V3

Universidade Paulista

Qualidade de Software

Transcrição:

Engenharia de Software Qualidade de Software O termo qualidade assumiu diferentes significados, em engenharia de software, tem o significado de está em conformidade com os requisitos explícitos e implícitos do cliente/usuário. 1. Critérios de Qualidade de um Software A qualidade de um sistema computacional pode ser determinada pela análise dos seguintes parâmetros : completeza performance manutenibilidade segurança interatividade confiabilidade interoperabilidade portabilidade 1.1 Completeza-Corretude Para ser completo-correto o projeto deve incorporar todos os requisitos essenciais detectados na fase de análise. 1.2 Performance Diz respeito ao desempenho da atividade, como um todo, a ser executada em meio computacional. Uma boa performance é caracterizada pelo uso adequado de recursos humanos, de hardware e de software disponíveis no mercado. Parâmetros que podem ser utilizados para avaliação da performance: Tempo de processamento Tempo de resposta Alguns fatores que afetam a performance de um sistema: Teclas de atalho Re-indexação de arquivos Tamanho da memória RAM Limpeza de arquivos e eliminação de arquivos temporários limpeza de tabelas de banco de dados indexação de campos com muitas pesquisas em banco de dados 1.3 Manutenibilidade Diz respeito a facilidade de se alterar o sistema físico em função de: - Erros do sistema 1

- Novas Necessidades do usuário - Alteração do Ambiente Os sistemas de maior grau de manutenibilidade são os construídos através de módulos pequenos, de fáceis compreensão e que implementem funções bem definidas. Tais funções devem trabalhar com o maior grau de independente possível. Para obtenção de uma maior grau de manutenibilidade devemos: - Reduzir o tamanho dos módulos - Melhorar a reusabilidade dos códigos - Separar trabalho de gerenciamento Tipos de manutenção: Corretiva relativa a erros de implementação diagnosticados no final da fase de testes ou quando o software já se encontra em uso. Adaptativa relativa a rápida mudança da tecnologia computacional (hardware e software básico) Perfectiva relativa a novas necessidades de usuários Preventiva Relativa a melhoria da confiabilidade e futuras manutenções do software. 1.4 Segurança Os sistemas devem ser dotados de dispositivos que permitam garantir a integridade do sistema (programas e dados). Tipos de ameaça a segurança de um sistema: Infiltração Ex: Acesso Indevido a programas e arquivos de dados Linhas cruzadas nas transmissões de dados Grampeamento nas transmissões de dados Erro do usuário Falha de Hardware e/ou Software básico Segurança contra acesso indevido Para minimizar o acesso indevido podemos utilizar: Criar classes de usuários limitando o acesso a dados e funcionalidades do sistema. Identificação do usuário através do uso de cartão ou codificação do usuário que possibilite a identificação deste ao sistema Autenticação do usuário através do uso de senha, Identificação /senha, reconhecimento de voz ou impressão digital 1.5 Interatividade Diz respeito a facilidade percebida pelo usuário para desempenhar sua função através da máquina(computador) 1.6 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 2

determinado. Isto diz respeito ao fato do sistema desempenhar a função pretendida com precisão durante um tempo determinado. 1.7 Interoperabilidade Diz respeito ao esforço exigido para se acoplar um sistema a outro(s), sendo desejável uma alta interoperabilidade nos sistemas. 1.8 Portabilidade Diz respeito ao esforço exigido para que o produto de software seja executado em outra plataforma de hardware e/ou software. 2. Processo de Software Um processo é definido como Qualidade, produtividade e competitividade. A qualidade é a característica inerente ao produto de software, enquanto a produtividade é a medida da eficácia do uso dos recursos para produzir este produto. A competitividade é a característica ou capacidade de cumprir a sua missão, na produção do produto de software com mais êxito que outras organizações competidoras o O Processo desenvolvimento de software pode ser implementado empregando-se técnicas e ferramentas de gestão de processo, tais como: ciclo PDCA Programa 5S CMM PSP SPICE COBIT UTIL RUP PMBOK SCRUM 2.1 ciclo PDCA O ciclo PDCA ( Plan, Do, Check, Act ) Planejar, executar, verificar e agir surgiu na década de 30 é tem como base o controle dos processos baseado nestas 4 atividades. No Plan se define o que fazer, estabelecendo metas e métodos para atingir a meta. No Do se toma a iniciativa, ou seja implementa-se o que se planejou. No check verifica-se que resultados estão sendo obtidos, isto é feito de forma contínua. Por fim, no Action se faz as correções, se necessário, de modo a melhorar o processo. 2.2 Programa 5S O Programa 5S é uma técnica japonesa e ocidentalizada como HOUSE KEEPING. Ele é uma filosofia de trabalho que busca promover a disciplina na empresa através de consciência e 3

responsabilidade de todos, de forma a tornar o ambiente de trabalho agradável, seguro e produtivo Suas 5 etapas são: Seuru que significa organizar e descartar onde deve-se classificar Seiton que significa arrumar Seiso que significa limpeza Seiketsu que significa padronização Shitsuke que significa disciplina 2.3 CMM O Modelo CMM(Capability Maturity Model), Modelo de Maturidade de Processos surgiu do esforço do Instituto de Engenharia de Software (SEI), que se dedicou a mapear as práticas de engenharia de software adotadas pelas empresas de software, de forma a criar uma estrutura onde, dependendo das práticas utilizadas, seria possível obter uma idéia do nível de qualidade em que se encontra a empresa. O seu o objetivo principal é servir como uma metodologia de avaliação (diagnóstico) e um sistema de gestão (para implementar as ações de melhoria). Modelo de Maturidade de Processos de Software (CMM/SEI). O modelo possui uma escala de 1 a 5 assim definidos: nível 1 - inicial, nível 2 - repetível, o processo é disciplinado nível 3 - definido, o processo é padronizado nível 4 - gerenciado, o processo é previsível nível 5 - em otimização, o processo está em melhoria contínua. No nível inicial o processo de desenvolvimento é caótico, desorganizado e pessoal. Poucos processos são definidos e o sucesso depende dos esforços individuais No nível repetitivo o processo de gerenciamento é definido permitindo-se acompanhar custos, cronogramas e funcionalidade é caracterizado como processo disciplinado, sendo possível repetir o sucesso de um projeto em outro similares. No nível definido tanto as atividades de gerenciamento quanto de engenharia de processo de desenvolvimento estão documentadas, padronizadas e integradas. Caracterizando assim um processo padronizado e consistente. No nível gerenciado são coletadas medidas detalhadas de qualidade do produto e do processo de desenvolvimento. Tanto o produto quanto o processo de desenvolvimento são constantemente controlados quantitativamente. Caracterizando assim um processo previsível. No nível Otimizado o melhoramento continuo do processo é conseguido por meio do Feedback quantitativo dos processo e pelo uso de ideias e tecnologias inovadores no processo de melhoria contínua. 2.4 PSP O PSP Personal Software Process é baseado no princípio da melhoria contínua. Sendo usado por empresas pequenas ou por engenheiros de software individuais. Seu objetivo é orientar como planejar e desenvolver módulos de software ou pequenos programas. 2.5 SPICE 4

O Spice (Software Process Improvement and Capability Determination ) é uma evolução da ISO/TEC 12207 mas possui níveis de capacidade para cada processo assim como CMM. Seus níveis são: Nível 0 - Incompleto Há uma falha geral em realizar o objetivo do processo. Não existem produtos de trabalho nem saídas do processo facilmente identificáveis. Nível 1 Realizado O objetivo do processo em geral é atingido, embora não necessariamente de forma planejada e controlada. Há um consenso na organização de que as ações devem ser realizadas e quando são necessárias. Nível 2 Gerenciado O processo produz os produtos de trabalho com qualidade aceitável e dentro do prazo. Isto é feito de forma planejada e controlada. Os produtos de trabalho estão de acordo com padrões e requisitos. Nível 3 Estabelecido O processo é realizado e gerenciado usando um processo definido, baseado em princípios de Engenharia de Software. As pessoas que implementam o processo usam processos aprovados, que são versões adaptadas do processo padrão documentado. Nível 4 Predizível O processo é realizado de forma consistente, dentro dos limites de controle, para atingir os objetivos. Medidas da realização do processo são coletadas e analisadas. Isto leva a um entendimento quantitativo da capacitação do processo a uma habilidade de predizer a realização. Nível 5 Otimizado A realização do processo é otimizada para atender às necessidade atuais e futuras do negócio. O processo atinge seus objetivos de negócio e consegue ser repetido. São estabelecidos objetivos quantitativos de eficácia e eficiência para o processo, segundo os objetivos da organização. A monitoração constante do processo segundo estes objetivos é conseguida obtendo feedback quantitativo e o melhoramento é conseguido pela análise dos resultados. A otimização do processo envolve o uso piloto de idéias e tecnologias inovadoras, além da mudança de processos ineficientes para atingir os objetivos definidos. 2.6 COBIT O COBIT ( Control Objectives for Information and related Technology) é um guia de boas práticas de projeto de desenvolvimento. Seu foco é a gestão de tecnologia de informação (TI), sendo apoiado pelo ISACA (Information Systems Audit and Control Association ). Este guia tem o objetivo de apoiar os gestores e os profissionais no controle e gerenciamento dos processos de TI de forma lógica e estruturada, tendo como foco: o relacionamento entre os objetivos de negócio com os objetivos de TI. O Cobit é um modelo utilizado internacionalmente como um instrumento (de fomento) da Governança de TI. Seus principais recursos são framework; mapas de auditoria; sumário executivo; Objetivos de Controle (propósito a ser alcançado ou o resultado a ser atingido); guia técnicas de gerenciamento ferramentas quanto à implementação do modelo. 5

2.7 ITIL O ITIL (Information Technology Infrastructure Library) ou Biblioteca de Infra-Estrutura de TI é um conjunto de melhores práticas para a gestão de serviços em TI e para o alinhamento desta área com os negócios da empresa. Estas práticas estão especificadas em sete livros (daí o termo biblioteca ), dentre os quais os dois primeiros são mais conhecidos: Suporte a Serviços e Entrega de Serviços. O ITIL não é metodologia nem um manual de instruções. Ele deve ser considerado uma estrutura flexível que pode ser adaptada às necessidades de cada companhia. Modelos como ITIL e COBIT habilitam integração entre atividades e estruturas organizacionais típicas das áreas de desenvolvimento de software e de operação de sistemas de TI 2.8 PMBOK O PMBOK é um conjunto de práticas em gerencia de projetos publicado e mantido pelo PMI (Project Manangement Institute). Ele é organizado em 44 processos distribuído em 5 grupos com 9 áreas de conhecimento Os grupos dos processos são: Iniciação, Planejamento, Monitoramento, Execução, Encerramento. As nove áreas são são: integração, Escopo, Tempo, Custo, Qualidade, Recursos. Humanos, Comunicação, Riscos e Aquisição 2.9 SCRUM É uma metodologia Japonesa desenvolvimento de software desenvolvida para o gerenciamento de projetos de 3 Normas que visam a qualidade Hoje existem normas e órgãos que visão a qualidade do produto de software. Dentre eles podemos citar: ISO 9000-3 ISO/IEC 12207 ISO/IEC 14598 ISO/IEC 9126 ISO/IEC 12119 ABES SOFTEX ISACA 6