Dra Perla Velasco

41
1/14 “Los sistemas de software se construyen para satisfacer objetivos de negocio” * *The Software Engineering Institute (SEI).

Transcript of Dra Perla Velasco

Page 1: Dra Perla Velasco

1/14

“Los sistemas de software se construyen para satisfacer

objetivos de negocio”*

*The Software Engineering Institute (SEI).

Page 2: Dra Perla Velasco

2/14

Objetivos de Negocio

Ejemplos

• Incursionar a nuevos mercados Vender sus productos en 5 nuevos países en 6 meses.• Aumentar satisfacción de clientes Reducir tiempo de atención de clientes de 10 a 2 min.• Reducir gastos de desarrollo Reutilizar x% de LOC en sistemas que se desarrollan.

• Mejorar la calidad de los sistemasReducir la densidad de defectos de liberación a x defectos/LOC.

Page 3: Dra Perla Velasco

3/14

“La arquitectura de software es el puente entre los objetivos de negocio del sistema y el sistema mismo”*

*The Software Engineering Institute (SEI)

Page 4: Dra Perla Velasco

4/14

Arquitectura de Software

La Arquitectura de Software tiene que ver con la estructuración de alto nivel de un sistema (complejo) en etapas tempranas de su desarrollo.

Esto no es exclusivo al software, se realiza en todo sistema complejo.

Page 5: Dra Perla Velasco

5/14

Arquitectura de Software

Todo sistema de software tiene una arquitectura; el arquitecto de software es el responsable de su creación.

Sin embargo, si dicha arquitectura no ha sido creada de una forma sistemática …

Page 6: Dra Perla Velasco

Procesos Arquitectura de Software y su Impacto en la Satisfacción de los Objetivos

de Negocio de las Organizaciones

Perla Velasco Elizondo [email protected]

Page 7: Dra Perla Velasco

7/14

Contenido

Procesos de Arquitectura de SoftwareDrivers de la Arquitectura –Atributos de CalidadPALM, QAW, ADD

Estos procesos, yo … y mis colegas

Conclusión

Page 8: Dra Perla Velasco

8/14

Contenido

Procesos de Arquitectura de SoftwareDrivers de la Arquitectura –Atributos de CalidadPALM, QAW, ADD

Estos procesos, yo … y mis colegas

Conclusión

Page 9: Dra Perla Velasco

9/14

Procesos de Arquitectura de Software

La creación de la arquitectura de software es una tarea importante … y complicada.

Si una tarea es importante y complicada, una práctica común en muchas áreas es tratar “formalizar” su proceso para promover su predictibilidad, repetitividad y la calidad de sus salidas.

Page 10: Dra Perla Velasco

10/14

Procesos de Arquitectura de Software

Documentación de Arquitecturas

Identificación de Drivers de la Arquitectura

Evaluación de Arquitecturas 

Diseño de Arquitecturas

Varias procesos de arquitectura relacionados con:

han sido “formalizados” por el SEI, y otras partes, en varios métodos.

Page 11: Dra Perla Velasco

11/14

Procesos de Arquitectura de Software

Documentación de Arquitecturas

Identificación de Drivers de la Arquitectura

Evaluación de Arquitecturas 

Diseño de Arquitecturas

Varios procesos de arquitectura relacionados con:

han sido “formalizados” por el SEI, y otras partes, en varios métodos.

Page 12: Dra Perla Velasco

12/14

Contenido

Procesos de Arquitectura de SoftwareDrivers de la Arquitectura –Atributos de CalidadPALM, QAW, ADD

Estos procesos, yo … y mis colegas

Conclusión

Page 13: Dra Perla Velasco

13/14

Diseño de Arquitectura

Drivers de la Arquitectura

Arquitecto de SoftwareArquitectura de Software

utiliza

produce

Page 14: Dra Perla Velasco

14/14

Drivers de la Arquitectura

Son un sub-conjunto de los requerimientos que se deben tomar en cuenta al momento de establecer la estructuración del sistema.

Existen 3 categorías:1. Atributos de calidad2. Requerimientos funcionales primarios3. Restricciones

Page 15: Dra Perla Velasco

15/14

Drivers de la Arquitectura

Son un sub-conjunto de los requerimientos que se deben tomar en cuenta al momento de establecer la estructuración del sistema.

Existen 3 categorías:1. Atributos de calidad2. Requerimientos funcionales primarios3. Restricciones

Page 16: Dra Perla Velasco

16/14

Atributos de Calidad

Son características que permitenestablecer un conceptofrecuentemente subjetivo (la calidad), de forma objetiva.

La calidad se debe acordar con el cliente a través de una serie de características medibles.

Page 17: Dra Perla Velasco

17/14

Atributos de Calidad

Dos posibles soluciones a un mismo requerimiento

La funcionalidad es la mismaLas características de calidad no

Page 18: Dra Perla Velasco

18/14

Atributos de Calidad

Ejemplos

• Desempeño • Seguridad• Confiabilidad• Modificabilidad• Usabilidad• …

Page 19: Dra Perla Velasco

19/14

Atributos de Calidad

En teoría, a partir de los objetivos de negocio, podemos preguntarnos qué atributos de calidad serían convenientes para ayudar a lograr dichos objetivos de negocio …

Page 20: Dra Perla Velasco

20/14

Atributos de Calidad

Ejemplo:

El objetivo de “internacionalización” de una empresa que vende un producto puede soportarse mediante el desarrollo de un sistema que permita la compra en línea de dicho producto a través de un portal, así como también mediante la facilidad que se tenga para adaptar el sistema a diferentes idiomas, navegadores web y dispositivos móviles (modificabilidad).

Page 21: Dra Perla Velasco

21/14

