Skip to content

Commit 577fe23

Browse files
committed
Enunciado de la práctica.
1 parent 2b3738e commit 577fe23

File tree

4 files changed

+258
-2
lines changed

4 files changed

+258
-2
lines changed

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
*.aux
2+
*.log
3+
*.tex~

README.md

+40-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,40 @@
1-
# p2-ipm-16-17
2-
Segunda práctica IPM 16/17
1+
# Práctica 2 - IPM 16/17 - Interfaces Gráficas de Usuaria en android
2+
3+
4+
## Objetivos
5+
6+
Aplicar los conocimientos adquiridos sobre el desarrollo de
7+
interfaces gráficas de usuaria creando una aplicación para la
8+
plataforma android.
9+
10+
11+
## Descripción
12+
13+
La descripción de las tareas a realizar se encuentra en el pdf
14+
correspondiente en el apartado de documentación.
15+
16+
17+
## Evaluación
18+
19+
El tiempo previsto para la realización de la práctica se extiende hasta
20+
el 2016-11-13T24:00:00.
21+
22+
Independientemente de las penalizaciones correspondientes, la valoración
23+
de la práctica será la suma de las valoraciones obtenidas en los siguientes
24+
apartados:
25+
26+
* 0 ó 1 punto. El repositorio refleja el desarrollo indicado en el enunciado.
27+
Es decir,
28+
- Todos los pasos dan lugar a uno o varios commits.
29+
- Los commits que se indican tienen asociada la etiqueta correspondiente.
30+
- Los pasos y los sprints se han realizado en el orden establecido.
31+
32+
* 0-2 puntos. Se ha realizado un diseño del software, y se ha actualizado en
33+
caso necesario.
34+
35+
* 0-2 puntos. Se ha realizado un diseño de la interface, y se ha actualizado
36+
en caso necesario.
37+
38+
* 0-5 puntos. Hasta un punto por cada sprint en que se hayan completado todos
39+
los pasos.
40+

doc/enunciado-p2.pdf

128 KB
Binary file not shown.

doc/enunciado-p2.tex

+215
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,215 @@
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

Comments
 (0)