Você está na página 1de 135

Engenharia de Software 2

Prof. Esp. Rafael H Mauro

O que Produto de Software?

Prof. Esp. Rafael H Mauro

O que Produto de Software ?

Produto de Software o conjunto de programas de computador, procedimentos, documentao e dados associados que compe o software.

Prof. Esp. Rafael H Mauro

O que Processo de Software ?

Prof. Esp. Rafael H Mauro

O que Processo de Software ?


um conjunto de tarefas requeridas para construir um software de qualidade.

Prof. Esp. Rafael H Mauro

Processos x Produto
O processo utilizado no desenvolvimento de um projeto tem grande reflexo na produtividade e na qualidade do software desenvolvido. Os estudos sobre qualidade, mais recentemente, so voltados para o melhoramento do processo de desenvolvimento de software, pois ao garantir a qualidade do processo, j se est dando um grande passo para garantir tambm a qualidade do produto.

Prof. Esp. Rafael H Mauro

Definies de Qualidade
Existem diversas definies para o que vem a ser qualidade algumas das mais importantes so: Termo subjetivo com significados diferentes para pessoas e contextos diferentes. Conjunto de Propriedades de um produto ou servio, que lhe oferecem aptides para satisfazer as necessidades explicitas ou implcitas (ISO 8402, 1994) Grau com que o conjunto de propriedades inerentes ao produto satisfaz os requisitos. ( ISO 2000 )
Prof. Esp. Rafael H Mauro

Qualidade de Produto
A qualidade do produto de software dever garantir algumas caractersticas para que esse seja considerado realmente um produto de qualidade.

Prof. Esp. Rafael H Mauro

Essas caractersticas so :

Prof. Esp. Rafael H Mauro

Normas que definem a Qualidade do Produto de Software


ISO 9126 Define as caractersticas da qualidade do Produto de Software. NBR 13596 - Verso Brasileira da ISSO 9126 ISO 1498 Guia para a avaliao do Produto de Software baseado nas prticas apresentadas na ISO 9126. ISO 12119 - Caractersticas de qualidade de pacotes de software. IEEE P1061 Metodologias para Medir Qualidade de Produto de Software.

Prof. Esp. Rafael H Mauro

Qualidade de Processo
A qualidade de processo garantir que as tarefas que envolve o passo a passo de como desenvolver um bom software estejam sendo seguidas. O Gerenciamento da qualidade do processo envolve. 1. Definio de Padres de processo, o como e quando as revises do processo devem ser realizadas. 2. Monitorao do processo de desenvolvimento para assegurar que os padres esto sendo seguidos. 3. Relato do Processo de Software para a Gerencia de projeto

Prof. Esp. Rafael H Mauro

Normas que definem a qualidade do Processo de Software


ISO 9000 9001 ISO 12207 CMMI PSP SPICE MPSBr

Prof. Esp. Rafael H Mauro

ISO 9126
Um conjunto de atributos que tm impacto na capacidade do software de manter o seu nvel de desempenhodentro de condies estabelecidas por um dado perodo de tempo

Prof. Esp. Rafael H Mauro

O que compe a ISO 9126 ?


A norma ISO 9126 lista um conjunto de caractersticas que devem ser verificadas em um software para que ele seja considerado um software de qualidade. So 6 grandes grupos de caractersticas cada um dividido em mais sub-caracteristicas. A NBR 13596 a traduo no Brasil da ISO 9126.

Prof. Esp. Rafael H Mauro

Para que usada a ISO 9126 ?


Definio dos requisitos de qualidade de um produto de software Avaliao das especificaes do software durante o desenvolvimento para verificar se os requisitos de qualidade esto sendo atendidos Descrio das caractersticas e atributos do software implementado, por exemplo nos manuais de usurio Avaliao do software desenvolvido antes da entrega ao cliente Avaliao do software desenvolvido antes da aceitao pelo cliente
Prof. Esp. Rafael H Mauro

As 6 caractersticas da ISO 9126 e suas sub- caractersticas.

Prof. Esp. Rafael H Mauro

Avaliao da ISO 9126


O processo de avaliao da aplicao da ISO 9126 envolve alguns passos: 1.Definio dos Requisitos de Qualidade Definio das caractersticas e sub caractersticas de interesse, em funo da rea de aplicao do produto de software. Feita antes do incio do desenvolvimento Para produtos de maior porte, subdividido em mdulos, cada mdulo pode ter o seu prprio conjunto de caractersticas e sub caractersticas

Prof. Esp. Rafael H Mauro

Avaliao da ISO 9126


2. Preparao para a Avaliao Avaliao Seleo das mtricas de qualidade Definio dos nveis de pontuao Definio dos critrios de avaliao

Prof. Esp. Rafael H Mauro

Avaliao da ISO 9126


3 Seleo das Mtricas de Qualidade Escolha dos critrios para associar quantificaes numricas para cada um dos atributos Podem variar ao longo do ciclo de desenvolvimento, sem deixar de lado a perspectiva de avaliao do usurio.

Prof. Esp. Rafael H Mauro

Avaliao da ISO 9126


4 Definio dos Nveis de Pontuao Os resultados quantificados so mapeados em uma escala com regies sugeridas pela norma: trs para a pontuao Satisfatrio (Excelente,Bom e Razovel) uma para a pontuao Insatisfatrio

Prof. Esp. Rafael H Mauro

Avaliao da ISO 9126


5 Definio dos Critrios de Avaliao Critrios para fazer o mapeamento das caractersticas para valores numricos

Prof. Esp. Rafael H Mauro

Avaliao da ISO 9126


6 Avaliao passo final de compilao dos resultados resultado uma declarao da qualidade do produto resultados compilados so combinados com outros fatores: custo e prazo deciso gerencial: aceitao ou no do produto release ou no do produto.

Prof. Esp. Rafael H Mauro

Avaliao da ISO 9126


6 Avaliao A ISO 25000/ SQUARE uma evoluo das sries de Norma ISO/IEC 9126 e ISO/IEC 14598. O projeto SQUARE reorganizou o material existente dessas duas sries de normas, no realizando mudanas radicais em nenhuma delas.

Prof. Esp. Rafael H Mauro

Avaliao da ISO 9126

Prof. Esp. Rafael H Mauro

Avaliao da ISO 9126

