37
UNIVERSIDAD PRIVADA ANTENOR ORREGO FACULTAD DE INGENIERÍA ESCUELA PROFESIONAL DE INGENIERIA DE COMPUTACIÓN Y SISTEMAS “SISTEMA WEB PARA LA GESTIÓN DEL SERVICIO DE VENTA DE EQUIPOS DE COMPUTO PARA LA EMPRESA PROCON S.A, UTILIZANDO LA METODOLOGIA ICONIX” PLAN DEL TRABAJO DE HABILITACIÓN PARA OBTENER EL TÍTULO PROFESIONAL DE INGENIERO DE COMPUTACIÓN Y SISTEMAS MEDIANTE LA MODALIDAD DE TITULACION PROFESIONAL AUTOR(ES): Br. CERNA LOPEZ, ALBERT MANUEL Br. CRISOLOGO DURAND, JORGE MARTIN ASESOR:

Plan de Tesis Original: Utilizando Iconix y Joomla

  • Upload
    jmcd17

  • View
    2.746

  • Download
    5

Embed Size (px)

DESCRIPTION

Plan de tesis

Citation preview

Page 1: Plan de Tesis Original: Utilizando Iconix y Joomla

UNIVERSIDAD PRIVADA ANTENOR ORREGO

FACULTAD DE INGENIERÍA

ESCUELA PROFESIONAL DE INGENIERIA DE COMPUTACIÓN

Y SISTEMAS

“SISTEMA WEB PARA LA GESTIÓN DEL SERVICIO DE VENTA DE EQUIPOS DE

COMPUTO PARA LA EMPRESA PROCON S.A, UTILIZANDO LA METODOLOGIA

ICONIX”

PLAN DEL TRABAJO DE HABILITACIÓN PARA OBTENER EL TÍTULO

PROFESIONAL DE INGENIERO DE COMPUTACIÓN Y SISTEMAS

MEDIANTE LA MODALIDAD DE TITULACION PROFESIONAL

AUTOR(ES):

Br. CERNA LOPEZ, ALBERT MANUEL

Br. CRISOLOGO DURAND, JORGE MARTIN

ASESOR:

Ing. JARA GARCIA, CARLOS

TRUJILLO – PERÚ

Page 2: Plan de Tesis Original: Utilizando Iconix y Joomla

2008

I. TITULO

Sistema Web para la gestión del servicio de venta de equipos de cómputo para la

empresa Procon S.A, utilizando la metodología iconix.

II. AUTORES

1. Br. Cerna López, Albert Manuel

2. Br. Crisólogo Durand, Jorge Martin

III. ASESOR

1. Ing. Jara García, Carlos

IV. CRONOGRAMA DE ACTIVIDADES

Page 3: Plan de Tesis Original: Utilizando Iconix y Joomla

V. PRESUPUESTO

5.1 Bienes S/. 606.50

5.1.1 Material de escritorio S/. 126.50

Naturaleza de

gastoDescripción del bien Cantidad

Precio

Unitario

(S/.)

Precio

Total (S/.)

5.3.11.30 Resaltadores “Faber Castell”

Papel Bond A4 –80 gr “Report”

Lapiceros “Faber Castell”

Lápices “Faber Castell”

Correctores “Faber Castell”

Fólder plástico “VINIFAN”

CD “Princo”

Borradores “Faber Castell”

02 unidades

3 millares

10 unidades

04 unidades

08 unidades

05 unidades

10 unidades

2 unidades

2.00

25.00

1.00

0.50

2.00

1.50

1.00

1.00

4.00

75.00

10.00

2.00

16.00

7.50

10.00

2.00

SUBTOTAL 126.50

5.1.2 Material de Impresión S/. 480.00

Naturaleza de

gasto

Descripción del

bienCantidad

Precio Unitario

(S/.)

Precio Total

(S/.)

5.3.11.30 Tinta de Impresora

“HP”

04 unidades 120 480

SUBTOTAL 480

5.2 Servicios S/. 190.0

5.2.1 Básicos S/. 158.0

Naturaleza de

gasto

Descripción del

servicioCantidad

Costo Unitario

(S/.)

Precio Total

(S/.)

5.3.11.36 Internet 50 horas S/. 1x hora. 50.00

5.3.11.36 Fotocopiado 100 páginas S/.0.5 x pág. 50.00

5.3.11.36 Espiralado 5 espiralados S/. 2.0 x esp. 10.00

5.3.11.36 Telefonía 30 llamadas

(promedio 3 min

cada una)

S/ 0.2 x min 18.00

5.3.11.36 Encuadernado 1 Libro S/.30 x Libro 30.00

SUBTOTAL 158.00

Page 4: Plan de Tesis Original: Utilizando Iconix y Joomla

5.2.2 Servicios No Personales (Recursos Propios) S/.0

Naturaleza de gasto

Descripción del

servicioPrecio Total(s/.)

5.3.11.37 Asesor 0.00

SUBTOTAL 0.00

5.3 Pasajes y Viáticos S/. 32.00

Justificación del costo

NOMBRE DEL SERVICIO

CANTIDAD COSTO UNITARIO (S/.)

PRECIO (S/.)

5.3.11.20 Movilidad 40 pasajes S/. 0.80 x psj. 32.00

SUBTOTAL 32.00

5.4 Sofware (Recursos Propios)

5.5 Equipos de Cómputo(Recursos Propios)

Resumen:

Bienes -------------------------------------------------------------------- S/. 606.50

Servicios -------------------------------------------------------------------- S/. 190.00

Total -------------------------------------------------------------------- S/. 796.50

Page 5: Plan de Tesis Original: Utilizando Iconix y Joomla

VI. DESCRIPCION GENERAL DEL TRABAJO SUFICIENCIA PROFESIONAL

1. Área Temática

A través del procesamiento de información, una compañía crea valor, en especial si se

trata de una empresa que ofrece servicios. Por lo tanto, en este caso, la información

tiene un valor aun mayor porque ayuda a alcanzar los objetivos de la compañía.

Un sistema de información representa todos los elementos que forman parte de la

administración, el procesamiento, el trasporte y la distribución de la información dentro

de la empresa. Todo ese conjunto de elementos interactúan entre sí para procesar los

datos y la información (incluyendo procesos manuales y automáticos) y distribuirlas de

