arquitectura de software, mucho más que un diagrama ...clemola/ponencias/cecic-uaags.pdf ·...

21
Arquitectura de Software, mucho más que un diagrama tradicional Dr. Cuauhtémoc Lemus Olalde Centro de Investigación en Matemáticas (CIMAT) Marzo, 2004 Arquitectura de Software, mucho más que un diagrama tradicional Dr. Cuauhtémoc Lemus Olalde Centro de Investigación en Matemáticas (CIMAT) Marzo, 2004 Congreso Estatal de Ciencias de la Computación Universidad Autónoma de Aguascalientes Congreso Estatal de Ciencias de la Computación Universidad Autónoma de Aguascalientes

Upload: vuongphuc

Post on 28-Oct-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Arquitectura de Software, mucho más que un diagrama ...clemola/Ponencias/CECIC-UAAgs.pdf · salidas de otros procesos Producto: Resultado de un proceso ... Arquitecturas SW Referencias

Arquitectura de Software, mucho más que

un diagrama tradicional

Dr. Cuauhtémoc Lemus Olalde

Centro de Investigación en Matemáticas

(CIMAT)

Marzo, 2004

Arquitectura de Software, mucho más que

un diagrama tradicional

Dr. Cuauhtémoc Lemus Olalde

Centro de Investigación en Matemáticas

(CIMAT)

Marzo, 2004

Congreso

Estatal de

Ciencias de la

Computación

UniversidadAutónoma de

Aguascalientes

Congreso

Estatal de

Ciencias de la

Computación

UniversidadAutónoma de

Aguascalientes

Page 2: Arquitectura de Software, mucho más que un diagrama ...clemola/Ponencias/CECIC-UAAgs.pdf · salidas de otros procesos Producto: Resultado de un proceso ... Arquitecturas SW Referencias

TerminologíaTerminología(ISO 9000:2000)(ISO 9000:2000)

Proceso: conjunto de actividades mutuamente conjunto de actividades mutuamente relacionadas o que interactúan, que transforman relacionadas o que interactúan, que transforman entradas en salidasentradas en salidas– Las entradas de un proceso son generalmente

salidas de otros procesosProducto: Resultado de un proceso

– Servicio– Software– Hardware– Materiales procesados

Cliente: organización ó persona que recibe un productoCalidad: Grado en el que un conjunto de características inherentes cumple con los requisitos

– Inherente es que existe como una característica permanente

– Pobre, buena, excelente calidadCaracterística de Calidad: característica inherente de un producto, proceso ó sistema relacionada con un requisito

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Page 3: Arquitectura de Software, mucho más que un diagrama ...clemola/Ponencias/CECIC-UAAgs.pdf · salidas de otros procesos Producto: Resultado de un proceso ... Arquitecturas SW Referencias

Desarrollo TradicionalDesarrollo Tradicional

RequerimientosRequerimientos

DiseñoDiseño

Codificación e IntegraciónCodificación e Integración

Prueba y AceptaciónPrueba y Aceptación

MantenimientoMantenimiento

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Page 4: Arquitectura de Software, mucho más que un diagrama ...clemola/Ponencias/CECIC-UAAgs.pdf · salidas de otros procesos Producto: Resultado de un proceso ... Arquitecturas SW Referencias

Diseño TradicionalDiseño Tradicional

Requerimientos funcionalesRequerimientos funcionales–– Diagramas de contextoDiagramas de contexto

((http://www.inei.gob.pe/biblioineipub/bancopub/Inf/Lib5008/caphttp://www.inei.gob.pe/biblioineipub/bancopub/Inf/Lib5008/cap--33--

1.htm1.htm))–– Diagrama de flujo de datosDiagrama de flujo de datos

((http://milugar.homeip.net:8080/archivos/actweb/Documentacion/Acthttp://milugar.homeip.net:8080/archivos/actweb/Documentacion/ActWeb_DocuWeb_Docu

mentacion_Impresa/outmentacion_Impresa/out--htmls/dfd.htmlhtmls/dfd.html))–– Diagrama estructurado Diagrama estructurado

