SlideShare uma empresa Scribd logo
1 de 42
Professor Roberto Nunes
Gerenciamento e Qualidade de
Software
Gerenciamento da Qualidade de Software
A qualidade de um produto hoje tem importância fundamental para
disputar a concorrência com as empresas do ramo.
A qualidade hoje é um pré-requisito para as empresas que querem estar
sempre no mercado de forma ativa.
Embora a ideia de qualidade possa parecer um tanto intuitiva e de
pouca complexidade, quando estudada com mais atenção, podemos ver
que é algo que exige além do que imaginado.
Gerenciamento da Qualidade de Software
Um software sem qualidade pode ocasionar erros catastróficos e de
grande custo de manutenção para as empresas de softwares.
A qualidade de hoje é a grande motivadora em todas as áreas, todos
querem receber e fornecer produtos com qualidade.
Um software de qualidade tem impacto sobre milhares de pessoas, pois
ele poderá disponibilizar serviços essenciais, irá gerar competitividade
entre empresas e etc.
Gerenciamento da Qualidade de Software
A qualidade de um software está ligada aos requisitos solicitados pelo
cliente e em conformidade as regras de desenvolvimento.
Existem inúmeros conceitos que nos auxiliam a manter a qualidade do
software.
Visando melhorar o entendimento sobre o assunto, veremos o conceito
de qualidade de software, tratando a importância dos requisitos.
Gerenciamento da Qualidade de Software
Princípios da Qualidade de Software
Um dos principais desafios encontrados pelos profissionais é definir o
que é qualidade na atualidade.
Muitas são as definições de qualidade de software propostas hoje em
dia.
Qualidade de software pode ser definida como: “Conformidade a
requisitos funcionais e de desempenho explicitamente declarados, a
padrões de desenvolvimento claramente documentados e a
características implícitas que são esperadas de todos software
profissionalmente desenvolvido.”(PRESMANN, 2007).
Gerenciamento da Qualidade de Software
Em todas as fases do processo de desenvolvimento de um software
acontecem defeitos e imprevistos, eles são causados geralmente por
erros lógicos, de interpretação, desconhecimento de técnicas, falta de
atenção, de motivação, falta de requisitos detalhados e outros.
Sabendo disso podemos afirmar que a garantia de qualidade não é algo
que deve ser pensado no fim do projeto, mas sim durante todo o
processo de desenvolvimento do projeto ou produto.
Essa atividade irá ajudar a remover os defeitos existentes em cada fase.
O fato de ser detectado no começo do desenvolvimento traz benefícios
para o projeto, pois quanto mais tarde uma falha for corrigida mais cara
será sua correção.
Gerenciamento da Qualidade de Software
A garantia da qualidade no desenvolvimento de um software tem uma
série de prevenções que podem ser tomadas para que os problemas
que possam por ventura surgir num projeto, sejam mínimos, ou não
existam.
E existem técnicas/práticas que podem nos auxiliar na missão de manter
a qualidade do software.
Entre elas estão a utilização das práticas, CMM, CMMI, MPS.BR norma
ISO /IEC 9126 e também os testes.
Gerenciamento da Qualidade de Software
Atingindo a Qualidade de Software
CMM
O CMM (Capability Maturity Model) é uma série de práticas que estão
organizadas em cinco níveis crescentes de maturidade. Os níveis são:
• Inicial: Nesse nível a organização ainda está instável, os projetos
custam mais do que previsto e por mais que o projeto seja concluído
ele poderá extrapolar os prazos e custos que foram definidos;
• Repetitivo: Começa a se existir políticas e procedimentos para se
desenvolver o software, o desenvolvimento do projeto é
acompanhado e os planos são revisados;
Gerenciamento da Qualidade de Software
• Definido: Os processos que serão utilizados serão padrão em toda a
organização;
• Gerenciado: Nesse nível se define as métricas quantitativas para seu
projeto, essas medidas são avaliadas e analisadas com frequência;
• Otimização: Neste nível a organização atingiu todas as metas
especificas na área de processos dos níveis anteriores. É necessário
manter o foco, para continuar a diminuir o retrabalho e custos
desnecessários.
Gerenciamento da Qualidade de Software
CMMI
O CMMI (Capability Maturity Model Integration – Modelo Integrado de
Capacitação e Maturidade) é uma coleção das melhores práticas
necessárias, para apoiar o desenvolvimento, serviços aquisições e
manutenção de um projeto.
O CMMI foi desenvolvido em 1992 pela SEI (Software Engineering
Institute), um centro de pesquisas e desenvolvimento que é patrocinado
pelo departamento de defesa dos EUA.
Possui o foco voltado para a capacidade de maturidade de processos de
software, a versão atual possui três modelos:
Gerenciamento da Qualidade de Software
O CMMI é caracterizado por níveis de capacidade:
Nível 0 Incompleto: Nesse nível o processo não é realizado, ou ele é
implementado, porém um ou mais objetivos da área de processo não é
satisfatório;
Nível 1 Realizado: É necessário que todos os objetivos específicos sejam
executados e alcançados;
Nível 2 Gerenciado: Define-se objetivos e requisitos, o processo é
monitorado, revisado e controlado;
Gerenciamento da Qualidade de Software
Nível 3 Definido: É definido um processo que será utilizado e ele deve
ser melhorado constantemente. Esse processo que foi definido deve ser
descrito e executado de maneira mais rigorosa;
Nível 4 Gerenciado quantitativamente: O processo é definido e
controlado quantitativamente, por exemplo, aplicando-se técnicas
estatísticas. Esse nível foi removido no CMMI 1.3;
Nível 5 Em otimização: Foco na melhoria contínua do desempenho, é
realizado melhorias tecnológicas. Também removido no CMMI 1.3.
Gerenciamento da Qualidade de Software
O CMMI proporciona maior confiabilidade no que se refere prazos e
custos que são acordados no início do desenvolvimento do sistema.
A qualidade dos softwares criados baseados no CMMI é ocasionada por
processos bem definidos e controlados e a busca contínua nos
processos cotidianos.
O CMMI foi criado para integrar os modelos CMM apresentados nesse
artigo, a fim de suprir as limitações desses modelos, com a criação de
um método comum, permitindo a representação contínua com áreas de
processos independentes dos níveis de maturidade.
Gerenciamento da Qualidade de Software
MPS.BR
O modelo Melhoria de Processo de Software Brasileiro (MPS.BR) assim
como o CMMI, é baseado em níveis de maturidades, voltado para
pequenas e médias empresas e adaptado para perfil cultural das
empresas brasileiras tendo como objetivo definir e aprimorar um
modelo de melhoria e avaliação de processo de software de modo
compatível com os padrões internacionais de qualidade de software.
O MPS.BR é coordenado pela Associação para Promoção da Excelência
da Software Brasileiro (SOFTEX) e conta com o apoio do Ministério da
Ciência e Tecnologia (MCT), Financiadora de Estudos e Projetos (FINEP)
e do Banco Interamericano de Desenvolvimento (BID) (SOFTEX, 2009).
Gerenciamento da Qualidade de Software
MPS.BR
A escala de níveis pode ser expressa da seguinte forma:
• G – Parcialmente Gerenciado
• F – Gerenciado
• E – Parcialmente Definido
• D – Largamente Definido
• C – Definido
• B – Gerenciado Quantitativamente
• A – Em Otimização
Gerenciamento da Qualidade de Software
Gerenciamento da Qualidade de Software
ISO /IEC 9126
A norma ISO (Organização Internacional para Normalização) 9126 foi
criada para a qualidade de software, que se enquadra no modelo das
normas da família ISO 9000, que é composta por uma série de normas
internacionais que cuidam da manutenção de um sistema de gestão de
qualidade com base nos oito princípios de gestão da qualidade, que são:
Foco no cliente, liderança, envolvimento das pessoas, abordagem por
processos, abordagem sistêmica para a gestão, melhoria contínua,
abordagem factual para a tomada de decisão e relações mutuamente
benéficas com os fornecedores. Contudo, o detalhamento desses
princípios não é o foco desse artigo.
Gerenciamento da Qualidade de Software
A norma ISO/IEC 9126 estabelece os seguintes componentes:
O Processo de desenvolvimento afeta a qualidade do software gerado.
Além disso, é influenciado pela natureza do produto;
O Produto, que compreende a qualidade do produto de software, estes
por sua vez divididos em internos e externos;
A qualidade em uso, que compreende na comparação da qualidade do
software em cada contexto específico.
Essa norma propõe atributos de qualidade, e são distribuídos em seis
características e cada características é dividida em sub características,
são elas:
Gerenciamento da Qualidade de Software
Funcionalidade – Verifica a capacidade de o software prover as
funcionalidades que foram definidas e requisitadas. As sub
características são: Adequação, onde mede o quanto as funcionalidades
são adequadas às necessidades do usuário. Precisão, é a capacidade de
o software fornecer os resultados precisos de acordo com o que foi
solicitado. Interoperabilidade, como o software interage com outro
sistema. Segurança, a capacidade de o software proteger os dados do
sistema.
Confiabilidade – Verifica se o produto continua no nível de desempenho
das condições que foram estabelecidas. As sub-características são:
Maturidade, onde se evita que as falhas do software sejam decorrentes
de outro software. Tolerância a falhas, o software se mantém
funcionando independente dos defeitos que ocorrem nele ou
externamente. Recuperabilidade, o software se recupera depois de uma
falha e restabelece seus níveis de desempenho.
Gerenciamento da Qualidade de Software
Usabilidade – O software é compreendido, o funcionamento aprendido
e é atraente para o usuário. Possui quatro sub-características,
inteligibilidade onde é avaliado se o usuário compreende as
funcionalidades do sistema e avalia se satisfaz as suas necessidades,
apreensibilidade identifica a facilidade de aprendizado do sistema para
os usuários, operacionalidade verifica a maneira que o produto facilita a
operação por parte do usuário, atratividade são as características que
podem atrair um potencial usuário.
Eficiência – Se o tempo de execução e os recursos são compatíveis com
o nível de desempenho do sistema. Comportamento em relação ao
tempo, avalia se o tempo de resposta estão de acordo com as
requisições e Utilização de recursos, identifica tanto os recursos
consumidos quanto a capacidade quem o sistema possui para utilizar os
recursos. São as sub-características.
Gerenciamento da Qualidade de Software
Manutenibilidade – A capacidade que o software tem em ser
modificado, melhorado e sua capacidade de inclusão de extensões. As
sub-características: Analisibilidade verifica a facilidade de diagnosticar
os problemas e as suas causas. Modificabilidade, a capacidade do
software em ser alterado. Estabilidade, identifica a capacidade de o
sistema evitar efeitos colaterais devidos as modificações.
Portabilidade – Verifica a capacidade do sistema se transferido de um
ambiente para outro. Adaptabilidade, capacidade para ser instalado,
coexistência e capacidade para substituir são as sub-características.
Gerenciamento da Qualidade de Software
Testes de software
Os testes de software têm a finalidade de fornecer informações sobre o
comportamento do seu software.
Mesmo realizando testes é impossível garantir que sua aplicação fique
isenta de erros, porém eles lhe dão uma margem de segurança maior.
As falhas podem surgir por diversos motivos, à especificação do
projeto/atividade pode está incompleta ou errada, deve ser levado em
conta também as limitações que o software pode possuir, o tamanho do
projeto pode ser extenso e muitas pessoas trabalharem no mesmo,
podendo gerar assim inúmeros conflitos no desenvolvimento.
Gerenciamento da Qualidade de Software
Dimensões da Qualidade
Garvin (1992) identifica oito dimensões com vistas a conhecer seus
elementos básicos e chegar a um melhor entendimento da qualidade:
• Desempenho,
• Características/Especificações
• Confiabilidade,
• Conformidade,
• Durabilidade,
• Atendimento ao cliente,
• Estética/Imagem,
• Qualidade percebida.
Gerenciamento da Qualidade de Software
Desempenho:
Aspecto operacional básico de qualquer produto. São as características
finais do produto e do uso que o cliente deseja.
Características/Especificações:
Característica ou especificação que diferencia um produto de seus
concorrentes. Especificações de engenharia que envolvem o uso de alta
tecnologia. Características complementares que superam as funções
básicas do produto.
Confiabilidade
Grau de isenção de falhas de um produto.
Gerenciamento da Qualidade de Software
Conformidade
Reflete a visão mais tradicional da qualidade.
Durabilidade
Medida da vida útil de um produto, analisada tanto por aspectos
técnicos quanto econômicos. Quantidade de tempo de uso que pode ser
obtida de um produto, antes dele se deteriorar fisicamente.
Atendimento ao cliente
Rapidez, cortesia, competência e facilidade de reparo.
Gerenciamento da Qualidade de Software
Estética/Imagem
É uma dimensão subjetiva. Relaciona-se com a aparência do produto, o
que se sente com ele, qual seu som, sabor, cheiro, etc. É um julgamento
pessoal e reflexo das preferências individuais.
Qualidade percebida
Resultado da falta de informações completas sobre um produto ou os
atributos de serviço que levam os consumidores a fazer comparação
entre marcas e daí inferir sobre qualidade. Reputação é um dos
principais fatores que contribuem para a qualidade percebida. Grau que
um produto provoca reação inicial positiva ou negativa no mercado a
qual se destina. Consumidores nem sempre conhecem o produto, então
usam bases comparativas indiretas, baseadas na percepção.
Gerenciamento da Qualidade de Software
O dilema da Qualidade
Se produzirmos um software de péssima qualidade, perdemos porque
ninguém irá querer comprá-lo. Se, por outro lado, gastamos um tempo
infinito, um esforço extremamente grande e grandes somas de dinheiro
para construir um software absolutamente perfeito, então isso levará
muito tempo para ser finalizado, além do custo de desenvolvimento.
Desta forma, os profissionais tentam encontrar aquele meio termo
mágico onde o produto é suficientemente bom para não ser rejeitado
logo de cara, como, por exemplo, durante uma avaliação, mas também
não é o objeto de tamanho perfeccionismo.
Gerenciamento da Qualidade de Software
Afinal o que é Qualidade de Software?
Para definir qualidade de software podemos afirmar que a qualidade de
software é uma área de conhecimento em engenharia de software e seu
objetivo é garantir a qualidade do software através da definição e
normatização de processos de desenvolvimento.
Lindas palavras! Certo?
Mas o que isso significa de verdade?
Gerenciamento da Qualidade de Software
O conceito de qualidade é muito subjetivo, pois está relacionado
diretamente com a percepção de cada indivíduo. A minha visão de
qualidade, como desenvolvedor, por exemplo, não é a mesma do
cliente.
Falando de um produto ou serviço podemos dizer que qualidade é
quando estes estão atendendo as exigências dos clientes, tem uma boa
relação custo/benefício, sua utilização é de fácil adequação e tem um
grande valor agregado.
Quando falamos de qualidade de software, temos que analisar dois
aspectos bem diferentes.
Gerenciamento da Qualidade de Software
Do ponto de vista do Desenvolvedor qualidade é quando o software
desenvolvido é produzido com a utilização de técnicas adequadas e
boas práticas para o desenvolvimento, atendendo as exigências do
cliente, não importa quais técnicas ou ferramentas são utilizadas.
Já no que diz respeito ao cliente, seu software terá a qualidade
reconhecida se trouxer retorno ao mesmo e em geral tiver um baixo
custo.
Gerenciamento da Qualidade de Software
Devido a estas diferentes visões, a qualidade de software mostra a sua
grande importância no processo de desenvolvimento, pois na verdade
sua função é garantir que o software que será entregue ao cliente no
fim do projeto, atenderá a todas as suas expectativas e que mesmo que
sem saber, o cliente receberá um produto desenvolvido com a utilização
de boas práticas e técnicas de desenvolvimento adequadas.
Para garantir a qualidade de um software existem diversas técnicas,
modelos de controle e garantia de qualidade que podem ser adotadas.
Cenário atual
Equipamentos de diferentes tecnologias
Equipamentos de diferentes fabricantes
Soluções proprietárias de gerência
Redes heterogêneas
Equipamentos heterogêneos
Soluções isoladas
Redes isoladas
32
Cenário de Soluções de Gerência
Integradas
33
Ferramentas Monitoramento
• Monitor de Sistema - Desempenho.
• Desempenho Logs e Alertas.
• Visualizado de Eventos.
• Gerenciador de Tarefas.
Monitor de Sistema
• Fornece visualização simples de
desempenho do Servidor em gráficos e
relatórios.
• Da saída em tempo real sobre informações
de monitoramento em um navegador.
• Mostra a utilização dos recursos como
processador, memória e espaço em disco
pelos processos.
Logs e Alertas Desempenho
• Monitora a pressão e o desempenho do
sistema durante um período de tempo.
• Controla automaticamente os valores
mínimo, máximo, médio e corrente dos
valores importantes do sistema.
• Envia alertas para o log de eventos.
Visualizado de Eventos
• Mantém vários logs de eventos separados no
servidor.
• Existem vários tipos de Logs:
Log Sistema
Log Segurança
Log Aplicativo
Log Serviço do AD
Log Serviço de DNS
Log Duplicação de Arquivo
Log de Sistema
• Registra o início e parada de serviços
e todos os eventos relacionados ao
sistema.
Exemplo: Mensagem de erro ao ligar o
sistema.
Log de Segurança
• Registra todos os eventos que passam
por auditoria, relacionados aos
problemas de segurança.
Exemplo : Usuários acessando
arquivos.
Log de Aplicativo
Registra eventos específicos de um aplicativo.
Exemplo : Licenciamento, backups e o sucesso de aplicação de
planos de segurança.
Gerenciador de Tarefas
Aplicativos – Mostra se os aplicativos estão ou não respondendo.
Processos - Lista todos os processos que estão em execução no
servidor.
Desempenho – Exibe a utilização do processador e memória.
Rede – Exibe a utilização corrente da rede para conexão do
servidor com a rede.
Usuários – Lista sessões local e remota da área de trabalho
correntes, conectadas com o servidor.
Obrigado!
Bons Estudos.