la manera más adecuada posible en la organización en función de sus objetivos.

Los sistemas de información que logran la automatización de procesos operativos

dentro de una organización, son llamados frecuentemente sistemas transaccionales,

nosotros nos enfocaremos al área de servicio de ventas online, facilitando al cliente una

búsqueda general y detallada de los diferentes equipos de cómputo que más se adopte

a las necesidades del cliente.

Realizando una breve revisión en las bibliotecas de la UPAO, se encontraron las

siguientes tesis relacionadas con nuestro tema:

Saavedra Vega, Vela Altamirano 2001, Desarrollo de una tienda virtual

para la empresa ecosystem. Postgrado Curso, Facultad de Ingeniería,

Escuela de Ingeniería de Computación y Sistemas, Universidad Privada

Antenor Orrego. Este trabajo de investigación nos brinda una óptica de

cómo de realizar aplicaciones Web que permitan hacer compras seguras

por la Internet.

Romero Sifuentes, Vásquez Ganóza 2008, Desarrollo de sistema de

planillas para la gerencia de agricultura la libertad utilizando iconix,

Facultad de Ingeniería, Escuela de Ingeniería de Computación y Sistemas,

Universidad Privada Antenor Orrego. Este proyecto nos sirve de guía para

aplicar la metodología Iconix en nuestro proyecto buscando la integridad de

los procesos que se tienen dentro de la organización.

Méndez Yap, Pérez Vigil 2001, Portal Web para la venta y alquiler de

inmuebles para la empresa editorial comercio. Postgrado Curso, Facultad

de Ingeniería, Escuela de Ingeniería de Computación y Sistemas,

Universidad Privada Antenor Orrego.

Este trabajo nos da una idea de cómo ofertar nuestros productos por la

Web y así poder captar más clientes.

2. Realidad

Page 6: Plan de Tesis Original: Utilizando Iconix y Joomla

En la actualidad el proceso directo de venta que realiza la empresa a través de sus

colaboradores, tiene algunas deficiencias con la atención que se merece el cliente.

Dentro de los problemas encontrados se obtuvo que:

No se le brinda al cliente una buena descripción de las características de los

equipos de cómputo al momento de elaborar la proforma de venta.

No se lleva un control eficiente de todas las ventas realizadas, ya que este

registro se lleva a cabo utilizando Excel.

Los clientes no tienen información del estado en que se encuentran sus

pedidos realizados.

3. Formulación

¿Cómo se podría mejorar de manera automatizada y no presencial el proceso de

venta de equipos de cómputo en la empresa Procon s.a utilizando tecnologías de

información?

4. Justificación

Toda la línea de equipos de cómputo estarán disponibles en cualquier

momento del día, los 365 del año para cualquier tipo de cliente en la página

web de ventas de la empresa, facilitando al cliente armar una proforma en línea

de acuerdo a sus necesidades y poder realizar su compra desde la comodidad

de su casa u oficina.

La forma de pago se podrá hacer de manera no presencial desde la página

web de Procon S.A, brindando una mayor facilidad al cliente.

Se podrá llevar un control más eficiente de las ventas realizadas, por parte de

la empresa.

El cliente podrá hacer un seguimiento del estado en que se encuentra su

pedido, una vez concretado la venta.

Page 7: Plan de Tesis Original: Utilizando Iconix y Joomla

VII. OBJETIVOS

1. Objetivo General

Diseñar un Sistema Web para la gestión del servicio de venta de equipos de

cómputo para la empresa Procon S.A., utilizando metodología iconix.

2. Objetivos Específicos

- Elaborar la lista de requerimientos necesarios para el diseño del sistema Web.

- Desarrollar los modelos de la metodología Iconix para la solución del problema.

- Diseñar el prototipo de interface de usuario utilizando PHP.

- Realizar el modelado y la implementación de la base de datos utilizando

MySQL

VIII. FUNDAMENTO TEORICO

1. Procon S.A.

2. Sistemas Web

Un sistema Web es un sistema informático que los usuarios utilizan accediendo a un

servidor Web a través de Internet o de una intranet. Las aplicaciones Web son

populares debido a la practicidad del navegador Web como cliente ligero. La facilidad

para actualizar y mantener aplicaciones Web sin distribuir e instalar software en

miles de potenciales clientes es otra razón de su popularidad. Aplicaciones como los

web mails, wikis, weblogs, tiendas en línea y Wikipedia misma son ejemplos bien

conocidos de aplicaciones Web.

1.1 Historia

En los primeros tiempos de la computación cliente-servidor, cada aplicación

tenía su propio programa cliente y su interfaz de usuario, estos tenían que ser

instalados separadamente en cada estación de trabajo de los usuarios. Una

mejora al servidor, como parte de la aplicación, requería típicamente una

mejora de los clientes instalados en cada una de las estaciones de trabajo,

añadiendo un costo de soporte técnico y disminuyendo la eficiencia del

personal.

En contraste, las aplicaciones Web generan dinámicamente una serie de

páginas en un formato estándar, soportado por navegadores Web comunes

como HTML o XHTML. Se utilizan lenguajes interpretados del lado del cliente,

tales como Java Script, para añadir elementos dinámicos a la interfaz de

usuario. Generalmente cada página Web individual es enviada al cliente como

Page 8: Plan de Tesis Original: Utilizando Iconix y Joomla

un documento estático, pero la secuencia de páginas provee de una

experiencia interactiva.

2.2 Interfaz

Las interfaces Web tienen ciertas limitaciones en la funcionalidad del cliente.

Métodos comunes en las aplicaciones de escritorio como dibujar en la pantalla

o arrastrar-y-soltar no están soportadas por las tecnologías Web estándar. Los

desarrolladores Web comúnmente utilizan lenguajes interpretados del lado del

cliente para añadir más funcionalidad, especialmente para crear una

experiencia interactiva que no requiera recargar la página cada vez (cosa que

suele molestar a los usuarios). Recientemente se han desarrollado tecnologías

para coordinar estos lenguajes con tecnologías del lado del servidor, como por

ejemplo PHP. AJAX, es una técnica de desarrollo Web que usa una

combinación de varias tecnologías.

2.3 Consideraciones Técnicas

Una ventaja sign es que deberían funcionar igual independientemente de la

