martes, 25 de septiembre de 2012

Softwate Libre Para Diagramas UML


ARGO UML
ArgoUML es una aplicación en entorno gráfico de diseño, desarrollo y documentación de software orientado a objetos escrita en Java que permite crear la gran mayoría de diagramas UML estándar (en formatos PNG, GIF, SVG, PGML, entre otros) y generar el código en distintos lenguajes (Java, C++, C, PHP4 y PHP5), así como generar diagramas UML a partir de código Java compilado. Además el software tiene otras características como la compatibilidad con el estándar XMI, soporte para OCL, framework modular para ingeniería inversa, entre otras.

ENTERPRISE ARCHITECT
Enterprise Architect combina el poder de la última especificación UML 2.1 con alto rendimiento, interfaz intuitiva, para traer modelado avanzado al escritorio, y para el equipo completo de desarrollo e implementación. Con un gran conjunto de características y un valor sin igual para el dinero, EA puede equipar a su equipo entero, incluyendo analistas, evaluadores, administradores de proyectos, personal del control de calidad, equipo de desarrollo y más, por una fracción del costo de algunos productos competitivos. Verifique el rango completo de las herramientas y características case en detalle.
Alta capacidad - Características finales superiores a un precio justo 
Enterprise Architect es una herramientas comprensible de diseño y análisis UML, cubriendo el desarrollo de software desde el paso de los requerimientos a través de las etapas del análisis, modelos de diseño, pruebas y mantenimiento. EA es una herramienta multi-usuario, basada en Windows, diseñada para ayudar a construir software robusto y fácil de mantener. Ofrece salida de documentación flexible y de alta calidad. El manual de usuario está disponible en línea.
El Lenguaje Unificado de Modelado provee beneficios significativos para ayudar a construir modelos de sistemas de software rigurosos y donde es posible mantener la trazabilidad de manera consistente. Enterprise Architect soporta este proceso en un ambiente fácil de usar, rápido y flexible. Para una mirada rápida al modelado UML en Enterprise Architect vea nuestro tutorial UML  y documentos.


Velocidad, estabilidad y buen rendimiento.


Umbrello: es una herramienta de diagramas que ayuda en el proceso del desarrollo de software. Umbrello facilita la creación de un producto de alta calidad, especialmente durante fases de análisis y diseño del proyecto. UML también puede usarse para documentar sus diseños de software para ayudarle a usted y al resto de desarrolladores.

StarUML: es una herramienta para el modelamiento de software basado en los estándares UML (Unified Modeling Language) y MDA (Model Driven Arquitecture), que en un principio era un producto comercial y que hace cerca de un año paso de ser un proyecto comercial (anteriormente llamado plastic) a uno de licencia abierta GNU/GPL.

BoUML: Esta también es una herramienta CASE gratuita (licencia GPL). Permite trabajar con UML 2, soporta gran cantidad de diagramas, es rápida y apenas consume memoria, es sencilla de utilizar, permite generar código para Java, C++ e IDL, y puede hacer reingeniería inversa (a partir del código sacar el modelo). También es capaz de generar documentación en varios formatos (HTML, XMI, etc.)

Dia: es un programa de creación de diagramas basado en GTK+ bajo la licencia GPL. Está inspirado en el programa comercial de Windows ‘Visio’, y puede ser usado para dibujar muchos tipos diferentes de diagramas. Dispone de una serie de extensiones para ayudar en la elaboración de diagramas entidad-interrelación, UML, flujo de datos, diagramas de red, y un largo etc. Pero muchos al usarlo tal vez puedan sentir una frustración ya que no es muy sencillo de usar y se trata ‘solamente’ de una herramienta de dibujo de diagramas, evitando que podamos sacarle todo el provecho que se podría sacar del UML. Dia incluye una herramienta para generar código a partir de los diagramas realizados.
Existen muchas otras como: Frame UML y TinyUML, pero es necesario informar que la mayoría de estas herramientas se encuentran en fase de desarrollo, por lo tanto aun poseen muchas carencias y detalles técnicos que solventar. La herramienta más recomendada, por lo que ofrece y porque ha logrado superar incluso a herramientas CASE para UML comerciales, son ArgoUML y StarUML, estas son las que se han ubicado entre las preferidas y las más completas por sus múltiples opciones de diseño y sus incorporaciones que no le envidian nada a las herramientas de software propietario.
------------------------------------------------------------------------------------------------------------------------
Estas herramientas nos serán útiles para poder desarrollar diagramas UML, todas estas son gratuitas, de esta forma será más fácil poder hacer uso de ellas e implementar un software de calidad.

