Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 5

Infografía – METODOLOGÍA DE DESARROLLO EN CASCADA Y OBJETOS

Tema Contenido

Presentación Bienvenido y bienvenida, hoy abordaremos el tema de metodología de desarrollo en cascada y objetos.
del tema.

Introducción Para el desarrollo de sistemas existen varias metodologías como modelo de prototipos, modelo en espiral,
desarrollo por etapas y desarrollo ágil. Sin embargo, en este material veremos la de desarrollo en cascada y como
lo complementa el desarrollo orientado a objetos.
Metodología de desarrollo en cascada:
El modelo en cascada propone dividir en fases cada etapa del desarrollo de software y completar cada una de
ellas en un orden específico, es decir, no puedes iniciar la “fase 2” hasta que hayas concluido la “fase 1”.
Otra de las características del modelo en cascada, es que debes de hacer un análisis y comprobación del
funcionamiento de cada una de las fases al concluirlas, antes de pasar a la siguiente, detectando así los posibles
errores y corrigiéndolos antes de avanzar.
¿Y para qué sirve el modelo en cascada? Este proceso permite que puedas relacionar cada una de las etapas
del modelo en cascada con la anterior, de esta manera, considerar los elementos que debes quitar o añadir en la
fase siguiente.

Pasos de la Hay cinco pasos que son los siguientes:


metodología 1.- Análisis:
Esta es la etapa de preparación del proyecto. Debe hacerse un estudio de viabilidad y una definición de los
requisitos. En el estudio de viabilidad se evalúan los costes, la rentabilidad y la factibilidad del proyecto de
software. El resultado es una descripción general de los requisitos, un plan y una estimación financiera del
proyecto, así como una propuesta para el cliente, si fuera necesario.
A continuación, se define detalladamente los requisitos, incluyendo un análisis de la situación de salida y un
concepto. Mientras que los análisis de salida se encargan de describir la problemática en sí, el concepto ha de
definir qué funciones y características debe ofrecer el producto de software para cumplir con las
correspondientes exigencias. La definición de los requisitos da como resultado un pliego de condiciones, una
descripción detallada de cómo se han de cumplir los requisitos del proyecto, así como un plan para la prueba de
aceptación, entre otros.
Por último, los problemas complejos se dividen en pequeñas tareas secundarias y se elaboran las
correspondientes estrategias de resolución.
2.- Diseño:
La fase de diseño sirve para formular una solución específica en base a las exigencias, tareas y estrategias
definidas en la fase anterior. Los desarrolladores de software se encargan de diseñar la arquitectura de
software, así como un plan de diseño detallado del mismo, centrándose en componentes concretos, como
interfaces, entornos de trabajo o bibliotecas. La fase de diseño da como resultado un borrador preliminar con el
plan de diseño del software, así como planes de prueba para los diferentes componentes.
Dentro de esta parte se sitúa la programación orientada a objetos, que influye en la arquitectura de la solución.
3.- Implementación:
La arquitectura de software concebida en la fase de diseño se ejecuta en la fase de implementación, en la que
se incluye la programación del software, la búsqueda de errores y las pruebas unitarias.
En la fase de implementación, el proyecto de software se traduce al correspondiente lenguaje de programación.
Los diversos componentes se desarrollan por separado, se comprueban a través de las pruebas unitarias y se
integran poco a poco en el producto final. La fase de implementación da como resultado un producto de
software que se comprueba por primera vez como producto final en la siguiente fase (prueba alfa).
4.- Verificación:
La fase de prueba incluye la integración del software en el entorno seleccionado. Por norma general, los
productos de software se envían en primer lugar a los usuarios finales seleccionados en versión beta (pruebas
beta).
Las pruebas de aceptación diseñadas en la fase de análisis permiten determinar si el software cumple con las
exigencias definidas con anterioridad. Aquellos productos de software que superan con éxito las pruebas beta
están listos para su lanzamiento.
5.- Mantenimiento:
Finalmente, es momento de analizar los resultados del paso anterior y realizar los cambios pertinentes (si es
que son necesarios), para dar por concluido el proyecto.
Es probable se tenga que regresar a las fases anteriores del modelo en cascada más de una vez cada cierto
tiempo para comprobar que se adapta a los cambios de su entorno, ya que con lo rápido que se dan los
cambios en la tecnología hoy en día, es esencial que mantengas tu software constantemente actualizado para
que siga siendo relevante.

Pro y contra de Ventajas:


la Metodología Es antigua, pero sencilla
en Cascada
Solo usar si el proyecto es muy pequeño: 2 semanas
Desventajas:
Requiere que lo que se va a construir esté plenamente definido, lo cual la mayoría de las veces es inviable
Requiere que los requerimientos no cambien durante el largo de vida del proyecto o se podría extender
indefinidamente
Es una metodología OBSOLETA, las metodologías ágiles y aquellas que contemplan requerimientos
cambiantes la han desplazado definitivamente
Diseño Para diseñar un aplicativo uno podría hacerlo dividiéndolo en funciones o subprogramas, los cuales ayudarían a
Orientado a dividir las tareas del aplicativo en bloques. Sin embargo, conforme crece el aplicativo es más difícil de hacer
Objetos seguimiento sobre que hace cada función, razón por la que se empiezan a colocar nombres más descriptivos
pero muy grandes haciendo más engorroso el desarrollo.
La alternativa es encontrar los sujetos, roles, etc que forman parte del problema y representarlos en el aplicativo
asignándoles características y acciones, logrando facilitar la comprensión del diseño creando estos objetos y
relacionándolos entre sí.
Existen muchos lenguajes de programación que implementan objetos en diversos grados como son C++, C#,
Java, Kotlin, entre otros.
El diseño orientado a objetos se apoya en las características de la programación orientada a objetos, la cual
busca reutilizar código. Entre los conceptos importantes relacionados debemos conocer:
Clase: Es una plantilla reutilizable a partir de la cual podemos crear muchos objetos. Tiene características que
la describen y ejecuta acciones. Suele relacionarse con otras clases
Herencia: Es una plantilla reutilizable a partir de la cual podemos crear muchas clases. Nos da flexibilidad para
sobreescribir acciones existente y permite ahorrar muchas líneas de código
Abstracción: Permite definir una clase que obliga a otras a que tengan definidas acciones con ciertos nombres
predefinidos.
Encapsulamiento: Cada objeto no permite que accedan a sus características directamente sino por mensajes,
para lo cual se usan acciones (get y set como en Java) u otro parecido (propiedades como en C#. Val y var en
Kotlin).
Adicionalmente para diseñar sistemas orientados a objetos se suele usar la notación UML que nos aporta una
serie de diagramas que sirven como planos de construcción de los sistemas, entre ellos podemos destacar el
de casos de usos, el diagrama de clases y el de actividades.
El diseño orientado a objetos llegó para quedarse por la facilidad que da para programar, sin embargo, también
genera más problemas de los necesarios si el lenguaje de programación obliga a usar objetos en todo momento
como en el caso de Java o C#, por lo que los nuevos lenguajes están tratando de que los objetos sean
opcionales y por tanto una ayuda, entre estos podemos mencionar a Kotlin, C# v10.
Diagrama de casos de uso:
Muestra las opciones del sistema desde el punto de vista de los participantes.
Diagrama de actividades:
Muestra el proceso que atenderá el sistema.
Diagrama de clases:
Muestra las clases y sus relaciones ente ellas.

También podría gustarte