versión del sistema operativo instalado en el cliente. En vez de crear clientes

para Windows, Mac OS X, GNU/Linux, y otros sistemas operativos, la

aplicación es escrita una vez y es mostrada casi en todos lados. Sin embargo,

aplicaciones inconsistentes de HTML, CSS, DOM y otras especificaciones de

browsers pueden causar problemas en el desarrollo y soporte de aplicaciones

Web. Adicionalmente, la habilidad de los usuarios a personalizar muchas de las

características de la interfaz (como tamaño y color de fuentes, tipos de fuentes,

inhabilitar Java script) puede interferir con la consistencia de la aplicación Web.

Otra aproximación es utilizar Macromedia Flash o Java applets para producir

parte o toda la interfaz de usuario. Como casi todos los browsers incluyen

soporte para estas tecnologías (usualmente por medio de plug-ins),

aplicaciones basadas en Flash o Java pueden ser implementadas con

aproximadamente la misma facilidad. Como hacen caso omiso de las

configuraciones de los browsers estas tecnologías permiten más control sobre

la interfaz, aunque incompatibilidad entre implementaciones de Flash o Java

puedan traer nuevas complicaciones. Por las similitudes con una arquitectura

cliente-servidor, con un cliente un poco “especializado”, hay disputas sobre si

llamar a estos sistemas “aplicaciones Web”; un término alternativo es

“aplicación enriquecida de Internet”.

2.4 Estructura

Page 9: Plan de Tesis Original: Utilizando Iconix y Joomla

Aunque muchas variaciones son posibles, una aplicación Web está

comúnmente estructurada como una aplicación de tres-capas. En su forma

más común, el navegador Web es la primera capa, un motor usando alguna

tecnología Web dinámica (ejemplo: CGI, PHP, Java Servlets o ASP) es la capa

de en medio, y una base de datos como última capa. El navegador Web manda

peticiones a la capa media, que la entrega valiéndose de consultas y

actualizaciones a la base de datos generando una interfaz de usuario.

En tiempos recientes se ha usado la estrategia de generalizar esta arquitectura

mediante la adición de piezas de hardware que permiten balancear la carga de

los servidores Web y de aplicación.

2.5 Uso de Negocios

Una estrategia que está emergiendo para las empresas proveedoras de

software, es proveer acceso vía Web al software. Para aplicaciones

previamente distribuidas como de escritorio, esto puede requerir el desarrollo

de una aplicación totalmente nueva o simplemente adaptar la aplicación para

usar una interfaz Web. Estos programas permiten al usuario pagar una cuota

mensual o anual para usar la aplicación, sin necesidad de instalarla en la

computadora del usuario. Las compañías que siguen esta estrategia son

llamadas Proveedores de Aplicaciones de Servicio (ASP por sus siglas en

inglés), este modelo de negocios está atrayendo la atención de la industria del

software.

2.6 Lenguajes de Programación

Existen numerosos lenguajes de programación empleados para el desarrollo de

Aplicaciones Web, entre los que destacan:

PHP

ASP/ASP.NET

Java, con sus tecnologías Java Servlets y Java Server Pages (JSP)

Perl

Ruby

Python

HTML

XML

3. Software Libre

2.1 Definición:

Según Stallman (2004) define de la siguiente manera:

Es la denominación del software que brinda libertad a los usuarios sobre su

producto adquirido y por tanto, una vez obtenido, puede ser usado, copiado,

estudiado, modificado y redistribuido libremente.

Page 10: Plan de Tesis Original: Utilizando Iconix y Joomla

2.2 Libertades del software Libre

Libertad 0:

Ejecutar el programa con cualquier propósito (privado, educativo, público,

comercial, militar, etc.)

Libertad 1:

Estudiar y modificar el programa (para lo cual es necesario poder acceder al

código fuente)

Libertad 2:

Copiar el programa de manera que se pueda ayudar al vecino o a cualquiera.

Libertad 3:

Mejorar el programa y publicar las mejoras.

2.3 Tipos de Licencias

GPL

Una de las más utilizadas es la Licencia Pública General de GNU (GNU

GPL). El autor conserva los derechos de autor (copyright), y permite la

redistribución y modificación bajo términos diseñados para asegurarse de

que todas las versiones modificadas del software permanecen bajo los

términos más restrictivos de la propia GNU GPL. Esto hace que sea

imposible crear un producto con partes no licenciadas 1

Es decir, la licencia GNU GPL posibilita la modificación y redistribución del

software, pero únicamente bajo esa misma licencia. Y añade que si se

reutiliza en un mismo programa código "A" licenciado bajo licencia GNU GPL

y código "B" licenciado bajo otro tipo de licencia libre, el código final "C",

independientemente de la cantidad y calidad de cada uno de los códigos "A"

y "B", debe estar bajo la licencia GNU GPL.

Estilo BSD

Llamadas así porque se utilizan en gran cantidad de software distribuido

junto a los sistemas operativos BSD. El autor, bajo tales licencias, mantiene

la protección de copyright únicamente para la renuncia de garantía y para

requerir la adecuada atribución de la autoría en trabajos derivados, pero

permite la libre redistribución y modificación, incluso si dichos trabajos tienen

propietario. Son muy permisivas, tanto que son fácilmente absorbidas al ser

mezcladas con la licencia GNU GPL con quienes son compatibles. Puede

argumentarse que esta licencia asegura “verdadero” software libre, en el

sentido que el usuario tiene libertad ilimitada con respecto al software, y que

puede decidir incluso redistribuirlo como no libre. Otras opiniones están

1 http://es.wikipedia.org/wiki/C%C3%B3digo_libre

Page 11: Plan de Tesis Original: Utilizando Iconix y Joomla

orientadas a destacar que este tipo de licencia no contribuye al desarrollo de

más software libre.

Estilo MPL y derivadas

Esta licencia es de Software Libre y tiene un gran valor porque fue el

instrumento que empleó Netscape Communications Corp. para liberar su

Netscape Communicator 4.0 y empezar ese proyecto tan importante para el

mundo del Software Libre: Mozilla. Se utilizan en gran cantidad de productos

de software libre de uso cotidiano en todo tipo de sistemas operativos. La

MPL es Software Libre y promueve eficazmente la colaboración evitando el