Prof. Esp. Rafael H Mauro

Avaliao da ISO 9126


O projeto SQUARE adotou uma nova diviso de assuntos em cinco tpicos: Modelo de Qualidade (2501n) Gerenciamento de Qualidade (2501n) Medies (2501n) Requisitos de Qualidade (2503n) Avaliao (2504n) Cada diviso composta por um conjunto de documentos e trata de um assunto em particular.

Prof. Esp. Rafael H Mauro

O que a Norma ISO 9001?


uma norma internacional para sistemas de gesto da Qualidade e reconhecida mundialmente

Prof. Esp. Rafael H Mauro

O que sugere a ISO 9001?


A ISO 9001 sugere que a aplicao e a gesto de um sistema de qualidade seja uma forma efetiva de garantiar a qualidade. Para adotar a abordagem de processo a ISO 9001 utiliza a metodologia j conhecida de melhoria contnua c onhecida como PDCA (Planejar Fazer- Verificar Agir)

Prof. Esp. Rafael H Mauro

Como constituda a ISO 9001?


A ISO 9001 constituda por 8 sees sendo as 3 primeiras sees informaes sobre a prpria norma e as 5 ultimas sees focam na implementao da Norma. So elas: mbito: Define que a organizao precisa corresponder as exig ncias dos clientes e garantem que seus funcionrios seguem as suas polticas e procedimentos enquanto implementam a melhoria contnua. Referncias Normativas: Fornece referncia normativas que est o em conformidade com a ISO 9000 para constituir os termos da 9001. Termos e Definies : Define os termos utilizados na norma e indic a as diferenas existentes entre as informaes.

Prof. Esp. Rafael H Mauro

Como constituda a ISO 9001?


Responsabilidade de Gesto: Exige o compromisso da gesto e ex plica que a administrao deve estar orientada e dedicada aos p rodutos da organizao, clientes e processos. Gesto de Recursos: Fornece critrios para desempenhar uma det erminada tarefa. Nessa seo discutem-se os recursos humanos, o planejamento de infra e ambiente de trabalho. Realizao do Produto: Define os passos ao desenvolvimento do pr oduto envolvendo desde o momento da concepo at a entreg a final. Medio, Anlise e Melhoria: Centra e na medio, analise e melhoria, fazendo com que a empresa fa a auditorias internas, monitorando o graude satisfao do cliente

Prof. Esp. Rafael H Mauro

Vantagens da ISO 9001


As trs principais vantagens encontradas na implantao da ISO 9001 so:

Proporciona uma estrutura de trabalho para um sistema gerencia dor de qualidade (SGQ) bem organizado. Cria clientes, gesto e funcionrios mais satisfeitos Ajuda melhoria contnua das empresas.

Prof. Esp. Rafael H Mauro

O que deve ser feito para se cer tificar na ISO 9001?


Seguir as linhas de orientao da norma ISO 9001. Manter cpias dos registros. Preencher os seus prprios requisitos, bem como os requisitos dos seus clientes. Seguir os requisitos estatutrios e regulamentares. Criar os documentos

Prof. Esp. Rafael H Mauro

O Guia 9000- uma interpretao da ISO 9001 para a rea de desenvolvimento, fornecimento e manuteno de software.

Quais so as atividades que compe a ISO 9000-3.


Atividades do Sistema de Qualidade o entendimento dos requisitos funcionais entre o contratante e o contratado. Atividades de Ciclo de Vida o uso de metodologias consistentes para o desenvolvimento de software. Atividades de Apoio Envolve o gerenciamento de projeto desde a concepo at a m anuteno.

Prof. Esp. Rafael H Mauro

O Guia 9000- uma interpretao da ISO 9001 para a rea de desenvolvimento, fornecimento e manuteno de software.

Quais so as atividades que compe a ISO 9000-3.


O que faz o Guia ISO 9000-3? Define apenas os processos que a organizao deve ter. No orienta quanto aos passos para desenvolver os processos. No trata de melhoria contnua como a ISO 9001.

Prof. Esp. Rafael H Mauro

As diretrizes da ISO 9000- 3.


So 20 as diretrizes da ISO 9000-3 listadas a seguir: 1.Responsabilidade da Gerencia 2.Requisitos do sistema de qualidade 3.Reviso dos requisitos de contrato 4. Requisitos de projeto do produto 5.Controle de documentos e dados 6.Requisitos de aquisio (compra) 7.Produtos de clientes ou fornecedores. 8.Identificao e controle de produtos 9.Processo de controle de requisitos 10. Testes e inspees dos produtos

Prof. Esp. Rafael H Mauro

As diretrizes da ISO 9000- 3.


So 20 as diretrizes da ISO 9000-3 listadas a seguir: 11. Controle dos equipamentos de inspeo 12.Inspeo e teste dos produtos 13. Controle de no conformidade 14. Aes corretivas e preventivas. 15.Manuseio, Armazenamento e Expedio. 16. Controle dos registros da qualidade 17. Requisitos de auditoria interna da qualidade 18. Requisitos de Treinamento 19. Requisitos de Manuteno 20. Tcnicas estatsticas.
Prof. Esp. Rafael H Mauro

A norma ISO/IEC
12207 estabelece uma estrutura comum para os processos de ci clo de vida de um software, com terminologia bem definida, que pode ser referenciada pelas indstrias de software (ISO 12207, 1997). Essa norma contm um conjunto de processos, atividades e taref as projetadas para ser adaptadas de acordo com cada projeto de software a quea mesma for aplicada.

Prof. Esp. Rafael H Mauro

Como esta dividido o ciclo de vida na ISO 12207?


O ciclo de vida de um projeto esta dividido em processos fundamentais, processos de apoio e processos organizacionais. Sendo o processo fundamental composto de cinco processos internos, o processo de apoio composto por oito processos internos e o processo organizacional composto de quatro processos. Veremos mais detalhadamente esses processos a seguir.

Prof. Esp. Rafael H Mauro

Como esta dividido o ciclo de vida na ISO 12207?


Processo Fundamental: O processo fundamental aquele que inicia ou executa o desenvolvimento, operao ou manuteno dos produtos de software. As atividades e tarefas em um processo fundamental so de responsabilidade da organizao que inicia e executa esse processo.

Prof. Esp. Rafael H Mauro