((http://acha.museo.uta.cl/cc402/Aseguramiento_de_la_calidad/aseguhttp://acha.museo.uta.cl/cc402/Aseguramiento_de_la_calidad/aseguramiento_dramiento_d

e_la_calidad.htme_la_calidad.htm))Requerimientos de calidad (noRequerimientos de calidad (no--funcionales, extrafuncionales, extra--funcionales)?funcionales)?

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Page 5: Arquitectura de Software, mucho más que un diagrama ...clemola/Ponencias/CECIC-UAAgs.pdf · salidas de otros procesos Producto: Resultado de un proceso ... Arquitecturas SW Referencias

Desarrollo TradicionalDesarrollo Tradicional

Actualmente...– Un sistema a la vez

– Cumplir con fecha de entrega (a diferencia de time-to-market)

– Evolución de sistema no es considerado

Lo deseable...– Reducir costo– Mejorar calidad producto– Tiempo de entrega (time-to-market)– Reducir costos de Mantenimiento

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Page 6: Arquitectura de Software, mucho más que un diagrama ...clemola/Ponencias/CECIC-UAAgs.pdf · salidas de otros procesos Producto: Resultado de un proceso ... Arquitecturas SW Referencias

Qué se está haciendo en Qué se está haciendo en Calidad del Software?Calidad del Software?

Adopción de modelos y estándaresAdopción de modelos y estándares–– CMMCMM–– SPICESPICE–– ISO 9001, etc.ISO 9001, etc.

Mejoramiento de procesos de software Mejoramiento de procesos de software a través de técnicas y métodos a través de técnicas y métodos estadísticosestadísticos–– PSP (Personal Software Process)PSP (Personal Software Process)–– TSP (Team Software Process)TSP (Team Software Process)–– Seis Sigma Software (Disciplina Seis Sigma Software (Disciplina

emergente)emergente)Desarrollo de Software con base en Desarrollo de Software con base en Arquitectura de SoftwareArquitectura de Software

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Page 7: Arquitectura de Software, mucho más que un diagrama ...clemola/Ponencias/CECIC-UAAgs.pdf · salidas de otros procesos Producto: Resultado de un proceso ... Arquitecturas SW Referencias

Calidad en el Desarrollo Calidad en el Desarrollo de Softwarede Software

Cualidades del sistema que Cualidades del sistema que son relevantes desde el punto son relevantes desde el punto de vista de Ingeniería de de vista de Ingeniería de SoftwareSoftware–– Fácil de incorporar nuevos Fácil de incorporar nuevos

requerimientosrequerimientos–– ReutilizableReutilizable–– FlexibleFlexible–– Facilitar pruebas de confiabilidadFacilitar pruebas de confiabilidad

Difíciles de localizar en la Difíciles de localizar en la aplicaciónaplicación

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Page 8: Arquitectura de Software, mucho más que un diagrama ...clemola/Ponencias/CECIC-UAAgs.pdf · salidas de otros procesos Producto: Resultado de un proceso ... Arquitecturas SW Referencias

Calidad del Software en Calidad del Software en OperaciónOperación

Cualidades del sistema en Cualidades del sistema en operaciónoperación–– DesempeñoDesempeño–– ConfiableConfiable–– RobustoRobusto–– Tolerante a fallasTolerante a fallas

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Page 9: Arquitectura de Software, mucho más que un diagrama ...clemola/Ponencias/CECIC-UAAgs.pdf · salidas de otros procesos Producto: Resultado de un proceso ... Arquitecturas SW Referencias

AS en Desarrollo de SoftwareAS en Desarrollo de Software

RequerimientosProceso

ASIntroducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Diseño

Codificación e Integración

Prueba y Aceptación

Mantenimiento

Page 10: Arquitectura de Software, mucho más que un diagrama ...clemola/Ponencias/CECIC-UAAgs.pdf · salidas de otros procesos Producto: Resultado de un proceso ... Arquitecturas SW Referencias

