Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una...

69
Universidad Veracruzana Facultad de Estadística e Informática Maestría en Ingeniería de Software

Transcript of Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una...

Page 1: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Universidad Veracruzana Facultad de Estadística e Informática

Maestría en Ingeniería de Software

Page 2: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Contenido

1.  Motivación 2.  Definición del Problema 3.  Aproximación al Problema 4.  Resultados 5.  Caso de Estudio 6.  Conclusiones 7.  Trabajo Futuro

2 Maestría en Ingeniería de Software

Page 3: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

MOTIVACIÓN

3 Maestría en Ingeniería de Software

Page 4: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Pocos sistemas son únicos

  Se desarrollan familias de productos similares diferenciados por algunas características.

  Se busca la reutilización de artefactos.

  Las estrategias tradicionales de reutilización de artefactos han tenido poco beneficio económico.

Maestría en Ingeniería de Software 4

Page 5: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Reutilización de artefactos

Subrutinas 1960

Módulos 1970

Objetos 1980

Componentes 1990

Servicios 2000

Maestría en Ingeniería de Software 5

Page 6: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Reutilización de artefactos (cont.)

Estrategia  de  

Negocio  

Estrategia  Técnica  

Reu3lización  Estratégica  

Maestría en Ingeniería de Software 6

Page 7: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Reutilización de artefactos (cont.) De Ad hoc a Sistemática

Maestría en Ingeniería de Software 7

Subrutinas 1960

Módulos 1970

Objetos 1980

Componentes 1990

Servicios 2000

Líneas de Productos

de Software

Page 8: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Líneas de Productos de Software

“Conjunto de software intensivo que comparte un conjunto administrado de características que satisfacen las necesidades específicas de un segmento de mercado o misión y que son desarrolladas a partir de un conjunto de activos esenciales de una forma preestablecida.”

Software Engineering Institute. A Framework for Software Product Line Practice.

Maestría en Ingeniería de Software 8

Page 9: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Líneas de Productos de Software (cont.) Las LPS amortizan la inversión de los siguientes artefactos:   Especificación de Requerimientos   Modelo de dominio   Arquitectura de Software   Documentación   Plan de pruebas, casos de prueba, datos de prueba

Maestría en Ingeniería de Software 9

Page 10: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Líneas de Productos de Software (cont.) Las LPS amortizan la inversión de los siguientes artefactos:   Personas: su conocimiento y habilidades   Procesos, métodos y herramientas   Presupuestos, calendarios y planes de trabajo   Componentes y servicios

Maestría en Ingeniería de Software 10

Page 11: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Líneas de Productos de Software

Líneas de productos = Reutilización estratégica

Maestría en Ingeniería de Software 11

Reu3lización  en  todo  el  ciclo  de  vida  

Mayor  Beneficio  

Page 12: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Beneficios organizacionales

  Ganancias en productividad   Disminución del “time to market”   Mayor calidad de los productos   Reducción de riesgos   Incremento en la satisfacción del cliente

Maestría en Ingeniería de Software 12

Page 13: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Beneficios organizacionales (cont.)

  Uso más eficiente de los recursos humanos   Personalización en masa   Mantener presencia en el mercado   Disminución de costos   Presencia en nuevos mercados

Clements, P. & Northrop, L. Software Product Lines: Practices and Patterns. Boston, MA: Addison-Wesley, 2002.

Maestría en Ingeniería de Software 13

Page 14: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Importancia de la arquitectura

•  Difíciles de cambiar •  Crítico que sean correctas •  Vehículo de comunicación

Decisiones de diseño tempranas

•  Desempeño •  Facilidad de modificación •  Fiabilidad •  Seguridad

Primer artefacto del diseño

•  Abstracción transferible y reutilizable Clave para la reutilización sistemática

Maestría en Ingeniería de Software 14

Page 15: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

La Arquitectura de una LPS

  Se espera que persista en la LPS

  Cambiará poco y lentamente

  Define el conjunto de componentes de los activos esenciales y sus artefactos de soporte (documentación y pruebas).

Maestría en Ingeniería de Software 15

Page 16: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Limitaciones de los componentes

  Divide y vencerás – Separación de intereses

  Idealmente los intereses deberían estar localizados en los componentes.

  Hay intereses que se mezclan en diferentes componentes (aspectos).

Maestría en Ingeniería de Software 16

Page 17: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Limitaciones de los componentes (cont.)   Tangling. La realización de un componente

