Procesos de Desarrollo

Un modelo exitoso aprobado y utilizado globalmente por los mejores

Para el desarrollo de un proyecto, nuestra organización emplea un proceso de desarrollo, el cual en cada uno de sus pasos implementa una metodología basada en el Método CASE de ORACLE y apoyada en la herramienta Designer, junto con la implementación de Unified Process, la combinación de estas dos metodologías hacen parte del estándar de desarrollo la compañía.

Proceso de DesarrolloEl proceso de desarrollo está compuesto por las siguientes etapas como se describe a continuación:

Pila de requerimientos

En este proceso se hace el primer acercamiento con el cliente, se realizan las reuniones iniciales donde se hace el levantamiento de la información, se reciben los requerimientos del cliente, mapas mentales, se analizan y se aclaran los requerimientos.

Los requerimientos deben ser presentados de forma específica y no ambigua, deben ser consistentes y completos.

El resultado de este proceso es:

Documentos Entrada: Como entrada se tiene los modelos mentales que tienen los stakeholders (personas interesadas), los relatos que se consiguen a través de las reuniones sostenidas, documentación entregada por el cliente para tratar de entender el problema al cual se le quiere dar una solución.

Documentos de salida: Una vez se concluyen las reuniones pactadas, con la información allí recolectada se generan:

  1. Documento de planteamiento del problema.
  2. Definición de requerimientos.
  3. Documento de escenarios.
  4. Modelos mentales de los stakeholders (Opcional).

Planificación del proyecto

La planificación del proyecto está dada para identificar las metas que se quieren lograr, buscar los mecanismos para que esas metas se cumplan. Las metas deben estar encadenadas para cumplir el objetivo y dar solución a la problemática expuesta por un cliente. Se deben identificar en esta fase todos los elementos que van hacer parte del desarrollo y puesta en marcha del proyecto.

Este proceso junto con el de pila de requerimientos hace parte de la fase de análisis de la metodología de desarrollo definida por unión de fases de Oracle Case y Unified Process.

El resultado de este proceso es:

Fase de análisis

Documentos de entrada:

  1. Descripción del problema
  2. Documento de requerimientos
  3. Documento de escenarios.
  4. Modelos mentales stakeholders.
  5. Project chárter

Documentos de salida:

  1. Diagrama de casos de uso.
  2. Descripción de los casos de uso (Escenarios).
  3. Diagrama de Actividades.
  4. Modelo de dominio.
  5. Cronograma de actividades
  6. Documento de actividades y responsables.
  7. Documento del personal y los roles dentro del proyecto

En este proceso de la metodología también es ejecutada la fase de diseño de la metodología de desarrollo, teniendo lo siguiente de la ejecución de esta fase:

Documentos de Entrada:

  1. Diagrama de casos de uso.
  2. Descripción de los casos de uso (Escenarios).
  3. Diagrama de Actividades.
  4. Modelo de dominio.
  5. Cronograma de actividades

Documentos de Salida:

  1. Diagrama de Análisis Robusto.
  2. Diagrama de Secuencia.
  3. Diagrama de Clases.
  4. Documento asignación de actividades.
  5. Acta de presentación del proyecto al personal involucrado

Al finalizar este proceso ya se tienen claro el “que” y el “como” de lo que se quiere resolver.

Ejecución de actividades

Procesos de DesarrolloEn este proceso es donde se materializa todos los aspectos descritos en los procesos anteriores, se inicia la fase de construcción de la metodología de desarrollo, donde se empieza a realizar la codificación, teniendo como base la documentación generada. Cada uno de los responsables de las actividades plasman en código lo que se encuentra en los documentos, esta construcción debe respetar los estándares de programación que se tiene estipulado en la empresa, tanto para PLSQL, como para JAVA.

Desde este proceso se inicia el seguimiento del proyecto, presentando informes de avance que evidencien el estada actual en el cuela se encuentra el proyecto.

En la fase de construcción se tienen las siguientes entradas y salidas:

Documentos de Entrada:

  1. Diagrama de Análisis Robusto.
  2. Diagrama de Secuencia.
  3. Diagrama de Clases.
  4. Documento asignación de actividades.
  5. Documento requerimientos de programación.

Documentos de Salida:

  1. Documento de infraestructura.
  2. Informes de avance.
  3. Informes de incidentes.
  4. Evaluación de los informes.
  5. Informes de avance programado vs realizado.
  6. Sistema codificado.

Verificación de la ejecución

Con este proceso lo que se quiere es realizar una verificación del avance del proyecto teniendo como entrada los informes presentados, se revisa la codificación se hacen las pruebas que se encuentran estipuladas en el documento de pruebas y se entrega la primera iteración del sistema para ser evaluada por el cliente. En este proceso se ejecuta la fase de pruebas de la metodología de desarrollo. En este proceso se versiona y se hace la liberación de la iteración desarrollada hasta ese momento.

En este punto se comienza con la creación de los manuales que son entregados a los clientes. Los documentos de entrada y salida son los siguientes:

Documentos de Entrada:

  1. Informes de avance.
  2. Fuentes del desarrollo.
  3. Documento de pruebas

