viernes, 9 de diciembre de 2016

UNIDAD III. ANÁLISIS Y MODELADO DE DESARROLLO DE SOFTWARE CON UML.

DIAGRAMA UML



UML se refiere a la realización de prototipos para la implementar dentro del ciclo de vida de un proyecto de software, este tipo de lenguaje consiste en estándares y normas para el diseño del modelo del sistema, el cual mostrara diferentes perspectivas de este.

Cabe resaltar que un diagrama UML describe la funcionalidad del sistema, más no como se debe implementar.


Existen diferentes tipos de diagrama UML, los más utilizados son:
  • Diagrama de casos de uso
  • Diagrama de clases
  • Diagrama de secuencia
  • Diagrama de colaboración

A continuación de explicaré en qué consisten cada uno de estos:

1. Diagrama de casos de uso


Es el diagrama UML más importante ya que es fundamental para la realización de los demás diagramas.

Un diagrama de casos de uso pretende capturar los requisitos fundamentales del sistema. Dentro de este diagrama de describe la interacción entre un actor y el sistema. Un caso de uso se enfoca en lo que debe de hacer el sistema y no en lo en cómo se debe de hacer.

Los componentes de este diagrama son: actores, casos de uso, relaciones.

Ejemplo:

2. Diagrama de clases

Un diagrama de clase muestra la forma en la que interactúan las clases, es decir, muestran las relaciones entre clases que existen dentro del sistema. Dentro de este diagrama podemos visualizar la estructura interna de cada clase u objeto del sistema.

Esta compuesta por clases y relaciones. Una clase es por lo regular el actor del diagrama de casos de uso, y dentro de esta clase se podrán describir los atributos, métodos  y visibilidad de la clase dentro del sistema. Las relaciones se representan por medio de lineas que unen las clase dependiendo la relación que puede ser; herencia, composición, agregación, asociación y uso.

Ejemplo:


3. Diagrama de Secuencia

Un diagrama de secuencia es utilizado para mostrar la forma en la que un grupo de objetos se comunican. Este tipo de diagrama es utilizado para visualizar instancias y eventos, en lugar de clases y métodos. 

Este diagrama es conocido por la ordenación de los mensaje respecto al tiempo y es importante debido a que aclara la funcionalidad de un sistema.

Entre los elementos de un diagrama de secuencia están:
  1. Rol de la clase
  2. Activación
  3. Mensajes
  4. Líneas de vida

Una de las ventajas de desarrollar este diagrama es que los clientes lo entienden fácilmente, por lo que resulta útil desarrollarlo en la fase de inicio del proyecto. 

Ejemplo:



4. Diagramas de colaboración 

Un diagrama de colaboración muestra a la relación entre instancias (objetos). Dentro de este diagrama son implementadas asociaciones las cuales con representadas por el paso de mensajes de una instancia a otra, a esto se le conoce como enlace.

Una instancia es declarada entre un rectángulo y su nombre es declarada de la siguiente manera :NombreInstacia. Un mensaje es representado casi como un método, es decir; Nombre_Metodo(), un mensaje siempre tendrá un número el cual indica en que tiempo debe ejecutarse. 

Una de las ventajas de este diagrama es que nos permite elegir el orden en el que se pasaran los mensajes entre las instancias, claro que la secuencia de estos mensajes debe de tener lógica.

Ejemplo:



5. Diagrama de estado 


Un diagrama de estado nos muestra los diferentes "estados" del sistema de acuerdo a las interacciones de las instancias y objetos. 

Un diagrama de estado se conforma de:

  • Estados
  • Eventos
  • Envío de mensajes
  • Transiciones
  • Generalización de estados 
Una de las ventajas principales de este diagrama  es que explica a la perfección la intención que tiene cada actor al interactuar con el sistema. Además este tipo de diagrama permite que el analista se logre centrar en las necesidades del cliente,por lo que facilita as prioridades de los requerimientos.

A continuación de muestro las notaciones utilizadas dentro de este diagrama:


Ejemplo:


¿Que programas usar para el desarrollo de estos diagramas?

Existen variedades de software gratuitos para el desarrollo de estos diagramas, a continuación de muestro una lista de los más utilizados:
  • StarUML
  • Tiny UML
  • Frame UML
  • BOUML
  • ArgoUML

Conoce más de este tema, visita:








A continuación te muestro estos videos, que en lo personal me ayudaron a comprender más este tema:

