Introduccion, Importancia De la asignacion de roles, roles principales, funciones de los Ingenieros, Mantenimiento, Conclusiones, Bibliografia.
Introducción
En la selección y en la
definición de un modelo de proyecto se requiere de una comprensión del trabajo
y las clases de actividades que se necesitan para alcanzar los objetivos del
proyecto. El administrador del proyecto debe visualizar el ambiente total y
seleccionar una filosofía organizacional.
La actividad del ingeniero en
los aspectos de evaluación y pruebas, de verificación y validación y de
mantenimiento es una parte muy importante del desarrollo de cualquier proyecto
de ingeniería de software.
Para evaluar, mejorar la calidad y darle mantenimiento al software,
el ingeniero aplica una combinación de
técnicas que le sirven para verificar el código fuente, su ejecución,
propiedades lógicas de los programas fuente, el funcionamiento del software en
su ambiente de trabajo.
Importancia de la asignación de roles
Este proceso de visualización requiere una identificación de
los roles dentro del proyecto. Los individuos que se consideran como
participantes del proyecto son aquellos que se encuentran en el departamento de
proyectos, en organizaciones funcionales e incluso personas fuera de la
organización.
Para realizar la función de planeación, el administrador de
proyectos debe definir las tareas y los lineamientos de la organización, para
que los miembros dentro de ella puedan construir, desarrollar y mantener una
estructura y proceso de trabajo para cumplir con las metas deseadas.
La
organización de roles se convierte en la estructura a través de la cual todos
los esfuerzos dentro del proyecto son coordinados e integrados en un objetivo común.
Roles principales
Existen varios tipos de roles dentro de la organización del
desarrollo de un proyecto:
El Administrador de Proyectos.
Esta persona se encarga de resolver los problemas y de
aprovechar las oportunidades que se cruzan dentro de la organización. Esta persona es una extensión del
administrador general y por lo mismo debe tener una visión general.
Debe resolver los problemas a través de la toma de decisiones
en cumplimiento con el objetivo.
El Ingeniero de Proyectos.
El rol de esta persona en ocasiones es confundido con el del
administrador de proyectos. El
ingeniero de proyectos coordina todas las tecnologías para asegurar un diseño
técnico satisfactorio del sistema.
El Administrador de Diseño.
Esta persona se encarga de participar en el desarrollo de
planes y en la determinación de las necesidades de recursos para el
proyecto. Además, define la carga de
trabajo para el diseño y asigna el personal adecuado para las necesidades.
Su trabajo también incluye mantener la excelencia técnica de
los recursos, reclutar, entrenar y manejar a la gente en la organización.
El Ingeniero de Diseño.
Ejecuta tareas de diseño y prepara planes detallados y
calendarios para el diseño de tareas consistente con todo el plan de proyecto,
incluyendo la definición inicial de requerimientos.
Equipo de Programadores.
Se encargan de convertir a código en computadora todo el
trabajo realizado por el equipo de diseño.
Equipo de Mantenimiento.
Este grupo contempla tres tipos de actividades, como
mejoramiento de las capacidades del producto, adaptación del producto a nuevos
ambientes de cómputo, y depuración de errores.
Funciones
de los Ingenieros.
De evaluación y prueba
La
fase de evaluación y pruebas representa una interesante irregularidad para el
ingeniero de software. Durante las fases anteriores de definición y desarrollo,
el ingeniero intenta construir el software partiendo de un concepto abstracto y
llegando a una implementación tangible.
Durante las pruebas, el ingeniero crea una serie de casos que
intentan “demoler” el software que se ha construido. Esto es con el fin de
encontrar el mayor número posible de errores antes que sea puesto en
circulación.
El ingeniero debe diseñar las pruebas para encontrar el mayor
número de errores y debe ser probado teniendo en cuenta la función específica
para la que es diseñado el producto y poder probar que cada función es completamente
operativa.
Conociendo el funcionamiento del producto, el ingeniero debe
realizar pruebas que aseguren que la operación interna se ajusta a las
especificaciones y que todos los componentes internos se comprueben de forma
adecuada. Las pruebas se realizan después de haber generado el código fuente.
Las pruebas de unidad intentan verificar el rendimiento
funcional de cada componente modular individual del software. La prueba de
integración constituye un medio de construcción de la arquitectura del software
y de prueba de su funcionamiento y de sus interfaces.
La prueba de validación comprueba que se han conseguido todos
los requisitos. Tras cada uno de estos pasos de prueba, el ingeniero debe
realizar una depuración. Para los pasos de prueba se desarrollan planes y
procedimientos de prueba. El ingeniero realiza una revisión de la
documentación, de los casos de prueba y de los resultados de las pruebas.
De verificación y validación
Una vez
terminada la prueba del software, éste está casi preparado para ser entregado a
los usuarios finales. Sin embargo,
antes de la entrega se lleva a cabo una serie de actividades que garanticen la
calidad para asegurar que se han generado y catalogado los registros y los
documentos internos adecuados, que se ha desarrollado una documentación de alta
calidad para el usuario y que se han establecido los mecanismos apropiados de
control de configuraciones.
Estas actividades son las de verificación y la validación, en
las que el ingeniero debe valorar y mejorar la calidad de los productos del
trabajo generados durante el desarrollo y modificación del software. Los
atributos que debe tomar en cuenta son la corrección, la perfección, la
consistencia, la confiabilidad, la utilidad, la eficacia, el apego a los estándares
y la eficacia de los costos totales.
Existen dos tipos de verificación: formal y del ciclo de
vida. Esta última consiste en el proceso de determinar el grado en que los
productos de trabajo de una fase dada del ciclo de desarrollo cumplen con las
especificaciones establecidas durante fases previas. La verificación formal se
hace mediante una rigurosa demostración matemática de la concordancia del
código fuente con sus especificaciones.
La validación del software se da al final del proceso de
desarrollo y es donde el ingeniero determina su conformidad con los requisitos.
Durante la verificación y validación, el ingeniero debe tomar
en cuenta las especificaciones tales como la de requisitos, la documentación
del diseño, diversos principios generales de estilo, estándares del lenguaje de
instrumentación, estándares de proyecto, estándares organizacionales y
expectativas del usuario.
Además debe examinar los requisitos para asegurarse que
concuerden con las necesidades del usuario, así como con las restricciones del
ambiente y los estándares de notación.
La documentación debe verificarse con respecto a los
requisitos también; del código fuente
debe revisarse su conformación, su documentación y los estándares.
De mantenimiento
Tan pronto como se entregue el software a los usuarios
finales, el trabajo del ingeniero de software cambia de la construcción al
mantenimiento. En esta etapa, el ingeniero realiza modificaciones para mejorar,
adaptar y corregir errores en los productos de software después de haberlo
entregado al cliente.
Tal mantenimiento puede implicar reanalizar, rediseñar,
reimplantar y actualizar los documentos de apoyo. El proceso empieza por
determinar el tipo de mantenimiento que se llevará a cabo.
Si el mantenimiento necesario es correctivo, el ingeniero
debe evaluar la severidad del error. Si el error es serio, se debe analizar el
problema inmediatamente. Si no lo es, se evalúa y clasifica la petición de
mantenimiento correctivo para luego planificarla de acuerdo con otras tareas.
En el caso de mantenimiento adaptativo o perfectivo, primero
se evalúan y clasifican las adaptaciones antes de realizar cualquier cosa.
Independientemente del tipo de mantenimiento, el ingeniero sigue las mismas
tareas. Estas tareas de mantenimiento incluyen la modificación del diseño de
software, la revisión, las modificaciones oportunas en el código, la prueba de
unidad y de integración, la prueba de validación y la revisión.
Para obtener amplias mejoras en la calidad del software es
muy importante que el ingeniero de software realice una planeación del
mantenimiento, que organice apropiadamente a los programadores y las
actividades de mantenimiento y que posea herramientas de mantenimiento
apropiadas.
Conclusiones
Un producto de software debe cumplir con ciertos puntos de
calidad para llenar las expectativas del usuario.
Para lograr tal calidad, se requiere aplicar pruebas al
software, verificarlo y validarlo, e incluso darle mantenimiento para
mejorarlo, o en su caso, corregirlo.
En cada una de estas actividades, la labor del ingeniero de
software es muy importante, ya que es el encargado de conjuntar los esfuerzos
(y también de realizarlos) para lograr los objetivos.
En la fase de evaluación y pruebas se aplican técnicas para determinar
el buen funcionamiento del software, en cuanto a aspectos de ejecución y
documentación. En la verificación y
validación el ingeniero comprueba que el software sea de calidad y que cumpla
con los requisitos que el cliente o usuario solicitó.
El mantenimiento puede ser para corregir el software, o solo
para adaptarlo o mejorarlo. En ambos
casos, el ingeniero aplica una serie de pasos técnicos encaminados al
perfeccionamiento del software.
Después de haber realizado este trabajo, se puede notar que
es trascendente realizar una adecuada distribución del esfuerzo de las
personas, mediante una asignación de roles eficiente.
También se puede remarcar el hecho de que la una buena
definición y asignación de roles puede ser la diferencia entre un proyecto que
se ha desarrollado en forma exitosa y uno que no.
Es importante que cada persona realice la actividad que le
fue encargada forma correcta, para así realizar un buen trabajo de conjunto.
Bibliografía
Ingeniería de Software
FARLEY, Richard.
McGraw Hill / Interamericana
de México.
Ingeniería de Software
PRESSMAN, Roger.
McGraw Hill / Interamericana
de España.
Systems Analysis And Project Management
CLELAND, David.
McGraw Hill.