• No se han encontrado resultados

Mejorando los Sistemas de Software con Patrones

N/A
N/A
Protected

Academic year: 2022

Share "Mejorando los Sistemas de Software con Patrones"

Copied!
22
0
0

Texto completo

(1)

Septiembre-1998 Jorge Martínez Carballido 1

Mejorando los Sistemas de Software con Patrones

Mejorando los Sistemas de Software con Patrones

Los patrones solución pueden mejorar la situación mundial del desarrollo de sistemas de software. Para mostrarlo ilustraremos con un par de ejemplos en el dominio de las matemáticas, que los patrones

solución son de utilidad para el software y

prácticamente para cualquier dominio del

(2)

Septiembre-1998 Jorge Martínez Carballido 3

Mejorando los Sistemas de Software con Patrones

¿Qué es un Sistema de Software?

Situación de los Sistemas de Software

Dificultades en los Sistemas de Software

Opciones de mejora

Patrones para la mejora

Ejemplos de patrones solución en matemáticas

Conclusiones

¿Qué es un Sistema de Software?



Es la realización de una solución sistémica a un problema con software.



El comportamiento resultante de la

interacción de los subsistemas es mayor

que la suma de sus comportamientos

individuales.

(3)

Septiembre-1998 Jorge Martínez Carballido 5

Situación de los

Sistemas de Software

Situación de los

Sistemas de Software

En general los proyectos de Sistemas de Software tienen las siguientes

características

Terminan un 70% (1995) y 71% en 1999 De estos, 84% (1995) y

64% (tiempo) en 1999 tienen desviaciones en :

Tiempo,

(4)

Septiembre-1998 Jorge Martínez Carballido 7

1999 Study on 8,000 Software Projects

Cancelled 29%

On-time 26%

late < 20%

6%

late < 50%

8%

late < 100%

9%

late< 200%

16%

late > 200%

6%

Cancelled On-time late < 20%

late < 50%

late < 100%

late< 200%

late > 200%

Situación de los

Sistemas de Software

En promedio terminan

„

2.5 veces del tiempo planeado

„

189% sobre lo presupuestado

Promedio

Presupuesto T

i

e

m

(5)

Septiembre-1998 Jorge Martínez Carballido 9

Situación de los

Sistemas de Software

En los Estados Unidos de Norteamérica 80,000 proyectos de software nunca han

terminado.

En 1995 el costo de los proyectos cancelados se estima en 81,000 millones de dólares

Dificultades de

los Sistemas de

Software

(6)

Septiembre-1998 Jorge Martínez Carballido 11

Dificultades de los Sistemas de Software



Requerimientos correctos no son garantía Yahoo tuvo que retrabajar sustancialmente su MyYahoo 3 veces antes de lanzarlo en 1997



En un proyecto en marcha,

agregar más gente generalmente no ahorra tiempo.

Dificultades de los Sistemas de Software



La rotación de personal es del 21%



Obsolescencia del conocimiento



En etapas iniciales no solo es difícil

estimar un proyecto, es teóricamente

imposible .

(7)

Septiembre-1998 Jorge Martínez Carballido 13

Dificultades de los Sistemas de Software

I n c e r t i d u m b r e

Tiempo

Análisis de Requerimientos

Diseño

Construcción

Integración y pruebas Mantenimiento

Dificultades de los Sistemas de Software

E s f u e r z o

Componente

Sistema con éxito

Sistema particular

(8)

Septiembre-1998 Jorge Martínez Carballido 15

Dificultades de los Sistemas de Software

Nadie forzaría a un constructor a rehacer un primer piso después de construir un

segundo, pero en la industria de software esto es práctica común.

Algunas Opciones de Mejora



Reconocer la naturaleza cambiante del proceso de desarrollo de software



Reuso de …



Procesos definidos



Procesos estables



Mejora continua de procesos



Abstracción para reducir complejidad

(9)

Septiembre-1998 Jorge Martínez Carballido 17

¿Qué es un Patrón?

Algo que ocurre (sucede) repetidamente

Patrón Forma

Patrón Forma

Un patrón es mucho más que un modelo. El patrón debe dejar

Claro el problema,

Resolver el problema, y

Establecer bajo qué circunstancias trabaja

¿Qué es un Patrón Solución?

(10)

Septiembre-1998 Jorge Martínez Carballido 19

Los problemas importantes que enfrentamos no pueden solucionarse con el mismo nivel de pensamiento que fueron creados. Albert Eistein

¿Soluciones?

Patrón Solución

Solución que ocurre repetidamente

Lo caracterizamos por su

Contexto,

Propósito,

Proceso,

Solución

(11)

Septiembre-1998 Jorge Martínez Carballido 21

Ejemplos de Patrón

Solución

Patrón Solución Pitágoras

