ES 05 Usabilidade de Software PDF
ES 05 Usabilidade de Software PDF
ES 05 Usabilidade de Software PDF
Engenharia de Software
Saiba seu significado e para que serve
magazine
Edição Especial
Entenda os principais conceitos sobre
Testes e Inspeção de Software
Especial Processos
Mais de 60 mil downloads
Melhore seus processos através da
análise de risco e conformidade
Veja como integrar conceitos de
Modelos Tradicionais e Ágeis
Veja como integrar o Processo
Unificado ao desenvolvimento Web
na primeira edição!
magazine
“Um produto, seja um sistema de software ou outro qual-
de software
quer, possui usabilidade que é um dos atributos da qualidade
perceptível aos usuários. A usabilidade é uma característica
de um produto que informa quão fácil de usar e aprender esse
produto é. Em outras palavras, serve como um indicador de
Ano 1 - 5ª Edição 2008 Impresso no Brasil quão intuitivo é utilizar aquele produto. Essa característica é
determinante no sucesso desse produto, pois ela influencia
diretamente o interesse do usuário em utilizar ou não esse
Corpo Editorial
produto ou sistema (de software). Para tanto, em sistemas de
Colaboradores software, assim com em outros produtos, a usabilidade é ava-
Rodrigo Oliveira Spínola liada durante o processo de desenvolvimento visando asse-
rodrigo@sqlmagazine.com.br gurar o nível desejado de usabilidade.”
Marco Antônio Pereira Araújo Neste contexto, a Engenharia de Software Magazine destaca
Eduardo Oliveira Spínola nesta edição duas matérias com foco em usabilidade. Em uma
delas, são discutidos os principais conceitos sobre usabilidade
Editor de Arte
Vinicius O. Andrade
como esta pode ser inserida em um processo de desenvolvi-
viniciusoandrade@gmail.com mento de software.
Em complemento a esta matéria, o segundo artigo apresen-
Capa ta um conjunto de definições associadas à avaliação da usa-
Antonio Xavier
bilidade da interface de usuário de sistemas de software ou
antonioxavier@devmedia.com.br
outros produtos. Neste cenário, é apresentado um conjunto
Na Web de métodos de avaliação de usabilidade, classificados como
www.devmedia.com.br/esmag testes, pesquisa e inspeção.
Apoio
Além destas duas matérias, esta quinta edição traz mais seis
artigos:
• Analisando o Desenvolvimento de Software Orientado a
Aspectos no contexto de Extreme Programming;
• Especificação de Requisitos com Casos de Uso;
• Cuidados na Aplicação da Análise de Pontos de Função no
Parceiros: Relacionamento entre Usuário e Desenvolvedores;
• Melhores Práticas na Automação de Testes;
• Modelagem de Processos de Negócio com Uso do NetBeans;
• Gestão de Serviços Operacionais Aplicada à TI.
Tipo: Verificação, Validação e Teste manter a qualidade do código fonte de aplicações Java. Tipo: Engenharia de Requisitos
Autor: Marco Antônio Pereira Araújo Autor: Rodrigo Oliveira Spínola
Título: Teste Unitário com Objetos Mock Tipo: Engenharia de Requisitos Título: Introdução à Engenharia de Requisitos - Parte 16
Mini-Resumo: Esta vídeo aula apresenta a aplicação de Autor: Rodrigo Oliveira Spínola Mini-Resumo:Nesta décima sexta parte, finalizaremos
objetos Mock em testes unitários com JUnit, com o objetivo Título: Introdução à Engenharia de Requisitos - Parte 13 o estudo de caso para elaboração de um diagrama de
de substituir classes e métodos ainda não implementados, Mini-Resumo: Esta vídeo aula é parte do curso de intro- casos de uso para um módulo de gestão de usuários de
proporcionando a realização de testes unitários. dução à engenharia de requisitos. Nesta décima terceira um sistema de informação fictício.
parte daremos início à parte mais prática do curso. Nesta
Tipo: Verificação, Validação e Teste aula apresentaremos uma ferramenta case para elabora- Tipo: Engenharia de Requisitos
Autor: Marco Antônio Pereira Araújo ção de diagramas de casos de uso e daremos início a um Autor: Rodrigo Oliveira Spínola
Título: Teste em Bancos de Dados com DBUnit estudo de caso para elaboração de um diagrama de casos Título: Introdução à Engenharia de Requisitos - Parte 17
Mini-Resumo: Esta vídeo aula apresenta a aplicação de de uso para um sistema de locadora de veículos. Mini-Resumo: Esta vídeo aula é parte do curso de intro-
testes unitários em bancos de dados com DBUnit, uma vez dução à engenharia de requisitos. Nesta décima sétima
Tipo: Engenharia de Requisitos parte apresentaremos um estudo de caso para elaboração
que o estado de bases de dados é fundamental na condução
Autor: Rodrigo Oliveira Spínola de um diagrama de casos de uso para um módulo de ges-
de testes de unidade automatizados.
Título: Introdução à Engenharia de Requisitos - Parte 14 tão de usuários de um sistema de informação fictício.
Tipo: Projeto Mini-Resumo: Nesta décima quarta parte finalizaremos
Autor: Rodrigo Oliveira Spínola nosso primeiro estudo de caso referente à elaboração de Tipo: Engenharia de Requisitos
Título: Introdução à Construção de Diagrama de Classes um diagrama de casos de uso para um sistema de locadora Autor: Rodrigo Oliveira Spínola
da UML – Parte 1 de veículos. Título: Introdução à Engenharia de Requisitos - Parte 18
Mini-Resumo: Esta vídeo aula apresenta as definições iniciais Mini-Resumo: Nesta décima oitava parte, finalizaremos
envolvidas na construção de diagramas de classes da UML. Tipo: Engenharia de Requisitos o estudo de caso para elaboração de um diagrama de
Autor: Rodrigo Oliveira Spínola casos de uso para um módulo de gestão de usuários de
Tipo: Projeto Título: Introdução à Engenharia de Requisitos - Parte 15 um sistema de informação fictício.
Autor: Marco Antônio Pereira Araújo Mini-Resumo: Esta vídeo aula é parte do curso de introdução à
Título: Refatoração de código no Eclipse engenharia de requisitos.Nesta décima quinta parte apresentare-
Mini-Resumo: Esta vídeo aula apresenta a utilização de mos um estudo de caso para elaboração de um diagrama de casos
técnicas de refatoração na IDE Eclipse com o intuito de de uso para um sistema de vendas de passagem aérea.
ÍNDICE
06 - Extreme Programming
Rafael do Espírito Santo, Rodrigo P. dos Santos e Paulo Sérgio M. dos Santos
14 - Especificação de Requisitos com Casos de Uso
Rodrigo O. Spínola e Eduardo O. Spínola
24 - Usabilidade de Software
Antonio Mendes da Silva Filho
30 - Avaliação de Usabilidade
Antonio Mendes da Silva Filho
Treinamento e Consultoria
em Engenharia de Software
Novembro | Dezembro Linguagem Java com ênfase na certificação SCJP da Sun – 32 horas
Confira nossos cursos in-company, elaborados de acordo com as necessidades de treinamento de sua empresa
Confira as ementas, investementos e condições de pagamento: www.kalisoftware.com
Inscrição e outras informações: info@kalisoftware.com
kalisoftware.com | info@kalisoftware.com
Extreme Programming
Analisando o Desenvolvimento de Software Orientado a
Aspectos no contexto de Extreme Programming
C
de programação orientada a aspectos
Rafael do Espírito Santo onsiderando que time-to-market influenciam a metodologia XP para desen-
rafael.santo@ufrj.br e volatilidade de requisitos de volvimento de software.
Estudante de Ciência da Computação da Universi- software compreendem fatores
dade Federal do Rio de Janeiro (UFRJ).
Ex-membro da Empresa Júnior de Consultoria em
cruciais para a criação de valor para o Para que serve?
Microinformática da UFRJ (EJCM). processo de desenvolvimento de sof- Indicar pontos positivos e riscos associados
Atua no desenvolvimento de sistemas em proje- tware, cada vez mais novas estratégias do uso destas abordagens em conjunto.
tos de consultoria na COPPE/UFRJ são pesquisadas a fim de atender satis-
fatoriamente os diferentes pontos de Em que situação o tema é útil?
Rodrigo Pereira dos Santos vista dos stakeholders envolvidos [Boehm, Para aqueles que tenham interesse em tra-
rps@cos.ufrj.br 2006]. Neste cenário, destacam-se os balhar com POA no contexto de XP e saber
É bacharel em Ciência da Computação formado processos de desenvolvimento baseados quais são os benefícios e principais riscos
na Universidade Federal do Lavras. Atualmente
em metodologias ágeis [Shore e Warden, do uso destas abordagens em conjunto.
cursa o mestrado na linha de Engenharia de Sof-
tware pela COPPE/UFRJ. 2007] [Beck, 2000], os quais focam em
comunicação constante, projeto mini-
malista e codificação simplificada. Por XP se baseia nos princípios ágeis, que
Paulo Sérgio Medeiros dos Santos essas características, tais processos têm contemplam melhorias nas relações com
pasemes@cos.ufrj.br
despertado o interesse de empresas e de os clientes e entre os membros da equi-
É bacharel em Ciência da Computação formado
na Universidade Federal do Rio de Janeiro. Atual- grupos de pesquisa, com destaque para pe, realçando o ambiente e os recursos
mente cursa o mestrado na linha de Engenharia o Extreme Programming (XP), devido às disponíveis na organização e buscando
de Software pela COPPE/UFRJ onde atua, princi- práticas e aos valores adotados durante “quebrar” problemas grandes em um
palmente, nas áreas de serviços Web, integração o desenvolvimento, tais como integração conjunto de vários sub-problemas, com
de ferramentas, gestão desconhecimento e en-
contínua, programação em pares, refato- o intuito de melhorar a qualidade das
genharia de software experimental.Possui 7 anos
de experiência em desenvolvimento de software ração de código e programação baseada soluções [Teles, 2005].
sendo 5 anos trabalhando com Java e 2 anos com em testes (Test-Driven Development – TDD) Por outro lado, um dos fatores que im-
JavaServer Faces. [Paulk, 2000]. A estrutura do processo pactam o desenvolvimento de software
está na escolha adequada de metodo- e não é dirigido por planos. Este trabalho porte, através de extensões que enfati-
logias e tecnologias durante a etapa de tem por objetivo analisar características zem feedback constante, projeto de sof-
planejamento de um projeto, sobretudo (valores, princípios e práticas) de XP tware e criação de novos papéis no ciclo
perante o aumento da complexidade dos de forma a confrontá-las com algumas de desenvolvimento [Lipert et al., 2003]
domínios de aplicação [Travassos et al., questões críticas relativas ao DSOA, o [Eckstein, 2006]. Estas extensões foram
2001]. Isso tem levado empresas e grupos que representa um primeiro passo para aplicadas em projetos de diferentes pers-
de pesquisa a voltarem a sua atenção se pensar em avaliar a aplicabilidade de pectivas (web, desktop, processamento
para o desenvolvimento e adoção de DSOA em diferentes contextos, buscan- em batch, dispositivos móveis), localiza-
tecnologias que auxiliem o processo de do por possíveis impactos positivos e/ ção (localizadas dentro das instalações
desenvolvimento. Particularmente em ou negativos. do cliente ou em ambientes externos),
XP, tem-se buscado por tecnologias que número de integrantes e qualificação
melhorem a elaboração e organização de Conhecendo XP dos profissionais envolvidos, e tem como
produtos de software e que aumentem Dado que mudanças, comunicação e objetivo prover meios de lidar com pro-
a produtividade dos desenvolvedores, pessoas representam fatores inerentes jetos de domínio de negócio complexo
evitando desviar a sua atenção dos reais ao desenvolvimento de software de sem limitar as vantagens oferecidas
objetivos do negócio do cliente, repre- qualidade [Sato, 2007], o final da década pelo processo de desenvolvimento ágil
sentados pelos requisitos funcionais de 1990 presenciou o surgimento das de software.
– documentados nas chamadas histórias metodologias ágeis. O desenvolvimento A base de XP está sedimentada sobre
em XP. Nessa linha, o Desenvolvimen- ágil foi criado com o intuito de melhorar quatro valores: (i) comunicação; (ii) simpli-
to de Software Orientado a Aspectos o desempenho de projetos de software cidade; (iii) feedback; e (iv) coragem [Beck
(DSOA) surge como uma abordagem ao buscar a diminuição da ineficiência, e Andres, 2004]. Além destes, recente-
que objetiva ampliar a reusabilidade e da burocracia de métodos dirigidos a mente observou-se a importância de
a manutenibilidade de software, ao se planos e de qualquer outra coisa que não se considerar um novo valor, o respeito.
basear no isolamento de certas funcio- adicione valor ao produto de software XP preza pela comunicação constante
nalidades em unidades encapsuladas [Tichy, 2004]. O conceito de agilidade entre os membros da equipe e destes
[Elrad et al., 2001]. ganhou destaque a partir do Manifesto com os clientes, e pelo desenvolvimento
Na concepção de Kiczales et al. (1997), do Desenvolvimento Ágil de Software do sistema focado no atendimento às
nem as técnicas de programação orien- [Beck et al., 2001], o qual aponta quatro necessidades do cliente da maneira mais
tada a objetos (POO) nem as técnicas da valores principais: (i) indivíduos e intera- simples possível. O processo XP enfatiza
programação procedural são suficientes ções vêm antes de processos e ferramentas; que o feedback agrega três perspectivas:
para implementar com clareza impor- (ii) software funcionando vem antes de do- do sistema (através da utilização cons-
tantes decisões do projeto. A Orientação cumentação abrangente; (iii) colaboração do tante de testes de unidade), do cliente
a Aspectos (OA) estende a orientação a cliente vem antes de negociação de contrato; (por meio de testes de aceitação) e da
objetos (OO) com o intuito de tratar o e (iv) resposta à modificação vem antes do equipe de projeto (através da comu-
entrelaç amento e o espal hamento de plano em andamento. nicação constante). Por outro lado, a
certos requisitos (interesses transversais Dentre as metodologias ágeis mais coragem reforça o fato de que as tarefas
ou crosscutting concerns) [Filman et al., utilizadas, destaca-se o Extreme Pro- não devem ser adiadas, ou seja, devem
2004]. No entanto, apesar das melhorias gramming (XP), atribuído a Kent Beck, ser desempenhadas o quanto antes,
almejadas, alguns pontos podem difi Ron Jeffries e Ward Cunningham [Beck, colaborando para que os desenvolve-
cultar a reutilização e a manutenção, 2000]. XP tem como premissa técnica a dores se sintam mais confortáveis com
tais como a inversão de dependência combinação de: (i) inserção do cliente a refatoração do código. Por fim, o res-
e a inconsciência [Santos et al., 2007], no projeto; (ii) liberações de pequenos peito se mostra, por exemplo, por meio
fato este decorrente do estágio atual do incrementos ao longo das iterações no do respeito mútuo entre os membros
DSOA rumo à aplicabilidade em pro- desenvolvimento; (iii) projeto simples; da equipe, com o objetivo de evitar a
jetos reais e na indústria, visando seu (iv) programação em pares; (v) refatora- desvalorização do trabalho de qualquer
amadurecimento. ção; e (vi) integração contínua, visando membro da equipe de trabalho (e nem
Dessa forma, faz-se necessária uma uma curva mais branda do custo de prejudicá-lo) e almejar uma equipe mais
análise acerca de quais são os possíveis mudanças com relação ao tempo [Beck, confiante e motivada.
impactos positivos e negativos que uma 2000]. XP apresenta maior aplicabilidade Beck e Andres (2004) afirmam que os
abordagem como DSOA provocaria em em pequenos projetos, de risco relativa- cinco valores representam critérios que
ambientes reais (empresas de pequeno mente baixo, envolvendo pessoal alta- visam uma solução de sucesso para
e médio porte), especialmente naqueles mente capacitado e requisitos passíveis projetos de software. Entretanto, eles
que adotam os princípios e práticas de de mudanças [Boehm, 2006]. colocam que esses valores são vagos
XP, onde isso se torna fundamental, dado No entanto, estudos mostram que é demais para auxiliarem na escolha das
que esse processo se baseia na agilidade possível aplicar XP em projetos de maior práticas que suportam XP e apontam
de dez minutos, ciclo semanal, ciclo se- mediante a separação de interesses do Ambiente informativo
mestral, equipe integral, folga, histórias, sistema, e tornar o código tradicional A todo instante, deve ser possível
trabalho energizado, cliente presente, (OO puro) estruturado, minimizando conhecer o estado das atividades em
e programação em par) que não são o espalhamento e o entrelaçamento de andamento. A POA possibilita a inserção
referidas neste artigo, nenhuma relação requisitos, e impactando o valor de me- de comportamentos no sistema, de forma
direta entre DSOA e XP foi identificada lhoria positivamente, ao serem buscadas que possa alterar o funcionamento do
durante a análise realizada. novas oportunidades de melhorar a orga- sistema. Ambientes de desenvolvimento
nização do produto de software. (e.g., Eclipse) têm reduzido o impacto do
Coragem princípio da inconsciência ao utilizarem
Observa-se que, no início do processo Auto-semelhança marcações no código como forma de
de desenvolvimento, equipes que adotam O principio da auto-semelhança sugere alertar ao desenvolvedor que um aspecto
XP podem ter o grau desse valor dimi- que, uma vez encontrada uma solução está sendo inserido no trecho de código
nuído, devido ao desconhecimento das para determinado contexto, esta solução analisado. Pensando na idéia de radiado-
abstrações da OA influenciaria negativa- deve ser adotada em situações semelhan- res de informação (meio), a identificação
mente no valor da simplicidade. Alguns tes. A utilização de aspectos permite que o de aspectos impactaria esta característica
fatores que interferem nessa diminuição código principal possa ser reutilizado em de forma positiva, já que serviria como
consistem na possível inexperiência dos outras situações bem como outros sistemas, base para prover um mapa entre quais
membros da equipe com programação devido ao baixo acoplamento impactando aspectos estão sendo implementados e
orientada a aspectos (POA), nas dificul- esta característica de forma positiva. No por quais desenvolvedores, melhorando
dades de entendimento e depuração do entanto, é necessária uma atenção extra por o ambiente informativo.
código, no princípio da inconsciência e parte dos desenvolvedores com o intuito de
na forma como a combinação (weaving) identificar comportamentos que possam Design incremental
é realizada. Por exemplo, em POA, du- ser tratados de maneira semelhante, visan- Através do design incremental, pode-se
rante o desenvolvimento dos aspectos do evitar a replicação de código no sistema. entregar o produto de software ao cliente
em si, a criação dos pointcuts deve ser Baseado nesta idéia, existem iniciativas de por etapas. Dado o desenvolvimento das
realizada com cautela, a fim de verificar facilitar o princípio de auto-semelhança, funcionalidades de maior interesse, o
que somente as classes desejadas estejam por meio da utilização de frameworks cliente tem a visibilidade de parte de seu
sendo interceptadas pelo aspecto em transversais (frameworks que encapsulam sistema em uso, enquanto as demais fun-
questão. Por outro lado, após o período um único interesse transversal) [Camargo cionalidades estão em construção. No pro-
de adaptação com o DSOA, as equipes & Masiero, 2005] e dos frameworks Spring e cesso de adaptação do produto de software
se sentem mais seguras, pois passam a JBoss AOP. No entanto, a imaturidade de para o atendimento de novos requisitos,
desenvolver trechos de código melhor metodologias e padronizações no levan- trechos de código podem ser alterados
organizados e com menos tendências a tamento dos aspectos a serem utilizados com freqüência (através da refatoração do
erros. Com isso, novas funcionalidades acarretam em um impacto negativo na código). Com isso, as técnicas de refatoração
(ou requisitos não funcionais) podem ser característica de auto-semelhança. devem ser estendidas ou revistas, a fim de
inseridas no produto de software sem verificar se o aspecto continua produzindo
que haja alteração significativa no código Baby steps o comportamento desejado e impedir a
principal, impactando positivamente na O processo XP prega que a codificação manifestação de impactos negativos como
adoção de DSOA em XP. deve ser feita de forma incremental, modificações dos pointcuts que acarretem
através de “passos de bebê”, em que o na modificação destes comportamentos.
Simplicidade e Melhoria desenvolvedor pode ganhar confiança Por outro lado, novas funcionalidades po-
As novas abstrações introduzidas pela ao ver que cada passo produz o resul- dem ser inseridas no produto de software
OA e as dificuldades de se identificar tado esperado. Nesse ponto, a adoção sem que haja alteração significativa no
requisitos que devem ser implementados de DSOA permite que o desenvolvedor código principal, gerando uma influência
com POA levanta a necessidade de uma insira gradualmente novos comporta- positiva de DSOA nesta característica.
etapa mínima de análise, focada na extra- mentos no sistema até atingir o objetivo
ção de aspectos a partir das histórias de desejado gerando um impacto positivo Integração contínua
XP. No entanto, dado que XP foca na etapa na adoção de DSOA em XP. No entanto, A adoção de DSOA requer o aumento
de implementação, em detrimento da a inversão de dependência em aspectos de disciplina com relação à prática de
produção de documentação extensiva de impacta esta característica de XP de integração contínua, dado que os as-
análise e projeto, a adoção da OA influen- forma negativa devido ao fato de que os pectos interferem em diversas partes do
ciaria negativamente no valor da simpli- desenvolvedores de código em OO, por sistema. De certa forma, isso impacta na
cidade. Por outro lado, se bem realizado, exemplo, podem estranhar resultados maneira de se realizar testes de integra-
o processo de identificação de aspectos errados obtidos após a integração entre ção no sistema, sobretudo em qual or-
permite melhorar o desenvolvimento, o código OO e o código OA. dem as entidades (classes OO e aspectos)
Legendas: Influência positiva de DSOA em XP Influência positiva e negativa de DSOA em XP Influência negativa de DSOA em XP Indiferente (sem influência percebida)
Tabela 1. Lista dos impactos de DSOA sobre características de XP
Endereço:
R. Marquês de São Vicente, 225
Instituto Gênesis, Sala 27B
PUC-Rio, Gávea
atendimento@primeup.com.br
ww
www.primeup.com.br
Especificação de Requisitos com Casos de Uso
Alguns exemplos prontos que você pode tomar como
base ao especificar seus requisitos
A
reais de especificação de casos de uso.
Rodrigo Oliveira Spínola atividade de identificação e
rodrigo@sqlmagazine.com.br especificação de requisitos do Para que serve?
Doutorando em Engenharia de Sistemas e Com- software é uma atividade bas- Seu objetivo é explicitar de forma prática
putação (COPPE/UFRJ). Mestre em Engenharia
de Software (COPPE/UFRJ, 2004). Bacharel em Ci-
tante desafiadora. É complexo: como estas descrições podem ser efetua-
ências da Computação (UNIFACS, 2001). Colabo- • Identificar as reais necessidades do das em um nível de detalhe tal que infor-
rador da Kali Software (www.kalisoftware.com), cliente; mações importantes para outras etapas
tendo ministrado cursos na área de Qualidade • Lidar com clientes; do desenvolvimento como planejamento
de Produtos e Processos de Software, Requisitos • Formalizar as necessidades do cliente de testes, projeto e desenvolvimento não
e Desenvolvimento Orientado a Objetos. Consul-
tor para implementação do MPS.BR. Atua como
através da especificação de requisitos sejam omitidas.
Gerente de Projeto e Analista de Requisitos em de forma que esta seja de fácil enten-
projetos de consultoria na COPPE/UFRJ. É Colabo- dimento para o cliente e forneça as Em que situação o tema é útil?
rador Engenharia de Software Magazine. informações requeridas pela equipe de O assunto abordado é útil no dia a dia do
desenvolvimento; analista de requisitos na realização de suas
Eduardo Oliveira Spínola • Lidar com domínios desconhecidos. atividades.
eduspinola@gmail.com Entende-se por domínio o contexto para
É Colaborador das revistas Engenharia de Sof- o qual o software está sendo desenvol-
tware Magazine, Java Magazine e SQL Magazine. vido. Por exemplo: contabilidade, medi- desta atividade. Existem diversas abor-
É bacharel em Ciências da Computação pela Uni-
versidade Salvador (UNIFACS) onde atualmente
cina, controle de estoque. Para ilustrar dagens que podem ser trabalhadas em
cursa o mestrado em Sistemas e Computação na esta dificuldade, imagine-se elaborando conjunto para lidar com estas dificulda-
linha de Engenharia de Software, sendo membro a especificação dos requisitos de um des, por exemplo: análise de domínio,
do GESA (Grupo de Engenharia de Software e módulo estatístico para um sistema do prototipação, casos de uso.
Aplicações). mercado financeiro. O objetivo deste artigo não é apresentar
um referencial teórico sobre como lidar
A lista apresentada não é completa, mas com cada questão envolvida nas ativida-
fornece indícios reais da complexidade des diárias de um analista de requisitos.
Focaremos em um ponto específico A partir de agora serão apresentados de requisitos funcionais apresentada na
de seu trabalho que é a atividade de quatro exemplos de especificação de Tabela 2. O diagrama de casos de uso cor-
descrição (especificação) dos requisitos. casos de uso. Para cada uma delas fare- respondente pode ser visto na Figura 1.
Faremos isto de forma totalmente prática mos comentários adicionais para que o Consideramos para este artigo a espe-
através da apresentação de um conjunto entendimento do requisito descrito faça cificação dos casos de uso: UC 1 – Admi-
de casos de uso especificados que pode- sentido. Por fim, é importante também nistrar Clientes, UC 2 – Consultar Projeto,
rão servir de inspiração para suas ativi- destacar que os exemplos foram esco- UC 3 – Listar Projetos a Vencer, UC 4 –
dades como analista de requisitos. lhidos de forma a contemplar diferentes Listar Propostas de Projeto Criadas.
situações comumente presentes em espe- No caso de uso UC 1 – Administrar
Contextualização dos Exemplos cificações de requisitos (busca, cadastro, Clientes, apresentamos umas das situa-
As especificações de casos de uso apre- envio de e-mail, extensões). ções mais comuns de encontrarmos em
sentadas neste artigo são fruto da experi- sistemas de informação, que é o cadastro
ência prática dos autores como analistas Exemplos de Casos de Uso de alguma entidade no sistema. Neste
de requisitos. Eles não objetivam servir Para os exemplos de casos de uso exemplo, estamos considerando as inter-
de gabarito para futuras atividades de apresentados iremos considerar a lista faces apresentadas nas Figuras 2 e 3 como
especificação, ao invés disso, podem ser
considerados um bom ponto de partida Objetivo: Contém uma breve descrição do objetivo do caso de uso.
para que possamos ver na prática como
Requisitos: Neste campo indicamos a qual requisito funcional o caso de uso em questão está associado (ler Nota 1).
podemos escrever casos de uso efetivos.
Neste campo definimos a lista de atores associados ao caso de uso. Ator é qualquer entidade externa que
Entende-se por efetivo neste caso o fato Atores:
interage com o sistema (neste caso, com o caso de uso em questão).
do caso de uso conter informações ne-
Informação identificada junto ao usuário que auxilia na definição dos casos de uso que serão
cessárias para que as equipes de projeto Prioridade:
contemplados em cada iteração do desenvolvimento do software.
e desenvolvimento possam desempenhar
Neste campo devemos informar as condições que devem ser atendidas para que o caso de uso possa ser
satisfatoriamente suas atividades a partir Pré-condições:
executado.
da descrição dos casos de uso.
Informação identificada junto ao usuário que auxilia na definição dos casos de uso que serão
É importante estar atento também ao Freqüência de uso:
contemplados em cada iteração do desenvolvimento do software.
fato de que os casos de uso apresentados
Informação identificada junto ao usuário que auxilia na definição dos casos de uso que serão
neste artigo refletem as características Criticalidade:
contemplados em cada iteração do desenvolvimento do software.
de escrita dos autores. Estas caracterís-
Condição de Entrada: Neste campo definimos qual ação do ator dará início à interação com o caso de uso em questão.
ticas que envolvem itens como nível de
Esta é uma das seções principais do caso de uso. É onde descrevemos os passos entre o ator e o sistema. O
detalhamento, informações contidas nos Fluxo Principal:
fluxo principal é o cenário que mais acontece no caso de uso e/ou o mais importante.
casos de uso, dentre outras, costumam
Fluxo alternativo é o caminho alternativo tomado pelo caso de uso a partir do fluxo principal, ou seja,
mudar também de organização para
Fluxo Alternativo: dada uma condição de negócio o caso de uso seguirá por outro cenário que não o principal caso essa
organização. Mesmo assim, os exem-
condição seja verdadeira.
plos são bastante válidos uma vez que
Nesta seção colocamos todos os casos de uso que estendem o caso de uso base e em quais pontos eles são
o núcleo básico envolvido na descrição Extensões:
chamados dentro dos fluxos de eventos.
de casos de uso (fluxos principal e alter-
Neste campo devemos informar o estado em que o sistema (ou entidade manipulada no caso de uso)
nativos) está presente. Pós-condições:
estará depois que o caso de uso for executado.
Consideraremos neste artigo o conjun-
Nesta seção descrevemos todas as regras funcionais que o caso de uso deve cumprir durante sua
to de definições apresentadas na Tabela Regras de negócio:
execução.
1 como sendo importantes na descrição
de um caso de uso. Tabela 1. Conceitos envolvidos na descrição de um caso de uso.
Considerações Finais
Este artigo apresentou alguns exem-
plos reais de especificação de casos de
uso. Seu objetivo foi explicitar de forma
prática como estas descrições podem
ser efetuadas em um nível de detalhe
tal que informações importantes para
outras etapas do desenvolvimento como
planejamento de testes, projeto e desen-
volvimento não sejam omitidas.
Figura 4. Tela 1 do caso de uso UC 2 – Consultar Projeto
UC 1 Ð Administrar Clientes
Objetivo: Permitir que funcionários adicionem, consultem, removam ou alterem dados de clientes de projetos.
Requisitos: RF1
Atores: Funcionário
Prioridade: Baixa
Pré-condições:
Freqüência de uso: Eventual
Criticalidade: Baixa
Condição de Entrada: O Funcionário seleciona a opção Administrar Cliente.
1. O sistema apresenta formulário de busca de clientes contendo as informações:
- C.N.P.J (campo editável)
- Razão Social (campo editável)
- Estado (lista dos Estados brasileiros)
- As opções Buscar e Cancelar
- A opção Incluir Novo Cliente
(Informações Gerais)
- C.N.P.J (campo editável)
- Razão Social (campo editável)
- Inscrição Estadual (campo editável)
- Inscrição Municipal (campo editável)
(Endereços)
- Tabela com os endereços cadastrados para o cliente que está sendo criado (cada endereço adicionado possui as seguintes informações: Indicador de Endereço
de Cobrança, Logradouro, Bairro, Complemento, CEP, Município, Estado e País) e a opção de Excluir Endereço [A5]
Fluxo Principal: - Campos: Indicador de Endereço de Cobrança (opções Sim ou Não), Logradouro (campo editável), Bairro (campo editável), Complemento (campo editável), CEP
(campo editável), Município (campo editável), Estado (lista de estados brasileiros) e País (campo editável) e a opção de Incluir Endereço [A6][RN2] [RN7]
(Contatos)
- Tabela com os contatos cadastrados para o cliente que está sendo criado (cada contato adicionado possui as seguintes informações: Nome, Cargo, Telefone e
e-mail) e a opção de Excluir Contato [A5]
- Campos: Nome (campo editável), Cargo (campo editável), Telefone (campo editável), e-mail (campo editável) e a opção de Incluir Contato [A6][RN3]
(Complemento)
- Setor em que atua (lista de setores previamente cadastrados no sistema) (campo editável)
- Sub-Setor em que atua (lista de sub-setores previamente cadastrados no sistema) (campo editável)
- Tipo de Atuação (lista de tipos de atuação previamente cadastrados no sistema) (campo editável)
- Opções de Confirmação: Salvar e Cancelar
UC 1 Ð Consultar Projeto
Objetivo: Permitir que Funcionários acompanhem o ciclo de vida de seus projetos.
Requisitos: RF2
Atores: Funcionários
Prioridade: Média
Pré-condições:
Freqüência de uso: Eventual
Criticalidade: Média
Condição de Entrada: Funcionário seleciona a opção Consultar Projeto.
Minuta de Projeto
- Data de Envio (somente leitura)
- Data de Aprovação (somente leitura)
U
tador (IHC) nos sistemas de software. Este
m sistema de software, assim artigo discute a importância da IHC e usa-
como qualquer outro produto, bilidade no processo de desenvolvimento
precisa ser simples, fácil de usar de sistemas de software
e deve otimizar o tempo de seu usuá-
rio de modo que ele(a) possa realizar Para que serve?
uma tarefa de maneira eficiente e com Identificar atributos da usabilidade e as-
satisfação. Um sistema de software ou pectos da interação humano-computador
produto com essas características tem que podem influenciar a facilidade de uso e
Antonio Mendes da Silva Filho usabilidade, um atributo de qualidade aprendizagem de uma aplicação, os quais
antoniom.silvafilho@gmail.com perceptível aos usuários e determinante são determinantes para elevar o desem-
Professor e consultor em área de tecnologia da no sucesso de um produto. O desenvol- penho na realização de tarefas e grau de
informação e comunicação com mais de 20 anos
vimento de sistemas de software coloca satisfação de usuários.
de experiência profissional, é autor do livros Ar-
quitetura de Software e Programando com XML, a usabilidade como um dos atributos
ambos pela Editora Campus/Elsevier, tem mais de qualidade que norteia o processo de Em que situação o tema é útil?
de 30 artigos publicados em eventos nacionais construção do sistema, tópico discutido Essencial no processo de desenvolvimento
e internacionais, colunista para Ciência e Tecnolo- neste artigo. de sistemas interativos, onde objetiva-se
gia pela Revista Espaço Acadêmico com mais de
desenvolver software que torne produtiva
60 artigos publicados, tendo feitos palestras em
eventos nacionais e exterior. Foi Professor Visitan- Usabilidade e satisfatória a realização de tarefas pelos
te da University of Texas at Dallas e da University Hoje em dia, interagir com sistemas usuários.
of Ottawa. Formado em Engenharia Elétrica pela de software não é mais privilégio de
Universidade de Pernambuco, com Mestrado em profissionais de computação e tornou-se
Engenharia Elétrica pela Universidade Federal
uma necessidade comum a toda popu- caracterizados pela interação entre o sis-
da Paraíba (Campina Grande), Mestrado em En-
genharia da Computação pela University of Wa- lação. Os projetistas e desenvolvedores tema e o ser humano) têm sido colocados
terloo e Doutor em Ciência da Computação pela de sistemas de software e, notadamente, em posição de destaque, pois eles são
Univesidade Federal de Pernambuco. dos sistemas interativos (i.e. sistemas os responsáveis pelo desenvolvimento
desses produtos. Entretanto, é impera- interface com o usuário, o qual compre- Um sistema interativo pode ser de-
tivo que eles (projetistas e desenvolve- ende parte das atividades do processo composto em duas grandes porções
dores) possam desempenhar bem seu de desenvolvimento de um sistema de de software: o software da aplicação e
papel, especificamente, no projeto de software, discutido a seguir. o software da interface com usuário.
sistemas de software interativos, onde A aplicação compreende toda a fun-
há interação entre ser humano e compu- Desenvolvimento de cionalidade do sistema enquanto que
tador e têm como propriedade essencial Sistemas Interativos o software da interface com usuário é
prover suporte à atividade humana. Tal Desenvolver um sistema interativo encarregado de mediar a comunicação
sistema habilita o ser humano a realizar requer uma equipe de projeto atuando entre o usuário e a aplicação do sistema.
suas tarefas mais rapidamente, com numa variedade de tarefas, as quais são Esta divisão de um sistema interativo é
menos erros, com aprendizado menor, estruturadas num processo. Tal processo ilustrada na Figura 1.
com qualidade resultante e satisfação compreende um conjunto de atividades Uma visão genérica de processo de
maiores. Isto, contudo, depende da usa- que transforma entradas em saídas. Em desenvolvimento que contemplam ape-
bilidade do sistema. determinado instante do processo, pode- nas as principais atividades desses dois
Usabilidade é uma palavra que tem se ter o projetista ou engenheiro de sof- componentes é mostrada na Figura 2.
feito cada vez mais parte do vocabulário tware esboçando parte da interface com A parte superior da figura engloba ati-
dos projetistas de sistemas de software. usuário e/ou realizando uma entrevista vidades pertinentes ao desenvolvimento
A usabilidade é um conceito chave no com possíveis usuários a fim de derivar da aplicação, onde se tem atividades
campo da Interação Humano-Com- algum modelo e, posteriormente, tentar de desenvolvimento de software (en-
putador (IHC), sendo um atributo de definir a arquitetura do sistema. Depois, contradas na Engenharia de Software)
qualidade de sistemas que são fáceis de mudanças de requisitos e projeto, natu- resumidas apenas em três atividades
usar e de aprender. Em outras palavras, rais de acontecer no início do desenvol- (análise de sistema, desenvolvimento e
diz quão intuitiva é a interface gráfica vimento, podem ser incorporadas a um testes de software). Perceba que a parte
de usuário ou, simplesmente, interface protótipo o que permite realizar testes inferior da Figura 2 compreende as ati-
de usuário. Trata-se, portanto, de uma pelos usuários. vidades necessárias ao desenvolvimento
característica pela qual o usuário expres-
sa seu interesse ou não em utilizar um
sistema. Na grande maioria dos casos,
os usuários preferem um sistema de Sistema interativo
fácil uso, mesmo com funcionalidades
mais simples, a um sistema recheado de software da software da
funcionalidades, porém de manipulação interface com usuário aplicação
complexa e não intuitiva. Usuário
É importante também observar que a
usabilidade é determinante no sucesso
ou insucesso de qualquer produto. Por- Figura 1. Decomposição de um sistema interativo.
tanto, o usuário sempre tem a última
palavra ao expressar sua satisfação ou
não no uso de um sistema ou produto.
Perceba que produtos com usabilidade,
resultante de interface (de usuário) bem
projetada, permitem:
• Maior grau de eficiência quando os
usuários realizam suas tarefas;
• Custos reduzidos de apoio ao usuário,
tais como treinamento, ou atendimento
ao usuário;
• A inserção de sistemas ou produtos
mais naturalmente no ambiente de
trabalho do usuário, facilitando a utili-
zação do produto na realização de suas
tarefas.
A usabilidade é uma característica Figura 2. Processo de desenvolvimetno de um sistema interativo (esta figura poderia ser um pouco
da qualidade resultante do projeto de mais explicada no texto).
especificação do
R&P projeto de software
Implementação de
software
programa
R&P
correções em função
da usabilidade R&P = Restrições e
Avaliação de Problemas
interface
do conhecimento destas disciplinas para propositadamente, os problemas com in- utilizar manipulação/comunicação
produzir interfaces ditas “amigáveis” terfaces acontecem. Recentemente, com gráfica no projeto de interface, muito da
(ou user-friendly). Em outras palavras, o lançamento da nova versão do Office informação visual ainda é apresentada
prover interfaces que ofereçam suporte da Microsoft, o botão de apresentação de na forma textual. A leitura - o processo
a usabilidade. Isso é o que diz a Norma slides do Power Point, que era há décadas de extrair informação do texto - é a ati-
9241 da ISO quando diz que a usabilidade no canto inferior esquerdo, foi levado ao vidade chave na maioria das interfaces.
é a capacidade que um sistema interativo canto inferior direito. Os seres humanos precisam decodificar
oferece a seu usuário em determinado Quando consideramos um sistema os padrões visuais e recuperar o signifi-
contexto de uso para realizar tarefas com interativo, o termo fator humano assu- cado das palavras e frases. Para tanto, o
eficácia, eficiência e satisfação. Quando a me vários significados. Dentro do nível processo de leitura tem sua velocidade
interface oferece essa três características, fundamental, deveríamos entender a controlada pelo padrão de movimento
ela é comumente dita “amigável” (tradu- percepção visual, a psicologia cognitiva dos olhos, que escaneia o texto em alta
ção do termo user-friendly). da leitura, a memória humana e os ra- velocidade.
IHC não é uma disciplina essencial- ciocínios dedutivo e indutivo. No outro Adicionalmente, o tipo de caractere
mente voltada para o estudo de com- nível, deveríamos entender o usuário e fonte, o comprimento de linha do texto
putação ou do ser humano, mas para a seu comportamento. Por fim, é preciso e cor(es) afetam a facilidade na qual o
comunicação entre estas duas entidades. entender as tarefas que o software exe- processo de leitura ocorre. Por exemplo,
Conhecimento sobre as limitações da cuta para o usuário e as tarefas que são se considerarmos o uso da cor na busca
capacidade humana e restrições da exigidas do usuário quando da interação e identificação de objetos, pode-se dizer
tecnologia existentes devem ser ponde- com o sistema. Note que o interesse que o uso excessivo de cores aumenta o
rados para oferecer ao usuário um meio recai, especificamente, na importância tempo de busca e dificulta a identificação
adequado através do qual eles podem da percepção humana para o desenvol- e memorização de objetos. Entretanto,
interagir com os computadores. vimento de interface de usuário. a cor é útil na identificação de estados
Um dos fatores relevantes para a inter- Os seres humanos percebem as coisas de objetos. Considere, por exemplo, que
face de usuário é a percepção humana. através de seus sentidos, isto é, visual, você esteja usando o ambiente Windows
Todavia, antes de discuti-la, faz-se ne- auditivo e tato. Estes sentidos habilitam e abre uma pasta de documentos com
cessário explicar a diferença entre IHC o usuário de um sistema interativo a vários arquivos. Neste caso, o ambiente
e Interface de Usuário. É comum ambos perceber a informação, armazená-la permite que você selecione o modo de
os termos serem usados indistintamente (em sua memória) e processar a infor- exibição (ícones grandes, ícones médios,
e erroneamente. IHC é tudo que ocorre mação usando o raciocínio dedutivo ou ícones pequenos, detalhes, lista e lado a
entre o ser humano e um computador indutivo. lado). Em tal situação, quando você clica
utilizado para realizar algumas tarefas, Grande parte da IHC ocorre através sobre um arquivo, selecionando-o, a cor
ou seja, é a comunicação entre estas do sentido da visão, como por exemplo: do objeto selecionado é modificada para
duas entidades. Interface de usuário é o relatórios, gráficos, etc. Neste caso, os identificar o estado do objeto (um arqui-
componente (software) responsável por olhos e o cérebro trabalham juntos a vo) selecionado naquela pasta.
mapear ações do usuário em solicitações fim de receber e interpretar a informa- Quando a informação é extraída da
de processamento ao sistema (aplicação), ção visual baseada no tamanho, forma, interface, ela deve ser armazenada para
bem como apresentar os resultados pro- cor(es), orientação e movimento. Muitos ser recuperada (lembrada) e utilizada
duzidos pelo sistema. elementos discretos de informação são posteriormente. Além disso, o usuário
É comum encontrarmos interfaces apresentados simultaneamente para precisa lembrar-se de comandos e seqü-
que são difíceis de usar, confusas, e até as pessoas absorverem. Assim, uma ências operacionais de uso. Tais infor-
mesmo frustrantes em alguns casos. especificação apropriada de comunica- mações são armazenadas na memória
Apesar de os projetistas gastarem tem- ção visual é o elemento chave de uma humana (que é um sistema complexo)
po para desenvolver essas interfaces e interface amigável. composto de duas partes: a memória de
que seja improvável que eles façam isto Embora haja uma tendência para se curta duração que possui capacidade de
• A usabilidade deve permear todo o O processo de desenvolvimento de in- vários fatores como a facilidade de uso e
processo; terface de usuário, envolvendo projeto de aprendizagem por parte do usuário, bem
• Não existe um método seguro e direto interação e projeto de software de interface como maior desempenho e satisfação do
que garanta uma boa usabilidade já que de usuário, constitui-se num desafio. As usuário na realização de suas tarefas. Es-
muitas variáveis estão envolvidas; razões pelas quais a interface é vista como ses fatores podem ser mensurados através
• O processo é altamente iterativo, sendo a parte mais difícil e desafiadora do de critérios de usabilidade como discutido
onde testes e avaliações representam desenvolvimento de um sistema interativo no artigo. Todavia, enquanto a diversidade
atividades centrais. é, em parte, porque ela requer uma combi- humana é um aspecto positivo no que
nação de diversas áreas de conhecimento tange ao enriquecimento sócio-cultural
Os modelos de desenvolvimento de com respectivos especialistas para desen- e troca de experiências entre os seres hu-
sistemas interativos, via de regra, são volver uma interface de qualidade. manos, ela constitui-se num desafio aos
norteados pela necessidade de ter o É importante observar que desenvolver projetistas de interface. Nesse sentido, um
usuário como participante do processo interface de usuário não é simplesmente conjunto de características que o projetista
de desenvolvimento, além de considerar desenvolver uma fatia do software do deve considerar compreende:
a necessidade de oferecer suporte à usa- sistema. Ela requer, além disso, outras • habilidades de percepção e cognição:
bilidade. Nesse sentido, o processo de atividades, tais como: capacidade de memorização, atenção e
desenvolvimento de sistemas interativos • Projeto da comunicação entre usuá- solução de problemas;
compreende várias atividades de proje- rios e computador; • fatores que afetam o desempenho
to. Dentre elas, as duas mais importantes • Identificação e representação de motor e perceptivo: fadiga, ansiedade,
na qualidade obtida do produto final são tarefas dos usuários e informações medo, envelhecimento;
o projeto IHC e o projeto de software de pertinentes; • diferenças culturais: descrição de
interface de usuário. • Projeto gráfico e textual da interface; datas, horário, unidades de peso (e
Juntamente com estas fases, tem-se a ne- • Projeto de software de interface atra- outras medidas), formas de descrever
cessidade de uso de técnicas de especifi- vés do qual outras decisões de projeto endereços, bem como significado de
cação do projeto. Perceba que o meio pelo serão implementadas; cores e ícones;
qual o projetista de interação comunica o • Avaliação da interface. • deficiências auditiva, motora, cognitiva
projeto IHC ao projetista de software (ou e de fala, nos usuários de equipamentos.
engenheiro de software) é comumente Observe que o desenvolvimento de uma
realizada através de especificações, i.e., interface de usuário é a parte do sistema Considerar os aspectos acima mencio-
um conjunto formal de instruções sobre que mais requer do projeto tanto em termos nados significa orientar o processo de de-
o projeto a partir do qual o código será de tempo de desenvolvimento quanto da senvolvimento para o usuário, buscando
desenvolvido. Objetivando auxiliar o proporção de software dedicada a esta fatia atender as necessidades de trabalho dos
processo do projeto de interação, os se- do sistema. Além disso, tal desenvolvimen- mesmos, o que implica em aumentar as
guintes princípios são considerados: to tem uma atividade essencial que é, geral- chances da aceitabilidade do sistema de
• O desenvolvimento de um sistema de mente, integrada ao processo de desenvol- software ou produto pelo usuário, já que
software deveria incluir teste empírico vimento do sistema de software. Trata-se a usabilidade está sendo considerada no
inicial e contínuo centrado em usuários da avaliação da usabilidade, atributo da processo de desenvolvimento.
apropriados que realizem tarefas repre- qualidade do sistema de software. Três
sentativas de modo a avaliar se os critérios categorias de métodos existem: inspeção, Links
de usabilidade estão sendo atendidos; investigação e teste. Para cada uma dessas
• À medida que o desenvolvimento pro- categorias, há técnicas que são empregadas Human-Computer Interaction (HCI)
Bibliography
cede, deveria incorporar procedimentos para avaliar a usabilidade de um sistema http://hcibib.org/
subseqüentes através de refinamento de software, tema que será abordado num
Bad Human Factors Design
interativo e análise custo/benefício para artigo futuro. Os leitores interessados no
http://www.baddesigns.com/
determinar as modificações mais efetivas tema podem encontrar informações em
sob o ponto de vista do custo a serem http://www.usabilityhome.com/ User Interface Engineering
http://www.uie.com/
realizadas no projeto de interação.
Conclusão Heuristics for User Interface Design
http://www.useit.com/papers/heuristic/
Por outro lado, o projeto de software Para finalizar, deve-se observar que
heuristic_list.html
de interface de usuário visa transformar nesse universo de dispositivos, dos mais
o projeto do domínio do problema em variados tipos e objetivos, um aspecto The History of the Graphical User Interface
http://www.mackido.com/Interface/ui_
um programa de computador. Nesta determinante na aceitabilidade (leia-se history.html
etapa do desenvolvimento é feito, por também adoção) e uso deles é o design de
Usability Evaluation Methods
exemplo, o projeto das estruturas de suas interfaces. Dentro deste contexto,
http://www.usabilityhome.com/
dados e de algoritmos. a usabilidade de uma interface envolve
U
Humano-Computador (IHC) nos sistemas
m produto, seja um sistema de de software.
software ou outro qualquer,
possui usabilidade que é um dos Para que serve?
atributos da qualidade perceptível aos A usabilidade pode ser considerada um
usuários. A usabilidade é uma caracte- elemento norteador do processo de
rística de um produto que informa quão desenvolvimento, isto é, o desenvolvi-
fácil de usar e aprender esse produto é. Em mento acontece sob a óptica do usuário,
outras palavras, serve como um indicador buscando apoiar de maneira natural a
Antonio Mendes da Silva Filho de quão intuitivo é utilizar aquele produ- realização de suas atividades. Neste con-
antoniom.silvafilho@gmail.com to. Essa característica é determinante no texto, percebe-se a importância do uso
Professor e consultor em área de tecnologia da sucesso desse produto, pois ela influencia de técnicas para apoiar a avaliação de
informação e comunicação com mais de 20 anos
de experiência profissional, é autor do livros Ar-
diretamente o interesse do usuário em usabilidade do software.
quitetura de Software e Programando com XML, utilizar ou não esse produto ou sistema
ambos pela Editora Campus/Elsevier, tem mais (de software). Para tanto, em sistemas de Em que situação o tema é útil?
de 30 artigos publicados em eventos nacionais software, assim com em outros produtos, a Essencial no processo de desenvolvimento
e internacionais, colunista para Ciência e Tecnolo- usabilidade é avaliada durante o processo de software onde podemos ter atividades
gia pela Revista Espaço Acadêmico com mais de
60 artigos publicados, tendo feitos palestras em
de desenvolvimento visando assegurar o específicas para apoiar a avaliação da usa-
eventos nacionais e exterior. Foi Professor Visitan- nível desejado de usabilidade. Este artigo bilidade da interface com o usuário.
te da University of Texas at Dallas e da University discute um conjunto de mecanismos de
of Ottawa. Formado em Engenharia Elétrica pela avaliação da usabilidade.
Universidade de Pernambuco, com Mestrado em (consumidores). Este artigo trata da
Engenharia Elétrica pela Universidade Federal
da Paraíba (Campina Grande), Mestrado em En-
Usabilidade usabilidade de produtos e, mais espe-
genharia da Computação pela University of Wa- Usabilidade tem sido um dos fato- cificamente, da usabilidade de sistemas
terloo e Doutor em Ciência da Computação pela res utilizados por diversas empre- de software. Assim, os dois termos serão
Univesidade Federal de Pernambuco. sas para conquistar novos usuários utilizados indistintamente neste texto.
A
te da análise de pontos de função.
técnica de Análise de Pontos de
Função (APF) não é uma novi- Para que serve?
dade nem tão pouco está na sua Para antecipar, senão evitar conflitos, entre
infância, afinal a pesquisa que a originou os diferentes tipos de usuários da técnica
remonta ao ano de 1974 e a publicação e permitir que os benefícios difundidos
do artigo resultante por Allan Albrecht, de sua aplicação possam ser efetivamente
Measuring Application Development alcançados.
Productivity, ao ano de 1979. A novidade
é a velocidade em que essa técnica vem Em que situação o tema é útil?
Carlos Eduardo Vazquez ganhando adeptos para contagem de Em todas as aplicações da análise de pon-
Sócio-fundador da FATTO Consultoria e Sistemas, unidades para fins de remuneração das tos de função, destacando-se para fins de
um dos autores do livro “Análise de Pontos de entregas de fábricas de software, fábricas estimativas e quando os pontos de função
Função: Medição, Estimativas e Gerenciamento
de Projetos de Software”. Possui 20 anos de ex-
de projetos e integradores de sistemas. servem de insumo para monitoramento de
periência em TI, notoriamente na aplicação das No Brasil, originalmente a principal qualidade e produtividade em contratos
disciplinas do desenvolvimento e sustentação aplicação da técnica é a criação de mo- de desenvolvimento e manutenção de
de sistemas corporativos. Graduado em Processa- delos de estimativa paramétrica e, ainda sistemas.
mento de Dados pela PUC-RJ em 1990, já passou hoje, há quem associe imediatamente a
com sucesso por quatro vezes pelo processo de
certificação de especialista em pontos de função
análise de pontos de função como um
pelo IFPUG – International Function Point Users sinônimo para estimativa. Estimar é parâmetro, em contraste com os mode-
Group, tendo sido um dos primeiros brasileiros a determinar um valor possível para uma los de estimativa direta onde o analista
conquistar essa certificação em 1996.Desde 1993, grandeza de interesse como o esforço estima diretamente o valor da grandeza
vem formando profissionais na aplicação da Aná- para o desenvolvimento ou manutenção de interesse.
lise de Pontos de Função, tendo sido professor da
UFES, atuado como consultor de grandes projetos
de sistemas, por exemplo. Um modelo Um modelo paramétrico típico é aquele
de tecnologia em empresas do setor financeiro, de estimativa paramétrico é aquele em em que a quantidade de pontos de fun-
bancário e de telecomunicações. que esse valor é estimado a partir de um ção estimados é fornecida como entrada,
Premissas modificadas conforme a as premissas originais, identificará as funcional, essa parte da técnica é descon-
conveniência de cada contagem funções: siderada. Existem aqueles que defendem
Para que um determinado conjunto de • Faturamento: preparar e enviar que o seu uso aumente a relação entre
atividades possa ser avaliado como uma movimento; tamanho e esforço; outros argumentam
função, esse conjunto deve também inte- • Contábil: processar faturamento; que o fator de ajuste é obsoleto, induz
ragir com usuários da aplicação (lembre- • CRM: processar faturamento; muita subjetividade e que os aspectos não
se que para a APF, outra aplicação pode • Contas a receber: processar faturamento. funcionais devem ser ponderados dire-
também ser considerada usuária desde tamente no esforço pelo uso de modelos
que interaja com aquela em análise). Por Contudo, se quando da contagem dessa como o COCOMO II ou a maior estratifi-
exemplo, surge uma demanda para que demanda todos esses sistemas estiverem cação nos indicadores de produtividade
seja enviado um arquivo com a relação compreendidos numa mesma fronteira utilizados para elaborar estimativas.
dos clientes incluídos, alterados e excluí- da aplicação, provavelmente teríamos Quando de sua adoção, é recomendado
dos de um sistema de vendas para atuali- apenas a função Nota Fiscal – Faturar, que, no guia de contagem, estejam desta-
zação das bases cadastrais de um sistema contada na medida em que será o único cadas as orientações do CPM, preferencial-
de CRM. Na medida em que a informação processo que interage com o usuário. mente com exemplos e casos cotidianos na
está saindo da aplicação Vendas, uma saí- O impacto disso é a invalidação, ou organização e do cenário em que a APF
da ou consulta externa será contabilizada pelo menos grande degradação, de toda a será utilizado. Quando não adotado, isso
e, na medida em que dados estão entrando referência como a produtividade média, também deve estar definido no guia na
na aplicação de CRM, três entradas exter- por exemplo. Afinal, o esforço envolvido medida em que ele é a referência interna
nas serão contabilizadas. Considerar que é o mesmo, independentemente de como a para o uso da APF na organização.
uma aplicação seja usuária de outra em fronteira seja posicionada, porém a quan- Todo processo de desenvolvimento ou
uma determinada contagem e, em outra tidade de pontos de função pode mudar manutenção de sistemas é também um
contagem diferente, considerar que essa drasticamente e isso muda toda relação processo de descoberta. Quando é solici-
mesma aplicação seja parte da outra, é construída anteriormente quando do esta- tada do analista uma estimativa de esforço
um erro. Uma vez estabelecido que CRM belecimento da curva de produtividade. em momentos preliminares do ciclo de
e Vendas são duas aplicações distintas, vida, as funções ainda não descobertas
é um erro ora considerá-las dessa forma Valor do fator de ajuste usado para como requisitos terão um impacto no
e ora considerá-las no conjunto como outros fins que não aqueles para esforço necessário ao empreendimento
uma única aplicação. Por exemplo, surge os quais foi definido em questão. Isso é um risco que deve ser
uma demanda que envolve modificar e O valor do fator de ajuste se propõe a tratado e a esse tratamento é dada a deno-
incluir funções em ambos os sistemas. ponderar os efeitos daqueles requisitos minação de contingência técnica. Os me-
Uma das funções alteradas é o envio do do usuário que não são específicos de canismos para a sua determinação devem
arquivo com as modificações no cadastro uma função, mas gerais à aplicação como também estar definidos, destacando que,
de clientes no sistema de vendas para o um todo (desempenho, processamento pela comparação do tamanho funcional
CRM. Nessa nova contagem essa função distribuído, usabilidade, suporte a vá- em diferentes momentos no ciclo de vida,
não é contabilizada e esse erro em parti- rios protocolos, entre outros). Em termos é possível quantificar quanto foi o cresci-
cular consiste em confundir o conceito de práticos, o fator de ajuste visa ponderar mento em função dessas descobertas em
escopo da contagem com o de fronteira da os requisitos não funcionais, havendo projetos passados. A contingência técnica,
aplicação. Resumindo o problema, frontei- no CPM orientações para a sua determi- referente a esse fenômeno (scope creep),
ras entre as aplicações não são definidas nação. Apesar disso, muitas vezes esse passa a poder ser medida e utilizada no
previamente e usadas consistentemente fator é usado visando à inserção de uma processo de estimativa do tamanho fun-
entre as diferentes contagens. margem de erro na estimativa. Quando cional. Em estimativa, o problema não é
Outro exemplo, fronteiras foram se trabalha com uma estimativa para ela- errar: é desconsiderar que se vai errar!
estabelecidas entre os sistemas de fa- boração de uma cotação de preço global
turamento, contábil, relacionamento fixo isso é necessário, contudo, isso deve Desconsiderar aspectos do
com clientes (CRM) e contas a receber, ser feito em função do conhecimento do software que não são medidos
quando das contagens para calibração do problema, dos riscos de novas descober- pela técnica de Análise de Pontos
modelo de estimativa. Uma demanda do tas implicarem em esforço adicional, e de Função
usuário envolve modificar um programa não a partir de uma margem de teto e Os pontos de função medem os requi-
que prepara e envia dados de fatura- piso fixos de até 35%, arbitrados pelos sitos funcionais e questiona-se a eficácia
mento acrescentando alguns campos criadores da APF para outros fins. do uso do fator de ajuste para fins de
que serão relevantes para os sistemas O próprio uso do valor do fator de ajuste ponderação dos requisitos não funcio-
que processarão esses novos campos: não é um consenso entre a comunidade nais. Existem demandas cujo esforço
Contábil, CRM e Contas a receber. A de analistas de métricas e, quando se necessário ao seu atendimento depen-
contagem dessa demanda, considerando diz que a APF é uma técnica de medição de primordialmente desses últimos.
Todos esses vícios no contexto de um ela não é completa, ela é parte da exclu- quando esses se deparam com situações
contrato levam a conseqüências para as são de tarifas. O usuário não executa o não usuais, é comum o surgimento de
partes envolvidas. Quando da análise de processo de exclusão de tarifas com o dúvidas. Com a centralização desse co-
sua produtividade, um desenvolvedor propósito de consultar se existe ou não nhecimento, um profissional experiente
incorre nesses erros, corre um risco de algum lançamento para ela. na APF, mas acostumado a medir so-
determinar uma taxa de entrega que não A análise, a aplicação das regras de con- mente sistemas de determinado tipo (por
corresponderá àquela obtida consideran- tagem, nesse caso em particular é bastante exemplo, mainframe-COBOL), será capaz
do a medição da entrega apurada por seu direta e contamos com exemplos e casos de medir mais facilmente sistemas de
cliente. Enquanto para uma demanda o fornecidos pelo IFPUG com orientação natureza distinta (por exemplo, business
desenvolvedor chega a 120 pontos de para isso. Não é o caso de sistemas de con- intelligence).
função, o cliente chega a apenas 80 e trole de tráfego aéreo em que diferentes • Evitar o re-trabalho com a análise de
isso implicará em um impacto na sua camadas de dados são apresentadas ao questões recorrentes: uma vez que deter-
produtividade e, conseqüentemente, em usuário, sistemas com consultas dinami- minada situação tenha gerado dúvida na
seu preço por ponto de função. camente definidas pelo próprio usuário, medição, esta é analisada e decide-se qual
sistemas de workflow, entre outros. a melhor forma de abordá-la. Essa dúvida
Guia de Contagem Também para as situações onde as re- e a abordagem adotada são documenta-
O Guia de Contagem é um documento gras do IFPUG não estão suficientemente das no guia para que todos os envolvidos
particular a uma organização com in- claras ou objetivas (existem pontos da em medições não precisem gastar tempo
terpretações locais das regras, práticas e técnica que ainda são alvo de trabalho analisando situações parecidas e nem
procedimentos de contagem definidos no do comitê de práticas de contagem do correndo o risco de decidirem por uma
CPM e fundamentados na “visão do usu- IFPUG como, por exemplo, a determi- abordagem diferente da adotada previa-
ário”. Isto é, faz com que a técnica possa nação quanto à contagem de diferentes mente. As medições tendem a ocorrer de
ser aplicada em uma ampla variedade de funções quando houver múltiplas mídias forma mais rápida.
situações e independentemente de como envolvidas em seu processamento), o • Criar um modelo de estimativa con-
os seus requisitos funcionais são atendi- guia de contagem irá tratar a situação de sistente com as características da APF,
dos. Por outro lado, dificulta a aplicação forma objetiva. Aproveitando a questão calibrado e definido para os propósitos
destes conceitos em situações em que das múltiplas mídias, um guia local específicos a que ele se destina.
essa visão de negócio do usuário, ou pelo pode definir que diferentes funções de
menos princípios que permitam a sua transação serão contadas quando houver Os cuidados apresentados neste artigo
materialização, não esteja documentada um desenvolvimento específico para cada têm por objetivo servir de base para a
ou definida previamente, principalmente diferente mídia e que apenas uma função definição de uma pauta, de um agenda,
em situações com características distintas será considerada, caso contrário. para o sucesso na adoção da APF na
das fornecidos pelo IFPUG. realidade atual e para os propósitos que
Por exemplo, o IFPUG define que uma Conclusão vêm tão intensamente alavancando a sua
função de transação seja: o menor con- Quando a APF é utilizada para fins utilização.
junto de atividades completo, que deixa de medição da produção na relação
o negócio da aplicação sendo contada entre usuários e desenvolvedores, e não
em um estado consistente; e reconhecido apenas como um instrumento interno à
pelo usuário. Em outras palavras, que organização de planejamento e controle,
Referências
não exista subconjunto desse conjunto de uma série de objetivos devem ser esta-
atividades que também seja completo. A belecidos para: IFPUG – International Function Point Users Group:
manutenção de um cadastro com dados • Aumentar a consistência entre http://www.IFPUG.org
de referência do negócio – tarifas, por contagens feitas por diferentes profis- Vazques, Carlos Eduardo; Simões, Guilherme Siqueira;
exemplo – pode ser considerada completa sionais: uma vez que as situações mais Albert, Renato Machado. Análise de Pontos de Função:
e reconhecida pelo usuário, porém existe comuns nas medições da organização Medição, Estimativas e Gerenciamento de Projetos de
a inclusão, alteração e exclusão de tarifas, estejam exemplificadas, menor a chance Software. Ed. Érica, 2007.
parte da manutenção citada, que também de profissionais diferentes usarem crité-
pode ser considerada completa, portanto, rios distintos nas medições. Glossário Interativo da Análise de Pontos de Função:
a manutenção de tarifas não pode ser con- • Centralizar a experiência da conta- http://apf.locaweb.com.br/mod/glossary/view.php?id=1
siderada uma função de transação. gem envolvendo diferentes tecnologias Mapa Mental Interativo da Análise de Pontos de Função:
Para que uma tarifa seja excluída, é e domínios de problema (por exemplo, http://www.fattocs.com.br/freemind/APF.html
necessária a realização de uma atividade sistemas em mainframe, múltiplas Measuring Application Development Productivity -
de validação. Não deve haver nenhum camadas, workflow, business intelli- Allan J. Albrecht: http://www.fattocs.com.br/artigos/
lançamento referente a essa tarifa. O gence, batch, entre outros): mesmo para MeasuringAplicationDevelopmentProductivity.pdf
usuário reconhece essa atividade, porém profissionais experientes no uso da APF,
A
automação de testes é uma A automação de testes não é um
área em franca expansão, no processo de testes
entanto, é uma área ainda Muitas empresas fracassam na implan-
muito imatura. Muitos dos sucessos tação da automação de testes em virtude
nos projetos de automação de testes são da inversão de prioridades causada pela
decorrentes de processos empíricos de busca da qualidade a qualquer preço.
tentativa e erro. Neste cenário, as empresas adquirem
Para piorar a situação, a automação uma ferramenta de automação de testes
de testes ainda é objeto de mitos que prematuramente sem, ao menos, possuí-
geram percepções errôneas sobre os rem um grau mínimo de maturidade no
seus reais benefícios e limitações. processo de testes. O processo de testes
Cristiano Caetano Freqüentemente, as ferramentas de é informal, as responsabilidades não
c_caetano@hotmail.com automação de testes são supervalori- são bem definidas e os profissionais não
É certificado CBTS pela ALATS. Diretor da Tes- zadas gerando falsas expectativas, a possuem o perfil adequado ou não são
tAnywhere, consultoria de teste de software infra-estrutura requerida é subesti- qualificados.
(www.testanywhere.com.br). Possui mais de 10
mada, entre outros problemas comuns Segundo Watts S. Humphrey, criador
anos de experiência, já trabalhou na área de qua-
lidade e teste de software para grandes empresas que serão apresentados ao longo deste do CMM (Capability Maturity Model), a
como Zero G, DELL e HP Invent. Autor dos livros artigo. qualidade do produto final é diretamen-
“CVS: Controle de Versões e Desenvolvimento Nas seções a seguir serão apresen- te proporcional à qualidade do processo
Colaborativo de Software” e“Automação e Geren- tadas algumas boas práticas e conse- utilizado no seu ciclo de vida. A implan-
ciamento de Testes:Aumentando a Produtividade
lhos reunidos pelo autor durante os tação da automação de testes depende de
com as Principais Soluções Open Source e Gratui-
tas”.Criador e mantenedor do portal TestExpert: A últimos anos (à custa do aprendizado testes manuais maduros e consistentes.
sua comunidade gratuita de teste e qualidade de empírico em projetos de automação Os projetos de automação de testes bem
software (www.testexpert.com.br). de testes). sucedidos são aqueles que se baseiam
em processos de testes formais e estru- validações subjetivas (estes tipos de tes- A experiência tem mostrado que a
turados. Afinal, como é possível esperar tes devem permanecer manuais). Além incorporação de testabilidade na apli-
alguma coisa de testes automatizados disso, muitas vezes o custo e o tempo cação é um fator chave para o sucesso
que são baseados em testes manuais er- para automatizar os testes de um projeto de um projeto de automação de testes.
rados, ambíguos ou inconsistentes. Não são maiores que o custo e o tempo do A testabilidade é um atributo que deter-
é possível automatizar o caos. próprio projeto de desenvolvimento (o mina a capacidade de uma aplicação ser
A rigor, o sucesso na implantação da que inviabilizaria a automação de 100% testada, ou seja, a facilidade de se testar
automação de testes depende do enten- dos testes manuais). uma aplicação está diretamente ligada
dimento de que a automação de testes ou A escolha dos testes automatizados ao nível de testabilidade incorporado
uma ferramenta de automação, por si só, candidatos, ou seja, os mais críticos, nesta aplicação.
não vão melhorar ou organizar os testes deve ser realizada com base no contexto Normalmente é necessário realizar
existentes. É necessário antes, fazer a “fa- do projeto de automação. No entanto, modificações na aplicação para torná-la
xina” e implantar um processo de testes apesar de não existir uma categorização mais fácil de testar. Essas modificações
formal. A necessidade de automatizar os amplamente difundida, a experiência têm o objetivo de incorporar um con-
testes virá naturalmente como resultado tem mostrado que os testes candidatos junto de mecanismos que facilitam a
da evolução da maturidade do processo são normalmente agrupados em quatro observação e o controle do estado dos
de testes. áreas distintas: componentes internos da aplicação. Adi-
• Smoke Tests: Um conjunto mínimo cionalmente, estes mecanismos expõem
Automatize os testes de testes é selecionado com o objetivo de ao mundo exterior as funcionalidades da
críticos primeiro validar um Build ou liberação antes do aplicação por meio de APIs, Interfaces de
Nove em cada dez projetos de automa- início de um ciclo de testes; Linha de Comando, Hooks, etc.
ção de testes cometem o erro de transfor- • Testes de Regressão: Os testes são Isto torna, por sua vez, a aplicação mui-
mar todos os casos de testes manuais em selecionados com o objetivo de executar to mais fácil de se testar, sob o ponto de
scripts de testes automatizados. O leitor o re-teste de uma funcionalidade ou da vista da automação de testes. O objetivo
deve estar se perguntando: Mas este não aplicação inteira; desses mecanismos (APIs, Interfaces de
seria o objetivo principal da automação • Funcionalidades Críticas: Os testes Linha de Comando, Hooks) é fornecer
de testes? – Sim e Não. são selecionados com o objetivo de interfaces para o mundo exterior que
A automação de testes tem o objetivo validar as funcionalidades críticas que não seja dependente da interface gráfica
de reduzir o envolvimento humano em podem trazer riscos ao negócio; da aplicação. Dessa forma, é possível
atividades manuais repetitivas. Entre- • Tarefas Repetitivas: Os testes são criar testes especializados para exercitar
tanto, isto não significa que a automação selecionados com o objetivo de reduzir algumas funcionalidades da aplicação
de testes deve se limitar apenas a fazer o envolvimento dos testadores em ativi- sem que seja necessário utilizar uma
o trabalho repetitivo e chato. Os casos dades manuais repetitivas e suscetíveis interface gráfica.
de testes manuais foram criados num a erros, tais como cálculos matemáticos,
contexto onde os testes seriam execu- simulações, processamentos, compara- As ferramentas de automação de
tados manualmente. É muito provável ções de arquivos ou dados, etc. testes também têm defeitos
que estes casos de testes manuais não A automação de testes é, em última ins-
sejam muito eficientes em um con- Incorpore testabilidade tância, a execução de um software para
texto onde os testes serão executados ao aplicativo testar outros softwares. Dessa forma,
automaticamente. Via de regra, os testes são automatiza- podemos afirmar que as ferramentas de
Freqüentemente, antes de iniciar a dos utilizando a aplicação do jeito que automação de testes sofrem dos mesmos
automação, os testes devem ser re-proje- ela é. Ou seja, os testes são criados sob o tipos de problemas que as aplicações
tados a fim de aumentar a probabilidade ponto de vista da interface gráfica e com convencionais, ou seja: defeitos. É muito
de revelar um defeito que ainda não o único objetivo de automatizar as ações comum ocorrerem atrasos em projetos
tenha sido encontrado. Afinal, o grande dos usuários finais. de automação em virtude de problemas
benefício da automação de testes não é No entanto, testar por meio da interface causados pela ferramenta de automação
a execução dos testes mais rápida e a gráfica nem sempre é a melhor opção de testes. Dentre os problemas mais
qualquer hora do dia ou da noite, mas o para testes que exigem desempenho. comuns, devemos destacar:
aumento da amplitude e profundidade Além disso, às vezes a interface gráfica • Manuais incompletos e ambíguos;
da cobertura dos testes. não fornece evidências de que o teste • Defeitos não reproduzíveis que ocor-
Na prática, a automação de 100% dos foi realizado com sucesso, afinal, nem rem aleatoriamente;
testes manuais nem sempre é a melhor sempre a mensagem “Essa operação foi • Vazamento de memória quando a
estratégia. A automação de testes é pou- realizada com sucesso” significa que a ferramenta é executada durante muitas
co eficaz quando os testes são complexos operação foi realizada com sucesso de horas;
e exigem interações intersistemas ou verdade. • Degradação do desempenho quando
pena de prejudicar ou impedir a execu- defeitos (bugtracker) para gerenciar estes comuns usadas pelas empresas fabri-
ção dos testes automatizados; defeitos; cantes das ferramentas de automação,
• Ambiente similar ao de produção: O • Os scripts de testes devem ser sub- devemos destacar:
ambiente onde os testes serão executados metidos a um processo de Gerência de • Desenvolva software de qualidade e
deve ser igual ou similar ao ambiente de Configuração de Software e controle de aumente a receita e a lucratividade da
produção, sob pena de encontrar falsos versões; sua empresa por meio da ferramenta de
positivos, ou seja, os testes são executa- • Durante o desenvolvimento dos testes automatizados XYZ;
dos com sucesso no ambiente de testes, scripts de testes, deve-se aplicar as • Crie testes sofisticados com treina-
mas as funcionalidades apresentam melhores práticas utilizadas em pro- mento mínimo;
defeitos em produção; jetos de desenvolvimento de software • Utilize o recurso XYZ para gravar os
• Massa de dados consistente: Os convencionais; scripts e elimine o tempo de codificação
dados utilizados nos testes devem ser • O Testador-Desenvolvedor deve ter o dos scripts;
conhecidos e representativos, além perfil e interesse em trabalhar com au- • Aumente a produtividade e dimi-
disso, devem ser armazenados numa tomação de testes, nem sempre um bom nua o tempo gasto em manutenção por
linha de base (baseline) a fim de per- testador ou analista de testes se tornará meio do compartilhamento de scripts e
mitir que sejam recuperados todas as um bom Testador-Desenvolvedor; bibliotecas;
vezes que os testes automatizados forem • Os recursos humanos que atuarão no • Identifique os problemas facilmente
executados. projeto de automação de testes devem por meio do recurso XYZ utilizado nos
ser treinados adequadamente. Quanto nossos relatórios;
Encare a automação de testes mais capacitados, maior será a probabi- • Utilize o recurso XYZ de reconheci-
como um projeto lidade de sucesso do projeto. mento automático de objetos e garanta
A automação de testes é uma combi- a execução dos testes mesmo quando a
nação entre teste e desenvolvimento de Alinhe as expectativas e garanta a interface gráfica tenha mudado.
software, afinal, a atividade de criação colaboração de todos os envolvidos
de scripts de teste é uma atividade de pro- Os projetos de automação de testes Em projetos de automação de testes, é
gramação pura. Dessa forma, podemos costumam fracassar porque as pessoas necessário o alinhamento das expectati-
afirmar que a automação de testes deve envolvidas têm percepções diferentes vas e a colaboração entre a alta gerência,
ser encarada como um projeto com ca- sobre os benefícios e as limitações de um desenvolvedores, arquitetos e testadores.
racterísticas próprias, ou seja, exige um projeto de tal natureza. É de suma importância explicar com
planejamento detalhado, assim como, Normalmente a alta gerência acredita detalhes os objetivos e o escopo de um
atividades de projeto, desenvolvimento que a automação de testes é a solução projeto de automação de testes e, acima
e testes, tal qual o desenvolvimento de de todos os problemas. Os arquitetos e de tudo, garantir que as expectativas
um software convencional. desenvolvedores desconhecem a necessi- de todas as partes interessadas sejam
Via de regra, a criação de testes auto- dade da criação de mecanismos para au- realistas. Dessa forma, conseguimos eli-
matizados é realizada por testadores mentar a testabilidade durante o projeto minar o folclore e os mitos criados pelas
especializados em desenvolvimento, e desenvolvimento da aplicação. estratégias de marketing usadas pelas
também conhecidos como Testador- O time de testes, por sua vez, costuma empresas fabricantes das ferramentas
Desenvolvedor ou Automatizador. Este acreditar que a automação dos testes de automação.
profissional deve ter o perfil de desen- é uma tarefa simples que não exige A estratégia recomendada para garan-
volvedor e ser treinado adequadamente capacitação e é resumida apenas pela tir o alinhamento das expectativas com
para utilizar a ferramenta de automação transformação dos testes manuais em relação aos benefícios e limitações de um
de testes. scripts de testes automatizados por meio de projeto de automação de testes deve
Com base no que foi exposto, a expe- dos recursos de gravação (recording) ofe- considerar as seguintes atividades:
riência tem mostrado que os seguintes recidos pelas ferramentas de automação • Demonstrar os benefícios, limitações
aspectos devem ser considerados em de testes. e restrições da ferramenta por meio de
projetos de automação de testes: Essas suposições errôneas são o re- uma prova de conceito;
• O projeto de automação deve ser sultado da falta de conhecimento dos • Planejar com detalhes a infra-estru-
encarado como um projeto com carac- benefícios e limitações de um projeto tura necessária para criar e executar os
terísticas próprias, ou seja, exige um de automação de testes. As campanhas testes automatizados para evitar proble-
planejamento detalhado, assim como, publicitárias das ferramentas de auto- mas de subdimensionamento;
atividades de projeto, desenvolvimento mação, por sua vez, pioram esse cenário • Envolver desenvolvedores e arqui-
e testes; em virtude de que vendem uma imagem tetos no projeto de automação de testes
• Os scripts de testes podem ter de- de que a automação de testes é a solução com o intuito de incorporar mecanis-
feitos, logo, recomenda-se a utiliza- de todos os problemas de qualidade. mos para aumentar a testabilidade da
ção de uma ferramenta de gestão de Dentre as artimanhas de marketing mais aplicação;
• Envolver os testadores para alinhar desenvolvimento custa cerca de $10, na A automação de testes é um investi-
as expectativas em relação aos objetivos fase de teste custa $100 e em produção mento com retorno garantido quando
e estratégia da automação de testes, custa $1.000, como pode ser visto na aplicada corretamente. No entanto, o
assim como, fomentar o treinamento e Tabela 1. retorno é de longo prazo, ou seja, não
a capacitação; No exemplo proposto por Rex Black, a existe retorno imediato.
• Envolver a alta gerência para alinhar abordagem utilizando testes automatiza- Conforme mencionamos anteriormen-
as expectativas em relação ao retorno de dos garante um retorno de investimento te, a automação dos testes deve começar
investimento, benefícios, limitações e de 445%. A mensagem é clara: a auto- a partir de uma prova de conceito e
restrições de um projeto de automação mação de testes paga o investimento. O gradualmente crescer até atingir maturi-
de testes. grande problema é quanto investimento dade por meio de um conjunto de scripts
é necessário e quando esse investimento robustos e estáveis que garantam uma
A automação de testes é um vai começar a dar retorno. cobertura de testes adequada.
investimento de longo prazo Você poderá notar que o exemplo de O caminho para a maturidade na auto-
A automação de testes, sem dúvida, é Rex Black considera apenas um inves- mação de testes é tortuoso e demorado. É
uma boa prática em um processo de teste timento de $12.500 para a compra da necessária muita persistência para atin-
de software. No entanto, a automação de ferramenta de automação de testes. Por gir a maturidade na automação de testes.
testes não é uma prática que se adota do outro lado, devemos lembrar que uma A melhor prática para aumentar as chan-
dia para a noite. Conforme mencionamos ferramenta é apenas o meio pelo qual ces de sucesso é evoluir iterativamente.
anteriormente, a necessidade de automa- implementamos a automação de testes, Dessa forma, os prejuízos advindos de
tizar os testes virá naturalmente como mas a automação de testes não se limita uma decisão errada numa iteração serão
resultado da evolução da maturidade apenas à utilização de uma ferramenta. baixos e administráveis.
do processo de testes. Como vimos anteriormente, a automa-
Apesar de todos os benefícios advindos ção de testes deve ser encarada como um O teste manual é insubstituível
da automação de testes, os investimen- projeto com características próprias, ou Segundo Cem Kaner, autor do livro
tos são altos. Rex Black, guru na área seja, exige um planejamento detalha- “Lessons Learned in Software Testing”,
de testes de software, no seu famoso do, assim como, atividades de projeto, o propósito da automação de testes
artigo chamado “Successful Investing in desenvolvimento e testes, tal qual o pode ser resumidamente descrito como
Software Testing” apresenta um cenário desenvolvimento de um software con- a aplicação de estratégias e ferramentas
hipotético com os custos requeridos vencional. Ou seja, o investimento em tendo em vista a redução do envolvi-
para realizar testes informais, manuais automação de testes não se limita apenas mento humano em atividades manuais
e automatizados e o retorno de investi- aos custos da ferramenta de automação repetitivas.
mento (ROI) obtido em cada uma dessas de testes. Devemos reconhecer que a automação
abordagens. Infelizmente, muitos projetos de au- de testes não deve ser empregada como
Neste artigo, Rex Black, parte da tomação de testes costumam fracassar um substituto do teste manual. Ela deve
premissa de que o custo para corri- porque a alta gerência costuma acreditar ser introduzida como uma técnica adi-
gir um defeito encontrado na fase de que o único investimento necessário cional cujo objetivo principal é agregar
valor, sem, no entanto, invalidar o teste a intuição, a criatividade e a experiência problemas imprevistos, assunções in-
manual existente. Afinal, testes manu- do testador são indispensáveis para ga- corretas, expectativas não alinhadas,
ais e automatizados são abordagens rantir a eficiência do teste. defeitos na ferramenta de automação,
de testes diferentes que se reforçam O grande benefício da utilização de falta de testabilidade na aplicação, pro-
mutuamente. testes exploratórios está ligado à sua blemas na infra-estrutura/ambiente,
Dessa forma, por meio da automação natureza empírica. Os testes automati- entre outros aspectos discutidos neste
dos testes, os testadores poderão reduzir zados repetem sempre os mesmos testes, artigo. O importante é aprender com os
o seu envolvimento em atividades ma- os mesmos caminhos, as mesmas opera- próprios erros e seguir em frente, afinal,
nuais repetitivas e focar em abordagens ções. Por meio dos testes exploratórios te- aqueles que não conseguem se lembrar
de testes complementares que exigem a mos a oportunidade de empiricamente e dos erros do passado estão condenados a
aplicação da intuição e julgamento. O iterativamente criar novos testes e seguir repetí-los (George Santayanna).
teste exploratório é uma estratégia de novos caminhos, que por sua vez, nos
testes complementar interessante uma leva a descoberta de novos defeitos.
vez que faz uso intensivo da intuição e
julgamento do testador. Conclusão Links
O teste exploratório é, na sua definição A automação de testes não deve ser
mais básica, a criação e a execução ao empregada como um substituto do teste Testes Exploratórios de A a Z
mesmo tempo de um teste. Quando se manual. Ela deve ser introduzida como http://www.linhadecodigo.com.br/Artigo.aspx?id=1102
realiza um teste exploratório, normal- uma técnica adicional cujo objetivo prin- Rex Black - Successful Investing in
mente o testador não tem informações cipal é agregar valor. O enfoque deve ser Software Testing
detalhadas sobre o que vai testar e como na melhoria do processo de testes utili- http://www.rexblackconsulting.com/publications/Investing
vai testar. O testador se baseia na sua zado na sua empresa. A necessidade de in Testing (Slides).pdf
experiência, assim como no conheci- automatizar os testes virá naturalmente
mento que ele vai adquirindo sobre o como resultado da evolução da maturi- Return on Investment Calculator for
aplicativo durante a execução do teste dade do processo de testes. Test Automation
exploratório. Finalmente, devemos lembrar que a http://www.elbrus.com/services/test_automation_roi_calc/
A partir dessa perspectiva, podemos automação de testes é um investimento
Automação e Gerenciamento de Testes:
afirmar que o teste exploratório é uma cujo retorno é de longo prazo. O cami-
Aumentando a Produtividade com as
atividade iterativa e empírica de ex- nho para a maturidade na automação de
Principais Soluções Open Source e Gratuitas
ploração que exige idas e vindas num testes é tortuoso e demorado.
http://www.linhadecodigo.com.br/EBook.aspx?id=2951
processo de investigação contínuo onde Nesta jornada, provavelmente surgirão
N
tica da utilização da IDE NetBeans para
o artigo da edição anterior da a modelagem de processos de negócio
Engenharia de Software Maga- utilizando o BPEL.
zine, foi discutido a respeito da
modelagem de processos de negócio com Para que serve?
a utilização da notação Business Process Orientar os desenvolvedores, através da
Modeling Notation (BPMn) [BPMN, 2006] conceituação de termos e da apresen-
e a orquestração em linguagens execu- tação de um exemplo prático, de como
táveis como Business Process Execution utilizar a IDE na modelagem de processos
Language (BPEL) [JURI, 2006] e Web Ser- de negócio.
vices for Business Process Design (XLANG)
[WfMC, 2005]. Além da introdução a Em que situação o tema é útil?
conceitos de BPM, foi descrito também O tema tem aplicação na prática para
André Luiz de Castro Leal o estado da arte da abordagem de mo- desenvolvedores que iniciam os estudos
andrecastr@gmail.com delagem de processos de negócio, os de BPM e que podem utilizar uma IDE
É mestrando e especialista em Ciência da Computa- estudos do Gartner Group [NATI, 2006] acessível no mercado para a modelagem e
ção pela Universidade Federal de Viçosa UFV,espe- com relação às expectativas e as “apos- execução dos processos de negócio.
cialista em Gestão das Tecnologias da Informação tas” dos principais players do mercado
pela Faculdade Machado Sobrinho, atua a mais de
14 anos no mercado de informática com projetos
com relação a essa abordagem.
de software e atualmente coordena a equipe de Nesse artigo, será apresentado um para-
desenvolvimento de sistemas computacionais do digma prático dos conceitos apresentados O NetBeans, desde sua versão 5.5, pas-
Grupo Mult unidade de Juiz de Fora. É também anteriormente e utilizada uma IDE ampla- sou a incorporar ferramentas necessárias
professor de disciplinas de Gerência de Projetos e mente difundida no mercado, de fácil aces- para escrever, testar e depurar aplicati-
Banco de Dados da Faculdade Estácio de Sá-JF.
Áreas de Interesse: Engenharia de Software, Qua-
so a todos os desenvolvedores e empresas vos de arquitetura orientada a serviços
lidade de Software, Processos de Desenvolvimen- de pequeno e médio porte para que iniciem (SOA), dinamizando o desenvolvimento
to de Software e SOA. seus estudos a respeito de BPM. e aprimorando a produtividade dos
Elemento Conceito
Service Web Definition Language. Fornece um modelo em formato XML para descrição de serviços Web que possibilita uma separação
WSDL da descrição das funcionalidades abstratas, oferecidas por um serviço, dos detalhes concretos, que descrevem um serviço, como “onde” e “como” as
funcionalidades são oferecidas [WSDL 2003]. Dessa forma, permite uma linguagem padrão para a interação entre diferentes aplicativos.
São componentes padronizados de parte de um aplicativo que são utilizados para a integração entre sistemas computacionais distintos. Dessa forma,
Web Services os aplicativos interagem a partir de troca de mensagens em um formato padrão em XML. O principal objetivo da arquitetura WebServices é
conectar aplicações desenvolvidas em diferentes plataformas através de um canal único e padronizado de comunicação.
Process
É o processo principal que está modelado ou será executado, onde estão todas as relações dos elementos participantes do negócio. Atividades, regras,
parceiros e iterações estão centralizados e serão executados em único fluxo. O processo será iniciado com um evento definido como Process Start,
e será finalizado com um evento Process End.
Roles São papéis que alguns elementos desempenham como participantes do processo.
Partners ou
São elementos externos ao processo que através de papéis e regras interagem com o processo principal.
Partner Player
Partner Link
Os Partner Links descrevem a interação entre o processo BPEL e Web Services externos. Nele devem estar descritos os principais papéis de cada
Partner Player para que possam interagir através de troca de mensagens.
Utilizado para criar uma associação entre dois papéis e indicar o que cada papel deve implementar. Dessa forma, o Partner Link Type define as
Partner Link Type
interações entre os diferentes papéis dos Partners no processo.
Sequence
É a ordenação da execução das atividades do processo, as atividades são seqüenciadas e executadas de acordo com a ordem que aparecem no
diagrama. As atividades são finalizadas quando a última atividade seqüenciada for completada. Podem ser adicionadas e seqüenciadas em um
container de Sequence tantas atividades quanto forem necessárias.
Pick
O bloco de elemento Pick é utilizado quando se faz necessário esperar pela execução de um determinado evento. Assim, o bloco só é executado
após um evento específico ocorrer. O Pick possui duas ações: OnMessage e OnAlarm. OnMessage será utilizado para configurar o tipo
de mensagem que é aguardado de um determinado Partner. OnAlarm é configurado com um timer indicando quando tempo o processo irá
esperar um determinado evento.
Invoke
Utilizado para invocar atividades entre o processo BPEL e um serviço do Partner. Esse serviço é invocado e trafegado por um endereço (porta)
definido pelo Partner. Dessa forma, o Invoke permite a troca de mensagens entre o processo BPEL e os Partners envolvidos no processo.
Receive
É utilizada para aguardar a chegada de uma mensagem de um determinado Partner. Enquanto a mensagem não é encaminhada pelo Partner, o
processo entra em estado de espera e fica impedido de continuar ou ser finalizado.
Reply
Utilizado pelo processo para responder uma mensagem ao serviço de um Partner, que tenha enviado uma mensagem anterior (Receive) para
uma comunicação.
Assing
Atribui valores às variáveis do processo. É também utilizado para copiar o conteúdo de uma variável para outra e para calcular expressões.
If .. elseif
São estruturas condicionais que podem ser utilizadas, por exemplo, para a execução de uma determinada atividade caso uma determinada condição
seja satisfeita.
projeto a partir de elementos do modelo Principais Elementos do projeto de No processo principal, serão inseridas as
BPEL. A Figura 1 apresenta a paleta de Registro de Reserva de Viagem diversas ferramentas como: de comunica-
ferramentas disponibilizadas pela IDE Para começar a entender o projeto ção, de condição, para invocar o processo,
NetBeans. Caso a paleta de ferramentas BPEL do registro de reserva de viagens para receber mensagens, para dar respos-
não esteja disponível no projeto aberto, é necessário rever do que se trata esse tas a mensagens recebidas, entre outras.
ela poderá ser acessada a partir do menu projeto. O projeto é o modelo de um pro- O modelo, portanto, deve conter todos os
Window no sub-menu Palette, que poderá cesso de registro de reserva de viagens elementos para que a comunicação entre
também ser acessada a partir da tecla de efetuado por um cliente qualquer. Nesse os Partners e o processo principal aconteça
atalho Ctrl + Shift + 8. processo estão envolvidas atividades do e o processo possa ser executado.
tipo fazer a reserva do hotel, da compa- Com o projeto aberto é possível encon-
Disponibilizando o Projeto de nhia aérea e do veículo. trar e abrir o modelo BPEL principal,
Exemplo
O NetBeans traz, em um dos seus exem-
plos, o projeto do registro de reserva de
viagens implementado e disponível para
obtermos as primeiras orientações sobre
a modelagem na IDE.
Para disponibilizar o projeto, basta
seguir os passos descritos adiante:
1) A criação de um novo projeto.
Com o NetBeans aberto, deve-se clicar
no menu File e após essa ação clicar em
New Project. A IDE irá abrir a janela
apresentada na Figura 2.
2) Escolhendo o projeto de registro de
reserva de viagem.
Após a janela aberta, o desenvolvedor
deverá clicar no item do Menu tree view
referente a exemplos do NetBeans. Em
seguida deve escolher o item SOA. O
projeto de registro de reserva de viagem
irá estar disponível e pronto para ser
Figura 4. Parametrizações iniciais do projeto.
aberto. A Figura 3 apresenta a seqüência
de opções até o projeto.
3) Parametrizando o projeto.
Após clicar no botão Next da janela
anterior, o NetBeans irá fornecer uma
tela para a parametrização do nome do
projeto e a localização da pasta local
onde serão criados os arquivos daquele
projeto. As parametrizações podem ser
informadas conforme apresentado na
Figura 4. A pasta local deverá conter uma
pasta física do ambiente do computador
do desenvolvedor. Feitas as devidas con-
figurações iniciais, o projeto estará pronto
para ser aberto bastando, para isso, que o
desenvolver clique no botão Finish.
4) O projeto aberto.
O NetBeans irá disponibilizar o projeto
e todas as suas pastas e arquivos devida-
mente abertos para se iniciar a edição, al-
teração, execução ou qualquer ação neces-
sária. Dessa forma, o projeto irá se iniciar
conforme apresentado na Figura 5. Figura 5. Apresentação de pastas e objetos disponíveis no projeto.
Figura 8. Partner
Link: Travel.
Figura 9. Partner Link: Airline. Figura 10. Partner Link: Vehicle. Figura 11. Partner Link: Hotel.
Figura 15. Retorno de resposta do Partner Link Travel. Figura 16. Fluxo de recebimento de mensagem e retorno pelo Partner Link Airline.
Figura 17. Comunicação entre Airline e elemento Pick do Figura 18. Menu de execução do projeto.
processo principal.
Referências
[BPMN, 2006]
Business Process Modeling Notation Specification
(2006). OMG Final Adopted Specification. February.
A Figura 17 apresenta a transação entre A execução do modelo poderá ser feita
o Partner Link Airline e o elemento Pick através do acionamento do menu sobre [JURI, 2006]
disposto no processo principal. o item selecionado no projeto, conforme JURIC, M. B. (2006) Business Process Execution
Após efetuado o Reply para o ele- exibido na Figura 18. Language for Web Services BPEL and BPEL4WS. 2nd
mento Travel, o processo principal será Edition. 372p. Packt Publishing Ltd.
encerrado. Considerações Finais
O artigo trata de uma explicação a [MAY, 2008]
Execução do Modelo respeito dos principais elementos envol- MAY, B. (2008). Understanding the Travel Reservation
A exec ução do modelo irá fa zer vidos no processo de registro de reserva Service, Maio 2008. Disponível em: http://www.
com que o processo principal faça a de viagem. Seu objetivo foi esclarecer netbeans.org/features/soa/index.html. Consultado em:
comunicação entre Partner Travel com alguns conceitos utilizados na tecnolo- 23/08/2008.
os diferentes parceiros representados gia de modelagem em BPEL e utilizar
pelos Partners Airline, Vehicle e Hotel. Ou a IDE NetBeans para exemplificar esses [NATI, 2006]
seja, independente da arquitetura de conceitos. NATIS, Y. (2006). Predicts 2007: SOA Advances. EUA:
sistemas em que os parceiros externos Pelo objetivo do artigo e pela limitação Gartner, id: G00144445, Novembro.
ao processo estejam construídos, todos de espaço desse meio de divulgação fo-
[WfMC, 2005]
terão disponíveis mensagens em um ram deixados de lado muitos elementos
Process Definition Interface - XML Process
padrão único de comunicação. Dessa e conceitos. Mas a partir das explanações
Definition Language (2005). Workflow Management
forma, a execução do modelo BPEL apresentadas, o desenvolvedor poderá
Coalition Workflow Standard. October.
permitirá uma interoperabilidade fa- iniciar a exploração da IDE NetBeans de
zendo com que diferentes plataformas forma mais rápida e avançar nos estu- [WSDL, 2003]
se comuniquem, disponibilizando para dos dos conceitos de outros elementos Web Service Description Language (2003), http://www.
ambos os lados um padrão de mensa- que não estão sendo utilizados nesse w3.org/TR /2003/WD-wsdl12-20030303, Outubro 2003.
gens em XML. exemplo.
T
Atua há 17 anos no gerenciamento de processos
ente imaginar uma empresa estrutura gigantesca de profissionais,
voltados à Qualidade e Engenharia de Software.
Pós-Graduado em Capacitação Gerencial pela atuando em qualquer segmento tornando a troca de informações um pro-
FEA-USP e em Gestão Empresarial pelo Instituto de mercado, gerenciando o atual cesso lento e altamente sujeito a falhas,
Trevisan. É Bacharel em Administração de Empre- patamar de qualidade e complexidade resultando numa organização ineficiente
sas pela Fundação Santo André. Diretor de Ino- exigidas pelos clientes, sem recorrer a e com alto nível de re-trabalho.
vação da ALATS (Associação Latino-Americana
nenhum tipo de estrutura computacio- Apesar da evidente relevância da área
de Teste de Software) e Engenheiro de Software
responsável pelo Framework X-Zone. Autor do nal disponibilizada pela área de TI. de TI neste novo contexto econômico,
Livro Garantia da Qualidade de Software. Esta empresa ir ia requerer uma existe um permanente descontentamento
da organização em relação ao nível de As indústrias perceberam que as estabelecer um maior equilíbrio entre
serviço prestado pela TI. Por mais avan- empresas mais lucrativas não eram Negócios e TI.
ços tecnológicos e conquistas alcançadas, as que mais produziam, mas aquelas É objetivo deste artigo demonstrar
parece que nunca conseguimos atingir que inovavam suas formas de gestão como o modelo de Gestão de Serviços
o patamar de produtividade desejado operacional, estabelecendo uma relação Operacionais enquadra-se perfeitamen-
pelos executivos. mais equilibrada entre o mercado e suas te não apenas na dinâmica de serviços
Na verdade, algo muito semelhante áreas operacionais, produzindo apenas da TI, mas em todas as demais áreas
ocorreu no início do século XX, quando o necessário. operacionais da organização.
a mão de obra profissional começou a ser Foi a partir dos anos 50, com o co-
substituída por máquinas automatiza- lapso da gestão industrial, que vários Transformando a TI
das. A linha de montagem idealizada por modelos foram criados para suportar numa Fábrica de Serviços
Henry Ford organizou a cadeia produti- uma nova dinâmica industrial voltada Nossa tendência é acreditar que o au-
va em mini-etapas de simples realização, integralmente à rentabilidade e efici- mento da produtividade gerado pelas
que foi gradativamente substituída por ência corporativa: Kanban, Just-In- evoluções tecnológicas derrubaria os
uma máquina especializada. Time, TOC (Teoria das Restrições), ABC custos de produção, quando na verda-
Apesar da infra-estrutura de produção (Custos baseado em Atividades), TQM de, estes se tornaram cada vez maiores.
automatizada ser muito mais cara e com- (Gerenciamento da Qualidade Total) Na verdade, os custos operacionais
plexa, o nível de produtividade, veloci- entre outros modelos, todos criados aumentam em função da demanda do
dade e precisão deste novo modelo era para otimizar toda a cadeia produtiva. mercado por produtos e serviços mais
incomparável. Mesmo assim, a área de Apesar de existirem a décadas, estes especializados e inovadores, forçando
produção era constantemente massacra- modelos ainda são a base das modernas sua rápida obsolescência.
da pela organização, exigindo níveis de formas de gestão industrial empregadas Este comportamento pode ser observa-
produção cada vez maiores, exatamente atualmente. do nos mais variados setores da econo-
para justificar os altos investimentos Esta experiência ensinou às organiza- mia - na indústria (com a produção de
realizados. Fatores como falta de quali- ções industriais a aceitarem com mais carros, aviões e navios), na agricultura
dade, re-trabalho, eficiência operacional naturalidade os altos investimentos em e pecuária (produção de soja, milho
eram ignorados pelos executivos, pois o infra-estrutura para ampliar e flexibili- e gado), na medicina (procedimentos
que interessava eram apenas os sucessi- zar sua capacidade de produção, valori- cirúrgicos, exames e diagnósticos) ou
vos recordes de produção. zando o modelo de gestão operacional na engenharia (civil, aeroespacial e mi-
O resultado desta pressão desenfreada como estratégia fundamental para maxi- litar). Os custos operacionais de um setor
por “produção sem controle” foi o cres- mizar a rentabilidade organizacional. sempre serão maiores que no passado
cente aumento do estoque nas indústrias, Como podemos observar, este fenôme- e tendem a tornarem-se ainda maiores
mesmo quando estes não eram encomen- no repete-se novamente, agora focado com o passar dos anos.
dados, gerando uma grave crise de ren- diretamente na área de TI. Assim como O mesmo acontece com os custos
tabilidade organizacional. Com excesso a área de produção no passado, nossos operacionais da TI, onde manter os
de produtos em estoque, foi necessário custos operacionais foram aumentando processos corporativos e agregar novas
baixar os preços para acelerar as vendas ano após ano e a pressão por produtivi- funcionalidades sem interromper as
e recuperar parte dos investimentos. En- dade é cada vez maior. transações comerciais já estabelecidas,
quanto isso, outros produtos que estavam Da mesma forma que no passado, a exige uma maior infra-estrutura de
sendo efetivamente solicitados pelo mer- área de TI deverá estabelecer um novo profissionais, ferramentas e processos
cado não podiam ser produzidos por falta modelo de gestão operacional, nos mes- de gerenciamento.
de matéria-prima específica ou indisponi- mos moldes realizados pela área de pro- Na Figura 1, podemos ver que à medi-
bilidade de recursos e máquinas. dução no passado, de forma a conseguir da que os projetos de TI tornam-se mais
complexos, existe uma demanda por
novos tipos de controles operacionais,
que exigem da TI uma nova gama de
Projeto
B
conhecimento e técnicas a serem incor-
Projeto
poradas nos futuros projetos.
Projeto Projeto
A
A C
2
Verba 3
Vendas Solicitação 4
4 Projetos Projeto
5 Inovação
Pagamento
4 Projetos
Término
Semestre #1 $ 60.000,00 $ 20.000,00 $ 18.000,00 $ 25.000,00 - $ 5.000,00
impacto nos resultados corporativos. vigência anual (Manutenção de Equipa- incluindo todas as modificações tec-
Todas as organizações que desejam mentos, Monitoração de Redes, Suporte nológicas, reestruturação de sistemas,
alcançar maior agilidade e controle Técnico e Problemas de Produção). Seu incorporação de novas técnicas, inserção
operacional deveriam escolher modelos objetivo será englobar custos perma- de novos procedimentos de controle
de relacionamento mais equilibrados e nentes e cobrar anualmente por estes operacional, adequações metodológi-
voltados à inovação, de forma a garantir serviços prestados, sendo o valor a ser cas, auditorias internas, treinamento e
o melhor desempenho e qualidade nos pago ajustado diretamente pelas os- capacitação profissional, entre outras
serviços disponibilizados. Com isto, cilações de indicadores como nível de demandas.
torna-se necessário institucionalizar disponibilidade dos serviços e volume No modelo tradicional, os projetos
a relação Cliente-Fornecedor entre as de transações. de inovação da TI são negociados e
áreas de Negócios e TI, de forma a ge- Para os custos eventuais (Homologa- priorizados em conjunto com as demais
renciarmos a área de TI como se fosse ção de Produtos e Novos Clientes), os demandas da organização, concorrendo
uma empresa independente. projetos devem ser negociados conforme com projetos das áreas de negócio, que
Com a possibilidade de cobrar pelos a natureza e complexidade do serviço, são claramente mais importantes que as
serviços prestados às áreas de negócio, sempre cobrando da área de negócio o necessidades da TI, sobrando pouco para
a TI tem a oportunidade de atuar como serviço prestado. discutir sobre o aperfeiçoamento da TI.
um centro de lucros, possibilitando até No modelo proposto, o Plano de Ino-
gerar um superávit e financiar seus Evolução do Legado vação da TI será financiado tanto pela
próprios projetos de inovação, sem de- Trata-se de todos os custos de TI vol- organização, que prevê um volume de
pender da disponibilidade financeira da tados única e exclusivamente para mo- investimentos para inovações, quanto
organização. dificar ou ampliar as funcionalidades pelo superávit operacional da TI, pos-
Como podemos observar na Figura dos sistemas legados, incluindo todo e sibilitando que a mesma fique compro-
9, existem três tipos diferenciados de qualquer tipo de modificação de layout, metida com o aumento da produtividade
serviços que deverão ser contabilizados inserção de novos campos e consistên- e melhorias, incorporando apenas os
e controlados de forma independente cias de negócios, novas telas e transa- custos realmente necessários.
dentro da TI. ções comerciais, ajustes tributários ou Com o superávit operacional, a TI po-
financeiros provenientes de adequações derá promover e elaborar programas de
Manutenção do Legado legais, correção de “bugs”, confecção de incentivos financeiros totalmente apar-
Trata-se do somatório de todos os cus- relatórios, automação de processos, entre tados das demais áreas corporativas,
tos de TI voltados única e exclusivamen- outras solicitações. criando metas e políticas de incentivo
te para manter a estrutura tecnológica Normalmente, a área de Negócios próprias à sua realidade, reforçando o
em funcionamento, incluindo todas as preocupa-se apenas com estes tipos nível de autonomia e responsabilidade
atividades relacionadas à monitoração de projetos, pois entendem que estes financeira dado a profissionais e execu-
dos ambientes de produção, manutenção irão agregar melhorias e inovações aos tivos da TI.
corretiva e preventiva dos sistemas de produtos e serviços oferecidos pela orga-
comunicação e infra-estrutura, apoio nização, gerando mais oportunidades de Impacto da Gestão de Serviços nas
tecnológico a clientes e fornecedores vendas e comercialização dos mesmos. Áreas Operacionais
que compartilham o sistema de infor- Inconscientemente, a área de Negócios A Gestão de Serviços Operacionais
mações da empresa, homologação de acredita que toda estrutura de TI está é uma modalidade de gestão baseada
novos produtos e serviços de clientes focada exclusivamente para atender este no desempenho financeiro das áreas
que desejam ser incorporados ao atual tipo de demanda. operacionais, possibilitando equilibrar
sistema legado. A área de Negócios negligencia os automaticamente os recursos empre-
A principal característica do custo de projetos de Manutenção do Legado, pois sariais de acordo com a alocação dinâ-
manutenção do legado é ser acumulati- acredita que seja uma obrigação da TI mica financeira gerada pelas trocas de
vo. À medida que a empresa cresce, toda manter esta estrutura em perfeito fun- serviços.
a estrutura legada suportada pela TI cionamento, mesmo que o sistema lega- Este conceito é uma adaptação do
aumenta com os anos. Muitas empresas do exista exclusivamente para viabilizar modelo de custeio por atividades
ainda são oneradas por terem que manter as transações comerciais que beneficiam (Custo ABC) aplicada nas industriais
estruturas antiquadas de processamento diretamente a área de negócios. e uma evolução do modelo de Gestão
(mainframe) e tecnologias ultrapassadas de Centros de Custos, para o de Gestão
(Unix, OS-2, DOS), ampliando mais os Inovação da TI de Centros de Lucros. Neste modelo,
custos do legado. Trata-se de todos os custos de TI volta- evitamos a aplicação do rateio e transfor-
A melhor forma de lembrar a área de dos única e exclusivamente para renovar marmos as áreas em centros financeiros
Negócios da existência deste custo re- as técnicas, processos e tecnologias a independentes, podendo gerar lucro ou
corrente é estabelecer alguns projetos de serem empregadas nos futuros projetos, prejuízo.
www.devmedia.com.br/renovacao
Para mais informações:
www.devmedia.com.br/central