calidad y reutilización de software - cimat

29
Calidad y Reutilización de Software Dr. Cuauhtémoc Lemus Olalde Centro de Investigación en Matemáticas (CIMAT) Febrero, 2003 IV Ciclo de Conferencias Sistemas de Cara al Futuro

Upload: others

Post on 18-Oct-2021

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Calidad y Reutilización de Software - CIMAT

Calidad y Reutilización de Software

Dr. Cuauhtémoc Lemus Olalde

Centro de Investigación en Matemáticas

(CIMAT)

Febrero, 2003

IV Ciclo de

Conferencias

Sistemasde

Caraal

Futuro

Page 2: Calidad y Reutilización de Software - CIMAT

CalidadCalidad

Conjunto de cualidades (etimología Conjunto de cualidades (etimología similar) de una persona ó cosasimilar) de una persona ó cosa–– Lo que hace que una persona o cosa sea lo Lo que hace que una persona o cosa sea lo

que esque es–– Propiedad, carácterPropiedad, carácter–– Atributo, don, virtud, modalidadAtributo, don, virtud, modalidad

Superioridad, excelencia de alguna Superioridad, excelencia de alguna cosacosaImportanciaImportanciaCalificaciónCalificación–– Calidad de vidaCalidad de vida–– Calidad de la educaciónCalidad de la educación–– Calidad del servicioCalidad del servicio

Educación de los hijosEducación de los hijos

Introducción

Que es una AS?

Ejemplos de AS

AS enDesarrollo SW

Proceso de AS

Conclusiones

IngSoft

Referencias

Page 3: Calidad y Reutilización de Software - CIMAT

ReutilizaciónReutilización

Acción de volver a emplear Acción de volver a emplear útilmente (una persona o útilmente (una persona o cosa).cosa).

Uso repetido de un recurso.Uso repetido de un recurso.–– Reutilización de Software: Uso Reutilización de Software: Uso

repetido de productos, repetido de productos, procesos, conocimiento, etc.procesos, conocimiento, etc.

Introducción

Que es una AS?

Ejemplos de AS

AS enDesarrollo SW

Proceso de AS

Conclusiones

IngSoft

Referencias

Page 4: Calidad y Reutilización de Software - CIMAT

HistoriaHistoria

60’s: Reutilización de software 60’s: Reutilización de software existente a través de components existente a través de components (McIlroy, 1969)(McIlroy, 1969)

70’s: Programación en base a 70’s: Programación en base a módulos (tal cual)módulos (tal cual)–– Readaptación de módulos se tenía Readaptación de módulos se tenía

que editar códigoque editar código

–– Importar componente y cambiar Importar componente y cambiar aspectos no compatibles con el aspectos no compatibles con el sistemasistema

Introducción

Que es una AS?

Ejemplos de AS

AS enDesarrollo SW

Proceso de AS

Conclusiones

IngSoft

Referencias

Page 5: Calidad y Reutilización de Software - CIMAT

HistoriaHistoria

80’s: Lenguajes OO 80’s: Lenguajes OO –– Aumento en la reutilización a través Aumento en la reutilización a través

de adaptación de código por de adaptación de código por herenciaherencia

90’s: 90’s: –– Arquitecturas de SoftwareArquitecturas de Software

–– Líneas de ProductosLíneas de Productos

–– Componentes ReutilizablesComponentes Reutilizables

Introducción

Que es una AS?

Ejemplos de AS

AS enDesarrollo SW

Proceso de AS

Conclusiones

IngSoft

Referencias

Page 6: Calidad y Reutilización de Software - CIMAT

Que se esta haciendo en Que se esta haciendo en Calidad del Software?Calidad del Software?

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

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

Desarrollo de Software con base Desarrollo de Software con base en Arquitectura de Softwareen Arquitectura de Software

Introducción

Que es una AS?

Ejemplos de AS

AS enDesarrollo SW

Proceso de AS

Conclusiones

IngSoft

Referencias

Page 7: Calidad y Reutilización de Software - CIMAT

Introducción

Que es una AS?

Ejemplos de AS

AS enDesarrollo SW

Proceso de AS

Conclusiones

IngSoft

Referencias

Desarrollo TradicionalDesarrollo Tradicional

Requerimientos

Diseño

Codificación e Integración

Prueba y Aceptación

Mantenimiento

Page 8: Calidad y Reutilización de Software - CIMAT

CaracterizaciónCaracterización

Desarrollo de Software– Un sistema a la vez

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

– Evolución de sistema no es considerado

Objetivos (McIlroy 69)– Reducir costo

– Mejorar calidad producto

– Tiempo de entrega (time-to-market)

– Reducir costos de Mantenimiento

Introducción

Que es una AS?

Ejemplos de AS

AS enDesarrollo SW

Proceso de AS

Conclusiones

IngSoft

Referencias

Page 9: Calidad y Reutilización de Software - CIMAT

AS en Desarrollo de SoftwareAS en Desarrollo de Software

Requerimientos

