Skip to content

Commit b664c3f

Browse files
authored
Update README.md
1 parent 8303741 commit b664c3f

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

README.md

+19-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,20 @@
11
# Architectural Rationale Annotations Tool
2-
Architectural Rationale Annotations Tool: Plugin to document and report Architectural rationale from the source code through Java source code annotations.
2+
3+
ARAT (Architectural Rationale Annotations Tool) es una herramienta que complementa el código fuente basada en anotaciones de código Java que permiten documentar el Rationale arquitectónico.
4+
5+
## Introducción y propósito
6+
El Rationale arquitectónico son las razones del porqué una arquitectura está planteada de una forma o de otra, este Rationale arquitectónico define la justificación o el porqué de una acción o un pensamiento dirigido a la toma de decisiones en la construcción de la arquitectura de un sistema. Generalmente este Rationale no se encuentra de manera explícita en los diferentes artefactos de la documentación de un sistema, causando que sea mucho más lenta la fase de mantenimiento del mismo, debido a que se requiere de más tiempo para tratar de capturar y analizar las decisiones tomadas en el diseño del software.
7+
8+
Las anotaciones de código fuente sirven como un puente entre el desarrollador y las
9+
diferentes herramientas y librerías que son capaces de reconocerlas, gestionarlas y brindar una mayor cantidad de servicios a través de los metadatos marcados con información relevante para el desarrollo. El uso de estas anotaciones es importante ya que tienen como objetivo construir sistemas más complejos, que permitan encapsular lógica de programación repetitiva en componentes aparte de las reglas de negocio de un sistema en particular, precisamente una de las mayores ventajas de las anotaciones de código fuente es permitir al desarrollador crear diferentes elementos lógicos encargados de capturar y procesar dichas anotaciones con los metadatos de los componentes marcados, con el objetivo de delegarle a las anotaciones de código la responsabilidad de realizar procesos comunes y repetitivos en toda la aplicación
10+
11+
## Fundamentos
12+
La documentación del Rationale arquitectónico está caraceterisada por una paradoja que comunmente persiste en el desarrollo de software:
13+
>Cuanto más Rationale se genera, hay menos posibilidades de capturarlo.
14+
15+
Esta paradoja está sustentada por las siguientes observaciones manifestadas por [Allen Dutoit. et al](https://link.springer.com/chapter/10.1007%2F978-3-540-30998-7_1):
16+
- El Rationale se crea cuando se toma una decisión.
17+
- Durante el proceso de toma de decisiones los participantes son muy activos.
18+
- El Rationale se considera importante y evidente en el momento en el que se crea. Sin embargo, con el paso del tiempo este generalmente suele ser olvidado.
19+
- Generalmente las decisiones futuras están basadas en decisiones antiguas, provocando que las decisiones se sobre escriban en el desarrollo del proyecto.
20+
- Existe la necesidad de que se exprese el conocimiento tácito involucrado en el desarrollo de las actividades por parte de los participantes, sin embargo, interrumpir el flujo de actividades frecuentemente provoca la pérdida de motivación y puede ralentizar el trabajo. Por ello los participantes deciden enfocarse en las actividades "principales" y posponer la documentación del Rationale.

0 commit comments

Comments
 (0)