Você está na página 1de 27

Guia para estudo de Engenharia de Software II para NP1

1. Qualidade de Software.
1.1. Introduo.
rea de conhecimento da engenharia de software que objetiva garantir a
qualidade do software atravs da definio e normatizao de processos de
desenvolvimento.
Apesar dos modelos aplicados na garantia da qualidade de software
atuarem principalmente no processo, o principal objetivo garantir um
produto final que satisfaa s expectativas do cliente, dentro daquilo que foi
acordado inicialmente.
Segundo a atual norma brasileira sobre o assunto (NBR ISO 8402),
qualidade " A totalidade das caractersticas de uma entidade que lhe confere
a capacidade de satisfazer s necessidades explcitas e implcitas".

Fonte: Sakamoto, L.: 2014.

Prevenir a qualidade dos defeitos ou das deficincias fazer com que o


produto possa ter uma garantia de qualidade atravs de medies. S se pode
gerenciar o que se consegue medir. Medidas de qualidade incluem
estruturao de processos de desenvolvimento com mtodos, tcnicas e
ferramentas.

Guia para estudo de Engenharia de Software II para NP1


1.1. Software sem qualidade

Projetos de software difceis de planejar e controlar;

Custos e prazos no so mantidos;

A funcionalidade dos programas nem sempre resulta conforme


planejado;

Existem muitos defeitos nos sistemas;

A imagem da empresa denegrida no mercado, como empresa


tecnologicamente atrasada;

1.2. Software com qualidade

Projetos, prazos e custos sob controle;

Satisfao de usurios, com necessidades atendidas na execuo de


suas tarefas;

Diminuio de erros nos projetos de software;

Melhoria da posio competitiva da empresa, como instituio capaz


de acompanhar a evoluo acelerada da tecnologia de hardware e
de software.

1.3. Normas de Software com qualidade


Principais normais nacionais e internacionais:
Qualidade do Produto
ISO 9126.

Caractersticas da qualidade de produtos de software.

NBR 13596

Verso brasileira da ISO 9126.

ISO 12119

Caractersticas de qualidade de pacotes de software


(software

de

prateleira,

vendido

com

um

produto

embalado).
ISO 9241

Requisitos ergonmicos para o trabalho em escritrio


informatizado.

ISO 14598

Plano para a avaliao de produtos de software.

Guia para estudo de Engenharia de Software II para NP1


Qualidade do Processo e Organizao
ISO 12207

Software Life Cycle Process. Norma para a qualidade


do processo de desenvolvimento de software.

CMM

Capability Maturity Model. Modelo da SEI (Instituto de


Engenharia de Software do Departamento de Defesa dos
EEUU) para avaliao da qualidade do processo de
desenvolvimento de software.

SPICE

Projeto da ISO/IEC para avaliao de processo de

ISO 15504

desenvolvimento de software. Ainda no uma norma


oficial ISO, mas o processo est em andamento.

ISO 9000

Normas e Modelos

para

a Gesto e Garantia

da

Qualidade.
1.4. Qualidade de Processo - ISO 15504 SPICE
SPICE - Software Process Improvement and Capability Determination
O resultado do projeto est previsto para ser transformado na norma ISO
5504 -Tecnologia de Informao - Avaliao de Processos de Software.

Este modelo divido em cinco grandes categorias de processos:


Processos

Descrio.

Cliente- Fornecedor Aquisio

do

necessidades

do

software,

Gerncia

das

Cliente,

Fornecimento

do

software, Operao do software, Implementao


de Servio ao Cliente.
Engenharia

Desenvolvimento de requisitos e projeto do


sistema,

Desenvolvimento

software,

Integrao

Desenvolvimento

do

de
teste

projeto

requisitos

de

de

software,

do

software,

Integrao e teste do sistema, Manuteno do


sistema e do software.

Guia para estudo de Engenharia de Software II para NP1


Suporte

Desenvolvimento
Desempenho

da

da

documentao,

gerncia

de

configurao,

Execuo da garantia da qualidade, Verificao


dos produtos de trabalho, Validao dos produtos
de

trabalho,

Revises

conjuntas,

Auditorias,

Resoluo de problemas.
Gerncia

Gerir o projeto, Gerir a qualidade, Gerir riscos,


Gerir subcontratantes.

Organizao

Construo do negcio, Definio do processo,


Melhoramento do processo, Disponibilizao de
recursos de treinamento, Disponibilizao de
infraestrutura organizacional.

1.5. Estrutura Hierrquica de um Modelo de Qualidade

Observe-se, pela definio, que a entidade mensurvel o atributo. Qualidade da


Subcaracterstica obtida pela consolidao dos atributos e sua consolidao define a
qualidade da caracterstica.

1.6. Qualidade de Software.


Um software de qualidade fcil de usar, funciona corretamente, de
fcil manuteno e mantm a integridade dos dados para evitar possveis
falhas, fora ou no, do seu controle.

Guia para estudo de Engenharia de Software II para NP1


Os custos resultantes de defeitos ou erros provocados por falha de
softwares, tanto para as empresas de softwares como para usurios, poderiam
ser catastrficos, bancos poderiam perder milhes de dlares e clientes veriam
seus dinheiros sumirem.

