ricardo arango gÓmez - repositorio.ucp.edu.co

101
APLICACIÓN ÁLBUMES WEB RICARDO ARANGO GÓMEZ UNIVERSIDAD CATÓLICA DE PEREIRA FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA PROGRAMA DE INGENIERÍA DE SISTEMAS Y TELECOMUNICACIONES PEREIRA 2011

Upload: others

Post on 24-Jul-2022

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

1

APLICACIÓN ÁLBUMES WEB

RICARDO ARANGO GÓMEZ

UNIVERSIDAD CATÓLICA DE PEREIRA

FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA

PROGRAMA DE INGENIERÍA DE SISTEMAS Y TELECOMUNICACIONES

PEREIRA

2011

Page 2: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

2

APLICACIÓN ÁLBUMES WEB

RICARDO ARANGO GÓMEZ

Proyecto de grado presentado para optar por el título de

Ingeniero de Sistemas y Telecomunicaciones

Tutor

ALEXANDER BEJARANO GONZÁLEZ

Ingeniero de Sistemas y Computación

UNIVERSIDAD CATÓLICA DE PEREIRA

FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA

PROGRAMA DE INGENIERÍA DE SISTEMAS Y TELECOMUNICACIONES

PEREIRA

2011

Page 3: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

3

DECLARACIÓN DE DERECHOS DE AUTOR

Ricardo Arango Gómez como estudiante de último semestre de Ingeniería de

Sistemas y Telecomunicaciones declara que este proyecto fue iniciativa propia

para implementar un software a la empresa Argomedia S.A.S para generar un

servicio a favor de la gente de la región del Eje Cafetero.

Se autoriza que este proyecto pueda ser utilizado por los estudiantes o la

universidad como base para seguir aportándole desarrollo tecnológico a la

sociedad.

Page 4: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

4

RESUMEN

El proyecto desarrollado en este documento está enfocado a la elaboración de foto

álbumes, un servicio que quiere prestar la empresa Argomedia S.A.S,

específicamente a lo relacionado con la creación de álbumes personalizados a

través de un portal de internet y con el fin de entregarlos físicamente a los

usuarios.

Esencialmente se aplicó ingeniería del software, para desarrollar una aplicación

que logrará cumplir con algunos estándares de calidad. Se tomó como referencia

la metodología clásica. Así mismo se manejó un ciclo de vida del software por

prototipos, el cual permite cumplir con mayor satisfacción los requisitos solicitados

por la empresa, puesto que esta puede realizar una evolución de cada prototipo

entregado.

PALABRAS CLAVES: Álbum, álbumes, foto álbum, Análisis, Diseño, Aplicativo

web, Ingeniería del Software.

Page 5: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

5

ABSTRACT

The project developed in this document, is focused on the elaboration of photo

albums, as a as a services which intends to offer Argomedia S.A.S, specifically to

all the services related with the creation of customized albums through a web site

and delivery in hard copy to the users.

Essentially, software engineering was applied to develop an application which

achieved complying with some quality standards. Classical Methodology was taken

as a reference model. Furthermore, a software life cycle by prototyping was

exploited, which satisfies the company’s requirements up to a greater extent given

it can realize en evolution of the prototypes delivered.

KEY WORDS: Album, albums, photo album, Analysis, Design, Web Applications,

Software Engineering.

Page 6: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

6

CONTENIDO

DECLARACIÓN DE DERECHOS DE AUTOR ............................................................................................ 3

RESUMEN ............................................................................................................................................ 4

ABSTRACT ............................................................................................................................................ 5

CONTENIDO ......................................................................................................................................... 6

TABLAS ................................................................................................................................................ 8

FIGURAS .............................................................................................................................................. 9

1. FORMULACIÓN DEL PROYECTO ................................................................................................ 11

1.1. DESCRIPCIÓN Y FORMULACIÓN DEL PROBLEMA .............................................................. 11

1.2. OBJETIVOS ......................................................................................................................... 12

1.2.1. GENERAL .................................................................................................................... 12

1.2.2. ESPECÍFICOS .............................................................................................................. 12

1.3. JUSTIFICACIÓN................................................................................................................... 13

1.4. PLANTEAMIENTO DEL PROBLEMA .................................................................................... 14

1.5. CRONOGRAMA DE ACTIVIDADES ...................................................................................... 15

2. MARCO CONTEXTUAL ............................................................................................................... 16

2.1. ARGOMEDIA S.A.S. ............................................................................................................ 16

2.1.1. Presentación de la organización................................................................................ 16

2.1.2. Estructura de la organización: ................................................................................... 18

2.1.3. Misión ........................................................................................................................ 18

2.1.4. Visión ......................................................................................................................... 19

2.1.5. Valores ....................................................................................................................... 19

3. MARCO TEÓRICO ....................................................................................................................... 20

3.1. HISTORIA DEL INTERNET ................................................................................................... 20

3.2. INTERNET ........................................................................................................................... 23

3.3. EL SERVICIO WEB ............................................................................................................... 24

3.4. RELACIÓN CLIENTE/SERVIDOR .......................................................................................... 25

Page 7: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

7

3.5. HTML ................................................................................................................................. 27

3.6. EL LENGUAJE PHP .............................................................................................................. 27

3.7. ESTRUCTURA DE LAS BASES DE DATOS ............................................................................. 29

3.8. MySQL ............................................................................................................................... 29

3.9. EL PROCESO DEL SOFTWARE ............................................................................................. 31

4. MODELO TEÓRICO ..................................................................................................................... 34

4.1. PLANIFICACIÓN.................................................................................................................. 34

4.1.1. Justificación propuesta marco .................................................................................. 34

4.1.2. Justificación del ciclo de vida del software ............................................................... 35

4.1.3. Justificación del enfoque metodológico ................................................................... 36

4.1.4. Estudio de mercado................................................................................................... 36

4.2. REQUERIMIENTOS ............................................................................................................. 51

4.2.1. Requerimientos del cliente ....................................................................................... 51

4.2.2. Requerimientos del ingeniero ................................................................................... 51

4.3. ANÁLISIS ............................................................................................................................ 52

4.3.1. Modelo de casos de uso ............................................................................................ 52

4.3.2. Modelo del dominio del problema............................................................................ 61

4.3.3. Especificación del plan de pruebas ........................................................................... 63

4.4. DISEÑO .............................................................................................................................. 64

4.4.1. Definición de interfaces de usuario........................................................................... 64

4.4.2. Definición de la arquitectura del sistema y entorno tecnológico. ............................ 78

4.4.3. Tecnologías a implementar ....................................................................................... 80

4.4.4. Modelo relacional ..................................................................................................... 82

4.4.5. Especificación técnica del plan de pruebas ............................................................... 83

CONCLUSIONES ................................................................................................................................. 84

RECOMENDACIONES ......................................................................................................................... 85

BIBLIOGRAFÍA .................................................................................................................................... 86

MANUAL DEL USUARIO ..................................................................................................................... 87

MANUAL TÉCNICO ........................................................................................................................... 101

Page 8: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

8

TABLAS

TABLA 1. CRONOGRAMA DE ACTIVIDADES .................................................................. 15

TABLA 2. TABULACIÓN ECUESTA .............................................................................. 38

TABLA 3. TABULACIÓN ENCUETA TELEFÓNICA ........................................................... 49

TABLA 4. ACTORES, ADMINISTRADOR ........................................................................ 53

TABLA 5. ACTORES, USUARIO ................................................................................. 53

TABLA 6. ACTORES, BASE DE DATOS ........................................................................ 53

TABLA 7. CASOS DE USO, VALIDAR USUARIO .............................................................. 55

TABLA 8. CASOS DE USO, REGISTRAR USUARIOS ........................................................ 56

TABLA 9. CASOS DE USO, VER FOTOS ........................................................................ 57

TABLA 10. CASOS DE USO, SUBIR FOTOS ................................................................... 57

TABLA 11. CASOS DE USO, ELIMINAR FOTOS............................................................... 58

TABLA 12. CASOS DE USO, CREAR ÁLBUMES .............................................................. 58

TABLA 13. CASOS DE USO, ELIMINAR FOTOS .............................................................. 59

TABLA 14. CASOS DE USO, ACTUALIZAR PERFIL ......................................................... 60

TABLA 15. CASOS DE USO, CERRAR SESIÓN. ............................................................. 60

TABLA 16. IDENTIFICACIÓN DE CLASES Y ATRIBUTOS ................................................... 61

TABLA 17. DICCIONARIO DE CLASES ........................................................................ 62

TABLA 18. PRUEBA DE CAJA NEGRA ......................................................................... 83

Page 9: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

9

FIGURAS

FIGURA 1.ORGANIGRAMA ....................................................................................... 18

FIGURA 2. PROCESO DEL SOFTWARE ......................................................................... 31

FIGURA 3. PREGUNTA 1............................................................................................ 38

FIGURA 4. PREGUNTA 2............................................................................................ 39

FIGURA 5. PREGUNTA 3............................................................................................ 40

FIGURA 6. PREGUNTA 4............................................................................................ 41

FIGURA 7. PREGUNTA 5............................................................................................ 42

FIGURA 8. PREGUNTA 6............................................................................................ 43

FIGURA 9. PREGUNTA 7............................................................................................ 44

FIGURA 10. PREGUNTA 8.......................................................................................... 45

FIGURA 11. PREGUNTA 9.......................................................................................... 46

FIGURA 12. PREGUNTA 10 ........................................................................................ 47

FIGURA 13. DIAGRAMA GENERAL DE CASOS DE USO .................................................... 54

FIGURA 14. INICIAR SESIÓN ..................................................................................... 64

FIGURA 15. REGISTRAR USUARIO ........................................................................... 65

FIGURA 16. REGISTRO EXITOSO ............................................................................... 66

FIGURA 17. VER IMÁGENES ...................................................................................... 67

FIGURA 18. VISUALIZACIÓN IMÁGENES ...................................................................... 68

FIGURA 19. SUBIR IMÁGENES ................................................................................... 69

FIGURA 20. CREAR ÁLBUMES .................................................................................... 70

FIGURA 21. NUEVO ÁLBUM ....................................................................................... 71

FIGURA 22. PERSONALIZANDO ÁLBUM ...................................................................... 72

FIGURA 23. FINALIZAR ÁLBUM ................................................................................... 73

FIGURA 24. ÁLBUM FINALIZADO ................................................................................. 74

FIGURA 25. EDITAR INFORMACIÓN DEL USUARIO ........................................................ 75

FIGURA 26. MODULO DE ADMINISTRACIÓN ................................................................. 76

FIGURA 27. ADMINISTRADOR DE FOTOS ..................................................................... 77

FIGURA 28. ARQUITECTURA DEL SISTEMA ................................................................. 79

FIGURA 29. MODELO RELACIONAL ........................................................................... 82

Page 10: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

10

INTRODUCCIÓN

Hoy en día es muy común que una persona tenga una cámara digital para

inmortalizar sus recuerdos, tanto así que los celulares en su mayoría vienen con