UML (Lenguaje Unificado de Modelado)

UML

Lenguaje Unificado de Modelado (UML, por sus siglas en inglés, Unified Modeling Language), está consolidado como un lenguaje estándar en el análisis y diseño de sistemas de cómputo.
Mediante UML es posible construir la serie de requerimientos y estructuras necesarias para plasmar un sistema de software previo al proceso de escritura de código. Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema.
UML ofrece un estándar para describir un modelo del sistema, comprendiendo aspectos conceptuales tales como procesos y funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y componentes reutilizables.
Aunque UML es un lenguaje, éste posee más características visuales que programáticas, que facilitan a los integrantes (analistas, diseñadores y programadores) de un equipo multidisciplinario participar y comunicarse fácilmente.
La programación orientada a objetos se convierte en un complemento perfecto de UML, pero no por eso se toma UML sólo para lenguajes orientados a objetos.
---------------------------------------------------------------------------------------------------------------------
UML es un lenguaje que nos permite llevar a cabo un análisis y un diseño de sistemas, también nos permite construir estructuras necesarias para plasmar un sistema de software y poder visualizarlo  previo al proceso de escritura de código.
UML es utilizable para lenguajes orientados a objetos, pero tiene algunas otras aplicaciones.


Metodología RUP

METODOLOGÍA RUP
El Rational Unified Process o Proceso Unificado de Racional. Es un proceso de ingeniería de software que suministra un enfoque para asignar tareas y responsabilidades dentro de una organización de desarrollo. 
Su objetivo es asegurar la producción de software de alta calidad que satisfaga la necesidad del usuario final dentro de un tiempo y presupuesto previsible.
Es una metodología de desarrollo iterativo enfocada hacia “los casos de uso, manejo de riesgos y el manejo de la arquitectura”.

Ventajas de la Metodología RUP.
Mejora la productividad del equipo ya que permite que cada miembro del grupo, sin importar su responsabilidad específica, acceda a la misma base de datos de conocimiento. Esto hace que todos compartan el mismo lenguaje, la misma visión y el mismo proceso acerca de cómo desarrollar software.

Ciclo de Vida


FASE DE INICIO
Durante esta fase de inicio las iteraciones se centran con mayor énfasis en las actividades de modelamiento de la empresa y en sus requerimientos
FASE DE ELABORACIÓN
Durante esta fase de elaboración, las iteraciones se centran al desarrollo de la base del diseño, encierran más los flujos de trabajo de requerimientos, modelo de la organización, análisis, diseño y una parte de implementación orientada a la base de la construcción
FASE DE CONSTRUCCIÓN
Durante esta fase de construcción, se lleva a cabo la construcción del producto por medio de una serie de iteraciones las cuales se seleccionan algunos Casos de Uso, se redefine su análisis y diseño y se procede a su implantación y pruebas. En esta fase se realiza una pequeña cascada  para cada ciclo, se realizan tantas iteraciones hasta que se termine la nueva implementación del producto.
FASE DE TRANSICIÓN
Durante esta fase de transición busca garantizar que se tiene un producto preparado para su entrega al usuario.
--------------------------------------------------------------------------------------------------------
Comentario Metodología RUP.
Esta metodología nos sirve para poder tener una mejor organización, tener bien definidas las actividades y responsabilidades de cada uno de los integrantes de un proyecto de software por así llamarlo.
El objetivo principal y generar un software de alta calidad.

Otro objetivo es que cada integrante del equipo participe sin importar su función, ya que esto ayuda a mejorar y a entender el software.
Las fases básicamente nos sirven para identificar los procesos y paso que debemos llevar a cabo, ya que la metodología RUP busca la implementación de un software de alta calidad.

viernes, 31 de agosto de 2012

3 Notas de Interés

