MSF Process Model. Fase III Desarrollo

 

En la fase de planificación se define las funcionalidades de la aplicación y se plasma una propuesta con un orden incremental de desarrollo; esto debe contemplar desde lo más básico hasta los procesos más complejos. 

Comienza la Fase de Desarrollo desde el momento que comenzamos la construcción del código de la aplicación.  MSF recomienda iniciar a construir código a partir de las funcionalidades mas bases  e ir haciendo entrega de cada funcionalidad desarrollada para someterse a pruebas unitarias, y evaluaciones de experiencia de usuario.

Cada vez que hacemos una entrega de una funcionalidad, estamos entregando una nueva versión del desarrollo. El equipo debe comprobar si todas las tareas identificadas durante las fases de ideación y planificación se han completado en cada versión que se esté entregando. It also verifies solution concepts from the designs within a live environment close to that of a production environment, and develops a testing infrastructure in which test cases are created.

Esta fase se hacen entregas parciales del producto, desarrollados por partes para medir su progreso y para asegurarse que todos sus módulos o partes están sincronizados y pueden integrarse. La fase culmina con el hito Alcance completo.

Los Entregables para esta fase son:

  • Código fuente y ejecutables (resguardados y etiquetados en VSS)
  • Actas de aceptación de entregas parciales
  • Plan de Pruebas
  • Manual de Instalación y Operación
  • Documento de Arquitectura
  • Actas de control de cambios aprobadas (que justifican el ajuste al alcance, tiempo y/o costo del proyecto, de existir)

Una solución con éxito requiere del desarrollo de la infraestructura que requiere, el código de la aplicación, la documentación que se genera para los usuarios, y los resultados de las pruebas que se han ejecutado sobre cada funcionalidad.

Ejemplo de un Plan de Desarrollo tomado de un Proyecto de la Empresa donde laboro.

Resumen

El presente documento establece los estándares de desarrollo propuestos por Noixno los cuales garantizan el empleo de las mejores prácticas de diseño y desarrollo, también se menciona brevemente las herramientas que intervienen en esta fase del proyecto junto con su debida justificación.

 Objetivos de Desarrollo

         Se desea tener una comunicación directa, en tiempo real con el servidor de la empresa TDAT, por parte del personal dedicado a la supervisión de ventas, haciendo uso de recepción y transmisión de datos por parte de la empresa OTROPROVEEDOR.

 El uso de éste mecanismo lo justifica el hecho de la necesidad de sólo acceder a un sector de la data almacenada en el servidor de la empresa TDAT, por ello la incorporación de un sistema basado en un repositorio SQL Server 2005, por medio del uso del servicio web TDAT_XMLMobil.

  1.  Desarrollar modulo de administración y control de eventos ocurridos en las transacciones de datos
  2. Proporcionar interfaz de control, agenda de transacciones, administración de usuarios y roles del sistema.
  3. Crear procesos de extracción, consumo, e inserción de datos transaccionales
  4. Proveer modulo de administración de respaldos.

 Estrategia General de Entrega

Se utilizará un modelo de publicación incremental, es decir, se irán cargando en un directorio estándar, todas aquellas versiones que ya hayan sido probadas y validadas por parte de TDAT, tomando en cuenta que se hará una revisión previa por cada entregable que sea terminado.

 La validación referida consiste en una evaluación basada en umbrales de aceptación (próxima sección), esto consiste en asignar a cada entregable un valor que debe estar comprendido en un intervalo, con un límite inferior y uno superior como calificaciones posibles. Este proceso debe realizarse hasta terminar con el desarrollo de todos los entregables, al final, cuando se hace una prueba de todo el sistema, el criterio de evaluación puede ser un tope mínimo, o un promedio que se debe satisfacer para que la solución entregada pueda pasar al entorno productivo. (Extraído del documento de Visión/Alcance).

 Puntos Claves del diseño

En esta sección se identifican las metas claves en el diseño de la aplicación y su prioridad.

  1. Organizar la propuesta de desarrollo bajo el modelo SOA (Service Oriented Arquitecture).
  2. Desarrollar capa de datos basada en stored procedures.
  3. Crear modulo de extracción de datos de los repositorios Radar y Datamart haciendo uso de vistas indexadas.
  4. Establecimiento de XML como estándar abierto de comunicación el cual permite a los servicios una comunicación neutral, independientemente de la plataforma de hardware, del sistema operativo y del lenguaje de programación en los que se implemente el servicio

 Entorno de desarrollo