este dispositivo integrado, ahora bien, surge la necesidad de revelar todas estas

fotos de una forma sencilla, práctica y económica ya sea para no perder la

información o por practicidad ya que es muy fácil extraviar una cámara o en el

caso que las tenga en un computador, este puede sufrir un daño y llevar a la

perdida de los datos. Esto conlleva a que una de las soluciones más apropiadas

sea tenerlas impresas y poder armar un álbum.

Las redes sociales se han convertido en los “álbumes” favoritos de las personas,

se convirtió en la forma más fácil y rápida de dar a conocer las fotos que se toman

cada día, de igual forma existen personas más tradicionalistas que no les gusta

tener este tipo de cuentas y prefieren ver fotos en un álbum, ya sea porque no les

gusta difundir lo que hacen en internet o porque las fotos que tienen solo se las

quieren mostrar a unos pocos.

Con la masificación del internet, los servicios de comunicación y entretenimiento

están migrando a este, también hay un sin número de servicios que se pueden

prestar en la red global sin tener que salir a la calle a hacer esas demoradas filas.

Page 11: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

11

1. FORMULACIÓN DEL PROYECTO

1.1. DESCRIPCIÓN Y FORMULACIÓN DEL PROBLEMA

ARGOMEDIA S.A.S., es una empresa de servicios dedicada a la implantación,

outsourcing, consultoría y soporte de soluciones de tecnología informática, como

también el diseño gráfico, web y multimedia, orientado a apoyar la estrategia de

negocio de sus clientes, consolidada en la ciudad de Pereira.

Esta idea se quiere implementar para prestar un servicio donde sus usuarios

puedan crear álbumes tradicionales o físicos de sus fotografías ya que en la

ciudad de Pereira no existe este servicio como lo quiere implementar Argomedia,

existen unos servicios similares que no cumplen con las características que se van

a desarrollar con este proyecto y son, privacidad del usuario a la hora de crear el

álbum y no tendrá que preocuparse por el tiempo ya que el aplicativo le permitirá

realizar el trabajo a la hora que quiera y el tiempo que sea necesario.

Page 12: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

12

1.2. OBJETIVOS

1.2.1. GENERAL

Desarrollar una aplicación web que permita al usuario cargar sus fotos en

Internet a través de cualquier computador y gestionar la impresión que le

llegará posteriormente a su domicilio.

1.2.2. ESPECÍFICOS

Analizar y diseñar la base de datos que se requiere.

Construir la interface web necesarias para el funcionamiento del sistema de

información.

Crear perfiles de usuarios para ofrecer una óptima seguridad.

Crear un manual de funcionamiento.

Page 13: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

13

1.3. JUSTIFICACIÓN

Argomedia quiere crear un software para que sus clientes puedan elaborar foto

álbumes ya que en Pereira no se cuenta con este servicio.

La empresa ya presta servicios tecnológicos como soporte técnico a empresas

con una trayectoria de dos años en el mercado y con excelentes resultados,

comercialización de equipos de cómputo, consultoría, diseño gráfico y diseño web.

Viendo las necesidades de ofrecer un servicio donde el usuario desde su propia

casa pueda trabajar en la elaboración de un álbum personalizado y no depender

de las instalaciones de la empresa que proporcione el servicio y según un estudio

realizado, basado en una encuesta y llamadas telefónicas para estudiar el

mercado en la ciudad de Pereira, se puede apreciar que un aplicativo web puede

llegar a ser un servicio que la gente va a utilizar para poder realizar de forma

sencilla y cómoda sus foto álbumes, de esta forma se pretende ser una alternativa

más para archivar sus fotografías y no depender únicamente de las digitales.

Page 14: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

14

1.4. PLANTEAMIENTO DEL PROBLEMA

Hoy en día mucha gente quiere revelar sus fotografías para que no se pierdan con

facilidad y para poder observarlas sin la necesidad de un computador o un

dispositivo similar, el problema radica en que sale muy costoso revelar cada foto

en papel fotográfico y el otro factor es que en la ciudad de Pereira no se cuenta

con un servicio donde los usuarios puedan organizar y personalizar sus álbumes

desde la casa.

En la actualidad existe un servicio que deja crear álbumes pero en el lugar donde

se tiene que revelar, generando incomodidad del usuario ya que no tiene

privacidad para ir insertando las fotos ni la comodidad suficiente para quedarse un

tiempo prolongado, ocasionando retrasos en el proceso ya que si varias personas

quieren hacer este trabajo en el mismo día, la empresa que está prestando el

servicio tiene que contar con varios equipos disponibles para no poner a esperar a

sus clientes.

Page 15: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

15

1.5. CRONOGRAMA DE ACTIVIDADES

Actividades Abril Mayo Junio

1º 2º 3º 4º 1º 2º 3º 4º 1º 2º 3º 4º

Estudio de

Mercadeo X X

Elaboración

del documento X X X X X X X

Programación

del aplicativo X X X X

Pruebas del

aplicativo X X

Elaboración

del manual X X

Correcciones X X

Sustentación X

Tabla 1. Cronograma de Actividades Fuente: Elaboración propia.

Page 16: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

16

2. MARCO CONTEXTUAL

2.1. ARGOMEDIA S.A.S.

2.1.1. Presentación de la organización

ARGOMEDIA S.A.S nace en junio de 2008 como una idea de negocio bajo la

iniciativa de dos estudiantes de Ingeniería de Sistemas y Telecomunicaciones de

la Universidad Católica Popular del Risaralda después de identificar las

necesidades que el mercado local requería, consolidando una propuesta fresca

con una imagen moderna e intuitiva.

Es una empresa netamente pereirana, con personal joven y talentoso de la región,

con una proyección bastante ambiciosa para que con el pasar del tiempo no sea

solo una organización regional si no una organización de gran impacto de la región

para el mundo.

Se consolida como empresa en Enero 13 de 2009 como persona natural mediante

documento privado, y para Julio de 2010 se constituye como persona jurídica a

una sociedad por acciones simplificadas (SAS) para continuar prestando sus

servicios.

Busca ser el aliado estratégico idóneo para las empresas de hoy generando

conceptos idóneos que conlleven a sus clientes al desarrollo y constante

evolución, ofreciendo soluciones relacionadas con la tecnología, apoyándose en el

campo de la informática y las telecomunicaciones como también el diseño gráfico

asistido, incluyendo nuevos conceptos que permitan generar confianza y

posicionamiento más específicamente así:

Page 17: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

17

Consultoría.

Outsourcing.

Diseño gráfico, web, multimedia.

Venta y administración de dominios y hosting.

Instalación, configuración y soporte técnico especializado.

Mantenimiento preventivo y correctivo de servidores y estaciones de

trabajo.

Afinamiento de plataformas computacionales.

Acompañamiento en la actualización y migración de plataformas

tecnológicas IT.

Acompañamiento en la definición y parametrización de políticas de

seguridad y administración.

Soporte remoto.

Venta de partes y equipos.

Licenciamiento.

Page 18: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

18

2.1.2. Estructura de la organización:

Figura 1.Organigrama Fuente: ARGOMEDIA S.A.S.

2.1.3. Misión

Suministrar soluciones tecnológicas y con diseños de vanguardia, integrados y

confiables que fortalezcan la capacidad de gestión de nuestros clientes mediante

el mejoramiento de la eficiencia en sus procesos. A través de la conformación de

un excelente equipo de trabajo y su continua capacitación, propender por el

desarrollo profesional y personal de todos los integrantes del grupo de manera que

siempre se encuentren capacitados y dispuestos a prestar los servicios en las

calidades requeridas.

Page 19: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

19

2.1.4. Visión

Seremos el socio preferido de nuestros clientes y aliados, reconocidos por nuestra

capacidad de agregar valor a sus negocios ofreciendo soluciones integrales de

tecnología con calidad, oportunidad y eficiencia, consolidando nuestra

participación en el mercado regional e incursionando con éxito en el sur occidente

colombiano.

2.1.5. Valores

Nuestra cultura organizacional se sustenta en la promoción y vivencia de los

siguientes valores:

Responsabilidad

Cumplimiento

Honestidad

Calidad

Creatividad

Pro actividad

Page 20: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

20

3. MARCO TEÓRICO

Se decidió programar el aplicativo para que fuera compatible con internet ya que

como es un servicio donde los clientes deben acceder desde sus computadores y sin

depender de donde se encuentren, internet facilita el uso de aplicaciones y cada día

son más las empresas que migran los servicios a la nube porque ayuda a largo plazo

que los programas sean más económicos, también hace más fácil accesible y una

de las mejores ventajas es que se convierte en un aplicativo multiplataforma ya que

no depende del sistema operativo del computador donde quiera realizar las tareas.

El código HTML nos permite programar páginas web de forma sencilla sin

depender de un compilador para ensayar o ver los resultados, el aplicativo de los

foto álbumes está programado básicamente con este lenguaje y con el embebido,

se conecta con el lenguaje PHP que es el que permite realizar páginas web de

forma dinámica.

Todo el aplicativo guarda la información por medio de las bases de datos para

poder tener una interacción como es el poder guardar y agregarles información a

las fotos, generar varios álbumes independientemente de las fotos y usar las fotos

en los álbumes que se quiera, todo esto relacionado con el cliente para que de

esta forma las consultas puedan ser agiles y con la mayor seguridad posible. Para

la administración de estas bases de datos se utilizo MySQL.

A continuación se expondrán los significados y una reseña histórica de los conceptos

utilizados en este aplicativo.

3.1. HISTORIA DEL INTERNET1

La aparición a principios de los noventa del servicio web supuso una verdadera

revolución en el campo de la informática y las telecomunicaciones. Con la

1VACAS Soez, Fernando. Más Allá de Internet, La Red Universal Digital. Madrid: Analla Multimedia, 2005

Page 21: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

21

irrupción de este nuevo servicio, Internet inició una rápida transición hacia el

ámbito empresarial y supuso un enorme impulso al crecimiento de la red. Lo que

había surgido en plena guerra fría como un proyecto militar y que posteriormente fue

dirigiéndose hacia el ámbito científico y académico, se empezó a convertir en un perfecto

"escaparate virtual" en el que las empresas pudieran ofrecer sus productos y servicios

rompiendo barreras geográficas y de comunicaciones. En la actualidad las

empresas no ven únicamente el servicio web como un mero escaparate o medio

publicitario de enorme difusión. Internet, y en particular el servicio web, abre a las empresas

enormes posibilidades. La utilización de tecnologías web permite agilizar los procesos,

mejorar la productividad y aumentar la eficacia, además de abrir las puertas a nuevas

formas de negocio en el mercado global que facilita Internet (e-business).

Por supuesto, no han sido las empresas las únicas beneficiadas con el desarrollo de

Internet y del servicio web. Las instituciones públicas tienen también nuevas

formas de ofrecer servicios a los ciudadanos (e-goverment), los usuarios

individuales tienen nuevas formas de adquirir productos (e-commerce) o nuevas

formas de formarse e instruirse (e-learning).

