Este documento presenta el Framework de Administración Pública (FAP), el cual tiene como objetivo mejorar el desarrollo de aplicaciones en la Administración Pública. FAP consta de dos componentes: un modelo de negocio que describe formalmente el funcionamiento de la Administración Pública, y una estrategia de desarrollo basada en el enfoque Modelo Dirigido al Desarrollo. El modelo de negocio se expresa mediante patrones de análisis como casos de uso, diagramas de clases y de estados. La estrategia de desarrol
2. Ámbito. FAP
Línea de trabajo del grupo TARO de la ULL para el desarrollo
de SI en la AP
Activo
Real
Formal, legal, práctico, no-completo
PFC, Becas, Trabajo asignatura, desarrollo de empresa,
etc.
Daniel González dgonmor@ull.es y Jose Luis Roda jlroda@ull.es
3. ¿Por qué FAP?
Necesidad de mejorar el desarrollo de aplicaciones en la
Administración Pública
Ley de Acceso Electrónico de los Ciudadanos a los
Servicios Públicos (LAECSP) 11/2007
Mejora de la calidad y productividad de los SI de la AP
4. Visión
Imagen de futuro largo plazo.
Dirección que los miembros del proyecto nos comprometemos a seguir
Cómo queremos que nos vean los demás
Lograr que FAP y FAP-SF sean marcos de
referencia en las Administraciones Públicas
canarias, así como, a nivel estatal
A través de un modelo que 1. aumente el nivel de
competitividad del sector TIC canario, 2. favorezca la
capacitación profesional de los agentes participantes en él y 3.
mejore la comunicación Universidad, Empresa y Adminstración
Pública.
5. Componentes de FAP
Dos componentes fundamentales:
Modelo de negocio (UML, patrones de análisis)
Estrategia de desarrollo (MDD, DSL)
6. FAP. Modelo de negocio
Modelo de negocio FAP describe el funcionamiento de la
adminsitración pública pensado para facilitar el desarrollo de
sistemas de información para ésta.
Abierto
Independencia tecnológica
Independiente metodología
Define formalmente conceptos, modelos y procesos sobre
el funcionamiento de la Administración Pública.
Facilita la compresión, difusión, transparencia de los
procedimientos administrativos
Se basa en patrones de análisis, CU, artefactos UM, y otros
7. FAP. Estrategia de desarrollo
Lograr la generación automática de código
Aumento de la productividad
Mejora de la calidad
MDA
Actualmente con un enfoque MDD
Generación de código a partir de DSL textuales
Enfoque Software Factroy y Software Product Line SPL
9. Presentación del proyecto de fin de carrera
Framework de
Patrones de Negocio
para el desarrollo de software en la
Administración Pública
10. Modelo de negocio FAP
Explica y organiza el funcionamiento de la AP.
LRJyPAC 30/92, LAECSP 11/2007, LOPD, Ley General
Subvenciones
Glosario concepto,Casos de uso
Reglas de negocio
Diagrama de clases
Diagrama de estado
Estructura de aplicación
> Expresados como patrón de análisis
11. Definición de patrón
“(…) un patrón describe un problema que
ocurre una y otra vez en nuestro entorno y
entonces describe el núcleo de la solución
para ese problema de tal manera que se
puede usar esta solución un millón de veces
más”
(Alexander, 1979)
“patrón es una idea que ha sido útil en un
contexto práctico y lo será probablemente
útil en otros (…) los patrones de análisis son
grupos de conceptos que representan una
construcción común en el modelado de
negocio.”
(Fowler, 1996)
12. Definición de patrón
“El objetivo principal de los patrones de
negocio es proveer de un conjunto
consistente de patrones que puedan ayudar
a dirigir las prioridades y requisitos del
negocio en una solución técnica probada. La
experiencia en este área ha mostrado que
sólo el 20 por ciento de un proyecto de
desarrollo de una aplicación es único en el
negocio; el 80 por ciento de un proyecto
puede ser aproximaciones con buenas
prácticas y técnicas establecidas.”
(Dodani, 2003)
13. Artefactos del framework
Actores
Procesos de Negocio Global
Glosario de conceptos y Modelo de Negocio
Casos de Uso del Sistema
Diagrama de estados
Interfaces de Usuario
Modelo Navegacional
14. Objetivos
“El objetivo del proyecto es definir formalmente (bajo UML) un
framework patrones que describan el funcionamiento de la
Administración orientado a su aplicación en el desarrollo de un
sistema de información”
Reutilización en análisis
Vocabulario común usuarios-analistas-
desarrollo y empresas desarrolladoras
Independencia del framework
15. Actores ::
“Agentes (personas o sistemas) que
participan de alguna forma en el sistema en
discusión. Los actores interactúan con el
sistema ya que éste le ofrece algún servicio
que les da un valor añadido a su trabajo.”
16. Actores ::
Ciudadanos Administración
Pública
Auxiliar
Representante
Interventor Jefe Servicio Técnico
Solicitante Afectado
Director
General
17. Proceso de Negocio Global ::
El Proceso de Negocio Global describe el
funcionamiento de la organización o departamento
para realizar las actuaciones definidas usando CU
¿cómo presento una solicitud de beca en Ministerio de Educación?
Los PNG no se refieren al funcionamiento del
sistema informático a construir sino al de la
organización.
Se describe mediante un caso de uso de nivel alto y
con contexto el de la organización
El PNG utiliza en su descripción las entidades
definidas en el modelo de negocio y el glosario.
18. Contexto ::
Ley del Régimen Jurídico y el Procedimento
Administrativo Común
Marco común funcionamiento todas AA.PP frente al
ciudadano
Fases del procedimiento administrativo
Inicio Instrucción Resolución Ejecución
19. PNG :: Realizar Procedimiento Administrativo
Solicitante Técnico
1
a
1
Presentar solicitud Iniciar expediente
de oficio
2
Iniciar Instrucción
del expediente
3
Iniciar Resolución
del Expediente
4
Iniciar Ejecución
de la Resolución
20. Inicio ::
Objetivo
Abrir expediente
Por iniciativa
del solictante
(solicitud) Expediente
o de la Inicio
Administración
(oficio)
Ejemplos: Solicitud subvención, solicitud de beca, solicitud adopción.
Infracción de tráfico, retirada de prestación.
21. PNG :: Solicitud
Objetivo: Presentar una solicitud con su documentación a la AP
Solicitante Técnico
1
Rellenar y
Firmar Solicitud
2 Presentar solicitud y
documentación
3 Abrir expediente
Emitir
4 comunicación
apertura
expediente
22. PNG :: Inicio de oficio
Objetivo: Abrir un expediente de oficio
Técnico
1 Abrir expediente
Definir expediente
2
Emitir comunicación
3 apertura expediente
23. Instrucción ::
Objetivo
Valorar expediente
De oficio una vez
Iniciado el Informe
expediente Instrucción valoración
Ejemplos: Baremación los distintas solicitudes de subvención, becas, adopción.
25. Resolución ::
Objetivo
Tomar una decisión y
notificarla
De oficio una
vez
instruido Resolución Resolución
el expediente
Notificación
Ejemplos: Resolver positivamente/negativamente la concesición de la
subvención de la beca
26. PNG :: Resolución Expediente
Objetivo: Emitir la resolución de los expedientes y notificarla
Técnico Jefe Servicio Intervención
1 2 3
Crear
Firmar Propuesta Fiscalización
Propuesta
de Resolución previa
de Resolución
4 5 6 7
Fiscalizació
Firma Notificar Aceptar
n
de Resolución Resolución notificación
Resolución
Director
General Intervención Auxiliar Afectado
27. Ejecución ::
Objetivo
Realizar las
actuaciones emitidas
en la resolución
Según lo Aceptación
dictado Ejecución resolución
en resolución
Ejemplos: Realizar la acciones para la que fue concedida la subvención
28. PNG :: Ejecución
Objetivo: Realizar la actuaciones emitidas en la resolución
Solicitante Técnico
1
Aceptar resolución
2
Realizar acciones Inspección Seguimiento
3
Comunicación
Fin de la acciones
4 Aceptar
finalización
29. Glosario de Concepto y
Modelo de Negocio ::
Glosario de concepto define las entidades
fundamentales del negocio
El modelo de negocio es un diagrama clases UML en el
que se relacionan los conceptos que participan en el
sistema
La clases del modelo de negocio NO son clases de
diseño, son abstracciones de la realidad que servirán
posteriormente para definir las clases de diseño
Las clases del modelo de negocio se define a partir de
patrones generales que enmarcan al concepto en un
ámbito de negocio mayor ayudando a su comprensión
30. Patrones generales
Actuación Documento de negocio
Solicitud
Evaluación
Línea de actuación
Requerimiento Ítem transaccional
Propuesta decisión Producto
Toma decisión
Visto bueno Catálogo
Comunicación
Agente
Rol
Participante
Relación
Expediente
Representación
¿cómo los aplicamos? …
31. Patrones generales. Solicitud
Documento de negocio
Calificaciones
Rol Participante
HIJO Solicitante
Actuación
Solicitud Línea Item transaccional
Actuación
IR AL CINE OPCION 1 SESIÓN
1..
*
Rol Participante Producto
PADRE Solicitado
PELICULA
Catálogo
CARTELERA
32. Toma decisión
Valoración Documento de negocio
REVISAR PELICULAS CRITICA PELICULA
Rol Participante
PADRE Decide
Ítem Item transaccional
DECIDIRde VA
Toma SI Actuación DECISION
decisión
CINE OPCIÓN 1 TOMADA
Rol Participante
MADRE Decide
Comunicaci
ón
INFORMAR
DECISION
33. Resolución
Relación Ítem Relación
Expediente contiene 1..* Línea Expediente
creado por 1
Rol Participante
1 es
Técnico Crea
Toma de Ítem Item transaccional
decisión Actuación
Jefe Rol Participante Resolución Línea Resolucion propone 1 Decisión
Servicio 1 es Propone contiene 1..*
Rol Participante
Director 1 es Decide firmado por 1
inicia 1
genera 1
Actuación
Documento de negocio Documento de negocio Fiscalización
Propuesta de
Resolución Resolución
34. CU de nivel medio
Definir Propuesta
Firma Resolución
Resolución
Técnico Director
Enviar Fiscalización
Firmar Propuesta Enviar Fiscalización Previa
Resolución
Auxiliar
Jefe Servicio
Notificación Postal
Fiscalización Previa
Aceptar Notificación
Interventor
Fiscalización Afectado
35. CU :: Definir Propuesta Resolución
Técnico Sistema
1 2
Mostrar
Crear nueva propuesta Interfaz de Usuario
Nueva Propuesta
3 Definir tipo propuesta,
expediente, líneas
Definir
4 sentido propuesta
6
5 Mostrar propuesta Visualizar propuesta
7 Finalizar propuesta
39. Ventajas de usar FAP
Mejora de la comunicación:
Analista-usuario
Analista-desarrollo
Administración-Suministradores
Compartir conocimiento
Independencia tecnológica
Independencia metodología de desarrollo
Reutilización de los patrones en otros negocios
41. ¿Qué es MDSD/MDD?
La idea de modelar no es nueva, casi todas las metodologías
más o menos modernos lo incluyen.
En MDSD los modelos son algo más que documentación,
tradicionalmente, cuando hablamos de modelos pensamos en
UML y en enfoques model-based como puede ser RUP y
todos sus 'sabores'. ¡MDSD es otra cosa!
Conceptos relativos a MDSD son MDA, UML, MOF...
Personalmente creo que estas complicaciones formales no
ayudan al pragmatismo de MDSD.
42. MDSD
MDSD funciona, es divertido, es ágil
Los modelos son las primeras víctimas cuando el tiempo
aprieta
Malas experiencia de las herramientas CASE
44. Modelos en MDSD
1. ¡Abstractos y formales!
Abstracto no significa impresición
Compactos y reducción a la esencia
Mismo significado que la implementación final. Model driven vs.
Model based
Model to Code M2C
45. Modelos en MDSD (ii)
2. Componentes reusables a nivel de negocio.
Semánticamente ricos: Seguros, AAPP, Educación
Enfocados al espacio del problema y no al espacio de
la solución
Alejados de la expresividad de los lenguajes de programación
Apoya en frameworks existentes
49. Componentes
Base datos procedimientos
Archivo electrónico de componentes
Sede electrónica
Registro electrónico de entrada
Mis expedientes
Mis notificaciones
Verificación de documentos
Baremación
Portarfirma electrónico
...
51. Objetivos MDSD
Mejora de la productividad y calidad del software
Aumenta velocidad de desarrollo gracias a la generación de
código automatizada. ¡Y no sólo al comienzo del proyecto!
Mejora de la calidad a través implementación uniforme, y
simplifica la corrección de bugs en el código generado.
Define un entorno productivo, hacia un enfoque
SPL. DSL's y generadores almacenan know-how sobre la
arquitectura del sistema
Gestión de la complejidad a través de la abstración de DSL, y
el generador implementa los detalles
55. Ventajas
Arquitectura bien definida
Preservar conocimiento de los expertos gracias lenguaje de
modelado, generador y plataforma
Cómo usar las plataformas de forma efectiva en un
dominio.
DSL se entendida como documentación actualizada y
usable.
Documentación DSL sirven para todos los proyectos.
Generación de código, mitos: ileible, no documentado, mala
eficiencia
Código generado es mejor.
Test
56. Prejuicios
¿Por que no es popular? Falta herramientas, conocimiento
completo del enfoque
UML-based IDE con round-trip es otra cosa.
MDSD no implica un modelo waterfall. No usa
agilismo. MDSD ayuda a escalar agile
El coste del generador
Cómo afrontar los incendios
No es el objetivo eliminar código escrito a mano.
Establecer el límite entre generado y a mano.
57. Desventajas
No silver bullet
Curva de aprendizaje
Un buen diseño del DSL es difícil
Existe un costo de construcción
Aplicable a cierto ámbitos
Mantenimiento
Puede ser sobre usado
59. FAP-oSF y FAP-oSPL
FAP-oSF es un paradigma para el desarrollo de aplicaciones
para la Administración Pública.
Características:
Desarrolla el paradigma de software factory desde una perspectiva abierta y de
difusión libre del conocimiento.
Ayuda a crear nuevas herramientas para la Administración Pública
Define DSL, patrones, componentes, servicios, librerías, generadores de código,
entre otros para el desarrollo de software para la Administración
Diseño de la SPL (Línea de productos software): Modelo de características
y variabilidad (modelo casos de uso, conceptual, ...)
Incorporación en la SPL la integración con PLATINO y SOA.
Desarrollo Dirgido por Modelo