sábado, 18 de agosto de 2012

Diseñando un Diagrama de Casos de Uso con UML


Diseñando un Diagrama de Casos de Uso con UML (Unified Modeling Language)
UML especifica una notación para el diseño de diagramas de casos de uso. Hay que  decir que un diagramas de casos de uso no son una especificación detallada de cada caso de uso sino de aquellos que poseen una mayor relevancia en el desarrollo del sistema. Para ello existen otras vistas como la vista de interacción, específicamente los diagramas de secuencia o de colaboración que expresan detalladamente el flujo de interacción entre el actor y el sistema de manera detallada conocidos como casos de uso extendidos. Los diagramas de casos de uso son un nivel de abstracción más alto que el detalle de los mismos y presenta todos los casos de uso del sistema a construir (en algunos casos se crean diagramas de casos de uso de varios niveles o separados por módulos esto depende del tamaño del sistema o del propio gusto del modelador)
Para poder crear diagramas de casos de uso hay que entender la semántica para su construcción. UML 2.0  definió una notación para cada elemento del diagrama:
1.       Actor
2.       Caso de Uso
3.       Relaciones
1.       Asociación
2.       Inclusión (INCLUDE)
3.       Extensión (EXTEND)
4.       Generalización
1. Actor: El caso de uso es una descripción funcional de la interacción entre uno o varios actores y el sistema que se está modelando específicamente sobre la funcionalidad desarrollada en el caso de uso. El actor está asociado a un rol específico que cumple en la interacción con el sistema (Ej. Usuario administrador, empleado, etc.). Un actor del sistema generalmente corresponde con un ser humano que tiene un rol de interacción con el caso de uso pero no siempre es así; un actor puede ser un hardware, otro sistema, un servicio que consume las funcionalidades modeladas en el caso de uso, etc. En UML 2.0 un actor se expresa simplemente con una figura en forma de ser humano. Esta figura va acompañada del nombre del actor que representa.

Notación UML 2.0 para un Actor
2. Caso de Uso: Un casos de uso define un comportamiento del sistema para cumplir un objetivo particular para un actor particular. Previa a la especificación de casos de uso existe todo un proceso que se expondrá en otros artículos de casosdeuso.com relacionada con la Ingeniería de Requerimientos, pero básicamente se podría decir que un requerimiento funcional del sistema puede dar origen a uno o muchos casos de uso. Es por eso que definir correctamente todos los requerimientos funcionales (y no funcionales) previos al diseño de diagramas de casos de uso es tan importante.  Por ejemplo, podríamos decir que existe un requerimiento funcional que es el CRUD (Create-Read-Update-Delete) para Administrar Clientes en un sistema de pedidos, es decir, que este requerimiento está asociado con el comportamiento de que el sistema adicione, consulte, actualice un elimine un cliente del sistema, estas operaciones solo podrán ser realizadas por un usuario Administrador de Pedidos. Desde la orientación a objetos también se observa claramente que existe una entidad de negocio (clase) que es el Cliente compuesto de un conjunto de atributos y operaciones (las del requerimiento). El diagrama de casos de uso no muestra el detalle de estas operaciones (se puede presentar en un diagrama de secuencias o en artefacto de software que es un documento de caso de uso del que hablaremos en otros artículos) pero sí presenta la relacion entre el actor (en este caso el cliente) y los casos de uso. La forma de diseñar los diagramas de casos de uso depende mucho de la complejidad de los procesos de negocios a modelar. Para efectos de nuestro ejemplo podriamos decir que este requerimiento Administrar Clientes da origen a cuatro casos de uso: Crear  Cliente, Buscar Cliente, Actualizar Cliente y Eliminar Cliente. La notación UML para un caso de uso se denota por una elipse y el nombre del caso de uso.