Para poder realmente obtener todos estos beneficios ha sido preciso desarrollar

nuevas tecnologías que consigan hacer del servicio web un servicio dinámico e

interactivo. En sus orígenes el servicio World Wide Web fue concebido como un

sistema flexible de compartir información multimedia entre equipos heterogéneos a

través de redes informáticas. Para ello fue desarrollado un sistema de generación

de documentos a través de un lenguaje estándar: el lenguaje HTML. Los

documentos generados de esta forma podían incorporar texto y elementos

gráficos, pero eran documentos totalmente estáticos. Posteriormente fueron

desarrollándose diferentes tecnologías que, trabajando en conjunción con el

lenguaje HTML, pudieran paliar estas carencias. Así por ejemplo, Netscape

incorporó en la versión 2.0 de su célebre navegador un intérprete de un nuevo

lenguaje que podía ser intercalado entre el código HTML y que permitía realizar

operaciones no disponibles en un lenguaje puramente descriptivo como es HTML;

dicho lenguaje, llamado en sus orígenes LiveScript, adquirió posteriormente el

nombre de JavaScript. Unos años más tarde la empresa Sun Microsystems lanzó

un revolucionario lenguaje de programación, el lenguaje Java, que permitía

incrustar en las páginas web programas con las prestaciones propias de cualquier

Page 22: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

22

lenguaje de programación. Microsoft por su parte también se unió a esta evolución

primero con sus lenguajes de script: VBScript basado en Visual Basic y JScript,

versión Microsoft de JavaScript, y, más recientemente, con las tecnologías .NET.

Igualmente se han venido desarrollando diferentes extensiones del propio lenguaje

HTML con objeto de aumentar su dinamismo; en este contexto se podría citar el

HTML dinámico (DHTML) y el lenguaje XML.

Internet ha jugado un papel esencial en la expansión de la denominada corriente

open source. Los defensores de esta corriente defienden el desarrollo de

aplicaciones informáticas y su distribución libre, de forma gratuita; pero no solo

eso sino que también ponen a disposición de los usuarios el código fuente de los

programas desarrollados. Se trata, en definitiva, de que los usuarios puedan utilizar los

programas sin ninguna restricción y puedan conocer si lo desean su funcionamiento

interno. El ejemplo más emblemático de esta corriente open source lo constituye el

sistema operativo Linux. En los últimos años se ha desarrollado enormemente y ya

se pueden obtener en la propia red Internet todo tipo de programas basados en

esta filosofía: servidores y navegadores web, entornos de programación, editores,

herramientas ofimáticas, Grandes empresas como IBM o Yahoo, por ejemplo, han

apostado muy fuerte por las soluciones open source, sin lugar a dudas, el impacto de

este tipo de soluciones parece destinado a incrementarse en el futuro debido a sus altas

prestaciones y calidad, su menor coste y su alta difusión.

Por un lado el lenguaje PHP, que nació como un lenguaje para realizar un

seguimiento de visitas de páginas personales, se ha convertido en uno de los

referentes actuales en los denominados lenguajes de script. Por otro lado, el

sistema gestor de bases de datos MySQL se presenta como una herramienta con

altas prestaciones para el desarrollo de bases de datos, especialmente apropiado

para ser usada por pequeñas organizaciones o empresas. La utilización conjunta

de ambos: PHP y MySQL permiten llegar a desarrollar interesantes aplicaciones

web que puedan cubrir las necesidades de pequeñas empresas que quieran

fortalecer su presencia en Internet o usuarios individuales que quieran generar

verdaderas páginas dinámicas. Como complemento a ambas herramientas, en

Internet se pueden encontrar igualmente gestores de contenidos, aplicaciones

basadas en PHP que permiten a los usuarios finales aprovechar las ventajas de estas

Page 23: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

23

tecnologías sin necesidad de tener grandes conocimientos sobre su funcionamiento y

sintaxis de los lenguajes. En el presente se darán referencias de algunas de estas

herramientas de gestión de contenidos y otras herramientas para la creación de

aplicaciones web que han sido desarrolladas.

3.2. INTERNET2

Internet (INTERconected NETwork) es una red de redes de ordenadores de todo tipo

que se comunican mediante un lenguaje común: el conocido como protocolo

TCP/IP. Esa primera característica de la heterogeneidad de los equipos

conectados es clave para entender el funcionamiento de todos los servicios de la

red y para comprender la necesidad de la portabilidad en cualquier desarrollo que se

quiera hacer en el ámbito de Internet. A nivel de programadores de aplicaciones

web, que es en el que se sitúa el presente libro, no es necesario disponer de

conocimientos técnicos sobre los protocolos de comunicación en los que se basa

Internet.

Los desarrollos de aplicaciones realizados en Internet tienen también un campo de

aplicación en aquellas redes privadas que usan los mismos sistemas y protocolos que

Internet: las denominadas Intranets.

Otro de los aspectos a tener en cuenta es el carácter distribuido de la red. Ese

carácter totalmente distribuido se concreta a todos los niveles: en el aspecto

geográfico no existe ningún nodo central de la red, de hecho, los orígenes de

Internet se sitúan en un proyecto militar del Gobierno de los Estados Unidos para crear

una red que no fuera vulnerable ante el ataque a alguno de sus nodos. En el aspecto

económico, tampoco existe ningún gobierno o institución que mantenga la red sino

que son las propias subredes que la componen las encargadas de su propio

mantenimiento. El carácter distribuido también se manifiesta en el aspecto político

ante la ausencia de un gobierno central de la red; lo que sí existen son diversas

2 Ibid.

Page 24: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

24

organizaciones o asociaciones que tratan de establecer diferentes estándares

para el desarrollo de la red.

Aunque el servicio web es actualmente el servicio más conocido y utilizado de la red

Internet, conviene recordar que no es el único. Los tres servicios originarios de la

red: correo electrónico (e-mail), transferencia de fichero (FTP) y acceso remoto

(Telnet), siguen estando presentes y siguen siendo ampliamente utilizados. Pero

podrían citarse otros servicios, algunos muy conocidos y otros en cierta

decadencia al haber absorbido el propio servicio web sus funciones: servicios de

noticias (news), gopher, servicios de búsqueda de archivos (Archie), servicios de

localización, en los últimos años también están teniendo mucho auge las

aplicaciones P2P.

3.3. EL SERVICIO WEB3

El servicio WWW, o simplemente Web, se podría definir como un amplio sistema

multimedia de acceso a información heterogénea distribuida por toda la red en forma

de documentos hipertextuales (hipertextos), este servicio surgió en 1990 en el CERN

(CounseilEuropeenpour la RechercheNucleaire) con el objetivo de facilitar la

distribución de información entre equipos investigadores geográficamente dispersos.

Se buscaba que los recursos disponibles en formato electrónico fuesen accesibles

para cada investigador desde su propia terminal de forma clara y simple, posibilitando

el salto entre elementos de información conexos. En definitiva, se trataba de integrar

todos los recursos existentes en una red hipertextual. Aunque el nacimiento del

servicio se sitúa en 1990, es en 1991 cuando el sistema desarrollado en el CERN se abre

a Internet, apareciendo en 1992 el primer navegador web llamado Mosaic.

3 COBO, Ángel. GÓMEZ, Patricia. PÉREZ, Daniel. ROCHA, Roció. PHP y MYSQL Tecnologías para el

Desarrollo de Aplicaciones. España: Díaz de Santos, 2005

Page 25: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

25

El término hipertexto que empezó a hacerse popular a partir de la aparición de este

servicio tiene, sin embargo, su definición en un trabajo de Ted Nelson en 1965, la

definición original del término es:

"Un cuerpo de material escrito o gráfico interconectado de un modo

complejo que no se puede representar convenientemente sobre el papel;

puede contener anotaciones, adiciones y notas de los estudiosos que lo

examinan".4

En una definición más moderna y aplicable al concepto de hipertexto en Internet, se

podría decir que un hipertexto es un documento multimedia, es decir, integrando bajo

una plataforma informática todas las tecnologías de la información, y que incorpora

relaciones estructurales que enlazan el documento con otros documentos o recursos.

Algunas de las características destacadas de los hipertextos son:

Almacenamiento de un gran volumen de información.

Facilidad de acceso y consulta.

Presentación de una forma más agradable.

Uso de todas las tecnologías de la información.

Permiten una "navegación" individualizada.

Estructuración multidimensional.

Multiplataforma.

Dinamismo e interactividad

3.4. RELACIÓN CLIENTE/SERVIDOR

Todos los servicios que ofrece Internet, y por supuesto entre ellos el servicio web, se

basan en la denominada relación cliente/servidor. El comprender bien esta relación

4 TED, Nelson. PHP y MYSQL Tecnologías para el Desarrollo de Aplicaciones. España: Díaz de Santos,

2005.

Page 26: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

26

es esencial para entender el funcionamiento posterior de lenguajes como PHP. En

Internet se pueden encontrar dos tipos de equipos conectados:

Servidores: ordenadores que ofrecen sus servicios al resto de equipos conectados.

Suelen tener una presencia estable en la red, lo que se concreta en tener

asignadas direcciones IP permanentes. En ellos es donde están alojadas, por

ejemplo, las páginas web.

Clientes: equipos que los usuarios individuales utilizan para conectarse a la red y

solicitar servicios a los servidores. Durante el tiempo de conexión tienen presencia

física en la red. Normalmente los proveedores de acceso a Internet asignan a estos

equipos una dirección IP durante su conexión, pero esa dirección es variable, es

decir, cambia de unas conexiones a otras (IP dinámica).

Los conceptos de cliente y servidor se suelen utilizar con dos significados

diferentes, en referencia al hardware el sentido es el indicado anteriormente, el

servidor hace referencia al equipo remoto al que se realiza la conexión y el cliente sería

el equipo local utilizado para efectuar dicha conexión. Pero también se utilizan esos

conceptos en referencia al software:

Programa servidor es el programa que debe estar ejecutándose en el equipo

servidor para que este pueda ofrecer su servicio. Un documento HTML sin más

almacenado en el equipo remoto no basta para que sea accesible como página

web por el resto de usuarios de Internet, en ese equipo debe estar ejecutándose

una aplicación servidor web. Uno de los programas servidores web más

conocido y utilizado es Apache, programa que también pertenece a la corriente

open source. Existen otros servidores web como el Personal Web Server

(PWS) o el US disponibles en los equipos Windows. En el caso de otros

servicios como el correo electrónico o la transferencia de ficheros se

necesitarían igualmente los correspondientes programas en el servidor.

Programa cliente es en este caso el software necesario en el equipo cliente para

tener acceso al correspondiente servicio. Así por ejemplo, los navegadores como el

Internet Explorer o Mozilla son ejemplos de clientes web; un programa como

Outlook es un ejemplo de cliente de correo electrónico y programas como

WS_FTP o CuteFTP son ejemplos de clientes FTP.

Page 27: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

27

3.5. HTML5

Las definiciones existentes de HTML son múltiples y más o menos complejas. Una