Mais conteúdo relacionado

Mais procurados

Slide apresentação CMMI-TOGAF
Slide apresentação CMMI-TOGAFSlide apresentação CMMI-TOGAF
Slide apresentação CMMI-TOGAFEdton Lemos
 
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixCris Fidelix
 
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane FidelixIntrodução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane FidelixCris Fidelix
 
Conceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareConceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareRonney Moreira de Castro
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de softwareJoao Johanes
 
Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de Softwareelliando dias
 
Verificação e validação de software
Verificação e validação de softwareVerificação e validação de software
Verificação e validação de softwareLeonardo Melo Santos
 
Artigo - OS FUNDAMENTOS DE TESTE DE SOFTWARE E SUA IMPORTÂNCIA NA QUALIDADE D...
Artigo - OS FUNDAMENTOS DE TESTE DE SOFTWARE E SUA IMPORTÂNCIA NA QUALIDADE D...Artigo - OS FUNDAMENTOS DE TESTE DE SOFTWARE E SUA IMPORTÂNCIA NA QUALIDADE D...
Artigo - OS FUNDAMENTOS DE TESTE DE SOFTWARE E SUA IMPORTÂNCIA NA QUALIDADE D...Luiz Ladeira
 
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software Cloves da Rocha
 
X-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de SoftwareX-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de SoftwareAlexandreBartie
 
Áreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de SoftwareÁreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de SoftwareElaine Cecília Gatto
 
QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE
QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWAREQUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE
QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWAREFabiano Souza
 
Introdução a Qualidade de Software
Introdução a Qualidade de SoftwareIntrodução a Qualidade de Software
Introdução a Qualidade de SoftwareIgor Takenami
 

Mais procurados (20)

Slide apresentação CMMI-TOGAF
Slide apresentação CMMI-TOGAFSlide apresentação CMMI-TOGAF
Slide apresentação CMMI-TOGAF
 
Qualidade de software
Qualidade de softwareQualidade de software
Qualidade de software
 
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
 
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane FidelixIntrodução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
 
Conceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de softwareConceitos de básicos de qualidade de software
Conceitos de básicos de qualidade de software
 
Qualidade de software
Qualidade de softwareQualidade de software
Qualidade de software
 
152191 11993
152191 11993152191 11993
152191 11993
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de Software
 
Engenharia de software
Engenharia de softwareEngenharia de software
Engenharia de software
 
Introdução à Engenharia de Software
Introdução à Engenharia de SoftwareIntrodução à Engenharia de Software
Introdução à Engenharia de Software
 
Verificação e validação de software
Verificação e validação de softwareVerificação e validação de software
Verificação e validação de software
 
