• No results found

3*5.3 FIELDS LAUNCHED IN A SECTION OF THE TAPER

Lenguaje Unificado de Modelado (UML, por sus siglas en inglés, Unified Modeling Language) es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad; está respaldado por el OMG (Object Management Group). Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema. UML ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocio y funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y componentes reutilizables.

3.2.3.1 UML Business

UML Business es una extensión del lenguaje UML propuesta por Eriksson & Penker (2000). Es un lenguaje de modelado orientado a la representación de sistemas de negocios.

El Modelado de Procesos de Negocio puede ser definido como un proceso sistemático que permite modelar el entorno de las aplicaciones actuales que soportan los procesos que ejecuta un negocio. Cualquier aplicación puede ser mejorada mediante la optimización de los procesos de negocio, que a su vez proporcionan la base para alcanzar los objetivos de la empresa.

3.2.3.2 Diagramas UML

Los diagramas son la representación gráfica de una colección de elementos con sus relaciones, ofreciendo así una vista del sistema a modelar. Para poder representar de forma correcta un sistema, el lenguaje

presenta un conjunto de notaciones y diagramas estándar para modelar sistemas orientados a objetos, y describe la semántica esencial de lo que estos diagramas y símbolos significan. Mientras que ha habido muchas notaciones y métodos usados para el diseño orientado a objetos, ahora los modeladores sólo tienen que aprender una única notación. Se puede usar para modelar distintos tipos de sistemas: sistemas de software, sistemas de hardware, y organizaciones del mundo real. UML ofrece nueve diagramas en los cuales modelar sistemas.

a) Diagramas de Casos de Uso. b) Diagramas de Secuencia. c) Diagramas de Colaboración. d) Diagramas de Estado. e) Diagramas de Actividad f) Diagramas de Clases. g) Diagramas de Objetos. h) Diagramas de Componentes. i) Diagramas de Implementación.

UML es una consolidación de muchas de las notaciones y conceptos más usados orientados a objetos. Empezó como una consolidación del trabajo de Grade Booch, James Rumbaugh, e Ivar Jacobson, creadores de tres de las metodologías orientadas a objetos más populares.

El presente proyecto utilizó en su proceso de diseño algunos diagramas del Lenguaje Unificado de Modelado (UML) con el fin de especificar e ilustrar de la mejor manera a los usuarios del SIPERYVA su funcionalidad, arquitectura y navegación.

3.2.3.2.1 Casos de Uso

Un caso de uso representa una interacción típica entre un usuario y un sistema informático.

A. Actor: representa cualquier elemento que intercambia información con el sistema, por lo que está fuera de él.

Figura 8. Actor.

Fuente: Autor (2010)

B. Caso de uso: es una secuencia de intercambios en dialogo con el sistema que se encuentran relacionadas por su comportamiento.

Figura 9. Caso de Uso.

Fuente: Autor (2010)

C. Las relaciones entre casos de usos pueden ser extiende esta

establece que un Caso de Uso puede ser extendido con algún comportamiento adicional definido en otro Caso de Uso. La relación

contiene una condición y referencia una secuencia de puntos de extensión en el Caso de Uso base. de inclusión, cuando un caso de uso utiliza a otro y de asociación para comunicar a un actor con otro.

Figura 10. Tipos de relaciones de Casos de Uso.

Fuente: Autor (2010)

3.2.3.2.2 Diagramas de clase

Un diagrama de clases sirve para visualizar las relaciones entre las clases que involucran el sistema, las cuales pueden ser asociativas, de herencia, de uso y de contenimiento. Un diagrama de clases está compuesto por los siguientes elementos:

Clase: Es la unidad básica que encapsula toda la información de un Objeto (un objeto es una instancia de una clase). A través de ella se puede modelar el entorno en estudio. En UML, una clase es representada por un rectángulo que posee tres divisiones:

Tipos de relaciones

Asociación

Include

Include>>

Figura 11. Representación de una clase.

Fuente: Autor (2010)

Atributos: Los atributos o características de una Clase pueden ser de tres tipos, los que definen el grado de comunicación y visibilidad de ellos con el entorno, estos son:

public (+, ): Indica que el atributo será visible tanto dentro como fuera de la clase, es decir, es accsesible desde todos lados.

private (-, ): Indica que el atributo sólo será accesible desde dentro de la clase (sólo sus métodos lo pueden accesar).

