Dra Perla Velasco

Post on 25-Apr-2015

41 views 1 download

Transcript of Dra Perla Velasco

1/14

“Los sistemas de software se construyen para satisfacer

objetivos de negocio”*

*The Software Engineering Institute (SEI).

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.

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)

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.

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 …

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

de Negocio de las Organizaciones

Perla Velasco Elizondo pvelasco@cimat.mx

7/14

Contenido

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

Estos procesos, yo … y mis colegas

Conclusión

8/14

Contenido

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

Estos procesos, yo … y mis colegas

Conclusión

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.

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.

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.

12/14

Contenido

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

Estos procesos, yo … y mis colegas

Conclusión

13/14

Diseño de Arquitectura

Drivers de la Arquitectura

Arquitecto de SoftwareArquitectura de Software

utiliza

produce

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

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

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.

17/14

Atributos de Calidad

Dos posibles soluciones a un mismo requerimiento

La funcionalidad es la mismaLas características de calidad no

18/14

Atributos de Calidad

Ejemplos

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

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 …

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).

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

22/14

Contenido

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

Estos procesos, yo … y mis colegas

Conclusión

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

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. 

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

26/14

Atributos de Calidad

El sistema debe tener

alto desempeño

1 secs1 secs

5 secs5 secs3 secs3 secs

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

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

29/14

ADD

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

para el diseño arquitecturabasado centrado en atributos de calidad

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

31/14

Contenido

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

Estos procesos, yo … y mis colegas

Conclusión

32/14

Estos procesos, yo… y mis colegas

Diseño de Arquitecturas

Nuestro trabajo reciente es sobre:

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

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”

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)

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.

37/14

Estos procesos, yo… y mis colegas

Con Humberto Cervantes (UAM):

“Tools to support pattern selection during architectural design”

38/14

Contenido

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

Estos procesos, yo … y mis colegas

Conclusión

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.

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.

PreguntasComentariosPerla Velasco Elizondo pvelasco@cimat.mx