En esta sección se ilustran los componentes que conforman la solución, los proyectos que serán implementados, y las herramientas con las cuales serán desarrollados.

  •  Capa de Presentación: se creará un proyecto de tipo Aplicación Web Asp.Net, el nombre del mismo será XML_Mobil.Core.Interface, el lenguaje de programación será Visual C# 2.0
  • Capa de Servicios: será implementada con un proyecto de tipo Class Library, con Visual C# 2.0, esta es la encargada de servir de puente entre la capa de datos y la capa de presentación, el proyecto a cargo de llevarla a cabo será XML_Mobil.Core.EntityService.
  • Capa de Servicios (Entidades): al igual que los servicios, la implementación consistirá en un proyecto de tipo Class Library con Visual C# 2.0, entendiéndose por entidad, una clase que represente una tabla de la base de datos, publicando cada uno de los campos por medio de propiedades.
  • Capa de Datos: el motor de base de datos donde residirá la data manejada por el repositorio propuesto será SQL Server 2005 Enterprise Edition, y las consultas serán implementadas por medio de procedimientos almacenados.

 Con respecto a las herramientas que implementarán los proyectos mencionados, por el lado del desarrollo se utilizará Visual Studio 2005 Professional Edition, y para administrar todo lo correspondiente a SQL Server 2005, la herramienta será SQL Server Management Studio.

 Guías y Estándares

En esta sección se proveen los estándares que Noixno, propone para llevar a cabo el desarrollo del proyecto, en primer lugar se encuentra la sección de nombramiento, es ahí donde se especifican los nombres que se deben asignar a las clases y a los objetos, luego aparece la sección de codificación, que es donde se muestran los nombres que se le deben proveer a los métodos, propiedades, enumeraciones y otros objetos.

Nombramiento

  • Para objetos de base de datos:
    • Stored Procedures: sp_operacion_tabla, ejemplo: sp_insercion_estvisitas.
    • Tablas: no aplica, porque se mantendrá el diccionario de datos que ha entregado TDAT.
    • Vistas: no aplica, porque se mantendrá el diccionario de datos que ha entregado TDAT
    • Triggers: trg_operacion_tabla, ejemplo: trg_actualizacion_estvisita

Codificación

  • Para objetos de código:
    • Clases: se nombraran de acuerdo al propósito para el cual estén creadas, por ejemplo, si representan una tabla, llevarán el mismo nombre de la tabla (ejemplo: CTR_TRA).
    • Objetos: se nombraran con m_ seguido del nombre de la clase al cual pertenezcan, ejemplo, si la clase se llama Prueba, el objeto será m_Prueba. Si para nombrar un objeto adecuadamente se necesitan dos o más palabras, se recomienda utilizar la primera letra de la primera palabra en minúscula al igual que el resto, seguido de la primera letra de la segunda palabra en mayúscula, y así sucesivamente, por ejemplo, envioCorreoElectronico.
    • Métodos: su nombre debe comenzar con letra mayúscula y deben ser expresados en verbos infinitivos en la medida de lo posible, ya que estos implementan una acción, por ejemplo: InsertarRegistro( parámetros )
    • Parámetros: se nombran con el prefijo p_ seguido del nombre, por ejemplo si un parámetro es FEC_TRN, será declarado en el método como p_FEC_TRN
    • Elementos de Formulario: en este caso, es necesario basarse en prefijos, los elementos más comunes son:
      • Text Box: txtNombre
      • Botón: btnNombre
      • Radio Button: rbtNombre, Radio Button List: rblNombre
      • Check Box: chkNombre, Check Box List: chlNombre
      • Drop Down List: ddlNombre
      • Grid Views: grvNombre

 Versionamiento y control de fuentes

Actualmente no se cuenta con un software controlador de versiones sin embargo, es conveniente resaltar lo que ya se ha escrito en el documento de estructura del proyecto, y es lo siguiente:

 “La administración de Versiones se manejará de forma incremental, es decir, se irán guardando en la carpeta del proyecto solamente aquellas versiones, que ya hayan sido probadas y validadas por el personal de TDAT.

 Para diferenciar las versiones entregadas a lo largo del desarrollo, se propone utilizar un estándar de nombramiento, que lleve consigo, el nombre del proyecto, seguido del número de la versión y la fecha de entrega, un ejemplo de este puede ser: TDAT_XMLMobil v1 26-02-2010.”

 Proceso diario de Compilación

Esta especificación provee las reglas de publicación, no de fuentes sino de releases, es decir, archivos ejecutables, y la única restricción que se asume, es el hecho de no subir a la carpeta compartida en el servidor archivos que no estén completamente operativos, y validados por TDAT

Orden de entrega

            Esta sección provee las fechas estimadas para las cuales se plantea entregar los componentes que conforman la aplicación a desarrollar.

Componente Descripción Fechas Críticas A cargo de
Diseño Arquitectónico Arquitectura del proyecto estableciendo las capas que conforma la propuesta 10/03/2010 Consultor Asignado
Desarrollo Codificación de todos los módulos que conforman el sistema propuesto. 24/03/2010 Consultor Asignado
Ajustes Entrega de las modificaciones necesarias a la propuesta de forma que cumpla con lo que se pide 27/03/2010 Consultor Asignado
Reporte de Cierre y Análisis Post-Proyecto Se provee un informe final sobre el estado en el que se deja la aplicación, y las “lecciones aprendidas” a lo largo del desarrollo 30/04/2010 Consultor Asignado

Componentes