efecto "viral" de la GPL (si usas código licenciado GPL, tu desarrollo final

tiene que estar licenciado GPL). Desde un punto de vista del desarrollador la

GPL presenta un inconveniente en este punto, y lamentablemente mucha

gente se cierra en banda ante el uso de dicho código. No obstante la MPL no

es tan excesivamente permisiva como las licencias tipo BSD. Estas licencias

son denominadas de copyleft débil. La NPL (luego la MPL) fue la primera

licencia nueva después de muchos años, que se encargaba de algunos

puntos que no fueron tenidos en cuenta por las licencias BSD y GNU. En el

espectro de las licencias de software libre se la puede considerar adyacente

a la licencia estilo BSD, pero perfeccionada.2

Copyleft

Hay que hacer constar que el titular de los derechos de autor (copyright) de

un software bajo licencia copyleft puede también realizar una versión

modificada bajo su copyright original, y venderla bajo cualquier licencia que

desee, además de distribuir la versión original como software libre. Esta

técnica ha sido usada como un modelo de negocio por una serie de

empresas que realizan software libre (por ejemplo MySQL); esta práctica no

restringe ninguno de los derechos otorgados a los usuarios de la versión

copyleft. También podría retirar todas las licencias de software libre

anteriormente otorgadas, pero esto obligaría a una indemnización a los

titulares de las licencias en uso. En España, toda obra derivada está tan

protegida como una original, siempre que la obra derivada parta de una

autorización contractual con el autor. En el caso genérico de que el autor

retire las licencias "copyleft", no afectaría de ningún modo a los productos

derivados anteriores a esa retirada, ya que no tiene efecto retroactivo. En

términos legales, el autor no tiene derecho a retirar el permiso de una

2 http://es.wikipedia.org/wiki/C%C3%B3digo_libre

Page 12: Plan de Tesis Original: Utilizando Iconix y Joomla

licencia en vigencia. Si así sucediera, el conflicto entre las partes se

resolvería en un pleito convencional.3

3. PHP

3.1 Definición:

Según WELLING(2005) define a PHP come:

Un lenguaje de programación interpretado, diseñado originalmente para la

creación de páginas Web dinámicas. Es usado principalmente en interpretación

del lado del servidor (server-side scripting) pero actualmente puede ser

utilizado desde una interfaz de línea de comandos o en la creación de otros

tipos de programas incluyendo aplicaciones con interfaz gráfica usando las

bibliotecas Qt o GTK+. 4

PHP es un acrónimo recursivo que significa PHP Hypertext Pre-processor

(inicialmente PHP Tools, o, Personal Home Page Tools). Fue creado

originalmente por Rasmus Lerdof en 1994; sin embargo la implementación

principal de PHP es producida ahora por The PHP Group y sirve como el

estándar de facto para PHP al no haber una especificación formal. Publicado

bajo la PHP License, la Free Software Foundation considera esta licencia como

software libre.

3.2 Características

Es un lenguaje multiplataforma.

Capacidad de conexión con la mayoría de los manejadores de base de

datos que se utilizan en la actualidad, destaca su conectividad con MySQL

Capacidad de expandir su potencial utilizando la enorme cantidad de

