MAC499 - Trabalho de Formatura Supervisionado Rachel de Paula Thiago Lourençoni Wu Chen Lung Estágio realizado em uma empresa que atua na área de ASP (Application Service Provider). Empresa: Websee Interatividade Qualificada (http://www.websee.com.br), oferece soluções em aplicações e hospedagem para Internet. Projeto Website: Dinheiro Grátis (http://www.dinheirogratis.com.br). Site de cupons de desconto que são oferecidos para usuários cadastrados. Através de buscas um usuário pode encontrar cupons em sua cidade, em determinadas categorias (restaurantes, esporte, etc.), em shoppings ou no seu bairro. Depois basta imprimí-los para obter desconto e economizar dinheiro. Página principal do Dinheiro Grátis Exemplo de Cupom Nossas Responsabilidades Instalação e configuração de aplicativos e servidores, especificação e análise dos requisitos, modelagem de dados e do sistema, codificação, documentação, testes, manutenção, e estipulação de prazos. Também somos responsáveis pela interface com os designers e com os clientes. Ferramentas utilizadas - Linguagem de programação: Java. - Banco de Dados: MySQL. - JavaServlets: objetos java que rodam no servidor e devolvem código HTML, gerando páginas dinâmicamente. - JSP (Java Server Pages): código java é inserido no meio de páginas html, é interpretado pelo servidor e um servlet é gerado para cada página jsp, proporciona melhor separação entre design e programação. Ferramentas utilizadas - JDBC (Java Database Connectivity): usado para conexão e manipulação do Banco de Dados. - JNDI (Java Naming Directory Interface): Interface Java utilizada para associar nomes a uma tabela de contexto, no caso usada para acesso e manipulação de arquivos e diretórios. - Outras ferramentas: JavaScript e PHP. Desafios - Não tinhamos nenhuma experiência com programação para Internet e nosso conhecimento de Banco de Dados era mínimo, portanto o projeto ao todo foi um desafio. - Este também foi nosso primeiro grande projeto comercial. Frustrações - Apesar de termos toda responsabilidade do projeto os prazos inicialmente não eram estipulados por nós, mas sim pela área de marketing da empresa. - Falta de um supervisor com experiência em desenvolvimento de projetos. O que faríamos diferente - Fazer uma especificação inicial bem detalhada e que só poderia ser modificada juntamente com alterações nos prazos do projeto. - Utilizar ferramentas para modelagem do banco de dados, como construção de diagramas ER (Entidade-Relacionamento). - Utilizar ferramentas CASE, para especificação e modelagem do sistema. Disciplinas relevantes para o estágio - Banco de Dados - Programação Orientada a Objetos - Programação Concorrente - Estrutura de Dados - Engenharia de Software - Interação Homem-Computador - Laboratório de Programação - Administração de Sistemas Unix - Redes - Introdução à Computação - Princípios de desenvolvimento de Algoritmos - Estrutura Geral do curso de BCC Bibliografia utilizada - http://www.java.sun.com: principal fonte de pesquisa e base de todo nosso trabalho - http://java.sun.com/products/servlet/2.2/javadoc/overviewsummary.html: API sobre Servlets - http://www.apl.jhu.edu/hall/java/Servlet-Tutorial/ServletTutorial-Intro.html: Tutorial sobre Java Servlets e JSP - http://java.sun.com/products/jndi/1.2/javadoc/javax/naming/ package-summary.html: API sobre JNDI - http://www.mysql.com/documentation/mysql/bychapter: documentação sobre MySQL Bibliografia utilizada - http://www.servlets.com: utilizado como fonte de exemplos de servlets - http://www.iit.edu/gawojar/ldap: utilizado no início para pesquisa sobre LDAP (LightWeight Directory Acess Protocol)