*Pentium (1994)
Junio 1994: Probadores de Intel descubrieron un error en la división de los chip's Pentium. La noticia se les salio de las manos y se comenzó a difundir vía Internet. Los Directivos de Intel, pensaron que ese error no afectaría a mucha gente, por lo cual no dieron a conocer el problema. De esta manera Intel cometió el primer error.
Se comenzaron a difundir comentarios de que Intel no era digno de confianza. En ese momento Intel avisó que solo era un "defecto menor".
En ese mismo mes, el Dr. Thomas R., profesor de matemáticas en la universidad de Lynchburg, Virginia, nota una pequeña diferencia de dos conjuntos de números. 
El Dr. Thomas, pasó eliminando por un tiempo las posibles causas del problema, tales como errores de bus PCI y artefactos del compilador.
Miércoles, 19 de Octubre: Después de pruebas sobre varios 486 y ordenadores a base de Pentium, El Dr. Thomas queda totalmente convencido de que el error es causado por el procesador Pentium.
Lunes, 24 Octubre: Dr. Thomas contacta al servicio de soporte de Intel. La persona de Intel confirmo el error, pero dijo que no había sido reportado antes.
Domingo, 30 de Octubre: Después de no haber recibido más información por parte de Intel, Dr. Thomas, envió un correo a algunas personas, anunciando su descubrimiento, un "error" en los procesadores Pentium.
El problema era sobre el procesamiento de datos numéricos, los cuales podían verse afectados por el "error" de Pentium.
Jueves, 3 de Noviembre: Todo estaba bien, hasta que un grupo de periodistas confirmaron que el problema era verídico, por lo cual enviaron un correo anunciando una próxima noticia sobre una falla en procesadores Pentium. Cuando el mensaje fue emitido por los periodistas, usuarios, clientes y técnicos fueron informados exactamente sobre el problema.
Intel remarco que eran insignificantes los defectos de sus microprocesadores tratando de tranquilizar a los usuarios. Intel se negó a a sustituir los microprocesadores, a excepción de las personas que mostrarán que habían sido afectadas por el procesador, lo cambiarían. No obstante los usuarios de Intel, demandaban el reemplazo del procesador. IBM se unió a las protestas y de esta manera Intel se vio forzado a sustituir los microprocesadores.
Con una perdida de aproximadamente 400 millones de dolares. 

--------------------------------------------------------------------------------------------------------------------------

*Cohete Europeo Ariane 5.

El día Martes 4 de Junio de 1996, el cohete Ariane 5 explotó, esto sucedió en su primer lanzamiento y ocurrió aproximadamente antes de haber transcurrido menos de 1 minuto, en el cual alcanzó los 3400 metros de altura.
Observadores cercanos al cohete tuvieron que evacuar la zona, ya que comenzaron a caer "fragmentos" del cohete, donde afortunadamente no hubieron heridos, solo algunas personas fueron ligeramente afectadas por los gases.
Los fragmentos del Ariane 5 cayeron en área de aproximadamente 500 metros al norte de la plataforma y 5 kilómetros al sur, dentro de la zona de seguridad.
El cohete, de 51 metros de alto y 730 toneladas de peso, y los 4 satélites científicos de la misión "Cluster" que iban a bordo en este primer lanzamiento, cayeron en fragmentos incandescente.
Ni el lanzador no los satélites estaban asegurados puesto que el primer lanzamiento era un "lanzamiento de desarrollo de programa".
Después de 10 años de trabajo. decenas de empresas europeas implicadas en el desarrollo del proyecto y aproximadamente un billón de pesetas saltaron por el aire.
El cohete llevaba un sistema automático de seguridad a bordo, por el cual sí se verifica una desviación crítica de la trayectoria, el computador ordena la destrucción del lanzador. Desde la Sala Júpiter, un operador responsable de seguridad también tiene acceso para poder apretar el botón fatídico. En esa explosión, ambos sistemas se activaron, cerca de los 25 segundos, explicaron los técnicos después de la explosión.
Varias empresas españolas habían hecho contribuciones importantes al Ariane 5, con piezas estructurales clave, sistemas electrónicos, programas informáticos.

-------------------------------------------------------------------------------------------------------------------------


*Misil Patriot.