¿Qué es UML?



Explicación diagrama de colaboración:



Diagramas de Estados UML



Diagramas de Secuencia UML





CONFERENCIAS NOVIEMBRE - DICIEMBRE


CONGRESO ACADÉMICO CULTURAL UTSJR 2016


Imagen tomada de: Gente Bien


Conferencia: “Cambio climático desde el punto de vista holístico”

Ing. José Julián Martínez Muñoz


Durante el desarrollo de esta conferencia Julián nos dio varias preguntas a responder por opinión personal, me llamaron la atención dos preguntas: ¿Crees que los humanos generan el daño al ambiente? Y ¿Crees que se puede solucionar?, en definitiva pienso que somos nosotros los que generamos tanto daño al ambiente, pero también creo que se puede solucionar por nosotros.

Julián nos mencionó su punto de vista: “Si es causado por lo humanos y nunca es tarde para solucionarlo”, lo último fue debido a que la mayoría de los oyentes no creen que se pueda solucionar lo cual dejo muy decepcionado a Julián.

Este expositor nos dio tips para poder disminuir la contaminación y sus efectos, uno de ellos fue apagar el swicth de nuestras casas por la noche, ya que esto disminuye un 5% de la contaminación, también nos invitó a que no seamos conformistas y creamos que apagando el foco de nuestros cuartos se suficiente para contrarrestar esta contaminación, que nos informemos acerca de las acciones que podemos hacer para contribuir al cambio por el bien de nuestro ambiente, si no, en un futuro nos podremos arrepentir por no actuar ahora.

Por último dio a conocer lo que realza en la empresa donde trabaja, lo que entendí, es que el objetivo de esta es ubicar molinos de viento que generen energía alterna a la electricidad y con ello la purificación del aire, un proyecto bastante interesante, espero que pronto se implemente.


Conferencia: “Education in Japan & Materials Science”

Dr. Minoru Umemoto

La educación en Japón lleva un programa académico similar al de México, existe la educación básica, primaria, secundaria y universidad, de acuerdo a lo que entendí en esta conferencia, se que durante la etapa de universidad se puede optar por estudiar en institutos alternativos, al igual que en México los 4 niveles de estudio anteriores son los esenciales para poder desarrollarse en el ámbito laboral, después de la universidad se siguen estudios como maestrías y doctorados.

El idioma inglés en Japón es muy importante para poder comunicarse con las personas extranjeras, ya que, existen cada vez más personas con nacionalidad japonesa en México y la manera de comunicarse para poder hacer negocios es a través del Inglés.

Japón es un país que es bastante competente en las matemáticas, de acuerdo a las estadísticas Japón está en 3 lugar de países asiáticos que dominan este tema (Corea del Sur esta en primer lugar), esto debido a que los japoneses están más enfocados en la formación educativa, por lo que, en Japón no se pierden tantos días de educación como en México.

Dr. Minoru también abarco el tema de las nuevas tecnologías que se han estado desarrollado en Japón, un claro ejemplo fue la mano eléctrica que ganada al oponente todos los partidos de “piedra, papel o tijera” en tiempo real.


Conferencia: “Redes Sociales”

Alejandro Ávila

En la actualidad México es un país el cual la mayoría de la población cuenta con y tiene acceso a alguna red social, como: Facebook, WhatsApp, Twitter, entre otras.

Lo que vivimos ahora es el auge de la tecnología, ahora la gente que tiene acceso a este tipo de redes cree que todo es real y no se toman la molestia de leer las noticias que ven, esto es mal. Como estudiante de TI tengo la obligación de corroborar la información en mis redes sociales en varias fuentes para que esta no sea difundida siendo completamente falsa, Alejandro nos menciona que no compartamos información si esta no ha sido verificada en fuentes confiables, ya que de esto surgen demasiados malos entendidos en la gente.

Estoy de acuerdo que está bien reírse de los “memes”, pero no compartirlos ya que no benefician a nadie, de esta manera no estaría fomentando la ignorancia hacia los demás. Además estoy de acuerdo en que se debe leer antes de compartir. Alejando menciono un ejemplo acerca de que tantas personas leen lo que comparten y los resultados fueron alarmantes. 


Conferencia: “Revélate Prevención de adicciones con sentido humano”

Andrés O´Hagan