módulos (llamados ext's o extensiones).

Posee una amplia documentación en su página oficial, entre la cual se

destaca que todas las funciones del sistema están explicadas y

ejemplificadas en un único archivo de ayuda.

Es libre, por lo que se presenta como una alternativa de fácil acceso para

todos.

Permite las técnicas de Programación Orientada a Objetos.

Biblioteca nativa de funciones sumamente amplia e incluida.

No requiere definición de tipos de variables.

4. Ingeniería Web

3 Disponible en: http://es.wikipedia.org/wiki/C%C3%B3digo_libre44 Disponible en: http://es.wikipedia.org/wiki/Php

Page 13: Plan de Tesis Original: Utilizando Iconix y Joomla

4.1 Introducción

El crecimiento desenfrenado que esta teniendo la Web esta ocasionando un

impacto en la sociedad y el nuevo manejo que se le esta dando a la

información en las diferentes áreas en que se presenta ha hecho que las

personas tiendan a realizar todas sus actividades por esta vía. Desde que esto

empezó a suceder el Internet se volvió más que una diversión y empezó a ser

mas serio, ya que el aumento de publicaciones y de informaciones hizo que la

Web se volviera como un desafío para los ingenieros del software, a raíz de

esto se crearon enfoques disciplinados, sistemáticos y metodologías donde

tuvieron en cuenta aspectos específicos de este nuevo medio.5

Uno de los aspecto mas tenidos en cuenta, en el desarrollo de sitios Web es

sin duda alguna el diseño gráfico y la organización estructural del contenido. En

la actualidad la Web esta sufriendo grandes cambios, que han obligado a

expertos en el tema a utilizar herramientas y técnicas basadas en la ingeniería

del software, para poder garantizar el buen funcionamiento y administración de

los sitios Web. Ahora para garantizar el buen funcionamiento y mantenimiento

de los sitios Web, este debe contar con ciertos atributos y características que

en conjunto forman un concepto muy importante, para alcanzar el éxito en

cualquier organización, herramienta, y todo aquello que se pueda considerar

como servicio. Dicho concepto es la calidad, que con atributos como,

usabilidad, navegabilidad, seguridad, mantenibilidad, entre otros, hace posible

por un lado la eficiencia del artefacto Web y por ende la satisfacción del usuario

final. Pero para tener artefactos de calidad, a esa misma se le debe planificar,

programar y controlar, es decir la calidad no podrá ser agregada a un artefacto

Web o a cualquier otro producto, al final del proceso de desarrollo, si no que se

deberá implementar durante todo el ciclo de vida del desarrollo. Para finalizar el

resultado de un proceso de calidad, podría arrojar recomendaciones para

introducir mejoras, y la decisión final podría consistir en lanzar una nueva

versión del sitio Web o en modificar algunos atributos ausentes o pobremente

diseñados.

4.2 Definición

La Ingeniería de la Web es la aplicación de metodologías sistemáticas,

disciplinadas y cuantificables al desarrollo eficiente, operación y evolución de

aplicaciones de alta calidad en la World Wide Web6.

Podemos decir que Ingeniería Web es el proceso utilizado para crear, implantar

y mantener aplicaciones y sistemas Web de alta calidad. Esta breve definición

5 Disponible en: http://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_la_Web#cite_note-06 Disponible en: http://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_la_Web#cite_note-0

Page 14: Plan de Tesis Original: Utilizando Iconix y Joomla

nos lleva a abordar un aspecto clave de cualquier proyecto como es determinar

que tipo de proceso es más adecuado en función de las características del

mismo.

La Web evoluciona y crece sin diseño alguno. Prácticas tan pobres de calidad

pueden introducir defectos como un juego de niños. Es deber de todos

proporcionar cimientos firmes a una tecnología que “mágicamente” nos permite

acceder a cualquier hora a cualquier punto del planeta para obtener bienes tan

valiosos como son los Servicios y la información.

4.3 Proceso de la Ingeniería Web

Características como inmediatez y evolución y crecimiento continuos, nos

llevan a un proceso incremental y evolutivo, que permite que el usuario se

involucre, facilitando el desarrollo de productos que se ajustan mucho lo que

éste busca y necesita.

Existen algunas actividades importantes y que forman parte el proceso, estas

son: formulación, lanificación análisis, modelización, generación de páginas,

test y evaluación del cliente.

La Formulación identifica objetivos y establece el alcance de la primera

entrega. La Planificación genera a estimación del coste general del proyecto, la

evaluación de riesgos y el calendario del desarrollo y fechas de entrega. El

Análisis especifica los requerimientos e identifica el contenido. La Modelización

se compone de dos secuencias paralelas de tareas.7

Una consiste en el diseño y producción del contenido que forma parte de la

aplicación. La otra, en el diseño de la arquitectura, navegación e interfaz de

usuario. Es importante destacar la importancia del diseño de la interfaz.

Independientemente del valor del contenido y servicios prestados, una buena

interfaz mejora la percepción que el usuario tiene de éstos. En la generación de

páginas se integra contenido, arquitectura, navegación e interfaz para crear

estática o dinámicamente el aspecto más visible de las aplicación, las páginas.

El Test busca errores a todos lo niveles: contenido, funcional, navegacional,

rendimiento, etc.

5. UML

5.1 Definición

7 Disponible en: http://sistemas3.wordpress.com/2007/06/14/proceso-de-la-ingenieria-web/

Page 15: Plan de Tesis Original: Utilizando Iconix y Joomla

Es un lenguaje de modelado visual que se usa para especificar, visualizar,

construir y documentar artefactos de un sistema de software. Se usa para

entender, diseñar, configurar, mantener y controlar la información sobre los

sistemas a construir.

UML capta la información sobre la estructura estática y el comportamiento

dinámico de un sistema. Un sistema se modela como una colección de objetos

discretos que interactúan para realizar un trabajo que finalmente beneficia a un

usuario externo.

El lenguaje de modelado pretende unificar la experiencia pasada sobre

técnicas de modelado e incorporar las mejores prácticas actuales en un

acercamiento estándar.

UML no es un lenguaje de programación. Las herramientas pueden ofrecer

generadores de código de UML para una gran variedad de lenguaje de

programación, así como construir modelos por ingeniería inversa a partir de

programas existentes.

Es un lenguaje de propósito general para el modelado orientado a objetos.

UML es también un lenguaje de modelamiento visual que permite una

abstracción del sistema y sus componentes.

Existían diversos métodos y técnicas Orientadas a Objetos, con muchos

aspectos en común pero utilizando distintas notaciones, se presentaban

inconvenientes para el aprendizaje, aplicación, construcción y uso de

herramientas, etc., además de pugnas entre enfoques, lo que genero la

creación del UML como estándar para el modelamiento de sistemas de

software principalmente, pero con posibilidades de ser aplicado a todo tipo de

proyectos. 8

5.2 Objetivos

- UML es un lenguaje de modelado de propósito general que pueden usar

todos los modeladores. No tiene propietario y está basado en el común

acuerdo de gran parte de la comunidad informática.

- UML no pretende ser un método de desarrollo completo. No incluye un

proceso de desarrollo paso a paso. UML incluye todos los conceptos que se

consideran necesarios para utilizar un proceso moderno iterativo, basado en

construir una sólida arquitectura para resolver requisitos dirigidos por casos de

uso.

· Ser tan simple como sea posible pero manteniendo la capacidad de modelar

toda la gama de sistemas que se necesita construir. UML necesita ser lo

suficientemente expresivo para manejar todos los conceptos que se originan en

un sistema moderno, tales como la concurrencia y distribución, así como

8 Disponible en: http://mayi.polanco.googlepages.com/TRABAJODEINGSOFTWAREII.doc

Page 16: Plan de Tesis Original: Utilizando Iconix y Joomla

también los mecanismos de la ingeniería de software, como son la

encapsulación y componentes.

· Debe ser un lenguaje universal, como cualquier lenguaje de propósito

general.

· Imponer un estándar mundial.

6. ICONIX

El proceso de ICONIX maneja casos de uso, como el RUP, pero le falta mucho

para llegar al nivel del RUP.

También es relativamente pequeño y firme, como XP, pero no desecha el análisis y

diseño que hace XP. Este proceso también hace uso aerodinámico del UML

mientras guarda un enfoque afilado en el seguimiento de requisitos. Y, el proceso

se queda igual a la visión original de Jacobson del manejo de casos de uso, esto

produce un resultado concreto, específico y casos de uso fácilmente entendible,

que un equipo de un proyecto puede usar para conducir el esfuerzo hacia un

desarrollo real.

La Figura 1 muestra el cuadro del proceso. El diagrama retrata la esencia del

enfoque aerodinámico al desarrollo del software, que incluye un juego mínimo de

diagramas de UML y algunas valiosas técnicas que se toman de los casos del uso

para codificar rápida y eficazmente. El enfoque es flexible y abierto; siempre se

puede seleccionar de los otros aspectos del UML para complementar los materiales

básicos.

Cuadro para manejar Casos de Uso en el modelamiento de Objetos

Page 17: Plan de Tesis Original: Utilizando Iconix y Joomla

Nos gustaría señalar tres rasgos significantes de este enfoque.

Primero, es reiterativo e incremental. Las iteraciones múltiples ocurren entre el

desarrollo del modelo del dominio e identificar y analizar los casos de uso. Otras

iteraciones existen también, como los procesos del equipo a través del ciclo de

vida. El modelo estático se refina incrementalmente durante las iteraciones

sucesivas a través del modelo dinámico (compuesto del caso de uso, análisis de

robustez y el diagrama de secuencia). Note sin embargo, que el acercamiento no

requiere hitos formales y la teneduría de muchos libros; más bien, los esfuerzos de

refinamiento producen los hitos naturales como el equipo del proyecto que gana

conocimiento y experiencia.

Segundo, el enfoque ofrece un alto grado de seguimiento. Por el camino, a cada

paso usted consultara de alguna manera los requisitos anteriores. Nunca hay un

punto en que el proceso le permita desviarse lejos de las necesidades del usuario.

Seguimiento se refiere también al hecho que usted puede seguir los objetos paso a

paso como el análisis dentro del diseño.

Tercero, el enfoque ofrece uso aerodinámico del UML. Los pasos que nosotros

describiremos en los siguientes temas representan un mínimo del acercamiento,

ellos comprenden el juego mínimo de pasos que nosotros hemos encontrado para

ser necesarios y suficiente en el desarrollo de un proyecto Orientado a Objetos

exitoso. Enfocando en un subconjunto del grande y pesado UML, un equipo del

proyecto también puede dirigirse fuera de "la parálisis del análisis".

6.1 Las Capacidades de Iconix

La solución de Iconix incluye un ancho rango de ofrecimientos de servicios de

negocios. Las soluciones de negocios de extremo a extremo se concentran en

los servicios en tres áreas primarias, con la estrategia y planeación recubriendo

cada área. La especialización equilibrada en las tres áreas (la experiencia del

usuario, funcionalidad comercial, e infraestructura) contribuye al éxito de las

soluciones que se entrega a los clientes.

6.2 El Dominio del Problema

El modelo del dominio es una parte esencial del proceso de ICONIX.

Construye la porción estática inicial de un modelo que es esencial al manejar

su plan de la aplicación, antes de los casos del uso.

El enfoque de este tema es el modelo del dominio. El término "dominio del

problema" se refiere al área que abarca cosas del mundo real y conceptos

relacionados al problema que el sistema está diseñándose para resolver. El

modelo del dominio es la tarea de descubrir " los objetos " (las clases) estos

representan cosas y conceptos.

Page 18: Plan de Tesis Original: Utilizando Iconix y Joomla

Dentro del proceso de ICONIX, el modelo de dominio activado involucra, fuera

de los requisitos de los datos, construir un modelo estático del dominio del

problema pertinente al sistema propuesto.

Figura 1. El Cuadro para manejar Casos de Uso en el modelamiento de Objetos

La Figura 1 ilustra donde el modelo del dominio reside dentro del cuadro para el

proceso de ICONIX.

6.2 Los Elementos importantes del modelo del Dominio

La primera cosa que usted debe hacer cuando este construyendo un modelo

estático de su sistema es el hallazgo de clases apropiadas que con precisión

representan las abstracciones reales de los problemas que se presentan en el

modelo del dominio. Si usted ejecuta bien esta actividad, usted no sólo tendrá

una construcción sólida para construir el sistema, sino también las excelentes

perspectivas para reutilización de sistemas que se diseñarán y se construirán

con el tiempo.

Es probable que los mejores recursos de clases sean la declaración del

problema de alto nivel, los niveles bajos de requisitos y conocimientos del

experto sobre el espacio del problema. Para empezar, ponga las todas las

declaraciones pertinentes de estas áreas (e incluso otros) como pueda

encontrar, y entonces señalas o resaltas, todos los sustantivos de la frase.

Refine las listas gradualmente, los sustantivos de la frases se volverán objetos

y atributos, mientras los verbos se volverán funcionamientos y asociaciones.

Page 19: Plan de Tesis Original: Utilizando Iconix y Joomla

Los posesivos ("su"," nuestro " y " suyo ") tienden a indicar que los sustantivos

deben ser los atributos, en lugar de los objetos.

Luego, seleccione de su lista de clases de candidato y elimine los artículos

innecesarios. Busque las clases que son redundantes, no pertinentes,

incorrectas o vagas. Las clases no esenciales también pueden representar los

conceptos fuera del alcance del modelo, o representa las acciones aunque

ellos se expresan como los nombres.

También se debe tomar algunas decisiones de la inicial sobre la generalización

(el " tipo de " o " es un " relación entre las clases) mientras construye su

diagrama de clases. Si se necesita, y es más cómodo para esta fase,

generalice a más de un nivel de subclase. Recuerde buscar tipo de

declaraciones que son verdad en el mundo real. El modelamiento del dominio

también es el área apropiada para las decisiones sobre las agregaciones

("parte de" o " tiene " relaciones entre clases).

Finalmente, tal como muchos diagramas de relación de entidad (ERD), su

modelo del dominio, pone al día para mostrar las asociaciones (las relaciones

estáticas entre los pares de clases) debe ser una verdadera declaración sobre

el espacio del problema, independiente del tiempo (es decir, estática). Este

modelo sirve como la construcción de su modelo de la clase estático.

6.3 Diagrama de Secuencia

La interacción diseñada le permite detallar la conducta de sus objetos y

encuentre las clases apropiadas para los atributos y funcionamientos.

Este tema perfila los errores más comunes, y entonces explica cómo

corregirlos. Este enfoque estará orientado en realizar la interacción del diseño

usando UML y diagramas de secuencias.

Cuando usted termina con planeamiento de dominio y análisis de robustez,

usted habrá encontrado la mayoría de los objetos en el problema y asignara

algunos atributos a ellos. Se habrá definido las relaciones estáticas entre los

objetos en su diagrama de la clase de alto nivel y unas relaciones dinámicas en

sus diagramas de robustez.

6.4 Los Elementos Importantes de los Diagramas de la Secuencia

Usted quiere lograr tres metas primarias durante el diseño de interacción.

Primero, asigne el comportamiento entre los objetos límite, entidad y de

control. Durante el análisis de robustez, usted puede identificar un conjunto de

objetos que pueden lograr la conducta deseada de sus casos del uso. Se

puede también romper esa conducta en las unidades discretas y puede crear

que las guías controlen los objetos para cada una de esas unidades. Entonces

Page 20: Plan de Tesis Original: Utilizando Iconix y Joomla

se puede decidir qué objetos son responsables para cierta parte del

comportamiento. Si no se tiene una clara idea de los objetos límite, entidad y

control, es demasiado pronto para estar contemplando cómo usted asignará el

comportamiento. En ese caso, usted necesitará regresara al análisis de

robustez y realizarlo bien.

Segundo, muestre las interacciones detalladas que ocurren entre los objetos

asociados con cada uno de los casos del uso. Los objetos actúan

recíprocamente enviando los mensajes a nosotros. Estos mensajes sirven

como lo que Ivar Jacobson llama los estímulos (es decir, un mensaje estimula a

un objeto para realizar algunas acciones deseadas. Para cada unidad de

comportamiento dentro de un caso de uso, se debe identificar los mensajes y

métodos necesarios.

Tercero, termine la distribución de funcionamientos entre las clases. Se debe

apuntar para tener un 75 a 80 por ciento aproximadamente de sus atributos

definidos dentro del modelo estático, cuando se halla terminado el análisis de

robustez. Sin embargo, no empiece definiendo los funcionamientos durante el

modelo del dominio y análisis de robustez. De hecho, se recomienda que no se

asigne ningún método en este punto, porque no hay bastante información

disponible.

Una vez que se ha conseguido el modelo de interacción, se debe tener

bastante información. Entonces se puede poner el comportamiento detallado

de sus objetos (en los diagramas de secuencia, en el contexto de su caso de

uso) y se puede finalizar encontrando los lugares apropiadas para los atributos

y funcionamientos.

Mientras se hace este modelo dinámico, se estará actualizando y se extenderá

su modelo estático, y esto solidificará su creciente conocimiento de cómo su

nuevo sistema debe trabajar.

El diagrama de secuencia del UML evolucionó de una combinación del

diagrama de interacción de objetos de Jacobson y del diagrama de control de

eventos del OMT. Dentro del enfoque de ICONIX, los diagramas de secuencia

representan el producto de trabajo de un mayor modelo. Se dibuja un diagrama

de secuencia que abarque el camino básico y todos los caminos alternativos

dentro de cada uno de casos de uso. Los resultados forman el centro de su

modelo dinámico (que es la conducta del tiempo de ejecución del sistema,

incluyendo cómo se logrará esa conducta) que se define en gran detalle.

6.5 Cuatro Pasos para Dibujar los Diagramas de Secuencia

Page 21: Plan de Tesis Original: Utilizando Iconix y Joomla

Paso 1. Copiar el texto del caso de uso obtenido para especificarlo. Péguelo en

el margen izquierdo de la página. Esto se hace para permitir a ese texto servir

como un recordatorio continuo de lo que usted necesita lograr. El resultado es

que cuando usted está haciendo el diseño, el comportamiento del sistema

requerido siempre está mirándolo fijamente a la cara. Pero si no se tiene todos

los caminos de acción alternativos pertinentes escritos para cada uno de los

casos de uso, no se debe proceder hasta que ellos estén en su lugar.

Por otra parte, los diagramas no cubrirán todos los casos especiales, y usted

no encontrara el comportamiento total del caso de uso. Esto significa que no se

descubrirá todos los métodos necesarios para sus objetos.

Paso 2. Agregue los objetos entidad del diagrama de robustez. Cada uno de

estos objetos es un tipo caso que aparece en el Diagrama de clase que

representa el modelo estático. (Si se olvido de actualizar el diagrama de clase

estático en respuesta a los nuevos objetos que descubrió durante el análisis de

robustez, hágalo ahora).

Estos objetos deben tener la mayoría de sus atributos en sitio. Muchos de ellos

estarán sirviendo de datos a otros objetos. Se puede esperar descubrir los

atributos perdidos para trabajar el diagrama de secuencia. Sea meticuloso

sobre agregarlos al modelo estático; es probable que esto sea su último paso

antes del código.

Paso 3. Agregue los objetos límite del diagrama de robustez. En este punto se

preguntara por qué no mencionamos la adición de los objetos límite al modelo

del dominio. La razón es que estos objetos son parte de la solución.

Respondiendo de los objetos límite de los diagramas de secuencia, usted

empieza ha integrar el modelo detallado.

Si se sigue el enfoque de ICONIX, los primeros tres pasos involucrados dibujan

los diagramas de secuencia, su naturaleza es completamente mecánica.

Paso 4. Ponga los métodos en las clases. Esto involucra convertir los objetos

control del diagrama de robustez en un conjuntos de métodos y mensajes que

incluyen el comportamiento deseado (De vez en cuando, usted puede dejar un

control como un objeto control real). Use su diagrama de robustez como una

lista de control, asegúrese que se tiene todo el comportamiento que el sistema

requiere para los diagramas de secuencia.

Entonces simplemente controle las respuestas de cada objeto control que se

dibuja en los diagramas de secuencia.9

9 Disponible en: http://www.iconix.com

Page 22: Plan de Tesis Original: Utilizando Iconix y Joomla

7. MySQL

MySQL10 es un sistema de gestión de base de datos relacional, multihilo y

multiusuario con más de seis millones de instalaciones. MySQL AB desarrolla

MySQL como software libre en un esquema de licenciamiento dual.

Por un lado lo ofrece bajo la GNU GPL11 (Licencia Pública General), pero,

empresas que quieran incorporarlo en productos privativos pueden comprar a la

empresa una licencia que les permita ese uso. Está desarrollado en su mayor parte

en ANSIC. Al contrario de proyectos como el Apache, donde el software es

desarrollado por una comunidad pública, y el copyright del código está en poder del

autor individual, MySQL es propiedad y está patrocinado por una empresa privada,

que posee el copyright de la mayor parte del código.

Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado.

Además de la venta de licencias privativas, la compañía ofrece soporte y servicios.

Para sus operaciones contratan trabajadores alrededor del mundo que colaboran

vía Internet. MySQL AB fue fundado por David Axmark, Allan Larsson, y Michael

Widenius.

7.1 Plataformas

MySQL funciona sobre múltiples plataformas, incluyendo AIX, BSD, FreeBSD,

HP-UX, GNU/Linux, Mac OS X, NetBSD, Novell Netware, OpenBSD, OS/2

Warp, QNX, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare,

Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP,

Windows Vista y otras versiones de Windows. También existe MySQL para

OpenVMS.

7.2 Tipos de compilación del Servidor

Hay tres tipos de compilación del servidor MySQL:

Estándar: Los binarios estándares de MySQL son los recomendados para la

mayoría de los usuarios, e incluyen el motor de almacenamiento InnoDB.

Max (No se trata de MaxDB, que es una cooperación con SAP): Los binarios

incluyen características adicionales que no han sido lo bastante probadas o

que normalmente no son necesarias.

10 http://www.mysql-hispano.org/page.php?id=211 http://es.wikipedia.org/wiki/GNU_GPL

Page 23: Plan de Tesis Original: Utilizando Iconix y Joomla

MySQL-Debug: Son binarios que han sido compilados con información de

depuración extra. No debe ser usada en sistemas en producción porqué el

código de depuración puede reducir el rendimiento.

7.3 Especificaciones del código fuente

MySQL está escrito en una mezcla de C y C++. Hay un documento que

describe algunas de sus estructuras internas12.

7.4 Que licencia utilizar

La licencia GNU GPL de MySQL obliga a distribuir cualquier producto derivado

(aplicación) bajo esa misma licencia. Si un desarrollador desea incorporar

MySQL en su producto pero no desea distribuirlo bajo licencia GNU GPL,

puede adquirir la licencia comercial de MySQL que le permite hacer justamente

eso.

7.5 Estado Actual

La serie en desarrollo de MySQL Server actualmente, es la 5.1 al cual se

añaden nuevas características en relación a la serie 5.0. La serie de producción

actual de MySQL es 5.0, cuya penúltima versión estable es la 5.0.26 lanzada

en octubre de 2006. Actualmente, se puede descargar la serie 5.0.27. La serie

de producción anterior fue la 4.1, cuya versión estable es 4.1.7 lanzada en

octubre de 2004. A estas versiones de producción sólo se arreglan problemas,

es decir, ya no se añaden nuevas características. Y a las versiones anteriores

solamente se les corrigen bugs críticos.

12 http://dev.mysql.com/doc/internals/en/

Page 24: Plan de Tesis Original: Utilizando Iconix y Joomla

IX. MÉTODOS Y HERRAMIENTAS

Métodos:

Para dar solución a este problema se realizará entrevistas, encuestas y observaciones

realizadas a las personas directa e indirectamente involucradas, anotaciones de la información

documental. Se utilizará también los modelos de la metodología ICONIX y UML para el

Modelado Orientado a Objetos.

RUP RESULTADOSFASES DISCIPLINAS DOCUMENTOS MODELOS DIAGRAMA

INICIO

Modelo del negocio

Reglas del negocio.

Especificación de de casos de uso del negocio.

Evaluación del negocio.

Arquitectura del negocio.

Glosario del negocio.

Plan de desarrollo del Software.

Vision.

Modelo del negocio.

Modelo del dominio.

Diagrama del caso de uso del negocio.

Modelo de objetos del negocio.

Modelo del dominio del problema.

RequerimientosEspecificación de los casos de uso.

Modelo de requerimientos.

Diagrama de casos de usos.Diagrama de actividades.

ELABORACIÓN Análisis y diseño

Modelo de análisis.Modelo de diseño.

Diagrama de colaboración.Diagrama de secuencia.Diagrama de estados.Diagrama de clases.Diagrama de datos.

CONSTRUCCIÓN ImplementaciónModelo de implementación.

Diagrama de componentes.Diagrama de despliegue.

TRANSICIÓNPrueba Despliegue

Manual de instalación.Manual de usuario.

Modelo de prueba.

Prueba de caja negra.

Herramientas:

Page 25: Plan de Tesis Original: Utilizando Iconix y Joomla

Se utilizará Enterprice Architect como herramienta visual de modelado, MySQL 5.0 como

herramienta de gestión de Base de Datos, y para el diseño del prototipo visual se hará

uso de PHP.

X. REFERENCIAS BIBLIOGRAFICA

1. POLANCO, M., 2007. UML [en línea]. Disponible en

http://mayi.polanco.googlepages.com/TRABAJODEINGSOFTWAREII.doc [accesado el

25 de Agosto 2008].

2. POOLEY, R., 2007. Utilización de Uml en Ingeniería del Software con Objetos y

Componentes, Editorial Pearson educacion , Madrid.

3. DOUG ROSENBERG et al. (2005) Agile Development with ICONIX Process-People,

process and Pragmatism. Apress

4. STALLMAN, R., 2004. Software Libre Para una Sociedad Libre. Madrid.

5. Thompson, I, 2006. El Proceso de Venta[en-línea]. Disponible en:

http://www.promonegocios.net/mercadotecnia/proceso-venta.htm [accesado el 9 de

Setiembre 2008].

