Historia Desarrollo del Software
martoacTrabajo13 de Septiembre de 2018
3.678 Palabras (15 Páginas)334 Visitas
METODOLOGIA PARA EL DESARROLLO DE SOFTWARE
Lograr la construcción de un sistema informático eficiente, que cumpla con los requerimientos planteados, es una tarea realmente intensa y sobre todo difícil de cumplir. Las metodologías para el desarrollo del software imponen un proceso disciplinado sobre el desarrollo de software con el fin de hacerlo más predecible y eficiente, tienen como principal objetivo aumentar la calidad del software que se produce en todas y cada una de sus fases de desarrollo
Una MDS consiste principalmente en hacer uso de diversas herramientas, técnicas, métodos y modelos para el desarrollo. se considera como una estructura utilizada para planificar y controlar el procedimiento de creación de un sistema de información especializada.
La finalidad es desarrollar productos o soluciones para un cliente o mercado en particular, teniendo en cuenta factores como los costes, la planificación, la calidad y las dificultades asociadas.
Regularmente este tipo de metodologías, tienen la necesidad de venir documentadas, para que los programadores que estarán dentro de la planeación del proyecto, comprendan perfectamente la metodología y en algunos casos el ciclo de vida del software que se pretende seguir.
ORIGEN DE LAS MDS
La Ingeniería del Software ha evolucionado rápidamente de la mano de la evolución de los computadores. Este avance ha supuesto una auténtica revolución en el mundo del software, ya que se ha pasado de la programación artesanal al desarrollo sistemático de programas que ya pueden ser considerados productos desde el punto de vista industrial.
Para muchas personas el software son solo programas de computadora, pero en realidad son todos aquellos documentos asociados a la configuración de datos que se necesitan para hacer que estos programas operen de manera adecuada. El nacimiento de técnicas estructuradas es lo que da origen al desarrollo de aplicaciones a través de métodos de ingeniería. Las metodologías surgen para ordenar y promover el desarrollo de software de calidad sin embargo, ha tenido una evolución constante en las formas en las cuales se realiza la planeación para el diseño del software, básicamente con el objetivo de mejorar, optimizar procesos y ofrecer una mejor calidad.
Las MDS nacen con el proceso de la evolución del Software.
1950:
No existían metodologías de desarrollo.
El coste del hardware era tremendamente superior al del software, tenia por lo tanto una importancia relativa mucho menor. Los primeros ingenieros que se ocupaban del software eran los mismos que desarrollaban el hardware, más enfocados en la tarea de codificar, que en la de recoger y comprender las necesidades de los usuarios.
Se crean los lenguajes de programación como FORTRAN, y COBOL.
1960 – 1970:
Se empieza a hacer evidente que el software se diferencia demasiado del hardware para poder ser tratado de la misma manera y nace la necesidad de buscar alternativas para esquematizar de alguna manera la producción del software.
En el desarrollo de programas, se siguieron ciertos métodos simples que solo se preocupaban por los procesos mas no por los datos, por lo tanto los métodos eran desarrollados hacia los procesos. El modelo de procesos que predominaba consistía en codificar y corregir (Code- andFix).
Se utiliza cualquier combinación de diseño, código, depuración y métodos de prueba no formales que se los aplica hasta que se tiene el producto listo para entregarlo. Si al terminar se descubría que el diseño era incorrecto, la solución era desecharlo y volver a empezar. Este modelo implementaba el código y luego se pensaba en los requisitos, diseño, validación y mantenimiento.
Esto provocó grandes pérdidas en la década de los 70´s sobre el desarrollo de software, dando como resultado una nueva disciplina llamada “Ingeniería del Software” que abarcaría los aspectos técnicos del software y la gestión de datos.
1970 -1985:
Las organizaciones empezaron a comprobar que los costes del software superaban a los del hardware, se volvió claro que los enfoques individuales al desarrollo de programas no escalaban hacia los grandes y complejos sistemas de software.
“Crisis del Software” se da a principios de los años 70, el término expresaba las dificultades del desarrollo de software frente al rápido crecimiento de la demanda por software, de la complejidad de los problemas a ser resueltos y de la inexistencia de técnicas establecidas para el desarrollo de sistemas que funcionaran adecuadamente o pudieran ser validados.
La formación de los profesionales de la Ingeniería del Software se centró entonces en las metodologías estructuradas que supusieron un avance importante en el análisis y diseño de software.
Es así, como la ingeniería del software se comienza a implantar y a valerse de una serie de modelos que establecen y muestran las distintas etapas y estados por los que pasa un producto software, desde su concepción inicial, pasando por su desarrollo, puesta en marcha y posterior mantenimiento, hasta la retirada del producto. A estos modelos se les denomina “Modelos de ciclo de vida del software”.
El ciclo de vida de desarrollo de software o SDLC (Software Develop Life Cicle) empezó a aparecer, a mediados de la década, como un consenso para la construcción centralizada de software, y se establece los estados por los que pasa el producto software desde que nace a partir de una necesidad, hasta que muere.
1970 - Modelo en Cascada por Winston Royce: sugiere un enfoque sistemático y secuencial para el desarrollo del software. Tiene más disciplina y se basa en el análisis, diseño, pruebas y mantenimientos.
1972- Modelo en “V” por Alan Davis: permitió hacer más explícita la tarea de la iteración de las actividades del proceso. Las pruebas en cada fase ayudarían a corregir posibles errores sin tener que esperar a que sean rectificados en la etapa final del proceso. Esto, sumado las pruebas unitarias y de integración se consigue obtener exactitud en los programas.
1972 - Modelo Iterativo: buscaría un mejor desempeño del desarrollo software al reducir el riesgo que surge entre las necesidades del usuario y el producto final por malos entendidos durante la etapa de recogida de requisitos. Propondría en la iteración de varios ciclos de vida en cascada que al final de cada iteración se le entregaría al cliente una versión mejorada o con mayores funcionalidades del producto. Por lo tanto, el cliente es quien después de cada iteración evalúa el producto y lo corrige o propone mejoras. Estas iteraciones se repetirían hasta obtener un producto que satisfaga las necesidades del cliente.
1980 - Modelo de desarrollo incremental por Harlan Mills: enfocado en reducir la repetición del trabajo en el proceso de desarrollo y dar oportunidad de retrasar la toma de decisiones en los requisitos hasta adquirir experiencia con el sistema. Se basaría en la filosofía de construir incrementando las funcionalidades del programa y aplicaría secuencias lineales de forma escalonada mientras progresa el tiempo en el calendario.
1985 -1999:
Model en Espiral por Barry Boehm: se comienza mirando las posibles alternativas de desarrollo, se opta por la de riesgos más asumibles y se hace un ciclo de la espiral. Si el cliente quiere seguir haciendo mejoras en el software, se vuelven a evaluar las nuevas alternativas y riesgos y se realiza otra vuelta de la espiral, así hasta que llegue un momento en el que el producto software desarrollado sea aceptado
1990 - Métodos rápidos: se originaron por la inestabilidad del entorno técnico y el hecho de que el cliente a veces es incapaz de definir cada uno de los requisitos al inicio del proyecto. El término “rápido” es una referencia a la capacidad de adaptarse a los cambios de contexto y a los cambios de especificaciones que ocurren durante el proceso de desarrollo.
También durante esta década se consolida la orientación a objetos (OO) como aproximación para el desarrollo de sistemas informáticos, apareciendo más de cien metodologías, que terminan dando lugar a la aparición del Lenguaje de Modelado Unificado (UML) y el Proceso Unificado (UP).
1991 - Desarrollo rápido de aplicaciones: nace para responder a la necesidad de entregar sistemas muy rápido. El método tiene una lista de tareas y una estructura de desglose de trabajo diseñada para la rapidez; comprende el desarrollo iterativo, la construcción de prototipos y el uso de utilidades CASE (Computer Aided Software Engineering).
1994 - Método de desarrollo de sistemas dinámicos (DSDM): se estableció para crear una metodología RAD unificada, el cual definiría el marco para desarrollar un proceso de producción de software.
1995 SCRUM por Schwaber y Sutherland: se caracteriza por apoyar con un rápido cambio de requisitos y al presentar una guía para las actividades de desarrollo dentro de un proceso de análisis incorporando actividades estructurales como: requerimientos, análisis, diseño, evolución y entrega; demostrando así, ser eficaz para proyectos con plazos de entrega muy apretados, requerimientos cambiante y negocios críticos.
1996 - XP por Ken Beck: fundamentada en la realimentación continua entre el cliente y el equipo de desarrollo, comunicación fluida entre todos los participantes, simplicidad en las soluciones implementadas y coraje para enfrentar los cambios. XP promueve una adecuada práctica para proyectos con requisitos imprecisos y muy cambiantes, y donde existe un alto riesgo técnico.
...