Sin duda una de las mejores conferencias a las que asistí en este congreso.
Yo no tomo bebidas alcohólicas no me drogo y no fumo, estoy en total acuerdo con Andrés y estoy consciente de las consecuencias de realizar algunos de estos actos. No hay que dejarse engañar por la publicidad falsa que vende el cigarro a base de que proporciona “placer y tranquilidad”, ya que ocasiona grandes daños en nuestro cuerpo. Yo en lo personal nunca fumaría, ya que, aparte de hacerle a mi cuerpo, estaría dañando a los “fumadores pasivos”, por mi parte no soportaría hacerle más daño a alguien que no fuma que a mí misma.

Debo reconocer que no tolero a las personas que beben (alcohol), se drogan o fuman ya que no están conscientes del daño que les provocara en un futuro. No las tolero en el ámbito de que hagan eso actos enfrente de mi (no es que este bien que lo hagan estas acciones en otros lados, está mal).

No descarto la idea de tomar alcohol, probablemente algún día lo haga, pero responsablemente como mencionaba Andrés. Por último nunca me drogaría, he visto persona que la está pasando mal por drogarse y como no pueden controlar su deseo por drogarse, eso es algo que definitivamente no quiero para mí.




DIA DE JAPÓN

Imagen tomada de: Gente Bien

Conferencia: “Aprender Japonés”

El idioma Japonés cada vez está abarcando territorio en México, ya que, existen empresas de origen Japonés instaladas dentro de México.

Este idioma en lo personal me parece difícil de aprender, pero me gusta la pronunciación de este y también me gusta la escritura que manejan en Japón. Este país a pesar de que es pequeño (territorio) cuenta con una gran extensa y rica cultura. Después de esta conferencia me dio curiosidad de aprender Japonés, pero ahora me enfocare en el Inglés ya que este es el idioma universal.

Me llamo la atención la forma en que el acompañante del expositor toco el instrumento, ya que transmitió sus sentimientos de lo mucho que le gusta la cultura japonesa.


CITIC















LA NETA DEL EMPRENDEDOR

Luis Alfonso Ramírez Vega

Ser una persona emprendedora es aportar nuevas ideas o creaciones innovadoras y constructivas que ayuden a la sociedad. Luis Alfonso nos menciona como ser un emprendedor con ideas relacionadas con las TIC, así también nos mostró cómo es que las TIC van evolucionando día con día.  

Este conferencista nos mencionó una frase que decía "La verdad, la verdad, la verdad ... es la verdad profunda”, se refería a la forma en que la persona crea estrategias para que su negocio sea exitoso. Aunque también menciona que todo negocio puede correr el riesgo de estar expuesto a desaparecer dentro de un año.

Sin duda una de las mejores conferencias a las que he asistido, este conferencista motiva a que existan personas emprendedoras en México.


THE REVOLUTION AND USAGE OF THE INTERNET OF THINGS

Francisco Zinzun Chagolla

Nos habló sobre el impacto que las tecnologías han tenido sobre las personas, así también abarco el tema de la innovación de las tecnologías.

Francisco Zinzun nos menciona un claro ejemplo de las evoluciones de estas tecnologías, comenzó con la muestra de imágenes de aquellas tecnologías que podían estar al alcance de las personas como radios y televisores hasta el punto de mostrar imágenes de tecnologías que la personas podrían llevar a todos lados. El Internet de las cosas se va expandiendo cada vez más, innovando y creando productos. Este ponente también nos menciona como es que la población puede llegar a decidir el futuro de un nuevo software, aplicación o creación una vez que este entra en el mercado de comercialización, un ejemplo fue como es que la compañía de Facebook adquirió la red social de WhastApp, ya que esta es usada por gran parte de la población a nivel mundial, la adquisición de esta red beneficio a esta compañía con grandes ganancias.


DIGITIZING THE WORLD WITH IoE & IoT

José Antonio Cervantes y Ramírez

El tema más importante del que se habló en esta conferencia fue acerca del internet de las cosas (loT), cada vez más la tecnología se va desarrollando aportando nuevas ideas para la conectividad por medio de dispositivos portátiles y de escritorio, ya que gran parte de la población cuenta con alguno de estos dispositivos.

José Antonio nos menciona como es que la tecnología va a seguir evolucionando conforme pase el tiempo. Algunas de las redes sociales que utilizamos en la actualidad puede que no sean utilizadas incluso que no existan dentro de 5 años, ya que probablemente surja una nueva red más dinámica para los usuarios.


