Ingeniería de software
Ingeniería de software
Todos en algún momento hemos trabajado con un software, tanto es así que sin este, el uso de una computadora no tendría sentido. Pero detrás de estos se desarrolla la ingeniería de software que es la rama de la ciencia de la computación que busca principios que sirvan como guía al desarrollo de sistemas de software complejos y de gran tamaño. Esto no es trabajo de una sola persona, sino de quipos que buscan innovar a lo largo del tiempo y con personal que puede variar.
Las principales razones por las que puede fallar un software son:
-Metas de proyecto poco realistas.
-Estimaciones inexactas de los recursos necesarios.
-Requisitos del sistema mal definidos.
-Informes deficientes del estado del proyecto.
-Riesgos no gestionados.
-Mala comunicación entre clientes, desarrolladores y usuarios.
-Uso de tecnología inmadura.
-Incapacidad para manejar la complejidad del proyecto.
-Prácticas de desarrollo descuidadas.
-Mala gestión de proyectos.
-Políticas de los accionistas.
-Presiones comerciales.
Ante estas situaciones se ofrecen algunas herramientas que pueden lidiar con esto:
-Sistema de planificación de proyectos.
-Sistema de gestión de proyectos.
-Herramientas de documentación.
Sistema de prototipado y simulación.
-Sistemas de programación.
La primera fase del ciclo de vida del software es el desarrollo. El primer paso es el análisis de requisitos, donde se entiende lo que se debe desarrollar para después implementarlo; después, el diseño, que consiste en plantear una posible solución que pueda ser programada; el siguiente paso es la implementación, que implica la creación del programa; finalmente, tenemos las pruebas, que elimina los errores y se asegura que el programa coincide con lo pedido.
Una vez que el desarrollo ya esta listo podemos ver que el ciclo de vida del software continua. Los siguientes pasos se mantendrán por el resto de la vida útil del software. El “uso" es el siguiente paso, seguido de “mantenimiento” y nuevamente “uso”. La parte de mantenimiento debe ser esencial ya que puede incorporar correcciones y actualizaciones. El problema radica cuándo el equipo encargado del mantenimiento no es el encargado del desarrollo ya que a veces puede resultar muy complicado entender la programación actual, por lo que sería más sencillo empezar de 0.
Si bien ya conocemos el ciclo de vida del software, los métodos de la ingeniería del software son diversos entre ellos tenemos:
-Modelo en cascada: Es un proceso secuencial.
-Modelo incremental: Es un modelo donde el primer sistema es una versión simplificada, con una función limitada, del producto final.-Modelo iterativo: Es un modelo donde la primer versión no cuenta con todas las características, por lo que se le van añadiendo a lo largo del tiempo.
-Proceso unificado racional: Un paradigma de desarrollo de software que redefine los pasos de la fase de desarrollo del ciclo de vida del software y proporciona directrices para llevar a cabo esos pasos.
-Prototipado rápido: Se construye rápidamente una versión inicial del sistema propuesto. El objetivo no es una versión funcional, sino conseguir una herramienta demostración que pueda aclarar los requerimientos.
-desarrollo de código fuente abierto (Open Source): Un autor escribe la versión inicial del software y publica el código fuente en Internet. Posteriormente, el código puede ser descargado y modificado por otros usuarios sin costo.
-Métodos ágiles: implementación rápida y temprana basada en el concepto incremental, una adecuada capacidad de respuesta a las variaciones en requisitos y menor énfasis en la rigurosidad del análisis de requisitos y el diseño.
Comentarios
Publicar un comentario