"Rediseño del desarrollo de Software"
7. Modelo General del Procedimiento
7.1. Modelo de Desarrollo de Software
Como fue mencionado en el capítulo 3, "Metodología y plan de trabajo", se utilizará la metodología denominada Patrones de Negocio. La idea es especializar un patrón en un dominio específico, esto consiste en tomar cada uno de sus componentes, examinar su relevancia en un dominio particular y especificarlos y detallarlos para la situación analizada, basándose en el conocimiento específico del dominio que permitirán establecer las mejores prácticas. En este caso el dominio analizado es el Desarrollo de Software.
El patrón utilizado para este dominio y que mejor caracteriza este proceso es el denominado macro 1, que representa el proceso de gestión, producción y provisión de un bien o servicio, mostrado en la figura 3-2.
El macro 1 se divide en cinco actividades, las tres primeras son actividades de gestión o toma de decisiones: Administración relación con el cliente, Administración relación con proveedores y Gestión producción y entrega. La cuarta, Producción y entrega del bien o servicio, corresponde a actividades de manejo o transformación de recursos. La quinta actividad, Mantención de estado, tiene como finalidad registrar e informar sobre el estado de las actividades de transformación.
La especialización del Macro1 al proceso de Desarrollo de software da como resultado el macro1_ds, cuyo primer nivel se muestra en la figura 7-2. En esta se aprecian las siguientes actividades:
Cada una de estas actividades es equivalente a las actividades de primer nivel que componen la macro 1.
7.2. Detalle del Proceso
El objetivo del detalle del proceso, es especificar tanto los procedimientos que deben ser realizados por personas como por los apoyos computacionales a un nivel de especificación que permita su implementación futura. Para los procedimientos realizados por personas se detallan las prácticas de trabajo que deben ejecutar los encargados de desarrollar la actividad. En el caso de los apoyos computacionales, se especificarán los requerimientos para el sistema de apoyo al proceso. Esto último se incluye en el anexo N°9, Diccionario del modelo.
7.2.1. Administración relación con el usuario
Lo que se detalla a continuación corresponde a la actividad de primer nivel Administración relación con el usuario y se muestra en las figuras 7-3 y 7-4.
Esta actividad contempla la recepción de requerimientos y consultas a proyectos que se hayan ingresado al sistema.
La información entregada con respecto a las consultas de un proyecto será: nombre empresa, nombre y código del proyecto, la fecha de inicio de éste, el encargado o jefe del proyecto, fecha estimada de término y la etapa en que se encuentra (especificación de requerimientos, diseño lógico, diseño físico, construcción o pruebas internas).
Las consultas pueden hacerse personalmente o por vía telefónica. Y serán entregadas sólo por el encargado del proyecto. Para obtener la consulta el encargado del proyecto debe consultar al sistema computacional por Información al Cliente.
En la actualidad los requerimientos son solicitados sólo por las empresas pertenecientes al holding Enersis. Las empresas clientes se comunican con el área de proyectos, quienes evalúan los requerimientos y dan respuesta a la solicitud. Esta evaluación se basa en la experiencia que posean de anteriores sistemas realizados, es decir, si el desarrollo no significa modificar demasiado los sistemas que ya existen en Synapsis S.A. se acepta la solicitud y se realiza el proyecto. El proyecto ya aceptado se ingresa a la mantención de estado. La información que se debe registrar concerniente a la empresa es: nombre, Rut y dirección, la información que se registra del representante del proyecto en la empresa cliente es: nombre, RUT, cargo, área de trabajo, teléfono oficina y dirección electrónica. Cuando se registra esta información, se debe agregar el nombre del proyecto y el código asociado.
Cuando la solicitud es aceptada se envía un mensaje a Administración desarrollo de software para que realice la preplanificación. Luego que se realiza la preplanificación (procedimiento que se detalla en Administración y desarrollo de software) se entrega al jefe del proyecto el programa con las fechas y temas de las reuniones que se realizarán con el cliente para definir los requerimientos, además se propone el equipo de trabajo inicial. La definición de requerimientos es realizada por el equipo de trabajo inicial y el representante de la empresa cliente junto a su equipo de trabajo.
La definición de requerimientos se hace con la metodología de casos de uso, tratada en los capítulos 4-3 y 6-3, es decir separando los requerimientos en funcionales y no funcionales, definiendo los primeros según la plantilla de la figura 6-1. Esta actividad finaliza cuando se hayan definido todos los requerimientos solicitados por el cliente, y los resultados que se esperan de esta etapa son los siguientes documentos:
· Documento con las definiciones de requerimientos funcionales mediante la metodología de casos de uso
· Documento de Definición de Requerimientos (DR), según el IEEE 830,que se muestra en el anexo N°7 y que recogerá todo lo que el usuario defina como necesidad
· Checklist de Ayuda en la Definición de Requerimientos que contiene una lista con todos los posibles aspectos a considerar en la redacción de DR, permitiendo que el usuario que los define tenga una guía rápida de los mismos. Se muestra en el anexo N°8
7.2.2. Administración recursos humanos
Esta actividad se muestra en la figura 7-5. Y comienza cuando Administración desarrollo de software decide cuanto personal externo necesitará para un determinado proyecto. La solicitud de personal la hace el jefe de proyecto y consiste en enviar un e-mail al departamento de control comercial con el perfil del profesional que requiere. Control comercial es quien se encarga de hacer la solicitud a la empresa externa.
Una vez que el personal externo es recepcionado, el área de proyectos debe ingresar los datos concernientes al recurso externo: nombre, RUT, ROL, teléfono casa, dirección casa; y a la empresa externa: nombre, RUT, dirección, representante, teléfono y dirección electrónica.
7.2.3. Administración desarrollo de software
Lo que se detalla a continuación corresponde a la subactividad Planificación y control perteneciente a la actividad de primer nivel Administración desarrollo de software. Ver figuras 7-6, 7-7 y 7-8.
7.2.3.1. Planificación (Métrica de Software)
La planificación comienza cuando se recibe el mensaje de requerimiento de la actividad de Administración relación con el cliente. El mensaje de requerimientos contiene los requerimientos formulados por el cliente y en base a estos el área de proyectos realiza la preplanificación, donde se determina:
Para definir el equipo inicial de trabajo se debe recurrir al sistema, el cual entregará la siguiente información de los recursos internos: ROL, nombre, RUT, cargo, área, teléfono oficina, teléfono casa, dirección casa, dirección electrónica, proyecto en el que está trabajando actualmente, empresa a la que pertenece el proyecto, actividad específica que realiza, fecha de inicio y término de la actividad. De esta forma podrá hacerse la primera asignación de recursos internos al proyecto.
Una vez terminada la actividad de definición de requerimientos por parte de Administración y relación con el cliente, planificación utiliza la información de casos de uso obtenida en esta etapa, para determinar el número de funciones que posee el sistema a desarrollar y que permitirá hacer las estimaciones del proyecto.
Luego estas estimaciones deben ser ingresadas al sistema (pantalla "Información del Proyecto"), con el fin de registrarlas y a la vez calcular el grado de influencia y el ajuste de complejidad que se realizan automáticamente con la información proporcionada.
En la misma pantalla se realiza el cálculo de los puntos de función, y lo realiza el sistema automáticamente. No es necesario ingresar información anexa. El sistema registra los PF calculados para el proyecto, con el fin de ajustar el cálculo en futuras estimaciones.
La Estimación General es la actividad que sigue al cálculo de PF y consiste en ingresar el valor de la hora hombre del recurso interno y externo, la productividad de Synapsis (se calculó una productividad de 14 PF/P-M) y los porcentajes que se le asigna a cada una de las actividades macros del proyecto: especificación de requerimientos, diseño lógico, diseño físico, construcción y pruebas internas, obteniendo como resultado los costos y horas hombres totales asociados al proyecto.
Se denomina estimación general porque la información que se obtiene corresponde a valores generales del proyecto.
Posteriormente se realiza la asignación de recursos a proyecto, consultando las horas/mes disponibles para cada analista, pudiendo seleccionar y asignar las necesarias para cumplir con los requerimientos solicitados. Si no alcanzan las horas disponibles para este fin, el sistema arroja el valor de las horas hombre correspondiente a los recursos externos que deben ser utilizados, además de las horas hombre asignadas a los recursos internos y la fecha de inicio y término del proyecto.
En el caso que la asignación arroje horas necesarias de recurso externo, el jefe de proyectos debe enviar un e-mail al departamento de control comercial con el perfil del profesional que requiere. Control comercial es quien se encarga de hacer la solicitud a la empresa externa.
Finalmente el sistema entrega una planilla que incluye las etapas del proyecto y para cada una de ellas:
Esta planilla es la primera aproximación a una Carta Gantt, es por esta razón que el sistema permitiría guardar el archivo con algún tipo de extensión (como por ejemplo .xls) con el fin de poder trabajar con un nivel de detalle mayor en cuanto a la planificación.
Las actividades de estimación de funciones, cálculo de PF, estimación general y asignación de recursos son realizadas por el área de proyectos, quien una vez finalizada estas actividades, envía el plan de proyecto al jefe correspondiente.
7.2.3.2. Control y Seguimiento del Proyecto
El control y seguimiento del proyecto lo realiza el área de proyectos una vez solicitado por el jefe de proyectos y consiste en conocer la situación real del proyecto por medio de índices de control definidos en el capítulo 6.1.2.
Este cálculo lo hace el sistema y para acceder a él se debe elegir la pantalla llamada control del proyecto. Como requisito para que el sistema realice este cálculo deben estar actualizados los valores de la planilla Excel que se utilizará para llevar la información del proyecto, a modo de ejemplo se muestra en el anexo N°10 una planilla tipo que contiene la información necesaria que posibilita al sistema hacer el cálculo de la situación real del proyecto.
7.2.4. Desarrollo y entrega de software
La actividad Desarrollo y entrega de software está compuesta por las subactividades producción de software y entrega de software. Ver figuras 7-9, 7-10, y 7-11.
La producción de software está compuesta por las cinco etapas del desarrollo de software, según el modelo de cascada.
La primera etapa, especificación de requerimientos es realizada por el equipo de trabajo del proyecto y de la empresa cliente, mediante reuniones. Esta etapa finaliza cuando es confeccionado el documento de especificación de requerimientos.
Las etapas que siguen son consecutivas y son realizadas por analistas y/o programadores pertenecientes al equipo de trabajo.
La construcción da como resultado un software que será probado internamente antes de la entrega al cliente.
Cuando el software ha pasado las pruebas internas, el equipo del proyecto instala el software en la empresa cliente, se realizan pruebas in situ y se capacita a personal de la empresa cliente seleccionado previamente, que tendrá como función capacitar al resto de la organización que lo requiera.
Otra acción que contempla la subactividad de planificación es la solicitud de especificación de requerimientos por parte de los desarrolladores. Esta solicitud es informada al jefe del proyecto y es especificada telefónica o personalmente, pero es una especificación informal, es decir, no está contemplada dentro de la planificación y es gatillada por la actividad de diseño lógico.
Figura: 7-1
Figura: 7-2
Figura: 7-3
Figura: 7-4
Figura: 7-5
Figura: 7-6
Figura: 7-7
Figura: 7-8
Figura: 7-9
Figura: 7-10
Figura: 7-11
8. Prototipo al Sistema de Apoyo
Los prototipos son pantallas sin una inteligencia computacional de aplicación detrás, que están construidas con el software Visual Basic 5 y tiene como objetivo principal agrupar y graficar los requerimientos para el sistema, de tal forma que se pueda hacer su construcción en el futuro.
Además, estas pantallas constituyen un medio simple y eficiente de presentación de estructura y funcionalidad a los potenciales usuarios. Por lo tanto, es también una herramienta de validación del diseño del proceso de Desarrollo de Software.
A continuación se describirán las pantallas que apoyan cada actividad que ha sido rediseñada y que fueron descritas en el capítulo anterior.
8.1. Apoyo a la Subactividad Planificación
8.1.1. Objetivos
Los objetivos de estas pantallas son realizar la planificación hasta la obtención de un plan de trabajo y la mantención de registro de información del proyecto necesaria para que en el futuro las estimaciones se puedan basar en datos históricos y de esta forma adecuarse a la realidad de la empresa desarrolladora.
8.1.2. Descripción
La figura 8-1 muestra la pantalla principal que apoya a la actividad Administración desarrollo de software, con ella es posible realizar completamente la subactividad planificación.
La primera funcionalidad que posee esta pantalla, es registrar los datos del proyecto y de la empresa donde se realiza, con estos es posible comenzar a realizar la planificación. La planificación se puede comenzar a hacer inmediatamente o en un periodo posterior al ingreso del proyecto. En el último caso se debe buscar la empresa ingresando los campos empresa y proyecto o sólo el dígito y luego presionar el botón leer.
El siguiente paso es realizar la estimación de funciones, ninguno de los campos estará activo para el ingreso directo de datos, por lo que se debe presionar el botón estimar funciones. Este botón nos lleva a la pantalla mostrada en la figura 8-2, en la cual se escribe la cantidad de funciones extraídas del informe de casos de uso de la actividad Administración relación con el usuario. Cada vez que se ingrese la cantidad de funciones se desplegará otra pantalla que tiene como finalidad determinar la complejidad de cada función. Estas pantallas presentan una tabla que varía dependiendo de la cantidad de funciones ingresadas. Ver figuras 8-3, 8-4, 8-5, 8-6 y 8-7.
Figura: 8-1
Figura: 8-2
Figura: 8-3
Figura: 8-4
Figura: 8-5
Figura: 8-6
Figura: 8-7
Una vez ingresado el número de funciones se debe salir de la aplicación, en ese momento se despliega la pantalla mostrada en la figura 8-8, que tiene como finalidad ajustar la complejidad de las funciones ingresadas, basándose en distintas variables que afectan al desarrollo de sistemas.
Una vez realizada la estimación de funciones es posible que el sistema realice el cálculo de puntos de función automáticamente con sólo presionar el botón calcular PF.
Realizar la asignación de recursos es el último paso que se debe dar antes de la planificación.
El botón asignar despliega la pantalla que se muestra en la figura 8-9, la que presenta dos tablas, la primera representa las horas no disponible y la segunda las disponibles por mes para cada funcionario.
La selección de horas se hace con un click (marcando) sobre el día (selecciona día) o sobre el ROL (selecciona todos los días disponibles del mes). A medida que se hace la selección es posible ver el conteo de horas seleccionadas, con el fin de seleccionar sólo las necesarias. Ya seleccionadas las horas disponibles se debe presionar el botón asignar horas seleccionadas para hacer efectiva la asignación.
El botón ver detalle ROL (Figura 8-10) muestra los proyectos en los que participa un funcionario durante el mes seleccionado.
Para deseleccionar se debe hacer otro click sobre el día o ROL seleccionado. Para desasignar se debe marcar lo que se desea eliminar y luego presionar el botón eliminar del proyecto.
La asignación de recursos da como resultado la fecha de inicio y término estimadas del proyecto y las horas asignadas a los recursos internos y externos.
Para realizar la estimación general es necesario ingresar cierta información, para la cual los campos estarán activos. Esta información es indispensable para la planificación:
Para estos campos, se muestran como referencia los valores ingresados en planificaciones de otros proyectos, pues esta información no debiera sufrir variaciones considerables.
Ingresados estos valores, basta con presionar el botón estimación general para obtener como resultado el costo y horas totales del proyecto (no activos en la pantalla previamente).
Por último el botón planificación entrega una planilla que resulta ser la primera aproximación a una Carta Gantt, es por esta razón que el sistema permitiría guardar el archivo con algún tipo de extensión (como por ejemplo .xls) con el fin de poder trabajar con un nivel de detalle mayor en cuanto a la planificación.