Diseño de ArquitecturasDiseño de Arquitecturasde Softwarede Software

Ejemplos: Ejemplos: A1A1, , A2A2, , A3A3Es complejo plasmar las Es complejo plasmar las especificaciones de requerimientos en especificaciones de requerimientos en la arquitecturala arquitecturaEl proceso de arquitectura de software El proceso de arquitectura de software no se encuentra debidamente no se encuentra debidamente formalizado y no hay una metodología formalizado y no hay una metodología madura disponible.madura disponible.El diseño de una arquitectura de El diseño de una arquitectura de software todavía es considerado un software todavía es considerado un arte.

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

arte.

Page 11: Arquitectura de Software, mucho más que un diagrama ...clemola/Ponencias/CECIC-UAAgs.pdf · salidas de otros procesos Producto: Resultado de un proceso ... Arquitecturas SW Referencias

Pipe & FilterPipe & Filter

Tokens Sintáxis Código

FiltersIntroducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Pipes

Page 12: Arquitectura de Software, mucho más que un diagrama ...clemola/Ponencias/CECIC-UAAgs.pdf · salidas de otros procesos Producto: Resultado de un proceso ... Arquitecturas SW Referencias

CapasCapas

Núcleo

Utilerías

Usuarios

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Page 13: Arquitectura de Software, mucho más que un diagrama ...clemola/Ponencias/CECIC-UAAgs.pdf · salidas de otros procesos Producto: Resultado de un proceso ... Arquitecturas SW Referencias

Tres nivelesTres niveles

PRESENTACION JSPsIntroducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

ReferenciasLOGICA

NEGOCIO EJBs, Servlets

Base de DatosRelacionalDATOS

Page 14: Arquitectura de Software, mucho más que un diagrama ...clemola/Ponencias/CECIC-UAAgs.pdf · salidas de otros procesos Producto: Resultado de un proceso ... Arquitecturas SW Referencias

Diseño de ArquitecturasDiseño de Arquitecturasde Softwarede Software

Es importante especificar, Es importante especificar, analizar y diseñar la arquitectura.analizar y diseñar la arquitectura.Requerimientos de calidad tienen Requerimientos de calidad tienen un gran impacto en la un gran impacto en la arquitectura del sistema.arquitectura del sistema.El diseño de la arquitectura es El diseño de la arquitectura es parte del proceso de desarrollo y parte del proceso de desarrollo y evolución de los productos de evolución de los productos de software.

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

software.

Page 15: Arquitectura de Software, mucho más que un diagrama ...clemola/Ponencias/CECIC-UAAgs.pdf · salidas de otros procesos Producto: Resultado de un proceso ... Arquitecturas SW Referencias

Proceso de ArquitecturaProceso de Arquitectura

1. Es un proceso que involucra una metodología, principios, guías.

2. AS tiene como beneficios, reutilización, mejorar calidad, reducir costos, reducir tiempos de entrega (time-to-market).

3. Arquitectura de Software tiene como principal motivación el desarrollo de nuevos sistemas mediante componentes reutilizables.

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Page 16: Arquitectura de Software, mucho más que un diagrama ...clemola/Ponencias/CECIC-UAAgs.pdf · salidas de otros procesos Producto: Resultado de un proceso ... Arquitecturas SW Referencias

Arquitectura de Arquitectura de SoftwareSoftware

Se enfoca en el análisis y la Se enfoca en el análisis y la descomposición de alto nivel de descomposición de alto nivel de un sistema en sus principales un sistema en sus principales componentes, así como el componentes, así como el proceso de diseño utilizado en proceso de diseño utilizado en dicha descomposición.dicha descomposición.–– Diseño de Arquitecturas de Diseño de Arquitecturas de

Software con enfoque en atributos Software con enfoque en atributos de calidad: desempeño, confiable, de calidad: desempeño, confiable, fácil de mantener, flexible a cambios

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