definición sencilla y de marcado carácter práctico es la que se propone a

continuación:

HTML es un lenguaje de descripción de hipertexto compuesto por una serie de

comandos, marcas, o etiquetas, también denominadas "Tags" que permiten

definir la estructura lógica de un documento web y establecer los atributos del

mismo (color del texto, contenidos multimedia, hipervínculos, etc.).

En resumen, es un lenguaje que permite crear páginas web y para ello utiliza unos

comandos o etiquetas que indican o marcan qué se debe mostrar y de qué forma.

Los comandos siempre van incluidos entre los signos <> e insertados en el propio texto

que compone el contenido de la página. Especifican su estructura (las distintas

partes de la página) y formato. Además, permiten la inserción de contenidos

especiales como imágenes, videos, sonidos, etc.

3.6. EL LENGUAJE PHP6

PHP es un lenguaje interpretado del lado del servidor que se caracteriza por su

potencia, versatilidad, robustez y modularidad. Los programas escritos en PHP

son embebidos directamente en el código HTML y ejecutados por el servidor web

a través de un intérprete antes de transferir al cliente que lo ha solicitado un

resultado en forma de código HTML puro. Al ser un lenguaje que sigue las

corrientes open source, tanto el intérprete como su código fuente son totalmente

accesibles de forma gratuita en la red.

5 TED, Nelson. PHP y MYSQL Tecnologías para el Desarrollo de Aplicaciones. España: Díaz de Santos,

2005. 6 COBO, Ángel. GÓMEZ, Patricia. PÉREZ, Daniel. ROCHA, Roció. PHP y MYSQL Tecnologías para el

Desarrollo de Aplicaciones. España: Díaz de Santos, 2005. ISBN: 84-7978-706-6

Page 28: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

28

Por supuesto, es un lenguaje multiplataforma; los programas funcionan igual

sobre diferentes plataformas, trabajando sobre la mayoría de servidores web y

estando preparado para interactuar con más de 20 tipos de bases de datos. No

obstante, al ser un lenguaje inicialmente concebido para entornos Unix, es sobre

este sistema operativo sobre el que se pueden aprovechar mejor sus prestaciones.

En comparación con otro tipo de tecnologías similares, PHP resulta más rápido,

independiente de la plataforma y más sencillo de aprender y utilizar.

Todas estas características han hecho de este lenguaje uno de los que mayor

crecimiento ha experimentado en los últimos años, desde su aparición en 1994. Es de

destacar especialmente la facilidad para la conectividad con sistemas gestores de

bases de datos a través de un gran número de funciones especializadas. Esa

facilidad de conexión ha hecho que PHP sea actualmente uno de los lenguajes más

utilizados para la generación de páginas dinámicas, no solo personales sino

también portales de empresas y organizaciones.

Inicialmente diseñado para realizar poco más que contadores y libros de visita de

páginas, en la actualidad PHP permite realizar una multitud de tareas útiles para el

desarrollo web. Por ejemplo, dispone, entre otras, de:

Funciones de correo electrónico que pueden ser utilizadas para programar

completos sistemas de correo electrónico vía web.

Funciones de administración y gestión de bases de datos específicas para la

mayoría de gestores comerciales y funciones para conexiones ODBC con

bases de datos en sistemas Microsoft.

Funciones de gestión de directorios y ficheros, incluso para la transferencia

mediante FTP.

Funciones de tratamiento de imágenes y librerías de funciones gráficas

Funciones de generación y lectura de cookies.

Funciones para la generación de documentos PDF.

Page 29: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

29

A la innumerable cantidad de funciones predefinidas en PHP deben añadirse, por

supuesto todas aquellas funciones propias de cada programador, y que pueden ser

reutilizadas e intercambiadas a través de foros específicos con otros programadores.

En definitiva, PHP es uno de los lenguajes más utilizados actualmente en el

desarrollo de aplicaciones web y viene experimentado un constante crecimiento en su

nivel de utilización en Internet.

3.7. ESTRUCTURA DE LAS BASES DE DATOS7

Los sistemas de gestión de base de datos (abreviado mediante SGBD o DBMS)

organizan y estructuran los datos de tal modo que puedan ser recuperados y

manipulados por usuarios y programas de aplicación. Las estructuras de los datos

y las técnicas de acceso proporcionadas por un DBMS particular se denominan

modelo de datos. El modelo de datos determina la personalidad de un DBMS y las

aplicaciones para las cuales está particularmente bien conformado.

Existe un tipo de lenguaje estándar normalizado para trabajar con bases de datos

denominado SQL (Structured Query Language). SQL es un lenguaje de base de

datos para bases de datos relaciónales y utiliza el modelo de datos relacional.

3.8. MySQL8

Es un sistema de administración de bases de datos relaciónales rápido, sólido y

flexible. Es ideal para crear bases de datos con acceso desde páginas web dinámicas,

para la creación de sistemas de transacciones on-line o para cualquier otra solución

7 SILBERSCHATZ, Abraham, KORTH, Henry F., SUDARSHAN, S, Fundamentos De Bases De Datos,

Cuarta edición, McGRAW-HILL, España, 2002, Capitulo 1 “Introducción”. 8 COBO, Ángel. GÓMEZ, Patricia. PÉREZ, Daniel. ROCHA, Rocío. PHP y MYSQL Tecnologías para el

Desarrollo de Aplicaciones. España: Díaz de Santos, 2005. ISBN: 84-7978-706-6

Page 30: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

30

profesional que implique almacenar datos, teniendo la posibilidad de realizar múltiples y

rápidas consultas.

MySQL ofrece varias ventajas respecto a otros sistemas gestores de bases de datos:

• Tiene licencia pública, permitiendo no solo la utilización del programa sino también

la consulta y modificación de su código fuente. Resulta por tanto fácil de personalizar y

adaptar a las necesidades concretas.

• El programa está desarrollado en C y C++, lo que facilita su integración en

otras aplicaciones desarrolladas igualmente en esos lenguajes.

Para aquellos que deseen que sus desarrollos basados en MySQL no sean

"código abierto" existe también una licencia comercial.

MySQL utiliza el lenguaje SQL (Structured Query Languaje - Lenguaje de

Consulta Estructurado) que es el lenguaje de consulta más usado y

estandarizado para acceder a bases de datos relaciónales. Soporta la

sintaxis estándar del lenguaje SQL para la realización de consultas de

manipulación, creación y de selección de datos.

Es un sistema cliente/servidor, permitiendo trabajar como servidor multiusuario

y de subprocesamiento múltiple, es decir, cada vez que establece una

conexión con el servidor, el programa servidor crea un subproceso para

manejar la solicitud del cliente, controlando el acceso simultáneo de un gran

número de usuarios a los datos y asegurando acceso solo a usuarios

autorizados.

MySQL dispone de un sistema sencillo de ayuda en línea, y de un monitor que

permite realizar todas las operaciones desde la línea de comandos del sistema,

sin necesitar ningún tipo de interfaz de usuario gráfica. Esto facilita la

administración remota del sistema utilizando telnet.

Es portable, es decir, puede ser llevado a cualquier plataforma informática.

MySQL está disponible en más de veinte plataformas diferentes incluyendo las

distribuciones más usadas de Linux, sistema operativo Mac OS, UNIX

Microsoft Windows.

Page 31: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

31

Es posible encontrar gran cantidad de software desarrollado sobre MySQL o

que soporte MySQL. En concreto, son de destacar diferentes aplicaciones open

source para la administración de las bases de datos a través de un servidor web.

Todas estas características han hecho de MySQL uno de los sistemas gestores de

bases de datos más utilizado en la actualidad, no solo por pequeñas empresas sino

también por algunas grandes corporaciones, como puedan ser: Yahoo! Finance,

Google, CISCO, MP3.com, Motorola, NASA, SiliconGraphics, Te

Instruments.9

3.9. EL PROCESO DEL SOFTWARE

Figura 2. Proceso del software Fuente: Presman, R. & I. Murieta, J.

La ingeniería del software es una tecnología estratificada. Como se muestra en la figura,

cualquier enfoque de la ingeniería (incluido el de la ingeniería del software) debe estar

sustentado en un compromiso con la calidad. La Gestión de la Calidad Total, Sigma Seis y

enfoques similares fomentan una cultura de mejora continua del proceso, y es esta cultura

la que al final conduce al desarrollo de enfoques muy efectivos para la ingeniería del

software. La base que soporta la ingeniería del software es un enfoque en la calidad.

9 Ibíd., p.8-14.

HERRAMIENTAS

TODO

PROCESO

UN ENFOQUE DE CALIDAD

Page 32: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

32

La base de la ingeniería del software es el estrato del proceso. El proceso de la ingeniería

del software es el elemento que mantiene juntos los estratos de la tecnología y que

permite el desarrollo racional y a tiempo del software de computadora. El proceso define

un marco de trabajo que debe establecerse para la entrega efectiva de la tecnología de la

ingeniería del software. El proceso del software forma la base para el control de la gestión

de los proyectos de software y establece el contexto en el cual se aplican los métodos

técnicos, se generan los productos del trabajo (modelos, documentos, datos, reportes,

formatos, etcétera), se establecen los fundamentos, se asegura la calidad, y el cambio se

maneja de manera apropiada.

Los métodos de la ingeniería del software proporcionan los "cómo" técnicos para

construir software. Los métodos abarcan un amplio espectro de tareas que incluyen la

comunicación, el análisis de requisitos, el modelado del diseño, la construcción del

programa, la realización de pruebas y el soporte. Los métodos de la ingeniería del

software se basan en un conjunto de principios básicos que gobiernan cada área de la

tecnología e incluye actividades de modelado y otras técnicas descriptivas.

Las herramientas de la ingeniería del software proporcionan el soporte

automatizado o semi-automatizado para el proceso y los métodos. Cuando las

herramientas se integran de forma que la información que se crea, una de ellas

pueda usar la otra, se dice que se ha establecido un sistema para el soporte del

desarrollo del software, que con frecuencia se denomina ingeniería del software

asistida por computadora.

Un marco de trabajo establece la base para un proceso de software completo al

identificar un número pequeño de actividades del marco de trabajo aplicables a

todos los proyectos de software, sin importar su tamaño o complejidad. Además, el

marco de trabajo del proceso abarca un conjunto de actividades sombrilla

aplicable a lo largo del proceso del software.10

10

Presman, R. & I. Murieta, J. (2005). Ingeniería del software: un enfoque práctico. México: McGraw Hill.

Page 33: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

33

3.10. TIPOS DE FOTO ÁLBUMES

En la ciudad de Pereira solo una empresa está prestando el servicio de foto

álbumes y es la empresa Foto Japón, recientemente implementaron un aplicativo

que se descarga de la página de la empresa y se instala en el computador, se

realiza el Foto álbum y se debe llevar a cualquier Foto Japón del país para que

realicen el resto del trabajo. Empresas como Copimaxi, Zona Fotográfica, Foto

Heyter, MagiFoto, Klic GBC, que se encuentra en la ciudad dicen prestar el

