Download Descargar Documento

Document related concepts

Ingeniería de software wikipedia , lookup

Systems Development Life Cycle wikipedia , lookup

Proceso para el desarrollo de software wikipedia , lookup

Análisis Estructurado wikipedia , lookup

Software wikipedia , lookup

Transcript
Propuesta de una metodología para el desarrollo de
proyectos informáticos empleando la herramienta para el
diseño automatizado GeneXus
Autor: Dipl.-Ing. Martín Cárdenas Silva
Central Termoeléctrica Este Habana
Ministerio de la Industria Básica
Ciclo de desarrollo de una aplicación
con GeneXus.
Negocio
Usuario
Visión del usuario
Análisis
Analista
Transacciones
Reportes
Procedimientos
Workpanels
Menues
Diseño
Objetos GeneXus
Base de conocimientos
Prototipado
Producción
Base de
datos
Programas
Producto
Versión x.z
Base de
datos
Programas
Prototipo No. y
Particularidades del diseño de software empleando GeneXus
•Los procesos de diseño y construcción se realizan de forma automática y
como consecuencia de esto las fronteras entre los procesos de diseño,
construcción y mantenimiento son difusas.
•El proceso de mantenimiento consiste en la generación de nuevos
prototipos.
•Desaparecen algunas actividades y tareas relacionadas con el diseño y
la construcción de la base de datos y los programas, y surge la
necesidad de incluir nuevas actividades y tareas.
•La documentación está contenida en la base de conocimiento y tiene
solamente un uso explicativo.
•El control de configuración abarca tanto el control de versiones como el
control de las bases de conocimientos.
•La calidad del código generado dependen muy poco de la actividad del
desarrollador.
•No es posible el control de la ejecución de los proyectos mediante los
hitos de la metodología de desarrollo tradicional o por fases.
•Se hace más débil la presencia de determinados roles o perfiles en el
equipo de proyecto y se modifican las responsabilidades de otros.
Modelo del ciclo de vida para GeneXus
Análisis de
requerimientos del
sistema
Producción de una
versión del sistema
Diseño global
del sistema
Integración
del sistema
Construcción del
sistema
Diseño detallado del
sistema
Prueba y evaluación de
un prototipo
Ciclos de prototipado
Estructura de la metodología para GeneXus
Gestión
de
proyecto
Desarrollo
del
software
Gestión
de la configuración
Aseguramiento
de la calidad
Desarrollo del software
•Análisis de requerimientos del sistema
•Diseño global del sistema
•Diseño detallado del sistema
•Construcción del sistema
•Integración y prueba del sistema
•Implantación del sistema
Diseño global del sistema
2.1 Construcción del modelo de procesos del nuevo sistema
2.1.1 Diseño del diagrama de contexto del sistema.
2.1.2 Identificación y definición de subsistemas.
2.1.3 Especificación de interfases con otros sistemas.
2.1.4 Descripción de procesos manuales
2.2 Definición de una nomenclatura estándar
2.2.1 Definición de una nomenclatura para los atributos
2.2.2 Definición de una nomenclatura para las variables
2.2.3 Definición de una nomenclatura para los objetos primarios
2.2.4 Definición de una nomenclatura para los índices
2.2.5 Definición de una nomenclatura para las tablas
2.3 Especificación del núcleo de la base de conocimientos del
sistema
2.3.1 Identificar los objetos primarios comunes a todos los
subsistemas
2.3.2 Crear una base de conocimientos con los objetos primarios
comunes
2.3.3 Elaborar una metodología para la administración del
conocimiento
2.3.4 Designar un administrador de la base de conocimientos
núcleo
Diseño global del sistema (continuación)
2.4 Especificación de los estilos de la interfase
2.4.1 Especificación del estilo de las transacciones
2.4.2 Especificación del estilo de los workpanels
2.4.3 Especificación del estilo de los prompts
2.4.3 Especificación del estilo de los reportes
2.4.5 Especificación del estilo de los webpanels
2.4.6 Especificación del estilo de los menues
2.5 Completar especificaciones del nuevo sistema
2.5.1 Definición de la arquitectura del sistema
2.5.2 Definición de la plataforma de prototipado
2.5.3 Definición de la plataforma de producción
2.5.4 Definición de las preferencias de los modelos
2.5.5 Definición de las propiedades de los objetos
2.5.6 Especificación de requisitos de Seguridad y Control.
2.5.7 Especificación de requisitos copias de respaldo, contingencias
y recuperación de errores
2.6 Completar especificaciones de entrega
2.6.1 Preparación plan pruebas de los prototipos
2.6.2 Preparación plan pruebas del sistema.
2.6.3 Especificación del plan de entrega del sistema.
2.6.4 Verificación y validación de especificación funcional del
sistema
Diseño detallado del sistema
3.1
Recopilar conocimiento del negocio
3.1.1 Planificar entrevista
3.1.2 Ejecutar entrevista
3.1.3 Documentar entrevista
3.2 Especificación de objetos primarios
3.3 Especificación de nombres de tablas
3.4 Especificación de dominios y subtipos
3.5 Especificación de índices del usuario
3.6 Especificación de redundancias
3.7 Diseño de los procedimientos externos
3.7.1 Diseño y codificación de los procedimientos
3.7.2 Especificación del enlace con los procedimientos desde GeneXus
3.8 Diseño de aplicaciones con componentes de MS Office
3.8.1 Diseño de las aplicaciones y codificación de las macros
3.8.2 Especificación del enlace con las aplicaciones desde GeneXus
3.9 Especificación del enlace con bases de datos foráneas
3.10 Revisión de las preferencias de los modelos
3.11 Revisión de las propiedades de los objetos
3.12 Diseño del sistema de ayuda
3.12.1 Especificar ‘tooltips’
3.12.2 Especificar ayuda de los atributos
3.12.3 Especificar ayuda de los objetos
3.13 Especificar documentación
3.13.1 Documentar atributos
3.13.2 Documentar objetos
Conclusiones
•De los modelos del ciclo de vida estudiados el que mejor modela el desarrollo de
aplicaciones con GeneXus es el modelo del ciclo de vida de entrega evolutiva
•Las facilidades que brinda GeneXus para la generación automática de la base de
datos y de los programas de una aplicación no implican la exclusión de un proceso
de desarrollo sistemático de la misma.
•La metodología a emplear para cubrir el ciclo de vida debe tener en cuenta los
aspectos que se relacionan a continuación:
Debe permitir el desarrollo según un modelo incremental o
evolutivo del ciclo de vida.
Debe abarcar tanto los procesos principales como los de gestión
de proyecto y de apoyo.
Debe permitir un proceso de adaptación (tailoring) para tener en
cuenta tanto las peculiaridades de GeneXus como las del proyecto
a ejecutar.
No debe tener ningún sesgo hacia alguna estrategia de
desarrollo (Ej.: modelo en cascada).
No debe estar concebida para alguna tecnología de diseño ( Ej.:
orientada a objeto)