Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programa de la asignatura
Introduccin a la ingeniera de software
Unidad 3.
Diseo, codificacin, pruebas y mantenimiento
Clave:
Ingeniera:
TSU:
15142318
16142318
1
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
ndice
Unidad 3. Diseo, codificacin, pruebas y mantenimiento ................................................. 3
Presentacin de la unidad ................................................................................................. 3
Propsito ........................................................................................................................... 4
Competencia especfica..................................................................................................... 4
3.1. Diseo ........................................................................................................................ 4
3.1.1. Diseo del sistema ................................................................................................. 11
3.1.2. Tipos de Arquitecturas ........................................................................................... 13
3.1.3. La interaccin Hombre-Mquina ............................................................................ 19
3.1.4. Diseo de la interaccin ......................................................................................... 22
3.2. Codificacin .............................................................................................................. 24
3.2.1. Traduccin de diseo a cdigo .............................................................................. 25
3.2.2. Codificacin de la interfaz ...................................................................................... 27
3.2.3. Herramientas de desarrollo: gestin de la configuracin ........................................ 30
3.3. Pruebas y mantenimiento ......................................................................................... 32
3.3.1. Tipos de pruebas y herramientas ........................................................................... 33
3.3.2. Mantenimiento ....................................................................................................... 37
Cierre de la unidad .......................................................................................................... 38
Para saber ms ............................................................................................................... 39
Fuentes de consulta ........................................................................................................ 39
2
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
Presentacin de la unidad
En la pasada unidad abarcamos los temas de anlisis y modelado de requerimientos;
conociste el concepto de requerimiento y su clasificacin. Respecto al modelado se
abarcaron dos clasificaciones de diagramas UML: los del modelado del dominio y los del
modelado de la interaccin. Para continuar con el desarrollo de software, es necesario
retomar los diagramas elaborados en la etapa de anlisis y modelado de requerimientos
para el diseo de la interfaz del sistema, de las bases de datos, procedimientos y de los
posibles reportes del sistema.
del
diseo
del
software:
los
3
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
Propsito
Al trmino de esta unidad logrars:
Competencia especfica
3.1. Diseo
El diseo forma parte de las etapas de desarrollo
de software, en el cual se utilizan tcnicas y
principios para bosquejar la estructura de los
componentes de un software con suficiente
detalle y permitir su interpretacin y construccin.
La base del diseo son los requerimientos del
software y su anlisis. A continuacin vers
diferentes elementos que se deben disear.
4
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
Es importante puntualizar que este tema abarca el diseo de sistemas considerando que
un sistema es un conjunto de partes o elementos organizados y relacionados que
interactan entre s con objetivo especfico. stos reciben principalmente datos de entrada
y proveen informacin de salida. Los sistemas de software son abstractos y cada uno puede
contener subsistemas que pueden ser parte de uno ms grande. A continuacin se
explicar cmo se disea un sistema de software con diferentes vistas, iniciando con el
diseo del contexto.
Diseo de contexto
Adems de disear el sistema se identifican las fronteras del mismo y de otros sistemas
con los que est vinculado. Para realizar esto, los modelos de contexto y de interaccin
cuentan con diferentes vistas para el diseo del sistema en su entorno. Por lo tanto, se
puede definir un modelo de contexto del sistema como: un modelo estructural que incluye
a los otros sistemas con los que se relaciona y, un modelo de interaccin es un modelo
dinmico que muestra el comportamiento del sistema con su entorno.
5
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
En el diagrama anterior podemos ver al actor Usuario interactuando con varios casos de
uso y con el actor Sistema. El Usuario puede registrar los datos del artculo y solicitar
informacin. Por otro lado el actor Sistema muestra la informacin solicitada. Vemos
tambin a los casos de uso interactuando entre ellos, tal situacin del caso de uso registra
datos del artculo y enva datos del artculo.
Diseo arquitectnico
6
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
Presentacin
C A P A S
Aplicacin
Lgica del negocio
Datos
Datos
Servicios
interfaz
grfica.
Permite
la
informacin
permitindole
7
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
Capa de datos: es la que contiene todos los datos los cuales son almacenados y
administrados en uno o ms gestores de bases de datos. Mantiene comunicacin con la
capa de negocio atendiendo las peticiones almacenamiento o recuperacin de datos que
sta le demande.
A continuacin se presenta otra vista del diseo con un enfoque orientado a objetos.
Identificacin de la clase objeto
8
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
Los sistemas orientados a objetos se deben disear considerando las 4 capas siguientes:
La capa del subsistema: en esta capa se describen los subsistemas en que fue dividido
el software y la solucin tcnica que los soporta.
La capa de clase y objetos: contiene clases, generalizaciones de clases y
representaciones de diseo de cada objeto.
La capa de mensajes: contiene los detalles que le permiten a cada objeto comunicarse
con sus colaboradores. Esta capa establece las interfaces externas e internas para el
sistema.
Para iniciar todo proyecto es necesario conocer los diferentes mtodos para el diseo de
sistemas, tales como los mtodos: Booch, Coad y Yourdon, los cuales son los mtodos de
mayor importancia en el mbito del anlisis y el diseo orientado a objetos. El mtodo fue
realizado por Grady Booch quien adems es reconocido por participar en la creacin del
lenguaje unificado de modelado (UML) . El enfoque de este mtodo es la representacin
de la vista lgica del software. Existen otros mtodos con diferentes enfoques, tal es el caso
del mtodo de Coad y Yourdon cuyo nfasis es en la aplicacin e infraestructura. A
continuacin veremos en qu consisten:
Mtodo Booch: consiste en un proceso evolutivo basado en micro-desarrollos y macrodesarrollos. Abarca las siguientes fases:
Diseo tctico para definir reglas de uso de operaciones y atributos, definir polticas
y sus escenarios, refinar prototipo.
9
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
Componente del dominio del problema, que consiste en agrupar las clases y su
jerarqua, simplificar la herencia, refinar diseo para mejorar rendimiento, desarrollo
de la interfaz, generacin de los objetos necesarios y revisin del diseo.
Componente para gestin de tareas, para identificar tipos de tareas, las prioridades,
identificar la tarea coordinadora, diseo de objetos para cada tarea.
stos y otros mtodos nos ayudan para el anlisis y diseo orientado a objetos con el
enfoque que cada uno propone. A continuacin veremos un modelo genrico del diseo
orientado a objetos.
10
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
10
11
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
11
Elegir una de las dos estrategias para la gestin de datos: (1) la gestin de datos para
la aplicacin, y (2) la creacin de infraestructura para el almacenamiento y recuperacin
de objetos.
Ya que has conocido el proceso del diseo del sistema, es importante conocer los aspectos
importantes de la arquitectura de un software, subtema que vers a continuacin.
12
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
12
Permiten agregar nuevos recursos o aumentar las capacidades del sistema, lo cual se
conoce como escalabilidad.
Pueden existir computadoras con fallas, pero la prdida completa de servicio slo ocurre
cuando hay una falla de red. Cuando ocurre esto se dice que el sistema es tolerante a
las fallas.
Estos sistemas son ms complejos que los sistemas que se ejecutan en un solo procesador.
Algunos de los problemas de diseo ms importantes que se deben considerar son:
13
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
13
Transparencia: el reto que se tiene en este atributo es lograr que cada nodo trabaje
como si fuese independiente, unificando todos los recursos y sistemas para la
aplicacin y por lo tanto para el usuario.
Apertura: en los sistemas distribuidos se debe dar la apertura a los nuevos servicios
pero sin perjudicar a los ya existentes.
Gestin de fallas: Tiene el reto de que el sistema contine funcionando ante fallos
de algn componente de manera independiente, para lo cual debe existir un plan de
mitigacin ante cualquier riesgo latente.
Modelos de interaccin
El modelo de interaccin tiene que ver con el rendimiento y la dificultad de poner lmites
temporales en un sistema distribuido, hay varios tipos de interaccin.
Paso de mensajes.
Radiado (multicast).
Publicacin/subscripcin (publish/subscribe)
Y pueden ser representados con los diagramas de interaccin como el que se muestra a
continuacin:
14
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
14
Usuario
AplicacinCajero
Sistema
Impresora
1:IntroduceNip()
2: Ingresar al sistema()
3: Enva Saldo()
4: Cobro al cliente ()
5: Cliente paga() 6: Abono al saldo()
7: Imprime comprobante()
Diagrama de interaccin
Middleware
Los sistemas de informacin se construyen
con diferentes lenguajes de programacin,
la base de datos se genera en algn
software
pueden
gestor
ser
especfico,
ejecutados
en
adems
distintos
necesita
software
para
15
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
15
los
usuarios.
Los
clientes
Los sistemas cliente-servidor dependen de que est bien estructurada la informacin que
solicitan y que aparte se ejecuten los clculos o procesos para generar esa informacin.
Para esto se deben disear de manera lgica las diferentes capas lgicas:
16
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
16
(presentacin,
gestin
de
datos,
en
diferentes
procesadores.
Por
17
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
17
Observa la siguiente tabla que se contiene el tipo de aplicaciones que soporta cada tipo
de arquitectura.
Arquitectura
Aplicacin
niveles
clientes ligeros
niveles
clientes pesados
aplicaciones
voltiles.
Se
integran
los
datos
Existen otros tipos de arquitecturas que no se basan en capas, por ejemplo las arquitecturas
de componentes distribuidos y arquitecturas entre pares (peer to peer)
(Sommerville, 2011, pp. 485-495).
18
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
18
sern
abarcados
en
los
siguientes temas.
Interaccin hardwaresoftware
19
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
19
Su impacto en la organizacin.
Interfaz por lnea de rdenes: puede ser con teclas de funcin, abreviaciones
cortas, palabras completas, etc.
20
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
20
Interaccin asistida: con asistentes o programas tipo agente que ayudan, leen la
entrada que el usuario presenta en la interface y pueden hacer cambios en los
objetos que el usuario ve en la pantalla. Los agentes son autnomos porque pueden
trabajar en un segundo plano, si as se les configura. Tienen inteligencia por tener
iniciativa y capacidad de adaptacin a mltiples situaciones. Son de uso personal,
ya que aprenden del usuario, sugieren sin imponer soluciones.
21
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
21
Las aplicaciones deben anticiparse a las necesidades del usuario, no esperar a que el
usuario busque o recuerde informacin, la aplicacin debe ofrecer todas las
herramientas necesarias para cada etapa de su trabajo.
22
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
22
Se debe evitar llenar de restricciones al usuario, dejarle cierto nivel de autonoma para
que trabaje con confianza y logre el control del sistema. Pero es importante mantenerle
informado del estado del sistema y tenerlo siempre visible y actualizado.
Considerar a las personas que padecen el defecto gentico del daltonismo, por lo cual
no debe disear la transmisin de la informacin basada nicamente en el color.
Disear una aplicacin que funcione como lo espera el usuario, por ejemplo, s un icono
muestra cierta imagen, se espera que la accin realice algo relacionado con la imagen.
La nica manera de comprobar la consistencia es revisar las expectativas del usuario y
hacer pruebas de interfaz con ellos.
No se debe encerrar a usuario en una sola ruta, dejar varias posibilidades para que ellos
elijan como realizar su tarea. Permitir y facilitar que siempre pueda regresar al inicio.
Disear las acciones reversibles para que el usuario pueda experimentar, en otras
palabras permitir siempre la opcin deshacer.
Reducir el tiempo de espera con acciones como: efectos visuales al dar clic al botn,
mostrar reloj de arena animado para acciones entre medio y dos segundos, mostrar
mensaje o barra de estado en procesos que tarden ms de dos segundos, indicar con
alarmas o pitidos cuando termine el proceso y el usuario pueda volver a tomar el control
del sistema.
Realizar diseos intuitivos cuyo tiempo de aprendizaje por parte del usuario sea mnimo
aproximndose al ideal de que los usuarios se sentaran frente al software y supieran
como utilizarlo. La usabilidad y facilidad de uso no son excluyentes, debes decidir cul
es la ms importante y luego implementa ambas.
El uso de metforas que evoquen lo familiar, pero con un nuevo punto de vista.
23
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
23
Utilizar texto con alto contraste. Por ejemplo negro sobre blanco o amarillo plido. Evitar
fondos grises cuando haya texto. El tamao de letra que sea legible en los monitores
ms comunes tomando en cuenta a los usuarios mayores, cuya visin suele ser peor
que la de los jvenes.
Administrar y mostrar los estados del sistema, por ejemplo cuando el usuario es la
primera vez que entra, ubicacin de la navegacin del usuario, a donde quiere ir,
histrico de navegacin en el sistema, cuando abandon la sesin el usuario.
Despus de haber conocido los principios relevantes para el diseo de interfaces conocers
la fase de codificacin, la cual lleva el peso de la construccin del software, pues es donde
se deben aplicar todos los modelos y principios generados en el anlisis y diseo que
hemos visto hasta este punto. Cualquier inconsistencia en las etapas previas a la
codificacin, se vern reflejadas en sta y cualquier cambio o nuevo requerimiento
identificado en esta fase involucrar modificar o aadir a lo ya previamente generado
(Requerimientos definidos, diagramas de anlisis, diseo, etctera).
3.2. Codificacin
Ahora veremos la fase de codificacin como parte del desarrollo de software. Esta etapa
implica desarrollar los programas que integrarn el software para resolver los
requerimientos que el cliente nos solicit. La manera de realizarlo normalmente es a travs
de mdulos que al trmino sern integrados en una sola unidad, el principal entregable del
proceso de desarrollo del software.
En esta etapa las acciones del algoritmo tienen que convertirse en instrucciones. Para
codificar un algoritmo tiene que conocerse la sintaxis del lenguaje al que se va a traducir la
lgica del programa que indique las acciones y el orden en que se debe ejecutar. Por lo
tanto, es conveniente que todo programador aprenda a disear algoritmos antes de pasar
a la fase de codificacin.
24
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
24
El lenguaje mquina es el que est basado en ceros y unos (binario) es el lenguaje natural
de la computadora. El lenguaje de bajo nivel est basado en palabras reservada llamadas
mnemotcnicos que ayudan a generar operaciones que sern ejecutadas por el
procesador. A este tipo de lenguajes se les llama ensambladores y necesita un traductor
para convertirlo al lenguaje mquina. Y por ltimo, los lenguajes de alto nivel son los que
se basan en un conjunto de palabras, sintaxis y reglas muy parecidas al lenguaje natural
del ser humano, ms fcil de programar, sin embargo tambin necesitar ser traducido al
lenguaje mquina. De los lenguajes de alto nivel se desprenden una gran variedad de
lenguajes de programacin que nos llevara otro curso comentar sus caractersticas, por lo
tanto slo se mencionan algunos: C, Java, C++, Lisp, Python, Ruby, html, javascript, prolog,
etc. Para escoger seleccionar el lenguaje de programacin es necesario considerar los
siguientes principios (lvarez y Arias, 2002. p. 1):
25
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
25
Respecto a los aspectos generales debemos buscar un lenguaje que: sea de alto
nivel, permita el uso de nombres significativos y creacin de mdulos y funciones,
utilice estructuras de control, se puedan declarar variables y tenga mtodos de
manejo de error.
Una buena prctica de programacin es aquella que utiliza los recursos crticos de forma
eficiente. La eficiencia es un requisito de todo sistema y se debe planear considerando los
siguientes aspectos: hacer expresiones lgicas y aritmticas ms simples, revisar si las
sentencias que estn repitindose en los ciclos estn correctas y deben repetirse. Evitar el
uso excesivo de arreglos multidimensionales, de apuntadores y listas complejas. No
mezclar tipos de datos, aunque el lenguaje lo permita, evitar declarar variables que no sean
utilizadas, minimizar el uso de peticiones de entrada / salida (E/S) y considerar si algunos
de los dispositivos de E/S puede afectar la calidad o velocidad.
26
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
26
organizado.
Ahora
En
el
mbito
web
encontramos
27
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
27
Generalmente se realizan formularios para introducir datos provenientes del usuario y por
ello es importante definir de una manera ms precisa a las validaciones. stas se refieren
a la comparacin de un valor esperado con el conjunto de valores que son permitidos para
cada campo. Por ejemplo la validacin de tipo revisar que el valor sea numrico, cadena
o fecha, segn el que se haya asignado para el dato.
Otra validacin puede ser la longitud, no
deber permitir valores que sean menores
o mayores a los esperados. Y por ltimo la
validacin de caracteres especiales no
permitir que se capturen caracteres que no
sean los esperados. Si no activamos este
proceso
de
validacin
estaremos
28
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
28
Y en el tema de informacin, sta deber ser presentada slo para los usuarios que tengan
la facultad para tenerla. Lo cual implica que deber programarse niveles de seguridad en el
software, habilitando y limitando funciones de acuerdo a cada tipo de usuario definido.
Y por ltimo la manera de navegar a travs del software generado, sta y todos los
elementos anteriores deben planearse estratgicamente en la etapa de diseo. En esta
etapa de codificacin nicamente se encargar de implementarlo con cdigo aadiendo la
funcionalidad previamente indicada.
Como
podrs
darte
cuenta
es
facilitar
el
proceso
de
estrategias
para
29
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
29
1. Administracin del cambio: cuando se encuentra un cambio ya sea por parte del
equipo o del cliente es necesario realizar el anlisis de su impacto, estimar costos,
tiempos y decidir si se implementan o no.
2. Gestin de versiones: se refiere al seguimiento de las versiones de los elementos
del sistema y garantizar que los cambios o actualizaciones realizadas por diferentes
miembros del equipo no interfieran entre s.
3. Construccin del sistema: consiste en ensamblar los componentes del sistema,
datos y libreras y luego compilarlos para generar el ejecutable.
4. Gestin de entregas: Implica preparar el software para la entrega y hacer un control
de versiones de lo que se entreg al cliente.
30
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
30
CVS: es una herramienta famosa por ser de uso libre, permite generar repositorios para
administrar los documentos que se generen en los proyectos. Favorece la administracin
de versiones, por ejemplo cuando se ha creado un archivo no podr renombrarse ni
sobreescribirse, cualquier cambio se guarda en una nueva versin, conservando las
versiones anteriores.
Subversin: es una herramienta de uso libre, fue creada para reemplazar al CVS,
y tambin funciona para llevar el control de las versiones de los documentos. Genera
una versin a nivel proyecto.
Establecer una adecuada estructura de trabajo con los estndares, polticas y herramientas
de gestin es muy importante para el logro del buen desempeo del equipo de desarrollo.
Facilitar a los desarrolladores herramientas que hagan su trabajo ms sencillo y les agilice
su labor, permitir que se puedan organizar la produccin generada evitando prdidas de
informacin, duplicidad de archivos y otros errores.
31
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
31
Las pruebas tienen el objetivo de demostrar que un programa hace lo que se espera que
haga y descubrir los defectos que el programa tenga antes de usarlo. Al probar el programa,
ste se ejecuta con datos de ejemplo para verificar los resultados y revisar errores en la
informacin que arroje el programa. El proceso de prueba tiene 2 metas:
32
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
32
cero defectos ya que es posible que el software no sea probado en todas las situaciones
probables. Dentro del proceso de pruebas existen dos procesos que normalmente se
confunden: verificacin y validacin. La validacin contesta la pregunta de construimos
el producto correcto? Y la verificacin responde a la pregunta construimos bien el
producto?
33
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
33
Las caractersticas del software nos indicarn que pruebas y cuando debern aplicarse.
Sommerville (2011, pp. 210-230) lo define de la siguiente manera:
Tipos de prueba
Errores de temporizacin.
Pruebas del sistema: incluyen la integracin de los componentes y luego probar el sistema
completamente integrado. La prueba del sistema es un proceso colectivo ms que
individual. En algunas compaas, las pruebas del sistema implican un equipo de prueba
independiente, sin incluir diseadores ni programadores.
34
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
34
Pruebas de versin: sirven para poner a prueba una versin particular de un sistema que
se pretende usar fuera del equipo de desarrollo. Generalmente esta versin es para clientes
y usuarios, sin embargo en proyectos muy grandes, una versin podra ser para otros
equipos que desarrollan sistemas relacionados. La principal meta de este tipo de pruebas
es convencer al proveedor del sistema de que: ste es suficientemente apto para su uso.
Si es as puede liberarse como producto o entregarse al cliente.
Pruebas basadas en requerimientos: Estas pruebas son de validacin ms que defectos,
se intenta demostrar que el sistema implement adecuadamente sus requerimientos. Para
esto es necesario escribir muchas pruebas para garantizar que cubri los requerimientos.
Pruebas de escenario: son similares a las de versin, donde se crean escenarios que
generalmente suceden y se les utiliza en el desarrollo de casos de prueba para el sistema.
Un escenario es una historia que describe cmo puede utilizarse el sistema. stos deben
ser realistas con usuarios reales. Si los escenarios fueron parte de los elementos de tus
requerimientos, entonces podra utilizarlos como escenarios de prueba.
Pruebas beta: las realiza el usuario despus de que el equipo de desarrollo les
entregue una versin casi definitiva del producto.
35
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
35
Pruebas de aceptacin: son las nicas pruebas que son realizadas por los usuarios,
deciden si est o no listo para ser aceptado.
Dependiendo del tipo de prueba que se aplique, ser la dificultad o sencillez (para lograr
que las pruebas sean ms sencillas se pueden utilizar herramientas para probar cdigo). Si
utilizas software para administrar las pruebas podrs llevar un control ms preciso sobre
ellas, pues existen herramientas para desarrollar pruebas de software en todas las etapas
del desarrollo del sistema, stas soportan las pruebas y el desarrollo a lo largo del ciclo de
vida, desde la validacin de requerimientos hasta el soporte del funcionamiento del sistema.
Otras herramientas se enfocan en una sola parte del ciclo de vida. Por ejemplo a
continuacin veremos herramientas de software cuya funcin va orientada al tipo de
aplicacin (Fernndez, 2012, p. 1).
HP Unified Functional Testing es til para probar la interfaz grfica de las aplicaciones de
Java, Sap, Siebel, Visual Basic, .Net, Oracle, etc. Ayuda a la generacin de las pruebas y
su administracin. Adems de ser til para probar interfaz grfica, sirve para otros mdulos.
Se pueden crear escenarios de prueba. Ofrece un entorno de trabajo sencillo de utilizar.
Selenium es una herramienta til para probar aplicaciones web, desarrolladas en C#, Java,
Groovy, Perl, PHP, Python y Ruby. Es multiplataforma ya que se puede usar en Windows,
Linux y MacOS, es gratis y opensource (cdigo fuente abierto). Adems se puede encontrar
mucha documentacin en Internet sobre cmo utilizarla.
Eggplant es una herramienta que se puede aplicar en diferentes plataformas como
Windows, MacOS y Linux, en otras palabras, no depende de ninguna ya que convierte a la
pantalla en imagen y aplicando la tecnologa de reconocimiento ptico de caracteres (OCR)
puede identificar imgenes y texto para su interpretacin. Su ambiente de trabajo es fcil
de utilizar y ayuda en la automatizacin de pruebas de pantalla por medio de la
comparacin.
36
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
36
3.3.2. Mantenimiento
Haber concluido con un proyecto de desarrollo de
software, no implica que el software haya llegado a
su final, ya que como todo proceso, el paso del
tiempo producir mejoras ya sea por iniciativa,
cambios tecnolgicos o por situaciones externas
(gobierno,
instituciones,
produciendo
mejoras
al
organizaciones),
software
ya
sea
37
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
37
Cierre de la unidad
En el transcurso de la unidad has podido ver las etapas
de diseo, codificacin y pruebas que corresponden al
proceso de desarrollo de software. Tambin conociste
aspectos que tienen relacin con el mantenimiento al
software y los tipos que existen. Estos conocimientos te
sern de ayuda para entender el proceso de desarrollo
de software y podrs aplicarlos en tu ciclo personal de
38
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
38
Para saber ms
1) Ejemplos de Interaccin humano-mquina. Contiene ilustraciones y videos de ejemplos
de la interaccin humano-mquina:
http://interfacemindbraincomputer.wetpaint.com/page/2.A.1.0.+Ejemplos+de+Interacci%C3%B3n+Humano+Maquina
2) Visita esta pgina, encontrars una plantilla de uso libre para realizar casos de prueba.
Se explica detalladamente cmo se realiza su llenado:
http://readyset.tigris.org/nonav/es/templates/test-case-format
Fuentes de consulta
Bibliografa bsica
39
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
39
Bibliografa complementaria
Espaa.
Recuperado
de:
http://www.globetesting.com/2012/03/comparativa-de-herramientas-para-pruebasautomaticas/
de:
http://pegasus.javeriana.edu.co/~fwj2ee/descargas/metodologia(v0.1).pdf
Tognazzini, B. (2003). First Principles of Interaction Design. Etados Unidos: Tomado de:
http://galinus.com/es/articulos/principios-diseno-de-interaccion.html
40
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software
40