Documentos de Salida:

  1. Resultado de las pruebas.
  2. Asignación de cambios y responsables.
  3. Acta de conformidad.
  4. Manual de usuario
  5. Manual técnico

Cierre del proyecto

En el proceso de cierre lo que se quiere es dar finalizada ya sea una iteración o el final del proyecto. Es de vital importancia siempre cerrar cada una de las iteraciones o en definitiva el proyecto.

De este proceso se obtiene lo siguiente:

Documentos de Entrada:

  1. Acta de conformidad.
  2. Manual de usuario.
  3. Manual técnico.

Documentos de Salida:

  1. Documento de cierre.
  2. Documento de entrega.
  3. Documento de implementación.
  4. Producto terminado
  5. Manual de usuario.
  6. Manual técnico.

Evaluación de resultados

Con este proceso lo que se quiere es evaluar el proyecto una vez ha finalizado obtener las lecciones aprendidas para así lograr la retroalimentación del equipo de trabajo. En este proceso se almacena las memorias del proyecto y se dejan como referencia para futuros proyectos, como fuentes de consulta, con el fin de no cometer los errores ya superados.

Los resultados de este proceso son:

Documentos de Entrada:

  1. Informe de avances.
  2. Informe de incidentes.

Documentos de Salida:

  1. Documento de lecciones aprendidas.
  2. Documento de indicadores del proyecto.

Soporte

El proceso de soporte está dividido en dos partes el soporte correctivo y el soporte evolutivo.

Correctivo: Este tiene como objetivo solventar una deficiencia en un componente del sistema puede ser software o documental se entiende por deficiencia algo que debería funcionar o estar correcto y no lo está.

Evolutivo: El mantenimiento evolutivo es aquel que pretende modificar algo que funcionaba o estaba correcto, con el objeto de aumentar, disminuir o cambiar las funcionalidades del

Este proceso afecta todos los documentos desde el proceso de planificación del proyecto, esto porque se deben actualizar todos los documentos que se consideren necesarios, según el soporte realizado.

Los documentos que hacen parte de este proceso son:

Documentos de Entrada:

  1. Documento de requerimiento.
  2. Documento de evaluación del requerimiento (Se explica que tipo de soporte es y tiempo).
  3. Acta de autorización para realizar el requerimiento.

Documentos de Salida:

  1. Documento satisfacción del soporte.
  2. Documento de solución del soporte.
  3. Manual de usuario. (Si es el caso)
  4. Manual Técnico. (Si es el caso)

Procesos de DesarrolloTECNOLOGIAS UTILIZADAS PARA EL DESARROLLO

En la utilización de los procesos de desarrollo en el proceso de construccion segun sea el caso para cada uno de los proyectos son utilizadas las siguientes tecnologias para la codificación.

ARQUITECTURA J2EE

La especificación de J2EE define su arquitectura basándose en los conceptos de capas, containers, componentes, servicios y las características de cada uno de éstos. Las aplicaciones J2EE son divididas en cuatro capas: la capa cliente, la capa web, la capa negocio y la capa datos.

Capa Cliente

Esta capa corresponde a lo que se encuentra en el computador del cliente. Es la interfaz gráfica del sistema y se encarga de interactuar con el usuario. J2EE tiene soporte para diferentes tipos de clientes incluyendo clientes HTML, applets Java y aplicaciones Java.

Capa Web

Se encuentra en el servidor web y contiene la lógica de presentación que se utiliza para generar una respuesta al cliente. Recibe los datos del usuario desde la capa cliente y basado en éstos genera una respuesta apropiada a la solicitud. J2EE utiliza en esta capa las componentes Java Servlets y JavaServer Pages, Java Server Faces para crear los datos que se enviarán al cliente.

Capa Negocio

Se encuentra en el servidor de aplicaciones y contiene el núcleo de la lógica del negocio de la aplicación. Provee las interfaces necesarias para utilizar el servicio de componentes del negocio. Las componentes del negocio interactúan con la capa de datos y son típicamente implementadas como componentes EJB.

Capa Datos

Esta capa es responsable del sistema de información de la empresa o Enterprise Information System (EIS) que incluye bases de datos, sistema de procesamiento datos, sistemas legados y sistemas de planificación de recursos. Esta capa es el punto donde las aplicaciones J2EE se integran con otros sistemas no J2EE o con sistemas legados.

Como parte del desarrollo JAVA se utiliza un framework llamado PRIMEFACES, este framework de desarrollo nos ayuda hacer más ágiles en el desarrollo de la capa cliente y de la capa web, debido a que este trae diferentes componentes apegados al estándar JSF (Java Server Faces).

TECNOLOGÍAS DE LA PLATAFORMA

Servidores de aplicación

Para este tipo de tecnologia son utilizados los siguientes servidores de aplicaciones:

Weblogic, GlassFish, Jboss, Geronimo, Websphere, Bases de datos

Se integra con las siguientes bases de datos:

Oracle, Mysql, DB2, Sql Server, PostGres, entre otras bases de datos del mercado.

ImprimirCorreo electrónico