servicio pero lo hace un diseñador según las indicaciones que le vaya dando el

cliente.

En internet se pueden encontrar servicios para realizar foto álbumes, el

inconveniente es que no hay forma que hagan llegar el resultado físico a

Colombia, entre ellos están: Apple, jAlbum, Hofmann, entre otros. Estas empresas

permiten personalizar los álbumes fotográficos y pagar por internet para que el

cliente obtenga su álbum físicamente.

Page 34: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

34

4. MODELO TEÓRICO

4.1. PLANIFICACIÓN

4.1.1. Justificación propuesta marco

Debido a que no se cuenta con la experiencia necesaria en la implementación de

ingeniería del software en un proyecto y la empresa no exige una como tal, se

realizará basado en la metodología Clásica, ya que se puede tomar información de

diferentes autores y ajustarlas a la necesidad de Argomedia S.A.S, también como

es un proyecto pequeño, si se escoge una propuesta que no sea la adecuada se

estaría derrochando tiempo en tareas que podrían llegar a no ser necesarias.

Se descartó la selección de otras propuestas tales como: Swebok por que la

solución a implementar es de carácter regional, Métrica Versión 3 porque no se

cuenta con un Plan Estratégico dentro de la Organización, Moprosoft porque está

muy enfocado hacia la producción de software mexicano, Lerise por su

desconocimiento y EUROMETODO porque está más enfocado a definir, planificar

y ejecutar la adquisición de un sistema de información y los servicios relacionados.

Los ítems que se van a tomar en cuenta para el desarrollo del proyecto serán:

a) Análisis del sistema

Modelos de casos de uso

Definición del sistema

Actores

Diagrama de las clases de uso

Casos de uso

Modelo del dominio del problema

Page 35: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

35

Modelo de clases

Identificación de clases y atributos

Diccionario de clases

Modelo relacional

Especificación del plan de pruebas

Enfoques de pruebas

Definición de interfaces de usuario

b) Diseño del sistema

Definición de la arquitectura de sistema y su entorno

Tecnologías a implementar

Hardware

Sistemas de bases de datos

Herramientas de desarrollo

Servidor web

seguridad

Diagrama relacional

Especificación técnica del plan de pruebas

c) Implementación del sistema

Programación del software

4.1.2. Justificación del ciclo de vida del software

Analizando las necesidades del cliente y sus requerimientos, se ha decidido

utilizar como MCVS*11el modelo prototipado.

Se quiere implementar este modelo de ciclo de vida del software porque permite

realizar entregas parciales o un prototipo de la aplicación, así mismo el cliente

puede indicar que cambios se deben realizar ya que él desea una aplicación

* Modelo de ciclo de vida del software

Page 36: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

36

donde se puedan hacer modificaciones ya que más adelante se implementaran

más estilos y opciones para personalizar los álbumes.

4.1.3. Justificación del enfoque metodológico

Se ha decidido trabajar con un enfoque metodológico orientado a objetos ya que

presenta muchos beneficios para el desarrollo de aplicaciones flexibles, no

robustas y orientadas a la web como es el caso del aplicativo de foto álbumes,

ayudando así a la reutilización de los objetos que más adelante serán necesarios

para mejorar las opciones que tiene el software.

4.1.4. Estudio de mercado

Para el estudio de mercado se realizo una encuesta que pretende identificar las

ventajas y desventajas que perciben las personas con los álbumes tradicionales

de fotos en contraste con la propuesta que se quiere implementar. Con esta

herramienta se puede obtener datos de los sectores o estratos a los cuales va

enfocado el servicio y establecer qué porcentaje de los usuarios cuentan con un

computador con conexión a internet ya que es esencial para poder prestar el

servicio.

Modelo de encuesta

Page 37: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

37

ENCUESTA Por favor marque con una x o encierre con un circulo la respuesta de su elección, por favor solo marque una respuesta por pregunta. Edad 16-25__ 26__35 35-45__ 45 o más__ Estrato Residencia 2__ 3__ 4__ 5__ 6__ 1. ¿Dispone actualmente de un

computador en su casa? a) Si b) No

2. ¿Dispone actualmente de servicio de internet en su casa? a) Si b) No

3. En caso de que su respuesta sea

negativa, ¿utiliza usted internet en otro lugar tal como trabajo, café internet o en la casa de algún amigo o familiar? a) Si b) No

4. ¿Es usuario de alguna(s) redes sociales? a) Si b) No

5. ¿Cómo suele almacenar usualmente sus

fotos? a) Digitalmente b) Las imprime

6. ¿De qué manera prefiere ver sus fotografías? a) Impresas b) En pantalla c) Indiferente

7. En su opinión ¿cuál es la peor desventaja

de los tradicionales álbumes fotográficos?

a) Deterioro de las fotografías b) Son difíciles de mantener en orden c) No han avanzado con el tiempo

8. En su opinión ¿cuál es la desventaja más grande de tener las fotos en el computador? a) No tiene acceso a ellas cuando

quiera b) Que se puede perder la información

con el daño o perdida del equipo c) Se pierde la tradición del álbum

9. Conoce en la actualidad a nivel local un servicio que le ofrezca la opción de organizar, y personalizar sus fotos en un álbum impreso a) Si b) No

10. Preferiría realizar el montaje de su

álbum en un establecimiento o preferiría realizarlo desde su casa a) En casa b) En establecimiento

GRACIAS POR SU TIEMPO

Page 38: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

38

Análisis de resultados

FICHA TÉCNICA DE LA ENCUESTA POBLACIÓN: 100 personas ESTRATOS: 3, 4 y 5 RANGO DE EDADES: entre los 18 y 55 años de edad METODOLOGÍA: cuestionario impreso y telefónicamente TABULACIÓN

PREGUNTA 1 2 3 4 5 6 7 8 9 10

A 92 87 12 76 84 57 14 15 14 81

B 8 13 1 24 16 20 67 82 86 19

C 23 19 3

Tabla 2. Tabulación telefónica Fuente: Elaboración Propia

PREGUNTAS

1. ¿Dispone actualmente de un computador en su casa?

Figura 3. Pregunta 1 Fuente: Elaboración propia

Un total de 92 personas afirmaron tener computador en sus hogares, lo cual nos

da un porcentaje de cobertura muy elevado para el servicio que pensamos ofrecer,

92%

8%

A

B

Page 39: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

39

ya que una de las principales ventajas de esta aplicación es que el usuario podrá

personalizar sus álbumes desde la comodidad de su casa.

2. ¿Dispone actualmente de servicio de internet en su casa?

Figura 4. Pregunta 2 Fuente: Elaboración propia

De las 92 personas que tienen computador en su casa un 87% tiene servicio de

internet domiciliario, este porcentaje tan elevado se puede dar principalmente por

que las encuestas fueron dirigidas a un target de estratos 3, 4, 5 y 6 donde esta

cobertura es muy elevada en la actualidad.

87%

13%

A

B

Page 40: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

40

3. En caso de que su respuesta sea negativa, ¿utiliza usted internet en otro lugar

tal como trabajo, café internet o en la casa de algún amigo o familiar?

Figura 5. Pregunta 3 Fuente: Elaboración propia

De las personas que no tienen acceso a internet en su domicilio, encontramos que

un 92% de ellos acceden en otros sitios tales como sitios de trabajo, lo cual deja

un porcentaje mínimo por fuera de nuestro objetivo.

92%

8%

A

B

Page 41: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

41

4. ¿Es usuario de alguna red social?

Figura 6. Pregunta 4 Fuente: Elaboración propia

Esta pregunta fue realizada debido a la creciente ola mediática que ejercen las

redes sociales en la actualidad, lo cual se ha vuelto una de las alternativas más

económicas y efectivas al momento de dar a conocer un producto o pautar, y el

porcentaje es considerable sobretodo en un rango de edad de 18 a 40 años.

76%

24%

A

B

Page 42: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

42

5. Como suele almacenar usualmente sus fotos.

Figura 7. Pregunta 5 Fuente: Elaboración propia

Al momento de indagar por la forma en que las personas almacenan sus

fotografías, vemos el sorprendente incremento de la tendencia digital, y que cada

vez cobra más espacio esta práctica en personas de todas las edades.

84%

16%

A

B

Page 43: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

43

6. ¿De qué manera prefiere ver sus fotografías?

Figura 8. Pregunta 6 Fuente: Elaboración propia

Contrario a lo que refleja la pregunta anterior, se observa una marcada preferencia

por las fotografías impresas, lo cual evidencia que si la gente ha perdido la

costumbre de imprimirlas es por factores externos al gusto personal, sino mas bien

por variables como tiempo, económica y facilidad de acceso.

57%20%

23% A

B

C

Page 44: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

44

7. En su opinión cual es la peor desventaja de los tradicionales álbumes

fotográficos.

Figura 9. Pregunta 7 Fuente: Elaboración propia

En esta pregunta vemos que lo que más disgusta del método convencional de

almacenamiento es el desorden, ya que en desventaja con el método digital no se

permite llevar un orden cronológico o por ocasión fácilmente o almacenarlas en

carpetas, además de que presenta deterioro por lo pegantes y materiales con los

que se elaboraban los antiguos álbumes fotográficos.

14%

67%

19%A

B

C

Page 45: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

45

8. En su opinión ¿cuál es la desventaja más grande de tener las fotos en el

computador?

Figura 10. Pregunta 8 Fuente: Elaboración propia

En esta pregunta podemos evidenciar el temor de la gente a perder sus fotografías

por algún daño o virus en su computador, lo cual se vería solucionado ya que al

realizar su álbum virtual quedaría una copia de seguridad almacenada en un

servidor.

15%

82%

3%

A

B

C

Page 46: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

46

9. ¿Conoce en la actualidad a nivel local un servicio que le ofrezca la opción de

organizar, y personalizar sus fotos en un álbum impreso?

Figura 11. Pregunta 9 Fuente: Elaboración propia

Aunque actualmente algunos establecimientos locales que prestan el servicio de

impresión de fotografías, incluso álbumes no hay ninguno que lo preste por medio

de un sitio web o algún aplicativo que le permita al usuario realizar la selección

desde su casa, sin embargo 14 personas afirmaron conocer establecimientos con

un servicio similar, aunque es un porcentaje muy bajo.

14%

86%

A

B

Page 47: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

47

10. ¿Preferiría realizar el montaje de su álbum en un establecimiento o preferiría

realizarlo desde su casa?

Figura 12. Pregunta 10 Fuente: Elaboración propia

A pesar de que la gran mayoría de la gente preferiría realizar la personalización de

su álbum desde la comodidad de su casa, algunas personas prefieren contar con

la asesoría de alguien en caso de que algo salga mal, es por eso que durante el

desarrollo del software se trato de crear una interface amigable, intuitiva y sin

ninguna complicación, que le permita al usuario llevar a cabo su objetivo sin

ningún problema ni dificultad.

81%

19%

A

B

Page 48: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

48

Encuesta telefónica

Mas que una encuesta, se llevo a cabo una indagación con las empresas que