Como esta dividido o ciclo de vida na ISO 12207?


Os processos internos do processo fundamental so: Processo da Aquisio; Processo de Fornecimento; Processo de Desenvolvimento; Processo de Operao; Processo de Manuteno. Processo de Apoio: Um processo de apoio auxilia um outro processo como uma parte integrante, com um propsito distinto e contribui para o sucesso e qualidade do projeto de software. Um processo de apoio empregado e executado, quando necessrio, por outros processos.

Prof. Esp. Rafael H Mauro

Como esta dividido o ciclo de vida na ISO 12207?


As atividades e tarefas num processo de apoio so de responsabilidades da organizao que o executa. Os processos internos do processo de apoio so: Processo de Documentao; Processo de Gerncia de Configurao; Processo de Garantia de Qualidade; Processo de Verificao; Processo de Validao; Processo de Reviso Conjunta; Processo de Auditoria.

Prof. Esp. Rafael H Mauro

Como esta dividido o ciclo de vida na ISO 12207?


Processos Organizacionais : Esses processos so empregados por uma organizao para estabelecer e implementar uma estrutura subjacente, constituda de processo de ciclo de vida e pessoal associado e melhorar continuamente a estrutura e os processos, esses processos so tipicamente empregados fora do domnio de projetos e contratos especficos; entretanto ensinamentos destes contribuem para a melhoria continua da organizao. Os processos internos do processo organizacional so: Processo de Gerncia; Processo de Infra estrutura Processo de Melhoria Processo de Treinamento

Prof. Esp. Rafael H Mauro

Histria do CMM - CMMI


O CMM um modelo de capacitao de processo patrocinado pelo Departamento de Defesa dos EUA. Baseado em algumas das ideias mais importantes do movimento de qualidade industrial. 1986 Inicio do desenvolvimento de um modelo de maturidade de processo. 1987 Liberao de breve descrio do modelo Em 1991 foi liberada a 1 verso do CMM. 1993 Depois de 5 anos de experincia, o modelo de maturidade evoluiu para um modelo completamente definido. Fevereiro de 1993 Lanada a verso 1.1 do CMM Maro de 2002 Foi lanada a 1 verso do CMMI Em 2006 foi lanada a verso 1.2 do CMMI
Prof. Esp. Rafael H Mauro

SW- CMM X CMMI


O SW-CMM especfico para a rea de Software, portanto no participam do seu ideal outras reas importantes da empresa, como Recursos Humanos (RH) e Finanas. Assim sua aplicao no garante a viabilidade de uma organizao. O objetivo principal do SW-CMM que as organizaes conheam e melhorem seus processos de desenvolvimento de software. O CMMI - Foi criado com a finalidade de integrar os diversos modelos que foram criados para ajudar a evoluo do CMM , o P-CMM para gesto de recursos humanos, o SA-CMM para suprir a necessidade de Aquisio de Software e o SE-CMM para as necessidades de Engenharia de Software.

Prof. Esp. Rafael H Mauro

SW- CMM X CMMI


O objetivo do CMMI servir de guia para melhoria de processos na organizao e tambm da habilidade dos profissionais em gerenciar o desenvolvimento, aquisio e manuteno de produtos e servios.

Prof. Esp. Rafael H Mauro

CMMI - Principais Objetivos


Reduo de Custo da Implementao de melhoria de Processo; Eliminao de inconsistncias , reduo de duplicidades; Melhoria da Clareza e entendimento dos processos; Utilizao de terminologia comum; Estabelecimento de regras de construo uniformes; Consistncia com a Norma ISO/IEC 15504. Sensibilidade as implicaes dos esforos legados.

Prof. Esp. Rafael H Mauro

Representaes do CMMI

Prof. Esp. Rafael H Mauro

CMMI - Estrutura do Modelo Contnuo

Prof. Esp. Rafael H Mauro

CMMI - Estrutura do Modelo Contnuo


A representao contnua estabelece o que se chama de nveis de capacidade. Os nveis de capacidade representam os perfis de capacitao alados em cada PA a que foi aplicada. Na representao contnua pode-se desenvolver a capacidade de PAS mais relacionadas com o negcio da empresa sem se preocupar com PAS pr-definidas. Nesse modelo de representao do CMMI no possvel tirar uma certificao e realizar avaliaes oficiais pelo SEI. Na representao Contnua do CMMI so 6 os nveis de capacitao conhecidos:

Prof. Esp. Rafael H Mauro

CMMI - Estrutura do Modelo Contnuo


Nvel 0 Incompleto: Corresponde ao caso mais simples, no realizao de um processo. Nvel 1 Realizado: Para conseguir o nvel 1 de capacidade cada processo deve cumprir todos os objetivos especficos de sua rea. Nvel 2 Gerenciado: No nvel gerenciado cada processo cumpre com todos os requisitos do nvel 1, e alm disso, planejado e executado de acordo com uma poltica empresarial determinada. Nesse nvel processos so monitorados, controlados e revisados, os produtos resultantes so tambm controlados.

Prof. Esp. Rafael H Mauro

CMMI - Estrutura do Modelo Contnuo


Nvel 3 Definido: Um processo do nvel 3 cumpre todos os requisitos do nvel 2. Est adaptado a um conjunto de processos padronizados da organizao, seguindo todas as diretrizes desta. Processos padres so estabelecidos e melhorados continuamente. Nvel 4 Gerenciado Quantitativamente: Os processos neste nvel so definidos e controlados quantitativamente, aplicando-se tcnicas estatsticas. A administrao dos processos, bem como a avaliao da qualidade destes , fundamentada em critrios quantitativos.

Prof. Esp. Rafael H Mauro

CMMI - Estrutura do Modelo Contnuo


Nvel 5 Otimizado : Um processo do nvel 5 de capacidade, otimizado, cumpre todos os critrios do nvel 4 e adaptado para cumprir os objetivos de negcio da organizao. Possui como foco a melhoria contnua de um processo.

Prof. Esp. Rafael H Mauro

Objetivos da Representao Contnua


Melhorar desempenho em um processo nico; Melhorar desempenho em vrias reas alinhadas aos objetivos de negcio da organizao; Utiliza nveis de capacidade para medir as melhorias; Melhorar diferentes processos com diferentes classificaes; Necessrio conhecimento das dependncias e interaes entre as reas de processo; Apropriado para as organizaes que sabem que os processos devem ser melhorados; Alinhado com a ISO/IEC 15504.

