diagramas.diagramasde.com sotfware t…  · Web viewparte de una metodología de diseño orientada...

28
Introducción al UML El Lenguaje Unificado de Modelado (UML) es, tal como su nombre lo indica, un lenguaje de modelado y no un método o un proceso. El UML está compuesto por una notación muy específica y por las reglas semánticas relacionadas para la construcción de sistemas de software. El UML en sí mismo no prescribe ni aconseja cómo usar esta notación en el proceso de desarrollo o como parte de una metodología de diseño orientada a objetos. El UML soporta un conjunto rico en elementos de notación gráficos. Describe la notación para clases, componentes, nodos, actividades, flujos de trabajo, casos de uso, objetos, estados y cómo modelar la relación entre esos elementos. El UML también soporta la idea de extensiones personalizadas a través elementos estereotipados. El UML provee beneficios significativos para los ingenieros de software y las organizaciones al ayudarles a construir modelos rigurosos, trazables y mantenibles, que soporten el ciclo de vida de desarrollo de software completo. Objetos y Clases Una clase es un elemento estándar del UML, que se usa para especificar el patrón del que se producirán los objetos en tiempo de ejecución. Una clase es una especificación; un objeto es una instancia de una clase. Las clases se pueden heredar de otras clases (es decir, heredan todo el comportamiento y el estado de sus padres y agregan nueva funcionalidad propia), pueden tener otras clases como atributos, pueden delegar sus responsabilidades a otras clases e implementar interfaces abstractas. El modelo de clases está en el núcleo del desarrollo y del diseño orientados a objetos; expresa el estado persistente y el comportamiento del sistema. Una clase encapsula el estado (los atributos) y ofrece los servicios para manipularlo (el comportamiento). Un buen diseño

Transcript of diagramas.diagramasde.com sotfware t…  · Web viewparte de una metodología de diseño orientada...

Page 1: diagramas.diagramasde.com sotfware t…  · Web viewparte de una metodología de diseño orientada a objetos. El UML soporta un conjunto rico en elementos de notación gráficos.

Introducción al UMLEl Lenguaje Unificado de Modelado (UML) es, tal como su nombre lo indica, un lenguaje demodelado y no un método o un proceso. El UML está compuesto por una notación muy específicay por las reglas semánticas relacionadas para la construcción de sistemas de software. El UML ensí mismo no prescribe ni aconseja cómo usar esta notación en el proceso de desarrollo o comoparte de una metodología de diseño orientada a objetos.El UML soporta un conjunto rico en elementos de notación gráficos. Describe la notación paraclases, componentes, nodos, actividades, flujos de trabajo, casos de uso, objetos, estados y cómomodelar la relación entre esos elementos. El UML también soporta la idea de extensionespersonalizadas a través elementos estereotipados.El UML provee beneficios significativos para los ingenieros de software y las organizaciones alayudarles a construir modelos rigurosos, trazables y mantenibles, que soporten el ciclo de vida dedesarrollo de software completo.Objetos y ClasesUna clase es un elemento estándar del UML, que se usa para especificar el patrón del que seproducirán los objetos en tiempo de ejecución. Una clase es una especificación; un objeto es unainstancia de una clase. Las clases se pueden heredar de otras clases (es decir, heredan todo elcomportamiento y el estado de sus padres y agregan nueva funcionalidad propia), pueden tenerotras clases como atributos, pueden delegar sus responsabilidades a otras clases e implementarinterfaces abstractas. El modelo de clases está en el núcleo del desarrollo y del diseño orientados aobjetos; expresa el estado persistente y el comportamiento del sistema. Una clase encapsula elestado (los atributos) y ofrece los servicios para manipularlo (el comportamiento). Un buen diseñoorientado a objetos limita el acceso directo a los atributos de la clase y ofrece los servicios quemanipulan a solicitud del solicitante. Este ocultamiento de los datos y exposición de los serviciosasegura que las modificaciones de los datos se realizan sólo en un lugar y de acuerdo con reglasespecíficas; para grandes sistemas la cantidad de código que tiene acceso directo a los elementosde datos en muchos sitios es extremadamente alto.

Page 2: diagramas.diagramasde.com sotfware t…  · Web viewparte de una metodología de diseño orientada a objetos. El UML soporta un conjunto rico en elementos de notación gráficos.

Las clases se representan usando la siguiente notación:y los objetos con la notación que sigue:Características de una ClaseObserve que la clase tiene tres áreas diferentes:El nombre de la clase (y el estereotipo, si corresponde)El área de los atributos (es decir los elementos de datos internos)El comportamiento; privado y públicoLa imagen siguiente muestra estas tres áreas (los atributos en rojo, las operaciones en

verde): Los atributos y los métodos pueden ser marcados como:Privados (private), indicando que no son visibles para los solicitantes fuera de la claseProtegidos (protected), son visibles sólo para las clases hijasPúblicos (public), son visibles para todos.Las convenciones textuales siguiente corresponden a la notación:Símbolo Significado+ Público- Privado# Protegido$ Estático/ Derivado (atributo – no estándar)* Abstracto (atributo – no estándar)Una herramienta CASE le permitirá establecer numerosos detalles de los atributos, como muestrael ejemplo a continuHerenciaLa herencia describe la relación jerárquica entre las clases. Describe el 'árbol genealógico'. Lasclases pueden heredar los atributos y el comportamiento de una clase padre (que, a su vez, puedeser el hijo de otra clase). Este árbol de características y comportamiento heredados brinda al

Page 3: diagramas.diagramasde.com sotfware t…  · Web viewparte de una metodología de diseño orientada a objetos. El UML soporta un conjunto rico en elementos de notación gráficos.

diseñador la posibilidad de colectar la funcionalidad común en clases raíces (ancestros) y refinar yespecializar este comportamiento en una o más generaciones (hijos). Los especificadores dealcance (público, protegido y privado) determinan qué elementos se pueden heredar y cuáles noson visibles. El siguiente diagrama muestra un nivel de herencia:Dinámicaación:Lenguaje Unificado de Modelado (LUM o 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, funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y componentes reutilizables.Es importante resaltar que UML es un "lenguaje de modelado" para especificar o para describir métodos o procesos. Se utiliza para definir un sistema, para detallar los artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje en el que está descrito el modelo.Se puede aplicar en el desarrollo de software entregando gran variedad de formas para dar soporte a una metodología de desarrollo de software (tal como el Proceso Unificado Racional o RUP), pero no especifica en sí mismo qué metodología o proceso usar.UML no puede compararse con la programación estructurada, pues UML significa Lenguaje Unificado de Modelado, no es programación, solo se diagrama la realidad de una utilización en un requerimiento. Mientras que, programación estructurada, es una forma de programar como lo es la orientación a objetos, sin embargo, la programación orientada a objetos viene siendo un complemento perfecto de UML, pero no por eso se toma UML sólo para lenguajes orientados a objetos.UML cuenta con varios tipos de diagramas, los cuales muestran diferentes aspectos de las entidades representadas.Modelo de Clases Introducción 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 esta compuesto por los siguientes elementos:

Clase : atributos, métodos y visibilidad. Relaciones : Herencia, Composición, Agregación, Asociación y Uso.

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 podemos modelar el entorno en estudio (una Casa, un Auto, una Cuenta Corriente, etc.). En UML, una clase es representada por un rectángulo que posee tres divisiones:

Page 4: diagramas.diagramasde.com sotfware t…  · Web viewparte de una metodología de diseño orientada a objetos. El UML soporta un conjunto rico en elementos de notación gráficos.

En donde: o Superior: Contiene el nombre de la Clase o Intermedio: Contiene los atributos (o variables de instancia) que

caracterizan a la Clase (pueden ser private, protected o public). o Inferior: Contiene los métodos u operaciones, los cuales son la forma como

interactúa el objeto con su entorno (dependiendo de la visibilidad: private, protected o public).

Ejemplo: Una Cuenta Corriente que posee como característica:

o Balance Puede realizar las operaciones de:

o Depositar o Girar o y Balance

El diseño asociado es:

Atributos y Métodos: o 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).

o 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:

Page 5: diagramas.diagramasde.com sotfware t…  · Web viewparte de una metodología de diseño orientada a objetos. El UML soporta un conjunto rico en elementos de notación gráficos.

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).

La mejor forma de desarrollar un buen diagrama de caso de uso es mediante entrevista directa con los usuarios o posibles futuros usuarios del sistema, poniendo atención a cada una de las actividades o pasos que se van a ir desarrollando desde un primer momento hasta un momento final.La elaboración de diagramas de uso ayuda poderosamente a un analista a comprender la forma en que un sistema deberá comportarse, obteniendo los requerimientos desde el punto de vista del usuario.En todo caso de uso siempre hay un actor, que es quien inicia, y luego otro actor (que puede ser el mismo que inicia el caso de uso o puede ser otro diferente), que recibirá algo por parte del sistema. La representación gráfica es directa, de la siguiente forma:

En la figura anterior, la elipse representa el caso de uso. Las dos figuras en los extremos izquierdo y derecho son los actores que intervienen. El actor que inicia se encuentra a la izquierda del caso de uso, y el que recibe a la derecha. El nombre del actor aparece justo debajo de él, y el nombre del caso de uso aparece ya sea dentro de la elipse o justo debajo de ella. Una línea asociativa conecta a un actor con el caso de uso, y representa la comunicación entre el actor y el caso de uso. La línea asociativa es sólida. El rectángulo envuelve a los casos de uso dentro del sistema.A continuación se muestra un caso de uso que aunque en primera instancia podría parecer complejo, realmente no lo es una vez se comprende el significado de cada uno de los símbolos utilizados, los cuales se explicarán posteriormente uno a uno:

Page 6: diagramas.diagramasde.com sotfware t…  · Web viewparte de una metodología de diseño orientada a objetos. El UML soporta un conjunto rico en elementos de notación gráficos.

Ya se explicó anteriormente lo que significan la elipse, las figuras de los actores en los extremos izquierdo y derecho, el nombre de los actores debajo de dichas figuras de los extremos, el nombre del caso de uso dentro de las elipses, así como las líneas asociativas y el rectángulo dentro del cual aparecen todos los casos de uso, con el nombre del sistema en la parte superior y siempre dentro del rectángulo.En el diagrama de ejemplo, un aspecto importante que se ha utilizado es la "inclusión", que permite volver a utilizar los pasos de un caso de uso dentro de otro. Esto significa según el ejemplo mostrado, que tanto "Reabastecer" como "Recolectar dinero" son casos de uso que incluyen siempre otro conjunto de pasos que son los correspondientes a "Exhibir el interior" y "Cubrir el interior". Esto es así porque siempre que se quiera "Reabastecer" una máquina de gaseosas o "Recolectar dinero" contenido en la máquina, inevitablemente se iniciará mediante la apertura de la máquina y se finalizará con el cierre y sellado de la misma.Se han utilizado líneas discontinuas con una punta de flecha que se dirige hacia las clases dependientes ("Exhibir el interior" y "Cubrir el interior" son las dos clases dependientes). Este tipo de flechas son el símbolo que representa inclusión en la nomenclatura UML. Justo sobre la línea se ha agregado una palabra que se utiliza para revelar la relación de inclusión existente entre los casos de uso vinculados. Esta palabra debe ponerse precisamente sobre la flecha (o a un lado de la línea, si esta fuera vertical, o incluso debajo de la línea si el espacio de trabajo obliga a ello) y debe ser bordeada por dos pares de paréntesis angulares. La palabra que se ha utilizado es «incluir».En el ejemplo también se ha utilizado la "extensión", que consiste en añadir un nuevo caso de uso al caso original, que sería el caso de uso "base". Para el ejemplo concreto que se ha mostrado, en lugar de sólo reabastecer la máquina de gaseosas con marcas y sabores aleatorios, el reabastecimiento se hace de tal manera que la máquina tenga la misma cantidad de latas para cada una de las marcas y sabores. Pero se debe tener en cuenta que la extensión sólo se puede realizar en puntos indicados de manera específica dentro de la secuencia del caso de uso base. A estos puntos se les conoce como "puntos de extensión."

Page 7: diagramas.diagramasde.com sotfware t…  · Web viewparte de una metodología de diseño orientada a objetos. El UML soporta un conjunto rico en elementos de notación gráficos.

En el caso de uso "Reabastecer," los nuevos pasos (anotar las ventas y abastecer de manera acorde) se darían luego que el representante haya abierto la máquina y esté listo para llenar los compartimientos de las marcas de gaseosas. En este ejemplo, el punto de extensión es "Llenar los compartimientos." Nótese también que para realizar la inclusión, se ha usado una línea de dependencia (línea discontinua con una punta de flecha), junto con la palabra "extender" entre paréntesis angulares. Pero es importante destacar la dirección que tiene la línea de dependencia, pues siempre deben ir dirigidas hacia las clases dependientes. Para el ejemplo, el caso de uso dependiente es "Reabastecer", y el caso de uso independiente es "Reabastecer de acuerdo a las ventas", pues lo primero que se tiene que hacer es verificar cuántas latas de gaseosa hay en existencia para cada marca y sabor según las ventas que se hayan hecho, y luego partiendo de eso se procede a reabastecer con una proporción adecuada. En síntesis, la línea discontinua con una flecha denota una "relación de dependencia", donde el sentido de la flecha apunta hacia la clase o caso de uso dependiente, y por lógica donde no se encuentra la flecha es el caso de uso independiente. Dentro de la elipse del caso de uso básico, para el caso de estar utilizando extensión, debe aparecer el nombre del caso de uso y el punto de extensión, en este caso "Reabastecer" y debajo de eso "Punto de extensión llenar los compartimientos", respectivamente.En el ejemplo también se ha hecho uso de la "generalización". Esto significa que las clases pueden heredarse entre sí. La generalización se modela con líneas continuas y una punta de flecha en forma de triángulo sin rellenar que apunta hacia el caso de uso primario. La relación de generalización puede establecerse entre actores, así como entre casos de uso. Para el ejemplo presentado se ha hecho entre casos de uso, y el significado es que el caso de uso primario es "Comprar gaseosa" (pues hacia ahí apunta la flecha), y el caso de uso secundario es "Comprar un vaso de gaseosa". Entonces el caso de uso secundario hereda o tiene acciones del caso de uso primario, tales como "agregar hielo", etc. El caso secundario hereda las acciones del primario, pero además agrega sus propias acciones. Por tanto, se puede aplicar el caso de uso secundario en cualquier lugar donde aplique el primario.

Ejemplo de diagrama de estadosConforme un sistema interactúa con los usuarios y (posiblemente) con otros sistemas, los objetos que lo conforman pasan por cambios necesarios para ajustar las interacciones. Por esa razón se necesita contar con un mecanismo para cambios en el modelo. Un cambio en un sistema se da debido a que los objetos que componen dicho sistema modificaron su estado como respuesta a los sucesos y al tiempo. Un diagrama de estados también se conoce como un "motor de estado."

El ícono para el estado, como se aprecia en la Figura 3, es un rectángulo de vértices redondeados, y el símbolo de una transición es una línea continua y una punta de flecha. El círculo relleno se interpreta como el punto inicial de una secuencia de estados, y la diana representa al punto final.Se puede subdividir el símbolo de la Figura 3 en áreas que muestren el nombre, variables y actividades del estado, de esta forma:

Page 8: diagramas.diagramasde.com sotfware t…  · Web viewparte de una metodología de diseño orientada a objetos. El UML soporta un conjunto rico en elementos de notación gráficos.

Las variables de estado como cronómetros o contadores son, en ocasiones, de ayuda. Las actividades constan de sucesos y acciones: tres de las más utilizadas son entrada (qué sucede cuando el sistema entra al estado), salida (qué sucede cuando el sistema sale del estado), y hacer (qué sucede cuando el sistema está en el estado). Se pueden agregar otros conforme sea necesario.A continuación se muestra un ejemplo concreto de un diagrama de estados:

Como se puede ver en la Figura 5, lo primero que se hace es encender la máquina de fax, con lo cual esta arranca y se encuentra lista en condiciones normales, para realizar el envío de fax, que es el siguiente estado registrado. Cuando se envía un fax –esto es, cuando se encuentra en estado de envío de fax- la máquina de fax anota la fecha y hora en que inició el envío (los valores de las variables de estado "fecha" y "hora"), y también anota el número telefónico así como el nombre del propietario (los valores de las variables de estado "teléfono" y "propietario"). Al encontrarse en este estado, la máquina se encarga de agregar un registro de fecha y hora al fax, número telefónico y nombre del propietario. En otras actividades de este estado, la máquina jalará las hojas, paginará el fax y finalizará la transmisión. Mientras se encuentre en el estado de inactividad, la máquina de fax mostrará la fecha y la hora en una pantalla. Finalmente, cuando ya no se vaya a utilizar la máquina de fax por un periodo determinado, se podrá apagar, siendo este también un estado concreto.

Ejemplo de diagrama de secuencias

Page 9: diagramas.diagramasde.com sotfware t…  · Web viewparte de una metodología de diseño orientada a objetos. El UML soporta un conjunto rico en elementos de notación gráficos.

Este tipo de diagramas muestra una interacción ordenada según la secuencia de eventos vista a la luz de una línea de tiempo. En particular, se muestran los objetos participantes en la interacción y los mensajes que intercambian ordenados según su secuencia en el tiempo.El eje vertical representa el tiempo, y en el eje horizontal se colocan los objetos y actores participantes en la interacción, sin un orden prefijado, aunque por orden lo usual es colocar los objetos de izquierda a derecha y en la parte superior. Cada objeto o actor tiene una línea vertical, y los mensajes se representan mediante flechas entre los distintos objetos. El tiempo fluye de arriba hacia abajo. Se pueden colocar etiquetas (como restricciones de tiempo, descripciones de acciones, etc.) bien en el margen izquierdo o bien junto a las transiciones o activaciones a las que se refieren. Cada línea de vida de un objeto es una línea discontinua que se desplaza hacia abajo del objeto. Una línea continua con una punta de flecha conecta a una línea de vida con otra, y representa un mensaje de un objeto a otro. El tiempo se inicia en la parte superior y continúa hacia abajo. Aunque un actor es el que normalmente inicia la secuencia, su símbolo no es parte del conjunto de símbolos del diagrama de secuencias. No necesariamente se debe especificar el tiempo de manera explícita (como en segundos, minutos, horas, días, etc.), aunque se puede hacer si resulta necesario o conveniente. En todo caso lo que siempre se tiene que hacer es ubicar correctamente en el eje vertical la secuencia correcta de eventos que se deben ir dando de forma cronológica o en una línea de tiempo.El siguiente ejemplo muestra cómo se puede realizar un diagrama de secuencias:

En la Figura 6 se representa la forma en que la GUI interacciona con otros objetos. Obsérvese que la secuencia se origina y finaliza en el estado operativo de la GUI, como es de esperar, pero para llegar a eso se da una secuencia de procesos plasmados en el diagrama.

Ejemplo de diagrama de colaboracionesEn este tipo de diagramas se muestra una interacción organizada, basándose en los objetos que toman parte en la interacción y los enlaces entre los mismos (en cuanto a la interacción se refiere). A diferencia de los diagramas de secuencia, los diagramas de colaboración muestran las relaciones entre los roles de los objetos. La secuencia de los mensajes y los flujos de ejecución concurrentes deben determinarse explícitamente mediante números de secuencia. Aunque se muestran los mensajes que se envían los objetos entre sí, por lo general se evita la multiplicidad de mensajes dado que podría ser fuente de confusión. En la representación de los mensajes, la flecha que se dibuja cerca de la línea de asociación entre dos objetos, apunta al objeto receptor. El mensaje finaliza con un par de paréntesis, dentro

Page 10: diagramas.diagramasde.com sotfware t…  · Web viewparte de una metodología de diseño orientada a objetos. El UML soporta un conjunto rico en elementos de notación gráficos.

de los cuales se colocan los parámetros (en caso de haber alguno) con los que funcionará la operación.

Se puede convertir cualquier diagrama de secuencias en diagrama de colaboraciones y viceversa. Por medio de esto se puede representar la información de secuencia en un diagrama de colaboraciones. Para ello se agrega una cifra a la etiqueta de un mensaje, la cual corresponde a la secuencia propia del mensaje. La cifra y el mensaje se separan mediante dos puntos (:).El ejemplo de diagrama de secuencias mostrado en la Figura 6, se convertirá ahora a un diagrama de colaboraciones, quedando de la siguiente manera:

Las colaboraciones representadas en la Figura 8 se dan de esta manera: 1. La GUI notifica al sistema operativo que se oprimió una tecla. 2. El sistema operativo le notifica a la CPU. 3. El sistema operativo actualiza la GUI. 4. La CPU notifica a la tarjeta de vídeo. 5. La tarjeta de vídeo envía un mensaje al monitor. 6. El monitor presenta el carácter alfanumérico en la pantalla, con lo que se hará

evidente al usuario. Ejemplo de diagrama de actividades

Este tipo de diagrama le resulta familiar a la mayoría de programadores, pues en cualquier curso básico de programación se comienza por trabajar con los diagramas de flujo para conocer la lógica que llevará un programa. Los tradicionales diagramas de flujo muestran una secuencia de pasos, procesos, puntos de decisión y bifurcaciones. Con sus diversas características y tipos de diagramas, el UML se podría decir que es en cierta medida, un diagrama de flujo robustecido o reforzado. Para el caso particular del diagrama de actividades, es muy parecido a los viejos diagramas de flujo, pues muestra los pasos

Page 11: diagramas.diagramasde.com sotfware t…  · Web viewparte de una metodología de diseño orientada a objetos. El UML soporta un conjunto rico en elementos de notación gráficos.

(conocidos como actividades) así como puntos de decisión y bifurcaciones. Lo que hacen es mostrar una visión simplificada de lo que ocurre durante una operación o proceso. Se puede decir también que es una extensión del diagrama de estados. El diagrama de estados muestra los estados de un objeto y representa las actividades como flechas que conectan a los estados. Por su parte, el diagrama de actividades resalta, precisamente, las actividades.Cada actividad se representa por un rectángulo con las esquinas redondeadas (más angosto y ovalado que la representación del estado). El procesamiento dentro de una actividad se lleva a cabo y, al realizarse, se continúa con la siguiente actividad. Una flecha representa la transición de una a otra actividad. Al igual que el diagrama de estados, el de actividad cuenta con un punto inicial (representado por un círculo relleno) y uno final (representado por una diana).

Los diagramas de actividades tienen la poderosa herramienta de permitir tomar decisiones, como se muestra en la siguiente figura:

Es posible también modelar actividades que serán ejecutadas al mismo tiempo (es decir, de forma concurrente) y que luego se reúnan. Para representar esto, se utiliza una línea gruesa perpendicular a la transición y las rutas parten de ella. Para representar la reincorporación, ambas rutas apuntan a otra línea gruesa, de esta forma:

Page 12: diagramas.diagramasde.com sotfware t…  · Web viewparte de una metodología de diseño orientada a objetos. El UML soporta un conjunto rico en elementos de notación gráficos.

Se muestra ahora un ejemplo en el que se utilizará un diagrama de actividades para utilizar una aplicación de oficina (software) para crear un documento. La secuencia sería la siguiente:

1. Abrir la aplicación para procesamiento de textos. 2. Crear un archivo con un nombre único en una carpeta. 3. Guardar el archivo con un nombre único en una carpeta. 4. Teclear el documento. 5. Si se necesitan ilustraciones, se abre la aplicación relacionada, se generan los

gráficos y se colocan en el documento. 6. Si se necesita una hoja de cálculo, se abre la aplicación relacionada, se crea la

hoja correspondiente y se coloca en el documento. 7. Se guarda el archivo. 8. Se imprime el documento. 9. Se sale de la aplicación de oficina.

El diagrama de actividades queda representado así:

Page 13: diagramas.diagramasde.com sotfware t…  · Web viewparte de una metodología de diseño orientada a objetos. El UML soporta un conjunto rico en elementos de notación gráficos.

Ejemplo de diagrama de componentesUn componente de software es una parte física de un sistema, y se encuentra en la computadora, no en la mente del analista. Ejemplos de componentes son tablas, archivos de datos, ejecutables, bibliotecas de vínculos dinámicos, documentos y cosas por el estilo.Lo que contiene un diagrama de componentes es lógicamente componentes, interfaces y relaciones, aunque también pueden aparecer otros tipos de símbolos vistos anteriormente.El símbolo principal de un diagrama de componentes es un rectángulo que tiene otros dos sobrepuestos en su lado izquierdo, con el nombre del componente dentro del rectángulo más grande, como se muestra en la siguiente figura:

Como ejemplo se presenta el siguiente diagrama de componentes para una página web con componentes ActiveX:

Page 14: diagramas.diagramasde.com sotfware t…  · Web viewparte de una metodología de diseño orientada a objetos. El UML soporta un conjunto rico en elementos de notación gráficos.

Como se observa en el ejemplo, existe un conjunto de componentes que se encuentran interrelacionados utilizando flechas discontinuas que como se explicó anteriormente en los diagramas de casos de uso, representan relaciones de dependencia, donde la dirección de la flecha apunta a la clase dependiente, que en este caso sería el componente dependiente, y por consecuencia en el extremo donde no hay flecha se encuentra el componente independiente. Se ha hecho uso también de un símbolo que no se había utilizado antes, que es el símbolo de anotación y que sirve para hacer precisamente anotaciones o comentarios:

Ejemplo de diagrama de distribuciónEste tipo de diagramas se enfoca específicamente al hardware de un sistema determinado.El elemento primordial del hardware es un nodo, que es un nombre genérico para todo tipo de recurso de cómputo.Para comenzar, se debe saber que un nodo se representa mediante un cubo:

Dentro del cubo se puede introducir información sobre el nodo, que puede ser simplemente texto o inclusive componentes, usando los diagramas de componentes anteriormente ejemplificados. En el ejemplo que se muestra a continuación, puede verse un nodo que tiene componentes de software (Windows, Office e Internet Explorer). Aunque como ya se

Page 15: diagramas.diagramasde.com sotfware t…  · Web viewparte de una metodología de diseño orientada a objetos. El UML soporta un conjunto rico en elementos de notación gráficos.

dijo, los diagramas de distribución se enfocan en la parte de hardware, cada uno de los nodos puede contener otros componentes, incluyendo software, lo cual puede ser especificado en el diagrama:

Ejemplo de diagrama de clasesEn UML, un rectángulo es el símbolo que representa a la clase, y se divide en tres áreas. El área superior contiene el nombre de la clase, el área central contiene los atributos o propiedades, y el área inferior, las acciones, procedimientos, métodos o funciones. Un diagrama de clases está formado por varios rectángulos de este tipo conectados por líneas que muestran la manera en que las clases se relacionan entre sí.En el ejemplo que se presentará a continuación, se muestran tres clases, donde las líneas continuas con extremos en forma de triángulo sin rellenar, tal como se había explicado anteriormente en este documento, son los símbolos de asociación de generalización, que sirven para mostrar herencia de una clase a otra, donde el extremo del triángulo sin rellenar (que simula una flecha) apunta hacia la clase base, y en el extremo de la línea continua que no tiene dicho triángulo se encuentra la clase que hereda. Para decirlo de forma más concreta y de acuerdo al ejemplo, la clase base es "Vehículo" y las clases que heredan las propiedades y acciones de la clase "Vehículo" son "Auto" y "Camioneta", lo cual al imaginarlo en un escenario de la vida real, es completamente atinado y razonable.

Page 16: diagramas.diagramasde.com sotfware t…  · Web viewparte de una metodología de diseño orientada a objetos. El UML soporta un conjunto rico en elementos de notación gráficos.

Ejemplo de diagrama de objetosPartiendo del hecho que un objeto es una instancia de clase, tal como se define en la conceptualización básica de la programación orientada a objetos, en UML la representación de un diagrama de objetos se hace de tal forma que teniendo ya una clase, el símbolo del objeto es un rectángulo, pero con el nombre subrayado. El nombre de la instancia específica se encuentra a la izquierda de los dos puntos (:), y el nombre de la clase a la derecha. Por ejemplo, si ya se tuviera una clase llamada "Lavadora", una instancia de esa clase o un objeto instanciado a partir de esa clase se representaría de la siguiente forma:

El diagrama de secuencia es un tipo de diagrama usado para modelar interacción entre objetos en un sistema según UML.UtilidadUn diagrama de secuencia muestra la interacción de un conjunto de objetos en una aplicación a través del tiempo y se modela para cada caso de uso. Mientras que el diagrama de casos de uso permite el modelado de una vista business del escenario, el diagrama de secuencia contiene detalles de implementación del escenario, incluyendo los objetos y clases que se usan para implementar el escenario, y mensajes intercambiados entre los objetos.Típicamente se examina la descripción de un caso de uso para determinar qué objetos son necesarios para la implementación del escenario. Si se dispone de la descripción de cada caso de uso como una secuencia de varios pasos, entonces se puede "caminar sobre" esos pasos para descubrir qué objetos son necesarios para que se puedan seguir los pasos. Un diagrama de secuencia muestra los objetos que intervienen en el escenario con líneas discontinuas verticales, y los mensajes pasados entre los objetos como flechas horizontales.Tipos de mensajesExisten dos tipos de mensajes: sincrónicos y asincrónicos. Los mensajes sincrónicos se corresponden con llamadas a métodos del objeto que recibe el mensaje. El objeto que envía

Page 17: diagramas.diagramasde.com sotfware t…  · Web viewparte de una metodología de diseño orientada a objetos. El UML soporta un conjunto rico en elementos de notación gráficos.

el mensaje queda bloqueado hasta que termina la llamada. Este tipo de mensajes se representan con flechas con la cabeza llena. Los mensajes asincrónicos terminan inmediatamente, y crean un nuevo hilo de ejecución dentro de la secuencia. Se representan con flechas con la cabeza abierta.También se representa la respuesta a un mensaje con una flecha discontinua.Pueden ser usados en dos formas:

De instancia: describe un escenario específico (un escenario es una instancia de la ejecución de un caso de uso).

Genérico: describe la interacción para un caso de uso; Utiliza ramificaciones ("Branches"), condiciones y bucles.

EstructuraLos mensajes se dibujan cronológicamente desde la parte superior del diagrama a la parte inferior; la distribución horizontal de los objetos es arbitraria. Durante el análisis inicial, el modelador típicamente coloca el nombre 'business' de un mensaje en la línea del mensaje. Más tarde, durante el diseño, el nombre 'business' es reemplazado con el nombre del método que está siendo llamado por un objeto en el otro. El método llamado, o invocado, pertenece a la definición de la clase instanciada por el objeto en la recepción final del mensaje.El Diagrama de Despliegue es un tipo de diagrama del Lenguaje Unificado de Modelado que se utiliza para modelar el hardware utilizado en las implementaciones de sistemas y las relaciones entre sus componentes.Los elementos usados por este tipo de diagrama son nodos (representados como un prisma), componentes (representados como una caja rectangular con dos protuberancias del lado izquierdo) y asociaciones.En el UML 2.0 los componentes ya no están dentro de nodos. En cambio, puede haber artefactos u otros nodos dentro de un nodo. Este tipo de diagrama debemos también añadir que no van a existir actores para relacionarse con los nodos (no es un diagrama de casos de uso) si no que las relaciones que pueda haber siempre seran entre los nodos y por ejemplo con una base de datos.Un artefacto puede ser algo como un archivo, un programa, una biblioteca, o una base de datos construida o modificada en un proyecto. Estos artefactos implementan colecciones de componentes. Los nodos internos indican ambientes, un concepto más amplio que el hardware propiamente dicho, ya que un ambiente puede incluir al lenguaje de programación, a un sistema operativo, un ordenador o un cluster de terminales.La mayoría de las veces el modelado de la vista de despliegue implica modelar la topología del hardware sobre el que se ejecuta el sistema. Aunque UML no es un lenguaje de especificación hardware de propósito general, se ha diseñado para modelar muchos de los aspectos hardware de un sistema a un nivel suficiente para que un ingeniero software pueda especificar la plataforma sobre la que se ejecuta el software del sistema.UsosAlgunos de los usos que se les da a los diagramas de despliegue son para modelar:

Sistemas empotrados: Un sistema empotrado es una colección de hardware con una gran cantidad de software que interactúa con el mundo físico.

Sistemas cliente-servidor: Los sistemas cliente-servidor son un extremo del espectro de los sistemas distribuidos y requieren tomar decisiones sobre la conectividad de red de los clientes a los servidores y sobre la distribución física de los componentes software del sistema a través de nodos.

Page 18: diagramas.diagramasde.com sotfware t…  · Web viewparte de una metodología de diseño orientada a objetos. El UML soporta un conjunto rico en elementos de notación gráficos.

Sistemas completamente distribuidos: En el otro extremo encontramos aquellos sistemas que son ampliamente o totalmente distribuidos y que normalmente incluyen varios niveles de servidores. Tales sistemas contienen a menudo varias versiones de componentes software, alguno de los cuales pueden incluso migrar de un nodo a otro. El diseño de tales sistemas requiere tomar decisiones que permitan un cambio continuo de la topología del sistema.

Introducción.

Los diagramas de flujo son una manera de representar visualmente el flujo de datos a travéz de sistemas de tratamiento de información. Los diagramas de flujo describen que operaciónes y en que secuencia se requieren para solucionar un problema dado.

Un diagrama de flujo u organigrama es una representación diagramática que ilustra la secuencia de las operaciones que se realizarán para conseguir la solución de un problema. Los diagramas de flujo se dibujan generalmente antes de comenzar a programar el código frente a la computadora. Los diagramas de flujo facilitan la comunicación entre los programadores y la gente del negocio. Estos diagramas de flujo desempeñan un papel vital en la programación de un problema y facilitan la comprensión de problemas complicados y sobre todo muy largos. Una vez que se dibuja el diagrama de flujo, llega a ser fácil escribír el programa en cualquier idióma de alto nivel. Vemos a menudo cómo los diagramas de flujo nos dan ventaja al momento de explicar el programa a otros. Por lo tanto, está correcto decir que un diagrama de flujo es una necesidad para la documentación mejor de un programa complejo.

Reglas para dibujar un diagramas de flujo.

Los Diagramas de flujo se dibujan generalmente usando algunos símbolos estándares; sin embargo, algunos símbolos especiales pueden también ser desarrollados cuando séan requeridos. Algunos símbolos estándares, que se requieren con frecuencia para diagramar programas de computadora se muestran a continuación:

Inicio o fin del programa

Pasos, procesos o líneas de instruccion de programa de computo

Operaciones de entrada y salida

Toma de desiciónes y Ramificación

Conector para unir el flujo a otra parte del diagrama

Page 19: diagramas.diagramasde.com sotfware t…  · Web viewparte de una metodología de diseño orientada a objetos. El UML soporta un conjunto rico en elementos de notación gráficos.

Cinta magnética

Disco magnético

Conector de pagina

Líneas de flujo

Anotación

Display, para mostrar datos

Envía datos a la impresora

Observación: Para obtener la correcta elaboración de los símbolos, existen plantillas. Las puedes conseguir en Papelerías.

Simbolos gráficos

Dentro de los simbolos fundamentales para la creaación de diagramas de flujo, los símbolos gráficos son utilizádos especificamente para para operaciónes aritméticas y relaciónes condicionales. La siguiente es una lista de los símbolos más comunmente utilizados:

+ Sumar- Menos* Multiplicación/ División± Mas o menos= Equivalente a> Mayor que< Menor que³ Mayor o igual que£ Menor o igual que¹ o <> Diferente de  Si  No

Page 20: diagramas.diagramasde.com sotfware t…  · Web viewparte de una metodología de diseño orientada a objetos. El UML soporta un conjunto rico en elementos de notación gráficos.

  True  False

Reglas para la creacion de Diagramas

1. Los Diagramas de flujo deben escribirse de arriba hacia abajo, y/o de izquierda a derecha.

2. Los símbolos se unen con líneas, las cuales tienen en la punta una flecha que indica la dirección que fluye la información procesos, se deben de utilizar solamente líneas de flujo horizontal o verticales (nunca diagonales).

3. Se debe evitar el cruce de líneas, para lo cual se quisiera separar el flujo del diagrama a un sitio distinto, se pudiera realizar utilizando los conectores. Se debe tener en cuenta que solo se vana utilizar conectores cuando sea estrictamente necesario.

4. No deben quedar líneas de flujo sin conectar5. Todo texto escrito dentro de un símbolo debe ser legible, preciso, evitando el uso de

muchas palabras.6. Todos los símbolos pueden tener más de una línea de entrada, a excepción del

símbolo final.7. Solo los símbolos de decisión pueden y deben tener mas de una línea de flujo de

salida.

Ejemplos de diagramas de flujo

Diagrama de flujo que encuentra la suma de los primeros 50 numeros naturales

Page 21: diagramas.diagramasde.com sotfware t…  · Web viewparte de una metodología de diseño orientada a objetos. El UML soporta un conjunto rico en elementos de notación gráficos.

Bueno, y ahora la descripción del diagrama anterior

Suma, es la variable a la que se le va agregando la valor de cada número natural. N, es el contador. Éste recorrerá lo números hasta llegar al 50.

El primer bloque indica el inicio del Diagrama de flujo

El segundo bloque, es un Símbolo de procesos En este bloque se asume que las variables suma y N han sido declaradas previamente y las inicializa en 0 para comenzar a el conteo y la suma de valores (Para declararlas existe el bloque Tarjeta perforada).

El tercer bloque, es también un Símbolo de procesos En éste paso se incrementa en 1 la variable N (N = N + 1). Por lo que, en la primera pasada esta N valdrá 1, ya que estaba inicializada en 0.

El cuarto bloque es exactamente lo mismo que el anterior

Pero en éste, ya se le agrega el valor de N a la variable que contendrá la suma (En el primer caso contendrá 1, ya que N = 1).

El quinto bloque es uno Símbolo de Toma de decisiones y Ramificación Lo que hay dentro del bloque es una pregunta que se le hace a los valores que actualmente influyen en el proceso (Por decir algo, no se como decirlo, soy muy sope :D)

¿Es N=50?, Obviamente la respuesta es no, ya que N todavía es 1. por lo que el flujo de nuestro programa se dirigirá hacía la parte en donde se observa la palabra no: Tercer Bloque, éste le sumará 1 (N=N+1) y vuelve a llegar a éste bloque, donde preguntará ¿Es N=50?... ¡No!, todavía es 2. Ha pues, regresa al Tercer bloque y vuelve hacer lo mismo. Y así hasta llegar a 50, obteniendo así la suma de los primeros 50 primeros números naturales.

Por último indicamos que el resultado será mostrado en la impresora (Este lo puedes

cambiarlo por el display para mostrar datos).

Fin del programa (o diagrama)

Page 22: diagramas.diagramasde.com sotfware t…  · Web viewparte de una metodología de diseño orientada a objetos. El UML soporta un conjunto rico en elementos de notación gráficos.