En 1991, el misil patriot tiene fallos en el software. El sistema fue descrito como altamente exitoso, pero esto fue disminuyendo al 95%, llegando hasta el 13%.
El sistema fue diseñado para trabajar en un ambiente mucho más limitado y menos hostil que el que había diseñado en Arabia Saudita.
Según reportó posteriormente el New York Times, una falla en la computadora de tierra del misil Patriot fue responsable de evitar la peor baja americana durante la guerra.
El 18 de enero de 1991, un Patrior interceptó un "Scud" que iba camino a Arabia Saudita, siendo la primera vez que un sistema antiaéreo acababa con un misil balístico enemigo.Aparentemente el sistema de radar del Patriot nunca vio al misil Scud. 
Según oficiales del ejército "una combinación imprevista de docenas de variables - incluyendo la velocidad, altura y trayectoria del Scud - causaron la falla del sistema del radar… [este caso fue] una anomalía que nunca apareció durante las horas de pruebas. 
El error se atribuye a una acumulación de inexactitudes en el manejo interno del tiempo de la computadora del sistema. Aunque el sistema ejecutaba según las especificaciones, éste debía ser apagado y prendido con la suficiente frecuencia para que el error acumulado nunca fuera peligroso. Como el sistema se uso de manera no planeada, una pequeña "inexactitud" significo un serio error.
Después de 8 horas de uso se detectó el problema del reloj acumulado.



Comentarios de los 3 Videos

Comentarios:
1.- ¿Quién movió mi queso? 

Este vídeo nos da una reflexión, la cual es NO ser conformista, necesitamos estar preparados para los cambios, con lo cual podremos solucionar nuestros problemas en cualquier momento.
Tenemos que enfrentarnos a nuevos retos en la vida, para crear y desarrollar nuevas cosas y así poder satisfacer nuestras necesidades e ir más allá.
En nuestro caso, las tecnologías se desarrollan rápidamente, y necesitamos estar listos y preparados para un cambio por completo..
De la misma manera impulsándonos a conseguir nuestras metas, ir más allá de lo que tenemos hoy en día, no "estancarnos" y seguir en la búsqueda de nuevas cosas.

Frases de Reflexión:
"El miedo es la excusa para no intentarlo"
"No hay nada peor en la vida, que perderla por miedo a vivirla" 


--------------------------------------------------------------------------------------------------------------------------

2.- Chiquitos
Nos enseña que no importa nuestro tamaño físico, que siempre resaltaremos por nuestras acciones, logros, metas. De esta manera siempre estaremos a la altura, o dicho de otra manera podemos estar a la altura que nosotros deseemos. Con nuestros hechos, podremos abrir un nuevo camino y así poder resaltar entre la gente, llegar a ser lo mejor sin importar nada.
Solo importa la forma en que lo hagamos, en la forma en que nos expresemos. 

No nos tenemos que dar por vencidos hasta cumplir nuestras metas y objetivos.

-------------------------------------------------------------------------------------------------------------------------

3.- Delfines
Este vídeo nos deja un mensaje muy amplio, en el cual muchas veces necesitamos a un compañero para tomar mejores decisiones o trabajar mejor. 
Es esencial y mucho mejor trabajar en equipo para obtener buenos resultados.
Necesitamos ser humildes, tener la habilidad de saber y poder resolver problemas, necesitamos ser independientes y hacernos responsable de nuestros actos, saber actuar con delicadeza y con certeza.
Y tenemos que ser como los delfines, amigables, responsables, inteligentes a la hora de actuar, y apoyarnos entre todos.


sábado, 25 de agosto de 2012

Ing. en Software

Opinión:
La Ing. en Software es una disciplina en la cual se tiene como objetivo resolver problemas de todo tipo. Ofreciendo métodos y técnicas para desarrollar y mantener software de calidad.
Se pretende que la Ing. en Software sea a bajo costo y tenga buena funcionalidad, un claro ejemplo son los cajeros automáticos: ya que en ellos se implementa el uso de Software en donde se puede retirar dinero y hacer una serie de movimientos y el beneficio para la empresa en este caso es que el gasto se hace una sola vez, evitando generar gastos en personal para poder dar un servicio a sus clientes.
Tomando en cuenta únicamente el costo de mantenimiento y actualización que este requiere.


Visión:
Implementar herramientas que nos permitan desarrollar, crear, innovar y diseñar nuevas formas de un software de calidad, para simplificar el trabajo y reducir costos, con los cuales podremos resolver problemas.