Notacion UML 2.0 para un Caso de Uso
3. Tipos de Relaciones: Para la construcción de los diagramas de casos de uso se han identificado un conjunto de relaciones que se pueden dar entre ellos. Estas relaciones expresan relaciones significativas, de interacción o de dependencia entre comportamientos del sistema a través de casos de uso.  A continuación se detallan estas relaciones:
3.1. Asociación: Una asociación es la relación de comunicación más simple entre un actor y el sistema. Las asociaciones implican que un actor interactúa con el comportamiento modelado en el caso de uso. La notación para las asociaciones es un línea simple entre el actor y el caso de uso en el que participa.
Notación UML 2.0 – Asociación
Para el ejemplo anterior,  se tiene la hipótesis del negocio de que el administrador del sistema de pedidos es quien puede crear, consultar, modificar o actualizar un cliente:
Notación UML 2.0 – Ejemplo de Asociaciones en un diagrama de casos de uso.
NOTA: Es común darle un nombre a la asociación por encima de la línea, esto con el objetivo de dar claridad semántica a dicha relación.
3.2 Inclusión (INCLUDE):  La inclusión en los diagramas de casos de uso es un tipo de relación que describe explícitamente el uso OBLIGATORIO de otro caso de uso. Es decir que un caso de uso incluido en otro indica que su ejecución es obligatoria en el comportamiento modelado en el caso de uso que lo incluye. La notación UML para una inclusión se ve como una flecha de líneas discontinuas con la palabra reservada <<INCLUDE>>:
Notación UML 2.0 Inclusión
Para el ejemplo, se puede dar el caso de que para Actualizar un Clientesiempre se hará necesario Consultar un Cliente:
Notación UML 2.0 – Ejemplo de Inclusiones en un diagrama de casos de uso.
3.3 Extensión (EXTEND): La extensión en los diagramas de casos de uso es un tipo de relación que indica que un caso de uso puede extender su comportamiento a otro caso de uso. La extensión no es obligatoria (como si ocurre en la inclusión), es decir que el caso de uso que al que extiende puede o no ejecutar el comportamiento del caso de uso.  La notación UML para una extensión se ve como una flecha de líneas discontinuas con la palabra reservada <<EXTEND>>:
Notación UML 2.0 para la Extensión
Para el ejemplo, puede darse el caso de que al Consultar un Cliente éste no exista, y al no existir se requiera que se permita Crear el Cliente. Esta relación es una  donde el caso de uso Crear Cliente puede extenderse a la funcionalidad de Consultar Cliente. Puede que el caso de uso consultar cliente lo ejecute o no lo ejecute dependiendo de si existe o no existe el cliente en el sistema. Los casos de uso que extienden generalmente se reflejan en el documento de caso de uso como un flujo alterno. Para el ejemplo, en el caso de uso consultar un cliente existirá un flujo alterno crear cliente que ejecuta el caso de uso extendido al mismo:
Notación UML 2.0 – Ejemplo de extensión en un diagrama de casos de uso.
NOTA: La clave para diferenciar una inclusión de una extensión se puede dar por la siguiente regla:
1. Una inclusión implica que el caso de uso que lo incluye SIEMPRE ejecutará el otro caso de uso.  En el detalle de caso de uso (que no se ve en el diagrama de casos de uso) que puede ser el documento de casos de uso, las inclusiones se ven comúnmente como un paso del flujo principal de eventos del caso de uso.
2. Una extensión implica que el caso de uso al que extiende NO SIEMPRE ejecutará el otro caso de uso extendido. En el detalle de casos de uso las extensiones se ven comúnmente como flujos alternos del caso de uso.
3.4 Generalización: En algunos momentos surge la necesidad, al igual que en la orientación a objetos, de que un caso de uso se pueda especializar en otros más concretos, a esto se le llama Generalización. En un caso de uso especializado, siempre se esperará que el caso de uso padre se ejecute. La notación UML para la generalización se representa con una punta de flecha triangular que va desde el caso de uso hijo hasta el caso de uso padre:
Nota UML 2.0 para Generalización
Para el ejemplo, podríamos suponer que el negocio modelado exige tener dos casos de uso especializados, que usan el caso de uso padre Crear Cliente pero que adicionan propiedades particulares; estos casos de uso son Crear Cliente Gold y Crear Cliente Platinum ya que cada uno adiciona propiedades y eventos adicionales al que posee el caso de uso Crear Cliente. Como lo comentaba, son especializaciones de Crear Cliente porque usan éste y agregan comportamientos/propiedades adicionales. Esto implica que el caso de uso Crear Cliente Gold y Crear Cliente Platinum ejecuta primero el comportamiento del caso de uso padre Crear Cliente:

Ejemplo completo quedaría así:
Notacion UML 2.0 – Ejemplo completo diagrama de casos de uso
Conclusiones
Los casos de uso son una excelente herramienta para guiar el proceso de desarrollo de código fuente y como le mencionaba acotan el alcance del sistema. Son usados comúnmente en metodologías de desarrollo como RUP pero en la actualidad ya existen metodologías ágiles como Essential Unified Process (ESSUP) que toman el caso de uso como vista de escenarios principal para el desarrollo y construcción de software.

domingo, 24 de junio de 2012

Experiencias y Conocimientos Adquiridos en Tarea


Experiencias
Lo mas complicado para el desarrollo de la tarea fue entender el concepto de paradigma y a que se refería en el documento, luego de ensayo y estudio pude comprender que un paradigma es un modelo que se desea aplicar como ejemplo sobre algún otro conocimiento adquirido, para de esta manera reforzarlo y generar un nuevo concepto de investigación. Para ello me base en cuestionamiento a terceros par obtener su punto de vista y sacar conclusiones entonces pude sacar el siguiente concepto.

Paradigma de la Refrigeradora
Un paradigma se refiere a un modelo que desea ser aplicado como ejemplo o una guía de instrucciones, al hablar del paradigma de la refrigeradora se refiere a la interacción que sucede entre esta y la persona.
La persona  posee la necesidad de tomar uno o varios productos que este dentro de la refrigeradora, dando la idea clara de que tomamos lo que necesitamos.

Experiencia.
A los códigos QR ya había tenido la inquietud de conocerlos pero no me había aventurado a averigua el sin numero de aplicaciones posibles para estos códigos Bidimensionales que van de exponer simples detalles hasta almacenar un registro detallado sobre lo que se desee hacer ya que por su código abierto puede ser aplicado en casi cualquier campo imaginable.
Códigos Q.R.
Un código QR es un sistema para almacenar información en una matriz de Puntos o un código de barras bidimensional creado por la compañía japonesa Denso Wave. Se caracteriza por los tres cuadrados que se encuentran en las esquinas y que permiten detectar la posición del código al lector. La sigla «QR» se deriva de la frase inglesa Quick Response (Respuesta Rápida en español), su principal utilidad es que se vuelve un código que permita que su contenido se lea a alta velocidad.
Los códigos QR también pueden leerse desde PC, Smartphone  mediante dispositivos de captura de imagen, como puede ser un escáner o la cámara de fotos, programas que lean los datos QR y una conexión a Internet para las direcciones web.
Experiencia
Esto fue algo nuevo para mi muy útil y entretenido de aprender, uno siempre se imagina combinar la realidad con la fantasía y esto es lo mas cercano a ello. Investigar sobre realidad aumentada me enseño que en sistemas no todo tienen porque ser estructurado, ni esquemático que también puede ser dinámico y entretenido realizar códigos para software.
Realidad Aumentada
La realidad aumentada es una tecnología que usa la realidad y a esta le añade lo virtual, esto suena a realidad virtual pero en realidad no lo es, la diferencia es que la realidad virtual se aísla de lo real y es netamente virtual.
Entonces podemos definir la realidad aumentada como el entorno real mezclado con lo virtual, la realidad aumentada puede ser usada en varios dispositivos desde computadores hasta dispositivos móviles, HTC android e Iphone los dispositivos que ya están implementando esta tecnología.
Componentes
  • Monitor del computador: instrumento donde se verá reflejado la suma de lo real y lo virtual que conforman la realidad aumentada.
  • Cámara Web: dispositivo que toma la información del mundo real y la transmite al software de realidad aumentada.
  • Software: programa que toma los datos reales y los transforma en realidad aumentada.
  • Marcadores: los marcadores básicamente son hojas de papel con símbolos que el software interpreta y de acuerdo a un marcador especifico realiza una respuesta especifica (mostrar una imagen 3D, hacerle cambios de movimiento al objeto 3D que ya este creado con un marcador).


Experiencia
El investigar sobre geoposicionamiento abre las puertas a la nueva tecnología móvil ya que es ahí donde va encaminado el futuro de la informática es lo que dictamina el sentido común descubrir todo lo que se esconde y saber donde estamos eso es lo que pretende aplicar esta herramienta que se encuentra disponible en casi todos los teléfonos inteligentes.   

