Project

General

Profile

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

Redmine Admin, 09/21/2026 04:52 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
## 5. Workflow básico
91
92
El ciclo principal distingue tres estados de madurez:
93
94
- `Draft`: el requisito está en elaboración;
95
- `Stable`: el texto está preparado para revisión o uso controlado;
96
- `Approved`: el requisito ha sido aceptado por el proceso correspondiente.
97
98
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.
99
100
cosmoSys-Req no aprueba automáticamente un requisito porque su texto parezca completo. La transición sigue siendo una decisión humana autorizada.
101
102 6 Redmine Admin
{{thumbnail(cosmosys-req-lifecycle.png, size=600, title=Ciclo de vida del requisito)}}
103
104 1 Redmine Admin
## 6. Cierres satisfactorios y no satisfactorios
105
106
cosmoSys añade a los estados cerrados una semántica de resultado:
107
108
- un cierre **satisfactorio** consolida el ítem;
109
- un cierre **no satisfactorio** lo retira del contenido vigente sin destruir su historia.
110
111
En la configuración de requisitos, `Approved` y los cierres positivos equivalentes representan consolidación. `Rejected` y `Erased` representan cierres negativos.
112
113
### Rejected
114
115
Indica que el requisito fue evaluado y rechazado. Puede existir un workflow de recuperación hacia `Draft` cuando la organización necesita reconsiderarlo.
116
117
### Erased
118
119
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.
120
121
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.
122
123
### Elementos huérfanos
124
125
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.
126
127
Un elemento negativo bajo otro negativo no necesita aparecer como huérfano: ya forma parte del subárbol retirado.
128
129
Los elementos negativos se conservan en árbol e informe para trazabilidad, pero no participan en diagramas ni DSM ordinarias.
130
131
## 7. Madurez y dependencias
132
133
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.
134
135
Cuando `A blocks B`, A actúa como antecedente de B. Si B está aprobado y A vuelve a borrador, B se considera inconsistente.
136
137
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`.
138
139
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.
140
141
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.
142
143
## 8. Evidencia del texto aprobado
144
145
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.
146
147
Cuando un requisito aumenta su madurez por encima del nivel inicial, cosmoSys-Req captura una línea base con:
148
149
- texto fuente;
150
- descripción resuelta;
151
- datos de proyecto utilizados;
152
- contexto transitivo de relaciones `blocks`;
153
- CSID y textos resueltos de los antecedentes;
154
- aristas de la cadena bloqueante;
155
- estado, madurez, fecha y hash de la evidencia.
156
157
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.
158
159
### Qué provoca inconsistencia
160
161
- Cambiar la descripción explícita del requisito.
162
- Cambiar el valor o nombre de un `csDatum` utilizado.
163
- Cambiar el texto resuelto de un antecedente bloqueante.
164
- Añadir o retirar un antecedente dentro de la cadena.
165
- Reorganizar las aristas que forman el contexto causal.
166
167
### Qué no debe provocarla
168
169
- Cambiar un dato que el requisito no utiliza.
170
- Reordenar etiquetas efímeras del catálogo documental cuando la cita conserva el mismo marcador estable.
171
- Modificar sólo la presentación HTML sin cambiar el texto canónico.
172
- Alterar temporalmente un antecedente y restaurarlo exactamente antes de la comparación.
173
174
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.
175
176
## 9. Cómo se presenta una inconsistencia
177
178
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.
179
180
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.
181
182
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.
183
184
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.
185
186 6 Redmine Admin
{{thumbnail(cosmosys-req-consistency.png, size=600, title=Detección de cambios en el significado aprobado)}}
187
188 1 Redmine Admin
## 10. Datos compartidos mediante csDatum
189
190
Los datos del proyecto pertenecen a cosmoSys base, no exclusivamente al plugin de requisitos. Un requisito puede consumirlos mediante `${Clave}` y `${Clave.value}`.
191
192
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.
193
194
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.
195
196
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.
197
198
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.
199
200 6 Redmine Admin
{{thumbnail(cosmosys-req-engineering-model.png, size=600, title=Datos compartidos y texto resuelto)}}
201
202 1 Redmine Admin
## 11. Derivación
203
204
Derivar significa crear un requisito más concreto a partir de otro y conservar la trazabilidad de esa decisión.
205
206
La operación puede:
207
208
1. crear uno o varios requisitos;
209
2. situarlos en un destino jerárquico compatible;
210
3. registrar el requisito fuente;
211
4. crear relaciones causales de bloqueo;
212
5. conservar proyecto, versión y otros datos pertinentes según el contrato.
213
214
La automatización evita pasos mecánicos incoherentes, pero no decide cuántos requisitos deben derivarse ni si el texto resultante es suficiente.
215
216 6 Redmine Admin
{{thumbnail(requirements-derivation.png, size=600, title=Derivación hacia requisitos disciplinares)}}
217
218 1 Redmine Admin
## 12. Árbol y especificación
219
220
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.
221
222
Los capítulos calculados ordenan la especificación. El CSID conserva la identidad incluso cuando el requisito cambia de sección.
223
224
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.
225
226
## 13. Diagramas y DSM de requisitos
227
228
Los diagramas reutilizan las capacidades comunes de cosmoSys:
229
230
- jerarquía de la especificación;
231
- dependencias causales;
232
- vista combinada con contexto de capítulos;
233
- recorrido entre proyectos y niveles;
234
- referencias documentales cuando corresponda.
235
236
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.
237
238
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.
239
240
## 14. Documentos de referencia
241
242
Un requisito puede citar documentos de referencia, aplicables o de cumplimiento. Cada cita conserva sentido y localización propios.
243
244
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.
245
246
Los placeholders documentales pueden insertar los catálogos en cualquier punto compatible del árbol de la especificación.
247
248
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.
249
250 6 Redmine Admin
{{thumbnail(cosmosys-document-reference.png, size=600, title=Referencia estable y etiqueta documental calculada)}}
251
252 1 Redmine Admin
## 15. Informes de requisitos
253
254
El informe presenta la especificación como libro, no como una tabla plana. Puede incluir:
255
256
- capítulos e ítems estructurales;
257
- texto normativo;
258
- justificación y otros campos de cuerpo;
259
- metadatos compactos;
260
- diagramas elegidos por requisito;
261
- referencias documentales;
262
- tabla de datos utilizados;
263
- elementos cerrados negativamente;
264
- avisos de inconsistencia.
265
266
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.
267
268
La plantilla controla la apariencia corporativa. El contenido procede del mismo modelo vivo que consulta el equipo.
269
270 6 Redmine Admin
{{thumbnail(cosmosys-req-documentation.png, size=600, title=Un modelo de requisitos con varias salidas documentales)}}
271
272 1 Redmine Admin
## 16. Exportación e importación ODS
273
274
El perfil de proyecto de requisitos selecciona una plantilla ODS que incluye los campos propios del dominio y hojas DSM.
275
276
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.
277
278
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.
279
280
ODS es un canal de intercambio. El proyecto sigue siendo la fuente viva de verdad después de reconciliar la transferencia.
281
282
## 17. Copias y snapshots
283
284
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.
285
286
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.
287
288
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.
289
290
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.
291 6 Redmine Admin
292
{{thumbnail(cosmosys-portable-transfers.png, size=600, title=Intercambio ODS y paquetes csys)}}
293 1 Redmine Admin
294
## 18. Consultas y navegación
295
296
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.
297
298
Los cierres negativos pueden excluirse de la consulta principal y permanecer accesibles mediante vistas o capítulos de trazabilidad.
299
300
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.
301
302
## 19. Permisos y revisión
303
304
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.
305
306
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.
307
308
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.
309
310
## 20. Qué no garantiza cosmoSys-Req
311
312
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.
313
314
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.
315
316
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.
317
318
## Para seguir
319
320
- [[cosmoSys-Req]] — presentación general del gestor de requisitos.
321
- [[csys:cosmoSys]] — plataforma común sobre la que se construye.
322
- [[csys:Guía funcional de cosmoSys]] — árboles, diagramas, documentos, informes, ODS y copias.
323
- [[Gestor de requisitos]] — introducción general a la disciplina y sus herramientas.
324 4 Redmine Admin
- [Cosmobots](https://cosmobots.eu/) — la asociación sin ánimo de lucro que impulsa el proyecto.