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Ú

2008

II.

1. Ing. Jara García, Carlos IV. E IVI 

 ¤

¦  © ¥¨£§£¥¦   ¤ ¤ ¤

¥£

III. SES

¥£ ¡   ¤

£¢¡

I. I

   ¤

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. ES

1. Br. Cerna López, Albert Manuel 2. Br. Crisólogo Durand, Jorge Martin

ES

5.1

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

4.00 75.00 10.00 2.00 16.00 7.50 10.00 2.00 126.50

25.00 1.00 0.50 2.00 1.50 1.00 1.00

5.3.11.30

Tinta de Impresora ³HP´

04 unidades

120

5.2 Se vicios 5.2.1 atu aleza de

5.3.11.36 5.3.11.36 5.3.11.36 5.3.11.36

Internet Fotocopiado Espiralado Telefonía

50 horas 100 páginas 5 espiralados 30 llamadas (promedio 3 min cada una)

S/. 1x hora. S/.0.5 x pág. S/. 2.0 x esp. S/ 0.2 x min

50.00 50.00 10.00 18.00

5.3.11.36

Encuadernado

1 Libro

S/.30 x Libro

30.00 158.00

&

S

#

# 

asto

se vicio

a tidad

S/. 

$  

"

esc ipció del

osto

ita io

P ecio otal S/.

$  

"  

! 



&

S

S/. 190.0 S/. 158.0

ásicos

#

# 

asto

bie

a tidad

S/. 

$    

" 

atu aleza de

esc ipció del

P ecio

ita io

P ecio otal S/.

480 480

$   



!  

5.1.2

&

S

ate ial de Imp esió

S/. 480.00

#

asto

otal S/.

$  

" 

esc ipció del bie

a tidad

ita io 

atu aleza de

# $      

5.1.1 

! 

    
ie e s

ate ial de esc ito io 

V. P ES P ES  

 %  

 %  

 %     

S/. 606.50 S/. 126.50 P ecio P ecio  



se vicio Asesor

P ecio otal s/. 0.00 0.00

5.3.11.37

5.3 Pasajes y Viáticos

I

S/.

5.3.11.20

Movilidad

40 pasajes

S/. 0.80 x psj.

Resumen: Bienes -------------------------------------------------------------------S/. 606.50 S/. 190.00 S/. 796.50

Servicios -------------------------------------------------------------------Total --------------------------------------------------------------------

W

W

YX

a

5.5 Equipos de

ó mputo

ecu sos P opios

`

W

W

YX W

5.4 Sofwa e

ecu sos P opios

`

V

S

I9H F

P

9H F A G F7E9D

C

ustificació del costo

E E SE VI I

I

S I

P E I

S/.

32.00 32.00

P

I 9 F D6 @8 9 9H 8

G G D H @ 8 @

A

S

S/. 32.00

2

0

5

'

'

atu aleza de asto

esc ipció del

) '

'

'

4 10

) '

9 76 @8 8

3 ' ( T RQ US S B

(

5.2.2 Se vicios

o Pe so ales

ecu sos P opios

2

S/.0

'

1. Á e a emá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 proc esar 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 as l siguientes tesis relacionadas con nuestro tema: y 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. y 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. y 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. ealidad

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:

v

2.

ted

cf c ts e

VI. ES

IP I

E E

E

S

I IE

I P

ESI

i fe h

h

u p q d i b i d f g fe c dc rh h p h

b

y

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.

y

No se lleva un control eficiente de todas las ventas realizadas, ya que este registro se lleva a cabo utilizando Excel.

y

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

y 3. o mulació

¿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.

y

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.

y

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.

y

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

y

El cliente podrá hacer un seguimiento del estado en que se encuentra su pedido, una vez concretado la venta.

y

ustificació

y

x w

€

Diseñar un Sistema Web para la gestión del servicio bjetivos Específicos

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

-

1. P oco S. .

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 Histo ia 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 un documento estático, pero la secuencia de páginas provee de una experiencia interactiva.

• ”

VIII.

† ‡ ’   “ ‘‰ˆ „ „ ’

‡



2.

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 E E I

‡ † …

1.

 

VII.

‚ „ ƒ

E IV S bjetivo e e al de venta de equipos de

2.2 I te faz

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 Est uctu a Aunque

muchas variaciones son

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

–

–

—

—

—

– ˜

2.3

o side acio es éc icas

™

— –

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.

posibles,

una

aplicación Web

está

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. so de e ocios 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 sigl s en a inglés), este modelo de negocios está atrayendo la atención de la industria del software. e uajes de P o amació

Existen numerosos lenguajes de programación empleados para el desarrollo de Aplicaciones Web, entre los que destacan: y y y y y y y y PHP ASP/ASP.NET Java, con sus tecnologías Java Servlets y Java Server Pages (JSP) Perl Ruby Python HTML XML

2.1

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. y Libe tad 0: ibe tades del softwa e ib e

p o p

q

p

o

2.2

nm m l j k j

3. Softwa e ib e efi ició

h

if i

fh g

2.6

f e

d

2.5

