Pihm 1

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

UNIVERSIDAD AUTÓNOMA

CHAPINGO

INGENIERÍA MECATRÓNICA AGRÍCOLA

Programación de interfaz hombre máquina.

Profesor:
Dr. Luis Arturo Soriano Avendaño
Alumno:
Adriel Abnal Narvaez

Grado y Grupo:
6° 6

Informe escrito N. 1

31/07/2020

Ciclo escolar: 2019-2020


Índice
Página
Introducción 3
Desarrollo 4
Patrones de diseño de arquitectura 5
Modelo vista controlador 6
Diseño y modelo mediante UML 6
Conclusiones 6
Bibliografía y referencias 7

PÁGINA | 2
Introducción
Los patrones de diseño son una importante técnica para facilitar la construcción de software
orientado a objetos. Los medios de programación deberían incluir herramientas que faciliten el uso
de los patrones de diseño. Para poder integrar los patrones de diseño en esas herramientas es
necesario disponer de una arquitectura flexible que permita utilizarlos eficientemente.
La importancia de los patrones de diseño se encuentra en el aprovechamiento de la experiencia de
los expertos que han identificado y documentado estrategias para la solución de problemas
específicos. Sin embargo, a pesar de su aceptación, son pocos los entornos de desarrollo actuales
que dan soporte al trabajo con patrones de diseño.
Por otro lado, el concepto de arquitectura (orientado a software para este trabajo) se refiere a la
estructuración del sistema que, idealmente se crea en etapas de desarrollo. El no crear este diseño
en etapas tempranas del desarrollo puede limitar el producto final y no satisfacer las necesidades
de los clientes. Aun así, este concepto tiende a ser malentendido y la falta de compresión al respecto
de sus principios frecuentemente afecta de manera negativa en la construcción de sistemas de
software.
El objetivo de este informe es presentar como las tecnologías de diseño que interactúan con
usuarios utilizadas en la actualidad requieren de patrones de diseño de arquitectura para poder
satisfacer los atributos de calidad solicitadas por los usuarios y servir como guía de desarrollo para
nuevas tecnologías. Todo ello a través del estudio de los elementos que constituyen a las
tecnologías de diseño, así como de los modelos de arquitectura de software más empleados.

PÁGINA | 3
Desarrollo
Los patrones de diseño son una importante técnica que facilita la construcción de software
orientado a objetos. Para poder integrar los patrones de diseño es necesario conocer algunos
elementos que constituyen a las tecnologías de diseño utilizadas en la actualidad.
Tenemos a los motores de base de datos, una base de datos se define como; “Almacenamiento de
un conjunto de información organizada, para acceder a ella se necesita de programas o
aplicaciones”(1) ; entonces un motor de ellos es el servicio principal para almacenar, procesar y
proteger los datos proporcionando un acceso controlado. Los usuarios pueden interactuar con los
motores de bases de datos a través de aplicaciones que son programas informáticos diseñados
como herramientas para realizar operaciones específicas, estas pueden ser de escritorio, web o
para móvil.
Dichos programas informáticos o aplicaciones se crean a partir de lenguajes de programación, estos
podríamos decir que son cualquier notación para la descripción de algoritmos y estructuras de
datos que, generalmente, se encuentran en notación de un lenguaje de alto nivel y necesita ser
interpretado por una maquina o dispositivo que se emplea en forma de un lenguaje de bajo nivel,
esta traducción es la definición de una herramienta llamada compilador.
Como se ha mencionado, las aplicaciones pueden ser para la web como ejemplo tenemos a
Facebook, Twitter, LinkedIn, entre otras, que sirven para acceder a los recursos de conocimiento
disponibles en internet utilizando un navegador. Las tecnologías para el desarrollo de software
web se dividen en: (2)

• Frontend: son aquellas tecnologías de desarrollo web del lado del cliente, es decir, las que
corren en el navegador del usuario y que son básicamente tres: HTML, CSS y JavaScript. El
frontend se enfoca en el usuario, en todo con lo que puede interactuar y lo que ve mientras
navega.
• Backend: es aquello que se encuentra del lado del servidor y se encarga de interactuar con
bases de datos, verificar maniobras de sesiones de usuarios, montar la página en un servidor y
servir todas las vistas creadas por el desarrollador frontend.
Entre los lenguajes más utilizados tenemos (Tabla 1):

Tabla 1 Frontend Backend


