Skip to content

Commit

Permalink
Merge pull request #55 from ucudal/issue/#22
Browse files Browse the repository at this point in the history
Fixed issue #22: work, context, and adyacent system defined
  • Loading branch information
fmachadopiriz authored Jun 16, 2024
2 parents 2876a6d + f75cb8f commit 3264b2a
Show file tree
Hide file tree
Showing 20 changed files with 429 additions and 49 deletions.
16 changes: 8 additions & 8 deletions 1_Contenido/1_1__Requisitos.md
Original file line number Diff line number Diff line change
Expand Up @@ -204,16 +204,16 @@ software) y el input/output de estas interacciones.

#### Eventos y casos de uso del negocio

A alto nivel, listar todos los [eventos de negocio](../4_Conceptos/4_Evento_de_negocio.md)
A alto nivel, listar todos los [eventos de negocio](../4_Conceptos/4_Evento_del_negocio.md)
a los que el trabajo a desarrollar responde (es decir, [casos de uso del
negocio](../4_Conceptos/4_Caso_de_uso_del_negocio.md)), indicando: nombre del
evento de negocio, entrada (input) o información proveniente de la entidad
evento del negocio, entrada (input) o información proveniente de la entidad
adyacente, salida (output) a la entidad adyacente y una breve descripción del
caso de uso del negocio. Se puede utilizar el siguiente formato:

| Evento de negocio | Input y output | Descripción del caso de uso del negocio |
| Evento del negocio | Input y output | Descripción del caso de uso del negocio |
| -------------------------------- | ---------------------------------------------- | ------------------------------------------------- |
| *(Nombre del evento de negocio)* | *(Input y output del caso de uso del negocio)* | *(Breve descripción del caso de uso del negocio)* |
| *(Nombre del evento del negocio)* | *(Input y output del caso de uso del negocio)* | *(Breve descripción del caso de uso del negocio)* |

#### Especificación de los casos de uso del negocio

Expand Down Expand Up @@ -415,12 +415,12 @@ mediante una de las siguientes opciones:
> menos. De las cinco opciones presentadas, las tres primeras las consideramos
> formales y las últimas dos informales.
<!-- TODO Agregar link a diagrama BPML -->

