presentacion fap alumnos etsii
DESCRIPTION
Framework Administración PúblicaTRANSCRIPT
FAPFramework Administración Pública
Á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 [email protected] y Jose Luis Roda [email protected]
¿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
VisiónImagen de futuro largo plazo. Dirección que los miembros del proyecto nos comprometemos a seguirCó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.
Componentes de FAP
Dos componentes fundamentales:
Modelo de negocio (UML, patrones de análisis)Estrategia de desarrollo (MDD, DSL)
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.
AbiertoIndependencia tecnológicaIndependiente metodologíaDefine formalmente conceptos, modelos y procesos sobre el funcionamiento de la Administración Pública.Facilita la compresión, difusión, transparencia de los procedimientos administrativosSe basa en patrones de análisis, CU, artefactos UM, y otros
FAP. Estrategia de desarrollo
Lograr la generación automática de código Aumento de la productividadMejora de la calidad
MDA
Actualmente con un enfoque MDDGeneración de código a partir de DSL textualesEnfoque Software Factroy y Software Product Line SPL
Esquema FAP-SPL y modelo FAP
Presentación del proyecto de fin de carrera
Framework de Patrones de Negocio para el desarrollo de software en la
Administración Pública
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 negocioDiagrama de clasesDiagrama de estadoEstructura de aplicación
> Expresados como patrón de análisis
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)
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)
Artefactos del frameworkActores
Procesos de Negocio Global
Glosario de conceptos y Modelo de Negocio
Casos de Uso del Sistema
Diagrama de estados
Interfaces de Usuario
Modelo Navegacional
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
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.”
TécnicoJefe Servicio
Auxiliar
Director General
Administración Pública
Interventor
Solicitante
Representante
Afectado
Ciudadanos
Actores ::
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.
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
PNG :: Realizar Procedimiento Administrativo
Firma Resolución
Técnico
Presentar solicitud
Solicitante
2
1
Iniciar Resolución del Expediente
Iniciar Ejecución de la Resolución
1a
4
Iniciar expediente de oficio
Iniciar Instrucción del expediente
3
Inicio ::
Inicio
Objetivo
Abrir expediente
Expediente
Por iniciativadel solictante
(solicitud)o de la
Administración (oficio)
Ejemplos: Solicitud subvención, solicitud de beca, solicitud adopción.Infracción de tráfico, retirada de prestación.
PNG :: SolicitudObjetivo: Presentar una solicitud con su documentación a la AP
Firma Resolución
Técnico
Rellenar y Firmar Solicitud
Solicitante
2
1
Presentar solicitud y documentación
Abrir expediente
Emitir comunicación
apertura expediente
3
4
PNG :: Inicio de oficioObjetivo: Abrir un expediente de oficio
Firma Resolución
Técnico
2
1 Abrir expediente
Definir expediente
Emitir comunicación apertura expediente3
Instrucción ::
Instrucción
ObjetivoValorar expediente
Informe valoración
De oficio una vez Iniciado el expediente
Ejemplos: Baremación los distintas solicitudes de subvención, becas, adopción.
PNG :: Instrucción Expediente
Firma Resolución
Bastanteo Documentación
Realizar Informes
Técnico
Solicitar Informes Externos3
2
1
Realizar Baremación4
Objetivo: Valorar un expediente
Resolución ::
Resolución
Objetivo
Tomar una decisión y notificarla
De oficio una vez
instruido el expediente
Resolución
Notificación
Ejemplos: Resolver positivamente/negativamente la concesición de la subvención de la beca
PNG :: Resolución Expediente
Firma Resolución
Objetivo: Emitir la resolución de los expedientes y notificarla Jefe Servicio
Firmar Propuesta de Resolución
Técnico Intervención
Fiscalizaciónprevia
Intervención
Firma de Resolución
Director General Auxiliar
Notificar Resolución
Afectado
Aceptar notificación
4 5 6 7
321
Fiscalización
Resolución
CrearPropuesta
de Resolución
Ejecución ::
Ejecución
Objetivo
Realizar las actuaciones emitidas
en la resolución
Según lo dictado
en resolución
Aceptación resolución
Ejemplos: Realizar la acciones para la que fue concedida la subvención
PNG :: EjecuciónObjetivo: Realizar la actuaciones emitidas en la resolución
Firma Resolución
Técnico
Aceptar resolución
Solicitante
2
1
Realizar acciones Inspección
ComunicaciónFin de la acciones
4
Seguimiento
3
Aceptar finalización
Glosario de Concepto yModelo 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
Patrones generalesActuación
SolicitudEvaluaciónRequerimientoPropuesta decisiónToma decisiónVisto bueno Comunicación
AgenteRolParticipanteRelación
ExpedienteRepresentación
Documento de negocioLínea de actuaciónÍtem transaccionalProductoCatálogo
¿cómo los aplicamos? …
SolicitadoParticipante
Patrones generales. Solicitud
IR AL CINE
Actuación Solicitud
SESIÓN
Item transaccional
CalificacionesDocumento de negocio
OPCION 1
Línea Actuación
PELICULA
Producto
CARTELERA
Catálogo
PADRERol
HIJORol
SolicitanteParticipante
1..*
Toma decisión
DECIDIR SI VA CINE
Toma de decisión
DECISION TOMADA
Item transaccional
CRITICA PELICULADocumento de negocio
MADRERol
PADRERol
DecideParticipante
DecideParticipante
OPCIÓN 1
Ítem Actuación
INFORMAR DECISION
Comunicación
REVISAR PELICULASValoración
Resolución
Resolución
Toma de decisión
Decisión
Item transaccional
FiscalizaciónActuación
Propuesta de Resolución
Documento de negocio
DirectorRol
TécnicoRol
CreaParticipante
Envío Fiscalización
Participante
Expediente
Relación
Línea Expediente
Ítem Relación
DecideParticipante
firmado por 1
genera 1inicia 1
Línea Resolucion
Ítem Actuación
contiene 1..*
contiene 1..*
propone 1
creado por 11 es
1 es
Jefe Servicio
RolProponeParticipante
1 es
ResoluciónDocumento de negocio
CU de nivel medio
Fiscalización Previa
Interventor
Firma Resolución
Director
Fiscalización
Firmar Propuesta Resolución
Jefe Servicio
Definir Propuesta Resolución
Técnico
Aceptar Notificación
Afectado
Enviar Fiscalización Previa
Notificación Postal
Enviar Fiscalización
Auxiliar
Firma Resolución
Crear nueva propuestaMostrar
Interfaz de Usuario Nueva Propuesta
Sistema
Definir tipo propuesta, expediente, líneas
7
21
Definir sentido propuesta
1. El usuario selecciona crear una nueva propuesta.2. El sistema muestra la pantalla para crear nuevas propuestas.3. El usuario define el tipo de propuesta, los expedientes y las líneas de expedientes y demás datos de la propuesta. 4. El usuario define el sentido de cada línea del expediente. 5. El usuario selecciona crear la propuesta.6. El sistema visualiza la propuesta.7. El usuario finaliza la propuesta.
Técnico
Visualizar propuestaMostrar propuesta
Finalizar propuesta
3
4
5
6
CU :: Definir Propuesta Resolución
GUI :: Definir Propuesta
Diagrama de estados :: Resolución
Creada
Fiscalización previa positiva
Fiscalización previa
negativa
Fiscalización positiva
Fiscalizaciónnegativa
Resuelta
Pte. Firmada Jefe Servicio
Pte. Firma Director
Enviada fiscalización previa
Enviada fiscalización
Resumen
Ventajas de usar FAPMejora de la comunicación:
Analista-usuarioAnalista-desarrolloAdministración-SuministradoresCompartir conocimiento
Independencia tecnológica
Independencia metodología de desarrollo
Reutilización de los patrones en otros negocios
MDD y FAP
¿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.
MDSD
MDSD funciona, es divertido, es ágil
Los modelos son las primeras víctimas cuando el tiempo aprieta
Malas experiencia de las herramientas CASE
Código y modelos
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
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
Nivel de abstracción
Esquema MDSD
Esquema FAP-SPL
Componentes
Base datos procedimientosArchivo electrónico de componentesSede electrónicaRegistro electrónico de entradaMis expedientesMis notificacionesVerificación de documentosBaremaciónPortarfirma electrónico...
Costes
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
Tipos de DSL
DSL textuales
Xtext
DSL gráficos
MetaCase, GMF, UML Profiles
Expresividad
every 2.days, :at => '4.30 am' do rebootend
vs.
30 4 */2 * * reboot
Enfoques
MDSD técnico
MDSD funcional
Ventajas
Arquitectura bien definida Preservar conocimiento de los expertos gracias lenguaje de modelado, generador y plataformaCó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 eficienciaCódigo generado es mejor.Test
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.
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
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ónDiseñ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
¿Preguntas?