Prof. Esp. Rafael H Mauro

CMMI - Estrutura do Modelo Estagiado.

Prof. Esp. Rafael H Mauro

CMMI - Estrutura do Modelo Estagiado.

Prof. Esp. Rafael H Mauro

CMMI Nvel 1 : O Gerenciamento uma Caixa-Preta


Os requisitos fluem para dentro da caixa preta que o processo da organizao; Um produto de software normalmente produzido atravs de algum processo disforme; O produto flui para fora e espera-se que funciona. No nvel 1 chamamos a organizao de Caticas devido a ser caracterizada por: A organizao no prov um ambiente estvel para o desenvolvimento e manuteno do produto do projeto Cronogramas e oramentos so frequentemente abandonados por no serem baseados em estimativas realsticas.

Prof. Esp. Rafael H Mauro

CMMI Nvel 1 : O Gerenciamento uma Caixa-Preta


Numa Crise para cumprir cronograma, etapas planejadas do ciclo de vida no so realizadas prejudicando a qualidade. Desempenho basicamente em funo da competncia e herosmo das pessoas que fazem o trabalho. Os maiores problemas com os quais se defrontam as organizaes de desenvolvimento so gerenciais e no tcnicos.

Prof. Esp. Rafael H Mauro

Nvel 2 Gerenciado : Organizaes Disciplinadas


O Processo de construo uma srie de caixas-pretas com pontos de verificao definidos. Caracterizado pela existncia de um processo efetivo de planejamento e gerenciamento do projeto onde os controles sobre os procedimentos, compromissos e atividades so bem fundamentados. Os processos de planejamento e gerenciamento do projeto devem ser praticados na organizao, documentados, treinados e controlados. Neste nvel ainda no h preocupao com o processo de engenharia.

Prof. Esp. Rafael H Mauro

Nvel 2 Gerenciado : Organizaes Disciplinadas


O planejamento e gerenciamento de novos projetos so baseados na experincia obtidas com projetos similares, que tenham obtido sucesso passado O desenvolvimento de novos tipos de produtos pode causar um desequilbrio no projeto, nas estimativas de custo e nos cronogramas.

Prof. Esp. Rafael H Mauro

Nvel 3 Definido: Organizaes Padronizadas


Funes e responsabilidades no processo so bem entendidas A produo do produto visvel atravs do processo Caracterizado principalmente pela existncia de um processo de engenharia bem definido, documentado e padro para a empresa. Cada projeto utiliza o processo padro da organizao como base para implementar seu prprio processo. Existe um grupo para processos (EPG) responsvel por facilitar atividades de definio e melhoria de processos. Existe um programa de treinamento que assegura que todos tenham o conhecimento e a capacidade requerida para desenvolver suas tarefas, utilizando as ferramentas e os mtodos disponveis.
Prof. Esp. Rafael H Mauro

Nvel 4 Gerenciado Quantitativamente.


A gerncia tem bases objetivas para tomada de deciso A gerncia capaz de prever o desempenho dentro de limites quantificados. Caracterizado pela existncia de processos passveis de medida A produtividade e a qualidade so medidas em todas as etapas do processo e para todos os projetos da organizao. O controle sobre produtos e processos de todos os projetos so adquiridos atravs da diminuio da variao do seu desempenho para dentro de limites quantitativos aceitveis. A organizao comea a aplicar mtricas de controle de qualidade para aumentar a qualidade e a produtividade do produto entregue aos clientes.

Prof. Esp. Rafael H Mauro

Nvel 4 Gerenciado Quantitativamente.


medida que a organizao adquire mais conhecimento sobre o produto, tem a oportunidade de remover vrias fontes de comprometimento da qualidade final Isto proporciona a oportunidade de colocar o produto sob um controle estatstico de qualidade.

Prof. Esp. Rafael H Mauro

Nvel 5 Em Otimizao
Nesse nvel a empresa tem o foco na melhoria contnua de processo Mudanas disciplinadas. Caracterizado pela existncia de processos com contnua melhoria. Os processos so avaliados para prevenir tipos de defeitos conhecidos devido recorrncia, e as lies aprendidas disseminadas para outros projetos. Tecnologias que proporcionem mais retorno para processos especficos, utilizados pela organizao, so selecionadas para serem introduzidas, de maneira gerencivel na organizao.

Prof. Esp. Rafael H Mauro

Nvel 5 Em Otimizao
Apesar de o processo ser maduro, ele alvo de contnuas melhorias; Os grupos de projetistas analisam o rendimento do projeto para determinar as causas dos defeitos. Nesse nvel foi atingido um ambiente de excelncia em engenharia.

Prof. Esp. Rafael H Mauro

Definies
Process Area (PA): um grupo de praticas relativas que quando executadas corretamente, satisfazem um conjunto de objetivos considerados importantes para melhoria daquela rea. Pratices: So aes para serem executadas para alcanar os objetivos de uma rea de processo. Specific Goals (SG): Aplicvel para uma rea de processo e enderea uma nica caracterstica que descreve o que deve ser implementado para satisfazer essa rea. Specific Pratices (SP): uma atividade que considerada importante para a realizao do associado SG. Generic Goal (GG): A realizao de um GG em uma PA significa melhorar o controle em planejar e implementar os processos associados com essa rea.

Prof. Esp. Rafael H Mauro

O que a ISO/IEC 15504?


Apresenta um framework (estrutura) para avaliao de processos. Atualmente esse framework utilizado como referncia para melhoria de processos.

Prof. Esp. Rafael H Mauro

Contexto de Avaliao...
O SPICE como conhecida a ISO 15504 possui dois (2) contexto de avaliao. Melhoria Contnua: A melhoria continua foca em: Entender o estado do Processo; Identificar oportunidades de melhoria da Organizao; Foca na melhoria de Processos. Determinao da Capacidade: Avalia os riscos com o fornecedor Determina a adequao dos processos; Geralmente realizada por terceiros

Prof. Esp. Rafael H Mauro

ISO/IEC 15504 Histrico


