Diagrama de Actividades 2

8
Ingeniería de Software I Diagramas de Actividad 2° Cuatrimestre 1998

Transcript of Diagrama de Actividades 2

  • Ingeniera de Software I

    Diagramas de Actividad2 Cuatrimestre 1998

  • iDiagramas de Actividad

    1. INTRODUCCIN 1

    2. DIAGRAMA DE ACTIVIDAD 1

    2.1. SEMNTICA 12.2. NOTACIN 12.3. EJEMPLO 2

    3. ACCIN 3

    3.1. SEMNTICA 33.2. NOTACIN 33.3. OPCIONES DE PRESENTACIN 33.4. EJEMPLO 3

    4. DECISIONES 3

    4.1. SEMNTICA 34.2. NOTACIN 34.3. EJEMPLO 4

    5. ANDARIVELES 4

    5.1. SEMNTICA 45.2. NOTACIN 45.3. EJEMPLO 5

  • Diagramas de Actividad

    Ctedra de Ingeniera de Software I Pg 1

    Diagramas de Actividad

    1. Introduccin

    El objetivo de este breve apunte es describir los Diagramas de Actividad, propuestos por el lenguaje estndar demodelado de sistemas de software UML (Unified Modelling Language). Casi todas las definiciones de este apuntefueron tomadas de la gua semntica de UML, versin 1.1. Sin embargo, se hicieron algunas modificacionesmenores para limitar estos diagramas al alcance con el que se los quiere utilizar en la materia, de tal forma que nogarantizamos compatibilidad entre los diagramas que resultan de seguir este apunte y las definiciones formalesdel UML.

    Algunos aspectos de los Diagramas de Actividades no fueron incluidos en este apunte ni sern usados en lamateria, pero pueden ser consultados por los alumnos en la documentacin de UML. Para ms informacin, sepueden utilizar los punteros de la pgina de Web de la materia.

    2. Diagrama de Actividad

    2.1. Semntica

    Estos diagramas muestran bsicamente actividades, representando la realizacin de operaciones y las transicionesson disparadas por la finalizacin de estas operaciones.

    2.2. Notacin

    Un diagrama de actividad es un caso especial de un diagrama de estados (otro diagrama de UML, que discutiremosms adelante en la materia) en donde todos -o al menos la mayora- de los estados son estados de acciones y endonde todas -o al menos la mayora- de las transiciones son disparadas por la finalizacin de las acciones que lasalimentan. Un diagrama de actividad est asociado a la implementacin de un caso de uso. El propsito de estediagrama es enfocarse en los flujos manejados por el procesamiento interno (en contraposicin con eventosexternos). Se debe usar diagrama de actividad en situaciones donde todos o la mayora de los eventos representanla finalizacin de acciones generadas internamente (esto es, flujo de control procedural). Este tipo de diagrama noes adecuado en situaciones donde ocurren eventos asincrnicos.

    Teniendo en cuenta que los casos de uso se centran en la interaccin entre el actor y el sistema, y no en elprocesamiento interno del sistema durante el caso de uso, aparece la necesidad de utilizar este diagrama para evitarque la documentacin de las actividades que realiza el sistema no est limitada al texto informal de los casos deuso. De esta forma, un caso de uso puede estar acompaado por cero, uno o ms diagramas de actividad.

    Si resulta necesario, se pueden construir diagramas de actividad jerrquicos, donde una actividad de un diagramasea descompuesta en actividades menores en un diagrama de nivel inferior.

  • Diagramas de Actividad

    Ctedra de Ingeniera de Software I Pg 2

    2.3. Ejemplo

    ConseguirBebida

    Poner Cafen Filtro

    ConseguirTasas

    AgregarAgua

    Poner Filtroen Mquina

    EncenderMquina

    HacerCaf

    ServirCaf

    ConseguirLatas Gaseosa

    Beber

    [hay caf]

    se apaga laluz

    [no hay caf]

    [hay gaseosas]

    [no hay gaseosas]

    Figura 1 Diagrama de Actividad

  • Diagramas de Actividad

    Ctedra de Ingeniera de Software I Pg 3

    3. Accin

    3.1. Semntica

    Un estado de accin, o accin simplemente es una representacin de un estado con una accin interna y al menosuna transicin saliente que es el evento implcito de finalizacin de la accin interna. Las acciones no deben tenertransiciones internas o transiciones salientes basadas en eventos explcitos: se deben usar otras acciones para estasituacin. El uso normal de una accin es modelar un paso o un conjunto de pasos en la ejecucin de un algoritmo(un procedimiento).

    3.2. Notacin

    Una accin es mostrada como una figura con la parte superior e inferior recta y con arcos convexos en los doslados. La expresin de accin se ubica dentro del smbolo. La expresin de accin no es necesariamente nicadentro del diagrama, y debe comenzar con un verbo en infinitivo.

    Las transiciones salientes de las acciones no deben incluir un nombre de evento; ya que estas transiciones sondisparadas implcitamente por la finalizacin de la accin. Las transiciones pueden incluir condiciones y acciones.

    3.3. Opciones de presentacin

    La accin puede ser descrita mediante lenguaje natural o pseudocdigo.

    3.4. Ejemplo

    matrix.invert (tolerance:Real) manejar un auto

    Figura 2 - Actividades

    4. Decisiones

    4.1. Semntica

    Un diagrama de actividad expresa una decisin cuando una condicin es usada para indicar diferentes transicionesposibles que dependen de un valor booleano.

    4.2. Notacin

    Una decisin puede ser mostrada etiquetando varias transiciones salientes de una accin con diferentescondiciones.

    El icono provisto para una decisin es la tradicional figura con forma de diamante, con una o ms flechas entrantesy con dos o ms flechas salientes, cada una etiquetada por una condicin diferente y sin evento que la dispare.Todos los posibles valores para la condicin deben aparecer en las transiciones salientes.

    Notar que la cadena de decisiones puede ser parte de una transicin compleja pero slo el primer segmento en esacadena puede contener un nombre de evento disparador.

    Se sugiere indicar una decisin con una figura (en lugar de etiquetar transiciones salientes) cuando el control de lascondiciones para tomar la decisin no implica un trabajo de clculo adems de la comparacin misma. Porejemplo, en la Figura 1, el controlar si hay o no caf precisa de alguna accin (Conseguir Bebida). En cambio, elcontrolar si hay o no gaseosa slo precisa el simple control de la condicin.

  • Diagramas de Actividad

    Ctedra de Ingeniera de Software I Pg 4

    4.3. Ejemplo

    Calcularcosto total

    Cobrar alcliente

    costo =50

    Conseguirautorizacin

    Figura 3 - Decisin

    5. Andariveles

    5.1. Semntica

    Las acciones pueden ser organizadas en andariveles. Los andariveles se usan para organizar las responsabilidadesde las actividades. Usualmente corresponden a unidades organizacionales dentro de un modelo de negocio (porejemplo reas de una empresa).No debemos olvidar que cuando estamos modelando los casos de uso, las actividades que realiza el sistema queestamos empezando a idear pueden ser llevadas a cabo tanto por mquinas como por personas que pertenezcan adistintas reas de la organizacin. La utilidad de los andariveles aparece en estos casos, cuando quiero mostrar quela secuencia de pasos que el usuario est expresando como parte del procesamiento del sistema es realizada porpersonas de distintas reas o distintos tipos de mquinas.Al hacer esto puede parecer que uno se est adelantando al diseo, ya que cuando escribimos los casos de usoestamos modelando el nuevo sistema, y no un sistema que tal vez ya existe y que queremos reemplazar. Enrealidad es cierto que nos estamos adelantando un poco al diseo. Sin embargo, esto es en la gran mayora de loscasos algo inevitable, e incluso positivo, ya que es muy difcil hablar siempre en abstracto con los usuarios. Enalgn momento surge la necesidad de pensar cmo, a grandes rasgos, se podr implementar ese sistema. Lo que elanalista no debe hacer es condicionar innecesariamente las decisiones de diseo que puedan ser postergadas, comopor ejemplo hablar de lenguajes de programacin, modelos de mquinas, sistemas operativos, motores de bases dedatos, etc.

    5.2. Notacin

    Un diagrama de actividad puede ser dividido visualmente en andariveles separados de sus andariveles vecinos porlneas slidas verticales a ambos lados. Cada andarivel representa la responsabilidad para una parte del conjunto deactividades. El ordenamiento relativo de los andariveles no tiene importancia semntica pero puede llegar a indicaralguna afinidad. Cada accin es asignada a un nico andarivel.

  • Diagramas de Actividad

    Ctedra de Ingeniera de Software I Pg 5

    5.3. Ejemplo

    PedirServicio

    TomarpedidoPagar

    Recibir pedido

    Completarpedido

    Entregarpedido

    Cliente Ventas Almacn

    Figura 4 Andariveles en un diagrama de actividad