ebook img

Arquitectura de software para aplicaciones Web PDF

150 Pages·2011·2.93 MB·Spanish
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Arquitectura de software para aplicaciones Web

Centro de Investigacio(cid:19)n y de Estudios Avanzados del Instituto Polite(cid:19)cnico Nacional Unidad Zacatenco Departamento de Computaci(cid:19)on Arquitectura de software para aplicaciones Web Tesis que presenta Juan Tahuiton Mora para obtener el Grado de Maestro en Ciencias en Computaci(cid:19)on Director de la Tesis (cid:19) Dr. Pedro Mej(cid:19)(cid:16)a Alvarez M(cid:19)exico D.F. Agosto 2011 ii Agradecimientos A Dios por ser el arquitecto de mi vida, por sustentarme en cada paso que he dado a lo largo de mi vida. A mi esposa Alma por su ayuda, comprensi(cid:19)on y consuelo en los momentos importantes de mi vida, por ensen~arme a son~ar y a conquistar los suen~os por dif(cid:19)(cid:16)ciles que parezcan. A mis padres, Juan Tahuiton y Leonor Mora por su gran amor y apoyo durante toda mi vida. A mis hermanos Fide, Juanis, Ton~o y Leti por sus consejos. (cid:19) Amidirectordetesis,Dr.PedroMej(cid:19)(cid:16)aAlvarezporsuayudaypacienciadurante la realizaci(cid:19)on de este trabajo de tesis. A mis revisores de tesis, Dr. Oscar Olmedo Aguirre y Dra. Ana Mar(cid:19)(cid:16)a por sus invaluables contribuciones a este trabajo de tesis. A todo el personal del Departamento de Computaci(cid:19)on, en especial a Sof(cid:19)(cid:16)a Reza, Felipa Rosas y Erika R(cid:19)(cid:16)os por su gran apoyo y compromiso con su trabajo. A todos mis amigos del CINVESTAV, con quienes pase momentos dif(cid:19)(cid:16)ciles pero tambi(cid:19)en agradables. Al Centro de Investigaci(cid:19)on y de Estudios Avanzados del IPN (CINVESTAV- IPN)porhabermebrindadolaoportunidaddeserformarpartedeunagrandiosa instituci(cid:19)on. iii iv AGRADECIMIENTOS Al Consejo Nacional de Ciencia y Tecnolog(cid:19)(cid:16)a (CONACyT) por otorgarme el apoyo econ(cid:19)omico para realizar mis estudios de posgrado. Resumen La arquitectura de software es una pieza central del desarrollo de sistemas de software modernos. El objetivo de la arquitectura consiste en desarrollar sistemas de software grandes de forma e(cid:12)ciente, estructurada y con capacidad de reuso. La arquitectura forma parte del proceso de disen~o de software el cual tambi(cid:19)en forma parte del proceso de desarrollo de software que comprende, requerimientos, disen~o, implementaci(cid:19)on, prueba y mantenimiento. La investigaci(cid:19)on en esta (cid:19)area es muy reciente y actualmente existen muy pocos modelos que permiten disen~ar arquitecturas de aplicaciones de software. Debido a esto, en la presente tesis tenemos como objetivo el desarrollo de un marco gen(cid:19)erico para de(cid:12)nir la arquitectura de un sistema de software basado en Web. Los sistemas de software basados en Web han tenido un gran auge en la u(cid:19)ltima d(cid:19)ecada. Sus principales aplicaciones, los sistemas de comercio electr(cid:19)onico y las redes sociales han visto un crecimiento notable debido tambi(cid:19)en a la mejora de las tecno- log(cid:19)(cid:16)as de Internet, de c(cid:19)omputo distribuido, de los lenguajes basados en objetos y las arquitecturas de hardware. En el presente trabajo de tesis se presenta una arquitectura de software para aplicaciones Web en donde se sigue un proceso de ingenier(cid:19)(cid:16)a de software. En este desarrollo, la arquitectura se descompone mediante distintas vistas o enfoques tales como, la vista l(cid:19)ogica, la vista de procesos, la vista de desarrollo, la vista f(cid:19)(cid:16)sica y la vista de seguridad. Cada vista, en esta tesis, se desarrolla mediante el lenguaje de modelado uni(cid:12)cado UML. v vi RESUMEN Adem(cid:19)as de presentar la arquitectura gen(cid:19)erica de un sistema en Web, en esta tesis presentamos un caso de estudio en el cual se utiliza la arquitectura gen(cid:19)erica desarrollada para modelar la aplicaci(cid:19)on. Abstract Software architecture is a central part of the development of modern software systems. The purpose of software architecture is to develop large software systems in an e(cid:14)cient and structured fashion capable reuse. Software architecture is a part of the software design process which is included as in the software development process. Thisprocessincludesrequirements,design,implementation,testingandmaintenance. Research in this area is very recent and currently there are very few models to design software applications architectures. Because of this, in this thesis we aim to develop a generic framework for de(cid:12)ning the architecture of Web-based software. Web-based software systems have boomed in the last decade. Their main appli- cations, e-commerce systems and social networks, have seen signi(cid:12)cant growth due alsototheimprovementofInternettechnologies,distributedcomputing, object-based languages and hardware architectures. In this thesis we introduce a software architecture for Web applications according to a well de(cid:12)ned software engineering process. In our development the architecture is broken down by di(cid:11)erent views or approaches such as the logical view, the process view, the development view, the physical view and the security view. Each view, this thesis is developed using the uni(cid:12)ed modeling language UML. Besides presenting the general architecture of a Web system, in this thesis we present a case study in which the generic architecture is used to model the application developed. vii viii ABSTRACT (cid:19) Indice general Agradecimientos III Resumen V Abstract VII (cid:19)Indice de (cid:12)guras XI (cid:19)Indice de tablas XIV 1. Introducci(cid:19)on 1 1.1. Motivacio(cid:19)n y Justi(cid:12)caci(cid:19)on . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2. Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . 4 1.3. Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.4. Organizaci(cid:19)on de la tesis . . . . . . . . . . . . . . . . . . . . . . . . . 5 2. Ingenier(cid:19)(cid:16)a de Software 7 2.1. Modelos de la ingenier(cid:19)(cid:16)a de software . . . . . . . . . . . . . . . . . . . 7 2.2. Ciclo de vida del software . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2.1. Obtenci(cid:19)on y an(cid:19)alisis de requerimientos . . . . . . . . . . . . . 10 2.2.2. Disen~o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.3. Desarrollo del software . . . . . . . . . . . . . . . . . . . . . . 19 2.2.4. Validacio(cid:19)n del software . . . . . . . . . . . . . . . . . . . . . . 20 2.2.5. Instalaci(cid:19)on del software . . . . . . . . . . . . . . . . . . . . . . 21 2.2.6. Evoluci(cid:19)on del software . . . . . . . . . . . . . . . . . . . . . . 21 2.3. Trabajos relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.3.1. Transferencia de Estado Representacional (REST) . . . . . . . 22 2.3.2. Recuperaci(cid:19)on de la arquitectura de software de aplicaciones Web 22 2.4. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3. Aplicaciones Web 25 3.1. De(cid:12)nici(cid:19)on de una aplicaci(cid:19)on Web . . . . . . . . . . . . . . . . . . . . 25 3.2. Taxonom(cid:19)(cid:16)a de aplicaciones Web . . . . . . . . . . . . . . . . . . . . . 26 3.3. Vistas arquitect(cid:19)onicas de una aplicaci(cid:19)on Web . . . . . . . . . . . . . . 27 3.3.1. Vista l(cid:19)ogica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ix x (cid:19)INDICE GENERAL 3.3.2. Vista de procesos . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.3.3. Vista f(cid:19)(cid:16)sica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.3.4. Vista de desarrollo . . . . . . . . . . . . . . . . . . . . . . . . 33 3.3.5. Vista de seguridad . . . . . . . . . . . . . . . . . . . . . . . . 36 3.4. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4. Arquitectura de software para aplicaciones Web 39 4.1. P(cid:19)aginas Web y aplicaciones Web . . . . . . . . . . . . . . . . . . . . . 39 4.2. Patrones de disen~o . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.3. Patrones de Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.3.1. Patr(cid:19)on multicapa . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.3.2. Patr(cid:19)on modelo vista controlador . . . . . . . . . . . . . . . . . 50 4.4. Arquitectura gen(cid:19)erica para aplicaciones Web . . . . . . . . . . . . . . 52 4.5. Lenguaje de modelado uni(cid:12)cado (UML) . . . . . . . . . . . . . . . . 62 4.6. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 5. Caso de estudio 67 5.1. El desarrollo de aplicaciones Web . . . . . . . . . . . . . . . . . . . . 67 5.2. Caso de estudio: Sistema de Administraci(cid:19)on Escolar (SAE) . . . . . 68 5.3. Obtenci(cid:19)on de requerimientos . . . . . . . . . . . . . . . . . . . . . . . 69 5.3.1. Requerimientos del usuario . . . . . . . . . . . . . . . . . . . . 69 5.3.2. Requerimientos del sistema . . . . . . . . . . . . . . . . . . . . 69 5.4. Especi(cid:12)caci(cid:19)on de los requerimientos . . . . . . . . . . . . . . . . . . . 78 5.5. Requerimientos no funcionales . . . . . . . . . . . . . . . . . . . . . . 86 5.6. Escenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.6.1. Diagramas de casos de uso del administrador. . . . . . . . . . 87 5.6.2. Diagramas de secuencia . . . . . . . . . . . . . . . . . . . . . 87 5.6.3. Diagramas de casos de uso del coordinador acad(cid:19)emico . . . . . 93 5.6.4. Diagramas de secuencia . . . . . . . . . . . . . . . . . . . . . 93 5.6.5. Diagramas de casos de uso del Personal Administrativo . . . . 97 5.6.6. Diagramas de secuencia . . . . . . . . . . . . . . . . . . . . . 97 5.6.7. Diagramas de casos de uso del Alumno . . . . . . . . . . . . . 101 5.6.8. Diagramas de secuencia . . . . . . . . . . . . . . . . . . . . . 101 5.7. Arquitectura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 5.7.1. Vista L(cid:19)ogica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 5.7.2. Vista de Procesos . . . . . . . . . . . . . . . . . . . . . . . . . 113 5.7.3. Vista de seguridad . . . . . . . . . . . . . . . . . . . . . . . . 114 5.7.4. Vista de Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . 115 5.7.5. Vista F(cid:19)(cid:16)sica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 5.8. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 6. Conclusiones y Trabajo Futuro 127 6.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 6.2. Trabajo Futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

Description:
Sus principales aplicaciones, los sistemas de comercio electrónico y las redes sociales han visto un .. ha permitido la integración y el reuso de componentes electrónicos dentro de la arquitectura, y ha motivado el den ser por medio de login y password o los certificados digitales. Además la v
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.