sábado, 22 de marzo de 2014

4.- MVC, DISEÑO EN CASCADA Y PROTOTIPOS



El esquema MVC o Modelo-Vista-Controlador se usa para separar el diseño de un sistema en tres partes. Lo explicaré en palabras muy sencillas que, aunque puedan no ser correctas técnicamente, ayudarán a entender que es y para que sirve.

El Modelo es la forma en que se almacenan los datos, es decir tiene que ver con el diseño de la estructura de almacenamiento, los campos de las tablas y bases de datos con sus especificaciones, el método para tener acceso (recuperar) un dato determinado, las transacciones, etc.

Las Vistas son las pantallas e informes que recibe el cliente que está usando el sistema, representa al modelo en una interfaz de usuario que puede ser fácilmente entendible para el cliente.

El Controlador es el que recibe las peticiones que ingresa el cliente y hace peticiones al modelo, es un intermediario o interfaz entre el cliente y el modelo.

Visual Basic, que fue uno de los primeros lenguajes visuales que se desarrollaron, hace esta distinción desde el principio y cualquier sistema que se diseñe consta al menos de dos partes: la primera es diseñar las pantallas de entrada de datos y los informes (las Vistas), la segunda parte es escribir los códigos para recuperar datos, modificarlos y hacer las transacciones (el Controlador). Si se trabaja con bases de datos, el diseño de estas es parte del Modelo.

En lenguajes más recientes (Ruby on Rails por ejemplo), las vistas se hacen en formato de páginas web usando el código HTML, otros lenguajes tienen sus propias herramientas gráficas para crear las interfaces de usuario.

Diseño en cascada y por prototipos
Existen dos metodologías que son las más usadas en la ingeniería de sistemas para el diseño: el diseño en cascada es el más antiguo, se usa mucho para los grandes sistemas muy complejos porque sigue un orden lógico riguroso, tiene las siguientes etapas que se ejecutan una tras otra de manera rígida:
  • Análisis de los Requisitos
  • Diseño del sistema
  • Diseño del programa
  • Codificación
  • Pruebas
  • Implementación
  • Mantenimiento
Su gran inconveniente es la rigidez, que si en una etapa se comete un error o una mala estimación, esta se arrastra y se amplifica lo que puede producir resultados desastrosos.

Diseño por prototipos
El diseño por prototipos parte centrado en los clientes y no es secuencial como el de cascadas sino cíclico. Se conversa con los clientes para determinar que es lo que necesita cada uno y se construye un prototipo, es decir un programa que tiene todas las entradas y muestra todos los informes que necesita, este prototipo normalmente no es funcional sino que sirve solo para que el usuario lo revise y lo ponga a prueba. Luego el prototipo se va refinando de acuerdo a los requerimientos del usuario y finalmente se ensamblan todos los prototipos creados o se codifica el diseño desde cero partiendo por lo aprendido con los prototipos. LAs etapas de esta metodología son:
  • Plan rápido
  • Modelado, diseño rápido
  • Desarrollo del prototipo, prueba de usuario y realimentación
  • Integración de los prototipos
  • Desarrollo definitivo
El inconveniente en este caso es que como se trata de un diseño basado en prueba y error, el código tienede a resultar parchado y poco limpio, es mucho más difícil desarrollar una documentación con especificaciones claras y completas, hay cosas que se pueden pasar por alto porque el desarrollo es menos sistemático.

