ETAPAS DE LA INGENIERIA DE SOFTWARE
bostero_v821 de Octubre de 2013
3.872 Palabras (16 Páginas)489 Visitas
El proceso de creación de software
El proceso de creación de software es materia de la ingeniería del software, una de las ramas propias de la Ingeniería Informática. Es un proceso complejo que involucra diversas tareas de gestión y desarrollo. Como resumen de las etapas para la creación de un software, se pueden mencionar:
• Análisis
• Desarrollo
• Construcción
• Pruebas (unitarias e integradas)
• Paso a Producción
Dentro de estas etapas, existen sub-etapas (para algunos son otras etapas, como por ejemplo, paso a ambiente beta/rc).
Metodología
Un objetivo de décadas ha sido el encontrar procesos o metodologías predecibles y repetibles que mejoren la productividad y la calidad.
Etapas del proceso
La ingeniería de software requiere llevar a cabo muchas tareas, sobre todo las siguientes:
Análisis de requisitos
Extraer los requisitos de un producto de software es la primera etapa para crearlo. Mientras que los clientes piensan que ellos saben lo que el software tiene que hacer, se requiere de habilidad y experiencia en la ingeniería de software para reconocer requisitos incompletos, ambiguos o contradictorios. El resultado del análisis de requisitos con el cliente se plasma en el documento ERS, Especificación de Requerimientos del Sistema, cuya estructura puede venir definida por varios estándares, tales como CMM-I. Asimismo, se define un diagrama de Entidad/Relación, en el que se plasman las principales entidades que participarán en el desarrollo del software.
Especificación
Es la tarea de describir detalladamente el software a ser escrito, en una forma matemáticamente rigurosa. En la realidad, la mayoría de las buenas especificaciones han sido escritas para entender y afinar aplicaciones que ya estaban desarrolladas. Las especificaciones son más importantes para las interfaces externas, que deben permanecer estables.
Diseño y arquitectura
Se refiere a determinar como funcionará de forma general sin entrar en detalles. Según Yourdon consiste en incorporar consideraciones de la implementación tecnológica, como el hardware, la red, etc. Se definen los casos de uso para cubrir las funciones que realizará el sistema, y se transforman las entidades definidas en el análisis de requisitos en clases de diseño, obteniendo un modelo cercano a la programación orientada a objetos.
Programación
Reducir un diseño a código puede ser la parte más obvia del trabajo de ingeniería de software, pero no es necesariamente la porción más larga.
Prueba
Consiste en comprobar que el software realice correctamente las tareas indicadas en la especificación. Una técnica de prueba es probar por separado cada módulo del software, y luego probarlo de forma integral.
Documentación
Realización del manual de usuario, y posiblemente un manual técnico con el propósito de mantenimiento futuro y ampliaciones al sistema.
Mantenimiento
Mantener y mejorar el software para enfrentar errores descubiertos y nuevos requisitos. Esto puede llevar más tiempo incluso que el desarrollo inicial del software. Alrededor de 2/3 de toda la ingeniería de software tiene que ver con dar mantenimiento. Una pequeña parte de este trabajo consiste en arreglar errores, o bugs. La mayor parte consiste en extender el sistema para hacer nuevas cosas. De manera similar, alrededor de 2/3 de toda la ingeniería civil, arquitectura y trabajo de construcción es dar mantenimiento.
Desarrollo de software
La ingeniería de software tiene varios modelos o paradigmas de desarrollo en los cuales se puede apoyar para la realización de software, de los cuales podemos destacar a éstos por ser los más utilizados y los más completos:
• Modelo en cascada (ciclo de vida clásico)
• Modelo en espiral
• Modelo de prototipos
• Método en V
• Desarrollo por etapas
Etapas de un proyecto de software
¿ Por qué dividir un proyecto en etapas ?
Los proyectos se dividen en etapas para facilitar su gestión y control. Como tales, suelen tener cierto grado de incertidumbre debido a que requieren la realización de tareas y actividades no realizadas con anterioridad. El conjunto de etapas que componen un proyecto desde que se inicia hasta que concluye se llama Ciclo de Vida del Proyecto.
Enfoque
En esta nota hablaremos de cuales son las etapas típicas en que podemos estructurar un proyecto de implantación de enlatados y las actividades más importantes que éstas contienen. Es importante aclarar que hablamos de implantación y no de desarrollo de software, ya que en este último caso, las etapas varían. No obstante, es normal que, por necesidades propias del negocio de la empresa, se hagan customizaciones y/o interfases. Describiremos un modelo considerando que las hay.
Cuando hablamos de actividades nos referimos a las tareas típicas dentro de cada etapa.
No representan un Plan de Trabajo, aunque pueden usarse como guía para armar uno. No se profundiza en los procedimientos de control de las etapas, aunque los mismos están presentes durante todo el ciclo de vida del proyecto.
Desarrollo
Desde un punto de vista general de la gestión de proyectos, la primera etapa siempre es el Estudio de Factibilidad. En esta etapa se evalúan alternativas, proveedores, funciones disponibles, costos y, finalmente, se decide la compra del software. Nuestra explicación se referirá a las actividades posteriores a ésta.
La implantación puede dividirse en las siguientes etapas:
1. Planificación
2. Análisis y diseño
3. Implementación
4. Post-implementación
PLANIFICACIÓN
Es la etapa más importante de todas, ya que acá se define el proyecto propiamente dicho. En la práctica, consta de una serie de reuniones donde se realizan las siguientes actividades:
1. Definición del alcance . ¿ Hasta dónde va a llegar exactamente el proyecto ? ¿ Qué se quiere lograr con el proyecto ?
2. Relevamiento preliminar . Un análisis rápido de los procesos más importantes del negocio.
3. Definición de actividades . ¿ Qué tareas son necesarias para llevar el proyecto adelante ?
4. Secuenciamiento de actividade s. ¿ En qué orden se deben realizar las tareas ?
5. Estimación de tiempos . ¿ Qué duración pueden tener las tareas, individualmente y en conjunto ?
6. Definición de recursos . ¿ Que personas, materiales y equipos serán necesarios para llevar adelante las tareas ?
7. Estimación de costos . ¿ Cuánto costará el proyecto ?
8. Desarrollo de un documento de Definición del proyecto . Es poner por escrito las respuestas a las preguntas anteriores.
Hay una serie de actividades auxiliares a los puntos mencionados, que siempre deben existir en la planificación. Se realizan en forma intermitente y ayudan a la gestión. Son:
1. Definición de indicadores o métricas . Son los standards de calidad del proyecto. En palabras simples, son los termómetros.
2. Definición del equipo del proyect o. ¿ Quiénes y con qué roles y responsabilidades gestionarán el proyecto ?
3. Definición de las comunicaciones . Es el armado de un plan para informar los avances y estado del proyecto. Indica a quienes se informa, que se informa y cuando. Es la prensa del proyecto.
4. Identificación y cuantificación de contingencias .¿ Qué factores pueden afectar el normal desenvolvimiento del proyecto ? ¿ En cuánto pueden afectarlo ?
5. Definir planes de contingencia . ¿ Qué acciones se tomarán para mitigar las contingencias y qué se hará en caso que alguna se produzca ?
6. Aseguramiento de la calidad. Al final de la etapa se verifica que se hayan cumplido los objetivos propuestos en forma satisfactoria y se evalúa si es factible pasar a la etapa siguiente .
Si bien parecen muchos puntos, no son necesariamente complicados ni extensos. Su complejidad depende del tamaño del proyecto. Como ya se indicó, el resultado de todos estos procesos es un documento llamado Plan General del Proyecto o Definición del Proyecto. En notas futuras explicaremos nuestro enfoque para encarar la planificación de un proyecto y como desarrollar este documento. Como comentario final para esta etapa, es importante saber que el tiempo que puede llevar la planificación es variable. Depende mucho del proyecto y de la organización que lo lleva a cabo. Nuestra experiencia nos indica que este proceso es más dificultoso en organizaciones muy informales. A veces se ve como algo tedioso, pero hay que tener en cuenta que, una buena planificación seguida de un buen análisis minimiza los costos del proyecto. Hay un principio general de la gestión de proyectos que nunca hay que olvidar: El costo y dificultad de introducir cambios en un proyecto es directamente proporcional al grado de avance del mismo. Esto significa que cuanto más avanzado esté un proyecto en su desarrollo, más costoso y difícil será introducir cambios en él.
ANÁLISIS Y DISEÑO
Podemos dividir esta etapa en las siguientes actividades:
1. Capacitación de gestión . Se entrena a los integrantes del equipo en las técnicas y conceptos de gestión del proyecto que deban conocer.
2. Análisis del negocio o relevamiento . Consiste en comenzar a charlar con los usuarios que sufrirán la implantación del software y preguntar cuales son las operaciones habituales que realizan. Cuando nos referimos a usuario, el concepto puede incluir desde
...