Unidad I: “Metodologías de Desarrollo de Software”
Enviado por Andres Tapia • 31 de Octubre de 2017 • Ensayo • 2.056 Palabras (9 Páginas) • 286 Visitas
[pic 1]
Unidad I: “Metodologías de Desarrollo de Software”
Andrés Tapia Tapia
1216100914
GSI1341
Ingeniería de software I
ISC Javier Jesús Torres Yáñez
Tecnologías de la Información y Comunicación Área Sistemas Informáticos
9 de Septiembre del 2017
Introducción
El ser humano a lo largo de su existencia ha realizado tareas que le han traído beneficios así cono perjuicios. Esto ha sido por causa de que en ocasiones algunas de las tareas realizadas las llevaron a cabo por un proceso claramente especificado, y en los casos contrarios las realizó sin ninguna serie de pasos a realizar.
Una metodología se define como una serie de pasos a seguir que nos llevarán a un determinado resultado, ya sea benéfico o perjudicial. Las metodologías están presentes en cualquier aspecto de nuestra vida cotidiana, e incluso en nuestra vida profesional, sea cual sea. En este caso nos enfocaremos en las metodologías de desarrollo de software.
Las metodologías de desarrollo de software tienen un papel fundamental al momento de llevar a cabo un proyecto en el cual se piensa desarrollar algún tipo de software, ya que no nos podemos aventurar a realizar dicho proyecto sin tener una guía en la cual basarnos y orientarnos, en caso de ser así está más que seguro que dicho software obtenga un resultado negativo o en el peor de los casos que no se culmine, es aquí donde entran las metodologías de desarrollo de software, las cuales están pensadas para el desarrollo correcto de software de calidad y de excelentes resultados.
Metodologías Clásicas
Las metodologías Clásicas “son aquellas que están guiadas por una fuerte planificación durante todo el proceso de desarrollo; llamadas también metodologías tradicionales o clásicas, donde se realiza una intensa etapa de análisis y diseño antes de la construcción del sistema.” (vite, 2013)
Metodología en cascada
“Es el enfoque metodológico que ordena rigurosamente las etapas del proceso para el desarrollo de software, de tal forma que el inicio de cada etapa debe esperar a la finalización de la etapa anterior.” (Maida & Pacienzia, 2015).
De acuerdo con la definición anterior se entiende que la metodología en cascada se basa en una serie de fases que se deben cumplir en un estricto orden y que para continuar con la siguiente etapa se debió de completar exitosamente la fase anterior, y al haber proseguido con la siguiente fase es imposible retornar a cualquier etapa. Aunque cabe mencionar que en algunos casos quienes emplean ésta metodología suelen omitir en parte esta regla, ya que han permitido regresar a alguna etapa, siempre y cuando ésta sea la anterior inmediata a la fase en la que se encontraban.
Sus características principales son:
- Es el más conocido
- Se compone de fases simples y lineales
- No es iterativa
- Su uso principal es cuando los requerimientos son fijos
- No es adaptable a cambios
De acuerdo a varios autores, las fases de esta metodología varían de 5 a 7 fases, aunque en esta ocasión no enfocaremos en 5 fases, ya que son las que la mayoría de autores incluyen en sus modelos:
- Análisis: En esta fase es en la que se recauda la información necesaria para la elaboración de los requerimientos en una entrevista de cara con el cliente.
- Diseño: En esta fase se lleva a cabo la construcción lógica del sistema, tomando en cuenta los requerimientos funcionales y los no funcionales, la estructura de datos y la caracterización de la interfaz que se integrará.
- Codificación: En esta fase es donde se pasa todo lo anterior a lenguaje máquina, en uno o varios lenguajes de programación dependiendo de los requerimientos establecidos anteriormente.
- Pruebas: En esta fase es donde se realizan las pruebas necesarias al sistema tanto de funcionalidad como gráfica. Cabe mencionar que los tipos de pruebas que se pueden realizar en esta fase son las llamadas Pruebas de Caja Blanca y de Caja Negra.
- Verificación: En esta fase el cliente tiene interacción con el sistema con el fin de revisar el producto final y dar la aprobación al mismo.
Ventajas:
- Es un modelo fácil de comprender e implementar
- La planificación es sencilla
- El resultado obtenido es de alta calidad
Desventajas:
- El proceso suele tener una larga duración y por consiguiente un alto costo
- No se puede avanzar si no se ha terminado alguna de las fases
- Si existe algún error en el diseño se tiene que realizar todo el proceso desde cero
Metodología Incremental
Propuesto por Harlan Mills en el año 1980, se le considera una evolución del modelo en cascada ya que se soluciona el problema de no poder retroceder a fases anteriores mejorando más su funcionamiento y reduciendo los riesgos y tiempos de entrega que se presentaban en la metodología en cascada.
Sus características principales son:
- Reduce los riegos
- Las pruebas son constantes
- Los tiempos de entrega son más cortos
- Se pueden realizar las iteraciones necesarias
- Consta de iteraciones
En esta metodología manejaremos el proceso en 4 fases:
- Análisis:
- Diseño:
- Código:
- Prueba:
Metodología Espiral
“El modelo en espiral, propuesto originalmente por Boehm, es un modelo de proceso de software evolutivo que conjuga la naturaleza iterativa de construcción de prototipos con los aspectos controlados y sistemáticos del modelo lineal secuencial. Proporciona el potencial para el desarrollo rápido de versiones incrementales del software.” (Grijalva, 2012)
Esta metodología es considerada como una evolución del modelo en cascada, ya que en este si se permite el regresar a fases anteriores para mejorar la elaboración y corregir errores en el menor tiempo posible, es por eso que se considera como un modelo de desarrollo rápido y eficiente.
...