Project

General

Profile

Guía funcional de cosmoSys-Req » History » Version 7

Redmine Admin, 09/21/2026 05:10 PM
Synchronized from docs/web/projects

1 5 Redmine Admin
{{>toc}}
2 1 Redmine Admin
# Guía funcional de cosmoSys-Req
3
4
Esta guía explica el modelo funcional que cosmoSys-Req añade a [[csys:cosmoSys]]. Presupone únicamente una idea básica: cosmoSys organiza ítems en árboles de proyectos y les proporciona identidades, relaciones, diagramas, documentos, informes, transferencias y copias.
5
6
No es un procedimiento paso a paso ni una metodología obligatoria de ingeniería de requisitos. Describe qué significa cada campo, estado, relación y validación para que una organización pueda integrarlos correctamente en su proceso.
7
8
## 1. Qué es un requisito en cosmoSys-Req
9
10
Un requisito es un ítem cuyo perfil activa capacidades específicas del dominio. Sigue siendo parte del mismo modelo colaborativo que las tareas, documentos y demás elementos del proyecto, pero dispone de atributos, presentación y validaciones propios.
11
12
El requisito conserva:
13
14
- un CSID estable;
15
- un texto principal;
16
- su posición dentro de la especificación;
17
- relaciones con otros ítems;
18
- fuente de derivación;
19
- tipo y nivel;
20
- información de verificación;
21
- cumplimiento e implementación cuando correspondan;
22
- estado y madurez;
23
- evidencia del significado aprobado.
24
25
La jerarquía indica dónde aparece en el libro. Las relaciones indican de qué depende. La derivación señala de qué requisito procede. Ninguna de estas dimensiones debe utilizarse como sustituta automática de las otras.
26
27 6 Redmine Admin
{{thumbnail(cosmosys-req-overview.png, size=600, title=Modelo funcional de cosmoSys-Req)}}
28
29 1 Redmine Admin
## 2. Identidad y presentación
30
31
Cada requisito recibe un CSID, como `SYS-0042`, mediante los mecanismos comunes de cosmoSys. El identificador no cambia al reorganizar capítulos ni al mover el requisito dentro del mismo árbol de proyectos.
32
33
El capítulo es una representación calculada a partir de la jerarquía. Puede cambiar durante la edición de la especificación.
34
35
En textos y relaciones debe preferirse la identidad estable cuando lo que se quiere conservar es el destino. El capítulo resulta apropiado para presentar la estructura de una edición concreta del documento.
36
37
Un requisito aprobado sigue siendo contenido vigente. Aunque su estado esté cerrado para Redmine, no se presenta como una tarea tachada: el cierre satisfactorio significa consolidación, no desaparición.
38
39 6 Redmine Admin
{{thumbnail(cosmosys-identity-and-chapter.png, size=600, title=Identidad estable y capítulo calculado)}}
40
41 1 Redmine Admin
## 3. Campos propios del requisito
42
43
### Tipo
44
45
El tipo describe la naturaleza del requisito según la taxonomía configurada por el proyecto. Permite distinguir, por ejemplo, requisitos funcionales, de rendimiento, de interfaz o de restricción sin deducirlo del texto.
46
47
### Nivel
48
49
El nivel sitúa el requisito dentro de la descomposición del sistema: misión, sistema, subsistema, componente u otros niveles definidos por el dominio.
50
51
Tipo y nivel son dimensiones diferentes. Un requisito de rendimiento puede existir en varios niveles; un nivel puede contener requisitos de muchos tipos.
52
53
### Justificación
54
55
La justificación explica por qué existe el requisito, qué decisión sostiene o qué razonamiento condujo a formularlo. No sustituye el texto normativo del requisito.
56
57
En consultas e informes puede presentarse debajo de la descripción, como parte del cuerpo, en lugar de convertirse en una columna estrecha difícil de leer.
58
59
### Fuente de derivación
60
61
La fuente identifica el requisito del que procede el actual. Es trazabilidad explícita de origen.
62
63
La acción **Derive** puede crear el nuevo requisito, registrar esta fuente y establecer las relaciones causales correspondientes. La herramienta ayuda a construir una operación coherente, pero el usuario sigue siendo responsable de que la derivación sea técnicamente correcta.
64
65
### Verificación
66
67
Los requisitos pueden conservar métodos y descripción de verificación. Los métodos indican cómo se prevé demostrar el cumplimiento —por ejemplo análisis, inspección, ensayo o demostración— y la descripción explica el caso concreto.
68
69
Definir un método no significa que la verificación ya se haya ejecutado. Planificación, ejecución, resultado y validación deben interpretarse de acuerdo con el proceso de la organización.
70
71
### Cumplimiento e implementación
72
73
Los perfiles que lo necesiten pueden añadir seguimiento de cumplimiento, inclusión o validación en una entrega. Estos campos permiten observar la evolución del producto sin confundirla con la madurez del texto del requisito.
74
75
Un requisito puede estar perfectamente aprobado y todavía no haberse implementado. También puede existir una implementación cuya validación siga pendiente.
76
77
## 4. Variantes suministradas
78
79
cosmoSys-Req incluye inicialmente cuatro trackers que consumen el perfil de requisito con capacidades distintas:
80
81
- `csRq`: requisito canónico, centrado en redacción y revisión;
82
- `csRqm`: añade gestión de trabajo, como asignación, fechas, esfuerzo y progreso;
83
- `csRqr`: añade seguimiento de inclusión y validación en una entrega;
84
- `csRqmr`: combina las capacidades de gestión y entrega.
85
86
La versión objetivo está disponible en todos los requisitos. Las diferencias no se implementan ocultando con CSS campos que siguen activos: cada tracker declara qué campos nativos utiliza, de forma que la edición rápida, la API y las operaciones masivas respeten el mismo contrato.
87
88
Los nombres de trackers son una configuración inicial. La lógica del plugin se apoya en el item profile `requirement`, no en la existencia permanente de esos cuatro nombres.
89
90 7 Redmine Admin
{{thumbnail(cosmosys-req-variants.png, size=600, title=Variantes suministradas del perfil de requisito)}}
91
92 1 Redmine Admin
## 5. Workflow básico
93
94
El ciclo principal distingue tres estados de madurez:
95
96
- `Draft`: el requisito está en elaboración;
97
- `Stable`: el texto está preparado para revisión o uso controlado;
98
- `Approved`: el requisito ha sido aceptado por el proceso correspondiente.
99
100
Los workflows de Redmine determinan quién puede realizar cada transición. La organización puede reservar la aprobación a los roles revisores y permitir que otros participantes redacten o propongan cambios.
101
102
cosmoSys-Req no aprueba automáticamente un requisito porque su texto parezca completo. La transición sigue siendo una decisión humana autorizada.
103
104 6 Redmine Admin
{{thumbnail(cosmosys-req-lifecycle.png, size=600, title=Ciclo de vida del requisito)}}
105
106 1 Redmine Admin
## 6. Cierres satisfactorios y no satisfactorios
107
108
cosmoSys añade a los estados cerrados una semántica de resultado:
109
110
- un cierre **satisfactorio** consolida el ítem;
111
- un cierre **no satisfactorio** lo retira del contenido vigente sin destruir su historia.
112
113
En la configuración de requisitos, `Approved` y los cierres positivos equivalentes representan consolidación. `Rejected` y `Erased` representan cierres negativos.
114
115
### Rejected
116
117
Indica que el requisito fue evaluado y rechazado. Puede existir un workflow de recuperación hacia `Draft` cuando la organización necesita reconsiderarlo.
118
119
### Erased
120
121
Representa una eliminación lógica. El requisito conserva CSID, contenido, historial, posición y relaciones, pero deja de formar parte del contenido positivo ordinario.
122
123
La eliminación lógica protege la trazabilidad y evita reutilizar accidentalmente la identidad de un requisito retirado. La eliminación física puede restringirse mediante permisos y reglas del perfil.
124
125
### Elementos huérfanos
126
127
Si un elemento positivo queda bajo un antecesor `Erased`, no debe desaparecer sin explicación. Árbol e informe pueden rescatarlo bajo un capítulo virtual de elementos huérfanos para que el usuario lo reubique.
128
129
Un elemento negativo bajo otro negativo no necesita aparecer como huérfano: ya forma parte del subárbol retirado.
130
131
Los elementos negativos se conservan en árbol e informe para trazabilidad, pero no participan en diagramas ni DSM ordinarias.
132
133 7 Redmine Admin
{{thumbnail(cosmosys-req-erased-orphans.png, size=600, title=Subárbol retirado y elementos positivos huérfanos)}}
134
135 1 Redmine Admin
## 7. Madurez y dependencias
136
137
Los estados tienen un nivel de madurez. El principio funcional es que un requisito no debería estar más maduro que aquello que lo sostiene.
138
139
Cuando `A blocks B`, A actúa como antecedente de B. Si B está aprobado y A vuelve a borrador, B se considera inconsistente.
140
141
La validación de madurez se activa mediante el item profile. Actualmente el perfil de requisito es el que utiliza esta capacidad; otros perfiles no heredan la regla por el mero hecho de tener relaciones `blocks`.
142
143
La inconsistencia no cambia automáticamente el estado. Se muestra mediante avisos y señales visuales, incluido el rojo de los diagramas. El usuario decide si debe reabrir, revisar o corregir las relaciones.
144
145
La comprobación inmediata de madurez no necesita recorrer toda la cadena para cambiar estados. La evidencia aprobada, descrita a continuación, sí conserva el contexto transitivo necesario para detectar cambios más profundos.
146
147 7 Redmine Admin
{{thumbnail(cosmosys-req-maturity-chain.png, size=600, title=Madurez coherente a lo largo de una cadena bloqueante)}}
148
149 1 Redmine Admin
## 8. Evidencia del texto aprobado
150
151
Comparar sólo estados no basta. Dos requisitos pueden volver a aparecer como `Approved` aunque el texto del antecedente haya cambiado entre ambas aprobaciones. También puede cambiar un dato compartido sin editar directamente el requisito que lo utiliza.
152
153
Cuando un requisito aumenta su madurez por encima del nivel inicial, cosmoSys-Req captura una línea base con:
154
155
- texto fuente;
156
- descripción resuelta;
157
- datos de proyecto utilizados;
158
- contexto transitivo de relaciones `blocks`;
159
- CSID y textos resueltos de los antecedentes;
160
- aristas de la cadena bloqueante;
161
- estado, madurez, fecha y hash de la evidencia.
162
163
Los nodos y aristas se ordenan de forma canónica. Así, aprobar otra vez un antecedente no oculta que cambió su contenido, y restaurar exactamente el texto y la topología anteriores elimina la deriva sin obligar a repetir una aprobación innecesaria.
164
165
### Qué provoca inconsistencia
166
167
- Cambiar la descripción explícita del requisito.
168
- Cambiar el valor o nombre de un `csDatum` utilizado.
169
- Cambiar el texto resuelto de un antecedente bloqueante.
170
- Añadir o retirar un antecedente dentro de la cadena.
171
- Reorganizar las aristas que forman el contexto causal.
172
173
### Qué no debe provocarla
174
175
- Cambiar un dato que el requisito no utiliza.
176
- Reordenar etiquetas efímeras del catálogo documental cuando la cita conserva el mismo marcador estable.
177
- Modificar sólo la presentación HTML sin cambiar el texto canónico.
178
- Alterar temporalmente un antecedente y restaurarlo exactamente antes de la comparación.
179
180
Las etiquetas `RD.n`, `AD.n` y `CD.n` pertenecen a la presentación. El marcador `document:di<ID>` pertenece al texto canónico. Esta separación evita inconsistencias fantasma por una simple renumeración del catálogo y debe mantenerse cubierta por pruebas de regresión.
181 7 Redmine Admin
182
{{thumbnail(cosmosys-req-approved-evidence.png, size=600, title=Composición y comparación de la evidencia aprobada)}}
183 1 Redmine Admin
184
## 9. Cómo se presenta una inconsistencia
185
186
La vista del requisito muestra un aviso y, para su descripción, un diff entre el texto aprobado y el actual. El contexto bloqueante puede señalar que la cadena cambió sin revelar textos que el usuario no está autorizado a consultar.
187
188
Los diagramas utilizan rojo para el requisito o cluster inconsistente. Si es además el protagonista de la vista, su borde grueso debe seguir siendo rojo en lugar de quedar cubierto por el azul habitual de selección.
189
190
Los informes deben transportar el aviso con un refuerzo visual rojo y una señal adicional que no dependa únicamente del color. La apariencia debe sobrevivir a la conversión a ODT, DOCX y PDF.
191
192
Bajar la madurez desactiva la inconsistencia visible sin borrar la línea base. El siguiente aumento de madurez reemplaza la evidencia por la nueva revisión aceptada.
193
194 6 Redmine Admin
{{thumbnail(cosmosys-req-consistency.png, size=600, title=Detección de cambios en el significado aprobado)}}
195
196 1 Redmine Admin
## 10. Datos compartidos mediante csDatum
197
198
Los datos del proyecto pertenecen a cosmoSys base, no exclusivamente al plugin de requisitos. Un requisito puede consumirlos mediante `${Clave}` y `${Clave.value}`.
199
200
Esto permite separar una magnitud repetida de las frases que la utilizan. Cambiar el dato actualiza las presentaciones, mientras la línea base de los requisitos aprobados permite saber cuáles han cambiado de significado.
201
202
Los `csDatum` no necesitan mantener relaciones ordinarias con cada requisito consumidor. El ledger de resolución registra el uso efectivo sin llenar los diagramas de conexiones auxiliares.
203
204
La tabla de datos del informe se construye a partir de las sustituciones utilizadas durante el renderizado. Puede aparecer antes que el contenido aunque se complete después, una vez conocido el ledger final.
205
206
Los valores siguen siendo texto y pueden contener Markdown. Las fórmulas, tipos físicos y cálculos automáticos son una posible extensión futura, no una garantía actual.
207
208 6 Redmine Admin
{{thumbnail(cosmosys-req-engineering-model.png, size=600, title=Datos compartidos y texto resuelto)}}
209
210 1 Redmine Admin
## 11. Derivación
211
212
Derivar significa crear un requisito más concreto a partir de otro y conservar la trazabilidad de esa decisión.
213
214
La operación puede:
215
216
1. crear uno o varios requisitos;
217
2. situarlos en un destino jerárquico compatible;
218
3. registrar el requisito fuente;
219
4. crear relaciones causales de bloqueo;
220
5. conservar proyecto, versión y otros datos pertinentes según el contrato.
221
222
La automatización evita pasos mecánicos incoherentes, pero no decide cuántos requisitos deben derivarse ni si el texto resultante es suficiente.
223
224 6 Redmine Admin
{{thumbnail(requirements-derivation.png, size=600, title=Derivación hacia requisitos disciplinares)}}
225
226 1 Redmine Admin
## 12. Árbol y especificación
227
228
Los requisitos se organizan bajo ítems estructurales capaces de actuar como capítulos. Un requisito ordinario no debe contener hijos; si un ítem con descendientes aparece en una migración heredada, esa estructura constituye evidencia de que probablemente era información o capítulo y no un requisito.
229
230
Los capítulos calculados ordenan la especificación. El CSID conserva la identidad incluso cuando el requisito cambia de sección.
231
232
Los requisitos aprobados permanecen visibles y reciben una presentación consolidada. Los rechazados o borrados lógicamente pueden reunirse en secciones específicas de trazabilidad en lugar de mezclarse con el contenido vigente.
233
234
## 13. Diagramas y DSM de requisitos
235
236
Los diagramas reutilizan las capacidades comunes de cosmoSys:
237
238
- jerarquía de la especificación;
239
- dependencias causales;
240
- vista combinada con contexto de capítulos;
241
- recorrido entre proyectos y niveles;
242
- referencias documentales cuando corresponda.
243
244
Las relaciones externas conservan un indicador de frontera y su propia jerarquía. Mostrar más pasos de la cadena no convierte los requisitos externos en requisitos locales.
245
246
La DSM permite revisar dependencias, buscar ciclos y explorar órdenes de presentación o implementación. Los requisitos retirados mediante cierre negativo no participan en la matriz ordinaria.
247
248
## 14. Documentos de referencia
249
250
Un requisito puede citar documentos de referencia, aplicables o de cumplimiento. Cada cita conserva sentido y localización propios.
251
252
La tabla de referencias del requisito y del informe utiliza las etiquetas vigentes `RD.n`, `AD.n` y `CD.n`, pero los textos guardan marcadores internos estables. Reordenar el catálogo actualiza la presentación sin cambiar el documento citado.
253
254
Los placeholders documentales pueden insertar los catálogos en cualquier punto compatible del árbol de la especificación.
255
256
La visibilidad del documento sigue dependiendo de los permisos del usuario. Resolver una etiqueta no debe convertirse en una vía para revelar documentos restringidos.
257
258 6 Redmine Admin
{{thumbnail(cosmosys-document-reference.png, size=600, title=Referencia estable y etiqueta documental calculada)}}
259
260 1 Redmine Admin
## 15. Informes de requisitos
261
262
El informe presenta la especificación como libro, no como una tabla plana. Puede incluir:
263
264
- capítulos e ítems estructurales;
265
- texto normativo;
266
- justificación y otros campos de cuerpo;
267
- metadatos compactos;
268
- diagramas elegidos por requisito;
269
- referencias documentales;
270
- tabla de datos utilizados;
271
- elementos cerrados negativamente;
272
- avisos de inconsistencia.
273
274
Los perfiles deciden qué campos aparecen y en qué forma. El informe muestra la versión configurada como predeterminada del proyecto y transporta metadatos del proyecto a las propiedades de LibreOffice.
275
276
La plantilla controla la apariencia corporativa. El contenido procede del mismo modelo vivo que consulta el equipo.
277
278 6 Redmine Admin
{{thumbnail(cosmosys-req-documentation.png, size=600, title=Un modelo de requisitos con varias salidas documentales)}}
279
280 1 Redmine Admin
## 16. Exportación e importación ODS
281
282
El perfil de proyecto de requisitos selecciona una plantilla ODS que incluye los campos propios del dominio y hojas DSM.
283
284
La exportación puede utilizarse para revisión o trabajo temporal fuera de línea. La importación conserva el preflight común de cosmoSys: analiza identidades, linaje, altas, modificaciones, relaciones y conflictos antes de pedir confirmación.
285
286
Los códigos visibles utilizados provisionalmente durante una migración no sustituyen al CSID. Cuando existe un código externo significativo puede conservarse como `csExtCode` para facilitar trazabilidad y reescrituras posteriores.
287
288
ODS es un canal de intercambio. El proyecto sigue siendo la fuente viva de verdad después de reconciliar la transferencia.
289
290
## 17. Copias y snapshots
291
292
Los requisitos participan en las copias y snapshots comunes de cosmoSys. Una copia fiel conserva estado, identidades cuando sea posible y líneas base aprobadas. Una copia limpia reinicia el estado y no arrastra evidencias de consolidación.
293
294
Preservar CSID exige que no existan colisiones en el árbol de destino. Regenerarlos requiere reescribir referencias internas una vez construido el mapa completo entre origen y destino.
295
296
Una copia de varios proyectos crea primero todos los proyectos e ítems y restaura después sus relaciones. Este orden permite mantener dependencias entre niveles de requisitos incluso cuando el destino recibe identidades nuevas.
297
298
El snapshot declara los plugins y versiones presentes en el origen. El preflight puede advertir diferencias, pero no puede adaptar automáticamente cualquier dato creado por plugins desconocidos.
299 6 Redmine Admin
300
{{thumbnail(cosmosys-portable-transfers.png, size=600, title=Intercambio ODS y paquetes csys)}}
301 1 Redmine Admin
302
## 18. Consultas y navegación
303
304
La pestaña de ítems utiliza consultas de Redmine adaptadas al perfil de proyecto. En requisitos, el contenido consolidado no debe desaparecer por el filtro genérico de «abiertos»: los cierres satisfactorios siguen siendo parte de la especificación.
305
306
Los cierres negativos pueden excluirse de la consulta principal y permanecer accesibles mediante vistas o capítulos de trazabilidad.
307
308
Las columnas útiles incluyen CSID, capítulo, estado, tipo, nivel, versión y otros campos habilitados por el perfil. Los textos largos, como descripción o justificación, resultan más legibles como bloques bajo la fila principal que como columnas estrechas.
309
310
## 19. Permisos y revisión
311
312
Los permisos de [Redmine](https://www.redmine.org/) gobiernan lectura, edición y transiciones. El workflow puede reservar `Stable` o `Approved` a roles específicos.
313
314
Una relación bloqueante ordinaria puede impedir cierres positivos mientras el antecedente permanece abierto. El perfil de requisito permite, sin embargo, que un cierre negativo como `Rejected` siga estando disponible: rechazar algo no afirma que sus dependencias estén satisfechas.
315
316
Recuperar un requisito rechazado requiere una transición definida, por ejemplo `Rejected -> Draft`. Ser administrador no crea una transición que el workflow no contiene.
317
318
## 20. Qué no garantiza cosmoSys-Req
319
320
cosmoSys-Req no determina si un requisito es necesario, verificable o técnicamente correcto. Tampoco demuestra que una relación de derivación represente el razonamiento real del equipo.
321
322
Las líneas base detectan deriva del texto resuelto y del contexto conocido; no congelan transaccionalmente todos los objetos de la instancia. Otro usuario puede modificar información mientras se genera un informe.
323
324
El responsable debe revisar la especificación entregable. La herramienta reduce trabajo mecánico, conserva evidencias y hace visibles incoherencias que de otro modo pasarían inadvertidas, pero no sustituye el juicio de ingeniería.
325
326
## Para seguir
327
328
- [[cosmoSys-Req]] — presentación general del gestor de requisitos.
329
- [[csys:cosmoSys]] — plataforma común sobre la que se construye.
330
- [[csys:Guía funcional de cosmoSys]] — árboles, diagramas, documentos, informes, ODS y copias.
331
- [[Gestor de requisitos]] — introducción general a la disciplina y sus herramientas.
332 4 Redmine Admin
- [Cosmobots](https://cosmobots.eu/) — la asociación sin ánimo de lucro que impulsa el proyecto.