Atributos de Calidad

En la práctica, sin embargo, hay aspectos que complican la identificación, especificación y priorización de atributos de calidad:

- Falta (de claridad) de objetivos de negocio…

- Falta (de claridad) de los atributos de calidad

Page 22: Dra Perla Velasco

22/14

Contenido

Procesos de Arquitectura de SoftwareDrivers de la Arquitectura –Atributos de CalidadPALM, QAW, ADD

Estos procesos, yo … y mis colegas

Conclusión

Page 23: Dra Perla Velasco

23/14

PALM

- Pedigreed Attribute eLicitation Method - Identificación y especificación de objetivos

de negocio en términos de atributos de calidad

Categorías de Objetivos de Negocio

Escenarios de Objetivos de Negocio

#1

#2

#n

Escenarios de Objetivos de Negocio Priorizados

Page 24: Dra Perla Velasco

24/14

PALM

Categorías de Atributos de Calidad

DesempeñoSeguridad

Usabildad…

#1

#2

#n

Escenarios de Objetivos de Negocio Priorizados

#1

#n

- Pedigreed Attribute eLicitation Method - Identificación y especificación de objetivos

de negocio en términos de atributos de calidad

Paul Clements and Len Bass. 2010. Using Business Goals to Inform a Software Architecture. In Proceedings of the 2010 18th IEEE 

International Requirements Engineering Conference (RE '10). IEEE Computer Society, Washington, DC, USA, 69‐78. 

Page 25: Dra Perla Velasco

25/14

PALM

Categorías de Atributos de Calidad

DesempeñoSeguridad

Usabildad…

#1

#2

#n

Escenarios de Atributos de Calidad Priorizados

#1

#n

- Pedigreed Attribute eLicitation Method - Identificación y especificación de objetivos

de negocio en términos de atributos de calidad

Page 26: Dra Perla Velasco

26/14

Atributos de Calidad

El sistema debe tener

alto desempeño

1 secs1 secs

5 secs5 secs3 secs3 secs

Page 27: Dra Perla Velasco

27/14

QAW- Quality Attribute Workshop- Especificación y Priorización de Atributos de

Calidad

Categorías de Atributos de Calidad

Escenarios de Atributos de Calidad

#1

#2

#n

Escenarios de Atributos de Calidad Priorizados

Page 28: Dra Perla Velasco

28/14

QAW

Escenario de Desempeño“Un usuario realiza una consulta al catálogo de productos en un momento normal de operación del sistema. El sistema muestra el resultado de la consulta en un tiempo no mayor a 3 segundos”

http://www.sei.cmu.edu/library/abstracts/reports/03tr016.cfm

Page 29: Dra Perla Velasco

29/14

ADD

- Attribute-Driven Design- Método iterativo e imcremental

para el diseño arquitecturabasado centrado en atributos de calidad

Page 30: Dra Perla Velasco

30/14

ADD

Drivers de la Arquitectura

Arquitecto de SoftwareArquitectura de Software

Patrones Tácticas

Conceptos de Diseñohttp://www.sei.cmu.edu/library/abstracts/reports/

06tr023.cfm

Varias iteraciones

Page 31: Dra Perla Velasco

31/14

Contenido

Procesos de Arquitectura de SoftwareDrivers de la Arquitectura –Atributos de CalidadPALM, QAW, ADD

Estos procesos, yo … y mis colegas

Conclusión

Page 32: Dra Perla Velasco

32/14

Estos procesos, yo… y mis colegas

Diseño de Arquitecturas

Nuestro trabajo reciente es sobre:

Page 33: Dra Perla Velasco

33/14

ADD

Drivers de la Arquitectura

Arquitecto de SoftwareArquitectura de Software

Patrones Tácticas

Conceptos de Diseño

Diseño muy “teorico”;  el arquitecto no sabe como 

mapearlo a las tecnologías que usa en 

su trabajo diario

Page 34: Dra Perla Velasco

34/14

Estos procesos, yo… y mis colegas

Con Humberto Cervantes (UAM) y Rick Kazman (University of Hawaii-SEI):

“A Principled Approach of Using Frameworks in Architectural Design”

Page 35: Dra Perla Velasco

35/14

Estos procesos, yo… y mis colegas

a. Piloteamos el método en la Escuela de Verano en Ingeniería de Software (julio pasado)

b. El método es parte de nuestro Libro de Arquitectura de Software (esperamos salga al mercado en 2013)

Page 36: Dra Perla Velasco

36/14

ADD

Drivers de la Arquitectura

Arquitecto de SoftwareArquitectura de Software

PatronesTácticas

Hay cientos de patrones y tácticas actualmente!

La selección es costosa en tiempo.

Page 37: Dra Perla Velasco

37/14

Estos procesos, yo… y mis colegas

Con Humberto Cervantes (UAM):

“Tools to support pattern selection during architectural design”

Page 38: Dra Perla Velasco

38/14

Contenido

Procesos de Arquitectura de SoftwareDrivers de la Arquitectura –Atributos de CalidadPALM, QAW, ADD

Estos procesos, yo … y mis colegas

Conclusión

Page 39: Dra Perla Velasco

39/14

Conclusión

Si una tarea es importante y complicada, una práctica común en muchas áreas es “formalizar” su proceso para promover su predictibilidad, repetitividad y la calidad de sus salidas.

Page 40: Dra Perla Velasco

40/14

Conclusión

Actualmente existen varios métodos que formalizan procesos relacionados con sus tareas relevantes a la creación de arquitecturas de software

Muchos de estos procesos han sido utilizados en la academia e industria y se han observado buenos resultados.

Page 41: Dra Perla Velasco

PreguntasComentariosPerla Velasco Elizondo [email protected]