LA EDUCACIÓN DEL FUTURO HACIA LA INDUSTRIA 4.0

Víctor Ávila Villalón

Una industria 4.0 puede contener:
  • Robots Autónomos
  • Virtualización
  • Manufactura Aditiva
  • Soluciones en la Nube
  • loT (Internet de las cosas)
  • Realidad aumentada
  • Big data
  • Integración de Sistemas
  • Ciber - Seguridad

Víctor Ávila nos menciona que es indispensable que el manejo de una Industria 4.0 cuente con personas que supervisen la buena función de estas tecnologías. Una industria 4.0  se centra en la virtualización de sus herramientas o maquinas, para ver el funcionamiento de estas y sus posibles fallas en un futuro. Empresas grandes, mediana y pequeñas tendrán la oportunidad de entrar en este ambiente, ya que cada vez más una Industria 4.0 puede estar al alcance de estas.


TELEMEDICINA: SALUD PERSONALIZADA

Rubén Antonio García Mendoza

La telemedicina es un tema de mucho interés y una idea demasiado innovadora, esta conferencia trata acerca de la relación entre la medina y tecnología.  Espero que la telemedicina pueda estar al alcance de todas las personas que lo requieran. Imaginar que a través de una computadora con conexión a Internet se pueda consultar a un médico y este de su diagnóstico y de ser necesario una operación sin la necesidad de tener una consulta física, es algo que traería muchos beneficios para la población en general, por ejemplo, para situaciones de emergencia donde no existan clínicas o hospitales cercas.


















lunes, 31 de octubre de 2016

ADMINISTRACIÓN DE REQUERIMIENTOS


Para comenzar con el desarrollo de este tema, debemos tener en claro el concepto “Administración de Requerimientos”. En lo personal defino este concepto como un proceso que tiene la finalidad de comprender y controlar los requerimientos del sistema, es decir, se encargará de entender la necesidad por la que se creará un nuevo sistema con ciertas características y/o requisitos que el cliente definirá.

Dentro de la administración de requerimientos podemos encontrar los siguientes temas enfocados principalmente al desarrollo de un proyecto:
  • Obtención y análisis de requerimientos
  • Especificación de requerimientos
  • Validación de requerimientos
    A continuación daré una breve explicación de estos temas:
    
     1.  Obtención y análisis de requerimientos
La obtención de requerimientos se enfoca principalmente a conocer la funcionalidad del sistema/programa/software según la necesidad del cliente. Pero, ¿cómo se obtienen estos requerimientos? Por lo general se utilizan las siguientes técnicas:


     2. Especificación de requerimientos

Dentro de un proyecto es muy importante la especificación de requerimientos, ya que de aquí, depende el funcionamiento del sistema y/o programa a desarrollar.  El cliente es quien deberá dar a conocer sus requisitos para posteriormente continuar con un análisis de lo que se obtendrá al final del desarrollo.
Dicha especificación se basa en la realización de un documento (en lo personal el analista es quien debería de realizarlo) que puede ser revisado, evaluado y aprobado por las autoridades correspondientes (cliente, líder del proyecto, etc).

Una buena especificación de requerimientos, requiere de la estructura de IEEE 830.


3. Validación de requerimientos

Existe una pregunta que describe este tema, la cual es la siguiente: ¿Tenemos los requisitos descritos correctamente?, no sirve de nada poner en marcha un proyecto si lo que se entendió por el equipo de trabajo es totalmente diferentes a lo que pidió el cliente.

La validación de los requisitos, tiene como objetivo comprobar que estos son correctos. Esta fase no se debe de saltar, ya que ayudará a que no se implementen las incorrectas especificaciones durante el desarrollo de un software, si este paso se salta hacia el desarrollo las consecuencias probamente se verán reflejadas en la pérdida de recursos (humanos y económicos), como el descontento del cliente.
  • ¿Cuáles son las comprobaciones a realizar?, te las muestro a continuación:




      
    Existen técnicas que ayudan a comprobar si los requerimientos son correctos, algunas de estas técnicas son las siguientes:

    
     


     Te interesa saber más, visita:


    
     

     Te recomiendo ver estos vídeos:
      
      Obtención y análisis de requerimientos



Especificación de Requerimientos:




Análisis de Requerimientos Software




 





VIABILIDAD


