2008-1
ESTÁGIO SUPERVISIONADO II - 2008.1 Equipe: Alyson, Ângelo, Cláudio Daniel, Davson, Erick, Felipe Gaspar, Gustavo, João, Leonardo Luiz, Rubens Prof. Eduardo Mendes Prof. Régis Simão
Ipiranga OBJETIVOS É proposto o desenvolvimento de um sistema de gerenciamento de conteúdo para sites web, que vai informatizar o processo de criação de páginas, notícias, enquetes, fóruns, galerias de fotos. Deverão ser geradas páginas com conteúdo dinâmico e páginas estáticas baseadas nos conteúdos e opções configuradas.
Diagrama de Casos de Uso €
Diagrama de Classes €
Diagrama de Componentes €
Diagrama de Instalação €
Revisar Conteúdo - Geral Inclui: Objetivos Publico alvo Descrição Atores Envolvidos Pre-Condições Fluxo principal – Publicar Conteúdo Fluxo alternativo – Excluir pendência Fluxo alternativo – encaminhar Pos-Condições Critérios de aceite Freqüência Observações 1 documento de Regras de Negocio
Revisar Conteúdo - Documento €
Revisar Conteúdo - Prototipo
Classes €
Diagramas de Seqüência - Publicar conteúdo €
Diagramas de Seqüência – Encaminhar ao autor €
Diagramas de Seqüência - Excluir €
Implementação-ManterOrigemBean 1 €
Implementação – ManterOrigemBean 2 €
Implementação - xhtml <ui:define name="espaco_4"> <p class="titulo_caso_de_uso">Manter Origem</p> <h:form> <h:panelGrid columns="3" align="center"> <h:inputHidden id="id" value="#{manterOrigemBean.origem.id}" /> <h:outputLabel for="nome" value="Nome" /> <h:inputText id="nome" value="#{manterOrigemBean.origem.nome}" /> <h:message for="nome" class="mensagemDeErro" /> <h:outputLabel for="endereco" value="Endereco" /> <h:inputText id="endereco" value="#{manterOrigemBean.origem.endereco}" /> <h:message for="endereco" class="mensagemDeErro" /> <h:outputLabel for="telefone" value="Telefone" /> <h:inputText id="telefone" value="#{manterOrigemBean.origem.telefone}" /> <h:message for="telefone" class="mensagemDeErro" /> <h:outputLabel for="email" value="Email" /> <h:inputText id="email" value="#{manterOrigemBean.origem.email}" /> <h:message for="email" class="mensagemDeErro" />
Implementação – ManterOrigemBean 3 €
MANTER ORIGEM €
Classes €
Diagramas de Seqüência Consultar Origem €
Diagramas de Seqüência Incluir Origem €
Diagramas de Seqüência Editar Origem €
Diagramas de Seqüência Excluir Origem €
Implementação Página Editar Origem €
Implementação Página Editar Origem €
Manter Páginas - Classes
Diagramas de Seqüência – Listar Páginas
Diagramas de Seqüência – Gerar Página
Diagramas de Seqüência – Excluir Página
Diagramas de Seqüência – Alterar Página
Configurar Componente na página - Documento €
Classes €
Diagramas de Seqüência – Incluir Componentes à Página €
Diagramas de Seqüência – Excluir Componentes da Página €
Diagramas de Seqüência – Reordenar Componentes da Página €
Implementação – Noticia.java €
Implementação - NoticiaDAO €
Manter Noticia €
Manter Noticia €
Manter Noticia - Classes €
Publicar Noticia €
Publicar Noticia €
Publicar Noticia - Classes €
Diagramas de Seqüência €
Diagramas de Seqüência €
Diagramas de Seqüência €
Diagramas de Seqüência €
Diagramas de Seqüência €
Implementação €
Implementação €
Implementação €
Manter propaganda €
Diagrama de Classe Manter propaganda:
Diagrama de Seqüencia do Fluxo Principal Manter Propaganda:
Diagrama Seqüência Inserir Propaganda:
Diagrama de Seqüencia Consultar Propaganda:
Diagrama de Seqüência Alterar Propaganda:
Diagrama de Seqüencia Excluir Propaganda:
Implementação - ManterOrigemDAO €
Implementação - Origem €
Manter Configuração Propaganda € Fluxo Básico (Happy Day) P1. Inicio do caso de uso Este caso de uso se inicia quando um autor solicita a o caso de uso Manter Configuração Propaganda. P2. Recuperação de dados O sistema recupera os dados existentes. P3. Exibição de dados O sistema apresenta as páginas existentes com suas respectivas configurações. (A1)(A2)(A3) P4. Encerramento do caso de uso:O caso de uso está encerrado.
Diagrama de Casos de Uso €
Classes €
Diagramas de Seqüência – Solicitação €
Diagramas de Seqüência – Inclusão
Diagramas de Seqüência - Alteração €
Diagramas de Seqüência – Exclusão €
Implementação package br.com.ipiranga.negocio; import java.util.List; import br.com.ipiranga.negocio.modelo.Noticia; import br.com.ipiranga.negocio.persistencia.NoticiaDAO; public class NoticiaBusinessController { private NoticiaDAO noticiaDAO; public NoticiaBusinessController() noticiaDAO = new NoticiaDAO(); } public List<Noticia> recuperarNoticias(Noticia noticia) return noticiaDAO.recuperarNoticias(noticia); public Noticia recuperarNoticia(Long id) return noticiaDAO.findById(id); public void excluir(Noticia noticia) noticiaDAO.remove(noticia); public void salvar(Noticia noticia) noticiaDAO.save(noticia);
Caso de Uso Manter Evento €
Caso de Uso Manter Evento €
Caso de Uso Manter Evento €
Caso de Uso Manter Evento €
Caso de Uso Manter Evento €
Caso de Uso Manter Evento €
Caso de Uso Manter Evento €
Classes €
Diagramas de Seqüência €
Diagramas de Seqüência €
Diagramas de Seqüência €
Diagramas de Seqüência €
Diagramas de Seqüência €
Implementação
Implementação
Implementação
Implementação
Fluxo Básico (Happy Day): P2. Sistema busca os fóruns. Manter Forum: Fluxo Básico (Happy Day): P1. Inicio do caso de uso. O ator solicita a funcionalidade do fórum P2. Sistema busca os fóruns. P3. Sistema exibe os fóruns. O sistema exibe os fóruns já existentes onde o ator poderá obtar por criar um novo fórum (A1), alterar os dados existentes (A2) ou excluir (A3). P4. Caso de uso se encerra.
Diagrama de Classe Manter Forum:
Diagrama de Seqüencia do Fluxo principal Manter Forum:
Diagrama Seqüência Inserir Forum:
Diagrama de Seqüencia Consultar Forum:
Diagrama de Seqüência Alterar Forum:
Diagrama de Seqüencia Excluir Forum:
Implementação €
Manter Menu €
Manter Menu ECU
Classes €
Diagramas de Seqüência Recuperar Itens €
Diagramas de Seqüência Cadastrar Item €
Diagramas de Seqüência Cadastrar Sub-Item €
Diagramas de Seqüência Excluir Item €
Diagramas de Seqüência Alterar Item €
Implementação €
Manter Enquete Fluxo Básico (Happy Day) P1. Inicio do caso de uso Este caso de uso se inicia quando um autor solicita a o caso de uso Manter Enquetes. P2. Recuperação de dados O sistema recupera a lista de enquetes existentes. P3. Exibição de dados O sistema exibe os dados ao autor com as informações “título da enquete” e “data de criação” conforme anexo 1. (A1)(A2)(A3)(A4) P4. Encerramento do caso de uso O caso de uso está encerrado.
Classes €
Diagramas de Seqüência – recuperação €
Diagramas de Seqüência – inserção €
Diagramas de Seqüência – buscar €
Diagramas de Seqüência – consultar €
Diagramas de Seqüência – alteração €
Diagramas de Seqüência – excluir €
Diagramas de Seqüência – Adicionar Resposta €
Implementação public void setNoticias(List<Noticia> noticias) { this.noticias = noticias; } private void limpar_noticia() { noticia = new Noticia(); noticias = null; private void pegaParametroId() { FacesContext context = FacesContext.getCurrentInstance(); Map<String,String> resquestParams = context.getExternalContext().getRequestParameterMap(); setId(Long.valueOf(resquestParams.get("id").toString())); public String pesquisar() { setMensagemDeErro(null); noticias = noticiaBC.recuperarNoticias(noticia); if (noticias == null || noticias.size() == 0) mensagemDeErro = "A pesquisa não retornou nenhum noticia"; return "manter_noticias";
Manter Galeria de Fotos - Documento
Manter Galeria de Fotos - Documento
Manter Galeria de Fotos - Documento
Classes
Diagramas de Seqüência – Galeria de Fotos (Recuperar Galeria)
Diagramas de Seqüência – Galeria de Fotos (Incluir Galeria)
Diagramas de Seqüência – Galeria de Fotos (Incluir Foto)
Diagramas de Seqüência – Galeria de Fotos (Alterar Galeria)
Implementação-NoticiasBusinessController
Implementação – Noticia
Implementação – Noticia 2
Manter Contatos €
Diagrama de Classes Manter Contatos €
Diagrama de Seqüencia do Fluxo principal Manter Contatos: €
Inserir Manter Contatos: €
Consultar Manter Contatos: €
Alterar Manter Contatos: €
Excluir Contatos: €
Implementação - ManterPaginaDAO
Implementação - Pagina
Ferramentas e Tecnologias Utilizadas Subversion (Google), Tortoise, Subclipse (Plugin Eclipse) UML, StarUML Eclipse XHTML e CSS Linguagens e Frameworks utilizados na implementação: Java JSF (Java Server Faces) Facelets para criação de templates JPA e Hibernate para a persistência Processo de Desenvolvimento de Software das Disciplinas de Estágio da FA7
Dificuldades Enfretadas Substituição do Professor Professor teve que ser substituído devido a problemas de saúde Falta de comprometimento dos alunos com a disciplina Muitas faltas, não cumprimento dos prazos das tarefas, falta de estudo nas tecnologias utilizadas Pouco tempo na etapa de VF Feriados, Jornada CETI, Antecipação da apresentação
Lições Aprendidas Necessidade de treinamento para os alunos em JSF, Facelets e Hibernate no início da disciplina Desenvolvimento rápido dos casos de usos deve ser implementado nas disciplinas de estágio: logo no início do semestre o aluno já passa por todas fases do desenvolvimento Análise e Projeto não necessitam ser completamente detalhados para todos os cenários
FIM OBRIGADO !!!