Descripción de Componentes

  1. Diseño Arquitectónico: esto simplemente es representar con elementos de software la arquitectura ilustrada en el documento de Visión/Alcance y Estructura del Proyecto.
  2. Desarrollo: En esta sección simplemente se nombran los proyectos que conforman la solución, integrando todas las capas:
    1. Capa de Presentación: XMLMobil.Core.Interface (ASP.Net 2.0)
    2. Capa de Servicios:
      1. XMLMobil.Core.Entities (Class Library)
      2. XMLMobil.Core.EntityService (Class Library)
  1. Capa de Datos:
    1. XMLMobil.Core.DataLoad (Sql Server Views)
    2. XMLMobil.Core.Query (Sql Scripts Project)

Ajustes: La Herramienta de pruebas a utilizar es Visual Studio Team Suite, pero los ajustes necesarios deberán hacerse con las herramientas que hayan sido asignadas a un determinado componente en el desarrollo original.

Reporte de Cierre y Análisis Post-Proyecto: Este componente forma parte de la documentación, y únicamente expresa el estado en el que se deja el sistema desarrollado al momento de entregarse, y el Análisis Post-Proyecto, es un conjunto de experiencias vividas a lo largo del desarrollo que se deben guardar a manera de documento, para que las mismas sirvan de guía en futuros desarrollos, relacionados con el repositorio propuesto para la aplicación, o con un proyecto vinculado a operaciones de intercambio de datos XML.

Adquisición de Componentes y desarrollo

No aplica, TDAT Centro cuenta con la infraestructura, y el software necesario para llevar a cabo el desarrollo de la nueva propuesta.

Calidad de Componentes Desarrollados

Este tópico consiste en dar una definición del método utilizado para evaluar la calidad del software, sin embargo, es conveniente acotar que implícitamente este trabajo se cumple por medio de los umbrales de aceptación, y dichos umbrales son los siguientes:

  • El valor mínimo para asignar a la evaluación de un entregable es cero (0) puntos.
  • El valor máximo para asignar a la evaluación de un entregable es diez (10) puntos.
  • El tope mínimo de aceptación de un entregable es ocho (8) puntos.
  • El tope mínimo para la aceptación de la solución es un promedio de 9 puntos, promedio que debe calcularse utilizando la ecuación de Media Ponderada.

NOTA Los umbrales de aceptación vienen del documento de Visión y Alcance

 Herramientas de Desarrollo

  Microsoft Internet Explorer Microsoft Internet Information Server .Net Framework 2.0 Microsoft SQL Server
Componentes de Capa de Presentación Herramientas: Visual Studio 2005, Visual C# 2.0Tecnología:  HTML Herramientas: Visual Studio 2005Tecnología:  ASP.Net No Aplica No Aplica
Componentes de Capa de Negocios Herramientas: Visual C# 2.0Tecnología: Class Library No Aplica Herramientas: Visual C# 2.0Tecnología: ActiveX Data Objects (ADO) No Aplica
Componentes de Capa de Datos No Aplica No Aplica Herramientas: Visual C# 2.0Tecnología: ActiveX Data Objects (ADO) Herramientas: SQL Server Management StudioTecnología: SQL, Stored Procedures, Triggers, Views
Herramientas de Deployment No Aplica No Aplica No Aplica No Aplica
Herramientas de Testing Visual Studio Team System Visual Studio Team System Visual Studio Team System No Aplica

 

Reutilización

No aplica

Patrones de diseño

Los patrones de diseño son provistos por el Noixno Code Generator, herramienta que fue desarrollada por la división de Software Factory de Noixno, y con respecto a la arquitectura, Visual Studio 2005 provee patrones nativos que serán utilizados en el desarrollo del proyecto.

 Entrenamiento al equipo de desarrollo

Se está consciente de que los analistas de sistemas que actualmente laboran en TDAT, se caracterizan en su mayoría por desarrollar sus aplicaciones en el lenguaje Visual Basic, por tratarse de Visual C# 2.0 el lenguaje de programación, Noixno ha tomado la decisión de dictar un curso dirigido hacia el personal previamente nombrado.

Soporte al equipo de desarrollo

Noixno proveerá manuales técnicos que proporcionaran las explicaciones necesarias para manipular la codificación de cada uno de  los módulos del sistema, adicionalmente se podrá observar comentarios descriptivos concernientes a las funciones de cada método desarrollado.

Autor: arevalomaria

Ingeniero de Sistemas, Magister en Gerencia y Tecnologia de la Informacion, Certificaciones: ITIL V3, CCNA, Microsoft Certified Professional.

9 comentarios en “MSF Process Model. Fase III Desarrollo”

  1. en el tercer parrafo porque sale el ultimo pedaso en ongles “It also verifies solution concepts from the designs within a live environment close to that of a production environment, and develops a testing infrastructure in which test cases are created.”

  2. Excelente explicación. Esta parte es muy importante y todo desarrollador debe tener en cuenta que no le falte ninguna de estas informaciones en su proceso de documentación; ya que esto es lo que le dice al gerente del proyecto, cuáles son las herramientas que se estarán utilizando en el proyecto.

  3. El ejemplo deja claro lo que se necesita hacer en la fase de Desarrollo, pero se hubiera provechado mejor si se le damos continuidad al proyecto de la granja que se había iniciado, para poder relacionar las fases anteriores y visualizar como fluye la comunicación.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s