Contexto: Se tiene un triángulo rectángulo para el cual solo conocemos los valores de dos de sus tres lados.

Propósito: Obtener una relación que permita

encontrar el tercer lado.

(12)

Septiembre-1998 Jorge Martínez Carballido 23

Proceso Pitágoras

Proceso Pitágoras

(13)

Septiembre-1998 Jorge Martínez Carballido 25

Proceso Pitágoras

Proceso Pitágoras

(14)

Septiembre-1998 Jorge Martínez Carballido 27

Proceso Pitágoras

b

2

b

2

2 b 2 a

(a-b)a

(a-b)b

(c –√2b)c

(c –√2b) √2b

Proceso Pitágoras

(15)

Septiembre-1998 Jorge Martínez Carballido 29

Patrón solución Pitágoras

„

Asumamos que las áreas son iguales

(c –√2b)c + (c –√2b) √2b (a-b)a + (a-b)b

c 2 = a 2 + b 2

∂z

∂x

∂z

y - x ∂y = 0

Patrón solución Ec. Diferencial Parcial de Primer Orden

Contexto: Los sistemas

representados por el modelo

en el dominio de los reales requieren

de solución.

(16)

Septiembre-1998 Jorge Martínez Carballido 31

∂z

∂x

∂z

y - x ∂y = 0

Patrón solución Ec. Diferencial Parcial de Primer Orden

Ampliando nuestro conocimiento del problema:

Interacciones del sistema están en

‘x’ e ‘y’ lo que nos dice que la libertad está en ‘z’

∂z

∂x

∂z

y - x ∂y = 0

Patrón solución Ec. Diferencial Parcial de Primer Orden

Ampliando nuestro conocimiento del problema: La solución debe tener

F(x)= y G(y)= ∂z

∂x

∂z

∂y

(17)

Septiembre-1998 Jorge Martínez Carballido 33

∂z

∂x

∂z

y - x ∂y = 0

Patrón solución Ec. Diferencial Parcial de Primer Orden

Ampliando nuestro conocimiento del problema:

yF(x) = xG(y)

F(x) = ax G(y) = ay

∂z

∂x

∂z

y - x ∂y = 0

Patrón solución Ec. Diferencial Parcial de Primer Orden

Z es función de x2

Z es función de y2

Z es función de x2 + y2

(18)

Septiembre-1998 Jorge Martínez Carballido 35

∂z

∂x

∂z

y - x ∂y = 0

Patrón Solución General

x2 + y2 + cA(z) = 0

Patrón solución particular

x2 + y2 + cA(z) = 0

x2 + y2 +(z-a) 2 –r 2 = 0

Una esfera

(19)

Septiembre-1998 Jorge Martínez Carballido 37

Patrón solución particular

x2 + y2 + cA(z) = 0

x2 + y2 +(z-a) 2 tan 2 α = 0

Un cono

∂z

∂x

∂z

y - x ∂y = 0

Patrón solución

El patrón extrae la escencia de la solución:

En este caso está formada por la integración de superficies

circulares en Z.

El radio de los círculos

(20)

Septiembre-1998 Jorge Martínez Carballido 39

∂z

∂x

∂z

y - x ∂y = 0

Patrón solución

Colaterales:

La diferencial es una abstracción.

La integral es una concretización.

Conclusiones

Los patrones son otro nivel de pensamiento.

Se reusan en la construcción de soluciones.

Amplían el conocimiento.

Dan una solución general que se

(21)

Septiembre-1998 Jorge Martínez Carballido 41

Conclusiones

Reducen la complejidad de los sistemas.

Reducen el tiempo de desarrollo.

Mejoran la flexibilidad de los sistemas.

Mejoran la fiabilidad de sistemas.

Extraen la esencia haciendo

soluciones menos dependientes del cambio.

Gracias por su atención!

¿Preguntas?

¿Comentarios?

¿Aclaraciones?

(22)

Septiembre-1998 Jorge Martínez Carballido 43

http://cseg.inaoep.mx/~jmc/PatronesSolucion_files/frame.htm

Referencias

Documento similar

No había pasado un día desde mi solemne entrada cuando, para que el recuerdo me sirviera de advertencia, alguien se encargó de decirme que sobre aquellas losas habían rodado

Después de una descripción muy rápida de la optimización así como los problemas en los sistemas de fabricación, se presenta la integración de dos herramientas existentes

Por lo tanto, en base a su perfil de eficacia y seguridad, ofatumumab debe considerarse una alternativa de tratamiento para pacientes con EMRR o EMSP con enfermedad activa

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la

Luis Miguel Utrera Navarrete ha presentado la relación de Bienes y Actividades siguientes para la legislatura de 2015-2019, según constan inscritos en el

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

El fenómeno del cuidado, emerge como necesidad la simbiosis entre el proceso de enfermería y su transcendencia en la investigación científica a través de la enfermería basada