You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
403 lines
11 KiB
403 lines
11 KiB
\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<handout:0> {
|
|
\frametitle{Índice}
|
|
%\framesubtitle{\insertsection}
|
|
\tableofcontents[currentsection,subsectionstyle=show/show/hide]
|
|
}
|
|
}
|
|
|
|
%\AtBeginSubsection[] {
|
|
% \frame<handout:0> {
|
|
% \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}
|