Aula2 processos sw
Aula2 processos swAula2 processos sw
Aula2 processos sw
 
Artigo - OS FUNDAMENTOS DE TESTE DE SOFTWARE E SUA IMPORTÂNCIA NA QUALIDADE D...
Artigo - OS FUNDAMENTOS DE TESTE DE SOFTWARE E SUA IMPORTÂNCIA NA QUALIDADE D...Artigo - OS FUNDAMENTOS DE TESTE DE SOFTWARE E SUA IMPORTÂNCIA NA QUALIDADE D...
Artigo - OS FUNDAMENTOS DE TESTE DE SOFTWARE E SUA IMPORTÂNCIA NA QUALIDADE D...
 
Aula 02
Aula 02Aula 02
Aula 02
 
Analise aula2
Analise aula2Analise aula2
Analise aula2
 
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
 
X-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de SoftwareX-Zone - Garantia da Qualidade de Software
X-Zone - Garantia da Qualidade de Software
 
Áreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de SoftwareÁreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de Software
 
QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE
QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWAREQUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE
QUALIDADE, SEGURANÇA E CONFIABILIDADE DE SOFTWARE
 
Introdução a Qualidade de Software
Introdução a Qualidade de SoftwareIntrodução a Qualidade de Software
Introdução a Qualidade de Software
 

Semelhante a Gerenciamento da Qualidade de Software 2.pptx

Apres. eng. de software
Apres. eng. de softwareApres. eng. de software
Apres. eng. de softwareWilliam Gomes
 
3. apresentacao rp tec com 2018 gustavo bernardes
3. apresentacao rp tec com 2018 gustavo bernardes3. apresentacao rp tec com 2018 gustavo bernardes
3. apresentacao rp tec com 2018 gustavo bernardesMatheus de Lara Calache
 
Qualidade de software, muito além dos testes - RP Tec Com - 2018
Qualidade de software, muito além dos testes - RP Tec Com - 2018 Qualidade de software, muito além dos testes - RP Tec Com - 2018
Qualidade de software, muito além dos testes - RP Tec Com - 2018 Gustavo Bernardes
 
Engenharia de software apostila analise de requisitos ii
Engenharia de software   apostila analise de requisitos iiEngenharia de software   apostila analise de requisitos ii
Engenharia de software apostila analise de requisitos iirobinhoct
 
PROPOSTA DE ADAPTAÇÃO DAS PRÁTICAS DO SCRUM PARA O MPS.BR NIVEL G
PROPOSTA DE ADAPTAÇÃO DAS PRÁTICAS DO SCRUM PARA O MPS.BR NIVEL GPROPOSTA DE ADAPTAÇÃO DAS PRÁTICAS DO SCRUM PARA O MPS.BR NIVEL G
PROPOSTA DE ADAPTAÇÃO DAS PRÁTICAS DO SCRUM PARA O MPS.BR NIVEL Gjrnavarro
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de SoftwareRafael Silva
 
Apresentação qualidade og day
Apresentação qualidade og dayApresentação qualidade og day
Apresentação qualidade og dayRafael Silva
 
Qualidade de Software - OpenGEO Day2010
Qualidade de Software - OpenGEO Day2010Qualidade de Software - OpenGEO Day2010
Qualidade de Software - OpenGEO Day2010Raphael Reis
 
Melhoria de processos do software brasileiro
Melhoria de processos do software brasileiroMelhoria de processos do software brasileiro
Melhoria de processos do software brasileiroingrid_fatec
 
Gerenciamento PDS
Gerenciamento PDSGerenciamento PDS
Gerenciamento PDSFatec Jales
 
Trabalho qualidade de_software
Trabalho qualidade de_softwareTrabalho qualidade de_software
Trabalho qualidade de_softwarestefaniak2004
 

Semelhante a Gerenciamento da Qualidade de Software 2.pptx (20)

Apres. eng. de software
Apres. eng. de softwareApres. eng. de software
Apres. eng. de software
 
Cmmi e mps.Br
Cmmi e mps.BrCmmi e mps.Br
Cmmi e mps.Br
 
3. apresentacao rp tec com 2018 gustavo bernardes
3. apresentacao rp tec com 2018 gustavo bernardes3. apresentacao rp tec com 2018 gustavo bernardes
3. apresentacao rp tec com 2018 gustavo bernardes
 
Qualidade de software, muito além dos testes - RP Tec Com - 2018
Qualidade de software, muito além dos testes - RP Tec Com - 2018 Qualidade de software, muito além dos testes - RP Tec Com - 2018
Qualidade de software, muito além dos testes - RP Tec Com - 2018
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de Software
 
Engenharia de software apostila analise de requisitos ii
Engenharia de software   apostila analise de requisitos iiEngenharia de software   apostila analise de requisitos ii
Engenharia de software apostila analise de requisitos ii
 
PROPOSTA DE ADAPTAÇÃO DAS PRÁTICAS DO SCRUM PARA O MPS.BR NIVEL G
PROPOSTA DE ADAPTAÇÃO DAS PRÁTICAS DO SCRUM PARA O MPS.BR NIVEL GPROPOSTA DE ADAPTAÇÃO DAS PRÁTICAS DO SCRUM PARA O MPS.BR NIVEL G
PROPOSTA DE ADAPTAÇÃO DAS PRÁTICAS DO SCRUM PARA O MPS.BR NIVEL G
 
CMM e CMMI
CMM e CMMICMM e CMMI
CMM e CMMI
 
CMM e CMMI
CMM e CMMICMM e CMMI
CMM e CMMI
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de Software
 
Mpsbr
MpsbrMpsbr
Mpsbr
 
O que e cmm
O que e  cmmO que e  cmm
O que e cmm
 
Slide sobre Mps.br
Slide sobre Mps.brSlide sobre Mps.br
Slide sobre Mps.br
 
Artigo corrigido
Artigo corrigidoArtigo corrigido
Artigo corrigido
 
Apresentação qualidade og day
Apresentação qualidade og dayApresentação qualidade og day
Apresentação qualidade og day
 
Qualidade de Software - OpenGEO Day2010
Qualidade de Software - OpenGEO Day2010Qualidade de Software - OpenGEO Day2010
Qualidade de Software - OpenGEO Day2010
 
Melhoria de processos do software brasileiro
Melhoria de processos do software brasileiroMelhoria de processos do software brasileiro
Melhoria de processos do software brasileiro
 
Gerenciamento PDS
Gerenciamento PDSGerenciamento PDS
Gerenciamento PDS
 
Xpmg
XpmgXpmg
Xpmg
 
Trabalho qualidade de_software
Trabalho qualidade de_softwareTrabalho qualidade de_software
Trabalho qualidade de_software
 