Diseño

Codificación e Integración

Prueba y Aceptación

ProcesoAS

Mantenimiento

Introducción

Que es una AS?

Ejemplos de AS

AS enDesarrollo SW

Proceso de AS

Conclusiones

IngSoft

Referencias

Page 10: Calidad y Reutilización de Software - CIMAT

Definición (Definición (Bass 98)

La arquitectura de software de un programa ó de un sistema computacional es la estructura del sistema, queabarca componentes de software, las característicasexternamente visibles de esos componentes, y lasrelaciones entre ellas.

Introducción

Que es una AS?

Ejemplos de AS

AS enDesarrollo SW

Proceso de AS

Conclusiones

IngSoft

Referencias

Page 11: Calidad y Reutilización de Software - CIMAT

Conocidos…Conocidos…

Pipe and Filter

Organización por Capas

Arquitectura de 3 niveles

Introducción

Que es una AS?

Ejemplos de AS

AS enDesarrollo SW

Proceso de AS

Conclusiones

IngSoft

Referencias

Page 12: Calidad y Reutilización de Software - CIMAT

PipePipe andand FilterFilter

Tokens Sintáxis Código

Pipes

Filters

Introducción

Que es una AS?

Ejemplos de AS

AS enDesarrollo SW

Proceso de AS

Conclusiones

IngSoft

Referencias

Page 13: Calidad y Reutilización de Software - CIMAT

Análisis: Análisis: PipePipe andand FilterFilter

Ejecución concurrente

Facilidad de Mantenimiento

Soporte de Reutilización

No soporta aplicaciones interactivas ( Base de Datos)

El Filtro más lento dicta la operación global del sistema

Introducción

Que es una AS?

Ejemplos de AS

AS enDesarrollo SW

Proceso de AS

Conclusiones

IngSoft

Referencias

Page 14: Calidad y Reutilización de Software - CIMAT

CapasCapas

Núcleo

Utilerías

Usuarios

Introducción

Que es una AS?

Ejemplos de AS

AS enDesarrollo SW

Proceso de AS

Conclusiones

IngSoft

Referencias

Page 15: Calidad y Reutilización de Software - CIMAT

Análisis: Capas Análisis: Capas

Portabilidad

Reduce complejidad del Sistema

Fácil de Mantener

No todos los sistemas se pueden representar por medio de capas

Introducción

Que es una AS?

Ejemplos de AS

AS enDesarrollo SW

Proceso de AS

Conclusiones

IngSoft

Referencias

Page 16: Calidad y Reutilización de Software - CIMAT

DATOS

LOGICANEGOCIO

PRESENTACION

Arquitectura de 3 NivelesArquitectura de 3 NivelesIntroducción

Que es una AS?

Ejemplos de AS

AS enDesarrollo SW

Proceso de AS

Conclusiones

IngSoft

Referencias

Base de DatosRelacional

EJBs, Servlets

JSPs

Page 17: Calidad y Reutilización de Software - CIMAT

Análisis: 3 NivelesAnálisis: 3 Niveles

Cada nivel puede correr en una maquina diferente ó en ambiente multiprocesamiento, mejorando desempeño.

Eficiente distribución de la aplicación.

Promueve crecimiento.

Introducción

Que es una AS?

Ejemplos de AS

AS enDesarrollo SW

Proceso de AS

Conclusiones

IngSoft

Referencias

Page 18: Calidad y Reutilización de Software - CIMAT

AS en Desarrollo de SoftwareAS en Desarrollo de Software

Requerimientos

Diseño

Codificación e Integración

Prueba y Aceptación

ProcesoAS

Mantenimiento

AS en Desarrollo de SoftwareAS en Desarrollo de Software

Requerimientos

Diseño

Codificación e Integración

Prueba y Aceptación

ProcesoAS

Mantenimiento

Introducción

Que es una AS?

Ejemplos de AS

AS enDesarrollo SW

Proceso de AS

Conclusiones

IngSoft

Referencias

Page 19: Calidad y Reutilización de Software - CIMAT

ImportanciaImportancia

Medio de comunicación entre programadores, arquitectos, clientes usuarios, etc.

Decisiones de desempeño, seguridad, mantenimiento, costos, etc.

Promueve reutilización.

Introducción

Que es una AS?

Ejemplos de AS

AS enDesarrollo SW

Proceso de AS

Conclusiones

IngSoft

Referencias

Page 20: Calidad y Reutilización de Software - CIMAT

ImpactoImpacto

Arquitectura del Sistema es la base en la toma de decisiones de diseño.

La arquitectura deberá de satisfacer todos los requerimientos funcionales y no funcionales (calidad), así como anticipar los cambios de requerimientos y crecimientos.

Detección de oportunidades de reutilización para: reducir costos (inversión, mantenimiento), mejorar calidad, mejorar tiempo de entrega (time-to-market).

Introducción

Que es una AS?

Ejemplos de AS

AS enDesarrollo SW

Proceso de AS

Conclusiones

IngSoft

Referencias

Page 21: Calidad y Reutilización de Software - CIMAT

Proceso de ArquitecturaProceso de ArquitecturaIntroducción

Que es una AS?

Ejemplos de AS

AS enDesarrollo SW

Proceso de AS

Conclusiones

IngSoft

Referencias

Clientes Mercadotecnia Ingeniería

Requerimientos

Selección

Procesode AS

Producto

Completo?Implementación

Page 22: Calidad y Reutilización de Software - CIMAT

Proceso de ArquitecturaProceso de Arquitectura(Reverse (Reverse EngineeringEngineering))

SistemaActual

ArquitecturaSistema

ArquitecturaDominio

NuevoDiseño

Librería de ComponentesReutilizables

Extracción

Generalización

Reutilización

Introducción

Que es una AS?

Ejemplos de AS

AS enDesarrollo SW

Proceso de AS

Conclusiones

IngSoft

Referencias

Page 23: Calidad y Reutilización de Software - CIMAT

Proceso de ArquitecturaProceso de Arquitectura((ForwardForward EngineeringEngineering))

Introducción

Que es una AS?

Ejemplos de AS

AS enDesarrollo SW

Proceso de AS

Conclusiones

IngSoft

Referencias

DiseñoFuncional

Especificaciones de Requerimientos

Arquitecturade Aplicación

Estimar Atributosde Calidad

TransformarArquitectura

Soluciones deOptimización

QAArquitectura del Sistema

Page 24: Calidad y Reutilización de Software - CIMAT

Introducción

Que es una AS?

Ejemplos de AS

AS enDesarrollo SW

Proceso de AS

Conclusiones

IngSoft

Referencias

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.

Proceso de ArquitecturaProceso de Arquitectura

Page 25: Calidad y Reutilización de Software - CIMAT

Introducción

Que es una AS?

Ejemplos de AS

AS enDesarrollo SW

Proceso de AS

Conclusiones

IngSoft

Referencias

El proceso de desarrollo de El proceso de desarrollo de componentescomponentes

Diseño de la Arquitectura

Análisis deVariabilidad

Diseño deComponentes

Implementación deComponentes

Restricciones yReglas

CódigoLegado

Requerimientosde

Componentes

Page 26: Calidad y Reutilización de Software - CIMAT

Grupo de Ingeniería de SoftwareGrupo de Ingeniería de Softwarewww.cimat.mxwww.cimat.mx//ingsoftingsoft

Proyecto ProCIS (Promoviendo Calidad en la Industria del Software)

– Cultura de Calidad: Universidades e Industria (PSP, TSP)

– InvestigaciónArquitecturas de Software (Líneas de Productos)Proceso de IS (CMMi, SPICE, PSP, TSP, Seis-Sigma Software)

– Maestría en Ingeniería de Software (MIS)

Introducción

Que es una AS?

Ejemplos de AS

AS enDesarrollo SW

Proceso de AS

Conclusiones

IngSoft

Referencias

Page 27: Calidad y Reutilización de Software - CIMAT

LiteraturaLiteraturaBosch, J. Design and Use of Software Architectures. Addison-Wesley. ACM Press. 2000Bass, L.; Clements, P.; Kazman, R.

Software Archictecture in Practice. Reading, MA: Addison-Wesley, 1998.McIlroy, M. D. Mass Produced Software Components. Software Engineering Report on a Conference Sponsored by the NATO Science Committee.

Introducción

Que es una AS?

Ejemplos de AS

AS enDesarrollo SW

Proceso de AS

Conclusiones

IngSoft

Referencias

Page 28: Calidad y Reutilización de Software - CIMAT

Fondo Mixto de Fomento a la Investigación Fondo Mixto de Fomento a la Investigación Científica y Tecnológica Científica y Tecnológica CONACYTCONACYT--Gobierno del Gobierno del Estado de Guanajuato Estado de Guanajuato Programa para el desarrollo Programa para el desarrollo de la Industria de Software de la Industria de Software httphttp://://www.conacyt.mxwww.conacyt.mx/fondos//fondos/guanajuatoguanajuato/guanajuat/guanajuato2002o2002--01.01.htmlhtml

Software Engineering Institute (SEI-CMU) [COTS, Architecture, Reuse, Process, Product Lines]: www.sei.cmu.edu

Encuesta de Herramientas de Proceso de Arquitectura de Software http://www.incose.org/tools/tooltaxs.html

Software Reuse Tools: http://frakes.cs.vt.edu/reusetools.html

Reuse of Software Assets: http://www.dacs.dtic.mil/databases/url/key.hts?keycode=15

InternetInternetIntroducción

Que es una AS?

Ejemplos de AS

AS enDesarrollo SW

Proceso de AS

Conclusiones

IngSoft

Referencias

Page 29: Calidad y Reutilización de Software - CIMAT

Preguntas?Preguntas?

Dr. Cuauhtémoc Lemus Olalde

[email protected]

www.cimat.mx/ingsoft

Febrero, 2003