protected (#, ): 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 (ver herencia).

Métodos: Los métodos u operaciones de una clase son la forma en como ésta interactúa con su entorno, éstos pueden tener las características:

public (+, ): Indica que el método será visible tanto dentro como fuera de la clase, es decir, es accsesible desde todos lados.

private (-, ): Indica que el método sólo será accesible desde dentro de la clase (sólo otros métodos de la clase lo pueden accesar).

protected (#, ): Indica que el método no será accesible desde fuera de la clase, pero si podrá ser accesado por métodos de la clase además de métodos de las subclases que se deriven (ver herencia).

Ahora ya definido el concepto de Clase, es necesario explicar como se pueden interrelacionar dos o más clases (cada uno con características y objetivos diferentes). Existen 5 tipos de relaciones entre clases:

a. Dependencia: Es una relación de uso, es decir una clase usa a otra, que la necesita para su cometido. Se representa con una flecha discontinua que va desde la clase utilizadora a la clase utilizada. Con la dependencia se muestra que un cambio en la clase utilizada puede afectar el funcionamiento de la clase utilizadora, pero no al contrario.

b. Generalización: Es un relación entre un elemento más general (el padre) y elemento más específico (el hijo). El elemento más específico es totalmente consistente con el elemento más general y contiene la información adicional, también se define como la herencia, donde tiene una o varias clases padre o superclase o madre, y una clase hija o subclase. Por ejemplo, un animal es un concepto más general que un gato, un perro o un pájaro. Inversamente, un gato es un concepto más específico que un animal.

c. Agregación: Es un tipo especial de asociación que representa una relación estructural entre las clases donde el llamado agregado indica el todo y el componente es una parte del mismo.

d. Asociación: Relación estructural que describe un conjunto de conexiones entre objetos de forma bidireccional.

e. Composición: Es un tipo de agregación donde la relación de posesión es tan fuerte como para marcar otro tipo de relación.

Figura 12. Tipos de relaciones de Clases.

Fuente: Autor (2010)

Tipos de relaciones

Dependencia

Agregación

Asociación

Composición

Generalización

3.2.3.2.3 Diagramas de Despliegue

Representan la configuración de los nodos de procesamiento en tiempo de ejecución y los componentes que residen en ellos. Muestran la vista de despliegue estática de una arquitectura y se relacionan con los componentes ya que, por lo común, los nodos contienen uno o más componentes.

Nodo: Un nodo representa típicamente un procesador o un dispositivo sobre el que se pueden desplegar los componentes.

Componente: Representa el empaquetamiento físico de elementos lógicos tales como: clases, interfaces y colaboraciones, es decir representa una unidad de código (fuente, binario o ejecutable). Un componente es una parte física y reemplazable de un sistema.

Interface: Las interfaces se utilizan como lazo de unión entre unos componentes y otros.

Nombre Símbolo

Nodo

Componente

Interface

Tabla 1. Elementos del diagrama de despliegue.

3.2.3.2.4 Diagrama de secuencia.

Los diagramas de secuencia son un tipo de diagramas de interacción. Constan de un conjunto de objetos y sus relaciones, incluyendo los mensajes que se pueden enviar unos objetos a otros. Cubren la vista dinámica del sistema. Los diagramas de secuencia enfatizan el ordenamiento temporal de los mensajes.

Los elementos de un diagrama de secuencia son los siguientes:

Tabla 2. Elementos del diagrama de secuencia.

Fuente: Autor

Tipo de Nodo

Símbolo Descripción

Marco Provee un borde visual para el

diagrama de secuencia

Línea de Vida

Una línea de vida representa un participante individual en un diagrama de secuencia. Una línea de vida usualmente tiene un rectángulo que contiene el nombre del objeto. Si el nombre es self entonces eso indica que la línea de vida representa el clasificador que posee el diagrama de secuencia.

Actor Representa el papel desempeñado por

un usuario

Mensaje Create mesage() Define una comunicación particular

entre líneas de vida de una interacción

Fragmento combinado

3.2.3.2.5 Diagrama de actividades

Un diagrama de actividades muestra las operaciones que se pasan entre los objetos. La diferencia semántica es sutil, pero tiene como resultado una forma muy diferente de mirar el mundo. Así pues, un diagrama de actividades muestra el flujo de actividades. Una actividad es una ejecución no atómica en curso, dentro de una máquina de estados. Las actividades producen finalmente alguna acción, que está compuesta de computaciones atómicas ejecutables que producen un cambio en el estado del sistema o la devolución de un valor. Las acciones incluyen llamadas a otras operaciones, envío de señales, creación o destrucción de objetos o simples cálculos, como la evaluación de una expresión. (Ver tabla 3 p.48)

Elementos del diagrama de actividades

Tipo de Nodo Símbolo Descripción

Actividades Una actividad es la especificación de una secuencia parametrizada de

comportamiento. Una actividad muestra un rectángulo con las puntas redondeadas adjuntando todas las acciones, flujos de control y otros elementos que constituyen la actividad.

Flujo de Control Un flujo de control muestra el flujo de control de una acción a otra. Su

notación es una línea con una punta de flecha.

Nodo Inicial Un nodo inicial o de comienzo se describe por un gran punto negro,

como se muestra a continuación.

Nodo final Hay dos tipos de nodos finales: nodos finales de actividad y de flujo. El

nodo final de actividad se describe como un círculo con un punto dentro del mismo. El nodo final de flujo se describe como un círculo con una cruz dentro del mismo.

Nodos de Bifurcación (Fork)

Indica un conjunto de actividades que pueden realizarse en paralelo (concurrentemente)

Nodos de Unión (Join)

Indica que, para continuar, deben haber finalizado todas las actividades concurrentes.

Ojo que no son como paréntesis (puede aparecer una sin la otra).

Nodo de decision

.

Nodo de control que selecciona entre dos o más flujos de salida.

3.2.3.2.6 Diagrama de paquetes

Un paquete es una parte de un modelo. Cada parte del modelo debe pertenecer a un paquete. Pero para ser funcional, la asignación debe seguir un cierto principio racional, tal como funcionalidad común, implementación relacionada y punto de vista común. UML no impone una regla para componer los paquetes.

Los paquetes ofrecen un mecanismo general para la organización de los modelos/subsistemas agrupando elementos de modelado. Cada paquete corresponde a un submodelo (subsistema) del modelo (sistema). Los paquetes son unidades de organización jerárquica de uso general de los modelos de UML. Pueden ser utilizados para el almacenamiento, el control de acceso, la gestión de la configuración y la construcción de bibliotecas que contengan fragmentos reutilizables del modelo.

Los diagramas de paquetes se usan para reflejar la organización de paquetes y sus elementos. Cuando se usan para representaciones, los diagramas de paquete de los elementos de clase se usan para proveer una visualización de los espacios de nombres. Los usos más comunes para los diagramas de paquete son para organizar diagramas de casos de uso y diagramas de clase, a pesar de que el uso de los diagramas de paquete no es limitado a estos elementos UML.

Figura 13. Símbolo de los paquetes.

3.2.4 Herramientas de desarrollo

Las herramientas de desarrollo son aquellos programas o aplicaciones que tengan cierta importancia en el desarrollo de un programa (programación). Pueden ser de importancia vital (como un ensamblador, un compilador o un editor) o de importancia secundaria, como una IDE (Integrated Development Environment - Entorno de Desarrollo Integrado).

A. Compiladores Los compiladores son programas que "traducen" un fichero de código fuente de cualquier lenguaje interpretado al lenguaje ensamblador, y llama cuando sea necesario al ensamblador y al linker (enlazador).

B. Ensambladores: Los ensambladores son aquellos programas que se encargan de desestructurar el código en lenguaje ensamblador y traducirlo a lenguaje binario. Los archivos en lenguaje binario serán posteriormente enlazados en un único fichero, el ejecutable.

C. Enlazadores: Son los programas que enlazan varios ficheros objeto en lenguaje binario para crear un único fichero, el ejecutable del programa.

D. Depuradores (Debuggers): Como su nombre indica, sirve para corregir bugs. Se encargan de ejecutar, paso a paso y advirtiendo de errores, valores de variables, etc. un programa. Son particularmente útiles cuando el programa parece estar bien, pero no da el resultado esperado (se cuelga, da resultados erróneo).

E. Editores de texto: Son tan importantes como un compilador y actualmente suelen incluir funciones específicamente dedicadas a la

programación, como resaltado de sintaxis.

(http://es.wikibooks.org/wiki/Fundamentos_de_programaci%C3%B3n/, 2011)

F. Macromedia Dreamweaver 8

Macromedia Dreamweaver es un creador y editor de páginas web. Es una de las aplicaciones más utilizadas en el sector de diseño y programación de páginas web, permite crear sitios de una forma completamente grafica, y cuenta con funciones para acceder al código HTML que se genera, así como también permite la conexión a un servidor, a la base de datos, y brinda un soporte para la programación en distintos lenguajes como por ejemplo PHP.

Una de las características del programa es que se pueden optimizar las páginas para las diferentes versiones de los navegadores. Dreamweaver no modifica el código fuente, haciendo fácil el poder cambiar entre Dreamweaver y tu editor de código no visual favorito. Algunas otras características incluyen: un editor de imagen integrado, diferentes colores para la sintaxis HTML, soporte para posicionamiento absoluto, poder hacer cambios por todas las páginas usando elementos comunes, cliente de FTP integrado (con soporte Firewall), soporte XML, plantillas, e interfaz personalizado. (http://es.wikipedia.org/wiki/Sybase, 2010)

G. Macromedia Fireworks

Es una aplicación versátil en forma de estudio que ofrece un ambiente eficiente para la creación rápida de prototipos de sitios Web e interfaces de usuario, permite crear y editar imágenes de mapa de bits y vectoriales, diseñar efectos web, recortar y optimizar elementos gráficos, ayudando a resolver los principales problemas que enfrentan

los diseñadores gráficos y los creadores de sitios webs. (http://es.wikipedia.org/wiki/Adobe_Fireworks, 2011)

3.2.5 Aplicación web

Una aplicación Web es un conjunto de páginas dinámicas generadas al momento, según una secuencia de parámetros introducidos por el usuario. Es una aplicación informática completa, que presenta como marco para mostrar los contenidos un navegador de internet o de una intranet. Las aplicaciones web brindan la comodidad de ser accesibles desde cualquier punto de conexión a Internet, permitiendo a sus empleados y/o clientes navegar en ella. Además, las páginas generadas están en un formato estándar HTML o XHTML, los cuales utilizan lenguajes interpretados del lado del cliente, tales como Java Script, para añadir elementos dinámicos a la interfaz de usuario. Generalmente cada página Web individual es enviada desde el servidor al usuario como un documento estático con una experiencia interactiva y de fácil uso.

Aunque muchas variaciones son posibles, una aplicación Web está comúnmente estructurada como una aplicación de tres capas. En su forma más común, el navegador web es la primera capa, un motor usando alguna tecnología web dinámica (ejemplo: CGI, PHP, Java Servlets o ASP) es la capa intermedia, y una base de datos como última capa. El navegador web manda peticiones a la capa media, que la entrega valiéndose de consultas y actualizaciones a la base de datos generando una interfaz de usuario

3.2.5.1 Ventajas

A. Ahorra tiempo: Se pueden realizar tareas sencillas sin necesidad de descargar ni instalar ningún programa.

B. No hay problemas de compatibilidad: Basta tener un navegador actualizado para poder utilizarlas.

C. No ocupan espacio en el disco duro.

D. Actualizaciones inmediatas: Como el software lo gestiona el propio desarrollador, cuando el usuario se conecta es usa siempre la última versión que haya lanzado.

E. Consumo de recursos bajo: Dado que toda (o gran parte) de la aplicación no se encuentra en el ordenador, muchas de las tareas que realiza el software no consumen recursos porque se realizan desde otro ordenador. F. Multiplataforma: Se pueden usar desde cualquier sistema operativo

porque sólo es necesario tener un navegador.

G. Portables: Es independiente del ordenador donde se utilice (un PC de sobremesa, un portátil...) porque se accede a través de una página web (sólo es necesario disponer de acceso a Internet). La reciente tendencia al acceso a las aplicaciones web a través de teléfonos móviles requiere sin embargo un diseño específico de los ficheros CSS para no dificultar el acceso de estos usuarios.

H. La disponibilidad suele ser alta porque el servicio se ofrece desde múltiples localizaciones para asegurar la continuidad del mismo.

I. Los virus no dañan los datos porque éstos están guardados en el servidor de la aplicación.

J. Colaboración: Gracias a que el acceso al servicio se realiza desde una única ubicación es sencillo el acceso y compartición de datos por parte de varios usuarios. Tiene mucho sentido, por ejemplo, en aplicaciones online de calendarios u oficina.

K. Los navegadores ofrecen cada vez más y mejores funcionalidades para

crear aplicaciones web ricas.

Related documents