Caractersticas de Qualidade

Funcionalidade:

Satisfaz s necessidades explcitas e implcitas do

usurio?
Confiabilidade: Durante um perodo de tempo, funciona de acordo com
as condies pr-estabelecidas?

Usabilidade: fcil de usar?

Eficincia: No desperdia recursos?

Facilidade de Manuteno: fcil de alterar?

Portabilidade: facilmente adaptvel a diferentes plataformas?

Fatores de qualidade desejados

Eficincia: A facilidade com a qual as operaes e informaes podem


ser localizadas ou iniciadas.
Robustez: O grau com o qual o software trata dados incorreto de entrada
ou interao inapropriada com o usurio.
Riqueza: O grau em que a interface oferece um conjunto rico de
recursos importantes.
Qualidade de Software = Qualidade da Organizao

CMM - Capability Maturity Model

BOOSTRAP - European System and Software Iniative - ESSI


Programme.

+
Qualidade do Processo

ISO 9000 - Normas e Modelos para a Gesto e Garantia da


Qualidade

SPICE - ISO 15504 - Software Process Improvement Capability


Determination ISO 12207 - Processos do Ciclo de Vida do Software.

+
Qualidade do Produto

Guia para estudo de Engenharia de Software II para NP1

Fatores e Mtricas de qualidade de software de McCall (1977)

Critrios Ergonmicos de Scapin e Bastien (1993)

ISO 9126 Qualidade de Produtos de Software

ISO 9241 Requisitos ergonmicos para o trabalho de escritrio com


terminais de computadores capaz de acompanhar a evoluo
acelerada da tecnologia de hardware e de software.

1.7. Qualidade no Desenvolvimento de Software.


Para ajudar nessa questo, a International Organization Standardization
(ISO) e a International Electrotechnical Comission (IEC) se uniram para editar
normas internacionais conjuntas.
A norma internacional ISO/IEC define qualidade de software como A
totalidade de caractersticas de um produto de software que lhe confere a
capacidade de satisfazer necessidades explcitas e implcitas.

1.8. Modelos de Qualidade Software.

CMMI (Capabilibity Maturity Model Integration)


Prticas necessrias maturidade do processo de desenvolvimento
de software.
Nveis variam de 0 (inicial) at 5 (em otimizao).

MPS.BR (Melhoria de Processos do Software Brasileiro)


Modelo voltado para a realidade do mercado de pequenas empresas
de desenvolvimentos de software no Brasil.
Baseado nas normas ISO/IEC 12207 e 15504 e compatvel com o
CMMi.
Apoiado pelo Ministrio de Cincia e Tecnologia, FINEP e Banco
Interativo de Desenvolvimento.
Nveis variam de A (em otimizao) at G (parcialmente gerenciado).

MPT.BR (Melhoria do Processo de Teste Brasileiro)


Modelo para apoiar organizaes por meio do desenvolvimento da
disciplina de testes.
Baseados em diversos outros modelos, tais como CMMi e MPS.BR.

Guia para estudo de Engenharia de Software II para NP1


Nveis variam de 1 (parcialmente gerenciado) at 5 (automao e
otimizao).

ISO 9001:2008
Pertencente famlia ISO 9001 (gesto de qualidade para qualquer
organizao).
Estabelece os requisitos para um sistema de gesto da qualidade.
Padronizao de todos os processos-chave, que afetam o produto e
o cliente.
Garantir a rastreabilidade do processo e fornecer meios apropriados
de aes corretivas.

ISO 9001:2008
Pertencente famlia ISO 9001 (gesto de qualidade para qualquer
organizao).
Estabelece os requisitos para um sistema de gesto da qualidade.
Padronizao de todos os processos-chave, que afetam o produto e
o cliente.
Garantir a rastreabilidade do processo e fornecer meios apropriados
de aes corretivas.

ISO/IEC 9126
Norma para qualidade de produto de software.
Prope atributos de qualidade distribudos em seis caractersticas.

Guia para estudo de Engenharia de Software II para NP1

ISO/IEC 12207
Estabelece uma estrutura comum para os processos de ciclo de vida
do software.
Visa ajudar a organizao a compreender todos os componentes
presentes na aquisio e fornecimento de software.
Processos d i v i d i d o s e m t r s c a t e g o r i a s :

fundamentais,

a p o i o e organizacionais.

ISO/IEC 15504
Conhecida como SPICE, define o processo de desenvolvimento de
software, sendo uma evoluo da ISO/IEC 12207.
Possui nveis de capacidade, assim como o CMMI

1.9. O que Produto de Software?


Produto d e S o f t w a r e

o conjunto de programas de

c o m p u t a d o r , procedimentos, documentao e dados associados que


compe o software.

1.10. O que Processo de Software?


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

Qualidade do Processo
A qualidade de processo garantir que as tarefas que envolve o passo a

passo de como desenvolver um bom software estejam sendo seguidas.


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 Gerncia de projeto

Normas que definem a Qualidade do Processo de Software.

ISO 9000 9001

ISO 12207

CMMI

PSP

