1. Unidad 1: Arquitectura de
Diseño
Autor(es):
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Plataformas de Desarrollo 2
Mg. Luis Fernando Aguas Bucheli
+593 984015184
@Aguaszoft
Laguas@uisrael.edu.ec
Aguaszoft@Outlook.es
2. “Si puedes soñarlo puedes hacerlo,
recuerda que todo esto comenzó con un
ratón.”
(Walt Disney)
Ciencias de la Ingeniería
Carrera de Sistemas de Información
Plataformas de Desarrollo 2
3. Resultado de Aprendizaje
• Desarrollar soluciones informáticas mediante metodologías,
herramientas y estándares que satisfagan los requerimientos
de las organizaciones sobre la base de los principios de la
sociedad de la información.
6. Introducción
• El Modelo Vista Controlador es un estilo de arquitectura de
software que separa los datos de una aplicación, la interfaz
de usuario, y la lógica de control en tres componentes
distintos.
7. Introducción
• Es una arquitectura importante puesto que se utiliza tanto en
componentes gráficos básicos hasta sistemas empresariales;
la mayoría de los frameworks modernos utilizan MVC (o
alguna adaptación del MVC) para la arquitectura, entre ellos
podemos mencionar a Ruby on Rails, Django, AngularJS y
muchos otros más.
8. Objetivos
• Adquirir los conceptos básicos relacionados con MVC
• Reconocer las características de MVC
9. MVC
• La idea básica de MVC es:
• Separar el código, de tal manera que si necesitamos
hacer un cambio en la base de datos, esto no afecte a
la lógica del programa.
• La función del controlador es solo controlar la
interacción entre ambas capas.
10. MVC Partes
• El Modelo que contiene una representación de los
datos que maneja el sistema, su lógica de negocio, y
sus mecanismos de persistencia.
• La Vista, o interfaz de usuario, que compone la
información que se envía al cliente y los mecanismos
interacción con éste.
• El Controlador, que actúa como intermediario entre el
Modelo y la Vista, gestionando el flujo de información
entre ellos y las transformaciones para adaptar los
datos a las necesidades de cada uno.
11. Modelo
• El Modelo: Todo lo relacionado con la extracción de
datos, ya sea a un archivo de texto, una base de datos
etc.
• En este modelo el patrón mas usado es DAO (Data
Access Object) u Objeto de Acceso a Datos.
12. DAO
• DAO encapsula el acceso a la base de Datos.
• Cuando el controlador necesite interactuar con a base
de datos lo hace a través de la API que ofrece DAO.
• Generalmente esta API consiste en métodos CRUD
(Create, Read, Update y Delete)
13. DAO
Algunos de los lenguajes mas populares que soportan
DAO son:
• Java
• Microsoft .NET
• Python
• PHP
14. VO
Otro Minipatron que se utiliza en la capa del modelo es el
VO (Value Object)
• Consiste simplemente en agrupar varios atributos
dentro de un objeto para enviarlo y recibirlo con mayor
comodidad/seguridad.
• Algo parecido a una estructura de Datos.
• Por lo general se utilizan métodos SET y GET
15. La Vista
• La parte donde se interacciona con el usuario.
• Se especifican cosas como posición de datos, y como
se desplegaran.
• Es la interfaz del usuario
16. Tipos de Interfaz
1. Interfaz de Escritorio:
• Se puede visualizar diferentes tipos de información
simultáneamente.
• Se realizan tareas de control y de dialogo en forma
sencilla.
• La utilización de menús desplegables, botones y
técnicas de presentación que reducen el manejo del
teclado.
17. Tipos de Interfaz
2. Interfaz Web:
• Es la que utiliza un navegador web para comunicarse
con un servidor http para visualizar el contenido o la
pagina web.
• Une los atributos de la interfaz de escritorio y agrega
hipertexto y la multitarea (varias tareas
simultáneamente).
18. Tipos de Interfaz
3. Interfaz Móvil:
• Es la que se utiliza en dispositivos móviles: Celulares,
smartphone, Tabletas
19. El Controlador
• Es el intermediario entre la vista y el modelo.
• Gestiona el flujo de información entre ellos y las
transformaciones para adaptar los datos a las
necesidades de cada uno.
• Recibe los eventos de entrada (un clic, un cambio en
un campo de texto, etc.).
• Delega la búsqueda de datos al modelo y selecciona el
tipo de respuesta más adecuado según las preferencias
del cliente.
21. MVC
• Ya hoy día existen Frameworks (Módulos de software
concretos que sirven de base para la organización y
desarrollo de software), que implementan este patrón
de desarrollo los mas destacados son:
• Grails –> Java
• Spring MVC –> Java
• ExtJs –> JavaScript
• Symfony –> PHP
• Yii–> PHP
• Web2Py –> Python (este utiliza google)
• Django –> Python