\documentclass[11pt]{beamer} \usetheme{Oxygen} \usepackage{xcolor} \usepackage{thumbpdf} \usepackage{wasysym} \usepackage[utf8]{inputenc} \usepackage[brazil]{babel} \usepackage{graphicx} \usepackage{pgf,pgfarrows,pgfnodes,pgfautomata,pgfheaps,pgfshade} \usepackage{verbatim} %\useoutertheme{shadow} \setbeamertemplate{sections/subsections in toc}[sections numbered] \setbeamersize{text margin left=10mm} \setbeamersize{text margin right=8mm} \definecolor{laranja}{HTML}{cc0000} \definecolor{azul}{HTML}{003366} %\setbeamercolor{alerted text}{fg=azul} %\setbeamercolor{structure}{fg=azul} %\setbeamercolor{palette primary}{fg=laranja} %\setbeamercolor{palette secondary}{fg=laranja!75!black} %\setbeamercolor{palette tertiary}{fg=laranja!50!black} %\setbeamercolor{palette quaternary}{fg=black} \def\gap{\vspace{0.1in}} \def\Gap{\vspace{0.25in}} \pdfinfo { /Title (Wiki UFC) /Creator (TeX) /Author (Álinson Santos, André Castro, Adriano Freitas, Luis Henrique, Rafael Barbosa) } \title{\textbf{Wiki UFC}} \subtitle{Apresentação da Aplicação} \date{28 de junho de 2007} \author[Álinson, André, Adriano, Bustamante, Rafael]{\small{ Álinson Santos \\ André Castro \\ Adriano Freitas \\ Luis Henrique \\ Rafael Barbosa }} \begin{document} % Capa % ============================================================================== \section*{} \frame{ \titlepage \thispagestyle{empty} } \begin{frame} \frametitle{Índice} %\framesubtitle{Visão geral} \tableofcontents[subsectionstyle=hide] \end{frame} \AtBeginSection[] { \frame { \frametitle{Índice} %\framesubtitle{\insertsection} \tableofcontents[currentsection,subsectionstyle=show/show/hide] } } %\AtBeginSubsection[] { % \frame { % \tableofcontents[sectionstyle=show/hide,subsectionstyle=show/shaded/hide] % } %} \newcommand<>{\highlighton}[1]{% \alt#2{\structure{#1}}{{#1}} } % Introdução % ============================================================================== \section{Introdução} % Problema atual e solucao proposta % ------------------------------------------------------------------------- \subsection{Problema atual} \begin{frame} \frametitle{Problema atual} Hoje em dia, os alunos do nosso curso não possuem uma maneira eficiente de trocar informações sobre as disciplinas que estão cursando. \gap \begin{itemize} \item Cada disciplina possui sua própria lista de emails \item Não existe um calendário oficial no qual os estudantes possam confiar \item É dificil compartilhar material como notas de aulas e listas de exercícios \item É díficil obter o material utilizado nos semestres anteriores \end{itemize} \end{frame} % Objetivos % ------------------------------------------------------------------------- \subsection{Solução proposta} \begin{frame} \frametitle{Solução proposta} Uma aplicação \textsc{WEB} colaborativa onde os alunos poderão compartilhar informações sobre as disciplinas que estão cursando. \Gap Objetivos: \begin{itemize} \item Permitir a colaboração descentralizada de alunos para o curso \item Facilitar a divulgação do conhecimento \item Tornar a vida do estudante mais organizada \end{itemize} \end{frame} % Soluções alternativas % ------------------------------------------------------------------------- \subsection{Soluções alternativas} \begin{frame} \frametitle{Soluções alternativas} \begin{block}{WebAdmin} Sistema criado por Windson Viana para facilitar a manutenção de páginas pelos professores do curso de Computação. Em funcionamento no site \texttt{http://disciplinas.lia.ufc.br} \end{block} \gap \begin{block}{Moodle} Moodle é um Software Livre de E-Learning, desenvolvido para facilitar a criação de cursos online não presencias. Possui recursos avançados, como fóruns, blogs, wikis, chats, e quizzes. \end{block} \end{frame} % Metodologia % ============================================================================== \section{Metodologia} \begin{frame} \frametitle{Scrum} Scrum é um método ágil, criado em 1993, para permitir que o desenvolvimento rápido de aplicações. Atualmente é utilizado em empresas como Google, Yahoo, Eletronic Arts, Philips e Nokia. \Gap Como funciona? \begin{itemize} \item Manutenção de um \alert{backlog}, com as tarefas pendentes \item Desenvolvimento segmentado em ciclos, chamados de \alert{sprints} \item Reuniões periódicas, ao final de cada sprint \end{itemize} \end{frame} \begin{frame} \frametitle{Scrum} \framesubtitle{Backlog} \includegraphics[width=110mm]{backlog.png} \end{frame} \begin{frame} \frametitle{Scrum} \framesubtitle{Sprints e Reuniões} No nosso projeto, \begin{itemize} \item Cada sprint durava uma semana \item As reuniões eram realizadas segundas feiras, às 16h \end{itemize} \gap Em cada reunião: \begin{itemize} \item Discutíamos o que havia sido implementado no sprint anterior \item Discutíamos o que não havia sido implementado, por algum motivo.. \item Colocávamos novos itens no backlog \item Definiamos que tarefas cada um realizaria durante o próximo sprint \end{itemize} \end{frame} % Tecnologias % ============================================================================== \section{Tecnologias} % Ruby % -------------------------------------------------------------------------- \subsection{Linguagem Ruby} \begin{frame} \frametitle{Linguagem Ruby} Ruby é uma linguagem de programação orientada a objetos, criada por Yukihiro Matsumoto em 1995. Implementação oficial licenciada sob a GPL. \gap \begin{itemize} \item Sintaxe simples e legível \item Completamente orientada a objetos \item Herança múltipla avançada, através de Mixins \item Introspecção, reflexão e meta-programação \item Garbage collector \end{itemize} \end{frame} % Ruby on Rails % -------------------------------------------------------------------------- \subsection{Ruby on Rails} \begin{frame} \frametitle{Ruby on Rails} Ruby on Rails é um framework para o desenvolvimento aplicações web, que segue os principios \emph{Don't Repeat Yourself (DRY)} e \emph{Convention over Configuration}. \gap \begin{columns}[c] \column{1.0in} \begin{center} \includegraphics[width=0.60 in]{rails.png} \end{center} \column{5.5in} \begin{itemize} \item Arquitetura Model-View-Controller \item Mapeamento objeto-relacional \item Scaffolds, Generators e Migrations \item Suporte nativo a testes automatizados \item Integração com Ajax e Webservices \item Servidor web incluso! \end{itemize} \end{columns} \end{frame} \begin{frame} \frametitle{Ruby on Rails} \framesubtitle{A arquitetura MVC} \begin{description} \item Arquitetura para desenvolvimento que trabalha com três partes: \item[Model] Dados armazenados da aplicação \item[View] Seção visível ao usuário, e com a qual ele interage \item[Controller] Interface entre Model e View, que estabelece as regras de negócio. \end{description} \end{frame} % % \begin{frame} % \frametitle{Rails é ágil!} % \begin{itemize} % \item Para um desenvolvimento ágil... % \item ... é necessária uma "linguagem ágil"\vspace{2mm} % \item Rails é ágil!\vspace{4mm} % \item Com Rails, é possível fazer um blog em 15 minutos: \\ http://www.rubyonrails.org/screencasts % \end{itemize} % \framesubtitle{Um blog em 15 minutos} % \end{frame} % Subversion e Trac % -------------------------------------------------------------------------- \subsection{Subversion e Trac} \begin{frame} \frametitle{Subversion e Trac} Subversion é um software open source para controle de versões. \begin{itemize} \item O código fonte é armazenado em um servidor web \item Cada programador pode ler e modificar os arquivos remotamente \item As versões antigas dos arquivos estão sempre disponíveis para consulta. \end{itemize} \gap Trac é uma aplicação web para gerenciamento de projetos e bugtracking, com integração a Subversion. \end{frame} % Aplicação % ============================================================================== \section{Aplicação} % Funcionalidades % -------------------------------------------------------------------------- \subsection{Funcionalidades} \begin{frame} \frametitle{Funcionalidades} Entre as funcionalidades implementadas estão: \gap \begin{itemize} \item Um \textsc{Wiki} para conter as notas de aula \item Um calendário, para receber datas de provas e entregas de trabalho \item Um repositório de arquivos, onde serão armazenadas listas de exercícios, e provas antigas \item Um mural, para postagem de notícias sobre a disciplina \end{itemize} \end{frame} \begin{frame} \frametitle{Funcionalidades} \framesubtitle{Adicionais} E, além das funcionalidades básicas: \gap \begin{itemize} \item Wiki com suporte a sintaxe Markdown e controle de versões, \item Calendário com exportação nos formatos iCalendar e RSS, \item Shoutbox, que permite a comunicação rápida entre os usuários, \item Página pessoal, que integra as informações sobre as disciplinas cursadas pelo aluno, \item Site personalizável. \end{itemize} \end{frame} % Demonstração % -------------------------------------------------------------------------- \subsection{Demonstração} \begin{frame} \frametitle{Wiki UFC} \begin{center}\alert{Demonstração...}\end{center} \end{frame} % Conclusão % ============================================================================== \section{Conclusão} % Dificuldades Encontradas % -------------------------------------------------------------------------- \subsection{Dificuldades Encontradas} \begin{frame} \frametitle{Dificuldades encontradas} As maiores dificuldades para realizar o projeto foram: \gap \begin{itemize} \item Estudar a linguagem Ruby \item Aprender a utilizar os recursos do framework Ruby on Rails \item Conseguir tempo para programar, já que nós estamos cursando, pelo menos, quatro outras disciplinas \item Sincronizar o nosso método ágil com relatórios tradicionais da disciplina \end{itemize} \end{frame} % Pontos Positivos % -------------------------------------------------------------------------- \subsection{Pontos Positivos} \begin{frame} \frametitle{Pontos positivos} Sobre o projeto em geral: \begin{itemize} \item A equipe aprendeu a utilizar muitas tecnologias novas \item Aplicamos alguns conceitos da disciplina na prática \end{itemize} \gap Sobre o método Scrum: \begin{itemize} \item Reuniões semanais: não ficou tudo pro fim! \item Backlog: Sabíamos exatamente o que ainda faltava ser feito \end{itemize} \end{frame} % Perspectivas % -------------------------------------------------------------------------- \subsection{Perspectivas} \begin{frame} \frametitle{Perspectivas} Para o futuro, planejamos: \gap \begin{itemize} \item Implementar alguns itens que, por falta de tempo, não puderam ser inclusos no projeto original. \item Colocar em funcionamento, para os alunos puderem usar de verdade. \item Abrir como um projeto Open Source. \end{itemize} \end{frame} % Perguntas? % ============================================================================== \begin{frame} \frametitle{Fim!} \begin{center}\huge{\alert{Perguntas?}}\end{center} \end{frame} \end{document}