|
| 1 | +\documentclass[11pt,a4paper]{article} |
| 2 | + |
| 3 | +\usepackage[spanish]{babel} |
| 4 | +\usepackage[utf8]{inputenc} |
| 5 | +\usepackage{url} |
| 6 | + |
| 7 | + |
| 8 | +\title{Práctica 2 - Interfaces Gráficas de Usuaria en android} |
| 9 | +\author{Interfaces Persona Máquina} |
| 10 | +\date{Curso 16/17} |
| 11 | + |
| 12 | +\renewcommand{\abstractname}{Objetivos} |
| 13 | + |
| 14 | + |
| 15 | +\begin{document} |
| 16 | + |
| 17 | + |
| 18 | +\maketitle |
| 19 | + |
| 20 | +\begin{abstract} |
| 21 | + Aplicar los conocimientos adquiridos sobre el desarrollo de |
| 22 | + interfaces gráficas de usuaria creando una aplicación para la |
| 23 | + plataforma android. |
| 24 | +\end{abstract} |
| 25 | + |
| 26 | + |
| 27 | +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| 28 | +\section{Descripción} |
| 29 | + |
| 30 | +La aplicación que desarrollarás será un aleatorizador de listas |
| 31 | +genérico que facilite la toma de decisiones en grupos. |
| 32 | + |
| 33 | +Los siguientes apartados describen los \emph{sprints} que debes |
| 34 | +realizar según la planificación establecida. |
| 35 | + |
| 36 | + |
| 37 | +\subsection{Requisitos no funcionales} |
| 38 | +\begin{itemize} |
| 39 | +\item La implementación se realizará con las herramientas y lenguajes |
| 40 | + definidas por la plataforma android. |
| 41 | +\end{itemize} |
| 42 | + |
| 43 | + |
| 44 | +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| 45 | +\section{Sprint 1} |
| 46 | + |
| 47 | +En este \emph{sprint} debes realizar los siguientes pasos: |
| 48 | + |
| 49 | +\begin{enumerate} |
| 50 | +\item Diseña una IU que permita ver una lista de categorías y realizar |
| 51 | + las tareas básicas sobre ella: añadir, borrar, editar. Cada |
| 52 | + categoría viene identificada por su nombre. |
| 53 | + |
| 54 | + Puedes emplear el formato de tu elección para documentar el diseño. |
| 55 | + |
| 56 | +\item Haz un diseño software de la aplicación para dar soporte a la |
| 57 | + interface que acabas de diseñar. |
| 58 | + |
| 59 | + El diseño debe ajustarse a la idea básica del MVC: separar la vista |
| 60 | + del modelo. |
| 61 | + |
| 62 | + Para documentar el diseño debes usar los diagramas UML necesarios. |
| 63 | + |
| 64 | +\item Implementa el diseño. |
| 65 | + |
| 66 | +\item Valida todos los pasos anteriores, en especial el funcionamiento |
| 67 | + de tu implementación. A continuación asígnale al último commit del |
| 68 | + repositorio la etiqueta \texttt{sprint1}. |
| 69 | + |
| 70 | +\item Valida el contenido del repositorio remoto\footnote{HINT: |
| 71 | + después de clonarlo, puedes hacer un reset a la etiqueta |
| 72 | + \texttt{sprint1} (\texttt{git clone --hard sprint1})}. |
| 73 | +\end{enumerate} |
| 74 | + |
| 75 | + |
| 76 | +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| 77 | +\section{Sprint 2} |
| 78 | + |
| 79 | +En este \emph{sprint} debes realizar los siguientes pasos: |
| 80 | + |
| 81 | +\begin{enumerate} |
| 82 | +\item Cada categoría tiene a su vez asociada una lista de elementos, |
| 83 | + igualmente caracterizados por un nombre. |
| 84 | + |
| 85 | + Incrementa el diseño de la IU de manera que al seleccionar un |
| 86 | + elemento de la lista de categorías, permita ver su lista de |
| 87 | + elementos asociada. También deben se posible realizar las tareas |
| 88 | + básicas sobre esta última lista: añadir, borrar, editar. |
| 89 | + |
| 90 | +\item Haz un diseño software de la aplicación para dar soporte a la |
| 91 | + interface que acabas de diseñar. |
| 92 | + |
| 93 | + El diseño debe ajustarse a la idea básica del MVC: separar la vista |
| 94 | + del modelo. |
| 95 | + |
| 96 | + Para documentar el diseño debes usar los diagramas UML necesarios. |
| 97 | + |
| 98 | +\item Implementa el diseño. |
| 99 | + |
| 100 | +\item Valida todos los pasos anteriores, en especial el funcionamiento |
| 101 | + de tu implementación. A continuación asígnale al último commit del |
| 102 | + repositorio la etiqueta \texttt{sprint2}. |
| 103 | + |
| 104 | +\item Valida el contenido del repositorio remoto. |
| 105 | +\end{enumerate} |
| 106 | + |
| 107 | + |
| 108 | +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| 109 | +\section{Sprint 3} |
| 110 | + |
| 111 | +En este \emph{sprint} debes realizar los siguientes pasos: |
| 112 | + |
| 113 | +\begin{enumerate} |
| 114 | +\item Incrementa el diseño de la IU de forma que, mientras se están |
| 115 | + visualizando los elementos de una categoría, sea posible seleccionar |
| 116 | + uno de manera aleatoria y mostrarlo como único elemento en pantalla. |
| 117 | + |
| 118 | + Para crear una selección aleatoria, debes considerar las siguientes |
| 119 | + acciones: |
| 120 | + |
| 121 | + \begin{itemize} |
| 122 | + \item Agitar el dispositivo\footnote{Ten en cuenta que no es posible |
| 123 | + en el emulador.}. |
| 124 | + \item Girar el dispositivo (horizontal <-> vertical) dos veces en |
| 125 | + menos de un segundo. |
| 126 | + \item Colocar el dispositivo boca abajo, esperar un segundo y |
| 127 | + leventarlo. |
| 128 | + \end{itemize} |
| 129 | + |
| 130 | +\item Incrementa el diseño software de la aplicación para dar soporte |
| 131 | + a los cambios que estás introduciendo. |
| 132 | + |
| 133 | +\item Implementa el diseño. |
| 134 | + |
| 135 | + OJO: Ten en cuenta que no todos los dispositivos tienen las mismas |
| 136 | + capacidades. Por lo tanto deberas comprobar en ejecución cual de los |
| 137 | + tres métodos es viable. |
| 138 | + |
| 139 | +\item Valida todos los pasos anteriores, en especial el funcionamiento |
| 140 | + de tu implementación. A continuación asígnale al último commit del |
| 141 | + repositorio la etiqueta \texttt{sprint3}. |
| 142 | + |
| 143 | +\item Valida el contenido del repositorio remoto. |
| 144 | +\end{enumerate} |
| 145 | + |
| 146 | + |
| 147 | + |
| 148 | +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| 149 | +\section{Sprint 4} |
| 150 | + |
| 151 | + |
| 152 | +En este \emph{sprint} debes realizar los siguientes pasos: |
| 153 | + |
| 154 | +\begin{enumerate} |
| 155 | +\item Incrementa el diseño de la IU con un apartado dedicado a |
| 156 | + aprovechar las pantallas de las tablets. |
| 157 | + |
| 158 | +\item Incrementa el diseño software de la aplicación para dar soporte |
| 159 | + a los cambios que estás introduciendo. |
| 160 | + |
| 161 | +\item Implementa el diseño. |
| 162 | + |
| 163 | + HINT: Si no lo has hecho ya, seguramente tendrás que sustituir tus |
| 164 | + \texttt{Acitivity}s por \texttt{Fragment}s. |
| 165 | + |
| 166 | +\item Valida todos los pasos anteriores, en especial el funcionamiento |
| 167 | + de tu implementación. A continuación asígnale al último commit del |
| 168 | + repositorio la etiqueta \texttt{sprint4}. |
| 169 | + |
| 170 | +\item Valida el contenido del repositorio remoto. |
| 171 | +\end{enumerate} |
| 172 | + |
| 173 | + |
| 174 | + |
| 175 | + |
| 176 | + |
| 177 | +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
| 178 | +\section{Sprint 5} |
| 179 | + |
| 180 | + |
| 181 | +En este \emph{sprint} debes realizar los siguientes pasos: |
| 182 | + |
| 183 | +\begin{enumerate} |
| 184 | +\item Internacionaliza la aplicación. |
| 185 | + |
| 186 | + Usa los mecanismos provistos por la plataforma para el soporte de |
| 187 | + idiomas. |
| 188 | + |
| 189 | +\item Localiza el idioma de la aplicación a dos idiomas de tu |
| 190 | + preferencia. |
| 191 | + |
| 192 | +\item Documenta y corrige los casos en que la interface no cumple el |
| 193 | + principio ``principle of least astonishment''. |
| 194 | + |
| 195 | +\item Documenta y corrige los casos en que la interface: |
| 196 | + \begin{itemize} |
| 197 | + \item no gestiona los errores, |
| 198 | + \item no proporciona \textit{feedback} cuando es necesario, |
| 199 | + \item no gestiona la concurrencia, i.e. se bloquea, |
| 200 | + \item no gestiona el ciclo de vida de la aplicación, |
| 201 | + \end{itemize} |
| 202 | + |
| 203 | +\item Documenta y corrige los casos en que la interface no cumple las |
| 204 | + \emph{Android User Interface Guidelines}. |
| 205 | + |
| 206 | +\item Valida todos los pasos anteriores, en especial el funcionamiento |
| 207 | + de tu implementación. A continuación asígnale al último commit del |
| 208 | + repositorio la etiqueta \texttt{sprint5}. |
| 209 | + |
| 210 | +\item Valida el contenido del repositorio remoto. |
| 211 | +\end{enumerate} |
| 212 | + |
| 213 | + |
| 214 | + |
| 215 | +\end{document} |
0 commit comments