1991: Estudo sobre a necessidade de uma norma para avaliao de processos de software. 1993: Incio do Projeto SPICE (Software Process Improvement and Capability dEtermination). 1998: Verso Inicial da norma SPICE (publicada como Relatrio Tcnico - TR). 2003: Encerramento do Projeto SPICE e publicao da parte 2. 2004: Publicao das partes 1, 3 e 4

Prof. Esp. Rafael H Mauro

As utilidades da ISO/IEC 15504

Prof. Esp. Rafael H Mauro

Composio da ISO/ IEC 15504


Descrio da Composio Parte 1: Prov uma introduo geral aos conceitos de avaliao de processos e um glossrio de termos relacionados avaliao. Parte 2: Define os requisitos normativos para a realizao de uma avaliao de processo e para modelos de processo em uma avaliao, e define uma infra-estrutura de medio para avaliar a capacidade de processo. Essa infra-estrutura de medio define nove atributos de processo, agrupados em seis nveis de capacidade de processo. Parte 3: Prov orientaes para interpretar os requisitos para a realizao de uma avaliao.

Prof. Esp. Rafael H Mauro

Composio da ISO/ IEC 15504


Descrio da Composio Parte 4: Prov orientaes para a utilizao de avaliao de processo para propsitos de melhoria de processo e de determinao da capacidade. Parte 5: Contm um exemplo de modelo de avaliao de processo que baseado no modelo de processo de referncia definido na ISO/IEC 12207 e suas emendas 1 e 2.

Prof. Esp. Rafael H Mauro

Composio da ISO/ IEC 15504


Descrio da Composio 15504-1 (Parte1): Conceitos e Vocabulrio - Normativo Publicao 2004 15504-2 (Parte2): Executando uma Avaliao - NormativoPublicao 2003 (Estrutura do Processo de Avaliao) 15504-3 (Parte3): Guia sobre Executando uma Avaliao Informativo - Publicao 2004 (Recomendaes para realizar uma avaliao) 15504-4 (Parte4): Guia sobre Utilizao do Resultado de Avaliao - Informativo - Publicao 2004 (Recomendaes para melhoria de Processo e determinao de capacidade) 15504-5 (Parte5): Um Exemplo de Modelo de Avaliao de Processo - Informativo - Publicao 2005
Prof. Esp. Rafael H Mauro

Verificao Conceito
Esta relacionada com a construo do modelo correto Estamos construindo certo o produto? O modelo esta sendo implementado corretamente? As estruturas de entrada e estruturas lgicas esto corretamente implementadas. A verificao est relacionada em analisar toda a parte de implementao e construo e avaliar se esta sendo feito corretamente.

Prof. Esp. Rafael H Mauro

Validao Conceito
A validao usada para determinar o grau de preciso da representao com o sistema real Estamos construindo o produto certo? O software deve estar de acordo com o que o usurio deseja A validao realizada ao final da construo do sistema e tende a validar se o que foi construdo foi realmente aquilo que foi solicitado pelo cliente.

Prof. Esp. Rafael H Mauro

Objetivo
O objetivo principal do processo de verificao e validao estabelecer confiana de que o sistema de software esta adequado ao seu propsito. Isto significa que o sistema deve ser bom o suficiente para o uso pretendido. O nvel de confiabilidade exigido depende do propsito do sistema, das expectativas do usurio e do ambiente atual do mercado.

Prof. Esp. Rafael H Mauro

As abordagens de V&V
Dentro do processo de V&V , h duas abordagens complementares chamadas de verificao esttica e dinmica: o Inspees de Software ou Reviso por pares: Preocupada com a analise esttica das representaes do sistema, como documentos de requisitos, diagramas de projeto e cdigo fontes. As inspees podem ser realizadas em todos os estgios do processo . oTeste de Software: Preocupado com a execuo e observao do comportamento do produto, envolve executar uma implementao do software com dados de teste.

Prof. Esp. Rafael H Mauro

V & V Esttica e Dinmica

Prof. Esp. Rafael H Mauro

Testes
Embora inspees de software sejam, atualmente, usadas amplamente, o teste de programa ser sempre a tcnica principal de verificao e validao de software. Testar envolve exercitar o programa usando dados como dados reais processados pelo prprio programa. H dois tipos de teste que podem ser usados em estgios diferentes no processo de software: o Teste de Validao: Tem a finalidade de mostrar que o software o que o cliente deseja- que ele atende os seus requisitos. o Teste de Defeitos: destinado a revelar defeitos no sistema em vez de simular o seu uso operacional. O seu objetivo encontrar inconsistncias entre os programas e suas especificaes.

Prof. Esp. Rafael H Mauro

V&V X Debugging
O processo de V&V e de Debugging so geralmente intercalados. E o processo de V&V e Debugging tm finalidades diferentes: o Verificao e Validao esto preocupadas em estabelecer a existncia de defeitos no programa. o Depurao est preocupada com a localizao e remoo desses defeitos o Depurao envolve formular uma hiptese sobre o comportamento do programa e ento testar essa hiptese para encontrar erros no sistema.

Prof. Esp. Rafael H Mauro

Processo de Depurao

Prof. Esp. Rafael H Mauro

Planejamento de V&V
necessrio que seja feito um planejamento cuidadoso para obteno de sucesso no processo de inspeo e teste. O planejamento deve iniciar no comeo do processo de desenvolvimento O processo de planejamento deve decidir dobre o equilbrio entre as abordagens estticas e dinmicas O planejamento de testes se ocupa em estabelecer os padres para o processo de teste.

Prof. Esp. Rafael H Mauro

O que o Walkthrough (Passeio) ?


O passeio uma reviso informal na qual o autor descreve aos colegas o produto do seu trabalho e solicita comentrios. FOCO O passeio focado nas necessidades do autor. OBJETIVO Tem como objetivo encontrar defeitos, mas tambm compartilhar o entendimento do elemento do software em questo e colaborar para a viso sistmica.

Prof. Esp. Rafael H Mauro

Revises Tcnicas Inspeo


O que inspeo de Software? Inspees de Software um processo no qual um sistema de software revisto para se encontrar erros, omisses e anomalias. Quando se inspeciona um sistema, voc usa o conhecimento do sistema, seu domnio de aplicao e a linguagem de programao ou o modelo de projeto para se descobrir erros. Vantagens da Inspeo. 1. Durante os testes erros podem ocultar outros erros.Pelo fato da inspeo ser um processo esttico, no necessrio se preocupar com as iteraes dos erros. Uma nica seo de inspeo pode descobrir muitos erros.

