Ingeniería de Software y Ciclos de Desarrollo
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 5,27 KB
2 Ingeniería de Software
Al principio el software era desarrollado por virtuosos que basándose en la intuición y en la experiencia acumulada al desarrollar programas, se aventuraban a crear software, que naturalmente nadie entendía ni podía modificar, a veces ni ellos mismos. Enseguida se observó que esto del software podía ser útil y que había procedimientos y actividades más adecuados que otros para conseguir productos mejores. Se consiguió dotar al software de una importancia que no tenía hasta ese momento y fue entonces cuando se empezó a pensar que era necesario establecer los criterios que debía cumplir el software y cómo conseguirlos. Por estos motivos apareció la Ingeniería del software.
Definición: El establecimiento y uso de los principios de ingeniería robustos, orientados a obtener software económico que sea fiable y funcione de manera eficiente sobre máquinas reales. Lo que se pretende conseguir con la Ingeniería del software es: reducir costes, mejorar la calidad, explotar y aprovechar el potencial que proporciona el hardware. La ingeniería del software abarca un conjunto de 3 elementos clave para facilitar al gestor controlar el proceso de desarrollo del software y suministrar las bases para construir software de alta calidad de una forma productiva:
- Métodos: Indican cómo construir técnicamente el software.
- Herramientas: Suministran un soporte automático o semiautomático para los métodos.
- Procedimientos: Son quién asocian los métodos con las herramientas y facilita un desarrollo racional y oportuno al software de computadora.
En la Ingeniería del Software además se suelen emplear algunas técnicas de apoyo que son:
- Técnicas de apoyo: Con estas técnicas es posible crear modelos virtuales sobre cómo será el producto final y cómo será el proceso de desarrollo de ese producto.
- Representaciones: Técnicas utilizadas en las diferentes fases de desarrollo para la planificación de tiempos y recursos, los procesos a seguir, la estimación de costes, tareas del personal, etc.
- Evaluaciones: Que van a permitir determinar el grado de finalización del producto concluido e incluso de cada una de las fases del producto.
3 Ciclos de Desarrollo del Software
Una aproximación lógica a la adquisición, el suministro, el desarrollo, la explotación y el mantenimiento del software o un marco de referencia que contiene los procesos, las actividades y las tareas involucradas en el desarrollo, la explotación y el mantenimiento de un producto de software, abarcando la vida del sistema desde la definición de los requisitos hasta la finalización de su uso. Podemos definirlo como el conjunto de fases o etapas, procesos y actividades requeridas para ofertar, desarrollar, integrar, explotar y mantener un producto software.
Tareas:
- Análisis: Construye un modelo de requisitos. Se debe entender y comprender de forma detallada el problema que se va a resolver. Y es importante producir en esta etapa una buena documentación.
- Diseño: Se deducen estructuras de datos, la arquitectura del software, la interfaz del usuario y los procedimientos. Debemos elegir el lenguaje de programación, el sistema gestor de bases de datos, etc.
- Codificación: En esta etapa se traduce lo descrito en el diseño a una forma legible por la máquina. La salida de esta fase es el código ejecutable.
- Pruebas: Se comprueba que se cumplen criterios de corrección y calidad.
- Mantenimiento: Hay que asegurar que el sistema pueda adaptarse a los cambios.
Funciones de un Ciclo de Vida:
- Determinar el orden de las fases y procesos involucrados en el desarrollo.
- Establecer los criterios de transición para pasar de una fase a la siguiente.
Ventajas del Ciclo de Vida:
- Asegura un desarrollo progresivo con controles sistemáticos.
- Se controla el sobrepasar los plazos de entrega y los costes excesivos.
- La documentación se realizará de manera formal y estandarizada simultáneamente al desarrollo.
- Supone una guía para el personal de desarrollo.
- Minimiza la necesidad de rehacer el trabajo y los problemas de puesta a punto.
4 Tipos de Ciclo de Vida
Se trata de primero implementar algo de código y luego pensar acerca de requisitos, diseño, validación, y mantenimiento. Algo así como solucionar los problemas cuando aparezcan, sin realizar ninguna previsión. Este modelo tiene 3 Problemas:
- El código puede tener una muy mala estructura.
- No se ajusta a las necesidades del usuario.
- El código es difícil de reparar por su pobre preparación para probar y modificar.
Por todo esto no es el modelo más recomendable y por lo que fueron apareciendo modelos. Por eso tenemos diferentes alternativas para llevar a cabo un proyecto. Como por ejemplo: Modelos cascada y modelos evolutivos (modelo iterativo incremental, en espiral, desarrollo exploratorio, entre otros).