domingo, 5 de junio de 2016

ARQUITECTURA DEL SOFTWARE

En los inicios de la informática, la programación se consideraba un arte y se desarrollaba como tal, debido a la dificultad que entrañaba para la mayoría de las personas, pero con el tiempo se han ido descubriendo y desarrollando formas y guías generales, con base a las cuales se puedan resolver los problemas. A estas, se les ha denominado Arquitectura de Software, porque, a semejanza de los planos de un edificio o construcción, estas indican la estructura, funcionamiento e interacción entre las partes del software. En el libro "An introduction to Software Architecture", David Garlan y Mary Shaw definen que la Arquitectura es un nivel de diseño que hace foco en aspectos "más allá de los algoritmos y estructuras de datos de la computación; el diseño y especificación de la estructura global del sistema es un nuevo tipo de problema".

-   Una Arquitectura de Software, también denominada Arquitectura lógica, consiste en un conjunto de patrones y abstracciones coherentes que proporcionan el marco
-   Una arquitectura de software se selecciona y diseña con base en objetivos (requerimientos) y restricciones. Los objetivos son aquellos prefijados para el sistema de información, pero no solamente los de tipo funcional, también otros objetivos como la mantenibilidad, auditabilidad, flexibilidad e interacción con otros sistemas de información. Las restricciones son aquellas limitaciones derivadas de las tecnologías disponibles para implementar sistemas de información. Unas arquitecturas son más recomendables de implementar con ciertas tecnologías mientras que otras tecnologías no son aptas para determinadas arquitecturas. Por ejemplo, no es viable emplear una arquitectura de software de tres capas para implementar sistemas en tiempo real.
-   La arquitectura de software define, de manera abstracta, los componentes que llevan a cabo alguna tarea de computación, sus interfaces y la comunicación entre ellos. Toda arquitectura debe ser implementable en una arquitectura física, que consiste simplemente en determinar qué computadora tendrá asignada cada tarea.
SOFTWARE EN EL DEPORTE
Actualmente se usan los ordenadores y sus software para esclarecer jugadas dudosas en medio de un juego, para observar la trayectoria y el tiempo en los lanzamientos en diversos deportes o para que un atleta pueda determinar sus movimientos o su tiempo para mejorarlos posteriormente.
Forman parte de los beneficios de la tecnología en el deporte, y actualmente también se usan en las asociaciones deportivas principales con fines administrativos.
1) En el fútbol: por el momento no son usadas para dar un veredicto en medio del partido, pero muchas cadenas televisivas utilizan computadoras u otros aparatos electrónicos similares para reproducir, entre otras cosas si se respeta la distancia en los tiros libres, la velocidad de la pelota en un determinado tiro y si un jugador está en fuera de juego o no.
2) En el tenis: actualmente son usados aparatos electrónicos en medio del partido para demostrar si una pelota cayó dentro de la cancha o fuera de la última línea, usando el Ojo de Halcón, también con una computadora se puede observar la trayectoria y la velocidad de un tiro.
3) En el golf: para obtener información para un programa de análisis deportivo, el jugador, el palo y la pelota pueden tener censores conectados a una computadora. Cuando el jugador lleva a cabo el swing, la computadora recibe información sobre sus movimientos, y luego los muestra en pantalla.
4) En el atletismo: Para el análisis del movimiento de un atleta se realizan varios pasos en una computadora.
  1. Se filma o se fotografía a un atleta en acción.
  2. Se introducen las coordenadas simplificadas de las partes del cuerpo.
  3. La computadora realiza cálculos de tiempo y movimiento.
  4. Se presentan gráficamente los resultados.

sábado, 4 de junio de 2016

EL SOFTWARE EN LA FORMULA 1

El software en la Fórmula Uno ha ido invadiendo todas las áreas posibles y ya no queda ningún área, que no requiera de él.

La incidencia del software se puede dividir en tres áreas principales:

1) Desarrollo técnico del coche: aquí tenemos los conceptos más avanzados de ingeniería, de prototipaje digital, de CAD/CAM/FEA/CFD/DFM/PLM. El coche se diseña con metodologías de software, todo se simula, analiza, se predice, e incluso se realiza ingeniería inversa de los coches rivales. Todo ello es posible hacerlo sin producir una sola pieza. Un coche de F1, antes de que salga el primer prototipo físico de fábrica, se pueden hacer muchos virtuales. Todo depende del tiempo a disposición, que no es mucho. Los coches además, pueden evolucionar con mucha eficiencia.

2) Telemetria y Analytics: toda la información recibida desde el coche es ya un big data. Es la ingeniería de pista. Adquisición y análisis de datos. Toda la telemetría mecánica, todo el comportamiento del piloto, y los datos externos de los demás equipos. Todo esto se analiza con herramientas de Business Intelligence y se utilizan algoritmos predictivos para sugerir las estrategias de carrera, que al final se deciden en comités de personal deportivo, ingenieros y pilotos.