Gerenciamento da Qualidade de Software 2.pptx

  • 1. Professor Roberto Nunes Gerenciamento e Qualidade de Software
  • 2. Gerenciamento da Qualidade de Software A qualidade de um produto hoje tem importância fundamental para disputar a concorrência com as empresas do ramo. A qualidade hoje é um pré-requisito para as empresas que querem estar sempre no mercado de forma ativa. Embora a ideia de qualidade possa parecer um tanto intuitiva e de pouca complexidade, quando estudada com mais atenção, podemos ver que é algo que exige além do que imaginado.
  • 3. Gerenciamento da Qualidade de Software Um software sem qualidade pode ocasionar erros catastróficos e de grande custo de manutenção para as empresas de softwares. A qualidade de hoje é a grande motivadora em todas as áreas, todos querem receber e fornecer produtos com qualidade. Um software de qualidade tem impacto sobre milhares de pessoas, pois ele poderá disponibilizar serviços essenciais, irá gerar competitividade entre empresas e etc.
  • 4. Gerenciamento da Qualidade de Software A qualidade de um software está ligada aos requisitos solicitados pelo cliente e em conformidade as regras de desenvolvimento. Existem inúmeros conceitos que nos auxiliam a manter a qualidade do software. Visando melhorar o entendimento sobre o assunto, veremos o conceito de qualidade de software, tratando a importância dos requisitos.
  • 5. Gerenciamento da Qualidade de Software Princípios da Qualidade de Software Um dos principais desafios encontrados pelos profissionais é definir o que é qualidade na atualidade. Muitas são as definições de qualidade de software propostas hoje em dia. Qualidade de software pode ser definida como: “Conformidade a requisitos funcionais e de desempenho explicitamente declarados, a padrões de desenvolvimento claramente documentados e a características implícitas que são esperadas de todos software profissionalmente desenvolvido.”(PRESMANN, 2007).
  • 6. Gerenciamento da Qualidade de Software Em todas as fases do processo de desenvolvimento de um software acontecem defeitos e imprevistos, eles são causados geralmente por erros lógicos, de interpretação, desconhecimento de técnicas, falta de atenção, de motivação, falta de requisitos detalhados e outros. Sabendo disso podemos afirmar que a garantia de qualidade não é algo que deve ser pensado no fim do projeto, mas sim durante todo o processo de desenvolvimento do projeto ou produto. Essa atividade irá ajudar a remover os defeitos existentes em cada fase. O fato de ser detectado no começo do desenvolvimento traz benefícios para o projeto, pois quanto mais tarde uma falha for corrigida mais cara será sua correção.
  • 7. Gerenciamento da Qualidade de Software A garantia da qualidade no desenvolvimento de um software tem uma série de prevenções que podem ser tomadas para que os problemas que possam por ventura surgir num projeto, sejam mínimos, ou não existam. E existem técnicas/práticas que podem nos auxiliar na missão de manter a qualidade do software. Entre elas estão a utilização das práticas, CMM, CMMI, MPS.BR norma ISO /IEC 9126 e também os testes.
  • 8. Gerenciamento da Qualidade de Software Atingindo a Qualidade de Software CMM O CMM (Capability Maturity Model) é uma série de práticas que estão organizadas em cinco níveis crescentes de maturidade. Os níveis são: • Inicial: Nesse nível a organização ainda está instável, os projetos custam mais do que previsto e por mais que o projeto seja concluído ele poderá extrapolar os prazos e custos que foram definidos; • Repetitivo: Começa a se existir políticas e procedimentos para se desenvolver o software, o desenvolvimento do projeto é acompanhado e os planos são revisados;
  • 9. Gerenciamento da Qualidade de Software • Definido: Os processos que serão utilizados serão padrão em toda a organização; • Gerenciado: Nesse nível se define as métricas quantitativas para seu projeto, essas medidas são avaliadas e analisadas com frequência; • Otimização: Neste nível a organização atingiu todas as metas especificas na área de processos dos níveis anteriores. É necessário manter o foco, para continuar a diminuir o retrabalho e custos desnecessários.
  • 10. Gerenciamento da Qualidade de Software CMMI O CMMI (Capability Maturity Model Integration – Modelo Integrado de Capacitação e Maturidade) é uma coleção das melhores práticas necessárias, para apoiar o desenvolvimento, serviços aquisições e manutenção de um projeto. O CMMI foi desenvolvido em 1992 pela SEI (Software Engineering Institute), um centro de pesquisas e desenvolvimento que é patrocinado pelo departamento de defesa dos EUA. Possui o foco voltado para a capacidade de maturidade de processos de software, a versão atual possui três modelos:
  • 11. Gerenciamento da Qualidade de Software O CMMI é caracterizado por níveis de capacidade: Nível 0 Incompleto: Nesse nível o processo não é realizado, ou ele é implementado, porém um ou mais objetivos da área de processo não é satisfatório; Nível 1 Realizado: É necessário que todos os objetivos específicos sejam executados e alcançados; Nível 2 Gerenciado: Define-se objetivos e requisitos, o processo é monitorado, revisado e controlado;
  • 12. Gerenciamento da Qualidade de Software Nível 3 Definido: É definido um processo que será utilizado e ele deve ser melhorado constantemente. Esse processo que foi definido deve ser descrito e executado de maneira mais rigorosa; Nível 4 Gerenciado quantitativamente: O processo é definido e controlado quantitativamente, por exemplo, aplicando-se técnicas estatísticas. Esse nível foi removido no CMMI 1.3; Nível 5 Em otimização: Foco na melhoria contínua do desempenho, é realizado melhorias tecnológicas. Também removido no CMMI 1.3.
  • 13. Gerenciamento da Qualidade de Software O CMMI proporciona maior confiabilidade no que se refere prazos e custos que são acordados no início do desenvolvimento do sistema. A qualidade dos softwares criados baseados no CMMI é ocasionada por processos bem definidos e controlados e a busca contínua nos processos cotidianos. O CMMI foi criado para integrar os modelos CMM apresentados nesse artigo, a fim de suprir as limitações desses modelos, com a criação de um método comum, permitindo a representação contínua com áreas de processos independentes dos níveis de maturidade.
  • 14. Gerenciamento da Qualidade de Software MPS.BR O modelo Melhoria de Processo de Software Brasileiro (MPS.BR) assim como o CMMI, é baseado em níveis de maturidades, voltado para pequenas e médias empresas e adaptado para perfil cultural das empresas brasileiras tendo como objetivo definir e aprimorar um modelo de melhoria e avaliação de processo de software de modo compatível com os padrões internacionais de qualidade de software. O MPS.BR é coordenado pela Associação para Promoção da Excelência da Software Brasileiro (SOFTEX) e conta com o apoio do Ministério da Ciência e Tecnologia (MCT), Financiadora de Estudos e Projetos (FINEP) e do Banco Interamericano de Desenvolvimento (BID) (SOFTEX, 2009).
  • 15. Gerenciamento da Qualidade de Software MPS.BR A escala de níveis pode ser expressa da seguinte forma: • G – Parcialmente Gerenciado • F – Gerenciado • E – Parcialmente Definido • D – Largamente Definido • C – Definido • B – Gerenciado Quantitativamente • A – Em Otimização
  • 17. Gerenciamento da Qualidade de Software ISO /IEC 9126 A norma ISO (Organização Internacional para Normalização) 9126 foi criada para a qualidade de software, que se enquadra no modelo das normas da família ISO 9000, que é composta por uma série de normas internacionais que cuidam da manutenção de um sistema de gestão de qualidade com base nos oito princípios de gestão da qualidade, que são: Foco no cliente, liderança, envolvimento das pessoas, abordagem por processos, abordagem sistêmica para a gestão, melhoria contínua, abordagem factual para a tomada de decisão e relações mutuamente benéficas com os fornecedores. Contudo, o detalhamento desses princípios não é o foco desse artigo.
  • 18. Gerenciamento da Qualidade de Software A norma ISO/IEC 9126 estabelece os seguintes componentes: O Processo de desenvolvimento afeta a qualidade do software gerado. Além disso, é influenciado pela natureza do produto; O Produto, que compreende a qualidade do produto de software, estes por sua vez divididos em internos e externos; A qualidade em uso, que compreende na comparação da qualidade do software em cada contexto específico. Essa norma propõe atributos de qualidade, e são distribuídos em seis características e cada características é dividida em sub características, são elas:
  • 19. Gerenciamento da Qualidade de Software Funcionalidade – Verifica a capacidade de o software prover as funcionalidades que foram definidas e requisitadas. As sub características são: Adequação, onde mede o quanto as funcionalidades são adequadas às necessidades do usuário. Precisão, é a capacidade de o software fornecer os resultados precisos de acordo com o que foi solicitado. Interoperabilidade, como o software interage com outro sistema. Segurança, a capacidade de o software proteger os dados do sistema. Confiabilidade – Verifica se o produto continua no nível de desempenho das condições que foram estabelecidas. As sub-características são: Maturidade, onde se evita que as falhas do software sejam decorrentes de outro software. Tolerância a falhas, o software se mantém funcionando independente dos defeitos que ocorrem nele ou externamente. Recuperabilidade, o software se recupera depois de uma falha e restabelece seus níveis de desempenho.
  • 20. Gerenciamento da Qualidade de Software Usabilidade – O software é compreendido, o funcionamento aprendido e é atraente para o usuário. Possui quatro sub-características, inteligibilidade onde é avaliado se o usuário compreende as funcionalidades do sistema e avalia se satisfaz as suas necessidades, apreensibilidade identifica a facilidade de aprendizado do sistema para os usuários, operacionalidade verifica a maneira que o produto facilita a operação por parte do usuário, atratividade são as características que podem atrair um potencial usuário. Eficiência – Se o tempo de execução e os recursos são compatíveis com o nível de desempenho do sistema. Comportamento em relação ao tempo, avalia se o tempo de resposta estão de acordo com as requisições e Utilização de recursos, identifica tanto os recursos consumidos quanto a capacidade quem o sistema possui para utilizar os recursos. São as sub-características.
  • 21. Gerenciamento da Qualidade de Software Manutenibilidade – A capacidade que o software tem em ser modificado, melhorado e sua capacidade de inclusão de extensões. As sub-características: Analisibilidade verifica a facilidade de diagnosticar os problemas e as suas causas. Modificabilidade, a capacidade do software em ser alterado. Estabilidade, identifica a capacidade de o sistema evitar efeitos colaterais devidos as modificações. Portabilidade – Verifica a capacidade do sistema se transferido de um ambiente para outro. Adaptabilidade, capacidade para ser instalado, coexistência e capacidade para substituir são as sub-características.
  • 22. Gerenciamento da Qualidade de Software Testes de software Os testes de software têm a finalidade de fornecer informações sobre o comportamento do seu software. Mesmo realizando testes é impossível garantir que sua aplicação fique isenta de erros, porém eles lhe dão uma margem de segurança maior. As falhas podem surgir por diversos motivos, à especificação do projeto/atividade pode está incompleta ou errada, deve ser levado em conta também as limitações que o software pode possuir, o tamanho do projeto pode ser extenso e muitas pessoas trabalharem no mesmo, podendo gerar assim inúmeros conflitos no desenvolvimento.
  • 23. Gerenciamento da Qualidade de Software Dimensões da Qualidade Garvin (1992) identifica oito dimensões com vistas a conhecer seus elementos básicos e chegar a um melhor entendimento da qualidade: • Desempenho, • Características/Especificações • Confiabilidade, • Conformidade, • Durabilidade, • Atendimento ao cliente, • Estética/Imagem, • Qualidade percebida.
  • 24. Gerenciamento da Qualidade de Software Desempenho: Aspecto operacional básico de qualquer produto. São as características finais do produto e do uso que o cliente deseja. Características/Especificações: Característica ou especificação que diferencia um produto de seus concorrentes. Especificações de engenharia que envolvem o uso de alta tecnologia. Características complementares que superam as funções básicas do produto. Confiabilidade Grau de isenção de falhas de um produto.
  • 25. Gerenciamento da Qualidade de Software Conformidade Reflete a visão mais tradicional da qualidade. Durabilidade Medida da vida útil de um produto, analisada tanto por aspectos técnicos quanto econômicos. Quantidade de tempo de uso que pode ser obtida de um produto, antes dele se deteriorar fisicamente. Atendimento ao cliente Rapidez, cortesia, competência e facilidade de reparo.
  • 26. Gerenciamento da Qualidade de Software Estética/Imagem É uma dimensão subjetiva. Relaciona-se com a aparência do produto, o que se sente com ele, qual seu som, sabor, cheiro, etc. É um julgamento pessoal e reflexo das preferências individuais. Qualidade percebida Resultado da falta de informações completas sobre um produto ou os atributos de serviço que levam os consumidores a fazer comparação entre marcas e daí inferir sobre qualidade. Reputação é um dos principais fatores que contribuem para a qualidade percebida. Grau que um produto provoca reação inicial positiva ou negativa no mercado a qual se destina. Consumidores nem sempre conhecem o produto, então usam bases comparativas indiretas, baseadas na percepção.
  • 27. Gerenciamento da Qualidade de Software O dilema da Qualidade Se produzirmos um software de péssima qualidade, perdemos porque ninguém irá querer comprá-lo. Se, por outro lado, gastamos um tempo infinito, um esforço extremamente grande e grandes somas de dinheiro para construir um software absolutamente perfeito, então isso levará muito tempo para ser finalizado, além do custo de desenvolvimento. Desta forma, os profissionais tentam encontrar aquele meio termo mágico onde o produto é suficientemente bom para não ser rejeitado logo de cara, como, por exemplo, durante uma avaliação, mas também não é o objeto de tamanho perfeccionismo.
  • 28. Gerenciamento da Qualidade de Software Afinal o que é Qualidade de Software? Para definir qualidade de software podemos afirmar que a qualidade de software é uma área de conhecimento em engenharia de software e seu objetivo é garantir a qualidade do software através da definição e normatização de processos de desenvolvimento. Lindas palavras! Certo? Mas o que isso significa de verdade?
  • 29. Gerenciamento da Qualidade de Software O conceito de qualidade é muito subjetivo, pois está relacionado diretamente com a percepção de cada indivíduo. A minha visão de qualidade, como desenvolvedor, por exemplo, não é a mesma do cliente. Falando de um produto ou serviço podemos dizer que qualidade é quando estes estão atendendo as exigências dos clientes, tem uma boa relação custo/benefício, sua utilização é de fácil adequação e tem um grande valor agregado. Quando falamos de qualidade de software, temos que analisar dois aspectos bem diferentes.
  • 30. Gerenciamento da Qualidade de Software Do ponto de vista do Desenvolvedor qualidade é quando o software desenvolvido é produzido com a utilização de técnicas adequadas e boas práticas para o desenvolvimento, atendendo as exigências do cliente, não importa quais técnicas ou ferramentas são utilizadas. Já no que diz respeito ao cliente, seu software terá a qualidade reconhecida se trouxer retorno ao mesmo e em geral tiver um baixo custo.
  • 31. Gerenciamento da Qualidade de Software Devido a estas diferentes visões, a qualidade de software mostra a sua grande importância no processo de desenvolvimento, pois na verdade sua função é garantir que o software que será entregue ao cliente no fim do projeto, atenderá a todas as suas expectativas e que mesmo que sem saber, o cliente receberá um produto desenvolvido com a utilização de boas práticas e técnicas de desenvolvimento adequadas. Para garantir a qualidade de um software existem diversas técnicas, modelos de controle e garantia de qualidade que podem ser adotadas.
  • 32. Cenário atual Equipamentos de diferentes tecnologias Equipamentos de diferentes fabricantes Soluções proprietárias de gerência Redes heterogêneas Equipamentos heterogêneos Soluções isoladas Redes isoladas 32
  • 33. Cenário de Soluções de Gerência Integradas 33
  • 34. Ferramentas Monitoramento • Monitor de Sistema - Desempenho. • Desempenho Logs e Alertas. • Visualizado de Eventos. • Gerenciador de Tarefas.
  • 35. Monitor de Sistema • Fornece visualização simples de desempenho do Servidor em gráficos e relatórios. • Da saída em tempo real sobre informações de monitoramento em um navegador. • Mostra a utilização dos recursos como processador, memória e espaço em disco pelos processos.
  • 36. Logs e Alertas Desempenho • Monitora a pressão e o desempenho do sistema durante um período de tempo. • Controla automaticamente os valores mínimo, máximo, médio e corrente dos valores importantes do sistema. • Envia alertas para o log de eventos.
  • 37. Visualizado de Eventos • Mantém vários logs de eventos separados no servidor. • Existem vários tipos de Logs: Log Sistema Log Segurança Log Aplicativo Log Serviço do AD Log Serviço de DNS Log Duplicação de Arquivo
  • 38. Log de Sistema • Registra o início e parada de serviços e todos os eventos relacionados ao sistema. Exemplo: Mensagem de erro ao ligar o sistema.
  • 39. Log de Segurança • Registra todos os eventos que passam por auditoria, relacionados aos problemas de segurança. Exemplo : Usuários acessando arquivos.
  • 40. Log de Aplicativo Registra eventos específicos de um aplicativo. Exemplo : Licenciamento, backups e o sucesso de aplicação de planos de segurança.
  • 41. Gerenciador de Tarefas Aplicativos – Mostra se os aplicativos estão ou não respondendo. Processos - Lista todos os processos que estão em execução no servidor. Desempenho – Exibe a utilização do processador e memória. Rede – Exibe a utilização corrente da rede para conexão do servidor com a rede. Usuários – Lista sessões local e remota da área de trabalho correntes, conectadas com o servidor.