Ejecutar el programa con cualquier propósito (privado, educativo, público, comercial, militar, etc.) y Libe tad 1: Estudiar y modificar el programa (para lo cual es necesario poder acceder al código fuente) y Libe tad 2: Copiar el programa de manera que se pueda ayudar al vecino o a cualquiera. y Libe tad 3: Mejorar el programa y publicar las mejoras. 2.3 ipos de Lice cias y 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. y Estilo S

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 orientadas a destacar que este tipo de licencia no contribuye al desarrollo de más software libre.
1

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

v

x w

r s t

u

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 muc ha 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

y 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 d erivada 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

z

y

y Estilo

PL y de ivadas

licencia en vigencia. Si así sucediera, el conflicto entre las partes se resolvería en un pleito convencional.3

3. PHP

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 Ca acte ísticas y Es un lenguaje multiplataforma. y 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 y Capacidad de expandir su potencial utilizando la enorme cantidad de módulos (llamados ext's o extensiones). y 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. y Es libre, por lo que se presenta como una alternativa de fácil acceso para todos. y Permite las técnicas de Programación Orientada a Objetos. y Biblioteca nativa de funciones sumamente amplia e incluida. y No requiere definición de tipos de variables. 4. I
3 4

e ie ía Web

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

|

}

| { }

3.1

efi ició :

€ ~ ~

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 a l 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 efi ició

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 Web .
6

5 6

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



4.1 I t oducció



 ƒ

‚

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 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.

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.
7

L

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

„ … †…

4.3 P oceso de la I

e ie ía Web

„

ˆ‡

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 d e 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. 5.2 bjetivos
8

- 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
8

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

Š

Š ‰ ‹

5.1

efi ició

un sistema moderno, tales como la concurrencia y distribución, así como 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ósit o 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

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 Ico ix 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.

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 r solver. El e modelo del dominio es la tarea de descubrir " los objetos " (las clases) estos representan cosas y conceptos.

Ž

Œ



6.2 El

omi io del P oblema

Œ

Dentro del proceso de ICONIX, el modelo de dominio activado involucra, fuera de los requisitos de los datos, construir un modelo estátco del dominio del i 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 Eleme tos impo ta tes del modelo del omi io 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 presenta en el n 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 a sociaciones.



‘

 



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 entid (ERD), su ad 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 ia ama de Secue cia

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 Eleme tos Impo ta tes de los ia amas de la Secue cia

Usted quiere lograr tres metas primarias durante el diseño de interacción. P ime o, 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

•

”“ ’

• ”

•

•

”

”“ ’ ”

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. Se u do, 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.

e ce o, 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 de l 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 gra detalle. n 6.5 Cuat o Pasos pa a ibuja los ia amas de Secue cia

—

™– š

™

š ™

™ ™

— – ™

˜

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 pued esperar descubrir los e 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

MySQL

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 GPL
11

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 Platafo mas 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 ipos de compilació del Se vido

Hay tres tipos de compilación del servidor MySQL: y 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. y 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 11

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

œ

œ

ž

œ



›

7.

ySQL
10

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

(Licencia Pública General), pero,

y

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 Especificacio es del códi o fue te MySQL está escrito en una mezcla de C y C++. Hay un documento que describe algunas de sus estructuras internas . 7.4 Que lice cia utiliza
12

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 ctual 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/

Ÿ

 

¡

Ÿ

Ÿ

¢

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 Modelado Orientado a Objetos. los modelos de la metodología ICONIX y UML para el

FASES

INICIO

ELABORACIÓN

CONSTRUCCIÓN

TRANSICIÓN

£

£

IX.

É ODOS Y HE étodos:

RUP
DISCIPLINAS DOCUMENTOS  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.

£ ¥¥ ¦

¤

IENTAS

RE ULT
MODELOS DIAGRAMA

Modelo del negocio 

Modelo del negocio.  Modelo del dominio. 

Diagrama del caso de uso del negocio.  Modelo de objetos del negocio.  Modelo del dominio del problema.

Requerimientos

Especificación de los casos de uso.

Modelo de requerimientos.

Análisis y diseño

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

Implementación Manual de instalación. Manual de usuario.

Modelo de implementación. Modelo de prueba.

Diagrama de casos de usos. Diagrama de actividades. Diagrama de colaboración. Diagrama de secuencia. Diagrama de estados. Diagrama de clases. Diagrama de datos. Diagrama de componentes. Diagrama de despliegue. Prueba de caja negra.

Prueba Despliegue

He amie tas: 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.

1. POLANCO,

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=0411 20061 [accesado el 15 de setiembre 2008]. 9. WELLING, L., 2005. Desarrollo Web con Php Y MySql. 3ª, Grupo Santillana De Ediciones SL, Madrid.

««

© ª ©

X.

E E ENCIAS I LIOGRAFICA

¨

§§

M.,

2007.

UML

[en

línea].

Disponible

en

ACREDITACION DE ASESORIA

y 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´ y Autores: o o Br. Cerna López, Albert Manuel 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

Sign up to vote on this title
UsefulNot useful