Escolar Documentos
Profissional Documentos
Cultura Documentos
PATOS PB
2011
1
Plena
em
Computao
da
PATOS PB
2011
2
Plena
em
Computao
da
PATOS PB
2011
AGRADECIMENTOS
Primeiramente a Deus, pois sem ele nada possvel, e em segundo a minha me, Maria de
Ftima Gonalves Pereira e todos os meus irmos, pela dedicao, companheirismo e
amizade. Ao professor Vitor Ablio Sobral Dias Afonso pelas leituras sugeridas e correes
ao longo dessa orientao, a todos os professores que fizeram isso se tornar realidade. E a
uma pessoa que me ajudou muito no processo gramatical desse trabalho, Luana Arajo.
RESUMO
ABSTRACT
This Course's conclusion project is intended to present the agile methodology of development
easYProcess (YP) applied to software implemtation: Sales Management (SysVendas) , show
up and specifying on practice the amount of artifacts that this development's methodology
produces for software's system preparation. Keeping in mind that the easYProcess (YP) is in
your original version, from year 2007, without update and competing with others current
agile methodology existent on current market. To realize this project all artifacts necessary
to builindg the problem are defined and specified follow the methodology used in the study
LISTAS DE FIGURAS
LISTAS DE QUADROS
SMARIO
1.
INTRODUO --------------------------------------------------------------------------- 12
1.1.
1.2
1.3
1.4
2.2
2.3
2.4
3.1
3.2
INICIALIZAO ........................................................................................ 34
PLANEJAMENTO ....................................................................................... 36
3.5
IMPLEMENTAO .................................................................................... 37
4.2
4.3
INICIALIZAO ......................................................................................... 45
4.4
PLANEJAMENTO ........................................................................................ 52
4.5
IMPLEMENTAO ..................................................................................... 56
4.6
11
REFERNCIAS ................................................................................................................ 65
Apndice A: Estrutura Base do Sistema ............................................................................. 68
Apndice B: Modulo de Venda .......................................................................................... 70
Apndice C: Teste de Usabilidade ...................................................................................... 74
12
INTRODUO
Neste momento, o mundo encontra-se em uma sociedade informatizada que passa por
sucessivas modificaes, e em conseqncia disso, o comrcio internacional e nacional
precisa de solues computacionais disponibilizadas ao negcio do cliente o mais rpido
possvel, que possa auxiliar no ambiente de negcio de forma mais fcil e produtiva.
De acordo com Sommerville (2007), os softwares tm que ser desenvolvidos
rapidamente para que possam atender as necessidades de negcio do mercado, a entrega
rpida do software s vezes considerada o requisito mais crtico, isso devido as constantes
variaes no ambiente de negcio, os requisitos mudam rapidamente por que praticamente
quase que impossvel prever como o sistema se comportar, entretanto somente ao trmino
do sistema que os requisitos tornam-se claros.
Visando uma maneira de produzir software mais rpido, de qualidade e que atenda a
exigncia do cliente, a Engenharia de Software prope e estuda novas formas de
desenvolvimento baseadas unicamente em processos geis, conhecidos como Modelos de
Desenvolvimento geis. Este trabalho tem como fundamento apresentar easYProcess (YP)
como uma alternativa para o desenvolvimento gil de aplicaes. Para efetivao desse
trabalho, torna-se necessrio a modelagem e implementao de um componente de software
baseado no modelo de desenvolvimento em questo, onde os passos do processo de
desenvolvimento so relatados e analisados.
Normalmente uma metodologia de desenvolvimento requer uma quantidade mnima
de pessoas para o processo de construo do software, ao se tratar de um TCC (trabalho de
concluso de curso) os outros membros da equipe podem ser parcialmente omitidos. Sabendo
que o YP uma metodologia de desenvolvimento simples onde a mesma pessoa pode
desempenhar mais de um papel no processo de desenvolvimento.
Segundo GARCIA (2007), Um papel no corresponde necessariamente a uma pessoa
da equipe, ou seja, uma mesma pessoa pode desempenhar vrios papis simultaneamente.
13
1.1
PROBLEMTICA
14
1.2
JUSTIFICATIVA
15
1.3
DELIMITAO
16
1.4
OBJETIVOS
1.4.1 Geral
1.4.2 Especficos
I.
II.
III.
IV.
V.
1.5
ESTRUTURA DO TRABALHO
17
ENGENHARIA DE SOFTWARE
18
at
ento
existentes,
relacionadas
unicamente
as
seguintes
atividades
(SOMMERVILLE, 2007):
Requisitos: Especifica todas as funes e caractersticas do sistema que ser
produzido, dividido em duas categorias: requisitos funcionais (so as funes que
sistema dever suportar), e no funcionais (so caractersticas que o sistema dever
apresentar) do sistema de software em questo;
Projeto: responsvel de especificar o problema do cliente em diagramas, deixando
mais especficos para os membros da equipe, nesta fase so propostos vrios modelos
arquiteturais em formas de diagramas, e apenas um sendo selecionado e direcionado
para o processo de desenvolvimento;
Desenvolvimento: Neste momento comea a codificao propriamente dita do
sistema de software, nesta fase aconselhvel que os desenvolvedores tenham em
mente alguns padres de codificao de terceiros que apresente como objetivo auxiliar
os mesmos em uma codificao coerente, simples e de fcil entendimento entre os
membros da equipe;
Validao e Verificao: Nesta etapa o sistema de software ento j produzido
submetido prova, diversos aspectos relacionados ao funcionamento do produto de
software devem ser verificados e analisados, com um nico objetivo, encontrar falhas
que comprometam o bom desempenho do sistema de software, e ento direcion-las
aos desenvolvedores para correo;
Gerenciamento: A equipe de desenvolvimento deve ser gerenciada por um ou grupo
de pessoas que tenham um bom conhecimento do sistema de software a ser produzido,
e apresente qualificao para gerenciar, tais como, estimativa de custo, gerenciamento
de qualidade de software, aprimoramento do processo de desenvolvimento e que
19
20
22
23
2.4
MODELOS
DE DESENVOLVIMENTO APOIADORES DO
YP
(easyProcess)
2.4.1.1 Definio
2.4.1.2 Princpio
O XP aborda os requisitos do sistema em cartes de histria, que por sua vez sero
subdivididos em tarefas menores para facilitao do desenvolvimento (MONTEIRO, 2009). O
desenvolvimento com XP leva em considerao alguns princpios bsicos ou prticas que
devem ser seguidos, a saber (KUHN e PALOMA, 2009):
Planejamento: O desenvolvimento realizado por semana o cliente juntamente com
os desenvolvedores se renem semanalmente para que sejam definidos os requisitos de
maior prioridade;
Pequenas Liberaes: As funcionalidades de maior prioridades so implementadas,
fazendo essas prioridades serem atribudas ao sistema como incrementos, sendo assim,
pequenas releases so atribudas constantemente ao sistema;
24
25
2.4.2.1 Definio
2.4.2.2 Principio
A filosofia RUP pode ser melhor esclarecida ao analisarmos alguns de seus princpios
clssicos, a saber (TANAKA e BANKI, 2008):
Desenvolvimento iterativo: Intuitivamente no se d para desenvolver um software
em um nico passo, pois o sistema pode passar por constantes alteraes, questes
relacionadas a arquitetura, usurio, e at mesmo um maior entendimento do problema,
tudo isso amarrado a uma ou a conjunto de iteraes, que tem como principal foco
fazer refinamentos no projeto;
Gerenciamento de requisitos: Na prtica todo modelo de desenvolvimento de
software passa pelo levantamento de requisitos, no RUP no muito diferente,
entretanto, ele faz todo um gerenciamento de requisitos, tais como: anlise do
problema, definio problema, mudana de requisitos, escopo do problema, entre
outros;
Arquitetura baseada em componentes: Componentes so basicamente bibliotecas de
software j prontas, onde os desenvolvedores tm a nica funo de us-las e retirar o
26
2.4.3.1 Definio
2.4.3.2 Princpios
Agile Modeling define uma coleo de princpios que devem ser levados em
considerao durante o processo desenvolvimento de software, logo abaixo alguns princpios:
(AMBLER, 2009):
Maximizar Stakeholder: uma abordagem que deve ser usada para manter os
investidores do projeto informados sobre o processo de construo do software, pois
os interessados no desenvolvimento investem muitos recursos, como: tempo, dinheiro,
entre outras questes relacionadas;
Comentrios rpidos: Cada ao atribuda a modelagem deve ser constituda
unicamente por intervalo de tempo mnimo destinados a possveis comentrios que
ajudam a produzir um feedback necessrio entre os membros da equipe;
Suponha simplicidade: No apresentar termos adicionais em seu sistema uma
questo importantssima, manter sempre simplicidade essencial no processo de
modelagem para uma maior coerncia do sistema;
Trabalho de Qualidade: As pessoas quando gostam do que fazem tendem a produzir
o melhor trabalho possvel, os membros da equipe tm que produzir modelos com
foco na qualidade que possam ser facilmente analisados e modificados por outras
pessoas.
2.4.3.3 Prticas
Agile Modeling define uma coleo de prticas que devem ser adotadas no processo
de desenvolvimento de software, a seguir algumas prticas (AMBLER, 2009):
Participao ativa dos interessados: Nesta categoria a construo de um site onde os
membros da equipe possam ver todo o andamento do projeto, como tambm
apresentar uma participao bem mais significativa;
Uso de ferramentas simples: Evitar o uso de ferramentas complexas o objetivo
principal desta categoria, boa parte dos modelos podem ser projetados at mesmo em
28
29
30
32
3.2.2 Requisitos
34
3.3
INICIALIZAO
Este processo permite que os membros da equipe possam ver o futuro sistema em
diversos aspectos, a saber: Modelo de tarefa, Prottipo de interface, User Stories e Testes de
aceitao, Projeto arquitetural, Modelo lgico de dados. De acordo com Garcia (2007):
investir tempo aqui muito importante, pois quanto maior for o entendimento do sistema,
menos problema se ter na etapa de implementao.
Task and Action Oriented System uma ferramenta CASE para ajudar na arquitetura do sistema.
35
36
3.4 PLANEJAMENTO
37
3.5 IMPLEMENTAO
tanto uma ferramenta de integrao contnua e um framework extensvel para a criao de um contnuo
processo de compilao personalizada. [CruiseControl]
5
Constri e compila software contra as ltimas verses de desenvolvimento desses projetos. [Apache Gump]
38
Essa prtica uma forma de melhoramento contnuo de cdigo, que visto como uma
propriedade coletiva, ou seja, de todos os membros da equipe, isso significa que um membro
da equipe de desenvolvimento pode alterar e acrescentar o cdigo produzido por outro
membro sem muitas dificuldades.
3.5.4 Testes
De acordo com Garcia (2007), o YP recomenda o uso de trs tipos de testes, a saber:
Testes de Unidade: uma categoria de teste indispensvel para um bom
funcionamento do cdigo interno, esse tipo de teste analisa a estrutura interna do
cdigo, ou seja, tanto a parte lgica e o fluxo de dados;
39
O YP recomenda a alocao dos requisitos em pequenos releases para que se tenha uma
maior facilidade no processo de implementao, o ideal que cada release seja constituda de
duas iteraes e estas com conjunto de User Stories (GARCIA, 2007).
40
Sendo organizadas uma vez por semana pelo gerente as reunies de acompanhamento
tem como objetivo analisar sistematicamente o andamento do projeto. Um gerente
comprometido com o projeto nessas reunies pode identificar previamente falhas no processo
de desenvolvimento e promover junto equipe possveis solues. Segundo o Garcia (2007),
toda equipe de desenvolvimento deve participar das reunies semanais, pois a mesma se dar
em torno do material produzido no processo de desenvolvimento, assegurando as atividades a
seguir:
Big Chart: Constitui em uma tabela com informaes para anlise quantitativa do
projeto;
Tabela de Alocao de Atividade (TAA): Constitui em uma tabela com informaes
referentes s atividades realizadas pelos membros da equipe;
Anlise de Risco: Consiste em todos os empecilhos encontrados no processo de
desenvolvimento que podem prejudicar significativamente o produto final de software;
Mudana: So possveis alteraes, existe vrios tipos: as que exigem modificaes de
implementaes, no modelo de tarefa, no projeto arquitetural, no modelo lgico de
dados, nas User Stories, na Interface, na modificao de membros da equipe, at
mesmo no documento de viso.
Esta seo apresentou uma abordagem metodologia referente ao modelo de
desenvolvimento gil em questo, visando ao leitor conhecimento especifico para prxima
seo, onde usado na prtica o uso dessa metodologia.
41
Equipe
Elder G. Pereira
Papis
Gerente, desenvolvedor, testador, cliente e
usurio.
42
4.2.2 Requisitos
OBJETIVO
Aumentar nvel de segurana.
MENSURAO
Tornar as informaes
do
processo
44
45
4.3 INICIALIZAO
US01
TA1.1
US02
TA2.1
TA2.2
TA2.3
TA2.4
US03
TA3.1
TA3.2
TA3.3
TA3.4
TA3.5
TA3.6
TA3.7
US04
Estimativa Inicial: 6 h
TA4.1
TA4.2
TA4.3
TA4.4
US05
Estimativa Inicial: 8 h
TA5.1 Cadastro de um fornecedor com todos os campos (operao com sucesso).
TA5.2 Cadastro de fornecedor apenas com os campos obrigatrios (operao com
sucesso).
TA5.3 Cadastro de fornecedor faltando um campo obrigatrio (operao no realizada).
TA5.4 Cadastro de fornecedor faltando todos os campos obrigatrios (operao no
realizada).
US06 Implementar o cadastro de produto.
TA6.1
TA6.2
TA6.3
TA6.4
US07
TA7.1
TA7.2
TA7.3
TA7.4
US08
TA8.1
TA8.2
TA8.3
TA8.4
US09
TA9.1
TA9.2
TA9.3
US10
Estimativa Inicial: 8 h
Verificar se o fornecedor est sendo disponibilizado como opo.
Cadastro de um produto com todos os campos (operao com sucesso).
Cadastro de um produto com campos obrigatrios (operao com sucesso).
Cadastro de um produto sem os campos obrigatrios (operao no realizada).
Implementar o cadastro de cliente.
Estimativa Inicial: 8 h
Cadastro de um cliente com todos os campos (operao com sucesso).
Cadastro de cliente apenas com os campos obrigatrios (operao com sucesso).
Cadastro de cliente faltando um campo obrigatrio (operao no realizada).
Cadastro de cliente faltando todos os campos obrigatrios (operao no
realizada).
Implementar o cadastro de funcionrio.
Estimativa Inicial: 8 h
Cadastro de um funcionrio com todos os campos (operao com sucesso).
Cadastro de funcionrio apenas com os campos obrigatrios (operao com
sucesso).
Cadastro de funcionrio faltando um campo obrigatrio (operao no realizada).
Cadastro de funcionrio faltando todos os campos obrigatrios (operao no
realizada).
Implementar funcionalidade para listas de: cliente, funcionrio, fornecedor e
produto.
Estimativa Inicial: 22 h
No mdulo busca de cliente por nome (cliente retornado com sucesso).
No mdulo busca de funcionrio por nome (funcionrio retornado com sucesso).
No mdulo busca de fornecedor por nome (fornecedor retornado com sucesso).
Implementar funcionalidade de alterao, nos tipos de lista.
Estimativa Inicial: 10 h
47
TA10.1
TA10.2
TA10.3
TA10.4
US11
Estimativa Inicial: 5 h
TA11.1 Entrar no sistema a partir de login valido (autenticao realizada).
TA11.2 Entrar no sistema a partir de login invalido (autenticao no realizada).
Fonte: Autor da Pesquisa, 2011
48
49
O YP que as interfaces devem ser geradas da forma mais simples possvel, ou seja,
sem uso de ferramentas complexas.
50
O software ser produzido a partir de tecnologias WEB Abertas (Open Source), onde
os desenvolvedores podem consegui l sem nenhum custo. A arquitetura baseada com
componentes JSF que por padronizao apia o padro de projeto MVC (model, view and
controller), o cliente ao fazer suas requisies ao servidor, induz a camada de controle
redirecionar uma chamada para a camada de modelo que, por sua vez envia uma resposta ao
cliente na camada de apresentao com intermdio da camada de controle (ver Figura 08).
Para SGBD (sistema de gerenciamento de banco de dados) foi escolhido o MySQL,
um dos mais usados banco de dados na WEB, isso devido: desempenho, portabilidade,
facilidade de uso, exige pouco recurso de hardware, segurana, entre outros requisitos
necessrios para um padro de usabilidade.
51
52
4.4
PLANEJAMENTO
Depois do artefato de Inicializao ter sido finalizado e aprovado pelo cliente com as
especificaes necessrias para o andamento do projeto, parte-se para as fases seguintes, o
Plano de Releases e Iterao. relevante salientar que os perodos definidos nestes so de
tempo fixo, ou seja, o projeto pode passar por grandes modificaes, mas os tempos definidos
nos mesmos devem permanecer constantes, isso ajuda a manter credibilidade com cliente.
Equipe
Elder G. Pereira
Competncia
Java, JSP, JSF, PHP, HTML, MySQL, JavaScript,
Hibernate Annotation.
Release 01:
01/03/11 20/03/11
Iterao
Iterao 01
Iterao 02
Perodo
01/03/11 15/03/11
16/03/11 30/03/11
Release 02:
21/03/11 12/04/11
Iterao
Iterao 03
Iterao 04
User Story
US04, US05
US06, US07
Perodo
01/04/11 15/04/11
16/04/11 30/04/11
Release 03:
13/04/11 20/05/11
Iterao
Iterao 05
Iterao 06
User Story
US08, US09
US10, US11
Perodo
01/05/11 15/05/11
16/05/11 30/05/11
Cada User Story alocada em uma Iterao apresenta uma definio de problema a ser
solucionada, so listadas em um plano de Iterao e divididas em um conjunto de atividades,
54
A2.3
A2.4
A2.5
Responsvel
Configurao das
bibliotecas necessrias
no Eclipse.
Gerar as classes
entidades com
tecnologia Hibernate,
indispensveis para
mapeamento com o
banco.
Criar classe geradora
de tabela.
Criao de DAO
Genrico para
operaes CRUD, com
tecnologia Hibernate.
Criar classe teste para
por em prova o DAO
Genrio.
ELDER
Estimativa
de Tempo
(Horas)
1
ELDER
ELDER
ELDER
ELDER
Tempo
Real
(Horas)
STATUS
STATUS
STATUS
opo.
Verificar se o produto est sendo disponibilizado como opo.
Realizar venda com todos os campos (operao com sucesso).
Realizar venda sem todos os campos (operao no realizada).
Testar o campo Unidade para que liste a quantidade de produto
em estoque.
55
TA3.7
Atividade
A3.1
A3.2
A3.3
A3.4
A3.5
A3.6
A3.7
Descrio
Responsvel
Criao da interface
do mdulo de venda.
Criar os Beans
responsveis pelo
mapeamento das
informaes.
Criar mtodo para
listar os clientes na
interface.
Criar mtodo para
listar os funcionrios
na interface.
Criar mtodo para
listar os produtos na
interface.
Criar mtodo para
fazer o calculo do
valor da venda, aps
selecionar o produto
e unidades.
Mtodo para realizar
a efetivao do
cadastro, e o
cancelamento do
mesmo.
ELDER
Estimativa
de Tempo
(Horas)
1
ELDER
ELDER
ELDER
ELDER
ELDER
ELDER
Tempo
Real
(Horas)
STATUS
56
4.5 IMPLEMENTAO
Depois da Iterao ter sido definida parte-se para o processo de implementao, neste
momento a codificao iniciada, lembrando que para tal o YP recomenda o uso de
Integrao Contnua, Boas Prticas de Codificao, Propriedade coletiva de Cdigo (se existe
mais de um membro na equipe).
Segue-se o Plano de Iterao 02, as atividades referentes US02 geram a estrutura
base do sistema (ver Apndice A), depois as atividades referentes US03 geram o modulo de
venda do sistema (ver Apndice B). Com base no cdigo produzido, o mesmo submetido a
uma maratona de testes, primeiro Testes de Unidade (referentes estrutura interna do cdigo),
depois Testes de Aceitado (definidos pelo cliente), e Testes de Usabilidade (ver Apndice C).
4.5.1.1 Java
57
Apache
Tomcat
um
servidor
web desenvolvido
pela Apache
Software
Foundation (ASF), essa tecnologia implementa cmo JavaServer Pages (JSP) e Java Servlet
que atualmente so especificaes da Oracle Corporation, tendo como finalidade fornecer
um servidor web para aplicaes Java.
4.5.1.3 JSF
4.5.1.5 MySQL
O MySQL atualmente um dos SGBD (sistema de gerenciamento de banco de dados)
mais populares na WEB, apresenta algumas caractersticas importantssimas, como:
portabilidade, compatibilidade com drivers externos (JDBC uma API JAVA responsvel
pela comunicao entre MySQL e linguagem JAVA), suporte a controle transacionais, dentre
outras funcionalidades.
58
4.5.1.6 Hirbernate
O Hibernate um framework para o mapeamento objeto-relacional, esta tecnologia
facilita o mapeamento dos atributos de uma Classe Java em tabelas numa base de dados, a
partir de arquivos XML.
4.5.1.7 DAO
O DAO (data acess objecto) foi projetado para persistncia de dados em aplicaes
que utilizem banco de dados relacional, no desenvolvimento do SysVenda foi implementado
esse padro, sendo o principal papel do DAO no software consultar, alterar, inserir e excluir
dados, operaes estas indispensveis para manipulao dos registros.
4.5.1.8 MVC
Model, view and controller (modelo, viso e controle) um padro arquitetural para
criao de software que tem como objetivo a separao das camadas de controle, apresentao
e modelo. Por exemplo: um cliente faz uma requisio na camada de apresentao, que
conseqentemente faz a camada de controle direcionar essa requisio a camada de modelo, e
depois o acontecimento inverso deste processo at apresentao dos dados ao cliente.
59
As reunies segundo o YP devem acontecer uma vez a cada semana, neste momento
se a finalizao de uma iterao coincidir junto a reunio os mdulos do sistema produzidos
devem ser integrados, deve ocorrer tambm a coleta de mtricas por parte do Gerente para
atualizao do Big Chart, a finalizao do preenchimento da TAA (tabela de alocao de
atividades) e a indicao de possveis riscos no projeto se existir.
CC
TA
TU
PJ
US
01/03/11 15/03/11
16/03/11 30/03/11
10
24
Observao
Sem implementao de cdigo,
devido estudo das tecnologias.
60
A2.3
A2.4
A2.5
Responsvel
Configurao das
bibliotecas necessrias no
Eclipse.
Gerar as classes entidades
com tecnologia Hibernate,
indispensveis para
mapeamento com o banco.
Criar classe geradora de
tabela.
Criao de DAO Genrico
para operaes CRUD, com
tecnologia Hibernate.
Criar classe teste para por
em prova o DAO Genrio.
C
C
C
C
Tempo
Real
(Horas)
1
STATUS
ELDER
Estimativa
de Tempo
(Horas)
1
ELDER
ELDER
ELDER
4,5
ELDER
STATUS
STAT
US
C
C
C
C
C
C
61
TA3.7
Atividad
e
A3.1
A3.2
A3.3
A3.4
A3.5
A3.6
A3.7
Descrio
Responsvel
Tempo
Real
(Horas)
1
STAT
US
ELDER
Estimativa
de Tempo
(Horas)
1
Criao da interface do
mdulo de venda.
Criar os Beans responsvel
pelo mapeamento das
informaes.
Criar mtodo para listar os
cliente na interface.
Criar mtodo para listar os
funcionrios na interface.
Criar mtodo para listar os
produtos na interface.
Criar mtodo para fazer o
calculo do valor da venda ao
selecionar o produto e
unidades.
Implementar forma de
efetivar o cadastro, e
cancelar o cadastro.
ELDER
ELDER
1,5
ELDER
1,5
ELDER
1,5
ELDER
ELDER
Risco
Tecnologia
desconhecida
Prioridade
Alta
Responsvel
Elder
Status
Superado
Providencia/Soluo
Adquirir
conhecimento bsico
62
16/03/11
30/03/11
16/03/11
30/03/11
RichFaces
Tecnologia
desconhecida
Hibernate
Tecnologia
desconhecida
JFreeChar
Alta
Elder
Vigente
Baixa
Elder
Abortado
no assunto.
Adquirir
conhecimento mais
abrangente.
Adquirir
conhecimento bsico
no assunto, se o
projeto requerer
grficos.
63
5 CONSIDERAES FINAIS
64
Este trabalho serve como base para mostrar que o easYProcess apesar de ser uma
metodologia de desenvolvimento gil, deve passar por um processo de atualizao, no pelo
fato de ainda est disponvel na verso original (2007), mas que tambm tenha finalidade de
produzir menos artefatos, j que o mercado bem competitivo e tempo um bem precioso, e
desta forma competir com outras metodologias de desenvolvimento geis atualmente no
mercado.
Em relao ao sistema produzido (SysVenda), previsto que o mesmo em trabalhos
futuros seja submetido a um processo de atualizao (upgrade) para possveis melhoramentos
de suas funcionalidades e incrementos de outras pendncias, como a opo para visualizao
de grficos onde os administradores do SysVenda podero ter melhores anlises das
informaes na tela do sistema.
65
REFERNCIAS
66
MARTINES, Marina. RUP. 2010. Disponvel em: <http://www.infoescola.com/engenhariade-software/rup/>. Acesso: 19 de Abril de 2011.
KUHN, Giovane Roslindo. PAMPLONA, Vitor Fernando. Apresentando XP. Encante seus
clientes
com
Extreme
Programming.
2009.
Disponvel
em:
<http://
javafree.uol.com.br/artigo/871447/#equipe>. Acesso: 18 de Abril de 2011.
PRESSMAN, Roger. Software Engineering A Pratitictioners Approach. McGraw-Hill,
5th Edition, 2001.
MANSUR, Ricardo. Governana de TI: Metodologias, Frameworks e Melhores Prticas.
Rio
de
Janeiro:
BRASPORT,
2007,
pg.
167.
Disponvel
em:
<
http://www.livrariaresposta.com.br /v2/produto.php?id=30722&sp=0>. Acesso: 29 de Abril
de 2011.
67
APNDICES
68
@Enumerated(EnumType.STRING)
@Column(length=10)
private TipoVenda tipo;
//temos gets e set no fim do codigo
} // fim do cdigo acima
try{
session.update(tipo);
transaction.commit();
}catch(HibernateException hibernateException){
if(transaction.isActive()){
transaction.rollback();
}
hibernateException.printStackTrace();
condicao=false;
}
return condicao;
}
public boolean delete() {
boolean condicao=true;
try{
session.delete(tipo);
transaction.commit();
}catch(HibernateException hibernateException){
if(transaction.isActive()){
transaction.rollback();
}
hibernateException.printStackTrace();
condicao=false;
}
return condicao;
}
public List<Tipo> getAll(){
lista = new LinkedList<Tipo>();
try{
lista = session.createCriteria(tipo.getClass()).list();
}catch(HibernateException hibernateException){
lista =null;
}
return lista;
}
public Tipo getId(int id){
Tipo type;
try{
type = (Tipo)session.get(tipo.getClass(), id);
}catch(HibernateException erro){
type = null;
}
return type; }
return clientes;
}
// gets e sets
}
73
74
rows="5" rowClasses="linha1Tabela,
linha2Tabela">
<rich:column>
<f:facet name="header">
<h:outputText value="Produto(s)"/>
</f:facet>
<h:outputText value="#{item.produto.descricao}"/>
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="Valor/Produto"/
75
76