* Un escenario descrito textualmente, paso a paso, incluyendo excepciones y
alternativas
* Un [diagrama de actividades UML](../2_Tecnicas_y_herramientas/2_4_1_Diagramas_de_actividades_UML.md)
o un diagrama de procesos BPML
* Un [diagrama de actividades
UML](../2_Tecnicas_y_herramientas/2_4_1_Diagramas_de_actividades_UML.md) o un
[diagrama de procesos
BPMN](/2_Tecnicas_y_herramientas/2_4_4_Diagramas_BPMN.md)
* Una historia de usuario descrita textualmente
* Un guión gráfico
* Un prototipo de baja o alta fidelidad
Expand Down
6 changes: 3 additions & 3 deletions 1_Contenido/1_4__Gestion.md
Original file line number Diff line number Diff line change
Expand Up @@ -218,14 +218,14 @@ carrera](https://webasignatura.ucu.edu.uy/course/view.php?id=3751).

Los productos esperados de esta etapa para cada dimensión son los siguientes:

* **Requerimientos**. Los [eventos de
* **Requerimientos**. Los [eventos de/4_Conceptos/4_Evento_del_negocio.md
negocio](/4_Conceptos/4_Evento_de_negocio.md) más significativos. Incluyan
para cada evento de negocio al menos su descripción, sus datos, y si es de
para cada evento del negocio al menos su descripción, sus datos, y si es de
entrada o de salida.

Los [caso de uso del negocio](/4_Conceptos/4_Caso_de_uso_del_negocio.md) para
cada evento del negocio identificado en el punto anterior. Del caso de uso del
negocio incluyan al menos su descripción, el evento de negocio que lo activa,
negocio incluyan al menos su descripción, el evento del negocio que lo activa,
el actor o parte interesada —*stakeholder*— activa, y el resultado
*outcome*—.

Expand Down
60 changes: 60 additions & 0 deletions 2_Tecnicas_y_herramientas/2_1_2_Diagramas_de_contexto.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# 2 Técnicas y herramientas

## 2.1 Relevamiento

### 2.1.2 Diagramas de contexto

Diagrama de contexto es un modelo gráfico del [alcance del
trabajo](/4_Conceptos/4_Trabajo_y_area_de_trabajo.md) que muestra cómo el
trabajo a investigar se conecta con el mundo exterior[^1].

El diagrama de contexto se utiliza para generar —y luego mostrar— el consenso
entre las partes interesadas sobre el alcance del trabajo que se debe mejorar.
El producto final que resulta del proyecto se utilizará para realizar parte de
este trabajo.

El diagrama de contexto identifica el alcance del trabajo a estudiar. Muestra el
trabajo como una sola actividad, rodeada por los [sistemas
adyacentes](/4_Conceptos/4_Sistema_adyacente.md). Las flechas etiquetadas
representan los flujos de datos entre el trabajo y los sistemas adyacentes. Los
sistemas adyacentes son las actividades que se tomó la decisión de no estudiar.

El contexto de trabajo muestra dónde comienzan y terminan las responsabilidades
del trabajo y las responsabilidades de los sistemas adyacentes.

Aunque no hay una notación estándar para los diagramas de contexto, es posible
usar un diagrama de casos de uso UML para construirlos. Un diagrama de contexto
tiene los siguientes elementos:

* **Trabajo**. Utilizamos un caso de uso para modelar el trabajo; el nombre
del caso de uso es el nombre del producto, del proyecto, o del trabajo.

* **Sistemas adyacentes**. Utilizamos actores para modelar los sistemas
adyacentes. El nombre del actor es el nombre del sistema adyacente.

* **Flujos de datos**. Los flujos de datos los modelamos con asociaciones
dirigidas. La dirección de la asociación es en el sentido del flujo de datos.
El nombre de la asociación indica los datos que llegan o salen desde o hacia
el trabajo.

* Opcionalmente puede haber una frontera rodeando el caso de uso.

La figura 1, a continuación, muestra un ejemplo —parcial— de un diagrama de
contexto para una `Comunidad en línea`. Los sistemas adyacentes son los
`Usuarios de la comunidad`, los `Anunciantes` y los `Creadores de contenido`.
Los datos intercambiados aparecen como las etiquetas de las asociaciones; por
ejemplo, el `Anunciante` recibe de la comunidad `Slots para publicidad` y envía
`Pagos`.

![Ejemplo de diagrama de contexto](/diagrams/Context_Diagram_Example.svg)

*Figura 1: Ejemplo de un diagrama de contexto.*

Con el diagrama de contexto es posible derivar los [eventos del/4_Conceptos/4_Evento_del_negocio.md
negocio](/4_Conceptos/4_Evento_de_negocio.md), aunque durante el relevamiento la
identificación de los eventos del negocio puede modificar el diagrama de
contexto y viceversa. Los eventos de negocio se especifican usando la [plantilla
de eventos del negocio](/3_Plantillas/3_8_Eventos_del_negocio.md).

[^1]: Robertson, S. & Robertson, J. (2012). Mastering the Requirements Process:
Getting Requirements Right, 3<sup>rd</sup> Edition. Addison-Wesley Professional.
4 changes: 3 additions & 1 deletion 2_Tecnicas_y_herramientas/2_1__Relevamiento.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,6 @@

## 2.1 Relevamiento

### 2.1.2 [Mapas mentales](./2_Tecnicas_y_herramientas/2_1_1_Mapas_mentales.md)
### 2.1.2 [Mapas mentales](./2_1_1_Mapas_mentales.md)

### 2.1.2 [Diagramas de contexto](./2_1_2_Diagramas_de_contexto.md)
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@
### 2.2.1 Diagramas de despliegue UML

TODO: Completa esta página de diagramas de despliegue en forma análoga a los
demás diagramas
demás diagramas
4 changes: 2 additions & 2 deletions 2_Tecnicas_y_herramientas/2_3_1_Diagramas_de_clases_UML.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ probablemente, el más importante de los diagramas.

Aunque lo llamamos diagramas de clases, y en este documento incluimos ejemplos
de estos diagramas generalmente con clases, en realidad pueden aparecer otros
[clasificadores](./4_Conceptos/4_Clasificador.md) además de las clases.
[clasificadores](/4_Conceptos/4_Clasificador.md) además de las clases.

Este documento está basado en UML 2.5.1[^1].

Expand Down Expand Up @@ -383,4 +383,4 @@ derivados](../diagrams/Class_Diagram_Derived.svg)
[^4]: La versión de MVC que utilizamos aquí como ejemplo es la original de
Smalltalk-80 documentada por Trygve Reenskaug, inventor of MVC; pueden ver
los documentos
[aquí](https://folk.universitetetioslo.no/trygver/themes/mvc/mvc-index.html)
[aquí](https://folk.universitetetioslo.no/trygver/themes/mvc/mvc-index.html)
2 changes: 1 addition & 1 deletion 2_Tecnicas_y_herramientas/2_3__Modelos_de_estructura.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

## 2.3 Modelos de estructura

## 2.3.1 [Diagramas de clases UML](./2_3_1_Diagramas_de_clases_UML.md)
## 2.3.1 [Diagramas de clases UML](./2_3_1_Diagramas_de_clases_UML.md)
Original file line number Diff line number Diff line change
Expand Up @@ -97,4 +97,4 @@ Paradigm](https://www.visual-paradigm.com/guide/uml-unified-modeling-language/wh
y [Lucidchart](https://www.lucidchart.com/pages/uml-use-case-diagram).

[^1]: OMG. (2017). OMG® Unified Modeling Language®. Disponible
[aquí](https://www.omg.org/spec/UML/2.5.1/PDF).
[aquí](https://www.omg.org/spec/UML/2.5.1/PDF).
8 changes: 4 additions & 4 deletions 2_Tecnicas_y_herramientas/2_4_3_Diagramas_de_secuencia_UML.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,22 +54,22 @@ Existen varios tipos de mensajes:

* Asíncronos, que se dibujan con una flecha con las puntas abiertas:

![](/diagrams/Sequence_Diagram_Async_Message.svg)
![Mensaje asíncrono](/diagrams/Sequence_Diagram_Async_Message.svg)

* Sincrónicos, que se dibujan con una fecha con un triángulo relleno:

![](/diagrams/Sequence_Diagram_Sync_Message.svg)
![Mensaje sincrónico](/diagrams/Sequence_Diagram_Sync_Message.svg)

* Respuesta, que se dibujan con una línea punteada; estos mensajes son
opcionales:

![](/diagrams/Sequence_Diagram_Reply_Message.svg)
![Mensaje de respuesta](/diagrams/Sequence_Diagram_Reply_Message.svg)

* Perdido —*lost*—, que se dibujan con un círculo al final del mensaje, en el
lugar en el que estaría el receptor, y que se utilizan para modelar un mensaje
enviado por un emisor pero se desconoce o no interesa modelar el receptor.

![](/diagrams/Activity_Diagram_Lost.svg)
![Mensaje perdido](/diagrams/Activity_Diagram_Lost.svg)

* Encontrado —*found*—, que se dibujan con un círculo al inicio del mensaje, en
el lugar en el que estaría el emisor, y que se utiliza para modelar un mensaje
Expand Down
30 changes: 15 additions & 15 deletions 3_Plantillas/3_7_Compromiso_confidencialidad.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
## 3.7 Compromiso de confidencialidad

Este es un documento de confidencialidad más completo que la [carta de
confidencialidad simple](/3_Plantillas/3_6_Carta_confidencialidad_simple.md) y lo firma
cada uno de los estudiantes del equipo del proyecto y entregan una copia en la
empresa en la que están desarrollando el proyecto y otra copia la envían al
tutor del proyecto o al coordinador.
confidencialidad simple](/3_Plantillas/3_6_Carta_confidencialidad_simple.md) y
lo firma cada uno de los estudiantes del equipo del proyecto y entregan una
copia en la empresa en la que están desarrollando el proyecto y otra copia la
envían al tutor del proyecto o al coordinador.

> [!NOTE]
> Reemplazar el texto entre `` y `` con la información correspondiente.
Expand Down Expand Up @@ -78,19 +78,19 @@ el presente asume en materia de finalidad en el acceso y utilización de la
información, datos y documentos referidos anteriormente, así como en cuanto a la
integridad, confidencialidad y reserva de los mismos y demás obligaciones de su
cargo, será responsabilidad exclusiva de `≪aquel o aquella≫` frente a la UCU o
frente a terceros. De incurrirse por `≪el o la≫` estudiante en tal incumplimiento, la
UCU queda facultada desde ya, a dar por rescindido el contrato de prestación de
servicios de enseñanza que la vincula con `≪el o la≫` estudiante, en forma
automática y de pleno derecho y sin necesidad de gestión extrajudicial o
judicial de clase alguna, operando en todo caso la mora automática. Lo anterior,
es sin perjuicios de las responsabilidades que le puedan caber al estudiante
derivadas de los daños y perjuicios causados, así como toda otra de cualquier
naturaleza.
frente a terceros. De incurrirse por `≪el o la≫` estudiante en tal
incumplimiento, la UCU queda facultada desde ya, a dar por rescindido el
contrato de prestación de servicios de enseñanza que la vincula con `≪el o la≫`
estudiante, en forma automática y de pleno derecho y sin necesidad de gestión
extrajudicial o judicial de clase alguna, operando en todo caso la mora
automática. Lo anterior, es sin perjuicios de las responsabilidades que le
puedan caber al estudiante derivadas de los daños y perjuicios causados, así
como toda otra de cualquier naturaleza.

Sin perjuicio de lo previsto en este documento, se deja constancia en este acto,
que `≪el o la≫` estudiante participará en el proyecto `≪nombre del proyecto≫` en la
empresa `≪nombre de la empresa≫`, respecto de la cual rigen todos los términos y
condiciones incluidos en la presente.
que `≪el o la≫` estudiante participará en el proyecto `≪nombre del proyecto≫` en
la empresa `≪nombre de la empresa≫`, respecto de la cual rigen todos los
términos y condiciones incluidos en la presente.

Por la firma del presente compromiso, `≪el o la≫` estudiante declara que conoce
y comprende plenamente el contenido y alcance de su obligación de
Expand Down
114 changes: 114 additions & 0 deletions 3_Plantillas/3_8_Eventos_del_negocio.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
# 3 Plantillas

## 3.8 Eventos del negocio

Esta es la plantilla para mostrar la lista de [eventos del
negocio](/4_Conceptos/4_Evento_del_negocio.md) con los respectivos datos de
entrada y de salida. Agreguen tantas filas como eventos del negocio haya en su
proyecto.

<table>
<tr>
<td style="color:#0969DA">
<b>Nombre del evento</b>
</td>
<td style="color:#0969DA">
<b>Entradas y salidas</b>
</td>
</tr>
<tr>
<td style="vertical-align: top;">
Evento #1
</td>
<td>
Entrada #1 del evento #1 [in]
<br>
Entrada #2 del evento #1 [in]
<br>
...
<br>
Salida #1 del evento #1 [out]
<br>
Salida #2 del evento #1 [out]
<br>
...
</td>
</tr>
<tr>
<td style="vertical-align: top;">
Evento #2
</td>
<td>
Entrada #1 del evento #2 [in]
<br>
Entrada #2 del evento #2 [in]
<br>
...
<br>
Salida #1 del evento #2 [out]
<br>
Salida #2 del evento #2 [out]
<br>
...
</td>
</tr>
<tr>
<td style="vertical-align: top;">...</td>
<td>...</td>
</tr>
</table>

Un ejemplo de eventos de negocio, correspondiente al siguiente diagrama de
contexto de la figura 1, aparece luego, en la tabla 1:

![Ejemplo de diagrama de contexto](/diagrams/Context_Diagram_Example.svg)

*Figura 1: Ejemplo de un diagrama de contexto.*

*Tabla 1: Ejemplo de eventos del negocio*
<table>
<tr>
<td style="color:#0969DA">
<b>Nombre del evento</b>
</td>
<td style="color:#0969DA">
<b>Entradas y salidas</b>
</td>
</tr>
<tr>
<td style="vertical-align: top">
Anunciante contrata publicidad
</td>
<td>
Pagos [in]
<br>
Slots de publicidad [out]
</td>
</tr>
<tr>
<td>
Usuario ingresa a la comunidad
</td>
<td>
Perfil para registro [in]
</td>
</tr>
<tr>
<td>
Usuario consume contenido
</td>
<td>
Contenido [out]
</td>
</tr>
<tr>
<td style="vertical-align: top">
Creador de contenido publica contenido
</td>
<td>
Contenido [in]
<br>
Compensación [out]
</td>
</tr>
</table>
2 changes: 1 addition & 1 deletion 4_Conceptos/4_Connascence.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Conceptos

## Co-nascencia o _connascence_
## Co-nascencia o *connascence*

> [!NOTE]
> El término [nascencia](https://dle.rae.es/nascencia?m=form) se define como la
Expand Down
Empty file removed 4_Conceptos/4_Evento_de_negocio.md
Empty file.
33 changes: 33 additions & 0 deletions 4_Conceptos/4_Evento_del_negocio.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@

# Conceptos

## Evento del negocio

Los eventos de negocio son cosas que suceden y —a su vez— hacen que el
[trabajo](/4_Conceptos/4_Trabajo_y_area_de_trabajo.md) responda de alguna
manera[^1]. Un evento puede ocurrir fuera del alcance del trabajo —un evento
externo—, o puede suceder porque es el momento de que el trabajo haga algo —un
evento desencadenado por el tiempo—.

En el primer caso —un evento externo— una comunicación al trabajo desde el
exterior —representada por los [sistemas
adyacentes](/4_Conceptos/4_Sistema_adyacente.md)— le permite al trabajo saber
que el evento ha ocurrido. En el otro caso —el evento desencadenado por el
tiempo— el resultado es siempre un flujo hacia el mundo exterior.

En cualquier situación, cada vez que ocurre un evento del negocio, debe haber al
menos un flujo de datos para mostrarlo en el [diagrama de
contexto](/2_Tecnicas_y_herramientas/2_1_2_Diagramas_de_contexto.md).

Cada uno de los flujos de datos que entran o salen del trabajo es resultado de
un evento del negocio; no puede haber otra razón para que exista una
comunicación externa. Al observar cada flujo, se puede determinar el evento de
negocio que lo provocó. En algunos casos podrán adjuntarse varios flujos a un
mismo evento del negocio.

Para cada evento del negocio, existe una respuesta predefinida del trabajo,
conocida como [caso de uso del
negocio](/4_Conceptos/4_Caso_de_uso_del_negocio.md).

[^1]: Robertson, S. & Robertson, J. (2012). Mastering the Requirements Process:
Getting Requirements Right, 3<sup>rd</sup> Edition. Addison-Wesley Professional.
Loading

0 comments on commit 3264b2a

Please sign in to comment.