Documentos de Académico
Documentos de Profesional
Documentos de Cultura
m.07. Desarrollo de Interfaces
m.07. Desarrollo de Interfaces
INTERFACES
Desarrollo de aplicaciones multiplataforma
Ilerna
ILERNA, centro autorizado con código 25002775 (Lleida), 28077294 (Madrid) y 41023090 (Sevilla) www.ilerna.es
© Ilerna Online S.L., 2021
© Imágenes: Shutterstock
Reservado todos los derechos. No se permite la reproducción total o parcial de esta obra, ni su incorporación a un
sistema informático, ni su transmisión en cualquier forma o por cualquier medio (electrónico, mecánico, fotoco-
pia, grabación u otros) sin autorización previa y por escrito de los titulares del copyright. La infracción de dichos
derechos puede constituir un delito contra la propiedad intelectual.
Ilerna Online S.L. ha puesto todos los recursos necesarios para reconocer los derechos de terceros en esta obra
y se excusa con antelación por posibles errores u omisiones y queda a disposición de corregirlos en posteriores
ediciones.
4. Usabilidad........................................................................................ 62
4.1. Concepto de usabilidad............................................................... 64
4.2. Medidas de usabilidad................................................................ 67
4.3. Pautas de diseño de interfaces................................................... 70
4.4. W3C.............................................................................................. 74
5. Confección de informes................................................................... 76
5.1. Informes incrustados y no incrustados en la aplicación............ 77
5.2. Creación de parámetros............................................................... 81
5.3. Creación de subinformes............................................................. 82
5.4. Imágenes...................................................................................... 83
5.5. Informes incrustados y no incrustados en la aplicación............ 83
5.6. Herramientas gráficas integradas y externas al IDE................... 84
5.7. Filtrado de datos.......................................................................... 85
5.8. Numeración de líneas, recuentos y totales................................. 85
5.9. Librerías para la generación de informes. Clases, métodos y
atributos....................................................................................... 86
6. Realización de pruebas................................................................... 88
6.1. Objetivo, importancia y limitaciones del proceso de prueba.
Estrategias.................................................................................... 89
6.2. Prueba unitaria............................................................................ 90
6.3. Pruebas de integración: ascendentes y descendentes.............. 91
6.4. Pruebas del sistema: configuración, recuperación, entre otras... 92
6.5. Pruebas de uso de recursos......................................................... 93
6.6. Pruebas funcionales..................................................................... 93
6.7. Pruebas de simulaciones............................................................. 94
6.8. Pruebas de aceptación................................................................. 94
6.9. Pruebas alfa y beta....................................................................... 95
6.10. Pruebas manuales y automáticas............................................... 95
6.11. Herramientas de software para la realización de pruebas........ 97
7. Documentación de aplicaciones..................................................... 98
7.1. Archivos de ayuda. Formatos...................................................... 99
7.2. Herramientas de generación de ayudas................................... 100
7.3. Tablas de contenidos, índices, sistemas de búsquedas, entre
otros............................................................................................ 101
7.4. Tipos de manuales..................................................................... 102
8. Distribución de aplicaciones.........................................................104
8.1. Componentes de una aplicación. Empaquetado..................... 105
8.2. Instaladores................................................................................ 107
8.3. Paquetes autoinstalables.......................................................... 109
8.4. Herramientas para crear paquetes de instalación................... 111
8.5. Personalización de la instalación: logotipos, fondos, diálogos,
botones, idioma, entre otros..................................................... 112
Bibliografía / webgrafía.....................................................................114
Solucionario .......................................................................................115
1 CONFECCIÓN DE INTERFACES DE USUARIO
Desarrollo de interfaces
Visual Studio
7
Tema 1: Confección de interfaces de usuario
NetBeans
8
Desarrollo de interfaces
9
Tema 1: Confección de interfaces de usuario
• Área de trabajo
En esta parte es posible diferenciar cuatro zonas principales:
10
Desarrollo de interfaces
11
Tema 1: Confección de interfaces de usuario
Eclipse
12
Desarrollo de interfaces
13
Tema 1: Confección de interfaces de usuario
• Swing:
– Diseñada en Java puro y creada a partir de la librería AWT.
– Su función es dar respuesta a todos los inconvenientes que pre-
sente AWT.
– Cuenta con controles de bastante funcionalidad utilizados para
aplicaciones.
– En versiones posteriores, Java 5 y Java 6, se convirtió en un fra-
mework de desarrollo de interfaces para nuevas aplicaciones.
Cuenta con controles de gran funcionalidad.
– Presenta carencias como el filtrado y organización de datos en
controles como tipo tabla y árbol, con la necesidad de realizar
un desarrollo de forma manual en esta funcionalidad.
• SWT (Standard Widget Toolkit):
– Creada por IBM para el entorno de desarrollo Eclipse, mejoran-
do la versión Swing que existía en ese mismo momento.
– Considerada la tercera generación de librerías (después de AWT
y Swing), aunque no está muy relacionada con ellas.
– Considerada una librería de bajo nivel que utiliza widgets na-
tivos de la misma plataforma que ejecuta mediante JNI (Java
Native Interface).
– Estas interfaces no se pueden ejecutar en todas las plataformas.
– Uno de sus inconvenientes es que la API que proporciona la li-
brería es bastante complicada de utilizar y no muy intuitiva.
• SwingX:
– Librería que está basada en Swing y utilizada para desarrollar
aplicaciones RIA (rich internet application).
– Gran parte de sus componentes se desarrollan sobre los exis-
tentes en la librería Swing.
– Diseñada en Java puro.
– Puede utilizarse en diferentes plataformas.
14
Desarrollo de interfaces
• JavaFX:
– Desarrollada por Java/Oracle, siendo una plataforma open
source.
– Basada principalmente en el desarrollo de aplicaciones RIA
(rich internet application), permite ser utilizada en diferentes
plataformas y dispositivos.
– En esta librería se agrupan las tecnologías conocidas como Ja-
vaFX Mobile y JavaFX Script.
CONCEPTO
• Apache Pivot:
– Librería de código abierto.
– Principalmente utilizada en Apache Project.
– Utilizada para desarrollar aplicaciones RIA (rich internet appli-
cation).
– Basada en Java y otros lenguajes que actúan sobre la máquina
virtual de Java.
• Qt Jambi:
– Empaquetado para Java sobre la librería Qt.
– Desarrollada en C++/C.
– Al utilizar librerías nativas, no se puede usar en otras plataformas.
– Tiene una gran aceptación y es bastante potente.
– Es una interfaz con componentes GUI y fácil de utilizar.
• Librerías OpenGL (Open Graphics Library):
– Encargada de definir una API multilenguaje y multiplataforma,
con posibilidad de escribir aplicaciones que produzcan código
2D y 3D.
– Dispone de un amplio número de funciones para crear gráficos
en tres dimensiones.
– Apta para creación de videojuegos, aeroespacial, etcétera.
• API DirectX:
– Grupo de API desarrolladas para simplificar las distintas tareas
de vídeo y juegos.
– Utiliza la plataforma de Microsoft Windows.
15
Tema 1: Confección de interfaces de usuario
16
Desarrollo de interfaces
17
Tema 1: Confección de interfaces de usuario
CONCEPTO
18
Desarrollo de interfaces
19
Tema 1: Confección de interfaces de usuario
CÓDIGO:
While (true) {
Switch (event) {
Case mouse_click ():
Case Keypressed ():
Case Else:
}
}
20
Desarrollo de interfaces
21
Tema 1: Confección de interfaces de usuario
CÓDIGO:
22
Desarrollo de interfaces
Todos los objetos de tipo Coche tendrán los mismos atributos: una
marca (cadena de caracteres), un modelo (cadena de caracteres) y
una potencia (valor entero 0, 1, 2, etcétera). Los atributos principales
los definiremos normalmente una vez que se realiza la apertura de la
clase, fuera de los constructores o métodos que haya. ponte a prueba
Se ha definido que cualquier Coche que se cree tenga los siguientes
Los métodos especiales para
atributos: marca Ford, modelo Focus y una potencia de 150. Dicha
realizar consultas o modificar el
sintaxis se utiliza para el constructor public Coche{…}. valor de las variables privadas
de una clase se conocen como:
Por otro lado, se han establecido unos métodos que sirven para
a) Métodos
recibir valores (setMarca, setPotencia) y quedar asignado el valor
recibido en los métodos. Y métodos que permiten devolver un valor b) Constructores
(getMarca, getPotencia) cuando se haga referencia a ellos. c) Propiedades
d) Función
Para crear objetos Coche se debe asignar a una variable el valor new
Coche(). De esta forma, es posible crear 5 objetos: coche1, coche2,
coche3, coche4 y coche5. Cada objeto Coche tiene tres atributos:
marca, modelo y potencia. En total disponemos de 15 atributos (5
coches x 3 atributos = 15 atributos).
23
2 GENERACIÓN DE INTERFACES A PARTIR
DOCUMENTOS XML
DE
Desarrollo de interfaces
• Fácil aprendizaje.
• Permiten definir una interfaz separada de la lógica y contenido de
la aplicación.
25
Tema 2: Generación de interfaces a partir de documentos XML
CONCEPTO
26
Desarrollo de interfaces
Contenido de texto
<Button>Contenido de
<Button.Background>
<SolidColorBrush Color=”Red” />
</Button.<background>texto
</Button>
27
Tema 2: Generación de interfaces a partir de documentos XML
Representación de contenedores
28
Desarrollo de interfaces
29
Tema 2: Generación de interfaces a partir de documentos XML
30
Desarrollo de interfaces
Como resumen
31
Tema 2: Generación de interfaces a partir de documentos XML
Cuadros de diálogo
1. Mensajes.
2. Controles de diálogo.
Los botones de diálogo suelen estar asociados a estas ventanas
para notificar, mediante la pulsación, una respuesta de la ventana
de diálogo.
Flujo de eventos
32
Desarrollo de interfaces
Contenedores
• Box
En lo referente al modelo de cajas, es uno de los contenedores
más utilizados definidos por XUL. Está basado en un principio que
permite llevar a cabo la división de ventanas en diferentes cajas,
posicionando los distintos elementos dentro de una de ellas. Es-
tos elementos se denominan hijos y pueden situarse de manera
vertical u horizontal.
La interfaz que se desarrolla puede obtenerse a través de:
– Una agrupación de estructuras de cajas.
– La orientación de los hijos dentro de las cajas.
– La aplicación de las distintas hojas de estilo.
– Existe otra opción en la que se aplican distintos elementos
<spacer> con atributos flex y pack.
• Sintaxis
La sintaxis de definición de una caja mediante XUL para definir
elementos con una orientación horizontal es la siguiente:
<hbox>
<!--horizontal -->
</hbox>
<vbox>
<!--vertical -->
</vbox>
33
Tema 2: Generación de interfaces a partir de documentos XML
<vbox></vbox>
<box orient=”vertical”></box>
• Stack
Es bastante parecido al elemento box, ya que los elementos hijos
se colocan unos encima de otros.
El elemento hijo que tenga un mayor tamaño será el que determi-
ne el tamaño del elemento. No obstante, también es posible
definirlo mediante las hojas de estilo, especificando sus valores
tanto de alto como de ancho.
<stack>
<button label=”Portero” left=”5” top=”5”/>
<button label=”Delantero” left=””60
top=”20”/>
<button label=”Defensa” left=”10” top=”60”/>
</stack> <description value=”Esta es la
tercera página”/>
<button label=”Esta también es la ter-
cera página”/>
</box>
</deck>
34
Desarrollo de interfaces
• Deck
Similar al elemento anterior salvo que, en este caso, deck solo
puede visualizar el primer elemento hijo.
A continuación, se muestra un ejemplo en el que se definen tres
elementos (páginas). La página seleccionada por defecto será, en
este caso, la tercera, ya que está basada en zero-index.
Para cambiar de una página a otra, será necesario utilizar Javas-
cript cambiando el atributo selectedIndex:
<deck selectedIndex=”2”>
<description value=”Esta es la primera pági-
na”/>
<button label=”Esta es las segunda página”/>
<box>
<description value=”Esta es la tercera
página”/>
<button label=”Esta también es la ter-
cera página”/>
</box>
</deck>
35
Tema 2: Generación de interfaces a partir de documentos XML
• Grid
Mediante XUL es posible originar una salida similar a una ta-
bla, almacenando las propiedades principales con el elemento
en cuestión <table> de HTML, donde los distintos elementos se
pueden situar en las diferentes filas y columnas. Por lo tanto, se
cuenta con una serie de elementos fundamentales, como son los
atributos filas (rows) y columnas (columns), donde se sitúan los
elementos que disponen de la información que se desea mostrar.
A continuación, se lleva a la práctica un breve ejemplo para ver
cómo resolverlo. Se pretende crear una salida en la que aparezcan
los botones de: Conejo, Elefante, Koala y Gorila. En el mismo or-
den en el que se ve en el enunciado:
<grid flex=”1”>
<columns>
<column flex=”2”/>
<column flex=”1”/>
</columns>
<rows>
<row>
<button label=”Conejo”/>
<button label=”Elefante”/>
</row>
<row>
<button label=”Koala”/>
<button label=”Gorila”/>
</row>
</rows>
</grid>
36
Desarrollo de interfaces
• Extensión de columnas
De la misma forma en la que se opera con el elemento <table> de
HTML, es posible realizar la misma función mediante XUL.
Dispone de una forma de programar bastante sencilla en la que se
coloca el elemento deseado fuera de las correspondientes eti-
quetas, aunque dentro de la etiqueta <rows>. El botón va a ocupar
todo el ancho del elemento contenedor <grid>. Esta situación
sería la misma si, en lugar de hacerlo en las filas correspondien-
tes, se hiciera para las columnas.
<grid>
<columns>
<column flex=”1”/>
<column flex=”1”/
</columns>
<rows>
<row>
<label value=”Noroeste”/>
<label value=”Noreste”/>
</row>
<button label=”Ecuador”/>
<row>
<label value=”Sureste”/>
<label value=”Suroeste”/>
</row>
</rows>
</grid>
• Tabbox
Estos elementos se suelen utilizar para organizar la distinta infor-
mación a través de contenedores diferentes, indicando cada uno
de ellos mediante diversas pestañas. De esta forma, el usuario
podrá seleccionar la pestaña que desee y, una vez en la ventana
elegida, podrá tener acceso a la información.
Existen una serie de elementos que forman parte de <tabbox>:
– Tabbox: es el elemento más externo y contiene al resto de ele-
mentos.
– Tabs: es el elemento contenedor de las distintas pestañas.
– Tab: se refiere a la pestaña que va a determinar que forma parte
de una colección anterior.
– Tabpanels: es el elemento contenedor de las páginas.
– Tabpanel: página determinada de la colección tabpanels. Se
refiere al cuerpo de una página.
37
Tema 2: Generación de interfaces a partir de documentos XML
<tabbox id=”tablist”>
<tabs>
<!--contenido-->
</tabs>
<tabpanels>
<--contenido -->
</tabpanels>
</tabbox>
38
Desarrollo de interfaces
<dialog xmlns=”http://www.mozilla.org/keymaster/
gatekeeper/there.is.only.xul”
Id=”dcg” tittle=”MiDialogo”
buttons=”aceptar, cancelar”
ondialogaccept=”return onAccept();”
ondialogaccept=”return onCancel();”>
Tipo Función
accept OK
cancel Cancelar
Disclosure Más información
Help Ayuda
Extra1, Extra2 Sin función preestablecida
• FilePicker
Mediante la utilización de este elemento es posible elegir los
archivos o directorios correspondientes. Presenta un compor-
tamiento como ventana modal en la que las funciones que se
presentan dependerán de un método determinado.
– Open: el usuario desea abrir un archivo.
– GetFolder: el usuario desea elegir una determinada carpeta.
– Save: el usuario desea guardar un archivo.
A continuación, se expone un fragmento de código que detalla la
forma de crear un objeto tipo FilePicker:
var miFilePicker=Components.interfaces.nslFile-
Picker;
var fp=Components.classes[“@mozilla.org/filepic-
ker;1”].createInstance(miFilePicker);
fp.init(window,”Seleccionar un archivo”,miFipeîc-
ker.modeOpen);
39
Tema 2: Generación de interfaces a partir de documentos XML
ponte a prueba
40
Desarrollo de interfaces
41
Tema 2: Generación de interfaces a partir de documentos XML
CONCEPTO
• Sintaxis
Tiene una estructura muy parecida a la de un documento HTML,
salvo que, en este caso, se emplean las etiquetas <UIML></
UIML> para apertura y cierre.
Existen tres tipos de secciones en los documentos UIML:
a. HEAD: es la parte que contiene la información referente
al propio archivo, como pueden ser el autor, la fecha y la
versión.
b. APP: esta sección contiene la estructura correspondiente a
la interfaz y cuenta con dos elementos para diseñarla, que
son <GROUP> y <ELEM>.
<APP> necesita el atributo CLASS para poder definir el estilo
y su salida respectiva. También es posible añadir el atributo
NAME para que algunas secciones puedan controlar el as-
pecto de los controles.
c. DEFINE: permite definir nombres de grupo y elementos co-
rrespondientes a la sección <APP> con más detalles a través
de la etiqueta <PROPERTIES>.
42
Desarrollo de interfaces
• Sección <APP>
Mediante la etiqueta <GROUP> es posible agrupar los diferentes
elementos que pertenecen a la interfaz.
El atributo CLASS se emplea para definir una clase de la interfaz
de usuario de los determinados objetos a los que pertenece. La
clase puede tomar como valor cualquier palabra que sea de tipo
alfanumérica, siempre y cuando sea única.
Mediante el atributo NAME es posible asignar un nombre. El di-
señador será el encargado de llevar a cabo esta tarea, de la misma
forma que con la clase.
Existe la posibilidad, además, de crear una serie de botones que
lleven a cabo alguna función específica. En este caso, es posible
asignar a todos el mismo nombre de la clase, pero con distintos
valores para su atributo NAME.
<DEFINE NAME=”OKButton”>
<PROPERTIES>
43
Tema 2: Generación de interfaces a partir de documentos XML
Elemento.Atributo=valor
<UIML>
<HEAD>
<AUTHOR>Stephen King</AUTHOR>
<DATE>October 14, 2013</DATE>
<VERSION>1.0</VERSION>
</HEAD>
<APP CLASS “App”>
<GROUP CLASS=”Dialog” NAME=”PrintFinishedDialog”>
ELEM CLASS=”DialogButton” NAME=”OKButton”/>
</GROUP>
</APP>
<DEFINE NAME=”OKButton”>
<PROPERTIES>
<ACTION VALUE=”PrintFinishedDialog.EXISTS=false”/>
</PROPERTIES>
</DEFINE>
</UIML>
44
Desarrollo de interfaces
• Controles
Cuenta con bastantes posibilidades para los diferentes controles
en el diseño de interfaces, como pueden ser:
45
Tema 2: Generación de interfaces a partir de documentos XML
46
Desarrollo de interfaces
BUSCA EN LA WEB
www.icsharpcode.net/OpenSource/SD/Default.aspx
PARA + INFO
PARA + INFO
47
Tema 2: Generación de interfaces a partir de documentos XML
48
Desarrollo de interfaces
49
3 CREACIÓN DE COMPONENTES VISUALES
Desarrollo de interfaces
https://docs.oracle.com/javase/7/docs/api/javax/swing/packa-
ge-summary.html
51
Tema 3: Creación de componentes visuales
52
Desarrollo de interfaces
53
Tema 3: Creación de componentes visuales
54
Desarrollo de interfaces
55
Tema 3: Creación de componentes visuales
• Creación de un evento
Un evento es la función que se desencadena tras haber realizado
una acción determinada sobre un componente en cuestión.
El principal elemento de un evento se denomina manejador
(handler), y se especifica mediante la siguiente función:
This.TextChanged+=new
System.Windows.Controls.TextChangedEventHandler(manejador);
56
Desarrollo de interfaces
57
Tema 3: Creación de componentes visuales
ESCUCHADOR KEYLISTENER Cuando se pulsa una tecla, según el método, cambia la forma
58
Desarrollo de interfaces
EVENTOS
mouseMoved Cuando se mueve un puntero sobre un elemento
59
Tema 3: Creación de componentes visuales
60
Desarrollo de interfaces
61
4 USABILIDAD
Desarrollo de interfaces
63
Tema 4: Usabilidad
• Tiempo de aprendizaje.
• Eficiencia de uso.
• Retención a través del tiempo.
• Confiabilidad en el uso.
• Satisfacción a largo plazo.
• Eficacia.
• Entendimiento.
• Adaptabilidad.
• Primera impresión.
64
Desarrollo de interfaces
• Elementos extra.
• Desempeño inicial.
• Evolucionable.
Problemas detectados
65
Tema 4: Usabilidad
Beneficios de la usabilidad
Estándares de la usabilidad
66
Desarrollo de interfaces
67
Tema 4: Usabilidad
Tipo de métrica
68
Desarrollo de interfaces
69
Tema 4: Usabilidad
70
Desarrollo de interfaces
¡RECUERDA!
71
Tema 4: Usabilidad
¡RECUERDA!
4.3.3. Desplegables
Es conveniente hacer uso de las listas desplegables, ya que ofrecen
la posibilidad de poder seleccionar un elemento según las necesi-
dades que existan en cada momento.
4.3.4. Fuentes
Según las fuentes utilizadas, se pueden provocar una serie de reac-
ciones diferentes en los usuarios, como las indicadas a continuación:
72
Desarrollo de interfaces
4.3.5. Colores
El uso de los diferentes colores puede provocar una mejor per-
cepción de la interfaz, ya que permite resaltar aquellas tareas
principales, aunque un abuso de ellos produce un efecto rebote,
haciendo que sea más complicada la lectura de la interfaz.
4.3.6. Gráficos
Mediante la utilización de gráficos es posible facilitar una lectura
rápida a los usuarios. Estos elementos ocupan más espacio que el
texto, por lo que pueden provocar una sobrecarga mayor.
ponte a prueba
El uso de los iconos es el más extendido, sobre todo para los entor- Indica cuál de las opciones
nos móviles, en los que el espacio es fundamental. Es conveniente no es una recomendación que
que los iconos estén diseñados de forma correcta para que se pueda hay que tener en cuenta para
identificar su función de manera rápida. verificar la estructura de una
interfaz gráfica.
Las principales características que se deben tener en cuenta a la a) Foco
hora de desarrollar interfaces son las siguientes: b) Jerarquía
73
Tema 4: Usabilidad
4.4. W3C
En este apartado se tiene en cuenta la web que ya se encuentra
diseñada para que todos los usuarios puedan interactuar con
ella, independientemente del software que se utilice, del len-
W3C
guaje, la localización y la habilidad, tanto física como mental
youtu.be/h9Q2U3mMX8c que se pueda tener.
Las WCAG 1.0 disponen de 14 pautas que son necesarias para con-
seguir un diseño accesible al alcance de todos los usuarios. Cada
una de estas pautas cuenta con una serie de puntos para determi-
nar las distintas áreas.
74
Desarrollo de interfaces
75
5 CONFECCIÓN DE INFORMES
Desarrollo de interfaces
• Cabecera
• Cuerpo
• Pie
A partir de estas tres secciones es posible definir la estructura
más básica que puede vertebrar un informe. En ella, la cabecera
se encarga de introducir distintos datos que solo son visibles en la
primera página. Seguidamente, los datos se mostrarán en el cuerpo
del informe y, por último, en el pie. La función principal del pie es
mostrar una serie de resúmenes o datos totales.
77
Tema 5: Confección de informes
Por tanto, los proyectos que se van a llevar a cabo son aquellos que
se pueden identificar como Reporting Services.
78
Desarrollo de interfaces
Selección de datos
5.1.3. Layout
Una vez concluida la selección de los datos, llega el momento de
diseñar la estructura visual junto con la forma en la que va a ir or-
ganizada la información en esta. Se pueden diferenciar dos de las
formas más frecuentes a la hora de representar los datos:
• Formato tabular.
• Estructura matriz.
El asistente da la posibilidad de poder seleccionar cualquiera de
ellas.
79
Tema 5: Confección de informes
80
Desarrollo de interfaces
Añadir cabecera/pie
81
Tema 5: Confección de informes
82
Desarrollo de interfaces
5.4. Imágenes
Gracias al uso de las imágenes es posible conseguir un informe más
profesional y formal, especialmente si se hace uso de los diferentes
logos corporativos o similares. Las imágenes permiten comprender
de mejor forma el informe y hacerlo más atractivo.
Integración de informes
Microsoft.ReportViewer.WinForms
83
Tema 5: Confección de informes
ponte a prueba
84
Desarrollo de interfaces
• Realizar una consulta de datos que incluya el valor que buscar. Esta
es una opción poco eficiente, ya que se pierde mucho tiempo.
85
Tema 5: Confección de informes
¡RECUERDA!
86
Desarrollo de interfaces
ponte a prueba
87
6 REALIZACIÓN DE PRUEBAS
Desarrollo de interfaces
Tipos de pruebas
89
Tema 6: Realización de pruebas
Descripción de la prueba
• Permite hacer particiones en los módulos para que, al ser más pe-
queños, sea más fácil realizar las pruebas oportunas.
• Cada unidad debe definir sus correspondientes casos de prueba
(pruebas de caja blanca).
• Estos casos de prueba deben diseñarse de forma tal que se reco-
rran todos los caminos de ejecución posibles dentro del código
de prueba.
• Algunos de los aspectos más importantes para tener en cuenta
son: rutinas de excepción y de error, manejo de parámetros, vali-
daciones, valores válidos, límites, rangos, etcétera.
• Técnicas: consisten en realizar las comparaciones pertinentes de
los módulos esperados con respecto al resultado obtenido.
90
Desarrollo de interfaces
91
Tema 6: Realización de pruebas
92
Desarrollo de interfaces
• Suposición de errores.
93
Tema 6: Realización de pruebas
Las diferentes pruebas que se pueden encontrar son las que hacen
referencia a, entre otras, humo, tensión de carga, rendimiento de la
aplicación y diseño de la capacidad.
94
Desarrollo de interfaces
95
Tema 6: Realización de pruebas
96
Desarrollo de interfaces
97
7 DOCUMENTACIÓN DE APLICACIONES
Desarrollo de interfaces
CÓDIGO
¡RECUERDA!
99
Tema 7: Documentación de aplicaciones
///<summary>
…
///</summary>
GhostDoc
SandCastle
100
Desarrollo de interfaces
HelpNDoc
PARA + INFO
Una vez que está descargada e instalada, los pasos que seguir son:
101
Tema 7: Documentación de aplicaciones
Manual de instalación
Documentación de configuración
• Configuración normal.
• Configuración avanzada: es muy parecida a la anterior, aunque,
en este caso, se detallan de forma más exhaustiva distintos as-
pectos más complejos que necesitan que los usuarios tengan una
mayor experiencia y conocimiento (administradores).
102
Desarrollo de interfaces
Manual de usuario
¿Qué debe aparecer en
Al igual que en otros modelos de manuales, en el manual de usua- el manual de usuario del
rio también se diferencian dos versiones: proyecto?
Según el nivel de los usuarios del sistema, existen distintos tipos de 3. Guía de instalación: los
versiones: principiante, inicial, medio, avanzado y experto. Según pasos de cómo instalar
el caso, se profundizará más o menos en las diferentes aplicaciones la aplicación y cómo
(describiendo cada acción y los valores que debemos proporcionar ejecutarla.
o elegir para ejecutarlas).
4. Guía de uso: de cada rol
junto con capturas de
Guía de usuario pantalla.
El objetivo principal de la guía de usuario es el mismo que el an- 5. Mensajes de error: pan-
terior (manual de usuario), con la diferencia de que, en este caso, tallazos y la descripción
cambia la extensión y la cantidad de información disponible. Tiene de los posibles errores
como objetivo indicar de forma rápida y sencilla ciertas funcionali- de la aplicación.
dades del producto. 6. Preguntas o dudas más
frecuentes: apartado de
Guía rápida preguntas y respuestas,
similar a las FAQ.
En esta guía rápida se dispone de un resumen con todos los aspec-
tos más importantes que se han desarrollado en la documentación
previa. Se detalla de forma breve y muy sintetizada.
Manual de administración
Este manual detalla la instalación junto con la administración del ponte a prueba
sistema. Además, en él viene explicado el proceso de configuración
de aquellos componentes que forman parte del sistema. Su objetivo principal consiste
en indicar de forma rápida y
Las personas encargadas de desarrollar estos manuales suelen ser sencilla ciertas funcionalidades
los administradores, ya que son los que tienen otorgados más pri- del producto, sin entrar en
vilegios a nivel operativo. detalles sobre los aspectos más
importantes.
a) Manual de usuario
b) Guía de usuario
c) Guía rápida
d) Manual de administración
103
8 DISTRIBUCIÓN DE APLICACIONES
Desarrollo de interfaces
Gestión de versiones
105
Tema 8: Distribución de aplicaciones
Paquetes gestionados
• Protegen la propiedad.
• Son compatibles con otras versiones.
• Cuentan con capacidad para añadir divisiones o parches a versio-
nes anteriores.
• Son capaces de enviar actualizaciones de parches y permiten
asignar nombres únicos a cada uno de sus componentes para evi-
tar conflictos en el proceso de instalación.
Paquetes no gestionados
Componentes
106
Desarrollo de interfaces
Firma de componentes
8.2. Instaladores
Creación de paquetes de instalación
107
Tema 8: Distribución de aplicaciones
108
Desarrollo de interfaces
109
Tema 8: Distribución de aplicaciones
Nugetpack nombreProyecto.csproj
¡RECUERDA!
El sistema de aspiración de
menor diámetro, con cánulas
flexibles y desechables:
a) Aplicar una serie de caracte-
rísticas específicas de cada Mientras se realiza el proceso de instalación, es posible comprobar
paquete.
los distintos archivos que se encuentran en la dirección URL, de tal
b) Copiar el contenido completo forma que los clientes solo descargan la instalación y no es necesa-
del proyecto.
rio que lancen el paquete completo.
c) Ejecutar los distintos scripts
de automatización cuando Una vez instalado, ya es posible crear paquetes de forma sencilla
sea necesario. mediante la utilización de tareas comunes o a través del menú
d) Realizar pruebas unitarias archivo.
sobre el software.
Los datos pertenecientes a un paquete concreto que se pueden
editar (metadatos) permiten que el desarrollador haga uso de sus
valores a través de la interfaz.
110
Desarrollo de interfaces
BUSCA EN LA WEB
111
Tema 8: Distribución de aplicaciones
8.5. Personalización de la
instalación: logotipos, fondos,
diálogos, botones, idioma, entre otros
Colores
112
Desarrollo de interfaces
Fuentes
Iconos
113
BIBLIOGRAFÍA / WEBGRAFÍA
” Vicente Carro, J. L. (2014). Desarrollo de interfaces. Garceta.
114
solucionario
1.3. Componentes: características y campos 4.3. Pautas de diseño de interfaces
de aplicación
Indica cuál de las opciones no es una
¿Qué objeto ha sido escrito a partir de unas recomendación que hay que tener en cuenta
especificaciones que debe cumplir? para verificar la estructura de una interfaz
d) Componente. gráfica.
c) Heterogeneidad.
1.6. Clases, propiedades, métodos
5.3. Creación de subinformes
Los métodos especiales para realizar consultas
o modificar el valor de las variables privadas de La creación de subinformes permite definir una
una clase se conocen como: estructura jerárquica en la que la información se
c) Propiedades. distribuye entre informes padres e hijos, pero no
se permite compartir información entre ellos.
b) Falso.
2.3. XUL (Extensible User Interface
Language)
5.6. Herramientas gráficas integradas y
¿Cuál de los siguientes no es un tipo de Control
externas al IDE
Box?
c) Check. Utilizaremos las estructuras tabulares para
conocer el estado de situación, mientras que los
elementos gráficos se usan para actividades de
2.6. MXML (Macromedia Extensible Markup un nivel menos importante.
Language)
b) Falso.
¿Cuál de los siguientes elementos actúa como
un contenedor de controles MXML?
5.9. Librerías para la generación de
a) Grid. informes. Clases, métodos y atributos
¿Cómo se llama el servicio web que ofrece
2.9. Edición del documento XML diferentes propiedades del servidor de informes
El elemento que se usa al analizar un fichero y crea nuevas herramientas para usarlas en
tras haberlo implementado para verificar si es cualquiera de sus partes?
válido se conoce como parser. d) SOAP.
a) Verdadero.
6.3. Pruebas de integración: ascendentes y
3.3. Elementos generales descendentes
115
solucionario
7.4. Tipos de manuales
Su objetivo principal consiste en indicar de
forma rápida y sencilla ciertas funcionalidades
del producto, sin entrar en detalles sobre los
aspectos más importantes.
b) Guía de usuario.
116