fácil de mantener, flexible a cambios

Page 17: Arquitectura de Software, mucho más que un diagrama ...clemola/Ponencias/CECIC-UAAgs.pdf · salidas de otros procesos Producto: Resultado de un proceso ... Arquitecturas SW Referencias

Proceso de ArquitecturaProceso de Arquitectura

Clientes Mercadotecnia Ingeniería

Requerimientos

Selección

Procesode AS

Completo?Implementación

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Producto

Page 18: Arquitectura de Software, mucho más que un diagrama ...clemola/Ponencias/CECIC-UAAgs.pdf · salidas de otros procesos Producto: Resultado de un proceso ... Arquitecturas SW Referencias

Proceso de ArquitecturaProceso de Arquitectura(Reverse Engineering)(Reverse Engineering)

SistemaActual

ArquitecturaSistema

ArquitecturaDominio

NuevoDiseño

Librería de ComponentesReutilizables

Extracción

Generalización

ReutilizaciónIntroducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Page 19: Arquitectura de Software, mucho más que un diagrama ...clemola/Ponencias/CECIC-UAAgs.pdf · salidas de otros procesos Producto: Resultado de un proceso ... Arquitecturas SW Referencias

Proceso de ArquitecturaProceso de Arquitectura(Forward Engineering)(Forward Engineering)

DiseñoFuncional

Especificaciones de Requerimientos

Arquitecturade Aplicación

Estimar Atributosde Calidad

TransformarArquitectura

Soluciones deOptimización

QAArquitectura del Sistema

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Page 20: Arquitectura de Software, mucho más que un diagrama ...clemola/Ponencias/CECIC-UAAgs.pdf · salidas de otros procesos Producto: Resultado de un proceso ... Arquitecturas SW Referencias

LiteraturaLiteraturaFondo Mixto de Fomento a la Investigación Científica y TecnológiFondo Mixto de Fomento a la Investigación Científica y Tecnológica ca CONACYTCONACYT--Gobierno del Estado de Guanajuato Programa para el Gobierno del Estado de Guanajuato Programa para el desarrollo de la Industria de Softwaredesarrollo de la Industria de SoftwareBosch, J. Design and Use of Software Architectures. AddisonBosch, J. Design and Use of Software Architectures. Addison--Wesley. ACM Press. 2000Wesley. ACM Press. 2000Sharon A. White, CuauhtémocSharon A. White, Cuauhtémoc Lemus OlaldeLemus Olalde, ", "The Software The Software Architecture ProcessArchitecture Process", Proceedings of ASME", Proceedings of ASME--ETCE 97, The Energy ETCE 97, The Energy Engineering Symposium of Energy Week' 97, pp. 170Engineering Symposium of Energy Week' 97, pp. 170--175, Houston 175, Houston TX., Jan. 29 TX., Jan. 29 –– Feb 2, 1997.Feb 2, 1997.Software Engineering Institute (SEI-CMU) [COTS, Architecture, Reuse, Process, Product Lines]: www.sei.cmu.eduEncuesta de Herramientas de Proceso de Arquitectura de Software www.incose.org/tools/tooltaxs.htmlSoftware Reuse Tools: frakes.cs.vt.edu/reusetools.htmlReuse of Software Assets: www.dacs.dtic.mil/databases/url/key.hts?keycode=15

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Introducción

DesarrolloTradicional

Calidad del Software

Arquitecturas SW

Referencias

Page 21: Arquitectura de Software, mucho más que un diagrama ...clemola/Ponencias/CECIC-UAAgs.pdf · salidas de otros procesos Producto: Resultado de un proceso ... Arquitecturas SW Referencias

Preguntas?Preguntas?

Dr. Cuauhtémoc Lemus Olalde

[email protected]

www.cimat.mx/ingsoft

Marzo, 2004

Dr. Cuauhtémoc Lemus Olalde

[email protected]

www.cimat.mx/ingsoft

Marzo, 2004