Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Cuestionario 1
Cuestionario 1
Matricula:
Maestra:
Tema:
1
El diagrama de secuencias es un esquema conceptual que permite representar el
comportamiento de un sistema, para lo cual emplea la especificación de los
objetos que se encuentran en un escenario y la secuencia de mensajes
intercambiados entre ellos, con el fin de llevar a cabo una transacción del sistema.
El diagrama de secuencias, que se define en UML (Unified Modeling Language),
es uno de los más utilizados para identificar el comportamiento de un sistema
(Pressman, 2005), por representar los objetos que se encuentran en el escenario y
la secuencia de mensajes intercambiados entre los objetos para llevar a cabo la
funcionalidad descrita por una transacción del sistema. Además, se utiliza con
frecuencia para validar los casos de uso y apreciar la lógica del diseño de forma
dinámica (Ambler, 2005; Fowler y Scott, 1997 y 2003).
Existen diversos proyectos y herramientas que buscan facilitar la extracción de la
información necesaria para la generación automática de esquemas conceptuales
(incluyendo el diagrama de secuencias), con el fin de agilizar el desarrollo de las
aplicaciones de software. Los diferentes enfoques se pueden clasificar en dos
puntos de partida: especificaciones textuales en lenguaje natural y código fuente.
Estos proyectos y herramientas, sin embargo, aún presentan algunas fallas por
mejorar:
Algunos se enfocan en diagramas diferentes al de secuencias, lo cual deja
de lado las particularidades de ciertas restricciones del sistema que sólo se
pueden representar en dicho diagrama.
Los que se enfocan en el diagrama de secuencias sólo obtienen los
elementos básicos, dejando de lado importantes elementos que permiten
expresar condiciones especiales y apreciar la lógica del diseño de forma
dinámica (como es el caso de los fragmentos combinados).
Los que parten del código fuente se convierten en herramientas
interesantes para revisar el diagrama de secuencias a posteriori, es decir,
en una fase más avanzada del ciclo de vida del software, y como tales
permiten la realización de ingeniería inversa. Sin embargo, si se pretende
agilizar el desarrollo de software es preferible identificar el diagrama de
secuencias desde las fases iniciales del desarrollo y no esperar a la
implementación del código fuente para su obtención.
[Fecha]
2
2. ¿Qué es un diagrama?
4
Diagrama de árbol. Permite estructurar las ideas de manera jerárquica e ir
descendiendo de nivel en cada escalón del diagrama, a medida que se
detalla el tema. Su estructura, partiendo de un elemento ‘raíz’ y mostrando
las conexiones o ‘ramas’, permite identificar las tareas necesarias para
llegar a una solución.
5
Un diagrama de flujo es un diagrama que describe un proceso, sistema o
algoritmo informático. Se usan ampliamente en numerosos campos para
documentar, estudiar, planificar, mejorar y comunicar procesos que suelen ser
complejos en diagramas claros y fáciles de comprender. Los diagramas de flujo
emplean rectángulos, óvalos, diamantes y otras numerosas figuras para definir el
tipo de paso, junto con flechas conectoras que establecen el flujo y la secuencia.
Pueden variar desde diagramas simples y dibujados a mano hasta diagramas
exhaustivos creados por computadora que describen múltiples pasos y rutas. Si
tomamos en cuenta todas las diversas figuras de los diagramas de flujo, son uno
de los diagramas más comunes del mundo, usados por personas con y sin
conocimiento técnico en una variedad de campos. Los diagramas de flujo a veces
se denominan con nombres más especializados, como "diagrama de flujo de
procesos", "mapa de procesos", "diagrama de flujo funcional", "mapa de procesos
de negocios", "notación y modelado de procesos de negocio (BPMN)" o "diagrama
de flujo de procesos (PFD)". Están relacionados con otros diagramas populares,
como los diagramas de flujo de datos (DFD) y los diagramas de actividad de
lenguaje unificado de modelado (UML).
Los diagramas de flujo son importantes porque nos facilita la manera de
representar visualmente el flujo de datos por medio de un sistema de tratamiento
de información, en este realizamos un análisis de los procesos o procedimientos
que requerimos para realizar un programa o un objetivo.
Por ejemplo: si nosotros queremos realizar una pizza, primero necesitamos los
ingredientes, este ya sería un proceso, luego de haber conseguido los
ingredientes necesitamos realizar la masa, este sería otro proceso, luego
realizamos la salsa, este sería otros procesos y finalmente unimos todo lo que
hemos hecho y agregamos los complemento como el jamón, el queso, etc.
4. ¿Qué son los patrones de diseño?
[Fecha]
6
Los patrones de diseño o design patterns, son una solución general, reutilizable y
aplicable a diferentes problemas de diseño de software. Se trata de plantillas que
identifican problemas en el sistema y proporcionan soluciones apropiadas a
problemas generales a los que se han enfrentado los desarrolladores durante un
largo periodo de tiempo, a través de prueba y error.
Hay una cosa que está clara: por muy específico que sea un problema al que te
estés enfrentando durante el desarrollo de tu software, hay un 99% de
posibilidades (cifra totalmente inventada, pero seguro que muy real) de que
alguien se haya enfrentado a un problema tan similar en el pasado, que se pueda
modelar de la misma manera.
Con modelado me estoy refiriendo a que la estructura de las clases que conforma
la solución de tu problema puede estar ya inventada, porque estás resolviendo un
problema común que otra gente ya ha solucionado antes. Si la forma de solucionar
ese problema se puede extraer, explicar y reutilizar en múltiples ámbitos, entonces
nos encontramos ante un patrón de diseño de software. Un patrón de diseño es
una forma reutilizable de resolver un problema común.
Antes que nada, es importante aclarar que para utilizar este tipo de soluciones
debemos conocer en profundidad el sistema que estamos desarrollando, así como
también el problema que queremos abordar.
La experiencia práctica nos dará las directrices para conocer si es adecuado
utilizar uno u otro patrón de diseño a la hora de solucionar un problema particular.
Al utilizar patrones de diseño es importante considerar también si el rendimiento
de nuestros sistemas se verá afectado cuando apliquemos la solución, ya que
algunos patrones de diseño incorporan complejidades en el código que pueden
perjudicar el desempeño de nuestros programas.
[Fecha]
7
Los patrones de diseño son muy útiles por los siguientes motivos:
1. Te ahorran tiempo
Sé que te encantará encontrar una solución ingeniosa a un problema cuando
estás modelando tu software, y es normal, a mí también me pasa. Como he
comentado alguna vez, el desarrollo es un proceso casi artístico, y ese reto mental
que supone revierte en una satisfacción personal enorme una vez que consigues
un buen resultado.
2. Te ayudan a estar seguro de la validez de tu código
Un poco relacionado con lo anterior, siempre que creamos algo nuevo nos surge
la duda de si realmente estamos dando con la solución correcta, o si realmente
habrá una respuesta mejor. Y el tema es que es una duda muy razonable y que en
muchos casos la respuesta sea la que no deseas: sí que hay una solución más
válida, y has perdido tu valioso tiempo en implementar algo que, aunque funciona,
podría haberse modelado mejor.
3. Establecen un lenguaje común
Todas las demás razones palidecen ante esta. Modelar tu código mediante
patrones te ayudará a explicar a otras personas, conozcan tu código o no, a
entender cómo has atajado un problema. Además, ayudan a otros desarrolladores
a comprender lo que has implementado, cómo y por qué, y además a descubrir
rápidamente si esa era la mejor solución o no.
6. ¿Qué es UML (Unified Modeling Language)
El Lenguaje Unificado de Modelado (UML) fue creado para forjar un lenguaje de
modelado visual común y semántica y sintácticamente rico para la arquitectura, el
diseño y la implementación de sistemas de software complejos, tanto en estructura
como en comportamiento. UML tiene aplicaciones más allá del desarrollo de
software, p. ej., en el flujo de procesos en la fabricación.
Es comparable a los planos usados en otros campos y consiste en diferentes tipos
de diagramas. En general, los diagramas UML describen los límites, la estructura y
el comportamiento del sistema y los objetos que contiene.
UML no es un lenguaje de programación, pero existen herramientas que se
pueden usar para generar código en diversos lenguajes usando los diagramas
UML. UML guarda una relación directa con el análisis y el diseño orientados a
objetos.
[Fecha]
8
"The Three Amigos" (los tres amigos) de la ingeniería de software, como se los
conocía, habían desarrollado otras metodologías. Se asociaron para brindar
claridad a los programadores creando nuevos estándares. La colaboración entre
Grady, Booch y Rumbaugh fortaleció los tres métodos y mejoró el producto final.
Los esfuerzos de estos pensadores derivaron en la publicación de los documentos
UML 0.9 y 0.91 en 1996. Pronto se hizo evidente que varias organizaciones,
incluidas Microsoft, Oracle e IBM, consideraron que UML era esencial para su
propio desarrollo de negocios. Ellos, junto con muchas otras personas y
compañías, establecieron los recursos necesarios para desarrollar un lenguaje de
modelado hecho y derecho. "Los tres amigos" publicaron la Guía del usuario para
el Lenguaje Unificado de Modelado en 1999, y una actualización que incluye
información sobre UML 2.0 en la segunda edición de 2005.
7. Establezca la diferencia entre mensaje síncrono y asíncrono
La síncrono significa que cuando se emite una llamada de función, la llamada no
regresa hasta que no se obtiene el resultado.
De acuerdo con esta definición, de hecho, la mayoría de las funciones se llaman
sincrónicamente (por ejemplo, sin isdigit, etc.).
Pero en general, cuando hablamos de sincronización y asincrónica, nos referimos
específicamente a tareas que requieren la colaboración de otros componentes o
que requieren una cierta cantidad de tiempo para completarse.
El ejemplo más común es SendMessage.
Esta función envía un mensaje a una determinada ventana. Esta función no
regresa hasta que la otra parte procesa el mensaje.
Una vez que la otra parte ha terminado de procesar, la función devuelve el valor
devuelto por la función de procesamiento de mensajes a la persona que llama.
Asíncrono
El concepto de asincronía es lo contrario de sincronización.
Cuando se emite una llamada de procedimiento asincrónica, la persona que llama
no obtendrá el resultado de inmediato.
La parte que realmente maneja esta llamada es después de que se emite la
llamada,
Notifique a la persona que llama a través de estado, notificación o Maneja esta
llamada a través de una función de devolución de llamada.
[Fecha]
9
8. ¿Para qué se utiliza un Fragmento de referencia?
Se denomina fragmento a una parte constitutiva de un todo. Así, puede referirse al
fragmento de un texto, de un elemento sólido, de un tema musical, etc. La noción
de fragmento implica que este carece de sentido por sí mismo, que este debe
incluirse en algo que lo implica para que pueda comprenderse totalmente.
Pedazo de una cosa que se considera parte de un todo, usualmente tras
romperse, partirse, dividirse, etc.; trozo, porción. Ejemplos de uso: "se encontraron
fragmentos óseos compatibles con restos humanos". "el cristal se partió en
fragmentos". ... Ejemplo de uso: "solo quedan fragmentos de la obra escultórica".
A partir del ejemplo del diagrama de secuencia anterior de “Crear una nueva
cuenta de biblioteca en línea”, nos centraremos en el caso de uso denominado
“Crear una nueva cuenta de usuario” para dibujar nuestro ejemplo de diagrama de
secuencia.
Antes de dibujar el diagrama de secuencia, es necesario identificar los objetos o
actores que participarían en la creación de una nueva cuenta de usuario. Estos
[Fecha]
serían;
10
Bibliotecario
Sistema de gestión de la biblioteca en línea
Base de datos de credenciales de usuario
Sistema de correo electrónico
Una vez que se identifican los objetos, es importante escribir una descripción
detallada de lo que hace el caso de uso. A partir de esta descripción, se pueden
deducir fácilmente las interacciones (que deberían ir en el diagrama de secuencia)
que se producirían entre los objetos anteriores, una vez ejecutado el caso de uso.
[Fecha]
11
Los patrones creacionales proporcionan varios mecanismos de creación de
objetos que incrementan la flexibilidad y la reutilización del código existente.
Abstract Factory: Este patrón se utiliza para crear familias de objetos que se
relacionan sin la necesidad de especificar sus clases.
Builder Patterns: El patrón constructor se utiliza para crear diferentes objetos a
partir de una serie de pasos reutilizando el código de construcción. Esto simplifica
la necesidad de crear subclases para cada configuración posible de un objeto
particular.
Factory Method: Este patrón ofrece una interfaz para crear nuevos objetos dentro
de una superclase permitiendo que las subclases cambien el tipo de objetos que
van a crear.
Prototype: Se utiliza para crear nuevos objetos a partir de objetos existentes. A
través de la declaración de una interfaz (clonar) este patrón encarga a los propios
objetos la acción de clonarse.
Singleton: Se utiliza para restringir la creación de nuevas instancias de una clase
a un objeto determinado.
una biblioteca que tiene muchas funciones de las que solo se ocupan unas pocas.
12
Flyweight: Ayuda a reducir el tamaño de los objetos almacenando en su interior
solo el estado intrínseco (información constante) del mismo y compartiendo el
resto de la información (estado extrínseco) entre varios objetos similares.
Proxy: Este patrón de diseño se utiliza para crear objetos sustitutos que trabajan
como una interfaz hacia cualquier objeto determinado.
13
14. ¿Para qué se utiliza El mapeo de bases de datos?
14
16. ¿En qué consiste la Migración de datos?
Llamamos migración de datos al proceso que necesitamos hacer para transferir
los datos de un sistema a otro mientras cambiamos el sistema de almacenamiento
donde se encuentran los datos, o bien mientras se practican las modificaciones
necesarias en la base de datos o la aplicación que los gestiona.
15
Estas herramientas están alojadas en la nube y se puede acceder a ellas a través
de un navegador web. Las herramientas de mapeo de datos basadas en la nube
también tienen funciones de automatización que pueden simplificar el proceso de
mapeo.
mouse de computadora
16
control remoto
realidad virtual
17
20. ETL: ¿Qué significa y por qué es importante?
ETL es un tipo de integración de datos que hace referencia a los tres pasos
(extraer, transformar, cargar) que se utilizan para mezclar datos de múltiples
fuentes. Se utiliza a menudo para construir un almacén de datos. Durante este
proceso, los datos se toman (extraen) de un sistema de origen, se convierten
(transforman) en un formato que se puede almacenar y se almacenan (cargan) en
un data warehouse u otro sistema. Extraer, cargar, transformar (ELT) es un
enfoque alterno pero relacionado diseñado para canalizar el procesamiento a la
base de datos para mejorar el desempeño.
Historia de ETL
ETL cobró popularidad en la década de 1970 cuando las organizaciones
comenzaron a utilizar múltiples repositorios de datos, o bases de datos, para
almacenar diferentes tipos de información de negocios. La necesidad de integrar
datos que se diseminaran por estas bases de datos creció con rapidez. ETL se
convirtió en el método estándar para extraer datos de diferentes fuentes y
transformarlos antes de cargarlos en una fuente pretendida o destino.
A fines de la década de 1980 y principios de la década de 1990, los data
warehouses aparecieron en escena. Siendo un tipo de base de datos diferente, los
data warehouses proveían acceso integrado a datos de múltiples sistemas –
computadoras mainframe, minicomputadoras, computadoras personales y hojas
de cálculo.
Pero diferentes departamentos a menudo elegían diferentes herramientas ETL
para utilizarlas con almacenes de datos distintos. Junto con fusiones y
[Fecha]
18
Con el tiempo, el número de formatos, fuentes y sistemas de datos ha aumentado
enormemente. Extraer, transformar, cargar (ETL) es ahora sólo uno de varios
métodos que utilizan las organizaciones para recopilar, importar y procesar datos.
ETL y ELT son ambos partes importantes de una estrategia de integración de
datos más amplia de una organización.
Por qué es importante ETL
Las empresas han confiado en el proceso ETL por muchos años para obtener una
vista consolidada de los datos que dé lugar a mejores decisiones de negocios.
Hoy día, este método de integración de datos de múltiples sistemas y fuentes
sigue siendo un componente central de la caja de herramientas de integración de
datos de una organización.
19
Las organizaciones necesitan ETL y ELT para conjuntar datos, mantener la
precisión y proporcionar el recurso de auditoría que suele requerirse en los
almacenes, reportes y análisis de datos.
[Fecha]
20