Prof. Esp. Rafael H Mauro

Revises Tcnicas Inspeo


2.Verses incompletas de um sistema podem ser inspecionadas sem custos adicionais 3. Uma inspeo pode considerar atributos de qualidade mais amplo de um programa como conformidade com padres, portabilidade e facilidade de manuteno. A inspeo de software envolve pessoas examinando uma representao de softwares para descobrir anomalias e defeitos No h a necessidade de execuo do sistema assim pode ser usada antes da implementao. Pode ser aplicada a qualquer representao do sistema (requisitos, projetos, dados de teste, casos de teste, etc).

Prof. Esp. Rafael H Mauro

Inspeo de Programas
O que Inspeo de Programas? So revises cuidadosas, linha a linha do cdigo fonte do programa. Objetivo O objetivo a deteco de defeitos , apenas a deteco e no a correo dos mesmos. Pr- Condies para Inspeo de Programas Uma especificao precisa deve estar disponvel; Os membros da equipe de inspeo devem estar familiarizados com os padres organizacionais; Cdigo sintaticamente corretos devem estar disponveis; Uma lista de erros deve ser preparada; Gerente deve aceitar que a inspeo aumentar o custo no comeo do processo de software.
Prof. Esp. Rafael H Mauro

Processo de Inspeo do Programa


Planejamento e Introduo Viso geral do sistema apresentado equipe de inspeo. Preparao Individual Cada membro da equipe estuda a especificao e procura defeitos no cdigo Reunio de Inspeo Durante a inspeo os erros descobertos so anotados. Retrabalho Modificaes so feitas para corrigir os erros descobertos Acompanhamento Uma nova inspeo pode ser ou no necessria

Prof. Esp. Rafael H Mauro

O que o Clean Room?


Filosofia de desenvolvimento que tem como base evitar defeitos pelo uso de um rigoroso processo de inspeo. Objetivo Conseguir um software sem nenhum defeito.

Prof. Esp. Rafael H Mauro

Processo de Desenvolvimento baseado em:


Especificao formal Desenvolvimento Incremental Programao Estruturada Verificao esttica usando rigorosa inspeo de Software Teste estatstico de sistema

Prof. Esp. Rafael H Mauro

Processo Clean Room

Prof. Esp. Rafael H Mauro

Equipes do Processo de Clean Room


Equipe de Especificao Responsvel pelo desenvolvimento e pela manuteno da especificao do sistema. Equipe de Desenvolvimento Responsvel por desenvolver e verificar o software. O software no executado durante esse processo. Equipe de Certificao Responsvel pelo desenvolvimento de um conjunto de testes estatsticos para exercitar o software aps o seu desenvolvimento (certificao de confiabilidade do software) Avaliao do Processo Clean Room Resultados na IBM tem mostrado que os softwares possuem bem menos erros
Prof. Esp. Rafael H Mauro

Equipes do Processo de Clean Room


Avaliao mostra que o processo no mais caro que as outras abordagens

Menos erros do que em um processo de desenvolvimento tradicional Uso do processo tem sido restrito as organizaes tecnologicamente avanadas.

Prof. Esp. Rafael H Mauro

Testes de aceitao
Devem ser realizados para capacitar o usurio a validar todos os requisitos do software Este passo do teste da validao ir desprender um esforo de tempo que ir depender do tamanho e complexidade do software da necessidade de realizar sua demonstrao (podendo ser feito atra vs de uma passagem rpida sobre os principais pontos ou realizando a uma srie de testes planejados), sempre com o objetivo de descobrindo erros cumulativos que levariam a destru io do software ao longo do tempo. Alternativas para o teste de aceitao so: teste alfa e teste beta

Prof. Esp. Rafael H Mauro

Testes de aceitao
No teste alfa, o software usado num ambiente natural e controlado, onde o desenvolvedor instala o software e observa os erros e problemas decorridos com o usurio. No teste beta as instalaes so feitas pelo usurio final e sem a presena do desenvolvedor, sendo assim uma aplicao r eal do software em um ambiente no controlado, onde o cliente registra todos os proble mas que so encontrados durante o teste e os relata posteriorment e ao desenvolvedor.

Prof. Esp. Rafael H Mauro

Teste de Recuperao
Os softwares precisam recuperar-se de erros e retornar o processamento dentro de um tempo previamente especificado, evitando que a funo global do sistema cesse e consequentemente que prejuzos econmicos oc orram. Definio: um teste que fora o software a falhar de diversos modos, e verifica se a recuperao adequadamente realizada dentro de um limite de tempo aceitvel e se os dados so avaliados corretamente.

Prof. Esp. Rafael H Mauro

Teste de Segurana
Definio: Teste que verifica se todos os mecanismos de prote o do sistema, protegero o software de invaso imprpria ou ilegal. Durante o teste de segurana, o analista desempenha o papel da pessoa que deseja invadir o sis tema. Exemplos: Tentar obter senhas de funcionrios externos; Projetar uma ferramenta para derrubar o sistema; Provocar erros no sistema de propsito para invadilo durante a recuperao; Objetivo: Tentar dificultar ao mximo o acesso do indivduo e fa zer com que a invaso no valha a pena.

Prof. Esp. Rafael H Mauro

Teste de Estresse
Definio: Teste que executa o software de forma a exigir recursos em quantidade, frequncia ou volume anormais. Para isso devem ser projetados casos de teste que: exijam o mximo da memria; gerem um nmero maior de interrupes que o nmero projetado; realizem diversas buscas de dados e verifiquem como as funes de entrada respondero, com muitas entradas de dados. Ou seja, qualquer caso de teste que tente, essencialmente, derrubar o software.

Prof. Esp. Rafael H Mauro

Teste de Desempenho
O ltimo teste a ser realizado o teste de desempenho. Este teste deve ser acoplado ao teste de estresse, onde ser avali ado o desempenho do software, medindo a utilizao de recurso, monitorando intervalos de execuo, registrando eventos ocorridos e retirando amostras do comportamento da mquina.

Prof. Esp. Rafael H Mauro

Quais so os objetivos dos Testes?