Guia para estudo de Engenharia de Software II para NP1

SPICE

MPSBr

1.11. O que CASE (Computer Aided Software Engeneering).


Sistemas de software que se destinam a fornecer apoio automatizado
para as atividades de desenvolvimento de software.

Sistemas CASE so usados frequentemente para apoiar um mtodo


especfico

Upper-CASE
Ferramentas para apoiar as atividades iniciais de processo de requisitos

e de projeto;

Lower-CASE
Ferramentas para apoiar as atividades finais tais como programao,

debugging e teste.

1.12. Quais so os desafios-chave enfrentados pela engenharia de


software?

Heterogeneidade
Sistemas de software devem ser capaz de lidar com diferentes

plataformas de hardware e ambientes de execuo;

Entrega
O sistema deve ser entregue ao cliente no menor tempo possvel, com o

menor custo possvel;

Confiana
O usurio deve poder justificadamente depositar sua confiana no

sistema

Escala
O sistema deve funcionar adequadamente mesmo quando um grande

mero de usurios o est usando

2.1. CICLO DE VIDA DO SOFTWARE


Um software possui um ciclo de vida relativamente curto, se nao sofrer
implementaes (correes e/ou melhorias), em torno de 5 ANOS.

Guia para estudo de Engenharia de Software II para NP1

2.2. Fases do ciclo de um SW

Fonte: Sakamoto, L.: 2014.

Fase I

Concepo Nascimento do Sw

Fase II

Construo Analise e programao

Fase III

Implantao Testes e disponibilizao aos usurios


Ajustes

Ajustes ps-implantao

Fase IV

Maturidade Utilizao plena

Fase V

Declnio

Dificuldades de uso

Manuteno Tentativa

de

sobrevivncias

(ajuste

melhorias)
Morte

Parada definitiva do uso

Fonte: Sakamoto, L.: 2014.

1. Estudo Inicial:
1. Estudo de viabilidade ou levantamento de requisitos.
2. Entrevistas

com

usurios

fim

de

identificar

as

suas

necessidades.
3. Aps as entrevistas, definem-se as funes requisitadas e
elaborao de um Plano de trabalho, com limitaes de prazo,
recursos humanos, oramento, custos/benefcios das funes a
serem automatizadas.
2. Anlise
1. Transforma as informaes obtidas no estudo inicial em uma
especificao estrutura das necessidades dos usurios.

10

Guia para estudo de Engenharia de Software II para NP1


2. Nesta fase o ambiente do usurio e modelado atravs de
diagramas:
1. DFD Diagrama de Fluxo de Dados
2. MER Modelos entidade-relacionamento
3. UML Anlise Orientada a Objetos
3. Pode ser desenvolvido um modelo prottipo
3. Projeto
1. Determina as tarefas, provenientes da especificao, que cada
pessoa envolvida dever executar.
2. Detalhamento de cada mdulo do sistema e refinamento dos
diagramas criados na fase de anlise.
3. O produto final e a especificao do projeto que visa relatar o
impacto do projeto interno no ambiente operacional.
4. analisada/contemplada a arquitetura de Hw, configurao de
rede, capacidade do servidor, dimensionamento do banco de
dados e Estao de Trabalho.
4. Implementao
1. Codificao e integrao de todas as funcionalidades requisitadas
pelo usurio (fase inicial) e registrado no documento de
especificaes do sistema (fase projeto), atravs de linguagem de
programao.
2. Nesta fase, um teste inicial deve ser feito pelo programador a fim
de eliminar erros, e pelo analista com o propsito de verificar se o
programa executa conforme especificao.
5. Teste
1. A partir da especificao estruturada do sistema (gerada na fase
de anlise) comea a atividade de gerao de casos de Teste de
Aceite.
2. Aps a codificao, cada mdulo ser testado individualmente,
bem como sua integrao com o sistema.
3. Gera-se um Plano de Testes onde se estabelece a pessoa/grupo
responsvel por testar o sistema e se define procedimentos
padres, verificando-se os possveis erros e comparando os
resultados obtidos com os esperados.

11

Guia para estudo de Engenharia de Software II para NP1


4. Efetuam-se Testes de Desempenho (tempo de resposta),
Testes de Vias Normais (consistncia das entradas) e ao final
elabora-se o relatrio com os resultados obtidos.
5. Nesta fase importante a participao do USUARIO FINAL, para
assegurar o comprometimento.
6. Documentao
1. Consolidam-se documentos do sistema produzidos ao longo do
desenvolvimento

geram-se

documentos

detalhando

as

funcionalidades e interao do usurio com o sistema:


1. Manual de instalao
2. Manual do usurio, a partir da especificao estruturada do
sistema (gerada na fase de anlise) comea a atividade de
gerao de casos de Teste de Aceito.
2. Esta documentao dever basear-se em todo o material j
escrito.
7. Instalao
1. Entrega do sistema e documentao.
2. Dependendo da situao de entrega da infraestrutura poder ser
gradual.
3. Treinamento.

Fonte: Sakamoto, L.: 2014.

12

Guia para estudo de Engenharia de Software II para NP1