satisface varios intereses.

  Scattering. La realización de un interés en particular se encuentra dispersa en diferentes componentes.

Maestría en Ingeniería de Software 17

Page 18: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Desarrollo Orientado a Aspectos

  Un nuevo tipo de modularización

  Mejor separación de intereses mezclados

  Se pueden identificar aspectos desde las primeras etapas

Maestría en Ingeniería de Software 18

Page 19: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Inclusión del DOA a las LPS

LPS   DOA   Mayor  calidad  

Maestría en Ingeniería de Software 19

Page 20: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Beneficios esperados

  Mejor separación de intereses

  Mayor facilidad de evolución

  Mayor reutilización

  Mejor comprensión

Maestría en Ingeniería de Software 20

Page 21: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

DEFINICIÓN DEL PROBLEMA

21 Maestría en Ingeniería de Software

Page 22: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Definición del Problema

  No existe un consenso acerca de la manera de documentar una ALPS ni una AOA. Como consecuencia:

NO existe una forma de describir una AOA de una LPS.

Maestría en Ingeniería de Software 22

Page 23: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Objetivos

  Desarrollar una estrategia para la documentación de AOALPS, que facilite su:

  Creación

  Evolución

 Derivación

Maestría en Ingeniería de Software 23

Page 24: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

APROXIMACIÓN

24 Maestría en Ingeniería de Software

Page 25: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Aproximación

  Se estudió las estrategias de documentación para:

 Arquitecturas de software

 Arquitecturas de LPS

 Arquitecturas orientadas a aspectos

Maestría en Ingeniería de Software 25

Page 26: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Aproximación (cont.)

  Se busco amalgamar las mejores prácticas, a juicio del autor, de las diferentes áreas en una propuesta coherente.

Maestría en Ingeniería de Software 26

Page 27: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Requisitos

R1. Utilizar las estrategias de documentación de arquitecturas, de documentación de arquitecturas orientadas a aspectos y de documentación de LPS existentes y de mayor aceptación.

R2. El lenguaje de modelado para la documentación debe ser de propósito general y basarse en UML 2.0.

Maestría en Ingeniería de Software 27

Page 28: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Requisitos (cont.)

  R3. Debe ser completa, es decir, debe soportar todas las abstracciones de cada concepto de DSOA y representar la variabilidad de la LPS.

  R4. Debe promover la simplicidad y evitar las extensiones innecesarias.

Maestría en Ingeniería de Software 28

Page 29: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

PROPUESTA

29 Maestría en Ingeniería de Software

Page 30: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Mejores prácticas

  “Documenting Software Architectures: Views and beyond” (Clements et al.)

  Modelo Ortogonal de Variabilidad (Pohl et al.)

  “Approach for Modeling Aspects in Architectural Views”. (Tekinerdogan et al.)

Maestría en Ingeniería de Software 30

Page 31: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Paquete de documentación

Maestría en Ingeniería de Software 31

Page 32: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Actividades

Maestría en Ingeniería de Software 32

Page 33: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Escoger vistas relevantes

1.  Producir una lista de vistas candidatas

2.  Combinar vistas

3.  Priorizar

Maestría en Ingeniería de Software 33

Page 34: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Plantilla para Documentación de Vistas Nombre de la vista

Sección 1. Presentación General Sección 1.1 Antecedentes Sección 1.2 Presentación Sección 1.3 Estilo arquitectónico

Sección 2. Catálogo de Elementos Sección 2.1 Elementos y sus propiedades Sección 2.2 Relaciones y sus propiedades Sección 2.3 Interfaces de los elementos Sección 2.4 Comportamiento de los elementos

Sección 3. Representación Gráfica Maestría en Ingeniería de Software 34

Page 35: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Plantilla (cont.) Sección 4. Guía de Variabilidad

Sección 5. Conflictos

Sección 6. Atributos de calidad Sección 6.1 Atributos mostrados y su descripción Sección 6.2 Importancia de los atributos mostrados

Sección 7. Información para diseño

Maestría en Ingeniería de Software 35

Page 36: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Plantilla para Documentación que aplica a más de una vista Sección 1. Introducción Sección 1.1 Propósito Sección 1.2 A quién va dirigido Sección 1.3 Información documentada Sección 1.4 Vistas y sus interesados Sección 1.5 Escenarios Sección 1.6 Organización del resto de la documentación Sección 1.7 Versión de la documentación