Es un lenguaje de marcado de los contenidos de es de código abierto muy usado en el desarrollo
un sitio web, es decir, para designar la función de web, ya que puede incrustarse en HTML. El código
HTML PHP
cada elemento dentro de la página: titulares, se ejecuta en el servidor, genera HTML y se lo envía
párrafos, listas, tablas, etc. al cliente.
Es un lenguaje de hojas de estilo creado para Su programación se orienta a objetos y se emplea
controlar la presentación de la página definiendo para hacer aplicaciones genéricas (juegos, web o
CSS Python
colores, tamaños, tipos de letras, posiciones, de escritorio), en la informática científica y big data,
espaciados, etc. que ahora está muy de moda
Es un lenguaje de programación interpretado que Se trata de una evolución de Java y C++ que
se encarga del comportamiento de una página amplía el modelo orientado a objetos gracias a los
JavaScript C#
web y de la interactividad con el usuario. llamados atributos, que almacenan información
sobre clases,
Tabla 1

PÁGINA | 4
Patrones de diseño de arquitectura.
Podemos definir un patrón de diseño como un boceto, base o esqueleto de soluciones a problemas
comunes o recurrentes en desarrollo de software. En otras palabras, es una solución probada que
se ajusta a las necesidades de determinado tipo de sistema o aplicación. Los patrones se dividen
en distintos grupos según el tipo de problema que resuelven los cuales son (Esquema 1):

Esquema 1

En el ámbito de los patrones de diseño de software es común escuchar el término “arquitectura de


software”. Su concepto se refiere a la estructuración del sistema que, idealmente se crea en etapas
tempranas del desarrollo(3). Existen distintos modelos de arquitectura y procesos de desarrollo,
podemos encontrar los siguientes ejemplares comunes, que describen los elementos y la relación
entre ellos:
Modelo Descripción
Puede utilizarse para estructurar programas que pueden
Programación por capas. descomponerse en subtareas. Cada una de ellas proporciona
servicios a la capa siguiente.
El primero, se encarga de proporcionar servicios a múltiples
Patrón cliente-servidor. componentes del cliente, mientras que este solicita servicios
del servidor.
Suele utilizarse para replicaciones en la base de datos. Estas
Patrón maestro-esclavo. dos partes distribuyen el trabajo y calculan el resultado final de
toda la actividad que realizan dichos esclavos.
En la ingeniería de software, el filtro de tubería se aplica cuando
Filtro de tubería. los datos de entrada deben transformarse en datos de salida a
través de componentes para el cálculo.
Es usado para estructurar sistemas distribuidos con
Patrón intermediario. componentes desacoplados. El responsable de coordinar la
comunicación entre los componentes es el intermediario.
Divide una aplicación interactiva en tres partes (modelo, vista,
Modelo-vista-controlador. controlador) encargadas de contener la funcionalidad, mostrar
la información al usuario y manejar su entrada.
Es usado para el diseño de un componente que interpreta
Patrón de intérprete. programas escritos en un lenguaje y define cómo hacer la
evaluación de las líneas de programas.
Sus principales elementos son: la pizarra, fuente de
Patrón de pizarra. conocimiento y componente de control. Suele utilizarse para el
reconocimiento de voz, identificaciones, seguimientos, etc.
Todos los elementos individuales se les denomina ‘pares’, que
Patrón de igual a igual pueden funcionar tanto como ‘cliente’, como ‘servidor’.
Además, pueden ir cambiando su rol con el paso del tiempo.
Tabla 2

PÁGINA | 5
Modelo vista controlador
El MVC es un modelo de arquitectura de software utilizada para separar el código por sus distintas
responsabilidades, manteniendo distintas capas que se encargan de hacer una tarea muy concreta.
Es usado generalmente en sistemas donde se requiere el uso de interfaces de usuario(4).
La arquitectura MVC propone la separación de los componentes de una aplicación en tres grupos
(o capas) principales: el modelo, la vista, y el controlador.

• Modelo: contiene principalmente las entidades que representan el dominio, la lógica de negocio,
y los mecanismos de persistencia de nuestro sistema.
• Vista: encontramos los componentes responsables de generar la interfaz con el exterior, por
regla general, aunque no exclusivamente, el UI de nuestra aplicación.
• Controlador: se encuentran los componentes capaces de procesar las interacciones del usuario,
consultar o actualizar el Modelo, y seleccionar las Vistas apropiadas en cada momento.
Diseño y modelo mediante UML
UML refiere a un estándar para crear esquemas, diagramas y documentación relativa a los
desarrollos de software. Una parte del UML detalla, entonces, una abstracción con significado de
un lenguaje para expresar otros modelos.
El modelado no es más que la construcción de un modelo a partir de una especificación. Un modelo
es una abstracción de algo, que se elabora para comprender ese algo antes de construirlo; el
modelo omite detalles que no resultan esenciales para la comprensión del original y por lo tanto
facilita dicha comprensión(5).

