Hoy estoy abriendo un nuevo sub genero de temas en este blog, Basado en Q.A y Tdd que orientare a lo largo de este año (2018) a Python, Ruby y C#. Con esto espero no dejar de lado sobre
Mostrando entradas con la etiqueta Estudios. Mostrar todas las entradas
Mostrando entradas con la etiqueta Estudios. Mostrar todas las entradas
lunes, 5 de marzo de 2018
domingo, 1 de octubre de 2017
Realidad Aumentada
¿Qué es la Realidad Aumentada?
La realidad aumentada es un es la combinación de la visión
personal del individuo del mundo real a través o combinada con dispositivos
tecnológico, en síntesis podemos decir que es la combinación de tecnología y
mundo real. Dichos dispositivos añaden información del mundo virtual a
elementos reales físicos, de este modo el usuario percibe ambas sin sumergirse
en un ambiente netamente virtual
Con la ayuda de la tecnología (por ejemplo, añadiendo la
visión por computador y reconocimiento de objetos) la información sobre el
mundo real alrededor del usuario, se convierte en interactiva y digital. La
información artificial sobre el medio ambiente y los objetos puede ser
almacenada y recuperada como una capa de información en la parte superior de la
visión del mundo real.
La realidad aumentada en el campo de la investigación
explora la aplicación de imágenes generada por computador en tiempo
miércoles, 6 de septiembre de 2017
Carreras del futuro: Diseñador de videojuegos
Conoce qué hace y en qué debes formarte para ser diseñador de videojuegos
Los diseñadores de videojuegos son los que crean la idea y establecen (junto al director artístico) cómo será la apariencia y cómo serán las distintas partes del juego, desde la parte artística hasta el sonido, la interfaz del juego y la forma de jugarlo. Para esto realizan los storyboards, bocetando lo que el usuario verá mientras juega.
![]() |
La de videojuego es una de las mayores industrias del arte y entretenimiento | Fuente: Shutterstock
Los diseñadores de videojuegos son los que crean la idea y establecen (junto al director artístico) cómo será la apariencia y cómo serán las distintas partes del juego, desde la parte artística hasta el sonido, la interfaz del juego y la forma de jugarlo. Para esto realizan los storyboards, bocetando lo que el usuario verá mientras juega.
En la actualidad los videojuegos se desarrollan para varias plataformas distintas, como ordenadores, consolas, teléfonos móviles o plataformas online. Los diseñadores de videojuegos son profesionales híbridos entre el diseño y la tecnología; y por esto, acompañado a que es una industria que está en constante crecimiento, esta carrera está entre las más sólidas como profesión del futuro.
¿Qué habilidades necesito para convertirme en diseñador de videojuegos?
Si bien los diseñadores de videojuegos deben ser profesionales creativos e innovadores, es fundamental que tengan formación en informática y programación ya que trabajarán con programas altamente complejos.
Ser gamer es la primera condición necesaria para convertirte en diseñador de videojuegos; y aunque por supuesto que con esto no alcanza, sí es una característica favorable que quien está frente al desarrollo de un producto pueda diferenciar entre un videojuego bueno y otro que tiene mucho por mejorar. Y naturalmente esto es más fácil de notar si eres un apasionado del videojuego.
La creatividad también es importante para un diseñador de videojuegos, ya que finalmente lo que contarán son las ideas que puedas tener para diseñar el videojuego más alucinante. Si no te sientes creativo no te preocupes, contrario a lo que muchos piensan no se nace con un caudal infinito de creatividad, sino que esta es una habilidad que puede desarrollarse mediante distintos recursos. Mira, juega, investiga, compara, lee, haz y deshaz: la idea vendrá.
Luego, entre las otras cualidades necesarias están la atención al detalle, a la calidad y originalidad, capacidad de trabajar bajo presión, de poder establecer objetivos, resolver problemas y coordinar distintas áreas y procesos de producción. Es decir, contar con una actitud profesional, algo que te exigirán desde para trabajar como oficinista hasta como astronauta, por nombrar dos campos contrapuestos.
En cuanto a la inspiración para crear un videojuego se puede partir desde un libro, película, serie o historia conocida a ser una idea totalmente original, ideada por el diseñador o el equipo de trabajo.
Como mencionamos, la capacidad de trabajar en equipo es una habilidad requerida en un diseñador de videojuegos ya que harán un trabajo que involucra muchas áreas de producción distintas con profesionales muy distintos como desarrolladores 2D o 3D, músicos, escritores, artistas gráficos o programadores y también clientes y empresarios dispuestos a aportar en lo económico para llevar adelante una idea (por eso también es importante que sepan comunicarse y persuadir al posible inversionista).
¿Qué puedo estudiar para convertirme en diseñador de videojuegos?
|
lunes, 31 de julio de 2017
Pomodoro (cronometro) Para developer en c#
En la vida cotidiana realizamos esfuerzos mentales, ya sea estudiando, trabajando o incluso jugando. Dicho esfuerzo se determina como mental, y al igual que cuando entrenamos un músculo (bicep, tricep, abdominales), debe realizarse en periodos de tiempo especifico que suelen llamarse repeticiones. Sin embargo, para el efuerzo mental no existe tal cosa como "repeticiones" y en sustitucion tenemos un tiempo T. Francesco Cirillo, en los años 80, creo un metodo llamado Pomodoro que consistia en realizar ciclos de 45 minutos con un cronometro de cocina con forma de tomate, de alli el nombre, que significa tomate en italiano, ésto, con el fin de concentrar su esfuerzo mental en una sola y única tarea (estudiar, analizar o calcular), despejando cualquier interrupción y unicamente concentrandose en dicha tarea.
Bueno, basta de conceptos y explicaciones historicas, lo que hoy os he traido es un experimento para ayudarlos a concentrase cuando esten desarrollando. Llevé entonces el mismo concepto de "cronometro" al mundo digital a travez del lenguaje C#. El mismo, se basa en dos controles Timers, uno que lleva el tiempo de pomodoro y otro que realiza seguimiento al timer principal para mostrar en pantalla el tiempo que esta transcurriendo. Adicional a ello tambien usé un NotifyIcon para esconder el programa y apollandome en la clase WMPLib de windows, ejecutar sonidos en mp3; y para este caso, usé sonidos bien frikis, así que espero difruten el proyecto.
Explicacion del Proyecto:
Primero explicaremos como añadir la libreria WMPLib a nuestro proyecto para ejecutar los sonidos:
Para ello, vamos a importar una referencia llamada Windows Media Player
Y basicamente esta fue la solución; un metodo que le agrega al objeto tiempo fin (que será el tiempo de ahora, más el tiempo del pomodoro)
Bueno, basta de conceptos y explicaciones historicas, lo que hoy os he traido es un experimento para ayudarlos a concentrase cuando esten desarrollando. Llevé entonces el mismo concepto de "cronometro" al mundo digital a travez del lenguaje C#. El mismo, se basa en dos controles Timers, uno que lleva el tiempo de pomodoro y otro que realiza seguimiento al timer principal para mostrar en pantalla el tiempo que esta transcurriendo. Adicional a ello tambien usé un NotifyIcon para esconder el programa y apollandome en la clase WMPLib de windows, ejecutar sonidos en mp3; y para este caso, usé sonidos bien frikis, así que espero difruten el proyecto.
Explicacion del Proyecto:
Primero explicaremos como añadir la libreria WMPLib a nuestro proyecto para ejecutar los sonidos:
Para ello, vamos a importar una referencia llamada Windows Media Player
Aqui la podemos constatar
Luego la llamamos para su uso en la clase
Ahora vamos a agregar los sonidos que queremos ejecutar. Esto es muy simple, vamos a nuestra solución, pulsamos click derecho, agregar-> elemento existente y en la ventana ponemos en los filtros todos los archivos, buscando los que queremos para este proyecto y ya los tiene agregados
Y ahora creamos el metodo " ejecutar sonido " al cual llamaremos y con una sobrecarga definiremos qué sonidos queremos ejecutar, usando el metodo .play()
Ahora si, vamos al main de este proyecto. Agregando dos controles Timers al form, uno llamado Pomodoro y otro Verificador. (además de un NotifyIcon y un ToolTip, que sería bueno que más adelante explique como funcionan,... pero será para otra publicación )
Adicional, agregaremos un control numericupdown para así tomar del usuario el tiempo que tendrá el timer; recordemos que el timer usa el tiempo en milisegundos.
Tenemos entonces, el metodo Inicio y el metodo Pausar
Iniciar: con este metodo, básicamente, invocamos los metodos Start o Stop, dependiendo de si queremos detener o iniciar el timer del pomodoro, tomando la cantidad de tiempo ingresada por el usuario en el control numerico y lo multiplicandolo por 60, luego por mil para obtener el tiempo en milisegundos
Éste metodo Pasuar me dio pelea pero basicamente era por que fui terco queriendo crear un algoritmo que me diera el tiempo que resta del tiempo original, así que me fume un porro digital y salio esto:
Por último, tenemos este metodo en el que, cuando el timer Verificador entra en ciclo muestra al usuario cuánto tiempo resta. El tiempo de ciclo de este timer es menos de un segundo para así mostrar lo más rapido posible el tiempo actualizado
En fin!, este es un proyecto muy cortico y cool que hice hace ya unas semanas, pero no tenía tiempo, jejeje; pronto subiré otro sobre captura de pantalla, un reproductor de sonido en c#, un ejemplo del uso de drag and drop también en c# y a ver si me digno a subir unos cuanto proyectos orientados a web en php; pero eso será para otra publicación. Hasta entonces, aquí abajo les dejo el link para que se descarguen el ejemplo y que el codigo este con ustedes.... "y con su compilador".
Descarga del Proyecto:
miércoles, 1 de febrero de 2017
Concepto de La computación en la nube
Para iniciar debemos explicar que es una aplicación y una base de datos según algunas fuentes una aplicación es un programa informático ( Escrito en un lenguaje de programación) que permite al usuario realizar diversos tipos de tarea , pues solucionan , facilitar o/y automatizan procesos como por ejemplo Procesos contables, procesos de nómina hasta incluso un procesador de texto ; Por otra parte una base de datos se puede definir como un conjunto de aplicación, herramientas y conceptos ( incluso posee su propio lenguaje “universal” llamado SQL ANSI) para el almacenaje, distribución y verificación de datos los cuales cumplen una representación virtual del datos del mundo real incluyendo su estructura de los mismo.
Teniendo claro estos
conceptos nos surge una incógnita. ¿Qué son las bases de datos y aplicaciones
en la nube?. Pues su concepto o
implicación no dista mucho de su concepto original pero en síntesis se podría
explicar que las aplicaciones y las
bases de datos funcionan en la internet; para eso responderemos la siguiente
pregunta ¿qué es la nube?
Su nombre especifico es
computación en la nube y según la AEEE:
“es un paradigma en el que la información se almacena de manera
permanente en servidores de Internet y se envía a caches”. La nube, como también
se le conoce, es una Herramienta, recursos y plataformas que permite solucionar a través de internet
necesidades del área de TI (por su siglas en inglés, Tecnología información).
De esta manera estos recursos estarán disponibles constantemente a los usuarios
desde cualquier parte del mundo siempre y cuando disponga de una conexión a
internet, estos servicios ofrecen un 99.9% por ciento de disponibilidad. Este
modelo de negocio ofrece a los clientes
acceder a un índice de productos y servicios sin que el mismo maneje de manera
profunda conocimientos en el área y sin
posser una infraestructura física en la localidad. Las empresas que ofrecen
estos servicios en la nube poseen granjas de servidores medidas en teraflops por segundo de procesamiento y
actualizan constantemente la plataforma permitiendo una escalabilidad de los
servicios ofrecidos “sin afectar” al cliente final. A parte esto asegura la
información almacenada en los servidores de la nube de ataques informáticos,
gobiernos locales o entes terroristas.
La Nube se puede separar por
tipos. Las nubes publicas donde la computación es mantenida y gestionada por
terceras no vinculadas a la organización; Las nubes privadas Están creadas bajo
las característica e infraestructura de un solo cliente ofrecen un estándar de
seguridad superior puesto que estas controlan que y donde se ve. Y por último
tenemos la hibridas y comunitarias donde las hibridas ofrecen un modelo
combinado de las públicas y las privadas sobre pedido y costos del cliente y
las comunitarias cuyo modelo es expuesto
por Joyanes Aguilar en el 2012, especificando que este modelo tiene la
finalidad de servir y a una fundación o propósito común.
LA idea de la nube nace en
los años 60 pero no es hasta la llegada de la internet de banda ancha que no
tiene un inicio formal, Según nuestras fuentes una de las primeras páginas que
emulaba el servicio de computación en la nube fue saleforce.com en el 1999, que
proporcionaba un servicio pionero de entrega de aplicaciones empresariales a través
de una página web. Es entonces con el nacimiento de lo que se conoce del
internet 2.0 y el desarrollo de la teoría de la internet de las cosas donde
podemos ver un desarrollo constante de la computación en la nube, siendo
grandes exponentes a partir del 2002 a la empresa Amazon por Amazon Web Services y luego en el
2006 Ellos mismo lanzando Elalatic Compute Cloud (EC2) para luego en el 2009 Google ofrece aplicaciones basadas en el navegador y mas
luego en el 2010 Microsoft con su plataforma Azure. De las palabras de Jeremy
Allaire CEO de Brightcove donde dice: “El pc de escritorio está muerto.
Bienvenidos a la nube de internet”
La computación en la nube o
también la nube posee características fundamentales y notables, que hacen
frente a demandas del modelo de negocios tecnológico tradicional, entre las
cuales tenemos:
Ø Costos:
debido a que la adquisición del servicio se realiza una sola vez, esto elimina
costo en actualización de hardware junto con una estructura de costo fijada al
tiempo de uso del servicio reduce drásticamente costo eléctricos por ejemplo.
Ø Escalabilidad:
como consecuencia de mejora del servicio para la competencia en el mercado. Los
clientes se ven directamente beneficiados de mejoras tanto de software como de
hardware que las empresas apliquen a sus servidores.
Ø Seguridad:
al estar centralizada la información y las aplicaciones, es mucho más fácil
para las empresas destinar más tiempo y recursos a problemas de este tipo. El
usuario sería responsable solo de la información alojada en la nube y el
proveedor de su seguridad física
Ø Mantenimiento:
el cliente se vería directa desentendido de este tema dejando al proveedor el
mantenimiento del servicio y de la infraestructura física, sin embargo algunos
elementos relevantes a la configuración siguen permaneciendo tareas del cliente
Ø Independencia:
Permitiendo al usuario acceder a la nube desde cualquier dispositivo y lugar
del mundo.
Las ventajas y desventajas
de la computación en la nube se resumir en prestación de servicios a nivel
mundial, implementación más rápida y
actualización automáticas como ventaja basadas en las características
fundamentales de la computación, pero posee fuertes desventajas en las que
podemos mencionar; centralización absoluta dependiente de una seguridad general
ofrecida por el proveedor, la disponibilidad del servicio está sujeta a la
disponibilidad de internet y disposición de tecnología especializada podría
tardar meses en ser implementada.
No obstantes los servicios que ofrece la nube se dividen en tres
conceptos fundamentales, dependiendo directamente de lo que se va a ofrecer al
cliente y orden que va desde el más abstracto al menor :
I.
Software como servicios; (SaaS por su siglas
en ingles Software as a Service).
II.
Plataformas como servicios; (PaaS por su
siglas en ingles Plataform as a
Service).
III.
Infraestructura como servicios; (IaaS por su siglas en
ingles Software as a Service).
La modalidad Software como
servicio (SaaS) Las aplicaciones están alojadas en los servidores de la
compañía que ofrece el servicio y esta puesta a disposición a través de la red.
Es multitendencia por lo tanto es una sola instancia del software que se
ejecuta en la estructura del proveedor y
provee a múltiples clientes .Se encuentra en la capa mas alta y evita al cliente la instalación y
configuración de la aplicación sin embargo puede que ciertas aplicaciones den
parámetros configurables al cliente.
Plataforma como servicio
(PaaS), Abstrae del hardware físico y la
administración de servidores del cliente y para cualquier proyecto de
desarrollo web de una empresa remplaza a las empresas de hosting como la conocemos hasta ahora. Pertenece a la
capa del medio permite ofrecer una plataforma óptima para el desarrollo o
programación de aplicación, brindando prueba un entorno con herramientas, APIs
pre configuradas y sistemas básicos para ello. Se ha discutido mucho sobre este
servicio puesto que entre su ventajas está el desarrollo de aplicación con una
complejidad reducida, también manteniendo
y mejoración de la aplicación mucho más sencilla permitiendo básicamente una
característica básica de la computación en la nube que es la independencia en
el momentos del desarrollo de la aplicación. Sin embargo podemos notar que
también posee desventajas, tales basadas en que los desarrolladores no podrían
usar herramientas convencionales y el
producto final queda encapsulado a una sola plataforma ofrecida por el PaaS.
Infraestructura como servicios (IaaS), Similar a los
servicios en la nube anteriormente
mencionados, Proporciona recursos
informáticos Alojados en un entorno Vitalizado, apoyando así las operaciones
derivadas de almacenamientos, hardware y componentes de red. Se encuentra en la
capa inferior, albergando todo lo referente al almacenamiento y computo como
servicio entandar.
Una vez aclarado el concepto
de la computación en la nube. Podemos describir lo que es las aplicaciones y la
base de datos en la nube. La base de datos en la nube es entonces Servicios
ofrecidos por consola web en la cual el usuario crea y gestiona estructura y
datos en ella a la cual aplicaciones podrán conectarse a ellas a través de APIs
cuidando la estabilidad y alta disponibilidad del servicio. El concepto de base
de datos en la nube se aprecia en el renglón del medio en la clasificación de
la computación en la nube siendo una plataforma prestada como servicio. Dentro
de las bases de datos en la nube podemos observar modelos diferentes en este
caso dos Las bases de datos SQL que tienen escalabilidad baja porque no fueron creada
de forma original para la nube, aunque
los servicios de base de datos SQL basados en la nube están intentando
abordar este modelo. Y por otro Las NoSQL siendo otro tipo de base de datos que
puede ejecutarse en la nube. Las bases de datos NoSQL están diseñadas para soportar
cargas pesadas de lectura y escritura, además son capaces de escalar hacia
arriba y hacia abajo con flexibilidad.
Entre los proveedores de
este servicio destacamos los siguientes dependiendo de los modelos antes
nombrado: Amazon Relational Database Service con MySQL, Microsoft
SQL Azure con MS SQL y EnterpriseDB con Postgres Plus Cloud Database como
servicios de modelos de datos SQl
Y Amazon DynamoDB, Google
App Engine Almacenamiento de datos, MongoDB Base de datos como
servicio2 ofreciendo modelos de datos NoSQL.
Las aplicaciones en la nube
Pertenecen al escalos de SaaS o Software como servicio, estas son ejecutadas
desde el navegador o en incluso algunos casos un gestor de navegador especifico
distintos al navegador tradicional. Entre las aplicaciones en la nube destacamos
la siguientes:
Agilebuddy, aplicación ideal
para scrum o alguna metodología ágil, usada
para proyectos grandes, obteniendo un gran rendimiento en la gestión de
proyectos. Google Docs permitiendo al usuario no instalar una suite
ofimática en su computador para realizar documentos, ofrece una hoja de cálculo
similar a Excel. Spotify, Orientados a los amantes de la
música el concepto es básico, música en línea para escuchar sin irrumpir en
violación de copyright.
Referencias
España, Dan Rivas.
(September 8, 2010) [http://deldan.com/2010/09/11-importantes-aplicaciones-en-la-nube/]
disponible en http://deldan.com consultado: 2017,
Enero 30
Fundación Wikimedia, Inc (25
ene 2017) [ https://es.wikipedia.org/wiki/Computación_en_la_nube]
disponible en http://deldan.com consultado: 2017,
Enero 31
Margaret Rouse(diciembre
2010)
[http://searchdatacenter.techtarget.com/es/definicion/Computacion-en-la-nube]
disponible en techtarget.com/es consultado el : 2017, Enero 30
Fundación Wikimedia, Inc (12
ene 2017) [https://es.wikipedia.org/wiki/Aplicación_informática]
Disponible en https://es.wikipedia.org
consultado: 2017, Enero 29
Fundación
Wikimedia, Inc (30 ene 2017) [https://es.wikipedia.org/wiki/Software_como_servicio]
Disponible en https://es.wikipedia.org
consultado: 2017, febrero 1
Dell Technologies (2017)[https://venezuela.emc.com/corporate/glossary/platform-as-a-service.htm]
disponible en https://www.delltechnologies.com/es-ve/
consultado: 2017, febrero 1
Interoute Communications
Limited (2013) [http://www.interoute.es/what-iaas]
disponible en http://www.interoute.es consultado: 2017, Enero 29
miércoles, 8 de abril de 2015
UML Diagrama de clase
Introducción
En los diagramas de clases de UML, se describen el objeto y las estructuras de información que se utilizan en la aplicación, tanto de forma interna como en la comunicación con los usuarios. Esta información se describe sin hacer referencia a ninguna implementación concreta. Las clases y relaciones se pueden implementar de muchas maneras, por ejemplo, en tablas de bases de datos, en nodos XML o en composiciones de objetos de software.
Elementos que componen al diagrama:
la clase es el elemento princpal del diagrama compone el formato de creacion de los objetos ( los objetos son instancias de las clases). Con ellas modelamos los sistemas, estan reprecentadas de las sigueinte forma.
un rectangulo en vertical dividido en tres partes:
- Superior = nombre de la clase ,
- Media= propiedades o atributos y objetos de la clase
- Inferior = metodos o procesos de la clases
un ejemplo de un clase puede ser con el tema automotriz en el cual
- la clase se llama carro
- los atributos o propiedades son candidad de ruedas,motor y puertas
- y los metodos u operaciones = encender ,andar y frenar
Las clases internamente poseen atributos y metodos internamente; Antes de continuar con atributos y metodos debemos explicar los niveles de Protección de los elementos contenidos en la clase
- publicas {símbolo (+) } Indica que el atributo será visible tanto dentro como fuera de la clase, es decir, es accsesible desde todos lados.
- privadas {símbolo (-)} Indica que el atributo sólo será accesible desde dentro de la clase (sólo sus métodos lo pueden accesar).
- protegidas {símbolo (#)}Indica que el atributo no será accesible desde fuera de la clase, pero si podrá ser accesado por métodos de la clase además de las subclases que se deriven.
Atributos o propiedades
son las características principales de la clase esta pueden, si la clase fuese mesa sus propiedades o atributos seria
Estas propiedades caracterizan a la clase de otra clases y son heredarles. Al igual tiene un tipo de dato basico ( string ,int ,decimal, float ,boolean) para poder saber distinguirla y hacer uso correctas de ellas a su vez possen un nivel de Protección que nos indican hasta que nivel llega su uso en el sistema por instancias y clases deribadas
es el la seccion inferior del rectangulos, y nos indica que Hace la clase. en el ejemplo anteriro lo realize con la mesa en este caso volvemos al ejemplo del carro. La clase carro posee operaciones o metodos que ella relaiza al ser llamado ese metodo por una instancia y su interaccion con otras clases del diagrama, un ejemplo de metodo seria
- cantidad de patas de la mesa,
- color de la mesa ,
- alto de la mesa
- etc.
Estas propiedades caracterizan a la clase de otra clases y son heredarles. Al igual tiene un tipo de dato basico ( string ,int ,decimal, float ,boolean) para poder saber distinguirla y hacer uso correctas de ellas a su vez possen un nivel de Protección que nos indican hasta que nivel llega su uso en el sistema por instancias y clases deribadas
Metodos u Operaciones
es el la seccion inferior del rectangulos, y nos indica que Hace la clase. en el ejemplo anteriro lo realize con la mesa en este caso volvemos al ejemplo del carro. La clase carro posee operaciones o metodos que ella relaiza al ser llamado ese metodo por una instancia y su interaccion con otras clases del diagrama, un ejemplo de metodo seria
- andar
- frenar
- encender
- apagar
Siguiendo la esquematizan de c++ los metodos no inidican que tipo de dato son pero si indican si devuelven o no dato alguno para determinar esto se coloca el ejemplo de andar de la clase carro, si fuese un metodo que devuelve dato se coloca asi: Andar() de lo contrario si no devolviese dato alguno fuese asi andar(): void indicando que si es método mas no devuelve dato. A su vez estos metodos possen un nivel de proteccion determinado
Relaciones entre las clases
Existen diversos tipos de relaciones y cardinalidad entre las clases en el diagrama de clases empezemos por explicar lo que son las Cardinalidades:
Cardinalidades
indica el grado y nivel de dependencia, se anotan en cada extremo de la relación y éstas son:
- uno o muchos: 1..* (1..n)
- 0 o muchos: 0..* (0..n)
- número fijo: m (m denota el número).
Relaciones de Herencia
Indica que una subclase hereda los métodos y propiedades especificados por una Super Clase, por ende la Subclase además de poseer sus propios métodos y atributos, poseerá las características y atributos visibles de la Super Clase (public y protected)
Para modelar objetos complejos, n bastan los tipos de datos básicos que proveen los lenguajes: int, decimales y string . Cuando se requiere componer objetos que son instancias de clases definidas por el desarrollador de la aplicación, tenemos dos posibilidades:
Una mesa puede tener asociada muchas sillas en cambio una silla tendra una unica mesa
Instanciación (uso)
Representa un tipo de relación muy particular, en la que una clase es instanciada (su instanciación es dependiente de otro objeto/clase). Se denota por una flecha punteada.
El uso más particular de este tipo de relación es para denotar la dependencia que tiene una clase de otra, como por ejemplo una aplicación grafica que instancia una ventana (la creación del Objeto Ventana esta condicionado a la instanciación proveniente desde el objeto Aplicacion):
Una clase abstracta se denota con el nombre de la clase y de los métodos con letra "itálica". Esto indica que la clase definida no puede ser instanciada pues posee métodos abstractos (aún no han sido definidos, es decir, sin implementación). La única forma de utilizarla es definiendo subclases, que implementan los métodos abstractos definidos.
Una clase parametrizada se denota con un subcuadro en el extremo superior de la clase, en donde se especifican los parámetros que deben ser pasados a la clase para que esta pueda ser instanciada. El ejemplo más típico es el caso de un Diccionario en donde una llave o palabra tiene asociado un significado, pero en este caso las llaves y elementos pueden ser genéricos. La genericidad puede venir dada de un Template (como en el caso de C++) o bien de alguna estructura predefinida (especialización a través de clases).
En este diagrama se puede apreciar lo siguiente
La clase persona es una clase abstracta que generara en herencia cliente y empleados ambos son personas heredadondo todo desde la superclase y possen elementos propios como +mostrar()
El diagrama nos describe entonces lo siguiente. una empresa tiene empleados y clientes que son personas, a su vez existen empleados con mayor rango que son superiores directivo. la relacion de empleado y empresa es uno a muchos aunque no se muestra es la logica sin embargo se maneja el tipo de empleado de esa empresa a su vez igual con clientes.
Apoyado sobre el material
http://users.dcc.uchile.cl/~psalinas/uml/modelo.html
Agregación: 

Para modelar objetos complejos, n bastan los tipos de datos básicos que proveen los lenguajes: int, decimales y string . Cuando se requiere componer objetos que son instancias de clases definidas por el desarrollador de la aplicación, tenemos dos posibilidades:
- Por Valor: Es un tipo de relación estática, en donde el tiempo de vida del objeto incluido esta condicionado por el tiempo de vida del que lo incluye. Este tipo de relación es comunmente llamada Composición (el Objeto base se contruye a partir del objeto incluido, es decir, es "parte/todo").
- Por Referencia (ref): Es un tipo de relación dinámica, en donde el tiempo de vida del objeto incluido es independiente del que lo incluye. Este tipo de relación es comunmente llamada Agregación (el objeto base utiliza al incluido para su funcionamiento).
La flecha en este tipo de relación indica la navegabilidad del objeto refereniado. Cuando no existe este tipo de particularidad la flecha se elimina.
En este ejemplo una ciudad tiene un areopuerto pero se puede dar el caso de que una ciudad tenga mas de un areopuerto
Asociación: 

La relación entre las clases conocidas como Asociación permite asociar objetos que colaboran juntos. Significativamente , no es una relación fuerte , es decir , el tiempo de vida de un objeto depende de la otra .
Una mesa puede tener asociada muchas sillas en cambio una silla tendra una unica mesa
Instanciación (uso)
Representa un tipo de relación muy particular, en la que una clase es instanciada (su instanciación es dependiente de otro objeto/clase). Se denota por una flecha punteada.
El uso más particular de este tipo de relación es para denotar la dependencia que tiene una clase de otra, como por ejemplo una aplicación grafica que instancia una ventana (la creación del Objeto Ventana esta condicionado a la instanciación proveniente desde el objeto Aplicacion):
Cabe destacar que el objeto creado (en este caso la Ventana gráfica) no se almacena dentro del objeto que lo crea (en este caso la Aplicación, de lo contrario se crea un nuevo objeto en el sistema ).
Clase Abstracta
.png)
Parametro de las Clases
En este diagrama se puede apreciar lo siguiente
La clase persona es una clase abstracta que generara en herencia cliente y empleados ambos son personas heredadondo todo desde la superclase y possen elementos propios como +mostrar()
- Empleado tiene elementos privados como sueldo__bruto y metodos publicos como calcular salario neto()
- directivo es una clase que hereda de empleado sin embargo tiene una relacion con empleado de tipo subordinado indicando un nivel de rango empresarial superior dada por la logica de negocios del sistema
- cliente esta relacionado con empresa donde es una relacion agregacion donde el tipo de dato es la clase en si
- empresa tiene una relacion a su vez tambien de agregacion con empleados
El diagrama nos describe entonces lo siguiente. una empresa tiene empleados y clientes que son personas, a su vez existen empleados con mayor rango que son superiores directivo. la relacion de empleado y empresa es uno a muchos aunque no se muestra es la logica sin embargo se maneja el tipo de empleado de esa empresa a su vez igual con clientes.
Apoyado sobre el material
http://users.dcc.uchile.cl/~psalinas/uml/modelo.html
lunes, 30 de marzo de 2015
UML
Uml
Uml o como es su acrónimo
Lenguaje de modelado unificado es metodología de diseño y diagramas de sistemas
/ software usado a nivel internacional. Posee estándares usados a nivel mundial
sobre el desarrollo de software en la
etapa de diseño. Este lenguaje permite a los arquitectos, ingenieros y programadores
de software plasmar de manera real lo
que será los partes del sistema a manera de poder agilizar y facilitar el
proceso de programación y codificación
Para explicar bien lo que significa uml debemos entender que es la metodología orientada a objetos, el
modelado y los procesos
La metodología orientado a objeto en la programación dicta
que los objetos programados interactúan entre si y estos no son mas que formas
abstractas del mundo real llevados al mundo digital, si bien el ejemplo mas
claro es un carro me gustaría usar el de la mesa; Una mesa en nuestro mundo
posee propiedades {cantidad de patas,
material, forma, color, altura, ancho etc} y tiene acciones como son sontener objetos, servir de apoyo
etc como bien este objeto mesa tiene todas esta características en el mundo
real en el mundo digital una mesa debería tener las mismas carateristicas y al
interactuar con otros objetos puede usarse sus acciones ( sostener objetos por
ejemplo) o modificar algunas de sus
propiedades. Esa es la metodología orientada a objetos el donde las antes
llamadas variables y funciones no son mas nada que objetos y métodos que interactúan
con otros realizando un fin… ¿Te recuerda algo… Teoría de Sistemas?
Bien una vez comprendido eso podemos decir que los procesos
no son mas que un conjunto de acciones. En programación son llamados métodos
pues estos realizando un conjunto de sentencias que tienen. Los procesos son la
parte fundamental en la diagramación y planificación del programa puesto que es muy necesario poder describir y seguir la secuencia lógica de
las acciones que realiza el proceso para no caer en la reprogramación o reestructuración
del sistema
Por su parte el modelado Es la acción de diagramar y
planificar desde un punto de vista una sección del sistema es decir si bien los
procesos describen una secuencia de acciones y pueden llamar a otros procesos
el modelado describiría una sección del sistema por ende una sección en sus
procesos mas grande de un sistema, por ejemplo el modelado del sistema de refrigeración
de un automóvil, si bien es parte del automóvil y es un sistema perteneciente a
otro sistema mas grande el modelado seria realizar una serie de planificación y
diagramación donde se explica paso a paso con un orden cronológico por procesos
lo que realiza esa sección del sistema y que este modelado puede ser perfectamente
unido al modelado del sistema mas grande.
Historia
Son tres los padre de uml o fundadores son
- Grady Booch
- Ivar Jacobso
- james rumbaugh
- Grady Booch Teorizaba en 1980 que los elemetos digitales eran objetos y clases que interactuaban entre si por lo tanto describía patrones donde los objetos interactuaban y ejecutando procesos resolviendo el problema y llegando al objetivo del sistema
- Ivar Jacobso Con SDL (lenguaje de especificación), que se convirtió en estándar en 1967 aporto diagramas al uml donde se especifica los mensajes transmitidos entre diversas secciones del diagrama
- james rumbaugh aplico dentro de uml lo que despues su trabajo externo que fuer rup Proceso unificado racional procesos de descripción de objetos
Diagramas
- Modelado de Procesos
- Diagrama de clases
- Diagrama de objetos
- Diagrama de componentes
- Diagrama de estructura compuesta
- Diagrama de paquetes
- Diagrama de despliegue
- Modelado de Comportamiento
- Diagrama de casos de uso
- Diagrama de actividades
- Diagrama de estado
- Modelado de Interacción
- Diagrama de secuencia
- Diagrama de comunicación
- Diagrama de tiempo
- Diagrama de interacción
miércoles, 11 de marzo de 2015
Ciclo de Vida de un Sistema
Ciclo de vida de un sistema
El ciclo de vida de un sistema es todo el proceso que lleva desde que nace hasya que trabaja y muere parecido al ciclo natural del hombre nacer, crecer, reproducirse y morir este en un sistema varia pues por decirlo asi podria haber dos etapas la de confecciona de un sistema y su implementasion , varian y no son las misma pues cuando vemos el enfoque original de un sistema y luego como este queda al final puede cambiar; agregándole o sustrayéndole procesos que realiza.
definiremos estoces estas dos partes en confeccion de un sistema que seria
- definición de necesidades
- análisis
- diseño
- codificación
y en la parte de implementan contamos con ya hecho en teoria parte del sistema consideramos que no necesitamos trabajar mas y la parte principal de este ciclo que basado todo en pruebas contra la vida
- pruebas
- validación
- mantenimiento y evolución
- definición de necesidades: En esta Parte Puede ser también definida como Levantamiento de la información o por lo menos usamos en muchos caso las herramientas dadas propias de la Investigación de campo
Análisis
Podemos decir tambien que en esta area se define la:
- la plataforma donde se desarrollara
- la plataforma donde se ejecutara
- si es un sistema informático el lenguaje a usar
Diseño:
En el diceño de un sistema daré el ejemplo de un sistema informático en este caso
- planteamos como sera la interface visual por ejemplo desde su diceño y orden de sus
- componentes , diseñamos los principios de la base de datos,
- planteamos la sub divicion del sistema,
- planteamos las clases y sus usos,
- Como documentaremos a medida que vamos desarrollando (proximo paso)
- diagramas de flujo del sistema
En definitiva es todo ese pre trabajo antes del trabajo para aligerar la carga que tendremos en el próximo paso.
Codificación

Se considera que esta sección del ciclo es una de las que mas peso tiene y a su vez tiene a modificar fuertemente las secciones anteriores ya sea por diversas razones (legales o tecnológicas)
Pruebas
A nivel de programa se le realizan la siguientes pruebas
- Pruebas unitarias: Sirven para comprobar que cada módulo realice bien su tarea.
- Pruebas de interconexión: Sirven para comprobar en el programa el buen funcionamiento en conjunto de todos sus módulos.
- Pruebas de integración: Sirven para comprobar el funcionamiento correcto del conjunto de programas que forman la aplicación. (el funcionamiento de todo el sistema)
Validación:
o bien llamada implementacion es la etapa del ciclo que mas costo y tiempo consume. En este proceso es donde se coloca el sistema en funcionamiento y se capacita al personal para su uso. Existen diversas formas de ponerse un sistema en funcionamiento Son las siguientes:directo: Se abandona el sistema anterior ( de existir)y se adopta el numero imediantemente.
esto puede traer problemas y riegos a demas de no poder regresar a sistemas anteriores en la mayoría de los casos y los cambios para solventar los problemas deben hacerse en pleno funcionamiento del sistema
Paralelo: Es cuando tanto el sistema anteiror como el nuevo estan funcionando a mismo tiempo hasta que el nuevo cumpla con las espectativas o se cumpla con el proceso de entrenamiento del personal
posee muy bajo riesgo en su metodología, pero genera muchos problemas de costo y mantenimiento
Piloto. se pone a prueba el sistema en una sección aislada o parte de la organización y al completar los requisitos se implementa en general, es mucho menos costoso que el paralelo pero un tanto mas riesgos
Fases: la implementacion del sistema se divide en parte o fases que se van realizando a lo largo de un periodo de tiempo, sucesivamente. una vez iniciada la primera fase la segunda no se inicia hasta que se complete la primera. representa ser mas costoso por se hace mas lenta la implementacion pero es la que menos riesgo posee
Mantenimiento y Evolución
Es donde el sistema pasa la mayoría de su tiempo de vida como tal, pues en ella el sistema cumple con sus objetivos y se desenvuelve en el ambiente para el cual fue creado.
Evolución : Se busca formas de mejorar el sistema replanteando su diseño codificación y análisis, asi como adición de nuevos sub-sistemas o sub-procesos que permiten abarcar una mayor área de trabajo.
mantenimiento: es que hagamos lo posible por no caer en errores, la actualización si el usuario tiene la necesidad de quitar o poner algo; téngase en cuenta que cuando surge mantenimiento tenemos que volver a hacer todos los pasos anteriores revisando que todas la condiciones sean favorables alrededor del sistema.
Teoria de sistemas - Analisis
La teoría de sistemas
o teoría general de los sistemas es el estudio de múltiples disciplinas de los sistemas en general. Su objetivo es estudiar los principios aplicables a los sistemas en cualquier nivel en todos los campos de la investigación osease ciencia, filosofía o arte.La ciencia de sistemas observa totalidades, fenómenos, isomorfismos, causalidades circulares, y se basa en principios como la subsidiariedad, permisividad, multicausalidad, determinismo, complementariedad, y de acuerdo con las leyes encontradas en otras disciplinas y mediante el isomorfismo, plantea el entendimiento de la realidad como un complejo, con lo que logra su transdisciplinariedad, y multidisciplinariedad.
la teoria de sistemas
segun la rae dice
1° Conjunto de reglas o principios sobre una materia racionalmente enlazados entre sí.
2° Conjunto de cosas que relacionadas entre sí ordenadamente contribuyen a determinado objeto.
Sintetizando el tema hablamos que un sistema es un conjunto de elementos que convergen en acciones para un mismo fin, en la naturaleza podemos apreciar fuertemente un equilibrio o sistema en el cual el clima, las planta y los animales actúan para un mismo fin. A su vez también es apreciable este en el funcionamiento de un carro. tenemos el motor, la caja de cambio y el sistema de frenos Todo este conjunto de partes funciona para un mismo fin que es desplazarse del punto 'a' al punto 'b'.
Un sistema en informática te permite procesar y almacenar datos. Este esta sub dividido en partes relacionada y entre ellos realizan un solo objetivo
un ejemplo seria los sistema de gerencia de un local el cual posee sub partes que por lo general son:
- Facturación
- Inventario
- Contabilidad
Estos tres pueden funcionar por separado a simple vista pero internamente funcionan como un solo. pues facturación requiere de datos de inventario y pasa por contabilidad para los datos. Esto aplica también para el concepto de sistema operativo pues este sistema se encarga del manejo de múltiples elementos ( hardware y software) para así brindarle al usuario un ambiente manejable y con múltiples herramientas.
Característica de los sistemas
Objetivo:
Todos los sistemas tienen uno o varios objetivos para su funcionamientos, los elementos o partes u objetos que las relacionan y definen están formadas para completar una meta(s) clara(s)
Globalismo:
Todo sistema proviene de un origen orgánico por lo cual el globalismo nos indica que todo cambio en en una parte del sistema afectara a las otras partes y a su vez todo el sistema. Esta teoria dicta que cada parte del sistema al verse relaciona entre si una accion en alguna de ella genera una reaccion en todas las partes relacionadas y modificando la forma de ejecucion o trabajo del conjunto o sistema. Esto va desde un cambio hasta material de proceso.
Entropia:
Es la tendencia que los sistemas tienen al desgaste, a la desintegración, para el relajamiento de los estándares y para un aumento de la aleatoriedad. A medida que la entropía aumenta, los sistemas se descomponen en estados más simples. La segunda ley de la termodinámica explica que la entropía en los sistemas aumenta con el correr del tiempo.A medida que aumenta la información, disminuye la entropía, pues la información es la base de la configuración y del orden.Homeostasis:
Es el equilibrio dinámico entre las partes del sistema. Los sistemas tienen una tendencia adaptarse con el fin de alcanzar un equilibrio interno frente a los cambios externos del medio ambiente.Tipos De Sistemas
Según su Constitución:
- Sistemas conceptuales: están constituidos por conceptos que son ajenos a la realidad y que resultan meramente abstractos.
- Sistemas físicos: los elementos que los componen, en cambio, son concretos y palpables, es decir que se los puede captar por medio del tacto.
Según su origen:
- Sistemas artificiales: se caracterizan por ser producto de la creación humana, por lo que dependen de la presencia de otros para poder existir.
- Sistemas naturales: estos en cambio, no dependen de la mano de obra del hombre para originarse.
Según su movimiento:
- Sistemas dinámicos: estos sistemas se caracterizan por presentar movimiento.
- Sistemas estáticos: como su nombre indica, carecen de movimiento alguno.
Según la complejidad de los elementos que los conforman:
- Sistemas complejos: se caracterizan por estar compuestos por una serie de subsistemas, lo que vuelve difícil la tarea de identificar los distintos elementos que los componen.
- Sistemas simples: a diferencia de los anteriores, éstos no cuentan con subsistemas, lo que permite identificar fácilmente a los elementos constitutivos de los mismos.
Según su naturaleza:
- Sistemas inertes: carece de vida alguna.
- Sistemas vivos: estos, en cambio, si poseen vida.
Suscribirse a:
Entradas (Atom)
NestJs Error on SecretKey for JWToken
Imagine this you are coding happy, configuring your module has auth.module.ts using on your register the classic call to get env value...

-
Introducción Hola hoy veremos como conectarnos con una base de datos access , este tipo de estructura de manejo de datos no dista mucho ...
-
John Riccitiello, antaño presidente de Electronic Arts y actualmente CEO de Unity , ha hecho públicas unas declaraciones al portal Game...