podrían prestar este servicio a nivel local, para así realizar un diagnostico de la

situación actual del servicio y posibles competidores.

FICHA TECNICA

POBLACIÓN: 7 empresas

METODOLOGÍA: Se llamo a la empresas en calidad de cliente, indagando sobre

lo que podría llegar a interesar a la hora de solicitar un servicio como el que se

quiere ofrecer.

Libreto de conversación

Nombre de la Empresa:

Tel:

¿Ustedes pueden prestarme el servicio de impresión de fotografías?

¿Y si son muchas fotos se puede acomodar en álbumes o algo parecido?

¿En qué tipo de papel?

¿Y qué tengo que hacer para acceder a este servicio?

¿Y si no puedo desplazarme hasta allá para hacer los ajustes?

¿Cuánto vale?

¿Cuánto se tarda?

Page 49: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

49

Resultados

EMPRESA COPYMAXI FOTO

JAPON ZONA

FOTOGRAFICA FOTO

HEYTER MAGIFOTO KLIC GBC

TELEFONO 3452244 3333477 3253373 3231042 3243124 3310055 3252659

IMPRESIÓN DIGITAL Si Si NO Si Si si si

EN ALBUM Si Si N/A Si Si si si

TIPO DE PAPEL Revista Revista N/A Revista Revista revista revelada

FORMA DE HACER

Con una persona que lo diseña

Se instala un software y se lleva el archivo para que lo manden a Bogotá N/A

Con una persona que lo diseña, da un prototipo y si no le gusta vuelve a hacer el trabajo

con una persona que lo diseña

con una persona que lo diseña

con una persona que lo diseña

EN EL LOCAL Si Si N/A Si Si si si

COSTO No se sabe

100 fotos 65 mil 9x13 cm N/A

18000 mil hoja + 30 pasta 18*35cm

7 mil por hoja mas 45 mil pesos de la portada no se sabe no se sabe

TIEMPO ENTREGA No se sabe

5 días mas o menos después del diseño N/A

De un día para otro n/a no se sabe no se sabe

Tabla 3. Tabulación encuesta telefónica Fuente: Elaboración Propia

Page 50: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

50

De acuerdo a los resultados obtenidos anteriormente, podemos observar que

aunque la mayoría de las empresas ofrecen el servicio de impresión digital, e

inclusive en álbumes; no es un producto fuerte de su portafolio y prefieren

enfocarse en sus líneas tradicionales, tanto así, que muchas no tenían información

sobre el tiempo de entrega y precios.

Otro punto que le otorga una ventaja competitiva a los álbumes de Argomedia,

frente a estos estudios fotográficos, es que ellos incurren en gastos de un

empleado que es el que realiza el diseño, mientras que en nuestro servicio el

diseñador es el usuario, y la mejor garantía de que quede satisfecho, es que los

álbumes son totalmente personalizables y los va a ser a su propio gusto.

Además se optimizaría el tiempo de entrega, ya que no incurriríamos en procesos

o en tareas adicionales como la de algunos de los competidores que incluso debe

enviar el diseño a Bogotá.

Por último, una de las principales ventajas que tenemos sobre ellos es que el

usuario podrá personalizar y ver un resultado previo de su producto, en la

comodidad de su casa, y que gracias al diseño del aplicativo web, no va a tener

ninguna complicación para sacarle el mayor provecho a esta herramienta.

Todo lo anterior lleva a la conclusión que se puede implementar un producto con

muchas ventajas competitivas el cual puede incursionar y revolucionar la manera

en la que se ven actualmente los álbumes de fotos.

Page 51: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

51

4.2. REQUERIMIENTOS

4.2.1. Requerimientos del cliente

La creación de un aplicativo que permita la elaboración de foto álbumes

personalizados

El acceso de cada usuario por medio de internet a cada uno de los usuarios

que quieran utilizar el servicio

Registro para los usuarios que nunca han utilizado el servicio

Seguridad en cuanto a las fotos y datos de cada usuario

Impresión del resultado final para entregar al cliente final

4.2.2. Requerimientos del ingeniero

Crear un aplicativo web que permita la realización de un foto álbum

personalizable, donde se puedan subir las fotos desde un computador con

acceso a internet y alojarlas mientras el usuario crea necesario.

Diseñar la base de datos para el sistema.

Configurar el servidor donde se alojara el software

Diseñar una interface amigable

Brindar parámetros de seguridad para que solo tengan acceso los clientes

que estén registrados y crear sus respectivos perfiles de usuario.

Diseñar la opción que le informe a la empresa por medio de correo

electrónico cuando el álbum está listo para ser impreso, de esta forma

Argomedia contactara al cliente para finalizar el proceso.

Page 52: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

52

4.3. ANÁLISIS

4.3.1. Modelo de casos de uso

Definición del sistema

Este aplicativo web que quiere implementar la empresa Argomedia S.A.S es una

solución que permitirá automatizar el proceso de generación de foto álbumes,

permitiéndole al usuario desde cualquier computador con internet poder realizar su

trabajo cómodamente. De esta manera quedaran grabados en un servidor y en

cualquier momento se puede revisar. A si mismo también podrá realizar más

álbumes en la medida que lo vaya requiriendo sin necesidad de volver a subir las

fotos que ya ha utilizado. Por otro lado, la empresa que prestara el servicio será la

encargada de gestionar la impresión del álbum, el cual será informado por medio

de un correo electrónico para saber que álbum se encuentra finalizado y así

contactar al cliente. Aquí se diseñara todo el modulo e interfaces con las que el

usuario va a interactuar.

Actores

El sistema tendrá los siguientes actores:

ACTOR Administrador

CASOS DE

USO

Eliminar usuario

Editar usuario

Ingresar Información

Eliminar Información

Page 53: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

53

Actualizar Información

Consultar Información

TIPO Primario

DESCRIPCIÓN El actor administrador es el que puede eliminar usuarios y editar

información del mismo.

Tabla 4. Actores, Administrador Fuente: Elaboración propia.

ACTOR Usuario

CASOS DE

USO

Ingresar información

TIPO Primario

DESCRIPCIÓN El usuario es el actor que manipulara el sistema y representa al

cliente de Argomedia S.A.S. para generar sus foto álbumes.

Tabla 5. Actores, Usuario Fuente: Elaboración propia.

ACTOR Base de datos

CASOS DE

USO

Ingresar Información

Eliminar Información

Actualizar Información

Consultar Información

TIPO Secundario

DESCRIPCIÓN Es un actor secundario y representa a la base de datos donde se

almacena toda la información relacionada con los usuarios, y datos

del foto álbum.

Tabla 6. Actores, base de datos Fuente: Elaboración propia.

Page 54: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

54

Diagrama general de casos de uso

Figura 13. Diagrama general de casos de uso Fuente: Elaboración propia.

ADMIN

BASE DE DATOS

Subir Fotos

Ver Fotos

Eliminar Fotos

Crear Albumes

Validar usuario

REGISTRARSE Actualizar Perfil

Cerrar Sesion

Eliminar Album

USUARIO

Elimina usuarios

Page 55: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

55

Casos de uso

El sistema tendrá los siguientes casos de uso principales:

CASO DE USO Validar usuario

ACTORES Usuario, Administrador, Base de datos

PROPÓSITO Validar a un usuario ya registrado para

permitirle el acceso al sistema.

RESUMEN Este caso de uso es iniciado por los usuarios.

Realiza una validación al usuario mediante un

login y contraseña para poder utilizar el

sistema.

PRECONDICIONES Para el usuario se requiere haber sido

registrado previamente por el administrador.

FLUJO PRINCIPAL Se presenta al usuario la Pantalla Principal

donde se valida el registro de usuario

mediante un nombre de usuario y una

contraseña insertados en la Pantalla Principal.

Una vez se realiza la validación, se continúa a

una nueva pantalla.

SUBFLUJOS Ninguno

EXCEPCIONES Si el usuario no digita bien el usuario y

contraseña o no está registrado retornará un

mensaje de error.

Tabla 7. Casos de uso, validar usuario Fuente: Elaboración propia.

Validación2

USUARIO2 BASE DE DATOS2

ADMINISTRADOR

Page 56: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

56

CASO DE USO Registrar Usuarios

ACTORES Usuario, Administrador, Base de datos

PROPÓSITO Permitir al usuario registrar los datos personales y crear

el usuario para tener acceso al sistema.

RESUMEN Es una función del usuario

PRECONDICIONES Ninguna

FLUJO PRINCIPAL Se presenta al usuario una ventana en la cual se ingresa la

información necesaria para insertar los datos para el

registro de usuario.

SUBFLUJOS Ninguno

EXCEPCIONES Ninguna

Tabla 8. Casos de uso, registrar usuarios Fuente: Elaboración propia.

CASO DE USO Ver fotografías

ACTORES Usuario, Administrador, base de datos

PROPÓSITO Permite al usuario visualizar las imágenes que tiene

almacenadas.

RESUMEN Cualquier tipo de usuario ingresa al sistema para

visualizar las fotos.

PRECONDICIONES Haber sido validado correctamente

FLUJO PRINCIPAL Se presenta una ventana con las opciones relacionadas

con la información.

SUBFLUJOS El usuario puede borrar fotografías que se encuentren en

el sistema

EXCEPCIONES Ninguna

USUARIO

Validación

BASE DE DATOS

REGISTRARSE

Page 57: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

57

Tabla 9. Casos de uso, Ver fotos Fuente: Elaboración propia.

CASO DE USO Subir fotografías

ACTORES Usuario, base de datos

PROPÓSITO Permitir al usuario ingresar al sistema y actualizar la

información correspondiente.

RESUMEN El usuario ingresa al sistema para subir las fotografías.

PRECONDICIONES Haber sido validado correctamente como Usuario

administrador.

FLUJO PRINCIPAL Se presenta la ventana donde tendrá las opciones para

subir fotografías.

SUBFLUJOS El usuario puede cancelar la carga de las fotografías.

EXCEPCIONES La carga de los archivos esta limitada a imágenes con

extensión .jpeg, .gif, .bmp, .png

Tabla 10. Casos de uso, subir fotos Fuente: Elaboración propia.

CASO DE USO Eliminar fotografías

ACTORES Usuario, Administrador, Base de datos

USUARIO

Validación

BASE DE DATOS

VER FOTOS

USUARIO

Validación

BASE DE DATOS

CARGAR FOTOS

ADMINISTRADOR

Page 58: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

58

PROPÓSITO Permitir al usuario ingresar al sistema y eliminar la

información.

RESUMEN El usuario borra de la base de datos las fotografías que

crea convenientes.

PRECONDICIONES Haber sido validado correctamente como usuario.

FLUJO PRINCIPAL Se presenta una ventana en la que se solicita la

confirmación de la fotografía que se desea eliminar.

SUBFLUJOS Ninguno

EXCEPCIONES Ninguno

Tabla 11. Casos de uso, eliminar fotos Fuente: Elaboración propia.

CASO DE USO Crear álbumes

ACTORES Usuario, Base de datos