Sección 2. Plantilla para las vistas

Maestría en Ingeniería de Software 36

Page 37: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Plantilla (cont.) Sección 3. La línea de productos de software Sección 3.1 Función de la línea de productos de software Sección 3.2 Usuarios de la LPS Sección 3.3 Restricciones

Sección 4. Relaciones entre vistas

Sección 5. Decisiones que trastocan varias vistas

Sección 6. Aspectos

Sección 7. Atributos de calidad

Sección 8. Glosario

Maestría en Ingeniería de Software 37

Page 38: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Representación gráfica

  No se cuenta con ella.   Algunos problemas con UML.

Maestría en Ingeniería de Software 38

Page 39: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

UML

  Lenguaje gráfico para especificar, documentar y construir los artefactos que modelan el sistema.

  Es de propósito general.   Se puede extender por medio de perfiles.

Maestría en Ingeniería de Software 39

Page 40: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Perfiles

  Disponer una terminología y vocabulario propio de un dominio de aplicación.

  Definir una sintaxis para construcciones que no cuentan con una notación propia.

  Definir una nueva notación para símbolos ya existentes, más acorde con el dominio de la aplicación objetivo.

Maestría en Ingeniería de Software 40

Page 41: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Perfiles

  Añadir cierta semántica que no aparece determinada de forma precisa en el metamodelo.

  Añadir restricciones a la existentes en el metamodelo, restringiendo su forma de utilización.

  Añadir información que puede ser útil a la hora de transformar el modelo a otros modelos, o a código *

Maestría en Ingeniería de Software 41

Page 42: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Representación gráfica

  Basado en el metamodelo de UML 2.0

  El perfil incluye:   Elementos arquitectónicos

 Aspectos arquitectónicos

  Elementos arquitectónicos de una LPS

  Se soportan los estilos arquitectónicos más comunes

Maestría en Ingeniería de Software 42

Page 43: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Vistas de módulos

  ArchitecturalModule   ArchitecturalLayer   ArchitecturalVariant   ArchAspectualModule   ArchitecturalRelation

  uses   generalizes   decompose in   allowed to use

Maestría en Ingeniería de Software 43

Page 44: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Vistas de C&C

  ArchitecturalComponent   ComplexArchitecturalComponent   ArchitecturalComponentVariant   ArchAspectualComponent   ArchAspectualComponentVariant   ArchitecturalConnector   ArchitecturalConnectorVariant

Maestría en Ingeniería de Software 44

Page 45: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Algunos estilos arquitectónicos

  Filter   SharedDataRepository   Client   Server   Peer   ConcurrentUnit

  Pipe   DataReading   DataWriting   Invocation   Communication

Maestría en Ingeniería de Software 45

Page 46: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

CASO DE ESTUDIO

46 Maestría en Ingeniería de Software

Page 47: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Áncora-Soft

  LPS que da soporte a la metodología de análisis de requerimientos Áncora (Sumano López 2006).

  Productos enfocados a estudiantes, docentes y desarrolladores en general

Maestría en Ingeniería de Software 47

Page 48: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Áncora-Soft (cont.)

  Arquitectura de la LPS desarrollada con AOPLA (Cortés Verdín 2009).

  Se genera una arquitectura de referencia.

  No se considera información para el diseño.

Maestría en Ingeniería de Software 48

Page 49: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Vistas a documentar

Maestría en Ingeniería de Software 49

Vista Módulos   Vista C&C  

Vista Asignación  

Interesados   Des

com

posi

ción

 

Uso

s  

Gen

eral

izac

ión  

Cap

as  

Com

pone

ntes

y

Con

ecto

res  

Des

plie

gue  

Impl

emen

taci

ón  

Administración   G   G   N   G   G   D   N  

Desarrolladores   D   D   G   D   D   G   D  

Probadores e integradores  

N   D   N   D   D   G   N  

Arquitecto de software  

D   D   D   D   D   D   D  

Mercadotecnia   G   N   N   N   N   G   N  

Usuarios Finales   N   N   N   N   N   G   N  

Clave: N – Ninguna información, G – Información General y D – Información detallada

Page 50: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Vistas a documentar

Maestría en Ingeniería de Software 50

Vista Módulos   Vista C&C  

Vista Asignación  

Interesados   Des

com

posi

ción

 

Uso

s  

Gen

eral

izac

ión  

Cap

as  

Com

pone

ntes