3) Simulación: Este es uno de los aspectos, que está evolucionando más rápidamente en la F1. Los simuladores provienen de la industria área y militar principalmente, ya no sólo para el entrenamiento de los pilotos, sino para probar todo tipo de piezas y estrategias. Hasta que se empezaron a aplicar los simuladores el túnel del viento y las pruebas en pista eran esenciales. Actualmente, aunque se liberara el límite de pruebas en pista, no se dejarían de utilizar los simuladores, son demasiado útiles.


INTERFAZ DE USUARIO

En computación, la interfaz de usuario es el espacio por medio del cual se pueden comunicar las personas con las máquinas para que así los usuarios puedan operar y controlar a la máquina, y que esta a su vez envíe retroalimentación para ayudar al operador a tomar decisiones y realizar tareas.

Los sistemas operativos como OS X y Windows tienen una interfaz de usuario gráfica, lo que significa que el usuario interactúa con la máquina por medio de imágenes, que en el caso de estos dos sistemas operativos son íconos, ventanas y menús desplegables.

 Los aparatos móviles como el iPhone, el iPad, y los dispositivos que tienen Android como sistema operativo, también tienen una interfaz gráfica, pero con el añadido de que la interacción se hace por medio de pantallas táctiles, lo qué hace más evidente lo que mencionamos anteriormente sobre que el usuario y la máquina se tocan para interactuar.

Hay interfaces que funcionan por medio de texto, es decir que no son gráficas. Un ejemplo de esto sería el sistema operativo MS-DOS, que funciona introduciendo cadenas de comandos para operar una computadora.

Las interfaces de usuario no solamente se limitan al software de una computadora, sino que también incluyen el hardware. Como mencionamos anteriormente, las pantallas táctiles son parte de la interfaz de muchos dispositivos móviles. En una computadora de escritorio, parte de la interfaz podría ser el mouse o el trackpad, ya que esos dispositivos nos permite manipular el sistema.

SOFTWARE MALICIOSO


El software malicioso o "malware" es un tipo de software que está diseñado para dañar los ordenadores. Dicho software puede robar datos confidenciales de su equipo, ralentizar su rendimiento gradualmente o incluso enviar correos electrónicos falsos desde su cuenta sin su conocimiento. Estos son algunos tipos de software malicioso habituales:
  • Virus: es un programa informático perjudicial que puede copiarse a sí mismo e infectar un ordenador.
  • Gusano: es un programa informático malicioso que envía copias de sí mismo a otros ordenadores a través de una red.
  • Software espía: es un software malicioso que recopila información de las personas sin su conocimiento.
  • Adware: es un software que reproduce, muestra o descarga anuncios en un ordenador de forma automática.
  • Troyano: es un programa informático destructivo que aparenta ser una aplicación útil, pero daña el ordenador o roba información una vez que se instala.


Algunos de los primeros programas infecciosos fueron elaborados como experimentos, como bromas o simplemente como algo molesto, no para causar graves daños en las computadoras. 
El software creado para causar daños o pérdida de datos suele estar relacionado con actos de vandalismo. Muchos virus son diseñados para destruir archivos en disco duro o para corromper el sistema de archivos escribiendo datos inválidos. 
Sin embargo, debido al aumento de usuarios de Internet, el software malicioso ha llegado a ser diseñado para sacar beneficio de él, ya sea legal o ilegalmente. Desde 2003, la mayor parte de los virus y gusanos han sido diseñados para tomar control de computadoras para su explotación en el mercado negro. 

miércoles, 1 de junio de 2016

¿Qué es Software Inc?

Construye y diseña edificios para unas condiciones de trabajo óptimas. Contrata personas para diseñar y lanzar software, para que puedas derrotar la competencia simulada y hacerte cargo de sus negocios. Administra y educa a tus empleados para asegurarte que ganen habilidad y estén satisfechos con su trabajo.

Software Inc. combina juegos de gestión con mecanismos de construcción de edificios de varias plantas, administración de empleados y la simulación del mercado. Está inspirado en juegos como: Game Dev Tycoon, Los Sims, Theme Park y Prison Architect.



Situación: en acceso anticipado en Steam
Sistemas: Windos, Mac & Linux
Características
Construye, equipa y mantén los edificios de oficinas de hasta diez pisos + sótano, en un terreno enorme.
Contratar a los empleados para diseñar, desarrollar, apoyar la investigación y el mercado del software con equipos.
Construye carreteras y aparcamientos para facilitar los desplazamientos de tus empleados.
Tendencia de las necesidades, demandas, habilidades y especializaciones de tus empleados, mientras se asegura de que cada equipo tiene personalidades compatibles.
Personaliza tu propio avatar como empleado.
Crea tus propios productos de software y franquicias.
Compite en un mercado simulado o en eventos impulsados por la venta de tus productos, adquiriendo contratos de trabajo o comerciando stocks.
Contratar personal para reparar tus muebles y ordenadores, y limpiar tu oficina.
Modifica el tipo de software que se puede desarrollar, qué tipo de empresas serán simuladas, escenarios de juego, misiones, personalidades y generadores de nombres aleatorios.
Delegar tareas importantes a tus jefes de equipo, tales como la gestión de los ciclos de desarrollo y los recursos humanos.
Configura tus propios servidores para los productos, control de código fuente y funcionamiento de su propia tienda en online.