-
Notifications
You must be signed in to change notification settings - Fork 0
EdgarFabiano/IMDB
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Implementação do Internet Media Data Bank - Imdb Alunos: Bruno Jorge Siqueira Rodrigues - 14/0017658 Edgar Fabiano de Souza Filho - 14/0019201 Lucas Rezende de Macedo - 14/0026363 Notas de compilacao e execucao ---------------------------------- para compilar todos os arquivos fonte, entre no diretorio "src" e execute: $ javac main/java/br/unb/cic/imdb/negocio/Main.java -d ../bin como o codigo fonte Main.java depende das outras classes, o compilador java (javac) é inteligente o suficiente para compilar todas as outras classes dependentes. Ou pode executar o programa diretamente do eclipse run -> Main a partir de br.unb.cic.imdb.negocio.Main Notas de código ---------------------------------- Para visualizar o código, deve-se importar o projeto no eclipse como um "Existing Maven Project" Import -> "Existing Maven Project into Workspace" -> ../Path/to/IMDB A implementação é a mesma desenvolvida em sala do imdb, com apenas algumas modificações e adaptações para o banco de dados Notas de GUI ---------------------------------- A interface gráfica foi feita utilizando o Java Swing, uma biblioteca gráfica completa e amplamente utilizada no desenvolvimento de programas juntamente com o plug-in windowbuilder para facilitar. Ela conta com: - Elementos intuitivos e fáceis de utilizar - Um JFrame onde serão inseridos os painéis - JPanels de cada parte do programa * Painel de Login * Painel de Cadatro * Painel de filtros por autor, trabalho artístico e gênero * Painel de avaliação e visualizar avaliações de um trabalho artístico * Painel de criar um trabalho artístico novo * Painel para visualizar as faixas de um trabalho artístico se ele for um álbum Notas de Injeção de Dependências ---------------------------------- O programa sustenta implementacoes em memoria e em JPA para os DAOs, para alternar entre elas basta comentar o bloco referente à implementacao desejada. Para utilizar a implementacao em memoria também é necessario retirar comentarios dos setters sinalizados na classe *Populador.java* no pacote *br.unb.cic.imdb.negocio*. Notas de Banco de dados ---------------------------------- O banco de dados utilizado foi o PostgreSQL 9.4.5, para utilizá-lo é necessario seguir os seguintes passos; - Criar um novo usuario "postgres" e senha "postgres"; Alternativamente, pode-se mudar a o usuario e a senha no arquivo *persistence.xml* caso o usuario ja possua o pgAdmin com usuario e senha diferente. - Para criar o database basta entrar no servidor do usuario, digitar sua senha; - Clicar com o botao direito em Databases->New Database...; - Nomear o database "imdb". Notas de cobertura de código ---------------------------------- Foi utilizado o plugin do eclipse "EclEmma Java Code Coverage 2.3.2" para fazer os testes de cobertura de aplicação, e em diversos testes, a média de cobertura ficou entre 70% representando uma taxa de cobertura razoável pois na maioria dos casos, a cobertura depende do usuário, ou seja, os métodos não serão chamados nem objetos instanciados se o usuário não requisitar pela GUI. Pontos positivos ---------------------------------- Da forma que está implementado, é possível trocar de estratégia durante uma geração do jogo, ou seja, pode-se iniciar um tabuleiro aleatório utilizando uma regra específica, e ao longo do jogo trocar de regra, sem perder a configuração. Pode-se fazer isso inclusive quando o Thread está ativo, ou seja, quando estiver passando de gerações de forma automatizada, pode-se tornar vivas ou matar célular, e trocar as regras do jogo independentemente. E devido a injeção de dependencias, é relativamente fácil de implementar novas regras, bastnado criar uma classe que herda de uma interface e sobrescrever alguns métodos.
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published