Esta figura justifica o esforo no sentido de melhoria da qualidade de
produto de software e, de certa forma, sumariza diversos conceitos utilizados
no modelo SQuaRE.
Devemos analisar dois sentidos da influencia:

Situao projeta novo status;

Depende de: define o desdobramento de requisitos esclarecer


contextos de uso, usurio, tarefa, equipamento, ambiente.

Refere-se orientaes para qualidade.

2.1. Modelo SQuaRE para especificao e avaliao da qualidade de


produto de software.
Trata da qualidade de produto de software segundo a abordagem do
novo modelo que est sendo desenvolvido pela ISO/IEC que revisa as normas
existentes e cria novas normas.
Novo modelo refora a questo de requisitos de qualidade de software,
destacando o conceito de qualidade em uso e a derivao de necessidades
para requisitos de qualidade.
Esta viso facilita o entendimento da necessidade de ampliar a eficcia
das solues de software para problemas e oportunidades empresariais.

3.0 Capability Maturity Model (CMM).


O Modelo de Maturidade de Capacidade para Software (CMM) foi
desenvolvido pelo Instituto de Engenharia de Software (SEI). Ele descreve os
princpios e prticas relacionados maturidade do processo de software, e seu
objetivo ajudar as organizaes a melhorarem seus processos de software
em termos de um caminho evolutivo que vai de ad hoc e processos caticos a
processos de software maduros e disciplinados.
O CMM organizado em cinco nveis de maturidade. Um nvel de
maturidade uma base evolucionria bem definida direcionada a obter um
processo de software maduro. Cada nvel de maturidade fornece uma camada
como base para um processo de melhora contnuo.

3.1. Os Cinco Nveis de Maturidade.

13

Guia para estudo de Engenharia de Software II para NP1


As seguintes caracterizaes dos cinco nveis de maturidade destacam
as mudanas do processo primrio feitas em cada nvel (Paulk, 1994).
1. Inicial: O processo de software caracterizado como ad hoc e,
ocasionalmente catico mesmo. Poucos processos so definidos e o
sucesso depende de esforos individuais e heroicos.
2. Reproduzvel: Os processos de administrao do projeto bsico so
estabelecidos para trilhar custo, cronograma e funcionalidade. A
disciplina de processo necessria estabelecida para se repetir
sucessos anteriores em projetos com aplicaes similares.
3. Definido:

processo

de

software

para

as

atividades

de

administrao e engenharia documentado, padronizado e integrado


num processo de software padro para a organizao. Todos os
projetos usam uma verso aprovada e feita sob medida do processo
de software padro da organizao para desenvolvimento e
manuteno de software.
4. Gerenciado: Medidas detalhadas do processo de software e da
qualidade do produto so coletadas. Ambos, o processo de software e
o produto, so entendidos e controlados quantitativamente.
5. Otimizado: Um processo de melhora contnuo capacitado por
retorno quantitativo do processo e das ideias e tecnologias
inovadoras.

3.2. reas-Chave de Processo


Exceto para o nvel 1, cada nvel de maturidade decomposto em vrias
reas-chave de processo que indicam as reas que uma organizao deveria
enfocar para melhorar seu processo de software. Cada rea-chave de
processo (KPA) identifica um grupo de atividades relacionadas que, quando
realizadas coletivamente, atingem um conjunto de objetivos considerados
importantes para a melhoria da capacidade do processo.
Por definio, no existem reas-chaves de processo para o nvel 1.
As reas-chave de processo para o nvel 2 enfocam os interesses
relacionados ao estabelecimento de controle bsico de administrao de
projeto.

14

Guia para estudo de Engenharia de Software II para NP1


As reas-chave de processo para o nvel 3 enfocam os problemas
organizacionais e de projeto, como a organizao estabelece uma
infraestrutura que institucionaliza uma engenharia de software efetiva e
uma administrao de processos em todos os projetos.
As reas-chave de processo para o nvel 4 enfocam em estabelecer
um entendimento quantitativo de ambos, o processo de software e o produto
sendo construdo.
As reas-chave de processo para o nvel 5 cobrem os problemas
que ambos, organizao e projetos, devem enderear para implementar
uma melhora contnua e mensurvel do processo de software.
A tabela abaixo mostra todas as reas-chave de processo para
cada nvel de maturidade:

Nvel de Maturidade

reas-Chave de Processo

1. Inicial

No possui reas-chave de processo.

2. Reproduzvel

Administrao

dos

Requisitos,

Planejamento

de

Projeto de Software, Acompanhamento de Projeto de


Software,

Gerenciamento

de

Subcontrato

de

Software, Garantia de Qualidade de Software e


Gerenciamento de Configurao de Software.
3. Definido

Foco no Processo da Organizao, Definio do


Processo da Organizao, Programa de Treinamento,
Administrao de Software Integrado, Engenharia de
Produto de Software e Revises.

4. Gerenciado

Gerenciamento

da

Qualidade

de

Software

Gerenciamento Quantitativo do Processo.


5. Otimizado

Preveno de Defeito, Gerenciamento de Mudana


de Tecnologia e Gerenciamento de Mudana no
Processo.

15

Guia para estudo de Engenharia de Software II para NP1


