Professional Documents
Culture Documents
Assets
Caracterizacin de los assets Tipos de assets
Qu se reutiliza? Cmo?
Beneficios de la reutilizacin
La reutilizacin es la nica aproximacin realista para llegar a los ndices de productividad y calidad que la industria del sw. necesita (Mili et al. 95).
Mejora de la productividad:
Disminucin tiempo de desarrollo:
mejor adaptacin requisitos cambiantes Los requisitos no son estables!
Disminucin de costes
(estructurados)
Assets
Se puede reutilizar mucho ms que cdigo fuente:
beneficios mayores al reutilizar diseos y documentacin asociada al cdigo fuente reutilizable.
Subsistemas:
Descriptor:
implementar el mecanismo de clasificacin.
Cualificacin:
mtricas de calidad
Complejidad Cohesin Acoplamiento
Administrativo:
autores, accesos, etc.
Tcnico:
herramienta, formato, etc.
Documentacin. Pruebas.
Niveles de reutilizacin
de cdigo
libreras de funciones, editores, inclusin de ficheros, mecanismos de herencia en POO, componentes, etc.
de diseos
no volver a inventar arquitecturas
p.ej. patrones de diseo p.ej. patrones arquitectnicos (C/S, pipeline, OO, etc.)
de especificaciones
reutilizacin de las abstracciones del dominio debe estar asociada a la generacin (semi)automtica de los elementos de diseo e implementacin.
Cdigo fuente. Documentacin de usuario y tcnica. Interfaces hombremquina. Datos. Casos de prueba.
Anlisis de sistemas
Especificacin y diseo
Especificaciones de sistemas
Ingeniera de dominios
Objetivo: identificar, construir, catalogar y diseminar un conjunto de artefactos de sw. que tienen inters dentro de un dominio de aplicacin. Dominio: conjunto de sistemas relacionados. No ligado a ningn proyecto de sw. Ingeniera de dominios:
Anlisis Construccin Diseminacin
Clasificar los elementos extrados del dominio. Recolectar una muestra representativa de aplicaciones del dominio.
La aplicacin debe tener elementos dentro de las categoras definidas.
Preferible considerar cada aplicacin como una instancia de una clase genrica de aplicaciones, construida a partir de un conjunto de componentes de software reconfigurables.
Componente
Concepto ms general que objeto: Unidades binarias de produccin, adquisicin y uso independiente, que interaccionan para formar un sistema (Szyperski 98) abstraccin esttica con conectores (plugs)
(Nierstrasz Tsichritzis 95)
no todas las abstracciones que deberan evolucionar con los cambios en los requisitos de una aplicacin son necesariamente objetos
se postula que es posible adaptarse con ms facilidad a los requisitos cambiantes en un paradigma orientado a componentes que en uno OO, desconectando y reconfigurando slo los componentes afectados.
Cul es la estructura de un componente? Cules son los mecanismos para combinar componentes, adquiridos de distintas fuentes, internas y externas?
Necesidad de estndares para componentes
Cmo deben modificarse los mtodos y modelos de proceso? De dnde provienen los componentes?
Un componente debe haber sido diseado para ser utilizado en composicin con otros componentes. Un componente normalmente no se disea por separado, sino que forma parte de un framework de componentes que colaboran entre s.
Clasificacin enumerada
Estructura jerrquica que define clases y subclases de componentes de sw. Los componentes en s son las hojas Necesaria labor de ingeniera de dominio previa
Ejemplo:
operaciones de ventana visualizacin abrir basados en men open Window basados en sistema sysWindow cerrar a travs de puntero ... cambio de tamao a travs de rdenes setWindowSize, stdResize, shrinkWindow por arrastre pullWindow, stretchWindow ...
Se puede incorporar tesauro uso de sinnimos. Ms fcil de extender y adaptar que clasificacin enumerada.