o Teste um processo de execuo de um programa com a finalidade de encontrar um erro. o Um bom caso de teste aquele que tem alta probabilidade de encontrar um erro ainda no descoberto. o Um teste bem-sucedido aquele que descobre um erro ainda no descoberto.

Prof. Esp. Rafael H Mauro

Os Princpios dos Testes


Foram elencados 5 princpios mais importantes de testes os quais so descritos a seguir: 1.Todos os testes devem estar relacionados aos requisitos dos clientes 2.Os testes devem ser planejados muito antes de serem iniciados 3.O princpio de Pareto se aplica aos testes de software 4.Os testes devem comear no varejo e progredir at o teste no atacado 5.Testes exaustivos no so possveis

Prof. Esp. Rafael H Mauro

O que Testabilidade ?
A testabilidade de um software simplesmente o quo fcil um programa de computador pode ser testado.

Prof. Esp. Rafael H Mauro

O que determina a testabilidade do software?


As seguintes caractersticas indicam a testabilidade de um software: Operabilidade : Quanto melhor funciona mais eficiente pode ser testado; Observabilidade: O que voc v o que voc testa Controlabilidade: Quanto melhor voc pode controlar o software, mais o teste pode ser automatizado. Decomponibilidade: Capacidade de isolar problemas. Construo em mdulos Simplicidade : Quanto menos houver para testar, mais rpido o mesmo ser testado. Estabilidade: Quanto menos modificaes, menos interrupes no teste. Compreensibilidade: Quanto mais informaes temos, mais racionalmente vamos testar.

Prof. Esp. Rafael H Mauro

Tipos de Testes
Caixa-Branca Os testes de caixa-branca tambm so conhecidos como testes de caixa de vidro, ele um teste baseado na estrutura do programa, nos controles internos do cdigo fonte do sistema desenvolvido. Esse teste tende a passar por todos os caminhos lgicos do sistema. Objetivos Garantir que os caminhos independentes de um mdulo tenham sido exercitados pelo menos uma vez Exercitem todas as decises lgicas em seus lados verdadeiros e falsos Executem todos os ciclos nos seus limites e dentro de seus intervalos operacionais Exercitem as estruturas de dados internas para garantir sua validade.
Prof. Esp. Rafael H Mauro

Exemplo de teste Caixa Branca


-Teste de caminho bsico - Notao de Grafos e Fluxos -Caminhos independentes de programas - Matrizes de Grafos Teste de Estrutura de Controle - Teste de Condio - Teste de Fluxo de Dados - Teste de ciclo

Prof. Esp. Rafael H Mauro

Caixa-Preta
Um teste de caixa-preta tambm conhecido como teste comportamental, focaliza os requisitos funcionais do software. Isto , o teste de caixa-preta permite derivar um conjunto de condies de entrada que vo exercitar plenamente todos os requisitos funcionais do sistema. Erros que o teste caixa-preta encontra:

Funes incorretas ou omitidas Erros de interface Erros de estrutura de dados ou acesos a bases externas Erros de comportamento ou desempenho Erros de iniciao ou trmino
Prof. Esp. Rafael H Mauro

Caixa-Preta
Diferente dos testes de caixa-branca que realizado no inicio do processo de teste, esses testes podem ser realizados durante os ltimos estgios de teste. Exemplo de Teste Caixa-Preta Mtodos de testes baseados em Grafos Particionamento de Equivalncia Anlise de Valor-limite Teste de Matriz Ortogonal Teste de unidade O teste de unidade concentrase na verificao da menor unidade de projeto do software. Usando a descrio de projeto para testar os caminhos de controle do cdigofonte e descobrir erros nos limites das unidades
Prof. Esp. Rafael H Mauro

Caixa-Preta
Esta fase realizada para garantir que: a interface controla a entrada e a sada de dados adequadamente, a unidade funciona corretamente nos valores limites, caminhos de manipulao de erro so executados, coma ndos das unidades tenham sido exercitados pelo menos uma vez. Geralmente um componente no funciona isoladamente, demandando o desenvolvimento de outros softwares denominados pseudo-controladores e pseudocontrolados para realizar cada teste de unidade, agregando despesas indir etas ao software. A equipe de desenvolvimento do software sempre responsvel por testar as unidades individuais do software, para garantir que cada umaexecute a funo para a qual foi projetada. Em muitos casos, a equipe de desenvolvimento tambm realiza testes de integrao.

Prof. Esp. Rafael H Mauro

Teste de Integrao
Mesmo realizando o teste de unidade, o software pode causar erros ao integrar suas unidade Problemas: Dados perdidos Unidades podem provocar erros em outras. Subfunoes quando combinadas podem no produzir o efeito desejado. Impreciso aceitvel em nveis de unidades pode ser ampliadas para nv eis no aceitveis. Estruturas de dados globais podem apresentar problemas. uma tcnica sistemtica para construir a estrutura do software, realizando ao mesmo tempo testes para descobrir erros associados s interfaces. Abordagens big-bang: Tendncia dos programadores.

Prof. Esp. Rafael H Mauro

Teste de Integrao
Problemas: Difcil correo dos erros, devido ao vasto espao do programa. Soluo: o software deve ser integrado de forma incremental, ou seja, o software construdo e testado em pequenos segmentos, onde as interfaces podem ser testadas completamente e os erros so mais fceis de serem encontrados e corrigidos.

Prof. Esp. Rafael H Mauro

Teste de regresso
O teste de regresso atividade qe ajuda a garantir que modificaes(devi do ao teste ou a outras razes) no introduzem comportamento indesejvel ou erros adicionais.

Prof. Esp. Rafael H Mauro

Teste de Validao
A validao ser bem sucedida somente quando o software funcionar de maneira esperada pelo cliente. A validao realizada atravs de uma srie de testes que demonstram que os requisitos foram atendidos. Um plano de teste descreve as classes de teste a serem conduzidas e um procedimento de teste define os casos de teste que serousados par a demonstrar a validao dos requisitos. Tanto o plano quanto o procedimento so criados para garantir que os re quisitos so satisfeitos Depois de ser realizado cada um dos casos de teste de validao, pelo menos uma das duas condies d eve ser atendida: As caractersticas de funo ou desempenho satisfazem as especifica es e so aceitas; Um desvio ou erro de especificao gera um item de uma lista de correes a serem realizadas.
Prof. Esp. Rafael H Mauro

