3. Reutilizar software, reutilizar ideas
INAP
3/19
El sueño de reutilizar softwareEl sueño de reutilizar software
Reducir los tiempos de desarrollo
Aumentar la calidad
GESTOR Industrializar el proceso de desarrollo
• más predecible
• más eficiente
CLIENTE
USUARIO
Sencillez
Coherencia
4. Reutilizar software, reutilizar ideas
INAP
4/19
La pesadilla de reutilizar softwareLa pesadilla de reutilizar software
DESARROLLADORES
¿A QUÉ DOMINIO SE APLICA
¿QUÉ PROBLEMA RESUELVE?
¿EN QUÉ MODELO LÓGICO SE APOYA?
¿CUÁLES SON LAS LIMITACIONES DEL MODELO?
¿QUÉ MÓDULOS LO COMPONEN?
……
……
¿DÓNDE ESTÁ EL CÓDIGO?
¿Y LA DOCUMENTACIÓN DEL MISMO?
7. Reutilizar software, reutilizar ideas
“ACTIVOS de INFORMACIÓN “ (assets)
cualquier producto obtenido en el ciclo de
vida del software, con independencia de su
nivel de abstracción:
especificaciones,
diseños,
código,
pruebas,
documentación, etc.
INAP
7/19
8. Reutilizar software, reutilizar ideas
Niveles de reutilización
de código
librerías de funciones, editores, inclusión de ficheros,
mecanismos de herencia en POO, componentes, etc.
de diseños
no volver a inventar arquitecturas
p.ej. patrones de diseño
P.ej. patrones arquitectónicos (C/S, pipeline, OO, etc.)
de especificaciones
reutilización de las abstracciones del dominio
debe estar asociada a la generación (semi)automática
de los elementos de diseño e implementación.
de interfaces
elevar el nivel de abstracción ⇒ reutilización ↑↑
Asset como subsistema agregación de varios
componentes atómicos a distintos niveles de
abstracción (mecano).
INAP
8/19
9. Reutilizar software, reutilizar ideas
INAP
9/19
• De dominio
• De análisis
• De arquitectura
• Creacionales
• Estructurales
• De comportamiento
De reutilizar software existente a hacer software para ser reutilizado
10. Reutilizar software, reutilizar ideas
Un poco de historia en la AAPP: elementos detrás
de la reutilización
Desarrollos a medida, por la naturaleza propia de
las actividades nucleares
Inversiones significativas
Propiedad del código, pero falta de capacidad para
sacarle partido
Marco normativo europeo (directivas de
contratación)
La administración digital como un derecho
ciudadano
Igualdad y no discriminación
Fomento de la competencia
Mercado europeo
INAP
10/19
11. Reutilizar software, reutilizar ideas
La Ley 11/2007 y su desarrollo
RD 1671/2009
RD 3/2010
RD 4/2010
Directivas 2003/98/CE y 2013/37_UE
Ley 37/2007
RD 1495/2011
Principios relacionados:
Neutralidad tecnológica
Interoperabilidad
Seguridad
Confianza de los ciudadanos
Información pública INAP
11/19
12. Reutilizar software, reutilizar ideas
El CTT: Centro de Transferencia de Tecnología
Modelo voluntario
Distribución “as is”
Compartir productos, ni servicios ni
infraestructuras
Un paso más declaración de sistemas de
uso compartido / preferente (DTIC, RD
806/2014, RD 802/2014)
Apertura a modelos de servicio (SaaS)
ANS
Gestión multitenant…
INAP
12/19
13. Reutilizar software, reutilizar ideas
La experiencia del Ministerio de la Presidencia
1.Estamos en la fase 1 (o sea reutilizamos y
ofrecemos software hecho de manera
“convencional”)
2.Como usuarios de sw “de otros”
1. Acceda (plataforma de tramitación de la sede)
2. Regente (aplicación de registro)
3.Como cedentes de sw
1. @Doc (plataforma de expediente electrónico)
INAP
13/19
14. Reutilizar software, reutilizar ideas
MPR como reutilizador de software
Acceda:
1. Instalación del producto original (sede
electrónica de MPR)
2. Adaptaciones e integraciones específicas
evolución separada del producto original
Regente:
1. Análisis del producto existente y prestaciones
2. Ampliación del producto para dotarlo de
mayor funcionalidad
3. Instalación del producto final
producto distinto (“major version”)
INAP
14/19
15. Reutilizar software, reutilizar ideas
MPR como suministrador de software
@DOC, plataforma de servicios de
expediente electrónico
Publicado en CTT bajo licencia EUPL
Solución corporativa para la gestión de
documento, expediente y archivo
electrónico del Ministerio de la Presidencia
Conforme a las NTIs
Servicios web para la integración con las
aplicaciones de gestión
INAP
15/19
18. Reutilizar software, reutilizar ideas
MPR como suministrador de software
Nuestra experiencia
Si se quiere fomentar la reutilización HAY que
trabajar desde el principio en ese marco
(modelos, procedimientos de trabajo, entornos,
herramientas..)
Cuanto más generalizado esté el problema
mejor.
Cuanto más precisas sean las reglas o normas
a cumplir mejor. (NTIs – interpretaciones)
El soporte posterior (implantación, evolución)
Forjas
Clouds
INAP
18/19