Geoposicionamiento
Se denomina geoposicionamiento a la tecnología, que combina el reconocimiento óptico de los objetos o entornos y que agregando información contextual, realza la percepción de  nuestra vista a través de la pantalla esta se  transforma en interactiva, ya que se enriquece con una capa independiente de datos informativos y útiles respecto al objeto, lugar o entorno al que está apuntando con el dispositivo móvil.

Experiencia
Como punto final la elaboración de este trabajo me permitió expandir mi forma de pensar y saber que el conocimiento que se recibe en clases no es suficiente para los retos y metas que se te pongan en la vida que siempre hay que estar investigando cosas nuevas y un poca más.......

jueves, 14 de junio de 2012

Actualización del Proyecto Integrador

Tema: Control de Procesos Usando Indicadores por gestión para el área de Recursos Humanos de la U.T.E.Q.
Tutor: Ing. Ariosto Vicuña
DEFINICIONES IMPORTANTES
¿Qué es un control de procesos?
Un seguimiento que se hace a un área definida para así no esperar a que pase algo defectuoso si no anticiparse y actuar sobre éste cuando se presenten las primeras  fallas.
La gestión de Indicadores.
Los indicadores de gestión son uno de los agentes determinantes para que todo
proceso de producción, se lleve a cabo con eficiencia y eficacia, mediante un buen sistema de información que permita comprobar las diferentes etapas del proceso logístico.
¿Que son Indicadores por Gestión?
Hay que tener presente que un indicador es una relación entre las variables cuantitativas o cualitativas, y que por medio de estas permiten analizar y estudiar la situación y las tendencias de cambio generadas por un fenómeno determinado, respecto a unos objetivos y metas previstas o ya indicadas.
Características de los Indicadores
Un indicador correctamente compuesto posee las siguientes características:
Nombre: es la identificación y la diferenciación de un indicador , por lo cual
es muy importante que este sea concreto y debe definir claramente su
objetivo y la utilidad
Formas de calculo: al tratarse de un indicador cuantitativo, se debe tener en
cuenta la formula matemática que se va emplear para el calculo de su valor,
esto implica la identificación exacta de los factores y la manera como ellos
se relacionan.
Unidades: es la manera como se expresa el valor de determinado del
indicador dado por unidades, las cuales varían de acuerdo con los factores
que se relacionan.
Glosario: este punto es de vital importancia, ya que es importante que el
indicador se encuentre documento o anexados términos que especifican de
manera exacta los factores que se relacionaran en el cálculo del indicador.
¿Con Que Indicadores hay que trabajar?

 INDICADORES PARA EL ÁREA DE RECURSOS HUMANOS
Productividad de mano de obra = Producción / Horas-hombre trabajadas
Ausentismo = Horas-hombre ausentes / Horas-hombre trabajadas
Frecuencia de accidentes = No. De accidentes incapacitantes x 1.000.000 / Horas-hombre trabajadas
Productividad de mano de obra = Producción / Horas-hombre trabajadas
Índice de severidad = No. de días perdidos x 1.000.000 / Horas-hombre trabajadas
Índice de tipos de trabajo = No. de empleados de producción / No. de empleados administrativos
Índice de tipos de salario = Salario pagado a obreros /Salario pagado a empleados administrativos
Índice de tipos de salario = Salario pagado a obreros / Salario pagado a supervisores
Importancia de los salarios = Total salario pagados / Costos de producción
Índice prestaciones-salario = Prestaciones pagadas / Total salario pagado
Índice prestaciones-trabajadores = Prestaciones pagadas / Total trabajadores
Indicador de rotación de trabajadores = Total de trabajadores retirados / Número promedio de trabajadores
Indicador horas-trabajador = Horas – hombre trabajadas / Número promedio de trabajadores
Indicador horas extra en el periodo = Total horas extra / Total horas trabajadas
Indicador ventas-trabajador = Ventas totales / Número promedio de trabajadores