PROPÓSITO Permitir al usuario crear álbumes

RESUMEN El usuario tendrá las herramientas necesarias para crear

el foto álbum.

PRECONDICIONES Haber sido validado correctamente como usuario

FLUJO PRINCIPAL Se muestra un mensaje confirmando el álbum que se

quiere borrar

SUBFLUJOS Ninguno

EXCEPCIONES Ninguno

Tabla 12. Casos de uso, Crear álbumes Fuente: Elaboración propia.

USUARIO

Validación

BASE DE DATOS

ELIMINAR FOTOS

USUARIO

Validación

BASE DE DATOS

CREAR ALBUM

ADMINISTRADOR

Page 59: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

59

CASO DE USO Eliminar álbumes

ACTORES Usuario, base de datos

PROPÓSITO Permitir al usuario eliminar álbumes

RESUMEN El usuario podrá seleccionar el álbum y eliminarlo.

PRECONDICIONES Haber sido validado correctamente como usuario

FLUJO PRINCIPAL Se muestra una ventana con las herramientas para crear

el álbum.

SUBFLUJOS Ninguno

EXCEPCIONES Ninguno

Tabla 13. Casos de uso, Eliminar fotos Fuente: Elaboración propia.

CASO DE USO Actualizar Perfil

ACTORES Usuario, Administrador, base de datos

PROPÓSITO Permitir al usuario modificar la información del perfil

RESUMEN El usuario podrá cambiar los valores de Nombre, Correo,

Contraseña, Dirección, Teléfono, Celular y Ciudad.

PRECONDICIONES Haber sido validado correctamente como usuario

FLUJO PRINCIPAL Se muestra una ventana con el formulario y los valores

que quiere cambiar

SUBFLUJOS Ninguno

EXCEPCIONES Ninguno

USUARIO

Validación

BASE DE DATOS

ELIMINAR ALBUM

Page 60: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

60

Tabla 14. Casos de uso, Actualizar Perfil Fuente: Elaboración propia.

CASO DE USO Cerrar Sesión

ACTORES Usuario, Administrador, base de datos

PROPÓSITO Permitir al usuario cerrar la sesión

RESUMEN Cuando el usuario se encuentre trabajando podrá cerrar

la sesión para que otras personas que no contengan

permisos, no traten de ver la información de usuarios que

ya han iniciado sesiones anteriormente.

PRECONDICIONES Haber sido validado correctamente como usuario

FLUJO PRINCIPAL Botón que se muestra en cualquier parte del aplicativo

después de ingresar.

SUBFLUJOS Ninguno

EXCEPCIONES Ninguno

Tabla 15. Casos de uso, Cerrar Sesión. Fuente: Elaboración propia.

USUARIO

Validación

BASE DE DATOS

Actualizar Perfil

USUARIO

Validación

BASE DE DATOS

Cerrar Sesion

ADMINISTRADOR

ADMINISTRADOR

Page 61: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

61

4.3.2. Modelo del dominio del problema

En el modelo del dominio del problema para el desarrollo de creación del aplicativo

web se desarrolló el siguiente modelo de clases que permitiera identificar.

Modelo de clases

Para la elaboración del diagrama de clases se realizaron las siguientes

actividades:

Identificación de clases y atributos

Las clases identificadas, así como los atributos correspondientes a las mismas son

los siguientes:

Clases Atributos

Usuario

idusuarios, nombre, correo, contraseña,

teléfono, celular, cuidad, dirección,

estado.

Álbum

Idalbum, nombrealbum, lugar,

descripción, fecha, estados.

Fotos

Idfotos, nombre, descripción, lugar,

fecha, portada, posición, estado.

Posición foto Posición, página, portada.

Tabla 16. Identificación de clases y atributos Fuente: Elaboración propia.

Page 62: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

62

Diccionario de clases

Clases DESCRIPCIÓN

Usuario

Es la clase encargada de realizar la

Validación de los usuarios para permitir o

negar el acceso al sistema. Contiene la

información personal y una contraseña,

además un identificador que permite

asignar a cada usuario a una sesión.

Todos los usuarios del sistema deben

pasar por esta clase antes de poder hacer

uso del sistema.

Álbum

En esta clase esta toda la información de

los álbumes que tiene cada usuario.

Fotos

En esta clase se guarda las fotografías de

cada usuario, permitiéndole eliminar o

cargar si es necesario.

Tabla 17. Diccionario de clases Fuente: Elaboración propia.

Page 63: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

63

4.3.3. Especificación del plan de pruebas

Para el desarrollo del software se realizarán las siguientes pruebas:

Pruebas de Unidad: Con el fin de verificar el programa, se llevarán a cabo

luego de culminado el proceso de compilación del software para comprobar

su funcionamiento.

Pruebas de Validación: Para verificar que la aplicación cumple con la

especificación de requisitos planteada al inicio del proyecto. Se realizarán

después de las pruebas unitarias, cuando se hayan terminado de construir

las interfaces de usuario y el programa esté debidamente conectado con la

base de datos alojada en el servidor.

Pruebas de Aceptación: Con el fin de evaluar el nivel de aceptación de la

aplicación por parte del cliente. Se llevarán a cabo en el entorno de usuario

en el cual se implantará el sistema.

Enfoques de pruebas

Para la realización de las pruebas del software desarrollado utilizarán los

siguientes métodos:

Método de Caja Blanca o transparente: Para comprobar el buen

funcionamiento del sistema en lo que a líneas de código se refiere

(Programación).

Método de Caja Negra u Opaca: Con el fin de probar el correcto

funcionamiento de las interfaces a través de ensayo y error, verificando que

el sistema realice lo que el usuario espera que haga.

Page 64: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

64

4.4. DISEÑO

4.4.1. Definición de interfaces de usuario

Iniciar sesión

Figura 14. Iniciar Sesión Fuente: Fuente Propia

Page 65: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

65

Registrar usuarios

Figura 15. Registrar Usuario Fuente: Fuente Propia

Page 66: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

66

Registro exitoso

Figura 16. Registro exitoso Fuente: Fuente Propia

Page 67: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

67

Ver imágenes

Figura 17. Ver imágenes Fuente: Fuente Propia

Page 68: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

68

Visualización de imágenes

Figura 18. Visualización Imágenes Fuente: Fuente Propia

Page 69: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

69

Subir imágenes

Figura 19. Subir imágenes Fuente: Fuente Propia

Page 70: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

70

Crear álbumes

Figura 20. Crear álbumes Fuente: Fuente Propia

Page 71: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

71

Nuevo álbum

Figura 21. Nuevo álbum Fuente: Fuente Propia

Page 72: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

72

Personalizando álbum

Figura 22. Personalizando álbum Fuente: Fuente Propia

Page 73: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

73

Finalizar álbum

Figura 23. Finalizar álbum Fuente: Fuente Propia

Page 74: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

74

Álbum finalizado

Figura 24. Álbum finalizado Fuente: Fuente Propia

Page 75: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

75

Editar información del usuario

Figura 25. Editar información del usuario Fuente: Fuente Propia

Page 76: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

76

Modulo de administración

Lista de los usuarios que están registrados en el sistema

Figura 26. Modulo de administración Fuente: Elaboración propia

Page 77: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

77

Administrador de fotos

Figura 27. Administrador de fotos Fuente: Fuente Propia

Page 78: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

78

4.4.2. Definición de la arquitectura del sistema y entorno

tecnológico.

Teniendo en cuenta los requerimientos del cliente, se consideró que la

arquitectura apropiada para el sistema de generación de los foto álbumes es la

WEB ENABLE.

La arquitectura del sistema es un conjunto de tecnologías de:

Hardware

Sistema operativo

Sistema de comunicaciones

Sistema de bases de datos

Herramientas de desarrollo de interfaces hombre-máquina

Servidores web

Seguridad

Todas estas tecnologías deben poder trabajar juntas, es decir, deben ser

compatibles entre sí. Además deben ser asequibles y sostenibles.

Se escoge la arquitectura WEB ENABLE porque es una arquitectura basada en

aplicaciones que utilizan INTERNET y un servidor Web; Esta arquitectura está

basada en la de cliente servidor de 2 capas, que es una arquitectura que resuelve

el problema de escalabilidad que se presenta en diferentes sistemas y consiste en

tener en el sistema un número indeterminado de servidores en donde se pueda

notar la diferencia de su funcionalidad.

Se tendrá SERVIDOR DE BASE DE DATOS Y SERVIDOR WEB, lo que nos

permite tener un completo y seguro manejo de la información.

Aquí se muestra un bosquejo de la arquitectura que tendrá el sistema:

Page 79: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

79

INTERNET

Figura 28. Arquitectura del sistema Fuente: Elaboración propia.

SERVIDOR WEB Y DE APLICACIÓN

ENRUTADOR EQUIPO USUARIO

Page 80: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

80

4.4.3. Tecnologías a implementar

Hardware

SERVIDOR DE BASE DE DATOS: Se usara un servidor alojado en internet para

poder acceder desde cualquier lugar, además brinda mayor seguridad y

prevención de caídas del sistema.

MAQUINAS CLIENTE: Serán equipos PC, con conexión a internet, con las

siguientes características: Pentium de 1 GHz, 512 MB de Memoria RAM, Conexión

a internet de 300 kbps, Navegador de internet, Internet Explorer.

Sistema de bases de datos

MOTOR DE BASES DE DATOS: MySQL server, ya que esta es libre y en caso de

migrar la base de datos es compatible

Herramientas de desarrollo

Se usará el lenguaje PHP.

PHP, acrónimo de "PHP: Hypertext Preprocessor", es un lenguaje interpretado de

alto nivel, especialmente pensado para desarrollos web y el cual puede ser

embebido en páginas HTML. La mayoría de su sintaxis es similar a C, Java y Perl

y es fácil de aprender. La meta de este lenguaje es permitir escribir a los

creadores de páginas web, páginas dinámicas de una manera rápida y fácil,

aunque se pueda hacer mucho más con PHP.

Page 81: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

81

Como es visto, es necesario el uso de HTML para establecer el formato de las

interfaces Hombre-Máquina o documentos de la Web. Además, las páginas web

ejecutables se comunicarán con objetos en el servidor, como las bases de datos.

Para la programación de todo el módulo se debe usar la aplicación WAMP

SERVER ya que es una herramienta OpenSource para Windows que facilita la

instalación de Apache, MySQL y PHP en la cual estas aplicaciones se configuran

de forma automática

Servidores web

Se utiliza un servidor web, Esta máquina permitirá ejecutar el programa que

implementa el protocolo HTTP (Hypertext transfer protocolo).

Seguridad

Uso de firewall y encriptamiento, para prevenir sabotajes. Cabe anotar que para el

desarrollo de las interfaces se establece un control de acceso a través de

contraseñas, porque existe información confidencial que se visualizará a través de

Internet. La información se encriptará para ser enviada por internet con seguridad,

además se usaran sesiones para prevenir ingresos no deseados de usuarios no

autorizados.

Page 82: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

82

4.4.4. Modelo relacional