Conclusión
Aunque todos los patrones de diseño que se han definido en este informe comunican la imagen de
un sistema, no son arquitecturas en sí. El mundo de los de los desarrolladores es largo y complejo,
pero la arquitectura de los sistemas y aplicaciones es vital para su funcionamiento. La arquitectura
es quien diseña todas las entrañas del software, desde la estructura de sus datos hasta los
algoritmos permitiendo crear bases solidas para los proyectos, definir una plataforma escalable y
mejorar el rendimiento además de la calidad de los productos finales.

PÁGINA | 6
Bibliografía y referencias.
• (1) Jim, C. A., Olmos, R. S., Mel, J., Ruizdiaz, J. C., & Sarmiento, J. C. (2017, 11 mayo). Estudio
comparativo entre motores de base de datos Oracle 12C y DB2 como apoyo a los
administradores de base de datos | Investigación y desarrollo en TIC. Investigación y desarrollo
en TIC. https://revistas.unisimon.edu.co/index.php/identic/article/view/2514
• (2) (Tabla 1)Mestres, A. F. (s. f.). Introducción al frontend y backend. Tecnologías y herramientas
para el desarrollo web. Recuperado 30 de julio de 2020, de
http://cv.uoc.edu/annotation/a9c35c372dcee6e6b92afad6993cd048/620334/PID_002502
14/PID_00250214.html
• (Tabla 1)1&1 IONOS Inc. (2020, 8 julio). Lenguajes de programación web. IONOS Digital Guide.
https://www.ionos.mx/digitalguide/paginas-web/desarrollo-web/lenguajes-de-programacion-
web/
• (Esquema 1) L. (2018, 1 septiembre). Patrones de Diseño. Dominio Tic.
http://dominiotic.com/patrones-de-diseno/
• (3) Cervantes, H. (s. f.). Arquitectura de Software. SG Buzz. Recuperado 30 de julio de 2020, de
https://sg.com.mx/revista/27/arquitectura-software
• (Tabla 2) C. (2020, 27 febrero). Patrones comunes de arquitecturas de software. Conasa.
https://conasa.grupocibernos.com/blog/patrones-comunes-de-arquitecturas-de-software
• (4) Aguilar, J. M. (2019, 15 octubre). ¿Qué es el patrón MVC en programación y por qué es útil?
campusMVP.es.https://www.campusmvp.es/recursos/post/que-es-el-patron-mvc-en-
programacion-y-por-que-es-util.aspx
• (5) Krall, C. (s. f.). ¿Qué es y para qué sirve UML? Versiones de UML (Lenguaje Unificado de
Modelado). Tipos de diagramas UML. www.aprenderaprogramar.com. Recuperado 30 de julio
de 2020.
• C. (2020, 27 febrero). Patrones comunes de arquitecturas de software. Conasa.
https://conasa.grupocibernos.com/blog/patrones-comunes-de-arquitecturas-de-software
• Capdevila, J. P. (s. f.). Las Tecnologías Web. tecnoweb2.com. Recuperado 30 de julio de 2020,
de https://tecnoweb2.com/tecnologias-web
• Compiladores. (s. f.). Junta de Andalucia. Recuperado 30 de julio de 2020, de
http://www.juntadeandalucia.es/empleo/recursos/material_didactico/especialidades/materialdi
dactico_administrador_servidores/Content/1-so/3-AnexoCompiladores.pdf
• Cultura tecnológica: ¿Qué son las aplicaciones o programas? (s. f.). GCFGlobal.org. Recuperado
30 de julio de 2020, de https://edu.gcfglobal.org/es/cultura-tecnologica/que-son-las-
aplicaciones-o-programas/1/
• Hernández, A. R. (2000, febrero). Antología de Lenguajes de Programación. UANL.
http://eprints.uanl.mx/7605/1/1020130072.PDF
• Krall, C. (s. f.). ¿Qué es y para qué sirve UML? Versiones de UML (Lenguaje Unificado de
Modelado). Tipos de diagramas UML. www.aprenderaprogramar.com. Recuperado 30 de julio
de 2020, de
https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=688:i
que-es-y-para-que-sirve-uml-versiones-de-uml-lenguaje-unificado-de-modelado-tipos-de-
diagramas-uml&catid=46&Itemid=163

PÁGINA | 7
• PATRONES DE ARQUITECTURA Y DISEÑO DE SOFTWARE. (2018, 14 agosto). Software Web &
Apps. https://www.desarrollodepaginasweb.com.mx/patrones-de-arquitectura-de-software/
• Rodriguez, G. (2013, 25 octubre). MOTORES DE BASE DE DATOS. prezi.com.
https://prezi.com/ry9ckaivktcx/motores-de-base-de-datos/?fallback=1

PÁGINA | 8

También podría gustarte