y

Con

ecto

res  

Des

plie

gue  

Impl

emen

taci

ón  

Administración   G   G   N   G   G   D   N  

Desarrolladores   D   D   G   D   D   G   D  

Probadores e integradores  

N   D   N   D   D   G   N  

Arquitecto de software  

D   D   D   D   D   D   D  

Mercadotecnia   G   N   N   N   N   G   N  

Usuarios Finales   N   N   N   N   N   G   N  

Clave: N – Ninguna información, G – Información General y D – Información detallada

Page 51: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Maestría en Ingeniería de Software 51

Page 52: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Maestría en Ingeniería de Software 52

Page 53: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Maestría en Ingeniería de Software 53

Page 54: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Maestría en Ingeniería de Software 54

Page 55: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Lecciones aprendidas

  En el caso de la vista de Descomposición se muestran más claramente los puntos de variación y las variantes por lo que debería ser uno de los artefactos principales para la derivación de los productos de la LPS.

Maestría en Ingeniería de Software 55

Page 56: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Lecciones aprendidas (cont.)

  Los módulos arquitectónicos aspectuales se muestran totalmente identificados así como sus relaciones. Esto resulta de gran utilidad al momento de realizar una evaluación de una arquitectura orientada a aspectos.

Maestría en Ingeniería de Software 56

Page 57: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Lecciones aprendidas (cont.)

  En la vista de Usos se muestra claramente que módulos arquitectónicos interactúan con los módulos arquitectónicos aspectuales. Este podría ser un indicador de que porcentaje del código de la aplicación final estaría entrelazado o disperso en caso de no utilizar la DOA.

Maestría en Ingeniería de Software 57

Page 58: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Lecciones aprendidas (cont.)

  Aunque no es parte de un estándar, la utilización de colores en los diferentes diagramas para distinguir diferentes elementos hace a los diagramas mucho más legibles y se pueden ubicar los elementos más fácilmente.

Maestría en Ingeniería de Software 58

Page 59: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Lecciones aprendidas (cont.)

  La manera en que se documenten los atributos de calidad tendrá una gran variación ya que se espera que la metodología con la que se diseñe la AOALPS contenga un modelo de calidad.

Maestría en Ingeniería de Software 59

Page 60: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

CONCLUSIONES

60 Maestría en Ingeniería de Software

Page 61: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Conclusiones

  La documentación de la AOALPS es vital para el éxito de la LPS.

  Se identificaron los requisitos que debe cumplir una Documentación de AOALPS.

  Se propusieron dos artefactos:

 Una estrategia para la documentación  Un perfil UML

Maestría en Ingeniería de Software 61

Page 62: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Ventajas

  Simple: Fácil de comprender y realizar. Facilita la actualización

  Curva de aprendizaje poco pronunciada.

  Conformidad con el estándar IEEE 1471

Maestría en Ingeniería de Software - UV

62

Page 63: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Desventajas

  Se depende de un modelo de calidad externo para documentar las decisiones arquitectónicas

  Se necesita que la propuesta sea utilizada en más proyectos

Maestría en Ingeniería de Software 63

Page 64: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

TRABAJO FUTURO

64 Maestría en Ingeniería de Software

Page 65: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Trabajo futuro

  Exploración del tema desde un punto de vista formal – validación y verificación rigurosa.

  Inclusión de vistas diferentes a las propuestas debido a condiciones especiales.

  Una mejor representación gráfica de los elementos arquitectónicos.

Maestría en Ingeniería de Software 65

Page 66: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Trabajo futuro

  Comprobar con más casos de prueba y trabajo práctico.

  Probar en que medida la presente propuesta facilita la evaluación de una AOALPS.

  Explorar la trazabilidad de la AOALPS a largo de todas las etapas de desarrollo.

  Documentación gráfica de decisiones de diseño y requisitos no funcionales. (Zhu y Gorton)

Maestría en Ingeniería de Software 66

Page 67: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Decisiones de diseño y RNF

Maestría en Ingeniería de Software 67

Page 68: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

Maestría en Ingeniería de Software 68

Page 69: Universidad Veracruzana · 2014-04-04 · Líneas de Productos de Software . ... Disponer una terminología y vocabulario propio de un dominio de aplicación. Definir una sintaxis

SECCIÓN DE PREGUNTAS Y RESPUESTAS

Gracias por su atención.

[email protected]

69 Maestría en Ingeniería de Software