Figura 29. Modelo relacional Fuente: Elaboración propia.

Page 83: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

83

4.4.5. Especificación técnica del plan de pruebas

Prueba de caja negra

PRUEBAS DE CAJA NEGRA

Descripción Estado

Mal Bien

1 Verificar que tiene conexión con el servidor

2 Verificar si el software hace validación por medio de Contraseña, es

decir intentar ingresar al sistema con una clave desconocida.

3 Diferencia los campos requeridos al ingresar la información personal

4 Verificar que la opción de olvidó su contraseña envié correctamente

la información al correo

5 Cuando entre por primera vez al sistema revisé que no tenga

ninguna foto en el área de fotos.

6 Verificar que en la opción de subir fotos pueda subir varias fotos al

tiempo y quedan agregadas en el sistema.

7 Luego de subir fotos vuelva a la opción donde se muestran las fotos

y elimine alguna foto.

8 La primera vez que ingrese verifique que no tenga ningún álbum

creado

9 Verifique que se pueden crear álbumes sin finalizarlos y queden

guardados en el sistema una vez cierre sesión.

10 Verifique que puede borrar álbumes ya creados

11 Verifique que colocando la ruta del usuario después de cerrar la

sesión no le cargue la página por tener implementada la seguridad

de las sesiones.

12 Verificar que se puede modificar la información del usuario.

Tabla 18. Prueba de caja negra Fuente: Elaboración propia.

Page 84: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

84

CONCLUSIONES

Tras haber diseñado el aplicativo de álbumes web para Argomedia S.A.S y haber

cumplido con las etapas de análisis, diseño e implementación, se obtuvo

resultados que permitieron presentar el siguiente conjunto de conclusiones.

El software orientado a la web facilita el acceso y el trabajo simultaneo.

Siguiendo apropiadamente el proceso de ingeniería de software se cumple con

los objetivos trazados para el desarrollo del sistema.

Se aplicaron los conocimientos adquiridos en la formación como ingeniero de

sistemas y telecomunicaciones al desarrollar un sistema que abarcara

aspectos organizacionales y tecnológicos.

Se implementaron las políticas de acceso y los roles de usuarios, cumpliendo

con las condiciones de la organización para brindarle a sus clientes toda la

seguridad posible.

Usando este ciclo de vida de prototipado, proporciona agilidad en el software

para desarrollos rápidos y garantiza que la empresa obtenga el resultado

esperado.

El uso del lenguaje de programación PHP permite agilizar el proceso ya que la

curva de aprendizaje es más rápida.

Page 85: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

85

RECOMENDACIONES

En un proyecto de desarrollo de software se debe tener muy claro las

metodologías que se desean seguir, lo cual garantiza un desarrollo pleno y un

cumplimiento correcto de los requerimientos del cliente.

Se debe tener un especial cuidado al momento de realizar la recolección de la

información puesto que esta es el pilar del software.

Se recomienda que al momento de realizar algún cambio en el código se

tenga en cuenta las leyes y normas que se tomaron como base para el

desarrollo de la aplicación.

Ya que la aplicación tiene opciones básicas de lo que se podría implementar

en la personalización del álbum, se recomienda hacer seguimiento a los

usuarios para que ellos aporten sugerencias para posibles mejoras.

El código de este software está en capacidad de ser modificado según los

requerimientos futuros de la organización.

Page 86: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

86

BIBLIOGRAFÍA

COBO, Ángel. GÓMEZ, Patricia. PÉREZ, Daniel. ROCHA, Roció. PHP y

MYSQL Tecnologías para el Desarrollo de Aplicaciones. España: Díaz de

Santos, 2005. ISBN: 84-7978-706-6.

PÉREZ, César. MYSQL Para Windows y Linux. Madrid: RA – MA, 2004. ISBN

970-15-1021-6, ICBN 958-682-618X.

Presman, R. & I. Murieta, J. (2005). Ingeniería del software: un enfoque

práctico. México: McGraw Hill. ISBN 844-81-3214, ISBN 970-10-5473-3.

QUINTERO, Andrés. RESTREPO, Andrés. MEAD Módulos Empresariales

Administrativos.

LAWRENCE, Shari. Ingeniería del software teoría y práctica. Argentina:

Pearson Education s.a, 2002. ISBN: 987-9460-71-5.

SILBERSCHATZ, Abraham, KORTH, Henry F., SUDARSHAN, S,

Fundamentos De Bases De Datos, Cuarta edición, McGRAW-HILL, España,

2002, Capitulo 1 “Introducción”.

TED, Nelson. PHP y MYSQL Tecnologías para el Desarrollo de Aplicaciones.

España: Díaz de Santos, 2005.

VACAS Soez, Fernando. Más Allá de Internet, La Red Universal Digital. Madrid:

Analla Multimedia, 2005

Page 87: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

87

MANUAL DEL USUARIO

REQUISITOS DEL SISTEMA

Para tener un óptimo rendimiento para el aplicativo se recomienda que el

computador tenga las siguientes características como mínimo.

Pentium de 1 GHz, 512 MB de Memoria RAM, Conexión a internet de 300 kbps,

Navegador de internet Internet Explorer.

ACCESO AL APLICATIVO

1. Para ingresar a los álbumes Argomedia debes tener un computador con

acceso a internet y tener instalado Internet Explorer

2. Ingresa la siguiente dirección en la barra de direcciones.

http://mialbum.argomediatech.com

3. Luego que cargue la página debes ingresar el correo y la contraseña con la

que estás registrado, de no ser así, hacer clic en “Registrarme”. Si es un

usuario registrado pero no recuerda la contraseña, el sistema te la recordara

mandándote un correo electrónico a la dirección que tienes registrada dándole

clic en “¿Olvidaste tu contraseña?”

Page 88: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

88

EMPEZAR A UTILIZAR EL APLICATIVO

NOTA: El sistema contiene tres partes que son las principales para trabajar y son:

Ver fotos, Subir Fotos y Álbumes.

NOTA: Para crear un álbum se deben subir las fotos que sean necesarias, si por

alguna razón olvida subir alguna, puede agregarlas en cualquier momento.

VER FOTOS

4. En la opción “ver fotos” encontrara todas las fotos que ha subido

independientemente de los álbumes que haya creado, seleccione esta opción

para alistar todas las fotos. En este apartado también podrá editar los nombres,

lugar, fecha de cada fotografía para que pueda usar estos datos a la hora de

elaborar el álbum. También podrás eliminar las fotos que sean necesarias.

Page 89: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

89

SUBIR FOTOS

5. Para subir las fotos debes hacer clic en el enlace “Subir fotos”.

6. Hacer clic en el enlace examinar.

Page 90: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

90

7. Se abrirá un recuadro donde podrá buscar las fotos, se puede seleccionar

varias fotos al tiempo y luego se le da clic en abrir.

8. Clic en subir fotos para iniciar la carga al sistema.

Page 91: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

91

9. Luego de subir las fotos saldrá una lista con todas las fotos que ha agregado,

si necesita agregar más fotos, repita los pasos desde el apartado cinco.

Page 92: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

92

CREAR ALBUM

10. Para crear álbumes debe hacer clic en el enlace “Álbumes”.

11. Hacer clic en “Nuevo álbum”.

12. Introduzca la información necesaria.

13. Hacer clic en el botón “Crear álbum”

Page 93: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

93

PERSONALIZAR ALBUM

14. Abra el álbum que acabo de crear.

15. Para personalizar el álbum solo necesitas hacer clic sobre la imagen de la

montaña y seleccionar la foto que necesites

16. Haga clic sobre el recuadro que quiere para insertar la imagen

Page 94: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

94

17. Haga clic en la imagen que quiere insertar

18. A continuación aparecerá la imagen, repita estos pasos hasta que complete la

totalidad del álbum.

Page 95: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

95

19. Para seleccionar una foto como portada del álbum debes hacer clic sobre la imagen ya insertada y seleccionar “Establecer como portada del álbum”

Page 96: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

96

20. La vista de los álbumes quedara así.

21. Para cambiar la portada, repite este proceso desde el numeral 19.

22. Para finalizar el álbum se debe hacer clic en finalizar álbum

Page 97: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

97

Se llenan los datos que aparecen a continuación.

Se da clic en enviar para finalizar el proceso, el proveedor lo contactara para

confirmar el pedido, confirmar los datos, definir el modo de pago para poder

finalizar el proceso.

Page 98: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

98

MODULO ADMINISTRATIVO

El sistema tiene un modulo administrativo que permite alistar todos los usuarios

que están registrados en el sistema. El administrador tiene la propiedad de de

editarlos y eliminarlos, también puede ver todas las fotos que están alojadas y

eliminarlas.

Para ingresar a este modulo, en la página del login se debe insertar el correo

electrónico [email protected] y la contraseña es 1234.

Luego en la página principal se debe hacer clic sobre el logo de mi álbum que se

encuentra en la parte superior izquierda.

Page 99: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

99

Luego se cargara todos los usuarios que tiene el sistema.

Con la x roja se eliminan los usuarios y con el lápiz se edita la información necesaria.

Tambien se pueden ver todas las fotos haciendo clic en el botón de administrar fotos y se

mostrara de la siguiente forma.

Page 100: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

100

Se alistan todas las fotos que contiene el sistema, se puede eliminar una por una

haciendo clic en la x roja.

Page 101: RICARDO ARANGO GÓMEZ - repositorio.ucp.edu.co

101

MANUAL TÉCNICO

El sistema se puede instalar localmente y lo que hay que tener en cuenta es lo

siguiente:

Se debe tener los siguientes instaladores:

WampServer 2.0 (Contiene el Apache, PHP, MySQL)

PostCast Server 2.6 (Es el servidor de correo electrónico)

Estos dos programas son de distribución gratuita.

1. Se debe instalar el servidor en el computador donde se quiere montar

localmente, se instala WampServer con todas las opciones que trae por defecto.

Los instaladores los encuentra en el CD del proyecto en una carpeta de nombre

"Instalador servidor". Luego se instala el servidor de correo con todas las opciones

por defecto.

Nota: tenga en cuenta que a la hora de ejecutar los servidores debe tener libre el

puerto 80, de lo contrario el servicio no se ejecutara. (programas que normalmente

ocupan el puerto 80 y hay que cerrar antes de abrir el Wampserver y el PostCast

son Teamviewer, Skype.)

2. Luego de instalar el servidor se debe crear la base de datos por el phpmyadmin

ingresando por el localhost.

El nombre de la base de datos es albumargomedia, despues de crearla se debe

importar y se encuentra en este CD en una carpeta llamada "Archivos Aplicativo,

en esta misma carpeta se encuentra una carpeta con el nombre de "argomedia"

esta carpeta se debe copiar a una ruta del servidor wamp que por defecto es

"C:\wamp\www", quedando de la siguiente forma, "C:\wamp\www\argomedia".

Con los servidores iniciados el aplicativo debe funcionar utilizando el internet

explorer y colocando en la barra de direcciones la siguiente ruta:

http://localhost/argomedia/