Por convenincia, cada uma dessas reas-chave de processo
organizada por caractersticas comuns, que so atributos que indicam
quando a implementao e institucionalizao de uma rea-chave de
processo efetiva, reproduzvel e durvel. So elas: Compromisso a
Realizar, Habilidade para Realizar, Atividades Realizadas, Medio e Anlise
e Verificao da Implementao (Paulk, 1994).
Cada rea-chave de processo descrita em termos de prticas chave
que contribuem para satisfazer seus objetivos. As prticas chave descrevem a
infraestrutura e as atividades que contribuem para a implementao e
institucionalizao efetiva da rea-chave de processo.
A adoo da metodologia CMMI como ferramenta no gerenciamento de
projetos de Software muito comentada e requisitada.
CMMI uma metodologia criada pela SEI (Software Engineering
Institute) para ser um guia destinado a melhorar os processos organizacionais
e a habilidade desses em gerenciar o desenvolvimento, a aquisio e a
manuteno de produtos e servios. O CMMI organiza as prticas, que j so
consideradas efetivas, em uma estrutura que visa auxiliar a organizao a
estabelecer prioridades para melhoria e tambm fornece um guia para a
implementao dessas melhorias.
O primeiro passo a ser dado a identificao, por meio de um mtodo
definido pelo SEI (SCAMPI SEI Members of the Assessment Method
Integrated Team, 2001) e conduzido por um avaliador credenciado, do estgio
em que a empresa se encontra no presente; uma vez que este denota um nvel
de maturidade a ser alcanado pelas empresas, visando ajud-las no
desenvolvimento e manuteno dos projetos de software, como tambm
melhorar a capacidade de seus processos.
Aps a verificao do estgio da empresa, verifica-se qual a prxima
etapa a ser alcanada e quais as competncias que devem ser adquiridas
neste processo. Esta fase importante, pois permite alcanar o sucesso e,
consequentemente, melhoria na qualidade dos servios e produtos fornecidos
pela rea de tecnologia da Empresa.

16

Guia para estudo de Engenharia de Software II para NP1


3.3. O CMMI est dividido em cinco estgios:
1. Realizao Estgio inicial
2. Gerenciado Gerenciamento de requisitos, planejamento de projeto,
monitoramento e controle de projeto, gerenciamento de fornecedores, medio
e anlise, garantia da qualidade do processo e do produto, gerenciamento de
configurao;
3. Definido Desenvolvimento de requisitos, soluo tcnica, integrao
do produto, verificao e validao, foco no processo organizacional, definio
do processo organizacional, treinamento organizacional, gerenciamento de
riscos, gerenciamento integrado do projeto, anlise da deciso e resoluo;
4.

Quantitativamente

Gerenciamento

quantitativo

do

projeto,

performance do processo organizacional;


5. Otimizao Anlise causal e resoluo, inovao organizacional e
implantao.
A

tendncia atual de

que o modelo

CMM seja

substitudo

g r a d a t i v a m e n t e pelo CMMI.
3.4. CONSIDERAES SOBRE O CMM
3.4.1. Origem do CMM
O CMM teve origem durante na dcada de 1980 como um modelo para
avaliao de risco na contratao de empresas de software pela Fora Area
Norte-Americana, que desejava ser capaz de avaliar os processos de
desenvolvimento utilizados pelas empresas que concorriam em licitaes,
como indicao da previsibilidade da qualidade, custos e prazos nos projetos
contratados.
Para desenvolver este modelo, a Fora Area constituiu, junto
Carnegie-Mellon University, o SEI (Software Engineering Institute), o qual,
alm de ser o responsvel pela evoluo do CMM, realiza diversas outras
pesquisas em Engenharia de Software.
O lder do projeto que veio a resultar no CMM foi Watts Humphrey,
anteriormente responsvel por todo o desenvolvimento de software da IBM,
onde aplicou pela primeira vez os conceitos tradicionais de qualidade,
largamente conhecidos e utilizados em manufatura, no desenvolvimento e
manuteno de software. Neste trabalho, Humphrey baseou-se na sua
experincia anterior como engenheiro de hardware.

17

Guia para estudo de Engenharia de Software II para NP1


Embora, o CMM tenha surgido no contexto de grandes empresas de
desenvolvimento de software contratadas pelas Foras Armadas dos EUA para
projetos militares, tem-se verificado que seus princpios so vlidos para todo
tipo de projetos de software.
Isto no de se estranhar, j que o CMM nada mais que a aplicao
dos princpios da Qualidade Total e do Gerenciamento de Projetos ao mundo
do software. Assim, o CMM tem sido usado com sucesso, na ntegra ou
adaptado, nos mais variados tipos de empresas, grandes e pequenas, em
vrias reas de atuao.
3.4.2. CMMi
O CMMI o mais recente modelo de maturidade para desenvolvimento
de software do SEI (Software Engineering Institute - Carnegie Mellon University
- EUA), um dos maiores influenciadores em gesto de processos de software
em todo o mundo.
Derivado principalmente dos modelos SW-CMM (CMM for Software,
voltado ao desenvolvimento de software bsico, ou de infraestrutura) e SECMM (CMM for

Systems Engineering, voltado ao desenvolvimento de

aplicaes de software), o CMMI surgiu da percepo de que software bsico e