Objetivo General
Realizar un sistema para controlar los procesos en el área de recursos humanos de la Universidad Técnica Estatal de Quevedo
Objetivos Específicos
Automatizar  los procesos en el área de Recursos humanos de la UTEQ para acortar el tiempo de respuesta a las peticiones de los usuarios
Mostrar en formas cuantitativas el comportamiento o desempeño de las personas que laboran en la Universidad Técnica Estatal De Quevedo
Problematización
El área de recursos humanos no lleva un control automatizado de información, el cual resulta molesto a la hora de proporcionar detalles específicos de las personas que laboran en la Institución.

Necesidades de la Organización.
El área de recursos humanos necesita llevar un control automatizado de la Información para así atender de manera eficiente las peticiones de los Empleados de la Institución.

Factibilidades
Factibilidad Técnica.
Dentro de la factibilidad técnica podemos considerar:
  • El uso de scaners para la compilación digital de documentos de los empleados.
  • El uso de un DBMS para el almacenamiento de la información sobre los empleados.
  • La implementación de diagramas gráficos determinara una forma de visualización dinámica y de fácil entendimiento.·
h    Factibilidad Económica.
En la factibilidad económica se plantean los siguientes puntos:
Presupuesto de Trabajo
Tiempo estimado de trabajo
3 meses, dos semanas
Tiempo de trabajo diario
4 horas diarias
Horario
8 h.00 – 12 h.00
Días laborables
Lunes - Viernes
Fecha
Junio
Fecha
Julio
Fecha
Agosto
Fecha
Septiembre
18 -29
1 -31
1 -31
3 -28
Días
laborados         10 días

22 días

23 días

20 días
Total días
75 días
Precio de la hora de trabajo individual
$ 5
Horas de trabajo totales
300 horas
Producto a multiplicar
300 horas de trabajo 
$15 valor  hora del equipo de trabajo
Total trabajo humano
$4500   
Desglose
$ 1500 Cristian
$ 1500 Carlos
$ 1500 Jairo
Movilización
Movilización grupal
$ 3
Total días
75 días
Total valor movilización
$ 225
Alimentación
Valor individual
$2,50
Valor grupal
$7,50
Total días
75 días
Total valor alimentación
$ 562,50
Valor considerando 3 factores
Trabajo humano
$4.500,00
Movilización
$ 225,00
Alimentación
$ 562,50
Total
$ 5287,50

Estos costos deben ser considerados por el Ingeniero en Sistemas el cual determina si le conviene o no realizar la Solución Informática por el precio que determina el dueño de la S.I.

Factibilidad  Organizacional.
Dentro de la factibilidad organizacional podemos considerar:
  • El sistema debe ser implementado en el área de Recursos Humanos.
  • Debe existir una capacitación del personal que vaya a usar la Solución Informática.
  • El sistema receptara los datos de los Empleados y los registrara en el DBMS.
  • La información podrá ser presentada en informes al área que le concierne su evaluación.
Realización
Plan de Trabajo.
  • Determinar las ideas y objetivos principales del sistema.
  • Analizar los recursos con los que se cuenta para hacer el trabajo.
  • Reunir un grupo de trabajo acorde al nivel de dificultad de la solución Informática.
  • Asignar tareas y responsabilidades a cada miembro del grupo de trabajo.
  • Cumplir con el calendario de presentación de avances.
  • Realizar pruebas prototipos para determinar falencias y corregirlas.
  • Realizar la implementación de la Solución Informática en la empresa solicitante.

Equipo.
  • Basado en las necesidades de utilización.
  • Un investigador de conceptos.
  • Como mínimo un desarrollador de software
  • Un realizador de Encuestas y Preguntas.
  • Al menos 3 personas vinculadas con la realización de los procesos en el área de Recursos Humanos (Encuestados).
  • Al menos 2 personas indirectamente relacionadas con los procesos en el área de Recursos Humanos (Encuestados).
  • Una o más personas que sirvan de evaluadores y clasificadores de la información (Tutores).

Métodos y Técnicas a Aplicarse.

Técnica de la entrevista.
Mediante esta técnica se planea conocer los aspectos fundamentales en cada uno de los procesos que se realicen en Recursos Humanos.

Método de Indagación.
Consultar a las personas necesarias no necesariamente en su ámbito  de trabajo esto le dara al encuestado la confianza para hablar de una forma mas casual sobre las necesidades que requiere.