42 comentarios:

  1. En síntesis; el diseño de un sistema se divide en tres partes según el esquema Modelo Vista Controlador (MVC):

    Modelo : Es el diseño de la estructura de almacenamiento, los campos de tablas y bases de datos.
    Vista : Es la interfaz de usuario comprensible para el cliente.
    Controlador: Es la interfaz cliente-modelo

    Los tipos de diseños que se pueden presentar son:

    En cascada : Antiguo, complejo y riguroso. (Inconveniente: rigidez)
    Por prototipos :Cíclico, poco limpio y menos sistemático. (Inconveniente: se basa en prueba y error)

    Juan Pablo Domínguez (ISIC)

    ResponderEliminar
  2. El esquema, Modelo Vista Controlador (MVC) nos servirá para separar el diseño de un sistema en tres partes.
    - El Modelo: tiene que ver con el diseño de la estructura de almacenamiento, los campos de las tablas y bases de datos con sus especificaciones, recuperar un dato determinado, etc.
    - Las Vistas: Interfaz de usuario, que es entendible para el cliente (pantallas de entrada de datos e informes).
    - El Controlador: es el intermediario entre el cliente y el modelo (hacer transacciones, recuperar datos modificarlos).

    • En lenguajes más recientes las vistas se hacen en formato de paginas web usando el código HTML.

    Diseño en cascada: Es el más antiguo, se usa para sistemas muy complejos, ya que tiene un orden lógico y riguroso, tiene las siguientes etapas:

    -Análisis de los Requisitos
    -Diseño del sistema
    -Diseño del programa
    -Codificación
    -Pruebas
    -Implementación
    -Mantenimiento

    Si se comete un error en esta metodología, éste se arrastrará produciendo resultados desastrosos.

    Diseños por prototipos: Es como ir al sastre, ya que está hecho a la medida del cliente. Al ser un prototipo no es funcional, pero luego se va refinando. Las etapas de esta metodología son:
    -Plan rápido
    -Modelado, diseño rápido
    -Desarrollo del prototipo, prueba de usuario y realimentación
    -Integración de los prototipos
    -Desarrollo definitivo
    Desventajas: el código resulta parchado al ser de prueba y error, también es poco limpio, sin embargo hay cosas que se pueden pasar por alto porque el desarrollo es menos sistemático.

    Preguntas:
    .- Basandome nuevamente en el SAP, se usó el diseño en cascada?
    .- ¿Cuales de estos dos diseños tiene el mayor costo?
    .-¿Cuál es mejor? (En mi opinion creo que los dos son bastante buenos, pero me cuestiono en base a grandes empresas, que les conviene diseñar un sistema que sea como ellos lo quieran pero que habrán cosas que pasarán por alto, o uno riguroso al que ellos se tendrán que adecuar?)
    .-¿Pueden estas metodologías complementarse?

    Celeste Ayelén Soriano (ISIC)

    ResponderEliminar
  3. OK Celeste, tienes tu nota

    Claro, el SAP -como todos los sistemas complejos- seguramente siguió la metodología del diseño en cascada, es imposible hacer un sistema grande de otro modo, pero en la implementacion de usabilidad, ergonomía (facilidad de uso de los menús, minimizar/eliminar clics y pasos inútiles, etc.) también se usó seguramente el diseño por prototipos.

    El costo de las metodologías de diseño depende de la complejidad y tamaño del sistema que estás diseñando, algunos sistemas requieren miles de programadores, arquitectos de software, analistas, etc. trabajando simultáneamente, otros solo unos pocos o incluso un solo programador. La elección de metodología depende más del tipo de sistema (si es pequeño o grande) que del costo de desarrollo.

    Ninguno de los dos sistemas es mejor, tienen distintos propósitos y

    Claro que pueden complementarse, de hecho siempre en un sistema mediano o grande se complementan y las vistas se diseñan normalmente usando la metodología de prototipos mientras que el modelo de datos y el código (controlador) se diseñan usando metodología en cascada pero también se hacen pruebas y depuración con prototipos en ciertas partes específicas del problema

    ResponderEliminar
  4. Entonces en el VISUAL BASIC se hace la distinción sobre el esquema MVC , el modelo tiene que ver con las bases de datos, la vista con la interfaz de usuario y el controlador con la interfaz entre el cliente y el modelo.Tal como se explica en el curso siempre es primero la vista luego los códigos es decir el controlador .Aunque el diseño de cascada tenga el problema de la "rigidez" igual es bastante utilizada por los ingenieros porque sirve para sistemas grandes y complejos. El diseño por prototipos es un tanto flexible pero no es muy eficaz porque es menos sistemático.

    ResponderEliminar
  5. OK Nicolás, tienes tu nota. El modelado por prototipos es muy eficaz cuando diseñas sistemas pequeños, el de cascadas muy eficaz cuando diseñas sistemas grandes y viceversa. Muchas veces se usan ambos combinados

    ResponderEliminar
  6. El "MVC"fue introducido por Trygve Reenskaug en los años 70.
    El "MVC" es la separación del código en tres capas diferentes, Modelo, Vista y Controladores.

    MODELO: "Es la capa donde se trabaja con los datos", contiene mecanismos para acceder a la información y también para la actualizar su estado. Los datos tendrán habitualmente en una base de datos.

    VISTA: como su nombre nos hace entender, contiene el código de nuestra aplicación que va a producir la visualización de las interfaces de usurario, o sea, el código que nos permitirá renderizar los estados de nuestra aplicación en HTML. En la vista nada mas tenemos los cogidos HTML y PHP que nos permite "mostrar la salida"

    CONTROLADORES: Contiene el código necesario para responder a las acciones que se solicitan en la aplicación como visualizar un elemento, realizar una compra, una búsqueda de información, etc.
    En realidad es una capa que sirve de "enlace entre las vistas y los modelos, respondiendo a los mecanismos que pueden requerirse para implementar las necesidades de nuestra aplicación". Su responsabilidad no es manipular directamente los datos, ni mostrar salida, sino de servir de enlace entre los modelos y las vistas.

    Visual Basic y cualquier otro sistema antiguo que se diseñe, consta al menos de dos partes:
    1) Diseñar las pantallas de entrada de datos y los informes (Las vistas).
    2) Escribir códigos para recuperar datos, modificarlos y hacer las transacciones (El controlador). Si se trabaja con base de datos, el diseño de estas es parte del modelo.

    El código HTML se utiliza en lenguaje mas recientes como Ruby on rails por ejemplo, para crear vistas en formato de paginas web.

    DISEÑO EN CASCADA:
    es un diseño antiguo, se utiliza mucho por los grandes sistemas muy complejos, por que sigue un orden lógico riguroso. Estas son las etapas que se ejecutan una tras otra de manera rigurosa:

    - Análisis de los Requisitos
    - Diseño del sistema
    - Diseño del programa
    - Codificación
    - Pruebas
    - Implementación
    - Mantenimiento

    Este diseño tiene un gran inconveniente y esa es la rigidez, si se comete un error o una mala estimación en uno de los pasos, esto provocara resultados desastrosos.

    DISEÑO POR PROTOTIPO:
    Este diseño esta pensado en los clientes y es de tipo secuencial. Primero se conversa con los clientes para determinar y construir un determinado prototipo, normalmente este prototipo no es funcional, solo sirve para la revisión del usuario y que este lo ponga a prueba.
    ( Prototipo = Un programa que tiene todas las entradas y muestra todos los informes que necesitados.)

    Las etapas de esta metodología son:

    - Plan rápido
    - Modelado, diseño rápido
    - Desarrollo del prototipo, prueba de usuario y re alimentación
    - Integración de los prototipos
    - Desarrollo definitivo

    El inconveniente en este diseño a bases de pruebas y errores, es tener un código parchado y poco limpio. Resultado de este diseño poco sistemático es el difícil desarrollo de una documentación con especificaciones claras y competas.

    Jorge Luis Veliz Capetillo (ISICG)

    ResponderEliminar
  7. los tres modelos de sistemas son muy diferentes lo que pude apreciar fue que el MVC se divide en 3 partes :primero el VISUAL BASIC tiene como finalidad ser usado fácilmente por el cliente donde almacena los datos, tiene interacción cliente controlador
    segundo: por cascada su sistema es mas riguroso,es para sistemas grandes,si no se realiza bien puede ser caótico
    tercero:por prototipo es según los que quiere el cliente es cíclico y se le hacen pruebas cuando lo recibe

    felipe castro (ISIC)

    ResponderEliminar
    Respuestas
    1. OK Felipe, MVC es un modelo que se ha usado en casi todos los lenguajes de programación modernos, uno de los primeros en separar la interfaz de usuario de la programación de código fue Visual Basic, pero ahora prácticamente todos los lenguajes visuales lo hacen.
      Modelo es como se graban los datos, Vista es la interfaz de usuario y Controlador es el código.

      Eliminar
  8. en resumen .
    Modelo-Vista-Controlador(MVC) se usa para separar el diseño de un sistema en tres partes.

    -El Modelo
    -Las Vistas
    -El Controlador

    Visual Basic, uno primeros lenguajes visuales que se desarrollaron, cualquier sistema que se diseñe consta al menos de dos partes:
    - diseñar las pantallas de entrada de datos y los informes (las Vistas) -los códigos para recuperar datos, modificarlos y hacer las transacciones (el Controlador). Si se trabaja con bases de datos, el diseño de estas es parte del Modelo.

    Diseños:
    -Diseño en cascada y por prototipos:
    se usa para los grandes sistemas muy complejos porque sigue un orden lógico riguroso.
    -Incoveniente: rigidez, que si en una etapa se comete un error ,esta se arrastra y se amplifica lo que puede producir resultados desastrosos.


    Diseño por prototipos:
    Centrado en los clientes y no es secuencial como el de cascadas sino cíclico. Se conversa con los clientes para determinar que es lo que necesita cada uno y se construye un prototipo.
    -El inconveniente en este caso es que como se trata de un diseño basado en prueba y error, el código tiende a resultar parchado y poco limpio.

    Allyson Antezana (isic)

    ResponderEliminar
  9. El esquema MVC o Modelo-Vista-Controlador se usa para separar el diseño de un sistema en tres partes.

    El Modelo : es la forma en que se almacenan los datos.

    Las Vistas : son las pantallas e informes que recibe el cliente que está usando el sistema.

    El Controlador : es el que recibe las peticiones que ingresa el cliente y hace peticiones al modelo.

    Visual Basic, fue uno de los primeros lenguajes visuales que se desarrollaron, hace esta distinción desde el principio y cualquier sistema que se diseñe consta al menos de dos partes: la primera es diseñar las pantallas de entrada de datos y los informes, la segunda parte es escribir los códigos para recuperar datos, modificarlos y hacer las transacciones.

    Diseño en cascada y por prototipos
    Existen dos metodologías : el diseño en cascada , se usa mucho para los grandes sistemas muy complejos porque sigue un orden lógico riguroso, tiene las siguientes etapas :
    •Análisis de los Requisitos
    •Diseño del sistema
    •Diseño del programa
    •Codificación
    •Pruebas
    •Implementación
    •Mantenimiento
    Su gran inconveniente es la rigidez

    Diseño por prototipos
    El diseño por prototipos parte centrado en los clientes y no es secuencial como el de cascadas sino cíclico. Se conversa con los clientes para determinar que es lo que necesita cada uno y se construye un prototipo, este prototipo normalmente no es funcional sino que sirve solo para que el usuario lo revise y lo ponga a prueba. . LAs etapas de esta metodología son:
    •Plan rápido
    •Modelado, diseño rápido
    •Desarrollo del prototipo, prueba de usuario y realimentación
    •Integración de los prototipos
    •Desarrollo definitivo

    El inconveniente en este caso es que es mucho más difícil desarrollar una documentación con especificaciones claras y completas.

    Claudia choque (ISIC)

    ResponderEliminar
  10. Para el diseño de un sistema se utiliza el esquema de MVC (Modelo-Vista-Controlador)
    Modelo: Es la estructura de almacenamiento de los dato; los campos de tablas y bases de datos con sus respectivas especificaciones , el método para tener acceso a un determinado dato , etc.
    Vista: Es la interfaz de usuario, es decir las pantallas e informes que recibe el cliente que utiliza el sistema, son transformadas a un lenguaje entendible para él.
    Controlador: Es el intermediario entre el cliente y el modelo
    Visual Basic (uno de los primeros lenguajes visuales) para el diseño de un sistema consta al menos de dos partes:
    • Diseñar las pantallas de entradas de datos y los informes
    • Escribir los códigos para recuperar los datos , modificarlos y hacer las transacciones
    Para el diseño de un sistema existen dos maneras que son las más usadas en la ingeniería:
    -. CASCADA: es el más antiguo, es usado en los grandes sistemas muy complejos; su orden es riguroso, y al cometer un error en una de estas etapas puede traer resultados que no son los esperados; se compone de las sgtes. etapas:
    • Análisis de los Requisitos
    • Diseño del sistema
    • Diseño del programa
    • Codificación
    • Pruebas
    • Implementación
    • Mantenimiento
    PROTOTIPO: No son rigurosos, ni tampoco funcional pero a medida que se valla diseñando de acuerdo a los requerimientos o necesidad del cliente se va refinando. Sin embargo es menos sistemático ya que no se desarrollan documentaciones claras y completas. Su etapa es:
    • Plan rápido
    • Modelado , diseño rápido
    • Desarrollo del prototipo, prueba de usuario y realimentación
    • Integración de los prototipos
    • Desarrollo definitivo


    KAREN CALLE LOPEZ (ISIC)

    ResponderEliminar
  11. MVC, facilita el desarrollo y mantenimiento, estos procesos permiten asegurar la calidad en los programas. Nos ayuda a comprender donde esta cada responsabilidad de nuestro sistema y donde tenemos que escribir cada código.

    ResponderEliminar
  12. Hola Profe
    Visual Basic, fue uno de los primeros lenguajes visuales que se consta al menos de dos partes.
    - Diseñar la pantalla entrada de datos y los informes(las vistas)
    - Escribir los códigos para recuperar datos modificados y hacer transacciones (el controlador).
    Si se trabaja con la base de datos el diseño de esta es parte del modelo. En lenguajes mas recientes (Ruby on Rails) las vistas se pueden hacer en formato de paginas Web usando el código HTML.
    Existen dos metodologías mas usadas:
    Diseños de Cascada, este es mas antiguo, se usa mucho para los grandes sistemas muy complejos por que sigue un orden lógico y riguroso.

    En las siguientes etapas de ejecutan de una manera rigida una tras otra:

    - Análisis de los requisitos
    - Diseño del Sistema
    - Diseño del Programa
    - Codificación
    - Pruebas
    - Implementación
    - Mantenimiento

    Su rigidez e un gran inconveniente, ya que si en una etapa se comete un error o ingresa un mal valor ,, arrastra y toma toda la información y los resultados pueden salir los no esperados.

    Diseños por Prototipos:
    No es secuencial como el de Cascada, se reserva con los clientes para determinar que es lo que necesita cada uno y se construye un programa que tienen todas las entradas y muestra los informes que necesita, en lo normal no es funcional solo sirve para que el usuario lo revise y lo tenga a prueba, luego lo va adecuando según se requiera.

    Los inconvenientes:
    Como es un diseño basado en prueba y error, el código tiende a resultar modificado o parchado y poco limpio, mucho mas difícil hacer una documentación con definiciones claras y completas.

    Saludos

    Carolina Vega PAE


    ResponderEliminar
  13. Profesor, entendiendo que en sistemas medianos y grandes se aplica fácilmente la combinación entre un diseño de Cascada y en Prototipo, puedo desprender lo siguiente:
    Asumiendo mi rol de programador, y dado los conocimientos adquiridos en este curso puedo aventurarme al diseño de un programa que satisfaga de manera eficiente y eficaz mis requerimientos administrativos para mi propia PYME y aun cuando lo practicado hasta ahora sea en base a PROTOTIPOS, eso no quiere decir que no pueda combinar ambos tipos de diseño sin ser aplicados propiamente tal en el programa. Es decir no porque mi diseño sea de prototipo voy a dejar de ser riguroso en mis procedimientos y por sobre todo aplicando la ventaja que me proporciona el hecho de ir haciendo pruebas he identificando errores. Funcionaria de manera similar a un informe en el cual tienes que ir entregando estados de avances, sabes tus errores y los vas corrigiendo de inmediato hasta entregar un informe final perfecto. Hago este tipo de ejemplos ya que a modo personal me permite visualizar de manera comparativa lo que parece ser complejo en relación a algo simple y cotidiano. Finalmente surge una interrogante, ¿Qué tan factible es ir creando dos programas de manera paralela, ambos bajo un diseño de prototipos, uno que funcione como un borrador, detectando posibles errores emanados de sus respectivas pruebas y el otro que contenga solo las soluciones y obtener como resultado final un programa con diseño de prototipo limpio y fácil de interpretar para cualquiera?
    Rigoberto Vargas Salazar (PAE)

    ResponderEliminar
  14. Hola Rigoberto,

    Así se hacen normalente los pequeños sistemas. Conversas con el dueño, haces un pequeño borrador en papel, después haces un prototipo no-operacional con las pantallas y los informes (el cliente creerá que tienes listo el programa, debes explicarle que no es así),

    Cuando el cliente está bien seguro que eso es lo que quiere y no más (debes aclararle que no se puede modificar ni agregarle funciones más adelante, que para eso hay que hacer otro programa) en base a eso diseñas la estructura en que almacenarás los datos y el código.

    Es decir partes con la Vista (interfaz de usuario), pasas al modelo (estructura de los datos) y luego el controlador (escribes el código)

    Después tratas de armar el programa siguiendo algunas de as buenas prácticas del diseño en cascada (lista de especificaciones y documentación principalmente)

    ResponderEliminar
  15. El MVC se usa para separar el sistema en 3 partes más fáciles de entender:
    1) MODELO: en donde se almacenan los datos del diseño.
    2) VISTAS: que es el informe que recibe el cliente, hace más fácil la lectura del modelo al cliente.
    3) CONTROLADOR: es quien recibe las necesidades del cliente, es el intermediario entre el modelo y el cliente.

    DISEÑOS DE CASCADA: es usado para grandes y complejas empresas. Tiene un orden específico y por etapas:
    º Analiza los requisitos
    º Diseña el sistema
    º Diseña el programa
    º Codifica
    º Prueba
    º Implementa
    º Mantiene

    DISEÑO DE PROTOTIPO: se centra el los clientes para determinar sus necesidades. Es cíclico y funciona normalmente como parche.Sus etapas son:
    º Plan rápido
    º Modelo y diseño rápido
    º Desarrollo del prototipo, prueba de usuario y re alimentación
    º Integración de los prototipos
    º Desarrollo definitivo

    ResponderEliminar
  16. El esquema MVC cumple como función de separar el diseño del sistema en tres partes; Modelo, Vista y Controlador.

    Modelo: Su función es ver el diseño de la estructura de almacenamiento, campos de las tablas y
    Bases de datos con sus especificaciones.

    Vistas: Pantallas e informes que recibe el cliente que utilice el sistema, es fácil de comprender por el cliente y representa al modelo en una interfaz de usuario.

    Controlador: Recibe las peticiones que ingresa el cliente y hace peticiones al modelo, cumple el rol de intermediario entre el cliente y el modelo.

    En Visual Basic cualquier sistema que se diseñe consta al menos de dos partes:

    1.- Diseñar las pantallas de entrada de voz y los informes ( Vistas )
    2.- Escribir los códigos para recuperar datos, modificarlos y las transacciones ( Controlador )

    En lenguajes más recientes como Ruby on Ralis las vistas se confeccionan en formato de páginas web usando el código HTML y así va variando para los diferentes tipos de lenguaje.

    Diseño de Cascada

    El más antiguo y es utilizado en grandes sistemas muy complejos porque tiene un orden lógico riguroso pero además un gran inconveniente que es la rigidez, es decir que si comete un error en alguna etapa esto retrasaría a todos los demás y puede producir resultados desastrosos. Este diseño consta de las siguientes etapas en este orden:

     Análisis de los Requisitos
     Diseño del sistema
     Diseño del Programa
     Codificación
     Pruebas
     Implementación
     Mantenimiento

    Diseño de Prototipos

    Centrado en los clientes, es más bien cíclico y ve las necesidades del cliente para ver lo que necesita. El prototipo se va refinando a medida de los requerimientos del usuario y finalmente se codifica el diseño desde cero partiendo por lo aprendido. Su inconveniente en este caso sería que se basa en un diseño de prueba y error, el código resulta parchado y poco limpio. Es un desarrollo menos sistemático y las etapas de este diseño son:

     Plan rápido
     Modelado, diseño rápido
     Desarrollo de prototipo
     desarrollo de prototipo, prueba de usuario y re alimentación
     Integración de los prototipos
     Desarrollo definitivo

    ResponderEliminar
  17. Profe mi pregunta es; ¿Que quiere decir la palabra "Interfaz" o "Interfaz de usuario" en este contexto ? Veo que la repite arto en esta lección y no me quedo muy clara

    ResponderEliminar
  18. OK, "interfaz" es algo que está entre otras dos cosas, en computación la interfaz de usuario es lo que está entre el programa y el usuario y permite que ambos interactuen ¿que es entonces una interfaz de usuario? ¡las pantallas pues! que tienen las textoxes donde el usuario entra datos y muestran resultados, listados etc. O sea, interfaz de usuario son las pantallas. Te subiré la nota por la pregunta

    ResponderEliminar
  19. El modelo–vista–controlador (MVC) es un patrón de arquitectura de software que separa los datos y la lógica de negocio de una aplicación de la interfaz de usuario y el módulo encargado de gestionar los eventos y las comunicaciones.
    El patrón MVC fue una de las primeras ideas en el campo de las interfaces gráficas de usuario y uno de los primeros trabajos en describir e implementar aplicaciones software en términos de sus diferentes funciones.
    El Modelo: Es la representación de la información con la cual el sistema opera, por lo tanto gestiona todos los accesos a dicha información, tanto consultas como actualizaciones, implementando también los privilegios de acceso que se hayan descrito en las especificaciones de la aplicación (lógica de negocio). Envía a la 'vista' aquella parte de la información que en cada momento se le solicita para que sea mostrada (típicamente a un usuario). Las peticiones de acceso o manipulación de información llegan al 'modelo' a través del 'controlador'
    El Controlador: Responde a eventos (usualmente acciones del usuario) e invoca peticiones al 'modelo' cuando se hace alguna solicitud sobre la información (por ejemplo, editar un documento o un registro en una base de datos). También puede enviar comandos a su 'vista' asociada si se solicita un cambio en la forma en que se presenta de 'modelo' (por ejemplo, desplazamiento o scroll por un documento o por los diferentes registros de una base de datos), por tanto se podría decir que el 'controlador' hace de intermediario entre la 'vista' y el 'modelo'
    La Vista: Presenta el 'modelo' (información y lógica de negocio) en un formato adecuado para interactuar (usualmente la interfaz de usuario) por tanto requiere de dicho 'modelo' la información que debe representar como salida.
    Modelo en cascada
    Es un proceso secuencial de desarrollo en el que los pasos de desarrollo son vistos hacia abajo (como en una cascada de agua) a través de las fases de análisis de las necesidades, el diseño, implantación, pruebas (validación), la integración, y mantenimiento
    Diseño de Prototipos
    El diseño de prototipos permite desarrollar modelos de aplicaciones de software que permiten ver la funcionalidad básica de la misma, sin necesariamente incluir toda la lógica o características del modelo terminado. Este diseño permite al cliente evaluar en forma temprana el producto, e interactuar con los diseñadores y desarrolladores para saber si se está cumpliendo con las expectativas y las funcionalidades acordadas.

    Hernaldo Rodriguez Estay
    Alumno PAE

    ResponderEliminar
  20. Profesor: con respecto al Diseño de Prototipos, me da la impresión que es muy trabajoso el poder diseñar un software de acuerdo con las necesidades de los usuarios, puesto que en el "camino" se van detectando las falla y por ende se toman las acciones remediales al respecto, la interrogante que me queda es saber si esta práctica (diseño de prototipos) se utiliza en la actualidad con frecuencia? o existe otro mecanismo que permita optimizar los tiempos para el diseño y posterior puesta en marcha del software?

    ResponderEliminar
  21. El diseño de prototipos es trabajoso pero se usa casi siempre, incluso en los diseños grandes donde normalmente se usa una combinación de cascada y prototipos, en los sistemas pequeños es cai lo único que se usa.

    ¿Por que se usa tanto? porque el método de prueba y error en conjunto con los usuarios asegura en cierto modo que despues no aparecerán cuestiones que no se habían considerado en un estudio purament teórico en base a encuestas y entrevistas (diseño en cascada).

    Ambas metodologías tienen cosas buenas y malas, normalmente se usan en conjuntopara distintos aspectos del diseño

    ResponderEliminar
  22. El esquema MVC (Modelo-Vista-Controlador) sirve para separar el diseño de un sistema en tres partes.
    El modelo: Este tiene que ver con el diseño de la estructura de almacenamiento.
    Las vistas: Son las pantallas e informes que recibe el cliente que esta usando el sistema.
    El controlador: Es el que recibe las peticiones que ingresa el cliente y hace peticiones al modelo.
    En lenguajes mas recientes,las vistas se hacen en formato de paginas web usando el código HTML.
    DISEÑO EN CASCADA es el mas antiguo que es muy usado en los grandes sistemas de alta complejidad porque sigue un orden muy lógico riguroso, tiene las siguientes etapas que se ejecutan una tras otra:
    -Análisis de los requisitos
    -Diseño del sistema
    -Diseño del programa
    -Codificación
    -Pruebas
    -Implementacion
    -Mantenimiento
    El gran inconveniente es la rigidez en el cual si es que se comete un error en una de las etapas ,esto puedo producir resultados desastrosos.
    DISEÑO POR PROTOTIPOS
    Parte centrado en los clientes y es cíclico. Se conversa con los clientes para determinar que es lo que necesita cada uno y se construye un prototipo , este normalmente no es funcional sino sirve para que el usuario lo revise y lo ponga a prueba. Luego el prototipo se va adecuando a los requerimientos del usuario y finalmente se ensamblan todos los prototipos creados o se codifica el diseño.Las etapas de esta metodología :
    -Plan rápido
    -Modelado,diseño rápido
    -Desarrollo del prototipo , prueba de usuario y realimentacion
    -Integración de los prototipos
    -Desarrollo definitivo
    El inconveniente es como se trata de un diseño basado en prueba y error , el código puede resultar parchado y poco limpio .

    ¿El diseño de cascada a pesar de ser antiguo igual sigue siendo ocupada?
    No entiendo muy bien sobre el código que puede resultar parchado ,¿ acaso no se puede simplemente borrarlo y escribirlo de nuevo?

    Alejandra Díaz (ISIC)

    ResponderEliminar
  23. Si, el diseño en cascada igual que el de prototipos se usa ampliamente hoy en día, normalmente se usan ambos en combinación en un mismo proyecto, algunas etapas en cascada , otras con prototipos

    "Parchar un código signifcia que encuentras un error y en lugar de escribir todo el programa de nuevo modificas solo las líneas que dieron el error. A veces funciona bien pero otras veces no porque el "parche" que soluciona un problema específico y urgente, puede tener malos efectos sobre otras líneas del programa

    ResponderEliminar
  24. Los programas tienen normalmente cientos, miles y hasta millones de líneas de código, no es posible escribirlos enteros de nuevo cada vez que se encuentra un bug

    ResponderEliminar
  25. PROFE:

    El diseño de un sistema se divide en tres partes según el esquema (MVC):

    Modelo, Es el diseño de la estructura de almacenamiento, los campos de tablas y bases de datos,Vista, Es la interfaz de usuario comprensible para el cliente, Controlador Es la interfaz cliente-modelo

    Los tipos de diseños que se pueden presentar son:

    En Cascada, Antiguo, complejo y riguroso. (Inconveniente: rigidez,Por propósitos, Cíclico, poco limpio y menos sistemático. (Inconveniente: se basa en prueba y error

    Alfredo Santibañez (ISIC)

    ResponderEliminar
  26. el Modelo vista controlador se divide en:
    Modelo: Forma en que se almacenan los datos, diseño de estructura de almacenamiento, campos de las tablas y base de datos con sus especificaciones, el metodo para tener acceso un determinado dato, transacciones.
    vistas: son pantallas o informes que recibe el cliente que esta usando el sistema.
    controlador: recibe peticiones que ingresa el cliente y hace peticiones al modelo, es intermediario entre cliente y modelo.
    visual basic: primeros lenguajes visuales, diseña portadas de entrada datos y los informes.
    Aquí habla de los lenguajes mas recientes ruby on Rails, ¿de que se trata ?, ya que dice que las vistas se hacen en formato de paginas web usando el codigo HTML.
    Atte.
    Joanna Rocha H. (PAE)

    ResponderEliminar
  27. Ruby on rails es otro lenguaje diseñado especialmente para hacer aplicaciones de redes sociales, porue tiene muchas bibliotecas que permiten hacer con unas pocas instrucciones un foro, un blog y otras aplicaciones web interactivas.
    Las pantallas, en lugar de hacerse con el intérprete se hacen con programas similares a los que usamos para hacer páginas web, es decir están en HTML

    ResponderEliminar
  28. Según el esquema Modelo Vista Controlador (MVC), este se divide en tres partes, los cuales son modelo, vista y controlador y se pueden representar en cascada y prototipos.

    ResponderEliminar
  29. El patrón de arquitectura MVC (Modelo Vista Controlador) es un patrón que define la organización independiente del Modelo (Objetos de Negocio), la Vista (interfaz con el usuario u otro sistema) y el Controlador (controlador del workflow de la aplicación).

    De esta forma, dividimos el sistema en tres capas donde, como explicaremos más adelante, tenemos la encapsulación de los datos, la interfaz o vista por otro y por último la lógica interna o controlador.


    El patrón de arquitectura "modelo vista controlador", es una filosofía de diseño de aplicaciones, compuesta por:

    Modelo
    Contiene el núcleo de la funcionalidad (dominio) de la aplicación.
    Encapsula el estado de la aplicación.
    No sabe nada / independiente del Controlador y la Vista.
    Vista
    Es la presentación del Modelo.
    Puede acceder al Modelo pero nunca cambiar su estado.
    Puede ser notificada cuando hay un cambio de estado en el Modelo.
    Controlador
    Reacciona a la petición del Cliente, ejecutando la acción adecuada y creando el modelo pertinente
    Para entender cómo funciona nuestro patrón Modelo vista controlador, se debe entender la división a través del conjunto de estos tres elementos y como estos componentes se comunican unos con los otros y con otras vistas y controladores externos a el modelo principal. Para ello, es importante saber que el controlador interpreta las entradas del usuario (tanto teclado como el ratón), enviado el mensaje de acción al modelo y a la vista para que se proceda con los cambios que se consideren adecuados.
    Cristian Carrasco PAE.

    ResponderEliminar
  30. Lo que me llamo la atencion mas que los Modelos fue esto:

    Diseño de Prototipos

    Centrado en los clientes, es más bien cíclico y ve las necesidades del cliente para ver lo que necesita. El prototipo se va refinando a medida de los requerimientos del usuario y finalmente se codifica el diseño desde cero partiendo por lo aprendido. Su inconveniente en este caso sería que se basa en un diseño de prueba y error, el código resulta parchado y poco limpio.

    Ya que con esto me doy cuenta que todo se acopla y se adapta al cliente.

    Saludos.
    Gina Ramos A.
    PAE ADMINISTRACIÓN DE EMPRESAS

    ResponderEliminar
  31. Entonces podemos concluir que el modelo MVB esta destinado a separar un modelo en 3 secciones.
    El modelo tiene relación con el diseño de la estructura de almacenamiento, la base de datos y los métodos para tener acceso a determinada información.
    Como visual basic es uno de los primeros y principales lenguajes codificados, donde se genera una partida primeramente el imput de informaciones e informes y luego escribir códigos y moficarlos.
    El diseño cascada es riguroso y sus etapas se ejecutan de manera rígida, lo cual en algunas ocasiones puede ser una falencia, llevándolo a conseguir resultados no muy óptimos.
    El diseño por prototipo es cíclico e interactúa con el cliente según su necesidad y se ajusta, lo negativo es que a veces es difícil desarrollar documentaciones claras y concretas, y tiene un desarrollo menos sistemático.
    Jose Huanca Choque PAE

    ResponderEliminar
  32. Como alumno, me resulta interesante poder entender el esquema MVC.

    Modelo - Vista . Controlador.

    Esta todo de la mano, por lo general el cliente esta acostumbrado a ver la parte de diseño, que dentro del esquema MVC se clasifica en Vista.

    Todavia recuerdo las lineas y lineas de programación que debian hacerse antes, en los lenguajes de programación más antiguos, para llegar a una visual, a un diseño para el cliente que sea amigable con la tarea que debiera ejecutar.

    hoy por hoy, por ejemplo disponemos de visual basic (que ya es un lenguaje antiguo, pero util y funcional, que nos posibilita dibujar la interface de manera rapida en comparación a lenguajes más antiguos, que se ejecutaban en MSDOS) y es ahi, donde aplicamos conceptos tan importantes como son el Modelo que es el entendimiento, la estructura y la forma de como yo voy a almacenar los datos para dicha ejecución y el Controlador quien es el que recibe las peticiones que ingresa el cliente y hace peticiones al modelo, es un intermediario o interfaz entre el cliente y el modelo.

    Saludos Profesor
    Atentamente Cristian Gómez
    Alumno Pae Ing en Administración de Empresas

    ResponderEliminar

Nota: solo los miembros de este blog pueden publicar comentarios.