aplicaes so desenvolvidos em contextos integrados. Alm disso, o novo
modelo refora aspectos relacionados gesto de fornecedores e poder
assimilar outros processos futuramente.
At presente momento, so quatro as disciplinas incorporadas ao
CMMI: Systems Engineering (SE), Software Engineering (SW), Integrated
Product and Process Development (IPPD) e Supplier Sourcing (SS).

3.4.3. Finalidade do CMMI


O projeto CMMI foi desenvolvido para:

Definir um ponto inicial para modelos integrados;

Aprimorar as melhores praticas para a criao de modelos baseados


em lies aprendidas;

Estabelecer um framework que possibilite a integrao futura de


novos modelos;

Criao de uma forma associada de avaliao de desempenho e


treinamento de produtos;

18

Guia para estudo de Engenharia de Software II para NP1

Esforo conjunto (mais de 100 profissionais de aproximadamente 30


empresas envolvidas):

Indstria;

Governo;

Instituto de Engenharia de Software (SEI).

3.4.4. Benefcios
3.4.4.1. Benefcios trazidas pelo cmmi no negcio
As vantagens esperadas no negcio:

Reduo substancial em integrao de sistemas e tempo de teste


com maior probabilidade de sucesso;

Causa

integrao

de, integrao

entre,

vrias

funes

desenvolvidas;

Estende o s b e n e f c i o s d o C M M -SW p a r a t o d o o p r o j e t o
e/ou organizao;

Emprega o princpio da engenharia de sistemas no desenvolvimento


de software;

Acrescenta e aprimora SE em programas existentes;

Acrescenta e aprimora SE em programas existentes;

Alavancagem no processo de melhoria do investimento.

3.4.4.2. Benefcios tcnicos trazidos pelo CMMI no negcio


Os benefcios trazidos pelo CMMI, visam o crescimento do foco e
consistncia em:

requisitos de desenvolvimento e administrao;

design e desenvolvimento de sistemas;

integrao de sistemas;

administrao de riscos;

mtricas e anlises;

outras atividades relacionadas a engenharia.

3.4.4.3. Alguns pontos a serem trabalhados para a obteno do CMMI


No nvel 2 preciso trabalhar pontos como Gesto de Requisitos, de
Acordo com Fornecedores e de Configurao, Planejamento e Monitoramento
de Projetos, Medio e Anlise.

19

Guia para estudo de Engenharia de Software II para NP1


No nvel 3, os quesitos a serem trabalhados so, entre outros, Soluo
Tcnica, Integrao do Produto, Verificao e Validao, Definio de
Processos Organizacionais, Gesto de Riscos, Anlise de Decises e
Resoluo.
J nos nveis 4 e 5, respectivamente, trabalhamos pontos como
Performance de Processos Organizacionais e Gesto Quantitativa de Projetos,
Inovao e Anlise de Causas e Resoluo.

3.4.4.4. Etapas das avaliaes para o CMMI


A primeira etapa de avaliao para o CMMI o treinamento da equipe
de avaliao, que poder ser composta somente por profissionais da
consultoria ou da consultoria e dos clientes.
A segunda etapa o planejamento da avaliao, onde diversos aspectos
so contemplados, como logstica e estabelecimento de expectativas.
A terceira etapa a execuo da avaliao, quando o diagnstico
propriamente dito realizado. Tipicamente ocorrem de 5 (cinco) 10 (dez) dias
consecutivos de visitas ao cliente, quando o planejamento da avaliao posto
em prtica. Entrevistas, reviso de documentos e atividades de consenso da
equipe de avaliao so realizadas nesta etapa.
Por ltimo vem a reportagem dos resultados, que ocorre no ltimo dia de
avaliao, em uma sesso onde comparecem todos os participantes e
eventuais convidados. Ela seguida por uma sesso executiva, onde so
discutidos os principais aspectos levantados durante a avaliao.

3.4.4.3. CONCLUSO
O CMMI (Capability Maturity Model Integration), representa uma
evoluo do modelo SW-CMM.
Apesar de todo o sucesso de uso do modelo CMM no mundo, existe a
tendncia de que ele seja substitudo gradativamente pelo CMMI.

20

Guia para estudo de Engenharia de Software II para NP1


Muito embora esteja fortemente fundamentado em software, o CMMI
contempla

desenvolvimento

multidisciplinar,

cobrindo

outras

reas

do

desenvolvimento de sistemas.

4.1. O Modelo McCall


