Resumo
Este artigo visa a anlise das melhores prticas de produo de software em relao
qualidade. Dentro dessa proposta ser estudado os fundamentos da qualidade no processo
e no produto. Esta anlise ser efetivada atravs dade pesquisa qualitativa e bibliogrfica,
com coleta de dados em livros e sites, e posterior anlise dos dados .
ABSTRACT
This article aims to examine the best software production practices in
relation to the quality. Within this proposal will be studied the
fundamentals of quality in the process and the product. This analysis
will be carried through ity qualitative and bibliographic research, with
data collection in books and websites, and subsequent data analysis.
SUMRIO
Captulo 1
1.Fundamentos de qualidade de software
1.1 - Introduo
1.2 -A O que qualidade?
1.3- Engenharia de Software
1.4 - Metodologias de produo de software
Captulo 2
2.Valores e custos de qualidade
Captulo 3
3.Modelos e caractersticas de qualidade
Captulo 4
4.Qualidade do processo versus qualidade da produo
Captulo 5
5.Garantia de qualidade de software
Captulo 5
6.Verificao e validao
Captulo 7
7.Revises e auditorias
Captulo 8
8.Requisitos de qualidade
Captulo 9
9.Medidas de qualidade de software
Consideraes finais
Referncias bibliogrficas
Captulo 1
1.Fundamentos de qualidade de software
1.1 - Introduo
Segundo Pressman (2006), um software um conjunto composto por
instrues decomputador, estruturas de dados e documentos;
Na era atual o software to importante quanto era a geladeira para o
sculo 20.
No vivemos mais sem o uso do mesmo, porm, assim como todo
produto, o software precisa ser utilizvel. Diante do exposto, ser
discorrido nesse artigo a qualidade de softwre.
1.2 - O que qualidade?
Objetivos:
Contextualizar o tema qualidade;
Relatar sucintamente a histria da administrao da qualidade;
Demonstrar as principais eras da evoluo da qualidade.
software (programas)
Prover uma fundao para o desenvolvimento do currculo, para
certificao individual e para licenciamento de material
reas do Conhecimento[editar | editar cdigo-fonte]
Requisitos de Software
Projeto de Software
Construo de Software
Teste de Software
Manuteno de Software
Gerncia de Configurao de Software
Gerncia da Engenharia de Software
Processo de Engenharia de Software
Ferramentas e Mtodos da Engenharia de Software
Qualidade de Software
10 reas da Engenharia de
Software
Requisitos de software
Aquisio, anlise, especificao e gesto de
requisitos de software.
Design de software
Transformao de requisitos (de software),
tipicamente estabelecidos em termos
relevantes ao domnio do problema, em uma
descrio explicando como solucionar os
2. Valores de qualidade
Qualidade de Software segundo o SWEBOK
O SWEBOK (Software Engineering Body of Knowledge) verso 2004 do
IEEE (Institute of Electrical and Electronics Engineers) apresenta em
uma das suas KAs (Knowledge Areas) a KA de Software Quality.
Abaixo na Figura 4, pode-se ver a estrutra da KAs de Software
Quality:
Falhas na produo.
Com isso, "O modelo apresentado dever ser associado a todas as
atividades de um processo de engenharia de software. Em todos os
projetos a serem construdos ou modificados, todas as atividades
deveriam ter uma poltica de alocao de custos semelhante ao
modelo apresentado." (BARTI, 2002, p. 29)
Qualidade de Software segundo a ISO 9126-1
A ISO tambm apresenta as caractersticas da qualidade de software
atravs da norma NBR ISO/IEC 9126-1. A antiga norma brasileira para
as caractersticas da qualidade de software era a NBR 13.596. No
entanto, a mesma se integrou a ISO, formando a NBR ISO/IEC 9126-1.
Na Figura 6, so mostradas essas caractersticas juntamente com suas
subcaractersticas:
outro.
Alm da NBR ISO/IEC 9126-1, existem ainda outras normas da srie
9126, as quais so:
ISO/IEC 9126-2 - Mtricas Externas: Podem ser aplicadas para um
produto no executvel durante os estgios de desenvolvimento.
Medem a qualidade de produtos intermedirios e predizem a
qualidade do produto final.
ISO/IEC 9126-3 - Mtricas Internas: Utilizadas para medir a
qualidade do software atravs do comportamento do sistema
ou de parte dele. S podem ser usadas durante a fase de
testes do ciclo de vida e durante a operao do sistema.
ISO/IEC 9126-4 - Mtricas da Qualidade do Uso: medem se o
produto atende ou no as necessidades dos usurios, fazendoos atingir seus objetivos com efetividade, produtividade,
segurana e satisfao. S podem ser usadas no ambiente
real ou em uma aproximao do ambiente real.
A Qualidade segundo o PMBOK do PMI
O PMBOK (Project Management Body Of knowledge) do PMI (Project
Management Institute), na sua verso 2004 apresenta o
gerenciamento da qualidade do projeto, conforme Figura 7 abaixo:
Funcionalidade
A capacidade de um software prover funcionalidades que satisfaam o
usurio em suas necessidades declaradas e implcitas, dentro de um
determinado contexto de uso.
Captulo 4
4.Qualidade do processo versus qualidade da produo
Um dos principais motivos para que organizaes de software adotem
uma viso de melhoria contnua de seus processos o fato da
qualidade do produto final depender diretamente da qualidade do
processo de software adotado.
Uma parte importante da melhoria de processos a avaliao de
processos. A avaliao sistemtica da qualidade de um processo, de
seus ativos (atividades, ferramentas, procedimentos etc) e de seus
produtos resultantes essencial para apoiar a implementao de
estratgias de melhoria.
Dada a amplitude e complexidade do processo de Avaliao e Melhoria
do Processo (AMP) e as fortes relaes com outros processos, com
destaque para a medio, prover apoio automatizado a esse processo
requer, geralmente, diversas ferramentas.
A crescente demanda por produtos de software com alto grau de atendimento
aos requisitos do cliente e que apresentem melhores resultados em termos de
prazo, custo e qualidade dos produtos/servios tem motivado organizaes do
mundo inteiro a adotarem modelos de maturidade. Esses modelos tm como
premissa que a qualidade do produto dependente da qualidade do processo no
qual ele desenvolvido, por essa razo o foco desses modelos o processo. A
essncia dos modelos definir uma trilha aonde se estabelecem nveis de
maturidade para que a empresa os percorra rumo a qualidade. Essa trilha passa
de um estado de produo artesanal para o industrial com uma produo
efetiva e profissional.
Um desses modelos de maturidade o MPS.Br que foi criado no Brasil em 2002
com o intuito de melhorar a qualidade dos processos e produtos da indstria
nacional. A realidade de 2002 era que existiam somente 30 empresas
certificadas em modelos de maturidade e que era necessrio aumentar o
nmero de empresas certificados sob pena do Brasil perder espao nessa
indstria. Aps 8 anos de implantao do MPS.BR, temos mais de 360
empresas certificadas e com ganhos significativos de produtividade e qualidade.
Um exemplo da melhoria sentida pelas organizaes que aps 3 anos de
adoo de um modelo de maturidade a reduo de defeitos nos produtos de
software de 39% o que proporciona uma qualidade para o usurio do produto.
MPS-BR
O MPS-BR (Melhoria do Processo de Software Brasileiro) uma metodologia voltada
rea de desenvolvimento de sistemas e que foi criada por um conjunto de
organizaes ligadas ao desenvolvimento de software. Dentre as
instituies envolvidas pode-se citar: a Softex (SP), a RioSoft (RJ), o
COPPE/UFRJ (RJ) e o CESAR (PE). Na verdade, estas so organizaes
normalmente no-governamentais e muitas vezes de origem
acadmica, possuindo uma atuao de destaque junto comunidade
de software brasileira.
Enfatiza-se, dentro do MPS-BR, o uso das principais abordagens internacionais voltadas
para a definio, a avaliao e a melhoria dos processos de software. Tal fato torna o
MPS-BR compatvel inclusive com as prticas do CMMI. H ainda no MPS-BR uma
estrutura de nveis de maturidade, de forma similar quela existente dentro do CMMI.
Os diferentes nveis de maturidade do MPS-BR constituem um meio para indicar qual o
nvel da empresa que se est considerando. Cada classificao possvel atesta, assim,
diferentes graus no controle de processos e qual a qualidade que se pode esperar da
organizao que a detm.
requisitos e de projetos.
A certificao MPS-BR tambm tem sido solicitada em licitaes governamentais. Logo,
empresas interessadas em participar de projetos conduzidos por rgos do governo
podem se utilizar desta metodologia para ampliar seu ramo de atuao.
Pode-se considerar ainda o MPS-BR como uma importante alternativa ao CMMI em
organizaes de mdio e pequeno porte. Isto se justifica em virtude do alto investimento
financeiro que o CMMI representa, o que torna o mesmo mais indicado s grandes
empresas de desenvolvimento.
Outras informaes sobre o MPS-BR encontram-se no link:
http://www.softex.br/mpsbr/.
Concluso
Este artigo procurou fornecer uma viso geral a respeito dos modelos CMMI e MPS-BR,
discutindo as caractersticas de cada um e de que forma os mesmos podem ser adotados
na otimizao de processos de desenvolvimento de software. Espero que o contedo aqui
apresentado possa lhe ser til em algum momento. At uma prxima oportunidade!
Captulo 5
5.Garantia de qualidade de software
ualidade, Qualidade de Software e Garantia da Qualidade de Software
so as mesmas coisas?
Este artigo tem por objetivo mostrar as diferenas entre os
termos Qualidade, Qualidade de Software e Garantia da
Qualidade de Software. Com esse artigo, podemos esclarecer a
diferena e at mesmo alguns relacionamentos entre estes
trs termos.
Segundo a NBR ISO 9000:2005, "qualidade o grau no qual um
conjunto de caractersticas inerentes satisfaz aos requisitos". Ou seja,
pode-se afirmar que se algum produto ou servio atende aos requisitos
especificados, este mesmo produto ou servio possui a qualidade
desejada.
A qualidade pode ser medida atravs do grau de satisfao em que as
pessoas avaliam determinado produto ou servio. No entanto, esse
produto ou servio pode ter qualidade para algumas pessoas e para
outras nem tanto, ou seja, a qualidade algo subjetivo.
desenvolve o produto.
O controle da qualidade consistem de checklists bem definidos
em um produto que especificado no plano de garantia da
qualidade. Um exemplos clssico de controle da qualidade so as
inspees de software. A inspeo o grau mais maduro e formal
dentro das revises, sendo necessria uma preparao prvia,
participantes definidos adequadamente e critrios de entrado e
sada bem definidos.
O controle da qualidade projetado para detectar defeitos e
corrigir esses defeitos encontrados, enquanto que a garantida da
qualidade orientada atravs da preveno de defeitos.
Gerenciamento de Configurao de Software (SCM - Software
Configuration Management): O SCM responsvel por identificar,
rastrear e controlar mudanas nos elementos do software de um
sistema. O SCM controla a evoluo do sistema de software ,
gerenciando verses dos componentes de software e seus
relacionamentos. O propsito identificar todos os componentes
inter-relacionados do software e para controlar sua evoluo
atravs das vrias fases no ciclo de vida de desenvolvimento de
software.
SCM uma disciplina que pode ser aplicada para atividades
incluindo: desenvolvimento de software, controle de
documentao, problemas de rastreamento, controle de
mudanas e manuteno. O SCM ainda consiste de atividades que
asseguram que arquitetura e codificao so definidas e no
podem ser mudados sem uma reviso dos efeitos da mudana e
sua documentao. Isso porque conforme definio do SCM
controlar o cdigo-fonte e a sua documentao associada fazendo
com que o cdigo-fonte final e suas descries esto consistentes
e representam os itens que estavam revisados e testados.
Para que ainda estes trs principais componentes funcionem
corretamente, o sucesso do programa de garantida da qualidade de
software tambm depende de uma coerente coleo de padres,
procedimentos, convenes e especificaes, conforme Figura 3.
A combinao de todos esses componentes e suas melhores prticas
o que chamamos de Software Quality Assurance, e que por sua vez
todo esse trabalho realizado por pessoas, garantindo ento a
qualidade de software do produto final entregue ao cliente ou usurio
final.
http://www.univicosa.com.br/arquivos_internos/artigos/AImportanciadoProcessod
eGarantiadaQualidadedeSoftware.pdf
more: http://www.linhadecodigo.com.br/artigo/1712/qualidadequalidade-de-software-e-garantia-da-qualidade-de-software-sao-asmesmas-coisas.aspx#ixzz3T0fL9yb3
Captulo 6
6.Verificao e validao
Sistemas possuem restries de qualidade e confiabilidade
Qualidade de sw: satisfao dos requisitos funcionais, de desempenho
e normas explicitamente declarados. Reduo de custos e aumento
da qualidade e confiabilidade nos processo e produto de sw Estimase que 40% a 50% do esforo de desenvolvimento de sistemas so
empregados em atividades de verificao e validao
Em Engenharia de Software (IEEE 1012): Validao: estamos
construindo o produto certo? o software faz o que o usurio
requisitou? Verificao: estamos construindo o produto
corretamente? o software est de acordo com sua especificao?''
Validao: Confirmar por testes e com provas objetivas que
requisitos particulares para um determinado uso foram cumpridos.
Busca provar que o software implementa cada um dos requisitos
corretamente e completamente ou seja, tenta responder pergunta:
O produto correto foi construdo?
e problemas de uso.
Completada a fase alfa de testes, so lanadas a grupos restritos de usurios,
verses de teste do sistema denominadas verses beta. Ele tambm um
teste de aceitao voltado para softwares cuja distribuio atingir
grande nmero de usurios de uma ou vrias empresas compradoras.
PRESSMAN afirma que o teste beta conduzido em uma ou mais
instalaes do cliente, pelo usurio final do software. Diferente do
teste alfa, o desenvolvedor geralmente no est presente.
Consequentemente, o teste beta uma aplicao do software num
ambiente que no pode ser controlado pelo desenvolvedor. O cliente
registra todos os problemas (reais ou imaginrios) que so
encontrados durante o teste beta e os relata ao desenvolvedor em
intervalos regulares. Com o resultado dos problemas relatados durante
os testes beta, os engenheiros de software fazem modificaes e
depois se preparam para liberar o produto de software para toda a
base de clientes.
A comunidade do teste de software usa o termo teste gama de forma sarcstica
referindo-se aos produtos que so mal testados e so entregues aos usurios
finais para que estes encontrem os defeitos j em fase de produo.
Candidato a lanamento[editar | editar cdigo-fonte]
Ultimamente, e principalmente na comunidade de software livre, comum
utilizar o termo candidato a lanamento (release candidate) para indicar
uma verso que candidata a ser a verso final, em funo da quantidade de
erros encontrados. Tais verses so um passo alm do teste beta, sendo
divulgadas para toda a comunidade.
O Ciclo de Vida dos Testes[editar | editar cdigo-fonte]
O Ciclo de Vida dos Testes composto de 5 fases: Planejamento, Preparao,
Especificao, Execuo e Entrega.
Planejamento[editar | editar cdigo-fonte]
Nesta fase elaborada a Estratgia de Teste e o Plano de Teste.
Preparao[editar | editar cdigo-fonte]
O objetivo desta fase preparar o Ambiente de Teste (equipamentos, pessoal,
ferramentas de automao, massa de testes) para que os testes sejam
executados conforme planejados.
Especificao[editar | editar cdigo-fonte]
Nesta fase temos as seguintes atividades: Elaborar/ Revisar casos de testes e
Elaborar/ Revisar roteiros de testes.
Execuo[editar | editar cdigo-fonte]
Os testes so executados e os resultados obtidos so registrados.
Entrega
Esta a ltima fase do ciclo de vida de testes, onde o projeto finalizado e toda
documentao finalizada e arquivada.
Papis
Segue abaixo alguns dos papis que uma pessoa pode desenvolver num projeto
de teste de software. Uma pessoa pode acumular mais de um dos papis
citados, de acordo com caractersticas e restries de projetos de
desenvolvimento de software nas quais estejam inseridas. Nas fases de teste de
unidade e de integrao, por exemplo, os papis de arquiteto de teste e analista
de teste podem ser assumidos pelo analista de sistemas do projeto; o papel de
testador pode ser assumido pelo programador ou por um segundo programador
que atue num processo de programao em pares. Na fase de teste de sistema,
num contexto em que haja uma equipe de teste independente, pode haver
profissionais acumulando os papis de arquiteto de teste, analista de teste e
testador.
O lder (ou gerente) do projeto de testes a pessoa responsvel pela liderana
de um projeto de teste especfico, normalmente relacionado a um sistema de
desenvolvimento, seja um projeto novo ou uma manuteno. J o engenheiro
(ou arquiteto) de teste o tcnico responsvel pelo levantamento de
necessidades relacionadas montagem da infraestrutura de teste, incluindo-se
o ambiente de teste, a arquitetura de soluo, as restries tecnolgicas, as
ferramentas de teste. tambm responsvel pela liderana tcnica do trabalho
de teste e pela comunicao entre a equipe de teste e a equipe de projeto (ou
equipe de desenvolvimento).
O analista de teste o tcnico responsvel pela operacionalizao do processo
de teste. Deve seguir as orientaes do gerente de teste ou do arquiteto de teste
para detalhar a forma de execuo dos testes e as condies de teste
necessrias. Tambm deve focar seu trabalho nas tcnicas de teste adequadas
fase de teste trabalhada. Tambm no campo de anlise, o analista de
ambiente o tcnico responsvel pela configurao do ambiente de teste e pela
aplicao das ferramentas necessrias para tal. Esse profissional deve ser
especializado em arquiteturas de soluo e nos sistemas operacionais e
softwares de infraestrutura que regem o ambiente. Ele ser responsvel por
tornar disponvel o ambiente de teste.
O testador o tcnico responsvel pela execuo de teste. Ele deve observar as
condies de teste e respectivos passos de teste documentados pelo analista de
teste e evidenciar os resultados de execuo. Em casos de execues de teste
mal-sucedidas, esse profissional pode tambm registrar ocorrncias de teste (na
maioria das vezes,defeitos) em canais atravs dos quais os
desenvolvedores tomaro conhecimento das mesmas e tomaro as
providncias de correo ou de esclarecimentos.
Por fim, o automatizador de teste o tcnico responsvel pela automao de
situaes de teste em ferramentas. Ele deve observar as condies de teste e
Captulo 7
7.Revises e auditorias
O que o IEEE 1028?
Como todo padro elaborado pelo IEEE (l-se I trs E), o 1028 fruto do
trabalho voluntrio de alguns membros do IEEE. E sendo um padro, eles nos
traz algumas importantes e relevantes informaes a respeito de reviso de
software. Mas sempre bom lembrar, que ele deve ser usado com bom senso,
pois o contexto sempre prevalece sob o padro (ou deveria prevalecer).
O IEEE 1028 nos traz cinco tipos de reviso de software, junto com os
procedimento necessrios para a execua de cada tipo. Est fora do escopo do
padro questes como: quando uma reviso se faz necessria? como escolher
qual tipo de reviso deve ser usado?
Os 5 tipos de reviso abordados so:
Revises gerenciais;
Revises tcnicas;
Inspees;
Walk-throughs;
Auditrias.
Captulo 8
8.Requisitos de qualidade
A qualidade de software uma 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 norma ISO 9000 (verso 2000), a qualidade o grau em que
um conjunto de caractersticas inerentes a um produto, processo ou sistema
cumpre os requisitos inicialmente estipulados para estes.
No desenvolvimento de software, a qualidade do produto est diretamente
relacionada qualidade do processo de desenvolvimento, desta forma,
comum que a busca por um software de maior qualidade passe
necessariamente por uma melhoria no processo de desenvolvimento.
Rodney Brooks, diretor do Laboratrio de Inteligncia Artificial e Cincia
da Computao do MIT, define qualidade como a conformidade aos
requisitos. Essa definio exige determinar dois pontos: I) o que se
entende por conformidade; e II) como so especificados - e por quem os requisitos.
Melhoria da qualidade
Gerncia do processo de qualidade de software
Garantia de qualidade de software
Verificao e validao
Revises e auditorias
Consideraes prticas
Requisitos de qualidade para aplicaes
Caracterizao de defeitos
Tcnicas de gerncia de qualidade de software
Medidas de qualidade de software
Ainda segundo o SWEBOK, a qualidade de software um tema to
importante que encontrado, de forma ubqua, em todas as outras
reas de conhecimento envolvidas em um projeto. Alm disso, ele
deixa claro que essa rea, como nele definida, trata dos aspectos
estticos, ou seja, daqueles que no exigem a execuo do software para
avali-lo, em contraposio rea de conhecimento teste de software.
Porm, normal que se encontrem autores e empresas que afirmam serem os
testes de software uma etapa da qualidade de software.
Muita coisa pode ser encontrada no site http://www.ibqts.com.br O IBQTS,
Instituto Brasileiro de Qualidade em Testes de Software.
Podem ser encontradas mais informaes no site
http://www.bstqb.com.br o BSTQB, Brazilian Software Testing Quality
Board
Requisitos de qualidade[editar | editar cdigo-fonte]
Requisitos de qualidade um tpico por si dentro do assunto qualidade.
Dentro da tica desta ltima, espera-se que os requisitos sejam definidos de
maneira a caracterizar completamente o produto a ser construdo. Nesse
aspecto - e em relao definio de Brooks - evidente que as zonas de
sombra dentro de uma especificao abrem margem a todo tipo de problemas
de avaliao de produtos.
Sommerville1 O modelo internacional mais recente Square, estabelecido pela
norma ISO 25000, adota uma classificao um pouco diferente e utiliza uma
previstos.
Para conseguir esses objetivos a rea-chave de processo GQS estimula a
atuao das equipes responsveis pelo desenvolvimento de software em
diversas frentes objetivando internalizar comportamentos e aes, podendo-se
destacar:
o planejamento do projeto e o acompanhamento de resultados;
o uso dos mtodos e ferramentas padronizadas na organizao;
a adoo de Revises Tcnicas Formais;
o estabelecimento e a monitorao de estratgias de testes;
a reviso dos artefatos produzidos pelo processo de desenvolvimento;
a busca de conformidade com os padres de desenvolvimento de software;
a implantao de medies associadas a projeto, processo e produto;
a utilizao de mecanismos adequados de armazenamento e recuperao
de dados relativos a projetos, processos e produtos; e
a busca de uma melhoria contnua no processo de desenvolvimento de
software.
Para facilitar o trabalho dos desenvolvedores e evitar gerao de metodologias
diversas, o Serpro desenvolveu o Processo Serpro de Desenvolvimento de
Solues (PSDS).
O PSDS foi construdo por pessoas das unidades da empresa que procuraram
aproveitar as melhores prticas existentes e consagradas.
desenvolvimento de software
um processo iterativo,
Figura 1.
(SOMMERVILLE, 2003)
Dificuldades encontradas
O problema de no saber especificar corretamente o que o sistema
dever fazer muito antigo. Pompilho (1995) cita um exemplo do
relatrio produzido por McKinsey, em 1968, e mencionado por B.
Langefords e B. Sundgren onde se afirmava que dois teros das
empresas ali estudadas estavam desapontadas com o atendimento
recebido em sistemas de informao.
Aps mais de 30 anos da elaborao do relatrio a situao no
muito diferente. Algumas das razes para o baixo grau de satisfao
dos usurios para os sistemas destacam-se:
Na fase de levantamento de requisitos do projeto, onde no
utilizada uma tcnica adequada para extrair os requisitos do
sistema;
A falha do analista em no descrever os requisitos do sistema de
modo claro, sem ambigidades, conciso e consistente com todos
os aspectos significativos do sistema proposto.
Entre as dificuldades encontradas na fase de levantamento de
requisitos esto: o usurio principal do sistema no sabe o que quer
stakeholders
tm algum
framework
e utilizam a abordagem de
brainstorming
para
Figura 2.
Etnografia
A etnografia uma tcnica de observao que pode ser utilizada para
compreender os requisitos sociais e organizacionais, ou seja, entender
a poltica organizacional bem como a cultura de trabalho com objetivo
de familiarizar-se com o sistema e sua histria. Os cientistas sociais e
antroplogos usam tcnicas de observao para desenvolver um
entendimento completo e detalhado de culturas particulares.
Nesta tcnica, o analista se insere no ambiente de trabalho em que o
sistema ser utilizado. O trabalho dirio observado e so anotadas as
tarefas reais em que o sistema ser utilizado. O principal objetivo da
etnografia que ela ajuda a descobrir requisitos de sistema implcitos,
que refletem os processos reais, em vez de os processos formais, onde
as pessoas esto envolvidas.
Etnografia particularmente eficaz na descoberta de dois tipos de
requisitos:
Workshops
Trata-se de uma tcnica de elicitao em grupo usada em uma reunio
estruturada. Devem fazer parte do grupo uma equipe de analistas e
uma seleo dos
stakeholders
workshop
workshops
brainstorming. Aps os
Prototipagem
Entrevistas
A entrevista uma das tcnicas tradicionais mais simples de utilizar e
que produz bons resultados na fase inicial de obteno de dados.
Convm que o entrevistador d margem ao entrevistado para expor as
suas idias. necessrio ter um plano de entrevista para que no haja
disperso do assunto principal e a entrevista fique longa, deixando o
entrevistado cansado e no produzindo bons resultados.
As seguintes diretrizes podem ser de grande auxilio na direo de
entrevistas bem sucedidas com o usurio: desenvolver um plano geral
de entrevistas, certificar-se da autorizao para falar com os usurios,
planejar a entrevista para fazer uso eficiente do tempo, utilizar
ferramentas automatizadas que sejam adequadas, tentar descobrir
Questionrios
O uso de questionrio indicado, por exemplo, quando h diversos
grupos de usurios que podem estar em diversos locais diferentes do
pas. Neste caso, elaboram-se pesquisas especficas de
acompanhamento com usurios selecionados, que a contribuio em
potencial parea mais importante, pois no seria prtico entrevistar
todas as pessoas em todos os locais.
Existem vrios tipos de questionrios que podem ser utilizados. Entre
estes podemos listar: mltipla escolha, lista de verificao e questes
com espaos em branco. O questionrio deve ser desenvolvido de
Brainstorming
Brainstorming
so:
brainstorming
JAD
JAD
Concluso
No existe uma tcnica padro para o processo de levantamento de
requisitos. Para alcanar um levantamento de requisitos mais preciso
importante o conhecimento de diversas tcnicas para saber que
tcnica de levantamento aplicar em cada situao.
primordial que o analista possua perfil adequado. O analista de
sistemas precisa de mais do que apenas a capacidade de desenhar
fluxogramas e outros diagramas tcnicos. O analista de sistemas tem a
funo de projetar e analisar sistemas de timo desempenho. Para que
esse objetivo seja alcanado, necessrio o analista de sistema
possuir a capacidade de:
Compreender conceitos abstratos, reorganiz-los em divises
lgicas e sintetizar solues baseadas em cada diviso;
Prototipao
Tcnicas
contextuais
Medidas Diretas
Custo
Esforo
Linhas de Cdigo
Velocidade de Execuo
Memria
Nmero de Erros
Complexidade ciclomtica
Medidas Indiretas
Funcionalidade
Qualidade
Complexidade
Eficincia
Confiabilidade
Manutenibilidade
Para uma melhor compreenso sobre medidas de softwares, precisamos
entender algumas informaes:
Medida: uma indicao quantitativa da extenso, quantidade, dimenso,
capacidade ou tamanho do produto ou do processo.
Medio: ato de determinao de uma medida.
Indicador: uma mtrica ou a combinao delas, que fornece compreenso
do processo de software, de um projeto ou do produto
As medies de software podem ser organizadas em outras classes, as quais
sero definidas a seguir:
Mtricas da produtividade, baseadas na sada do processo de
desenvolvimento do software com o objetivo de avaliar o prprio
processo;
Mtricas da qualidade, que permitem indicar o nvel de resposta do software
s exigncias explcitas e implcitas do cliente, com relao ao definido
pela gerncia de qualidade;
Mtricas tcnicas, nas quais encaixam-se aspectos como funcionalidade,
modularidade, manutenibilidade, etc...
Sob uma outra tica, possvel definir uma nova classificao das medies:
Mtricas orientadas ao tamanho, baseadas nas medies diretas da
Engenharia de Software;
Mtricas orientadas funo, que oferecem medidas indiretas;
Mtricas orientadas s pessoas, as quais do indicaes sobre a forma
adicionais;
A medio algo comum no mundo da engenharia. Mas para engenharia de
software est longe se ter uma medio padro amplamente aceita e com
resultados sem nenhum fator subjetivo. Com certeza o aumento de
produtividade mais representativo ser obtido quando conseguirmos estabelecer
uma sistemtica de mtricas significativa para os resultados do desenvolvimento
de software e efetivamente us-la.
Exemplos de mtricas
Nmero de defeitos introduzidos por programador / hora.
Nmero de patches disponibilizados.
Nmero de mudanas no documento de requisitos
Nmero de linhas de cdigo.
Anlise de pontos de funo (APF) : mede o tamanho funcional do
software, subsdios para o clculo da produtividade do processo de
desenvolvimento com base na funcionalidade ou utilidade dos programas.
Esta avaliao realizada sob o ponto de vista do usurio que avalia o
tamanho e a complexidade de um software. Nesta contagem so
consideradas os seguintes itens da aplicao(software):Arquivos Lgicos
Internos, Arquivos de Interface Externa, Entradas Externas, Consultas
Externas e Sadas Externas. Cada item deste define um peso que no final
determina a quantidade de pontos de funo da aplicao, para o
desenvolvimento de um novo sistema ou os pontos necessrios para se
realizar uma manuteno em um sistema j existente. Os pontos
calculados servem para se chegar as horas totais do projeto. 1 .
Objetivos da Medio de Software e utilidade das mtricas
Entender: ajudam a entender o comportamento e o funcionamento de produtos
de software.
Avaliar: utilizadas para determinar padres, metas e critrios de aceitao.
Controlar: utilizadas para controlar processos, produtos e servios de software.
Prever: utilizadas para prever valores de atributos.
Razes para se medir um software
Indicar a qualidade do produto;
Avaliar a produtividade dos que desenvolvem o produto;
3 Avanado
Bsico
um modelo esttico que calcula o esforo de desenvolvimento de software
e seu custo, em funo do tamanho de linhas de cdigos desenvolvidas.
E = ab(KLOC)bb
D = cb(E)db
P=E/D
Onde E o esforo aplicado pela pessoa no ms, D o tempo de
desenvolvimento em meses cronolgicos, KLOC o nmero calculado
de linhas de cdigo para o projeto (expressado em milhares), e P o
nmero das pessoas necessrio. Os coeficientes ab, bb, cb e db so
dados na seguinte tabela:
Projeto de Software
ab
bb
cb
2.4
1.05
2.5
3.0
1.12
2.5
3.6
1.20
2.5
db
Orgnico
0.38
Semi-Destacado
0.35
Embutido
0.32
E = ai(LOC)(bi).EAF
Onde E o esforo aplicado em pessoas por ms, LOC o nmero
de linhas de cdigo para o projeto e EAF o fator calculado acima. Os
coeficientes ai e o bi so dados na prxima tabela.
Projeto de Software
Incio (orgnico)
Meio
(semidestacado)
Fim
(embutido)
ai
3.2
3.0
2.8
bi
1.05
1.12
1.50
Consideraes finais
Bilbiografia
PRESSMAN, Roger S.; PENTEADO, Rosngela Delloso (Trad.); GERMANO,
Ferno Stella R. (Trad.). Engenharia de software. 6. ed. So Paulo
(Estado): McGraw-Hill, 2006. Campos, Fabio M.; Qualidade, Qualidade
de Software e Garantia da Qualidade de Software So as Mesmas
Coisas ?. Disponvel em: http://www.testexpert.com.br/?q=node/669.
Acessado em abril 2011. Vasconcelos, Alexandre M. Lins; Rouiller, Ana
Cristina; Machado, Cristina A. Filipark; Medeiros, Teresa, M. Maciel;
Disponvel em: . Acessado em abril de 2011.
Leia mais em: Maturidade no desenvolvimento de software: CMMI e MPS-BR
http://www.devmedia.com.br/maturidade-no-desenvolvimento-de-software-cmmi-e-mpsbr/27010#ixzz3T0e4YbST
http://www.celepar.pr.gov.br/modules/conteudo/conteudo.php?
conteudo=517
http://www.devmedia.com.br/conceitos-basicos-sobre-metodologiasageis-para-desenvolvimento-de-software-metodologias-classicas-xextreme-programming/10596#ixzz3Szre35oI
http://www.anpad.org.br/admin/pdf/ADI-A1410.pdf
http://www.administradores.com.br/artigos/negocios/o-que-equalidade/23926/
http://www.martinsfontespaulista.com.br/anexos/produtos/capitulos/24
1804.pdf
http://www.infoescola.com/administracao_/historia-da-qualidade/
ftp://ftp.cefetes.br/cursos/CodigosLinguagens/EAildefonso/HIST%D3RIA
%20DA%20QUALIDADE.pdf
ftp://ftp.cefetes.br/cursos/CodigosLinguagens/EAildefonso/HIST%D3RIA
%20DA%20QUALIDADE.pdf
http://www.inmetro.gov.br/barreirastecnicas/pdf/Livro_Qualidade.pdf
http://www.cic.unb.br/~jhcf/MyBooks/iess/Intro/OQueEhEngenhariaDeS
oftware.pdf
http://inf.ufes.br/~falbo/files/Avaliacao_e_Melhoria_de_Processos_de_So
ftware.pdf
http://docente.ifrn.edu.br/givanaldorocha/disciplinas/engenharia-desoftware-licenciatura-em-informatica/introducao-parte-1
http://www.cic.unb.br/~jhcf/MyBooks/iess/Intro/10AreasDaEngenhariaD
eSoftware.pdf
http://www.di.ubi.pt/~cbarrico/Disciplinas/EngenhariaSoftware/Downloa
ds/Cap%203%20-%20Evolucao%20das%20Metodologias%20de
%20Desenvolvimento%20de%20Software.pdf
http://www.ic.unicamp.br/~ranido/mc626/Qualidade.pdf