Definies
Segundo IEEE- Manuteno de Software a modificao de um produto de software aps sua entrega a fim de corrigir defeitos, melhorar desempenho, melhor caractersticas ou adapt-lo a um novo ambiente. Modificao de um software com objetivo de corrigir falhas, aperfeioar ou adaptar o software; Mecanismo de combate deteriorao do software que pode tornar o software desestruturado, precrio e resistente alteraes; Modificao de um programa existente para refletir novas obrigaes ou caractersticas adicionais; Adaptao do software para constante modificao s necessidades de trabalho; Ao de fazer com que o software que foi liberado seja mantido em funcionamento de uma maneira satisfatria.

Prof. Esp. Rafael H Mauro

Tipos de Manuteno
Corretiva Causa: Deficincia Adaptativa Causa: Mudana de Ambiente Aperfeioadora Requisio de Manuteno do Usurio Preventiva Previne futuras manutenes Melhora a capacidade de manuteno do software.

Prof. Esp. Rafael H Mauro

Fatores que Afetam a Manuteno


Tamanho do sistema Idade do Sistema Experincia e Conhecimento dos Mantenedores.

Prof. Esp. Rafael H Mauro

Custo da Manuteno
Usualmente os custos da manuteno so maiores do que os custos de desenvolvimento (de duas a cem vezes dependendo do sistema). Os custos so afetados por fatores tcnicos e no tcnicos Aumenta enquanto o Software mantido. A manuteno corrompe a estrutura do Software, tornando-a cada vez mais difcil. Quanto mais antigo o software mais custosa a sua manuteno.

Prof. Esp. Rafael H Mauro

Previso de Mudana
A previso de mudana preocupa-se em avaliar as partes do sistema que podem causar problemas e ter custo de manuteno muito alto. realizada para prever o nmero de mudanas a ser realizada ( Para essa previso necessria a compreenso entre o sistema e o seu ambiente).

Prof. Esp. Rafael H Mauro

O que Manutenibilidade
Diz respeito facilidade com que o software pode ser modificado para satisfazer os requisitos do usurio, ou ser corrigido quando deficincias so detectadas. O IEEE estabelece que a manutenibilidade a facilidade com que um sistema de software ou um componente pode ser modificado para corrigir falhas, melhorar performance ou outros atributos, ou adaptado para uma mudana de ambiente.

Prof. Esp. Rafael H Mauro

Como Produzir Sistemas Manutenveis


Realizar Revises de Averiguaes Assegurar que cada linha de cdigo tenha no mximo uma declarao Assegurar que comentrios tenham informaes util Evitar que programaes exotricas sejam realizadas. Empregar convenes de programaes. Usar definies de dados comuns. Estabelecer padres para desenvolvimento de procedimentos e docume ntos do sistema. Registrar o processo de desenvolvimento e o processo decisrio. Estimular a simplicidade Estudar possveis mudanas futuras e aperfeioamentos Medir a complexidade dos componentes do sistema Registrar os pontos fracos do sistema e pontos problemticos Estabelecer critrios de aceitao para avaliar a qualidade do software
Prof. Esp. Rafael H Mauro

Previso de Falhas
Definio A arte de coordenadar o desenvolvimento de software para minimizar a confuso de verses denominada Gerenciamento de Configuraes. Objetivo Desenvolvimento e Aplicao de procedimentos padres para gerenciar um produto de software que evolui. Tem como objetivo ser parte de um processo de qualidade Deve gerenciar todos os documentos envolvidos na construo de um software muito mais do que um simples gerenciamento de verses.

Prof. Esp. Rafael H Mauro

Previso de Falhas
Como fazer a Gerncia de Configurao? Antes de iniciar a gerencia de configurao preciso definir os itens de configurao O que so itens de configurao? Os itens de configurao um produto de software ou um produto de desenvolvimento de sotware escolhido para ser controlado. Produto de Software Programa de computador,procedimentos, documentao relacionada e informaes designadas para serem entregues a um usurio final so ditas como produto de software. Produto de Desenvolvimento de Software Descrio de Processos, planos, procedimentos, programas de computador e documentos relacionados que podem ou no ter a finalidade de serem entregues para o cliente so os ditos produtos de desenvolvimento de software.
Prof. Esp. Rafael H Mauro

Planejamento da Gerencia de Configurao


Um planejamento deve ser realizado antes de a gerencia de configurao ser iniciada, para realizar esse planejamento alguns tens devem ser realizados: Definir os tipos de documentos que sero gerenciados; Definir quem tem responsabilidade para os procedimentos de gerencia de configurao e criao de baselines Definir polticas de controle de mudana e gerencia de verso Definir os registros de gerencia de configurao que devem ser mantidos Descrever as ferramentas que devem ser usadas para guiar o processo de gerencia de configurao e quaisquer limitaes de uso Definir o processo de uso de ferramentas. Define o banco de dados de gerencia de configurao usado para registrar informaes de configurao.

Prof. Esp. Rafael H Mauro

Prof. Esp. Rafael H Mauro

Prof. Esp. Rafael H Mauro

Prof. Esp. Rafael H Mauro

Prof. Esp. Rafael H Mauro

Prof. Esp. Rafael H Mauro

Prof. Esp. Rafael H Mauro

Prof. Esp. Rafael H Mauro

Prof. Esp. Rafael H Mauro

Prof. Esp. Rafael H Mauro

Prof. Esp. Rafael H Mauro

Prof. Esp. Rafael H Mauro

Prof. Esp. Rafael H Mauro

Prof. Esp. Rafael H Mauro

ED Eng 2
1 B1 1 - Exerccio 2 B1 2 - Exerccio 3 B1 ISSO 250000 Modelo Square Exerccio 2 4 B1 CCMI - 1 - Exerccio 5 B1 CCMI - 2 - Exerccio 6 B1 ISO 9001 - 1 - Exerccio 7 B1 ISO 9001 - 2 - Exerccio 8 B1 - ISO 9000 Sistema de Qualidade de Software - 1 - Exerccio 9 B1 - ISO 9000 - Sistema de Qualidade de Software 2 - Exerccio 10 B1 - ISO 12207 Sistema de Qualidade de Software - 1 - Exerccio 11 12

Prof. Esp. Rafael H Mauro

Obrigado

Prof. Esp. Rafael H Mauro