Qualidade de software um tema que vem sendo abordado e evoludo
h muito tempo em engenharia e arquitetura de software, tanto em relao
qualidade do processo (da concepo construo e manuteno) quanto
em relao qualidade do produto, o software em si.
Nas dcadas de 70 a 90, organizaes internacionais de normatizao e
padronizao como ISO/IEC, ANSI, IEEE e outros definiram qualidade
de produto como:
A totalidade dos recursos, aspectos e caractersticas de um produto ou
servio que suportam a sua capacidade de satisfazer os requisitos dados, as
expectativas e as necessidades explcitas e implcitas.
Em seu estudo sobre qualidade de software, Software Quality:
Definitions and Strategic Issues o pesquisador, Ronan Fitzpatrick prope uma
viso mais moderna e ousada de qualidade do produto de software, definindo
assim (Fitzpatrick, 1996).
Qualidade de software a medida em que um conjunto definido pela
indstria de caractersticas desejveis so incorporadas em um produto, de
modo a aprimorar seu desempenho durante sua existncia.
O Modelo de Qualidade de Software proposto por James A. McCall e
outros, em 1977, foi um dos primeiros largamente difundidos neste campo. Ele
organiza os critrios de qualidade de software em trs pontos de vista, a saber:

Operao: caractersticas relativas ao uso do


produto.

Reviso:
capacidade
modificado e evoludo.

do

Transio:
adaptabilidade
diferentes ambientes.

21

produto

novos

ser

Guia para estudo de Engenharia de Software II para NP1


Os critrios de qualidade elencados no Modelo de McCall em cada ponto de
vista esto listados na tabela a seguir.
Operao

Reviso

Transio

Correo

Manutenibilidade

Portabilidade

Confiabilidade

Flexibilidade

Reusabilidade

Eficincia

Testabilidade

Interoperabilidade

Integridade
Usabilidade
Atualmente existem outros modelos de avaliao da qualidade do
produto de software, em especial o padro internacional de engenharia de
software ISO/IEC 9126, que trata da Qualidade do Produto. A norma se divide
em quatro partes, sendo a primeira uma viso geral do modelo de qualidade, e
as outras trs, os grupos de mtricas definidas para este modelo:

Parte 1: Modelo de qualidade.

Parte 2: Mtricas externas.

Parte 3: Mtricas internas.

Parte 4: Mtricas de qualidade em uso.

Qualidade externa diz respeito ao produto final como percebido pelo


usurio, enquanto qualidade interna se refere estrutura e s caractersticas
do produto em seu projeto e construo.
Mais recentemente, desde 2005, as normas ISO/IEC 9126 e a srie
ISO/IEC 14598, de avaliao de produto de software, tem sido integradas na
nova Srie de normas ISO/IEC 25000 Software Engineering Software
product Quality Requirements and Evaluation (SQuaRE), que tem seu
ncleo principal composto por cinco divises:

ISO/IEC 2500n Diviso Gesto da Qualidade;

ISO/IEC 2501n Diviso Modelo de Qualidade;

ISO/IEC 2502n Diviso Medio da Qualidade;

ISO/IEC 2503n Diviso Requisitos de Qualidade;

ISO/IEC 2504n Diviso Avaliao da Qualidade.

Alm deste ncleo principal, o SQuaRE contempla extenses, que


tratam de temas especficos, como ISO/IEC 25051, SQuaRE Requisitos para
qualidade de produtos comerciais de prateleira (Commercial Off-The-Shelf

22

Guia para estudo de Engenharia de Software II para NP1


COTS), e ISO/IEC 2506n, SQuaRE Common Industry Format (CIF) para
usabilidade.
Os critrios de qualidade no Modelo de McCall so muito similares aos
preconizados por outros modelos para classificao de atributos de qualidade
de software, como o FURPS+ (Robert Grady e Deborah Caswell, HP, 19871992) e o da prpria ISO/IEC 9126, quanto a requisitos no funcionais:

FURPS+

ISO 9126

McCall

Functionality (Funcionalidade)

Funcionalidade

- (n/a, funcional)

Usability (Usabilidade)

Usabilidade

Usabilidade (Operao)
Correo,

Reliability (Confiabilidade)

Confiabilidade

Confiabilidade,
Integridade (Operao)

Performance (Desempenho)
Supportability
(Suportabilidade)

Eficincia

Eficincia (Operao)
Manutenibilidade,

Manutenibilidade

Flexibilidade,
Testabilidade (Reviso)
Portabilidade,

+ (outros requisitos/restries)

Portabilidade

Interoperabilidade,
Reusabilidade
(Transio)

.
Vale ressaltar que qualidade do software, abordada aqui, se entende por
Qualidade do produto de software em si, o que distinto de qualidade do
processo de software, que diz respeito qualidade das atividades e forma
pelas quais se produz software.
Em 1977, McCall props um modelo para a avaliao da qualidade de
software. Esse modelo envolve um conjunto de trs fatores que avalia o
software com relao a trs pontos de vista distintos.I - Com relao ao uso
do produto (Caractersticas Operacionais).
* Corretude Medida na qual o software satisfaz as especificaes e objetivos
visados pelo cliente.

23

Guia para estudo de Engenharia de Software II para NP1

Confiabilidade medida que se pode esperar que um programa

execute sua funo pretendida com a preciso exigida.


* Eficincia a quantidade de recursos computacionais e de cdigo
exigida para que um programa execute sua funo, com total preciso,
visando

realizar

operao

de

forma

100%

segura.

* Integridade Medida na qual, controla-se o acesso ao software e aos