VIABILIDAD DEL PROYECTO

En cuanto a la viabilidad de un proyecto nos referimos a la parte de predecir el fracaso o éxito del proyecto a desarrollar. En un estudio de viabilidad se requiere aprovechar solo los recursos que sean necesarios, utilizando un mínimo de presupuesto. Además se analiza si cada recurso a utilizar es esencial o no.

Cuando se habla de viabilidad dentro de un proyecto la principal pregunta que se tiene que realizar es: ¿Qué beneficios traerá el sistema a desarrollar dentro de la empresa u organización?, y al momento de realizar un análisis de viabilidad los resultados arrojados por esta pregunta se verán reflejados aquí. 

Un estudio de viabilidad realiza una estimación de las necesidades del usuario reflejando si estas necesidades se pueden satisfacer utilizando las tecnologías software y hardware actuales.


Durante el desarrollo de una nueva aplicación es probable que existan limitaciones de recursos y fechas de entregas difíciles de cubrir y cumplir. Es una necesidad evaluar la viabilidad de un proyecto antes de que se comience con la fase de desarrollo, es mejor verificar en la etapa de definición si es viable o no antes de que se tenga una pérdida de recursos y de tiempo.



Existen diferentes tipos de vialidad a analizar, las cuales se muestran a continuación:



Al igual que es un estudio de Factibilidad se tienen preguntas planteadas, en el estudio de viabilidad se tienen las siguientes por cada tipo de viabilidad:

Viabilidad Operativa:
  • ¿Merece la pena resolver el problema o funcionará la solución pensada para el problema?
  • ¿Qué opinan los usuarios finales y los directivos sobre la solución al problema?

Viabilidad Técnica:

Riesgo de desarrollo.
  • ¿Puede diseñarse el elemento del  sistema de manera que  se consigan la función y rendimiento necesario dentro de las restricciones descubiertas durante el análisis?


Disponibilidad de recursos.

  • ¿Tenemos disponible una plantilla cualificada para desarrollar el elemento del sistema en cuestiónʹ?
  • ¿Tenemos disponibles otros recursos necesarios (hardware y software) para construir el sistema?


Tecnología.

  • ¿Ha progresado la tecnología respectiva hasta un punto que sea capaz de soportar el sistema?

 Viabilidad de Fechas:
  • ¿Son razonables los plazos del proyecto?
Viabilidad Económica:
  • ¿Cuál es el impacto en otros productos o centros de beneficios?
  • ¿ Cuánto es el coste de recursos necesarios para el desarrollo y crecimiento potencial del mercado?
  • ¿Qué beneficios trae desarrollar este sistema?

Te interesa saber más, visita:



Te recomiendo ver estos vídeos:

Estudios Viabilidad


El estudio de Viabilidad









jueves, 27 de octubre de 2016

FACTIBILIDAD

Definición de Factibilidad:

La factibilidad es la probabilidad de que se realiza un proyecto, que tan eficaz puede ser y los recursos contemplados para el desarrollo del mismo.

Realizar un estudio de factibilidad de un proyecto determina si este es bueno o malo, además dentro de este estudio se desarrollan estrategias para el desarrollo del proyecto.

Objetivos de Factibilidad

  •  Reducir errores dando una mejor precisión a los procesos
  •   Reducir costos disminuyendo o eliminando recursos no necesarios
  • Actualizar y mejorar servicios a clientes y usuarios
  • Saber si el proyecto traerá ganancias o lo contrario


De este estudio depende si se realiza el proyecto o se abandona su desarrollo, no tiene caso desarrollarlo si traerá más perdidas de dinero que ganancias.

A continuación te muestro un gráfico mostrando para que sirve y aquellas actividades a realizar dentro de un estudio de factibilidad: 


Cabe resaltar que dentro de este estudio encontramos participantes, a continuación se muestra en una imagen aquellos que pueden participar dentro del estudio, recuerda que es solo un ejemplo, por lo que se pueden integrar o eliminar participantes, según sea lo conveniente:


Tipos de Factibilidad

Existen 3 tipos de Factibilidad: 




















Para la realización de cada una de estas factibilidades, se recomienda la contestación de las siguientes preguntas:



Te interesa aprender más, visita:

  • Estudio de Factibilidad


  • Factibilidad Técnica


  • Factibilidad Económica


  • Factibilidad Operativa



Puedes encontrar más información es estos enlaces: