EXAMEN
DEPENDENCIAS/RELACIONES DE CASOS DE USOS
Tipos de relaciones
- ``comunica (<<communicates>>): Relación (asociación) entre un actor y un caso de uso que denota la participación del actor en dicho caso de uso.
- ``usa ( <<uses>>) (o <<include>> en la nueva versión de UML): Relación de dependencia entre dos casos de uso que denota la inclusión del comportamiento de un escenario en otro.
- ``extiende (<< extends>>): Relación de dependencia entre dos casos de uso que denota que un caso de uso es una especialización de otro. Por ejemplo, podría tenerse un caso de uso que extienda la forma de pedir azúcar, para que permita escoger el tipo de azúcar (normal, dietético o moreno) y además la cantidad en las unidades adecuadas (cucharadas o bolsas). Un posible diagrama se muestra en la figura
En una relación << extends>>, un actor que lleve a cabo el caso de uso base puede realizar o no sus extensiones. Mientras, en una relación <<include>> el actor que realiza el caso de uso base también realiza el caso de uso incluido.
En general utilizaremos <<extends>> cuando se presenta una variación del comportamiento normal, y <<include>> cuando se repite un comportamiento en dos casos de uso y queremos evitar dicha repetición.
Por último en un diagrama de casos de uso, además de las relaciones entre casos de uso y actor (asociaciones) y las dependencias entre casos de uso (<<include>> y <<extends>>), pueden existir relaciones de herencia ya sea entre casos de uso o entre actores.
Llamamos modelo de casos de uso a la combinación de casos de uso y sus correspondientes diagramas. Los modelos de casos de uso se suelen acompañar por un glosario que describe la terminología utilizada. El glosario y el modelo de casos de uso son importantes puntos de partida para el desarrollo de los diagramas de clases.
Por último se debe tener en cuenta, que aunque cada caso de uso puede llevar a diferentes realizaciones, es importante reflejar en cada representación el motivo que nos ha llevado a descartarla, si es el caso.
PROCESOS DE NEGOCIOS
Proceso de negocio
Es una colección de actividades estructurales relacionadas que producen un valor para la organización, sus inversores o sus clientes. Es, por ejemplo, el proceso a través del que una organización ofrece sus servicios a sus clientes.
Un proceso de negocio puede ser parte de un proceso mayor que lo abarque o bien puede incluir otros procesos de negocio que deban ser incluidos en su función. En este contexto un proceso de negocio puede ser visto a varios niveles de granularidad. El enlace entre procesos de negocio y generación de valor lleva a algunos practicantes a ver los procesos de negocio como los flujos de trabajo que efectúan las tareas de una organización. Los procesos poseen las siguientes características:
- Pueden ser medidos y están orientados al rendimiento
- Tienen resultados específicos
- Entregan resultados a clientes o “stakeholders”
- Responden a alguna acción o evento específico
- Las actividades deben agregar valor a las entradas del proceso.
Las Reglas del Negocio o Conjunto de Reglas de Negocio
describe las políticas, normas, operaciones, definiciones y restricciones presentes en una organización y que son de vital importancia para alcanzar los objetivos misionales.
Requerimientos
TÉCNICAS DE RECOLECCIÓN DE DATOS
DIAGRAMAS DE CASOS DE USO
Actores
Se le llama actor a toda entidad externa al sistema que guarda una relación con éste y que le demanda una funcionalidad. Esto incluye a los operadores humanos pero también incluye a todos los sistemas externos, además de entidades abstractas, como el tiempo.En el caso de los seres humanos se pueden ver a los actores como definiciones de rol por lo que un mismo individuo puede corresponder a uno o más Actores. Suele suceder sin embargo, que es el sistema quien va a tener interés en el tiempo. Es frecuente encontrar que nuestros sistemas deben efectuar operaciones automáticas en determinados momentos; y siendo esto un requisito funcional obvio, resulta de interés desarrollar alguna forma de capturar dicho requisito en el modelo de caso de uso final.
Definición.
UML (Unified Modeling Language) es un lenguaje gráfico para visualizar, especificar, construir y documentar los artefactos de un sistema con gran cantidad de software. Cubre tanto aspectos conceptuales (procesos de negocio, funciones del sistema) como cosas concretas (clases, esquemas de bases de datos, componentes reutilizables).
Relaciones de Casos de Uso
Las tres relaciones principales entre los casos de uso son soportadas por el estándar UML, el cual describe notación gráfica para esas relaciones. Veamos una revisión de ellas a continuación:Inclusión (include o use)
Es una forma de interacción o creación, un caso de uso dado puede "incluir" otro caso de uso. El primer caso de uso a menudo depende del resultado del caso de uso incluido. Esto es útil para extraer comportamientos verdaderamente comunes desde múltiples casos de uso a una descripción individual, desde el caso de uso. El estándar de Lenguaje de Modelado Unificado de OMG define una notación gráfica para realizar diagramas de casos de uso, pero no el formato para describir casos de uso. Mucha gente sufre la equivocación pensando que un caso de uso es una notación gráfica (o es su descripción). Mientras la notación gráfica y las descripciones esto no sirve..Extensión (Extend)
Es otra forma de interacción, un caso de uso dado (la extensión) puede extender a otro. Esta relación indica que el comportamiento del caso de la extensión se utiliza en casos de uso, un caso de uso a otro caso siempre debe tener extensión o inclusión. El caso de uso extensión puede ser insertado en el caso de uso extendido bajo ciertas condiciones. La notación, es una flecha de punta abierta con línea discontinua, desde el caso de uso extensión al caso de uso extendido, con la etiqueta «extend». Esto puede ser útil para lidiar con casos especiales, o para acomodar nuevos requisitos durante el mantenimiento del sistema y su extensión ."La extensión, es el conjunto de objetos a los que se aplica un concepto. Los objetos de la extensión son los ejemplos o instancias de los conceptos."
Generalización
"Entonces la Generalización es la actividad de identificar elementos en común entre conceptos y definir las relaciones de una superclase (concepto general) y subclase (concepto especializado). Es una manera de construir clasificaciones taxonómicas entre conceptos que entonces se representan en jerarquías de clases. Las subclases conceptuales son conformes con las superclases conceptuales en cuanto a la intención y extensión."En la tercera forma de relaciones entre casos de uso, existe una relación generalización/especialización. Un caso de uso dado puede estar en una forma especializada de un caso de uso existente. La notación es una línea sólida terminada en un triángulo dibujado desde el caso de uso especializado al caso de uso general. Esto se asemeja al concepto orientado a objetos de sub-clases, en la práctica puede ser útil factorizar comportamientos comunes, restricciones al caso de uso general, describirlos una vez, y enfrentarse a los detalles excepcionales en los casos de uso especializados..
EJEMPLO

TIPOS DE DIAGRAMAS UML
Diagrama de clases
Un diagrama de clases es un tipo de diagrama estático que describe
la estructura de un sistema mostrando sus clases, atributos y las
relaciones entre ellos. Los diagramas de clases son utilizados durante
el proceso de análisis y diseño de los sistemas, donde se crea el diseño
conceptual de la información que se manejará en el sistema, y los
componentes que se encargaran del funcionamiento y la relación entre uno
y otro.
Representación de: - Requerimientos en entidades y actuaciones. - La
arquitectura conceptual de un dominio - Soluciones de diseño en una
arquitectura - Componentes de software orientados a objetos
Diagrama de componentes
Un diagrama de componentes es un diagrama tipo del Lenguaje Unificado de Modelado.
Un diagrama de componentes representa cómo un sistema de software es
dividido en componentes y muestra las dependencias entre estos
componentes. Los componentes físicos incluyen archivos, cabeceras,
bibliotecas compartidas, módulos, ejecutables, o paquetes. Los diagramas
de Componentes prevalecen en el campo de la arquitectura de software
pero pueden ser usados para modelar y documentar cualquier arquitectura
de sistema.
Diagrama de objetos
Los diagramas de objetos son utilizados durante el proceso de
Análisis y Diseño de los sistemas informáticos en la metodología UML.
Se puede considerar un caso especial de un diagrama de clases en el
que se muestran instancias específicas de clases (objetos) en un momento
particular del sistema. Los diagramas de objetos utilizan un
subconjunto de los elementos de un diagrama de clase. Los diagramas de
objetos no muestran la multiplicidad ni los roles, aunque su notación es
similar a los diagramas de clase.
Una diferencia con los diagramas de clase es que el compartimiento de arriba va en la forma Nombre de objeto: Nombre de clase.
Por ejemplo, Miguel: Persona.
Diagrama de estructura compuesta
Un diagrama de estructura compuesta es un tipo de diagrama de
estructura estática en el Lenguaje de Modelado Unificado (UML), que
muestra la estructura interna de una clase y las colaboraciones que esta
estructura hace posibles. Esto puede incluir partes internas, puertas
mediante las cuales, las partes interactúan con cada una de las otras o
mediante las cuales, instancias de la clase interactúan con las partes y
con el mundo exterior, y conectores entre partes o puertas. Una
estructura compuesta es un conjunto de elementos interconectados que
colaboran en tiempo de ejecución para lograr algún propósito. Cada
elemento tiene algún rol definido en la colaboración.
Diagrama de despliegue
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.
Diagrama de paquetes
En el Lenguaje Unificado de Modelado, un diagrama de paquetes
muestra cómo un sistema está dividido en agrupaciones lógicas mostrando
las dependencias entre esas agrupaciones. Dado que normalmente un
paquete está pensado como un directorio, los diagramas de paquetes
suministran una descomposición de la jerarquía lógica de un sistema.
Los Paquetes están normalmente organizados para maximizar la
coherencia interna dentro de cada paquete y minimizar el acoplamiento
externo entre los paquetes. Con estas líneas maestras sobre la mesa, los
paquetes son buenos elementos de gestión. Cada paquete puede asignarse a
un individuo o a un equipo, y las dependencias entre ellos pueden
indicar el orden de desarrollo requerido.
Diagrama de actividades
En el Lenguaje de Modelado Unificado, un diagrama de actividades
representa los flujos de trabajo paso a paso de negocio y operacionales
de los componentes en un sistema. Un Diagrama de Actividades muestra el
flujo de control general.
En SysML el diagrama de Actividades ha sido extendido para indicar
flujos entre pasos que mueven elementos físicos (e.g., gasolina) o
energía (e.g., presión). Los cambios adicionales permiten al diagrama
soportar mejor flujos de comportamiento y datos continuos.
Diagrama de casos de uso
En el Lenguaje de Modelado Unificado, un diagrama de casos de uso es una especie de diagrama de comportamiento.
El Lenguaje de Modelado Unificado define una notación gráfica para
representar casos de uso llamada modelo de casos de uso. UML no define
estándares para que el formato escrito describa los casos de uso, y así
mucha gente no entiende que esta notación gráfica define la naturaleza
de un caso de uso; sin embargo una notación gráfica puede solo dar una
vista general simple de un caso de uso o un conjunto de casos de uso.
Los diagramas de casos de uso son a menudo confundidos con los casos de
uso. Mientras los dos conceptos están relacionados, los casos de uso son
mucho más detallados que los diagramas de casos de uso.
Diagrama de estados
En UML, un diagrama de estados es un diagrama utilizado para
identificar cada una de las rutas o caminos que puede tomar un flujo de
información luego de ejecutarse cada proceso.
Permite identificar bajo qué argumentos se ejecuta cada uno de los procesos y en qué momento podrían tener una variación.
El diagrama de estados permite visualizar de una forma secuencial la ejecución de cada uno de los procesos.
Diagrama de secuencia
El diagrama de secuencia es un tipo de diagrama usado para modelar
interacción entre objetos en un sistema según UML. En inglés se pueden
encontrar como "sequence diagram", "event-trace diagrams", "event
scenarios" o "timing diagrams"
Diagrama de comunicación
En el Lenguaje Unificado de Modelado (UML) 2.0, un diagrama de
comunicación es una versión simplificada del diagrama de colaboración de
la versión de UML 1.x.
Un diagrama de comunicación modela las interacciones entre objetos o
partes en términos de mensajes en secuencia. Los diagramas de
comunicación representan una combinación de información tomada desde el
diagrama de clases, secuencia, y diagrama de casos de uso describiendo
tanto la estructura estática como el comportamiento dinámico de un
sistema.
Diagrama de tiempos
Un diagrama de tiempos o cronograma es una gráfica de formas de onda
digitales que muestra la relación temporal entre varias señales, y cómo
varía cada señal en relación a las demás.
Un cronograma puede contener cualquier número de señales
relacionadas entre sí. Examinando un diagrama de tiempos, se puede
determinar los estados, nivel alto o nivel bajo, de cada una de las
señales en cualquier instante de tiempo especificado, y el instante
exacto en que cualquiera de las señales cambia de estado con respecto a
las restantes.
Diagrama global de interacciones
Un diagrama global de las interacciones (en inglés: interaction
overview diagram) es una de las trece clases de diagramas en el Lenguaje
de Modelado Unificado (UML), un lenguaje de modelamiento para software y
otros sistemas.