6. Thompson, I. 2007. Técnicas de Venta [en-línea]. Disponible en:

http://www.promonegocios.net/venta/tecnicas-venta.html [accesado el 9 de Setiembre

2008].

7. Thompson, I., 2006. Venta [en-línea]. Disponible en:

http://www.promonegocios.net/mercadotecnia/definicion-concepto-venta.htm [accesado

el 9 de Setiembre 2008].

8. Producciones Web, 2007. Mejores practicas digitales en la empresa [en-linea].

Disponible en:

http://www.tenerunsitio.com.ar/sitio/mejorespracticas_notadesarrollada.php?

nota=041120061 [accesado el 15 de setiembre 2008].

9. WELLING, L., 2005. Desarrollo Web con Php Y MySql. 3ª, Grupo Santillana De

Ediciones SL, Madrid.

Page 26: Plan de Tesis Original: Utilizando Iconix y Joomla

ACREDITACION DE ASESORIA

TITULO DE TRABAJO DE SUFICIENCIA PROFESIONAL:

“SISTEMA WEB PARA EL SERVICIO DE VENTA DE EQUIPOS DE COMPUTO PARA

LA EMPRESA PROCON S.A APLICANDO METODOLOGIA ICONIX”

Autores:

o Br. Cerna López, Albert Manuel

o Br. Crisologo Durand, Jorge Martin

Viernes, 03 de octubre de 2008

__________________________ ________________________

Br. Crisologo Durand, Jorge Martin Br. Cerna López, Albert Manuel

____________________________

Ing. Jara García, Carlos