Escolar Documentos
Profissional Documentos
Cultura Documentos
Dissertao apresentada ao
Programa de Ps-Graduao em
Engenharia de Produo da
Universidade Federal de Santa Catarina
como requisito parcial para obteno
do grau de Mestre em
Engenharia de Produo
Florianpolis
2002
Cristina Bona
BANCA EXAMINADORA
_______________________________
Prof. Marcello Thiry C. da Costa, Dr.
Universidade do Vale do Itaja
Orientador
________________________________ ________________________________
Prof. Alejandro Martins Rodriguez, Dr. Prof. Vincius Medina Kern, Dr.
Universidade Federal de Santa Catarina Universidade Federal de Santa Catarina
Aos meus pais, Fedele e Luiza
pelo carinho constante.
Aos meus irmos Ione, Marcos e Daiane.
Agradecimentos
Lista de Tabelas....................................................................................11
Resumo..................................................................................................12
Abstract .................................................................................................13
1 INTRODUO....................................................................................14
4 ICONIX................................................................................................60
6.6 Questionrio..................................................................................109
7 CONCLUSO ...................................................................................115
This work intends to offer, by means of practical examples and graphic notations,
a document guide to lead the choice in organizations of the proper methodology for
its software projects. One of the main researchers' efforts involved with the Software
Engineering has been to present and to abstract models that describe software
processes. These models allow the understanding about the development process
inside a well-known paradigm. The existence of a model is pointed as one of the first
steps in direction to the management and to the improvement of the software
process. In the last few years, a new faction of the Software Engineering community
is defending the necessity of simpler processes, also known as agile processes,
which focus on the people that compose the process and, mostly, on the
programmer. This work introduces the application and evaluation of two processes.
The first one to be discussed is the Extreme Programming (XP), one of the more
known among the agile processes. XP goes against a set of premises adopted by
more traditional development methods. The second process to be presented and to
be discussed is ICONIX, which is defined as a practical process that uses the UML
notation. After the presentation of the two processes, it is presented a practical
application of each process where their positive and negative aspects are pointed
out. A comparative study between the two models is also elaborated, where are
examined the resources from both processes. In this way, the work concludes how to
determine which aspects should be inherent to a software process that guarantees
productivity and quality.
1 INTRODUO
1.1 Contextualizao
Validar a aplicao;
2 PROCESSO DE SOFTWARE
2.1 Introduo
Em meados dos anos 70, Schwartz (1975) j apontava como fases principais do
processo de produo de um sistema de software:
Especificao
Projeto
Implementao
1
Instrues do computador escritas pelo programador em linguagem simblica.
22
Validao
Evoluo e Manuteno
Nesta fase, o software em geral entra em um ciclo iterativo que abrange todas
as fases anteriores.
O Processo de Software pode ser visto como um gerador de produtos, sendo que
o produto final, ou principal, o Software em si. importante perceber que existem
subprodutos que so gerados para cada fase. Como exemplo, ao final da fase de
Especificao, comum ter sido desenvolvido e entregue um ou mais documentos
que detalham os requisitos do sistema. Estes subprodutos tambm so chamados
na literatura de deliverables ou artefatos.
A seo 2.5, por sua vez, descreve algumas metodologias, que so formas
prticas de organizar o processo de desenvolvimento. Uma metodologia traz
conceitos bastante especficos em relao ao desenvolvimento, como exemplifica
Beck (2000) em sua descrio da metodologia Extreme Programming (XP):
programao em pares, ciclos pequenos e equipes com at 10 programadores.
Especificao
Projeto
Codificao
Teste e integrao
Manuteno
Apesar das suas limitaes, o modelo em cascata foi base para o surgimento
de diferentes modelos de ciclo de vida.
Determinar Anlise de
objetivos risco
Desenvolvimento
Planejamento
do produto
prxima iterao
Por sua vez, o prottipo pode servir como um "primeiro sistema". Neste sentido,
Pascoal (2001) destaca que alguns problemas podem surgir quando o cliente
27
visualiza o que parece ser uma verso do software, sem perceber que na realidade,
no foram considerados aspectos de qualidade e de manuteno. Quando
informado de que o produto deve ser reconstrudo, o cliente "implora" para que no
mude. Outro problema, o desenvolvedor assumir um compromisso de
implementao para obter um prottipo funcional rapidamente. Ento, um sistema
operacional ou linguagem de programao inadequados podem ser usados
simplesmente porque esto disponveis e so conhecidos.
Incio
Coleta e
Fim refinamento
dos requisitos
Engenharia Projeto
do produto rpido
Refinamento Construo
do prottipo do prottipo
Avaliao do
prottipo
pelo cliente
Anlise
Planejamento Requisitos
Inicial
Projeto
Avaliao Entrega
Teste
Desta forma, Silva & Videira (2001) definem que O princpio subjacente ao
modelo iterativo e incremental que a equipe envolvida possa refinar e alargar
pouco-a-pouco a qualidade, detalhe e mbito do sistema envolvido.
Neste sentido, a equipe seleciona o que deve ser feito em cada iterao baseada
em dois fatores. Primeiro, a iterao deve trabalhar com um grupo de casos de uso
que juntos estendam a usabilidade do produto em desenvolvimento. Segundo, a
iterao deve tratar os riscos mais importantes (MARTINS, 1999).
Modelagem
de negcios
Requisitos
Anlise e
Projeto
Implementao
Teste
2
Um build uma pr-verso do sistema que atende um conjunto de requisitos funcionais.
30
2.5.2 SCRUM
3
A palavra Scrum vem do nome de uma ttica utilizada em rugby, onde um grupo de jogadores
precisa trabalhar em equipe para recuperar uma bola perdida.
33
Neste sentido, Fowler (2001) destaca que o ponto estabilizar os requisitos durante
o sprint.
Ainda de acordo com Fowler (2001), todo dia, feita uma reunio de 15 minutos
onde o time expe gerncia o que ser feito no prximo dia, e nestas reunies os
gerentes podem levantar os fatores de impedimento (bottlenecks), alm de avaliar o
progresso geral do desenvolvimento. SCRUM interessante porque fornece um
mecanismo de informao de status que atualizado continuamente, e porque
utiliza a diviso de tarefas dentro da equipe de forma explcita.
Desenvolver
Planejamento e Fechamento
Ajustar Rever
Arquitetura do
Sistema
Sprints
2.5.3 Crystal/Clear
Fowler (2001) enfatiza que Crystal compartilha uma orientao humana com XP,
mas no segue um processo disciplinado. Embora Crystal seja menos produtivo que
XP, mais pessoas podero seguir esta metodologia.
Neste contexto, vem tona o destaque da literatura nos requisitos, sejam eles
documentados em cartes de histrias (segundo a abordagem do XP) ou
documentados atravs da anlise de requisitos diretamente associada aos casos de
uso (segundo a abordagem ICONIX). Na seo seguinte abordado o processo XP
e na seo subseqente o processo ICONIX.
37
3.1 Introduo
A metodologia XP foi criada por Kent Beck, que no incio dos anos 1990 pensava
sobre caminhos melhores para desenvolver software. Em maro de 1996 Kent
comeou um projeto na Daimler Chrysler usando novos conceitos em
desenvolvimento de software. O resultado era a metodologia XP (WEELS, 2002).
acreditar nas prticas que trabalham tanto com as aptides, a curto prazo, dos
programadores, quanto os interesses, a longo prazo, do projeto.
time a ver onde eles esto e a convergir para prticas em uma soluo nica
(JEFFRIES, 2001).
Coragem: Este valor somente tem peso se estiver combinado com os trs
primeiros valores (BECK, 2000). preciso coragem para apontar um
problema no projeto, pedir ajuda quando necessrio, simplificar cdigo que
est funcionando, expor para o cliente que o prazo estimado para
implementar determinado requisito no suficiente, fazer alteraes no
processo de desenvolvimento. Ou seja, fazer a coisa certa mesmo que no
parea o mais correto naquele momento.
Nas prximas sees, cada prtica ser delineada e, examinada a conexo entre
elas, que permite que as fraquezas de uma prtica sejam superadas pelas foras de
outras prticas (BECK, 2000).
Carto de Tarefa
Data: ___/___/______
Nmero da Histria: __________ Autor do Software: _________ Estimativa da Tarefa: ________
Descrio da Tarefa:
Notas do Autor do Software:
Acompanhamento da Tarefa:
Data Realizado Para Realizar Comentrio
Jeffries (2001) argumenta que pode parecer impossvel criar boas verses nesta
freqncia, mas times XP por toda parte esto fazendo isso. Pode-se ver mais
adiante em Integrao Contnua, que verses freqentes so mantidas confiveis
com teste obsessivos do XP, como descrito na seo Teste.
3.3.3 Metfora
Beck (2000) enfatiza que o projeto certo para um software em qualquer tempo
aquele que:
Projeto em XP no algo que possa ser realizado uma nica vez. necessrio
ser feito o tempo todo. Pois, existem passos do projeto feitos na verso de
planejamento e na iterao de planejamento, e cada vez mais, o time toma parte
nestas sesses e na reviso rpida do projeto por refactoring. Em processos
incrementais e iterativos, como Extreme Programming, um bom projeto
indispensvel. por isso que existe tanto enfoque em projeto ao longo do curso de
todo o desenvolvimento (JEFFRIES, 2001).
Wells (2002) aborda tambm que um projeto simples sempre requer menos
tempo para terminar que um complexo. Desta forma, o objetivo fazer um projeto
mais simples, mas suficiente para se trabalhar. Isto parece coerente uma vez que
mais rpido e mais barato substituir um cdigo complexo durante o desenvolvimento
do que desperdiar muito mais tempo no futuro.
3.3.5 Teste
Fowler & Foemmel (2000) destacam que os testes de unidade escritos pelos
programadores tm por finalidade testar uma classe individual ou um grupo de
classes. J os testes funcionais (tambm chamados de testes de aceitao) escritos
pelo cliente tm por finalidade testar o sistema de ponta-a-ponta. importante
ressaltar que os testes so escritos antes do cdigo ser construdo.
3.3.6 Refactoring
Ainda de acordo com Wuestefeld (2001), deve-se fazer refactoring onde for
possvel e sempre que possvel. Reescrever o cdigo atual, parte por parte, fazendo
com que ele fique cada vez mais manutenvel. Os testes de unidade oferecem
segurana para o que o que j estava funcionando continue funcionando.
melhor. Pode parecer ineficiente ter dois programadores fazendo o trabalho de um,
mas Williams (2001) ressalta que o contrrio verdadeiro. Pesquisas mostram que o
cdigo produzido por dois programadores melhor e a velocidade da produo
quase equivalente ao trabalho realizado por um programador isolado (WILLIAMS,
2000). A figura 11 mostra a comparao do tempo de concluso de projetos
realizados por pares de programadores e por programadores individuais.
Individual Par
100
80
60
40
20
0
Programa 1 Programa 2 Programa 3
importante observar que existem dois papis em cada par. O parceiro que est
com o teclado e o mouse, pensa na melhor forma de implementar o mtodo
corrente. Enquanto que, o outro parceiro pensa mais estrategicamente em: se
aquela abordagem ir funcionar, se existe algum teste que ainda no foi trabalhado
e se existe alguma forma que possa simplificar o sistema corrente para que
problema desaparea (BECK, 2000).
Segundo Beck (2000) o time XP, como um todo, responsvel por cada
programa de cdigo. No necessrio pedir autorizao para alterar qualquer
programa. Entretanto, isso somente possvel com os testes de unidade bem
elaborados, permitindo segurana aos programadores que trabalham no cdigo.
Alm disso, a propriedade coletiva tambm tende a espalhar conhecimento de todo
o sistema para o time.
No produtivo fazer horas extras por perodos maiores que uma semana. Como
tambm no produtivo passar a noite acordado e trabalhar no dia seguinte.
Um cliente real precisa sentar com o time, deve estar sempre disponvel, no
somente para auxiliar, mas para fazer parte da equipe. Beck (2000) define por
cliente real, aquele cliente que realmente ir utilizar o sistema quando ele estiver
em produo. O objetivo desta regra ter o usurio real do sistema, de preferncia
junto com o desenvolvimento. O cliente muito valioso para o time.
3.4.1 Explorao
3.4.2 Planejamento
Wake (2002), apresenta alguns passos, que tambm podem ser visualizados na
figura 12, para auxiliar a fase de release no jogo de planejamento:
3.4.4 Produo
De acordo com Beck (2000), existem alguns processos para avaliar se o software
realmente est pronto para entrar em produo. Pode-se implementar novos testes
56
para provar se o sistema est estvel o suficiente para entrar em produo. Testes
so freqentemente aplicados nesta fase.
3.4.5 Manuteno
Nesta fase, pode-se tentar fazer refactorings maiores, os quais, nas verses
anteriores, causaram certo receio. Pode-se testar novas tecnologias que se pretende
incorporar nas prximas verses, ou migrar a tecnologia que est em uso para
verses mais atualizadas. O cliente pode escrever novas histrias que tragam para o
seu negcio grandes conquistas.
Beck (2000) considera que Morrer bem to importante quanto viver bem. Isto
uma verdade para o XP como para as pessoas.
Toda a equipe que trabalhou no sistema deve ser reunida para reavaliao.
Aproveite a oportunidade de analisar o que pode ter causado queda no sistema e o
que fez o projeto avanar. Assim, o time saber melhor o que fazer no futuro, o time
executar tarefas de formas diferentes da prxima vez.
trabalhar em par;
4
A traduo literal seria batedor ou aquele que segue uma trilha, mas no contexto deste trabalho
se optou por usar supervisor.
59
buscar recursos.
Nesta seo foi apresentado o XP, que um processo orientado por princpios e
prticas que guiam um projeto e sua equipe de desenvolvimento. O projeto deve ser
gil, incremental e aperfeioado com refactoring. Desta forma, o XP defende que
no se deve criar um grande volume de documentos ou diagramas que podem ficar
desatualizados. Uma vez que, o objetivo ganhar tempo para ir mais rpido. Astels
(2002) enfatiza que a natureza cooperativa do XP e a sua orientao a resultados
garantem a longevidade. O prximo captulo apresenta o modelo de processo
ICONIX. Ele procura mostra as principais tarefas e marcos do processo, destacando
os alertas do mesmo. Aborda tambm os modelos utilizados exemplificando-os.
60
4 ICONIX
4.1 Introduo
Silva & Videira (2001), apresentam o ICONIX como uma metodologia prtica,
intermediria entre a complexidade do RUP (Rational Unified Process) e a
simplicidade do XP (Extreme Programming). O ICONIX est adaptado ao padro da
UML (OMG, 2001), dirigido por casos de uso e o seu processo iterativo e
incremental.
Dinmico
Jacobson
Diagrama de
robustez
Booch
Esttico
Rumbaugh Cdigo
De acordo com Rosenberg & Scott (1999), o ICONIX tem como base responder
algumas questes fundamentais sobre o software. Desta forma, utiliza tcnicas da
UML (OMG, 2001) que auxiliam a prover a melhor resposta. As questes e as
tcnicas so:
Escrever os casos de uso, com fluxo principal das aes, podendo conter o
fluxo alternativo e o fluxo de exceo;
Anlise de Robustez
4.2.3 Projeto
4.2.4 Implementao
Escrever/Gerar o cdigo;
Silva & Videira (2001) e Borillo (2000) destacam os alertas do ICONIX por
advertirem sobre problemas e dvidas comuns em times de desenvolvimento de
software. Os alertas esto relacionados com cada tcnica, como a seguir:
Alertas do modelo de use case: (1) no tentar escrever casos de uso antes
de saber o que os usurios realmente fazem; (2) no desperdiar tempo
construindo modelos elegantes de casos de uso que no servem para
construir o projeto; (3) no perder tempo discutindo se vai usar includes ou
extends; (4) no usar templates textuais de caso de uso longos ou complexos;
Rosenberg & Scott (1999) definem a modelagem de domnio como sendo a tarefa
de descobrir objetos (classes), que representam coisas e conceitos no mundo real.
Na abordagem do ICONIX, a modelagem de domnio envolve palavras externas dos
requisitos de dados, para construir o modelo esttico.
O modelo de domnio serve como um glossrio de termos, que pode ser utilizado
na primeira fase para escrever os caso de uso, destaca Borillo (2000).
Jim Rumbaugh (apud ROSENBERG & SCOTT, 1999) define uma classe como
uma descrio de um grupo de objetos com propriedades similares, comportamento
comum, relaes comum, e semntica comum. Borillo (2002) apresenta alguns
passos para auxiliar a construir o modelo esttico, ou seja, atravs da abstrao real
do problema de domnio localizar as classes apropriadas, sendo:
Um caso de uso uma seqncia de aes que um ator realiza no sistema para
alcanar um objetivo (ROSENBERG & SCOTT, 1999). Um caso de uso descreve e
valida o que o sistema ir fazer, serve de controle entre o usurio, cliente e
desenvolvedores. De acordo com Larman (2000), casos de uso no so exatamente
a especificao de requisitos ou a especificao funcional, mas ilustra e implica em
requisitos nos documentos que descreve. So compostos por atores (entidades
externas) e casos de uso (cenrios, texto).
Verifica conferncia
1. O professor verifica a existncia de uma conferncia
2. Se existir realiza manuteno dos dados
3. Seno inclui dados
4. Valida se esta conferncia composta por outra conferncia principal
5. Se houver deve ser diferente da conferncia em questo.
6. Confirma o sucesso da operao
7. Disponibiliza conferncia para edio
De acordo com Silva & Videira (2001) um pacote (package) em UML (OMG,
2001) um elemento meramente organizacional. Permite agregar diferentes
elementos de um sistema em grupos de forma que semntica ou estruturalmente
faa sentido. Ento, um grupo de casos de uso relacionado definido como pacote
de casos de uso.
70
Verifica Conferncia
Profes s or
<<include>>
Edio
Edita de Conferncia
Conferncia
Pode-se aplicar algumas regras para definir qual associao utilizar entre os
casos de uso:
9. Enfocar em algo diferente do que est "dentro de" um caso de uso, como pr-
condies ou ps-condies;
Aps a concluso dos casos de uso, pode-se iniciar a sua anlise, por meio dos
diagramas de robustez.
O conceito de anlise de robustez foi introduzido por Ivar Jacobson para o mundo
de OO em 1991. Anlise de robustez envolve analisar o texto narrativo de cada caso
de uso e identificar um primeiro conjunto de possveis objetos que participaro do
caso de uso (ROSENBERG & SCOTT, 1999). Estes objetos so classificados em
trs esteretipos (ver figura 21):
n
re
re
lV
lV
EA
-U
te
te
ia
ia
on
is
is
10
Tr
Tr
eg
eg
si
3.
er
d
d
nr
nr
e
re
re
lV
lV
EA
-U
te
te
ia
ia
on
is
is
Tr
eg
eg
si
3.
er
d
d
nr
nr
Borillo (2000) e Silva & Videira (2001) enfatizam que a anlise de robustez o
link entre a anlise (o qu) e o projeto (como), tendo as seguintes regras chaves:
Verificar razoabilidade: ajuda a ter certeza que o texto de caso de uso est
correto e se a especificao do comportamento do sistema est razovel.
Pode-se substituir os substantivos genricos do texto do caso de uso para
nomes adequados dos objetos que aparecem nos diagramas de robustez;
O ICONIX apresenta dois princpios para guiar a anlise de robustez que so: (1)
deve-se trabalhar com um nmero pequeno (entre dois e cinco) de controles por
caso de uso. Se existir mais de 10 controles por caso de uso, ento, deve-se dividir
em casos de uso menores; (2) as setas podem seguir uma ou duas direes entre
diferentes tipos de objetos, e indicam associaes lgicas (BORILLO, 2000). A figura
22 mostra o que permitido e o que no permitido ser feito no diagrama de
robustez.
73
4. Ajuda a definir regras de sintaxe do tipo O ator interage somente com objetos
do tipo limite, para os casos de uso;
1. Texto do caso de uso (fluxo de ao). Copiar este item para a margem
esquerda do diagrama de seqncia;
Fluxo Alternativo
No item 2, se o cdigo
invlido, apresentar a
mensagem Cdigo
invlido e retorna ao
item 2 (no est
representado).
Usar o diagrama de robustez como uma lista de checagem, para ter certeza
que todo o comportamento requerido do sistema est no diagrama de
seqncia;
De acordo com Silva & Videira (2001), a ltima atividade para completar o
modelo de interao atualizar o modelo esttico. Para tanto, deve-se adicionar
informaes detalhadas ao diagrama de classe, com base nos diagramas de
seqncia que identificam as operaes que de devero fazer parte das classes
correspondentes. Alm disso, o diagrama de classe dever incluir todos os atributos,
operaes, valores de visibilidade e de navegabilidade.
Ainda de acordo com Borillo (2000), o modo que o ICONIX aborda os requisitos
em relao aos casos de uso e funes a seguinte: um caso de uso descreve uma
unidade de comportamento para um sistema; os requisitos descrevem as leis que
governam o comportamento; as funes so as aes individuais que acontecem
dentro do comportamento. Neste sentido, no existe nenhuma razo por que um
caso de uso no possa enderear mais que um requisito. Tambm perfeitamente
aceitvel que um conjunto de casos de uso satisfaam apenas um requisito.
verificar que cada requisito seja tratado, pelo menos, por uma classe no
modelo esttico;
trilhar para que o nvel dos requisitos descritos nos casos de uso satisfaa o
projeto atual atravs dos diagramas de seqncia.
Os dez itens mais importantes para lembrar sobre requisitos, destacados por
Rosenberg & Scott (1999) so:
1. O time deve fazer uma lista completa dos requisitos, to cedo quanto
possvel, em vez de iniciar diretamente com o cdigo;
4. O time deve demonstrar conexo direta com, pelo menos, um caso de uso
para cada requisito durante a reviso dos requisitos;
5. O time deve demonstrar conexo direta com, pelo menos, uma classe para
cada requisito durante a reviso dos requisitos;
6. Cada caso de uso deve servir para ambas as entradas, tanto para o processo
de desenvolvimento quanto para os testes de aceitao de usurio;
10. Deve-se ter, pelo menos, um teste para verificar cada requisito.
80
5 PROCEDIMENTOS METODOLGICOS
5.2 Aplicao do XP
5.2.3 Metfora
A primeira histria, representada pela figura 26, est em seu formato original. As
demais histrias, representadas pela figura 27, esto em formato resumido para
melhor organizao deste trabalho.
N histria Descrio
002 Coletar os dados dos professores atravs de formulrios que estaro disponveis para cada
gerncia. Estes dados servem de base para o clculo da GID. Os dados so referentes carga
horria, nmero de alunos, avaliao quantitativa, e participao em projetos.
003 Considerar no clculo da GID:
- se o professor se afastar: ter como gratificao pontuao obtida no perodo anterior.
- se no houver pontuao anterior, ou se o afastamento for superior ao de avaliao, a GID
ser calculada com base em 60% do limite mximo de pontos .
- nos meses de frias ser considerada mdia dos ltimos 12 meses.
afastamento por doena e/ou invalidez, ser calculado pela mdia dos ltimos 12 meses.
004 Gerar o clculo com informaes dos ltimos 6 meses para as gerncias, com possibilidade de
alterar os resultados no perodo de 21 dias (7 dias recurso / 14 dias julgamento). Relatrio final
dever ser entregue a GDRH Gerencia de Recursos Humanos que ir vigorar no semestre
subseqente ao clculo.
005 Imprimir o resultado do total dos pontos e a converso em reais.
Imprimir dados do professor para conferncia.
Neste contexto, Jeffries (2001) enfatiza que o retorno dos testes realizados
muito importante no desenvolvimento do sistema, pois um bom resultado exige bons
testes. Desta forma, o sistema da GID foi construdo.
Quando se optou por utilizar o ICONIX neste projeto, estava claro que havia a
necessidade de produzir alguns documentos. Inicialmente, estes documentos no
pareceram muito teis. Entretanto, logo se percebeu que estes artefatos eram
essenciais para se construir o projeto dentro do melhor caminho. Borca (2000)
considera que cada documento ajuda a desenvolver uma parte do projeto. O projeto
InfoSade foi dividido em mltiplos passos. Sendo que, um artefato foi produzido
como resultado de cada passo. Estes artefatos so apresentados nas sees
seguintes.
Como foi discutido na seo 4.5, os atores so entidades externas que interagem
com o sistema. Neste contexto, Silva & Videira (2001) destacam que o conjunto de
todos os atores reflete todos os elementos que interagem com o sistema.
n
re
re
EA
EA
EA
lV
lV
-U
-U
te
te
Pessoa Medicamento
ia
ia
n
is
is
10
10
Especialidade
io
io
Tr
Tr
eg
eg
1
rs
rs
3.
3.
3
d
d
nr
nr
e
Ve
re
re
EA
EA
EA
lV
-U
-U
te
te
receitado para
l
ia
ia
tem
n
n
is
is
10
10
io
io
Tr
Tr
eg
eg
1
rs
rs
3.
3.
Profissional PrimeiraConsulta
3
Paciente
d
d
nr
nr
e
Ve
feita em
re
re
EA
EA
EA
Raai
lV
-U
-U
te
te
l
ia
ia
n
n
is
is
10
10
io
io
Tr
Tr
eg
eg
1
rs
rs
3.
3.
pertence
3
d
d
nr
nr
gera
e
Ve
re
re
EA
EA
EA
lV
tem tem
te
te
aplicada no Ev oluo
l
ia
ia
n
n
is
is
10
10
io
io
Tr
Tr
Consulta
eg
eg
1
rs
rs
3.
3.
3
d
d
nr
nr
SiaSus CID_10
e
Ve
realizado em
re
re
EA
EA
EA
lV
-U
-U
te
te
l
ia
ia
n
n
is
is
Exame Vacina
10
10
io
io
Tr
Tr
eg
eg
1
rs
rs
3.
3.
pode ter
3
d
d
nr
nr
e
Ve
re
re
EA
EA
EA
lV
-U
-U
te
te
TipoAgendamento Agenda
l
ia
ia
n
n
is
is
10
10
io
io
Tr
Tr
eg
eg
1
rs
rs
3.
3.
3
d
d
nr
nr
Ve
Ve
re
re
EA
EA
EA
-U
-U
te
te
al
al
n
Silva & Videira (2001) destacam que uma prtica comum para a identificao das
classes candidatas abstrair dos textos e documentos os nomes e os substantivos.
Por sua vez, a identificao de relacionamento de associao entre as classes pode
ser captada a partir de verbos e expresses verbais.
O prottipo de GUI permitiu ao cliente ter uma idia visual do sistema InfoSade.
A idia foi produzir uma interface mais prxima da realidade do usurio, ou seja,
intuitiva, priorizando a simplicidade e a facilidade de uso.
ia
on
on
is
is
0
10
Tr
Tr
eg
eg
Agendamento
si
si
3.
er
er
ed
d
nr
nr
re
lV
lV
EA
-U
-U
er
te
Cadastra
ia
ia
on
on
st
is
Paciente
0
10
Tr
Tr
gi
eg
si
si
e
3.
er
er
ed
d
nr
nr
re
lV
lV
Agenda
EA
-U
-U
er
te
Recepcionista Consulta
ia
ia
on
on
st
is
0
10
Tr
Tr
gi
eg
si
si
e
3.
er
er
ed
d
nr
nr
re
lV
lV
EA
-U
-U
er
te
ia
ia
on
on
st
is
Coordenador
0
10
Configura
Tr
Tr
gi
eg
si
si
e
Agenda
3.
er
er
ed
d
nr
nr
re
lV
lV
EA
-U
-U
er
te
ia
ia
on
on
st
Cadastra
is
0
10
Tr
Tr
gi
eg
si
si
Profissional
e
3.
er
er
ed
ed
nr
nr
lV
lV
EA
-U
-U
er
er
ia
ia
on
on
st
st
0
10
Tr
Tr
gi
gi
si
si
E
10
10
eg re
eg re
re
re
on io
l V al
n
n
t e st e st e st e ste st e st e st e ste st e
t e st e st e st e ste st e st e st e ste st e
Ate n d im e n to P ro n tu rio M d ic o
s
i
i
3.
3.
Tr
Tr
U
U
er
i
i
-
-
d
d
E
10
10
re
re
Ca da s tr a 1
ia
nr
nr
Ate nde
si
i
3.
3.
Cons ulta
Tr
Tr
U
U
er
P a c ie nte
A
i
i
-
-
lV
eg
eg
d
d
on
E
10
10
re
re
ia
nr
nr
si
i
3.
3.
Tr
Tr
U
U
er
Ac om pa nha
A
i
i
-
-
lV
eg
eg
d
d
Ge s ta nte
on
E
10
10
re
re
ia
nr
nr
si
i
3.
3.
Tr
Tr
U
U
er
i
i
-
-
lV
eg
eg
d
on
Re c e ita
10
10
re
re
ia
nr
nr
si
M e dic a m e ntos
i
3.
3.
Tr
Tr
U
U
er
A
i
i
-
-
lV
eg
eg
d
d
on
E
10
10
re
re
ia
nr
nr
si
Cor po Clnic o
i
3.
3.
Infor m a
Tr
Tr
U
U
er
Evolu o
A
i
i
-
-
lV
eg
eg
d
d
on
E
10
10
re
re
ia
nr
nr
si
i
3.
3.
Tr
Tr
U
U
er
A
i
i
-
-
lV
eg
eg
d
d
on
E
10
10
S olic ita Ex a m e
re
re
ia
nr
nr
si
i
3.
3.
Tr
Tr
U
U
er
A
i
i
-
-
lV
eg
eg
d
P r e e nc he
on
E
10
10
re
re
ia
nr
nr
RAAI
si
i
3.
3.
Tr
Tr
U
U
er
Tr a ta De nte s
A
i
i
-
-
lV
eg
eg
d
d
on
E
10
10
re
re
ia
nr
nr
si
i
3.
3.
Tr
Tr
U
U
er
is
is
A
V
d
d
n
n
e
e
re
re
EA
EA
EA
-U
-U
lV
lV
RF-001 O sistema deve permitir que um usurio RF-002 O sistema deve permitir alterar o n que
te
te
ia
ia
possa efetuar o login no sistema. identifica o pronturio do paciente pelo nmero do
is
is
on
on
10
10
10
Tr
Tr
eg
eg
carto SUS. Deve guardar o antigo n de pronturio
si
si
3.
3.
3.
nr
nr
d
er
er
EA
EA
EA
re
re
-U
-U
lV
lV
te
te
RF-003 O sistema deve permitir que o do paciente RF-004 O sistema deve permitir escolher uma
ia
ia
is
is
on
on
10
10
10
possa fazer parte de um ou mais programa (capital especialidade para o profissional. Para cada
Tr
Tr
eg
eg
si
si
3.
3.
3.
nr
d
d
er
er
re
re
EA
EA
EA
-U
-U
lV
lV
te
te
RF-005 O sistema deve montar a agenda com base
ia
ia
RF-006 O sistema deve permitir marcar a consulta
is
is
n
n
10
10
10
Tr
Tr
io
io
eg
eg
na nos horrios de cada profissionais e na durao visualizando os dias, horrios, vagas disponveis
3.
3.
3.
rs
rs
nr
nr
d
d
da consulta, conforme a especialidade. para cada profissional e as j agendadas.
Ve
Ve
EA
EA
re
EA
re
-U
-U
te
te
l
ia
ia
is
is
on
on
10
10
10
RF-007 O sistema deve garantir que os dados da RF-008 O sistema deve permitir somente incluir
Tr
Tr
eg
eg
si
si
3.
3.
3.
primeira consulta no sero alterados. Fica como dados da evoluo do paciente. No pode ter
nr
nr
ed
ed
er
er
EA
EA
EA
histrico do paciente. alterao nem excluso de dados.
-U
-U
lV
lV
er
er
t
t
ia
ia
is
is
n
n
10
10
10
Tr
Tr
io
io
eg
eg
RF-008 O sistema deve ter de informaes para RF-009 O sistema deve incluir, para cada consulta
3.
3.
3.
rs
rs
nr
nr
d
d
paciente gestacionais. Com estes dados deve ginecolgica, uma nova ficha de acompanhamento
Ve
Ve
EA
EA
EA
re
re
-U
-U
gerar o grfico da curva uterina e do heredrograma. clnico, ou contracepo, ou preveno.
te
te
l
l
ia
ia
is
is
on
on
10
10
10
Tr
Tr
eg
eg
si
si
3.
3.
3.
RF-010 O sistema deve controlar todas as vacinas RF-011 O sistema deve disponibilizar ao corpo
nr
nr
ed
ed
er
er
EA
EA
EA
aplicadas em adultos e em crianas e registrar se clnico a consulta dos exames laboratoriais para
-U
-U
lV
lV
er
er
de campanha ou de rotina. emitir a requisio de solicitao.
t
t
ia
ia
is
is
on
on
10
10
10
Tr
Tr
eg
eg
si
si
3.
3.
3.
nr
nr
d
d
er
er
RF-012 O sistema deve controlar a solicitao de
re
EA
re
EA
EA
RF-013 O sistema deve disponibilizar para o
-U
-U
lV
lV
te
te
ia
is
is
n
10
10
10
dos mesmos na farmcia. fichas de tratamento.
Tr
Tr
io
io
eg
eg
3.
3.
3.
rs
rs
nr
nr
d
d
Ve
Ve
EA
EA
EA
re
re
U
Verso: 2.0 Fase: Anlise Autor(es): Decka Cortese Data Criao: 19/10/2001 17:02
Cristina Bona Data Atualizao: 26/12/2002 21:04
USE CASE UC-008 Configura Agenda
Configura
Agenda
eg
1
1
T
T
si
si
3.
3.
3.
d
d
nr
nr
er
er
re
re
EA
EA
EA
-U
-U
-U
lV
lV
te
te
ia
is
is
on
10
10
10
i
io
Tr
Tr
eg
eg
si
rs
3.
3.
3.
d
d
nr
nr
er
e
re
re
EA
EA
EA
-U
-U
-U
lV
lV
te
te
ia
ia
is
is
n
on
10
10
10
:TelaSeleoProfissional :LocalizadorProfissional :Profissional
io
Tr
Tr
eg
eg
si
rs
3.
3.
3.
d
d
nr
nr
er
e
re
re
EA
EA
EA
-U
-U
-U
lV
lV
te
te
ia
ia
is
is
n
on
10
10
10
io
Tr
Tr
eg
eg
si
rs
3.
3.
3.
Coordenador
d
d
nr
nr
er
Ve
re
re
EA
EA
EA
-U
-U
-U
lV
te
te
al
ia
is
on
n
10
10
10
i
gi
io
Tr
Tr
eg
si
e
rs
3.
3.
3.
:GerenteConfigAgenda
d
d
nr
nr
er
Ve
e
re
EA
EA
EA
-U
-U
-U
lV
er
te
al
st
ia
is
n
:TelaCadastroHorrio
10
10
10
i
i
io
io
Tr
Tr
eg
eg
:HorrioDisponvel
rs
rs
3.
3.
3.
d
d
nr
nr
Ve
Ve
re
re
EA
EA
EA
-U
-U
-U
te
te
al
al
:Coordenador
eg eg eg eg eg eg eg eg eg eg eg eg eg eg eg eg
is is is is is is is is is is is is is is is i
te te te te te te te te te te te te te te te
re re re re re re re re re re re re re re re
d d d d d d d d d d d d d d d
EditaClick()
ConfirmaClick()
Tr Tr Tr Tr Tr Tr Tr Tr Tr Tr Tr Tr Tr Tr Tr Tr
ia ia ia ia ia ia ia ia ia ia ia ia ia ia ia
lV lV lV lV lV lV lV lV lV lV lV lV lV lV lV
er er er er er er er er er er er er er er er
si si si si si si si si si si si si si si si si
on on on on on on on on on on on on on on on o :TelaSeleoProfissional
Show()
Edita()
Refresh()
SetDados(Dados)
BuscaProfiss(CodProf)
EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA
3 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3.
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
-U -U -U -U -U -U -U -U -U -U -U -U -U -U -U
:GerenteConfigAgenda
nr nr nr nr nr nr nr nr nr nr nr nr nr nr nr
eg eg eg eg eg eg eg eg eg eg eg eg eg eg eg eg
i
ValidaHorario()
is is is is is is is is is is is is is is is
te te te te te te te te te te te te te te te
re re re re re re re re re re re re re re re
d d d d d d d d d d d d d d d
MontaTelaCadHor()
SalvaClick()
Tr Tr Tr Tr Tr Tr Tr Tr Tr Tr Tr Tr Tr Tr Tr Tr
OBJETO Profissional
ia ia ia ia ia ia ia ia ia ia ia ia ia ia ia
LocalizaProfiss(CodProf)
lV lV lV lV lV lV lV lV lV lV lV lV lV lV lV
er er er er er er er er er er er er er er er
si si si si si si si si si si si si si si si si
o
[Horarios Ok]:Salva()
on on on on on on on on on on on on on on on
GetHorariosDisponiveis()
ESTADO do Horario
[Horarios Ok]:SetHorariosDisponiveis(Dados)
Show()
Salva(Dados)
*[para cada horrioDisponvel]:GetDados()
EA EA EA EA EA EA EA EA EA EA EA EA EA EA EA
:Profissional
3 3. 3. 3. 3. 3. 3. 3.3. 3. 3. 3. 3. 3. 3. 3.
10 10 10 10 10 10 10 10
10 10 10 10 10 10 10 10
-U -U -U -U -U -U -U -U -U -U -U -U -U -U -U
nr nr nr nr nr nr nr nr nr nr nr nr nr nr nr
eg eg eg eg eg eg eg eg eg eg eg eg eg eg eg eg
is is is is is is is is is is is is is is is i
te te te te te te te te te te te te te te te
:HorrioDisponvel
re re re re re re re re re re re re re re re
d d d d d d d d d d d d d d d
Tr Tr Tr Tr Tr Tr Tr Tr Tr Tr Tr Tr Tr Tr Tr Tr
ia ia ia ia ia ia ia ia ia i al ia ia ia ia ia
l l l l l
ilustra o diagrama de seqncia relativo ao caso de uso Configura Agenda.
lV lV lV lV lV lV lV lV lV Ve Ve Ve Ve Ve Ve
er er er er er er er er er rs rs rs rs rs rs
sua vez, identificaram as operaes que fazem parte das classes correspondentes.
A atividade seguinte construo do diagrama de seqncia, foi o trmino do
detalhadas, baseado nos diagramas de seqncia que foram desenvolvidos, que por
evidenciar o fluxo de mensagens trocadas entre os objetos e os atores. A figura 35
comportamento detalhado atravs do diagrama de seqncia. Pois, o objetivo
modelo esttico. Para isso, o diagrama de classe foi atualizado com informaes
99
A definio e utilizao de padres de projeto tambm faz parte desta fase final
do projeto do diagrama de classe. Fernandes & Lisboa (2001) destacam que o
grande atrativo da utilizao de padres de projetos, permitir a reutilizao de
solues previamente encontradas. Uma vez que, documentam um problema, suas
caractersticas e solues. Mais informaes sobre padres de projeto pode ser
encontradas em (GAMMA et al, 1995), (LARMAN, 2000) e (APPLETON, 2000).
A
A
3.
3.
3.
M e dic a m e nto
Es pe c ia lida de P e s s oa
10
10
10
P r im e ir a Cons ulta
E
E
A
A
-
-
-
- C o d ig o : in t
- C o d ig o : in te g e r - N o m e : s trin g
U
U
3.
3.
3.
- N o m e : s trin g
nr
nr
nr
- N o m e : s trin g - D a ta : d a te
10
10
10
e
e
E
E
+ G e tN o m e () : s trin g
gi
gi
gi
A
A
-
-
-
+ G e tC o d ig o () : in te g e r + G e tD a ta () : d a te
st
st
st
+ G e tC o d ig o () : in te g e r
U
U
3.
3.
3.
te m + G e tN o m e () : s trin g
er
er
er
nr
+ S a lva () : vo id
nr
nr
+ G e tN o m e () : s trin g
10
10
10
ed
ed
ed
e
e
+ G e tQ td a d e () : in te g e r
E
E
gi
gi
gi
A
A
A
-
-
Tr
Tr
Tr
st
Evolu o
st
st
re ce ita d o p a ra
U
U
P r ofis s iona l fe ita e m
3.
3.
3.
er
er
er
ia
ia
ia
nr
nr
nr
10
10
10
l V al V al V al V al V al V al V al V al V al V al V al V
l V al V al V al V al V al V al V al V al V al V al V al V
l V al V al V al V al V al V al V al V al V al V al V al V
ed
ed
ed
e
e
e
E
E
gi - D e s crica o : s trin g
gi
gi
- C o d P ro f: in te g e r
A
A
P a c ie nte
-
-
-
er
er
Tr
Tr
Tr
st
st
st
- P e s o : in t
U
U
U
3.
3.
3.
si
si
er
er
er
i
i
nr
nr
nr
- Altu ra : in t
o n io n io n io n io n io n io n io n io n io n io n
on
10
10
10
+ G e tC o d P ro f() : in te g e r
ed
ed
ed
- C a rta o S U S : in te g e r
e
e
E
E
- P A: in t
gi
gi
gi
+ G e tN o m e () : s trin g p e rte n ce
A
A
-
-
er
er
Tr
Tr
Tr
st
st
st
U
U
+ G e tE s p e cia liza ca o () : s trin g
3.
3.
3.
s
si
+ G e tC a rta o S U S () : in te g e r
er
er
er
i
i
nr
nr
nr
+ G e tD e s c rica o () : s trin g
on
10
10
10
ed
ed
ed
+ G e tN o m e () : s trin g
e
e
E
E
+ S a lva Atu a l() : vo id
gi
gi
gi
A
A
A
-
-
er
er
Tr
Tr
Tr
st
st
st
+ In clu i() : vo id
U
U
3.
3.
3.
s
er
er
i
i
i
nr
nr
nr
re a liza d a p o r on + E d ita Atu a l() : vo id
10
10
10
fe ita e m u m
ed
ed
ed
e
e
e
E
E
gi
gi
gi
A
A
-
-
-
er
er
Tr
Tr
Tr
st
st
st
U
U
3.
3.
3.
s
si
Cons ulta
er
er
er
i
i
nr
nr
nr
10
10
ed
ed
ed
e
e
E
E
gi
gi
gi
A
A
-
-
er
er
- C o d ig o : in te g e r
Tr
Tr
Tr
st
st
st
- C o d ig o : in te g e r
U
U
3.
3.
3.
s
si
er
er
er
- D a ta : d a te
i
i
nr
nr
nr
- D a ta In icio : d a te
on
10
10
10
ed
ed
ed
e
e
E
gi
gi
A
A
-
-
-
+ G e tC o d ig o () : in te g e r
er
er
- C o d ig o : in te g e r
Tr
Tr
Tr
st
st
st
U
U
U
3.
3.
3.
si
s
+ G e tD a ta () : d a te
er
er
er
- D e s c ri o : s trin g
i
i
nr
nr
nr
+ G e tC o d ig o () : in te g e r
on
10
10
+ L o ca liza P ro fis s () : vo id 10
ed
ed
ed
e
e
e
E
+ G e tD a ta In ic io () : d a te
gi
gi
gi
A
-
-
+ G e tC o d ig o () : in te g e r
er
er
Tr
Tr
Tr
st
st
st
+ G e tD a ta Fim () : d a te
U
U
p o d e te r U
3.
3.
3.
s
si
er
er
i
i
nr
nr
nr
on
10
10
10
ed
ed
ed
+ Mo n ta Te la C a d H o r() : vo id
e
e
e
E
E
gi
gi
Age nda gi
A
A
-
+ S a lva H o rD is p () : vo id
er
er
Tr
Tr
Tr
st
st
st
U
U
U
3.
3.
3.
s
si
+ In s e re H o rD is p () : vo id
er
er
er
i
i
nr
nr
nr
on
10
10
10
ed
ed
ed
e
e
E
gi
gi
gi
A
A
A
-
-
-
er
er
+ Va lid a H o ra rio () : vo id
Tr
Tr
Tr
st
st
st
U
U
3.
3.
3.
s
si
er
er
er
i
nr
nr
nr
on
10
10
10
ed
ed
ed
Te la Ca da s tr oHor a r io
E
E
gi
gi
gi
A
A
-
-
-
er
er
Te la S e le c a oP r ofis s iona l
Tr
Tr
Tr
st
st
st
U
U
U
3.
3.
3.
s
si
er
er
er
i
i
i
nr
nr
nr
+ S h o w () : vo id + S h o w () : vo id
on
10
10
10
ed
ed
ed
e
e
e
E
+ In s e re H o ra rio () : vo id + In s e re C o n s u lta () : vo id
gi
gi
gi
+ S h o w () : vo id
A
A
-
-
-
er
er
Tr
Tr
Tr
st
st
st
U
U
+ B u s ca P ro fis s () : vo id
3.
3.
3.
si
s
er
er
er
i
i
nr
nr
nr
+ D e le ta H o ra rio () : vo id + D e le ta C o n s u lta () : vo id
on
10
10
10
+ S e le cio n a P ro fH o ra () : vo id
ed
ed
ed
e
e
E
E
gi
gi
gi
A
A
-
-
-
er
er
T
T
st
st
st
U
U
3
5.3.6 Implementao
Isto encurta o ciclo para entrega de uma verso, sendo uma das foras primrias
do XP. Realmente, isto muito positivo: os clientes vem rapidamente por aquilo
que eles pagaram, embora incompleto, e os desenvolvedores permanecem mais
interessados e na trilha certa. Os desenvolvedores tm mais liberdade para escolher
suas tarefas e para consertar problemas, o que incorpora motivao para o time.
A metodologia XP tem uma propenso para tentar convencer por choque. Nega
muitas prticas que foram tentadas por dcadas, algumas consideradas eficientes
como a documentao e o levantamento de requisitos, somente porque o
desenvolvimento de software em geral tem problemas. Entretanto, isto no significa
que tudo o que foi realizado at o momento no funciona.
A anlise do problema, por exemplo, nunca mencionada como algo para ser
realizado. Os clientes devem ter uma boa idia das histrias que eles precisam
104
escrever inicialmente. Isto poderia ser facilmente contornado com a ajuda do analista
de sistemas, antes de iniciar o processo XP. Mas isto no citado. Somente quando
o cliente j est executando seu papel, ele teria suporte de um desenvolvedor. A
inteno de integrar o cliente no processo, escrevendo histrias, pode exigir muito
esforo do cliente.
McBreen (2003) critica a posio de que um bom time XP pelo menos seis
vezes mais produtivo que um time de engenharia de software tradicional. Alm
disso, os programadores do XP so considerados todos profissionais capacitados e
com muita disposio para executar uma tarefa. Realmente, pode-se dizer que
algum no capacitado ou no disposto no deve fazer parte do time. Entretanto,
em algum momento, um desenvolvedor poder passar por uma fase ruim ou no
estar disposto a executar determinada tarefa que lhe foi designada. Em um grupo,
isto comumente pode acontecer. Uma soluo para tarefas que ningum quer, ou
que esto sendo mal executadas realizar uma votao ou criar normas de
negociao. Mas, isto pode gerar conflito com a idia de livre escolha e de
propriedade (ownership) que o XP sugere.
importante observar que a integrao contnua no uma idia que surgiu com
o XP e todos processos modernos que adotam ciclos de vida como o modelo em
106
Outro ponto positivo do ICONIX ser orientado por casos de uso. Ou seja, pode
haver rastreamento a partir dos casos de uso para qualquer outro artefato gerado no
processo. Os casos de uso so criados especialmente nas fases de concepo e
elaborao, onde 80% deles so identificados (SANTIAGO, 2000). Por sua vez, um
caso de uso mais eficaz quando elaborado do ponto de vista do usurio. Desta
forma, os casos de uso representam o fluxo das aes do usurio e as respostas do
sistema para estas aes. Portanto, o foco deve ser na viso externa do sistema, na
viso que os atores tem dele.
RECURSO XP ICONIX
Requisitos prprios cartes de histria: no lista de requisitos bem definidos.
especifica formalmente.
Regras de negcio definidas pelo cliente; definidas pelo cliente;
estimadas pelo cliente: escopo, estimadas pelo time: no especifica
prioridade, composio de verso e detalhes.
data das verses.
Regras tcnicas estimadas pelos tcnicos: tempo, no especifica formalmente.
riscos tcnicos, tecnologia.
Papis time especifica. no especifica.
Usurios do sistema no especifica. especifica atravs dos atores.
Cliente deve fazer parte do time (on-site) no precisa fazer parte do time.
Documentao cartes de histria (temporria); lista de requisitos;
direto no cdigo fonte. casos de uso (texto);
diagramas da UML.
Programao em pares. individual.
Refactoring utiliza. no especifica.
Orientado por testes. casos de uso.
Testes testes de unidade (obrigatrio); testes de unidade (sugerido);
testes funcionais (preferencialmente testes de funcionais (no sugere
automatizados). automatizao).
Metfora utiliza no utiliza
Interface no especifica prottipo de GUI
Ciclo de vida iterativo incremental. iterativo incremental.
Diagramas no utiliza. utiliza padro UML:
modelo de domnio;
diagrama de casos de uso;
diagrama de robustez;
diagrama de seqncia;
diagrama de classe.
Fases do processo especifica, mas as fases so confusas: especifica, as fases so claras:
explorao; anlise de requisitos;
planejamento; projeto preliminar;
iterao da primeira verso; projeto detalhado;
produo; implementao.
manuteno.
109
6.6 Questionrio
No
31%
Sim
69%
No
100%
Sim
0%
contexto do XP, uma vez que a atividade de projeto realizada juntamente com a
atividade de teste. Entretanto, se voc tiver um time de programadores experientes
trabalhando isolados, provvel que a qualidade das linhas de cdigo seja to
aceitvel quando a programao pareada.
No
62%
Sim
38%
No
8%
Sim
92%
Aplicou refactoring ?
No
15%
Sim
85%
No
8%
Sim
92%
ICONIX
90%
XP
10%
7 CONCLUSO
Esse trabalho espera ter deixado duas contribuies principais. A primeira delas
est relacionada exemplificao textual e grfica da aplicao dos dois processos.
A aplicao, alm de servir como instrumento de estudo para os acadmicos, pode
116
ser utilizada como suporte para a tomada de deciso sobre qual processo melhor de
adapta a realidade da empresa ou para a construo de um determinado sistema,
que pretenda empregar o processo XP ou o ICONIX.
REFERNCIAS BIBLIOGRFICAS
CORDEIRO, Marco A. Bate Byte 100 Foco no Processo, ago, 2000. Disponvel
em: <http://www.pr.gov.br/celepar/celepar/batebyte/>. Acesso em: 20 jun. 2002.
FOWLER, Martin. Refactoring: Improving the Design of Existing Code. In: ___.
Principles in Refactoring. Massachusetts: Addison-Wesley Longman, 1999.
Cap.02, p.53-71.
HIGHSMITH, Jim. Does Agility Work? Software Development. Canad, v.10, n.6,
p.30-36, jun. 2002.
PASCOAL, Sandro M. et al. Tutorial sobre ciclo de vida dos sistemas, jun, 2001.
Disponvel em: <http://www.inf.cesumar.br/sandro/ciclo_vida.htm>. Acesso em: 30
abr. 2002.
ROSENBERG, Doug; SCOTT, Kendall. Use Case Driven Object Modeling with
UML: A Practical approach. Massachusetts: Addison-Wesley Longman, 1999.
SEMEGHINI, Jlio. Ncleo Softex Campinas Misso Japo 2001, nov, 2001.
Disponvel em: < http://www.cps.softex.br/relatorio.htm>. Acesso em: 24 jul. 2002.
WILLIAMS, Laurie et al. IEEE Software Strengthening the Case for Pair
Programming, jul/ago, 2000. Disponvel em:
<http://collaboration.csc.ncsu.edu/laurie/Papers/ieeeSoftware.pdf>. Acesso em: 25
jun. 2002.
ZABEU, Sheila B. PC World XP: Bom senso ao extremo, fev, 2002. Disponvel
em: <http://pcworld.terra.com.br/pcw/testes/programacao/0016.html>. Acesso em: 04
jul. 2002.