dados, bloqueando assim o acesso de pessoas no autorizadas, para que
no ocorra perda de dados ou de cdigo.
* Usuabilidade Mede a facilidade para a utilizao do software.

II - Com relao a alterao do produto (Habilidade para ser alterado).


* Manuteno O esforo exigido para localizar e reparar erros em um
programa.

Flexibilidade O esforo utilizado para realizar uma alterao no

software, isto , qual o grau de facilidade que o sw oferece para a sua


alterao, de forma rpida e eficaz?

Testabilidade So todos os recursos utilizados, no teste do software,

isto , o esforo exigido para testar um programa a fim de garantir que ele
execute a funo pretendida.
III - Transio do produto (Adaptabilidade a novos ambientes).
* Portabilidade Mede a facilidade com que um produto pode ser movido
para outra plataforma, ou software.
* Reusabilidade Medida na qual o software, ou parte dele, poder ser
reusado em outros softwares, em outras palavras, o cdigo do sw deve ser
reaproveitvel.

24

Guia para estudo de Engenharia de Software II para NP1


* Interoperabilidade O software capaz de ser acoplado ao outro

5.0. Referncias Bibliogrficas

Aurlio. F. B. H., Novo Dicionrio da Lngua Portuguesa, editora Nova


Fronteira, 1986.

Berard, E., Metrics for Object-Oriented Software Engineering, an Internet


posting on comp.software-eng, 1995.

Boehm, B., Software Engineering Economics, Prentice-Hall, 1981.


Bueno, C. F. S.; Campelo, G. B.; Departamento de Informtica, Universidade
Federal

de

Pernambuco,

http://www.cin.ufpe.br/~qualisoft/documentos/diversos/quality.doc;

Recife,
Acessado

em 27/03/2015.

CMMI

(Capability

Maturity

Model

Integration),

http://www.devmedia.com.br/cmmi-capability-maturity-model-integration,
Acessado em 27/03/2015.

Centro de Estudos e Sistemas Avanados do Recife - CESAR, Informtica


Brasileira em Anlise - ano 1, nmero 2, junho de 1997.

Chidamber, S. R., e Kemerer, C. F.; A Metrics for Object-Oriented Disign,


IEEE Trans. Software Engineering, vol. 20, nmero 6, pg. 476-493, 1994.

Davis, A. et al., Identifying and Measuring Quality in a Software


Requirements Specification, Proc. 1st Intl. Software Metric Symposium, IEEE,
Baltimore, MD, pg. 141-152, 1993.

25

Guia para estudo de Engenharia de Software II para NP1


Fitzpatrick, R.; Software quality definitions and strategic issues, Technical
Paper, Staffordshire University, 1996.
Grady, R., Caswell, D.; Software Metrics: Establishing a Company-wide
Program. Prentice Hall, p. 159, 1987.
Grady, R.; Practical Software Metrics for Project Management and Process
Improvement. Prentice Hall, p. 32, 1992.
http://www.esicenter.unisinos.br/index.php?pg=frm_vernoticia.php?idnt=50,
Acessado em 27/03/2015.

http://www.timaster.com.br/revista/materias/main_materia.asp?codigo=1061&p
ag, Acessado em 27/03/2015.

http://kplus.cosmo.com.br/materia.asp?co=30&rv=Vivencia,

Acessado

em

27/03/2015.
http://www.dromostg.com.br/CMMI.PDF, Acessado em 27/03/2015.

http://blog.mhavila.com.br/2010/06/20/modelo-de-qualidade-de-software-demccall/

Humphrey, W. S.; Managing the Software Process, Addison-Wesley, 1989.

Humphrey, W. S.; The Personal Software: Process Overview, Practice and


Results, Carnegie Mellon University Pittsburgh, PA 15213.

Lorenz, M., e Kidd, J.; Object-Oriented Software Metrics, Prentice-Hall, 1994.

John

A. McDermid, Software Engineers Reference Book, Butterworth-

Heinemann, 1994.

Meyer, B., Object-oriented Software Construction, Prentice-Hall, 1988.

26

Guia para estudo de Engenharia de Software II para NP1


Paulk, M. C.; A comparison of ISO9001 and the Capability Maturity Model
for Software, Technical Report, 1994.
Pressman, R. S.; Software Engineering: A Practitioners Approach, terceira
edio, McGrawHill, 1995.

Pressman

R. S.; Pressman,

Software Engineering:

A Practitioners

Approach, quarta edio, McGrawHill, 1997.

Pressman, Roger. S.; Engenharia de Software: conceitos de qualidade .7


ed. Porto Alegre: AMGH,2011.
Sakamoto, L.; Engenharia de Software II Universidade Paulista UNIP, 2014.

SEI Software Engineering Institute, http://www.sei.com.

Shneiderman, B., Software Psychology: Human Factors in Computer and


Information Systems, Winthrop Publishers, 1980.

Sommerville, I.; Software Engineering, Addison-Wesley, 1992.

Sommerville, I.; Engenharia de Software, 8. edio. Captulo 1. 1993.

Wirfs-Brock, R., Wilkerson, B., e Weiner, L.; Designing Object-Oriented


Software, Prentice-Hall, 1990.

27

Você também pode gostar