feat: dependencies
All checks were successful
Release / publish (push) Successful in 1m27s

This commit is contained in:
u80864958
2025-10-21 11:33:27 +02:00
parent 11f4393ccf
commit 6884eee8c0
2 changed files with 321 additions and 309 deletions

View File

@@ -1,20 +1,21 @@
<table class="wrapped relative-table tf-macro tablesorter" data-tf-ready="true" style="width: 75.453%;">
<table class="wrapped relative-table tf-macro tablesorter" data-tf-ready="true" style="width: 102.175%;">
<colgroup>
<col style="width: 17.1991%;"/>
<col style="width: 10.6574%;"/>
<col style="width: 26.9078%;"/>
<col style="width: 17.719%;"/>
<col style="width: 7.40819%;"/>
<col style="width: 5.7186%;"/>
<col style="width: 4.50556%;"/>
<col style="width: 4.28895%;"/>
<col style="width: 5.58863%;"/>
<col style="width: 16.0077%;"/>
<col style="width: 6.61504%;"/>
<col style="width: 14.3996%;"/>
<col style="width: 14.3265%;"/>
<col style="width: 6.32266%;"/>
<col style="width: 6.68813%;"/>
<col style="width: 7.60181%;"/>
<col style="width: 7.60181%;"/>
<col style="width: 5.22624%;"/>
<col style="width: 15.1276%;"/>
</colgroup>
<tbody class="">
<tr class="tablesorter-header">
<th class="tablesorter-header" data-column="0" scope="col">
<p data-is-tablecell-container="true">
<strong>Was</strong>
<strong>Artefakt</strong>
</p>
</th>
<th class="tablesorter-header" data-column="1" scope="col">
@@ -33,6 +34,10 @@
<th class="tablesorter-header" data-column="6" scope="col">Typisierung</th>
<th class="tablesorter-header" data-column="7" scope="col">Hermes</th>
<th class="tablesorter-header" data-column="8" scope="col">Custom Label</th>
<th class="tablesorter-header" data-column="9" scope="col">
<p>Artefakt wird verwendet in</p>
<p>(Artefakt kann Textbaustein sein)</p>
</th>
</tr>
<tr class="">
<td>
@@ -48,7 +53,7 @@
<p data-is-tablecell-container="true">ITIL Service Operation / HERMES Einführung &amp; Betrieb</p>
</td>
<td>
<p data-is-tablecell-container="true">Betrieb, Governance</p>
<p data-is-tablecell-container="true">Betrieb, Manger</p>
</td>
<td>
<p data-is-tablecell-container="true">Application</p>
@@ -62,6 +67,11 @@
<td>
<p data-is-tablecell-container="true">Patrick</p>
</td>
<td>
<p data-is-tablecell-container="true">
<br/>
</p>
</td>
</tr>
<tr class="">
<td>
@@ -78,7 +88,7 @@
</p>
</td>
<td>
<p data-is-tablecell-container="true">Security</p>
<p data-is-tablecell-container="true">Security, Entwickler, Manger</p>
</td>
<td>
<p data-is-tablecell-container="true">Business</p>
@@ -92,6 +102,11 @@
<td>
<p data-is-tablecell-container="true">Patrick</p>
</td>
<td>
<p data-is-tablecell-container="true">
<br/>
</p>
</td>
</tr>
<tr class="">
<td>
@@ -106,9 +121,7 @@
</p>
</td>
<td>
<p data-is-tablecell-container="true">
<br/>
</p>
<p data-is-tablecell-container="true">Betrieb, Entwickler</p>
</td>
<td>
<p data-is-tablecell-container="true">
@@ -119,13 +132,16 @@
<p data-is-tablecell-container="true">Sicherheit, Architektur</p>
</td>
<td>
<p data-is-tablecell-container="true">
<br/>
</p>
<p data-is-tablecell-container="true">Konzept</p>
</td>
<td>
<p data-is-tablecell-container="true">Patrick</p>
</td>
<td>
<p data-is-tablecell-container="true">
<br/>
</p>
</td>
</tr>
<tr class="">
<td>
@@ -141,9 +157,7 @@
</p>
</td>
<td>
<p data-is-tablecell-container="true">
<br/>
</p>
<p data-is-tablecell-container="true">Betrieb, Entwickler</p>
</td>
<td>
<p data-is-tablecell-container="true">
@@ -154,13 +168,16 @@
<p data-is-tablecell-container="true">Betrieb, Architektur</p>
</td>
<td>
<p data-is-tablecell-container="true">
<br/>
</p>
<p data-is-tablecell-container="true">Realisierung</p>
</td>
<td>
<p data-is-tablecell-container="true">Patrick</p>
</td>
<td>
<p data-is-tablecell-container="true">
<br/>
</p>
</td>
</tr>
<tr>
<td>
@@ -172,16 +189,17 @@
<td>Bewertet, ob ein System die Architekturleitlinien der Organisation erfüllt</td>
<td>ISB / TOGAF / Bundesarchitekturhandbuch</td>
<td>
<br/>
<p>Architekt, Entwickler</p>
</td>
<td>
<br/>
</td>
<td>Architektur</td>
<td>Konzept</td>
<td>Patrick</td>
<td>
<br/>
</td>
<td>Patrick</td>
</tr>
<tr>
<td>
@@ -192,17 +210,16 @@
</td>
<td>Enthält Prüfpunkte und Bewertungskriterien für Architekturkonformität</td>
<td>ISB / EIAM / interne Richtlinien</td>
<td>
<br/>
</td>
<td>Architekt, Entwickler</td>
<td>
<br/>
</td>
<td>Architektur</td>
<td>Realisierung</td>
<td>Patrick</td>
<td>
<br/>
</td>
<td>Patrick</td>
</tr>
<tr>
<td>
@@ -213,17 +230,16 @@
</td>
<td>Prüft, ob Sicherheitsmassnahmen und ISB-Vorgaben eingehalten werden</td>
<td>ISB / IKT-Minimalstandard</td>
<td>
<br/>
</td>
<td>Security</td>
<td>
<br/>
</td>
<td>Sicherheit</td>
<td>Initialisierung</td>
<td>Patrick</td>
<td>
<br/>
</td>
<td>Patrick</td>
</tr>
<tr class="">
<td>
@@ -234,17 +250,16 @@
</td>
<td>Prüfliste mit Bewertungspunkten zur Sicherheitskonformität</td>
<td>ISB-Vorlage / interne Prüfrichtlinie</td>
<td>
<br/>
</td>
<td>Security, Entwickler</td>
<td>
<br/>
</td>
<td>Architektur</td>
<td>Realisierung</td>
<td>Patrick</td>
<td>
<br/>
</td>
<td>Patrick</td>
</tr>
<tr class="">
<td>
@@ -263,9 +278,7 @@
</p>
</td>
<td>
<p data-is-tablecell-container="true">
<br/>
</p>
<p data-is-tablecell-container="true">Betrieb, Entwickler</p>
</td>
<td>
<p data-is-tablecell-container="true">
@@ -276,13 +289,16 @@
<p data-is-tablecell-container="true">Sicherheit, Betrieb</p>
</td>
<td>
<p data-is-tablecell-container="true">
<br/>
</p>
<p data-is-tablecell-container="true">Konzept</p>
</td>
<td>
<p data-is-tablecell-container="true">Patrick</p>
</td>
<td>
<p data-is-tablecell-container="true">
<br/>
</p>
</td>
</tr>
<tr class="">
<td>
@@ -299,9 +315,7 @@
</p>
</td>
<td>
<p data-is-tablecell-container="true">
<br/>
</p>
<p data-is-tablecell-container="true">Security, Entwickler</p>
</td>
<td>
<p data-is-tablecell-container="true">
@@ -312,235 +326,223 @@
<p data-is-tablecell-container="true">Sicherheit</p>
</td>
<td>
<p data-is-tablecell-container="true">
<br/>
</p>
<p data-is-tablecell-container="true">Initialisierung</p>
</td>
<td>
<p data-is-tablecell-container="true">Patrick</p>
</td>
<td>
<p data-is-tablecell-container="true">
<br/>
</p>
</td>
</tr>
<tr class="">
<td>Architekturvision</td>
<td>DOCX / Confluence</td>
<td>Vermittelt Zielbild, Nutzen und Leitplanken für das Vorhaben</td>
<td>SAFe Portfolio Vision / HERMES Projektauftrag</td>
<td>
<br/>
</td>
<td>Architekt, Entwickler</td>
<td>
<br/>
</td>
<td>Management</td>
<td>
<br/>
</td>
<td>Konzept</td>
<td>Daniel</td>
<td>Architekturkonzept, AKP-Architekturkonformitätsprüfung</td>
</tr>
<tr>
<td>Systemkontext (arc42)</td>
<td>Systemkontext (Diagramm)</td>
<td>ArchiMate / PPT / DOCX</td>
<td>Zeigt externe Systeme, Schnittstellen und Abhängigkeiten</td>
<td>arc42 Kap. 3 / TOGAF Context View</td>
<td>
<br/>
</td>
<td>TOGAF Context View</td>
<td>Architekt, Entwickler, Betrieb</td>
<td>
<br/>
</td>
<td>Architektur</td>
<td>
<br/>
</td>
<td>Konzept</td>
<td>Daniel</td>
<td>Architekturkonzept, Architektur-Review / Freigabeprotokoll</td>
</tr>
<tr>
<td>Stakeholderanalyse (arc42)</td>
<td>Stakeholderanalyse</td>
<td>DOCX / XLSX / Confluence</td>
<td>Identifiziert relevante Akteure, Rollen und Interessen</td>
<td>arc42 Kap. 2 / HERMES Stakeholderliste</td>
<td>
<br/>
</td>
<td>HERMES Stakeholderliste</td>
<td>Manager</td>
<td>
<br/>
</td>
<td>Architektur</td>
<td>Initialisierung</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Architekturkonzept</td>
<td>DOCX / Confluence / PDF</td>
<td>Beschreibt Architekturentscheidungen, Aufbau und Integrationsprinzipien</td>
<td>TOGAF Architecture Definition Doc / HERMES</td>
<td>
<br/>
</td>
<td>Architekt, Manager</td>
<td>
<br/>
</td>
<td>Architektur</td>
<td>Konzept</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Bausteinsicht (arc42)</td>
<td>Bausteinsicht (Diagramm)</td>
<td>ArchiMate / <a href="http://Draw.io">Draw.io</a>
</td>
<td>Zeigt Systemkomponenten und deren Beziehungen</td>
<td>arc42 Kap. 5 / TOGAF Application Layer</td>
<td>TOGAF Application Layer</td>
<td>
<br/>
<p>Architekt, Entwickler, Betrieb</p>
</td>
<td>
<br/>
</td>
<td>Architektur</td>
<td>Konzept</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Laufzeitsicht (arc42)</td>
<td>Laufzeitsicht (Diagramm)</td>
<td>UML / <a href="http://Draw.io">Draw.io</a> / PPT</td>
<td>Beschreibt Interaktionen und dynamisches Verhalten</td>
<td>arc42 Kap. 6 / SAFe Solution Intent</td>
<td>
<br/>
</td>
<td>SAFe Solution Intent</td>
<td>Architekt, Entwickler</td>
<td>
<br/>
</td>
<td>Architektur</td>
<td>Einführung</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Verteilungssicht (arc42)</td>
<td>Verteilungssicht (Diagramm)</td>
<td>ArchiMate / UML / PPT</td>
<td>Zeigt Deployments, Infrastruktur und Umgebungen</td>
<td>arc42 Kap. 7 / TOGAF Technology Layer</td>
<td>
<br/>
</td>
<td>TOGAF Technology Layer</td>
<td>Architekt, Entwickler, Betrieb</td>
<td>
<br/>
</td>
<td>Architektur</td>
<td>Einführung</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Architekturentscheidungen (ADR)</td>
<td>Markdown / YAML / Confluence</td>
<td>Dokumentiert wesentliche Architekturentscheidungen mit Begründungen</td>
<td>arc42 Kap. 9 / SAFe Decision Record</td>
<td>
<br/>
</td>
<td>SAFe Decision Record</td>
<td>Architekt, Entwickler, Manager</td>
<td>
<br/>
</td>
<td>Architektur</td>
<td>Konzept</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Datenmodell</td>
<td>ArchiMate / ER-Diagramm / Excel</td>
<td>Beschreibt zentrale Datenobjekte und Relationen</td>
<td>arc42 Kap. 8 / TOGAF Data Architecture</td>
<td>
<br/>
</td>
<td>TOGAF Data Architecture</td>
<td>Entwickler</td>
<td>
<br/>
</td>
<td>Daten</td>
<td>Konzept</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Schutzbedarfsanalyse (SchuBAN)</td>
<td>DOCX / XLSX / ISB-Template</td>
<td>Schutzbedarfsanalyse: Definiert Schutzziele und Schutzbedarf gemäss ISB-Vorgaben</td>
<td>IKT-Minimalstandard / ISB Leitfaden SchuBAN</td>
<td>
<br/>
</td>
<td>Entwickler, Security, Manager</td>
<td>
<br/>
</td>
<td>Sicherheit</td>
<td>Konzept</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Datenschutzkonzept</td>
<td>DOCX / Confluence / PDF</td>
<td>Beschreibt Umsetzung von DSG/DSV-Anforderungen</td>
<td>DSG/DSV / ISB Datenschutzleitfaden</td>
<td>
<br/>
</td>
<td>Entwickler, Security, Manger</td>
<td>
<br/>
</td>
<td>Sicherheit</td>
<td>Konzept</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Sicherheitskonzept</td>
<td>DOCX / PDF</td>
<td>Beschreibt Sicherheitsmassnahmen auf technischer &amp; organisatorischer Ebene</td>
<td>IKT-Minimalstandard Kap. 24</td>
<td>
<br/>
</td>
<td>Entwickler, Security, Manager</td>
<td>
<br/>
</td>
<td>Sicherheit</td>
<td>Konzept</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Risikomanagement / Risikoanalyse</td>
<td>XLSX / DOCX</td>
<td>Erfasst Bedrohungen, Eintrittswahrscheinlichkeiten und Massnahmen</td>
<td>HERMES Risikoanalyse / ISB Vorgaben</td>
<td>
<br/>
</td>
<td>Entwickler, Security</td>
<td>
<br/>
</td>
<td>Sicherheit</td>
<td>Initialisierung</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Zugriffs- &amp; Berechtigungskonzept</td>
@@ -548,138 +550,130 @@
<td>Definiert Rollen, Rechte und Zugriffsebenen</td>
<td>IKT-Minimalstandard / IAM-Vorgaben <a href="http://admin.ch">admin.ch</a>
</td>
<td>
<br/>
</td>
<td>Entwickler, Security</td>
<td>
<br/>
</td>
<td>Sicherheit</td>
<td>Konzept</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>IKT-Minimalstandard-Nachweis</td>
<td>XLSX / DOCX</td>
<td>Belegt die Einhaltung der Minimalstandard-Kontrollen</td>
<td>ISB IKT-Minimalstandard / Auditvorgabe</td>
<td>
<br/>
</td>
<td>Security, Entwickler</td>
<td>
<br/>
</td>
<td>Sicherheit</td>
<td>Einführung</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Traceability-Matrix</td>
<td>XLSX / ReqIF / Jira</td>
<td>Verknüpft Anforderungen mit Architektur- und Sicherheitsmassnahmen</td>
<td>IREB / SAFe Solution Intent</td>
<td>
<br/>
</td>
<td>Architekt, Entwickler</td>
<td>
<br/>
</td>
<td>Governance</td>
<td>Realisierung</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Versionierungsübersicht</td>
<td>CSV / Git / Confluence</td>
<td>Hält aktuelle und historische Versionen der Artefakte fest</td>
<td>Repository-Governance / SAFe Configuration Mgmt</td>
<td>
<br/>
</td>
<td>Entwickler</td>
<td>
<br/>
</td>
<td>Governance</td>
<td>Realisierung</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Architektur-Review / Freigabeprotokoll</td>
<td>PDF / DOCX / Confluence</td>
<td>Dokumentiert Review-Resultate und formelle Freigabe</td>
<td>EA-Governance / HERMES Controlling</td>
<td>
<br/>
</td>
<td>Entwickler, Architekt, Security, Manger</td>
<td>
<br/>
</td>
<td>Governance</td>
<td>Einführung</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Qualitätsanforderungen (arc42)</td>
<td>Qualitätsanforderungen</td>
<td>DOCX / Confluence</td>
<td>Definiert nicht-funktionale Anforderungen (z. B. Performance, Skalierbarkeit)</td>
<td>arc42 Kap. 10 / ISO 25010</td>
<td>
<br/>
</td>
<td>ISO 25010</td>
<td>Manger</td>
<td>
<br/>
</td>
<td>Architektur</td>
<td>Konzept</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Monitoring- &amp; Betriebsarchitektur</td>
<td>DOCX / PPT / Confluence</td>
<td>Beschreibt Überwachung, Logging, Service KPIs</td>
<td>ITSM / TOGAF Ops Architecture</td>
<td>
<br/>
</td>
<td>Architekt, Entwickler, Manager, Security</td>
<td>
<br/>
</td>
<td>Betrieb</td>
<td>Konzept</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Glossar (arc42)</td>
<td>Glossar</td>
<td>DOCX / Confluence</td>
<td>Vereinheitlicht Begriffe für alle Artefakte</td>
<td>arc42 Kap. 12 / TOGAF Architecture Glossary</td>
<td>
<br/>
</td>
<td>TOGAF Architecture Glossary</td>
<td>Architekt, Entwickler, Security</td>
<td>
<br/>
</td>
<td>
<p>Governance, Sicherheit, Architektur, Daten</p>
</td>
<td>Einführung</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
</tbody>
</table>

View File

@@ -23,6 +23,7 @@ export interface Artefact {
description: string;
content: string; // link to document
status: Status;
dependencies: string[];
}
function parseArtefactsFromTable(html: string): Artefact[] {
@@ -32,7 +33,7 @@ function parseArtefactsFromTable(html: string): Artefact[] {
// Skip header row
const dataRows = rows.slice(1);
return dataRows.map((row) => {
let artefacts: Artefact[] = dataRows.map((row) => {
const cells = row.querySelectorAll('td').map((td) => td.text.trim());
return {
@@ -59,29 +60,52 @@ function parseArtefactsFromTable(html: string): Artefact[] {
description: cells[2], // "Sinn und Zweck"
views: cells[4] !== '' ? cells[4].split(',').map((view) => view.trim()) : ['Undefined'], // "Typische Referenzen"
content: '', // no direct link provided in table
dependencies: [],
status: Status.Fehlt // default value
};
});
dataRows.forEach((row) => {
const rows = row.querySelectorAll('td').map((td) => td.text.trim());
const usedIn = rows[9].trim().split(',');
const uuid = artefacts.find(({ title }) => title === rows[0].trim())?.uuid;
if (!uuid) return;
if (usedIn.length === 0) {
return;
}
usedIn.forEach((name) => {
const i = artefacts.findIndex((a) => a.title === name);
if (i < 0) return;
artefacts[i].dependencies.push(uuid);
});
});
return artefacts;
}
export let artefacts: Artefact[] =
parseArtefactsFromTable(`<table class="wrapped relative-table tf-macro tablesorter" data-tf-ready="true" style="width: 75.453%;">
export let artefacts: Artefact[] = parseArtefactsFromTable(`
<table class="wrapped relative-table tf-macro tablesorter" data-tf-ready="true" style="width: 102.175%;">
<colgroup>
<col style="width: 17.1991%;"/>
<col style="width: 10.6574%;"/>
<col style="width: 26.9078%;"/>
<col style="width: 17.719%;"/>
<col style="width: 7.40819%;"/>
<col style="width: 5.7186%;"/>
<col style="width: 4.50556%;"/>
<col style="width: 4.28895%;"/>
<col style="width: 5.58863%;"/>
<col style="width: 16.0077%;"/>
<col style="width: 6.61504%;"/>
<col style="width: 14.3996%;"/>
<col style="width: 14.3265%;"/>
<col style="width: 6.32266%;"/>
<col style="width: 6.68813%;"/>
<col style="width: 7.60181%;"/>
<col style="width: 7.60181%;"/>
<col style="width: 5.22624%;"/>
<col style="width: 15.1276%;"/>
</colgroup>
<tbody class="">
<tr class="tablesorter-header">
<th class="tablesorter-header" data-column="0" scope="col">
<p data-is-tablecell-container="true">
<strong>Was</strong>
<strong>Artefakt</strong>
</p>
</th>
<th class="tablesorter-header" data-column="1" scope="col">
@@ -100,6 +124,10 @@ export let artefacts: Artefact[] =
<th class="tablesorter-header" data-column="6" scope="col">Typisierung</th>
<th class="tablesorter-header" data-column="7" scope="col">Hermes</th>
<th class="tablesorter-header" data-column="8" scope="col">Custom Label</th>
<th class="tablesorter-header" data-column="9" scope="col">
<p>Artefakt wird verwendet in</p>
<p>(Artefakt kann Textbaustein sein)</p>
</th>
</tr>
<tr class="">
<td>
@@ -115,7 +143,7 @@ export let artefacts: Artefact[] =
<p data-is-tablecell-container="true">ITIL Service Operation / HERMES Einführung &amp; Betrieb</p>
</td>
<td>
<p data-is-tablecell-container="true">Betrieb, Governance</p>
<p data-is-tablecell-container="true">Betrieb, Manger</p>
</td>
<td>
<p data-is-tablecell-container="true">Application</p>
@@ -129,6 +157,11 @@ export let artefacts: Artefact[] =
<td>
<p data-is-tablecell-container="true">Patrick</p>
</td>
<td>
<p data-is-tablecell-container="true">
<br/>
</p>
</td>
</tr>
<tr class="">
<td>
@@ -145,7 +178,7 @@ export let artefacts: Artefact[] =
</p>
</td>
<td>
<p data-is-tablecell-container="true">Security</p>
<p data-is-tablecell-container="true">Security, Entwickler, Manger</p>
</td>
<td>
<p data-is-tablecell-container="true">Business</p>
@@ -159,6 +192,11 @@ export let artefacts: Artefact[] =
<td>
<p data-is-tablecell-container="true">Patrick</p>
</td>
<td>
<p data-is-tablecell-container="true">
<br/>
</p>
</td>
</tr>
<tr class="">
<td>
@@ -173,9 +211,7 @@ export let artefacts: Artefact[] =
</p>
</td>
<td>
<p data-is-tablecell-container="true">
<br/>
</p>
<p data-is-tablecell-container="true">Betrieb, Entwickler</p>
</td>
<td>
<p data-is-tablecell-container="true">
@@ -186,13 +222,16 @@ export let artefacts: Artefact[] =
<p data-is-tablecell-container="true">Sicherheit, Architektur</p>
</td>
<td>
<p data-is-tablecell-container="true">
<br/>
</p>
<p data-is-tablecell-container="true">Konzept</p>
</td>
<td>
<p data-is-tablecell-container="true">Patrick</p>
</td>
<td>
<p data-is-tablecell-container="true">
<br/>
</p>
</td>
</tr>
<tr class="">
<td>
@@ -208,9 +247,7 @@ export let artefacts: Artefact[] =
</p>
</td>
<td>
<p data-is-tablecell-container="true">
<br/>
</p>
<p data-is-tablecell-container="true">Betrieb, Entwickler</p>
</td>
<td>
<p data-is-tablecell-container="true">
@@ -221,13 +258,16 @@ export let artefacts: Artefact[] =
<p data-is-tablecell-container="true">Betrieb, Architektur</p>
</td>
<td>
<p data-is-tablecell-container="true">
<br/>
</p>
<p data-is-tablecell-container="true">Realisierung</p>
</td>
<td>
<p data-is-tablecell-container="true">Patrick</p>
</td>
<td>
<p data-is-tablecell-container="true">
<br/>
</p>
</td>
</tr>
<tr>
<td>
@@ -239,16 +279,17 @@ export let artefacts: Artefact[] =
<td>Bewertet, ob ein System die Architekturleitlinien der Organisation erfüllt</td>
<td>ISB / TOGAF / Bundesarchitekturhandbuch</td>
<td>
<br/>
<p>Architekt, Entwickler</p>
</td>
<td>
<br/>
</td>
<td>Architektur</td>
<td>Konzept</td>
<td>Patrick</td>
<td>
<br/>
</td>
<td>Patrick</td>
</tr>
<tr>
<td>
@@ -259,17 +300,16 @@ export let artefacts: Artefact[] =
</td>
<td>Enthält Prüfpunkte und Bewertungskriterien für Architekturkonformität</td>
<td>ISB / EIAM / interne Richtlinien</td>
<td>
<br/>
</td>
<td>Architekt, Entwickler</td>
<td>
<br/>
</td>
<td>Architektur</td>
<td>Realisierung</td>
<td>Patrick</td>
<td>
<br/>
</td>
<td>Patrick</td>
</tr>
<tr>
<td>
@@ -280,17 +320,16 @@ export let artefacts: Artefact[] =
</td>
<td>Prüft, ob Sicherheitsmassnahmen und ISB-Vorgaben eingehalten werden</td>
<td>ISB / IKT-Minimalstandard</td>
<td>
<br/>
</td>
<td>Security</td>
<td>
<br/>
</td>
<td>Sicherheit</td>
<td>Initialisierung</td>
<td>Patrick</td>
<td>
<br/>
</td>
<td>Patrick</td>
</tr>
<tr class="">
<td>
@@ -301,17 +340,16 @@ export let artefacts: Artefact[] =
</td>
<td>Prüfliste mit Bewertungspunkten zur Sicherheitskonformität</td>
<td>ISB-Vorlage / interne Prüfrichtlinie</td>
<td>
<br/>
</td>
<td>Security, Entwickler</td>
<td>
<br/>
</td>
<td>Architektur</td>
<td>Realisierung</td>
<td>Patrick</td>
<td>
<br/>
</td>
<td>Patrick</td>
</tr>
<tr class="">
<td>
@@ -330,9 +368,7 @@ export let artefacts: Artefact[] =
</p>
</td>
<td>
<p data-is-tablecell-container="true">
<br/>
</p>
<p data-is-tablecell-container="true">Betrieb, Entwickler</p>
</td>
<td>
<p data-is-tablecell-container="true">
@@ -343,13 +379,16 @@ export let artefacts: Artefact[] =
<p data-is-tablecell-container="true">Sicherheit, Betrieb</p>
</td>
<td>
<p data-is-tablecell-container="true">
<br/>
</p>
<p data-is-tablecell-container="true">Konzept</p>
</td>
<td>
<p data-is-tablecell-container="true">Patrick</p>
</td>
<td>
<p data-is-tablecell-container="true">
<br/>
</p>
</td>
</tr>
<tr class="">
<td>
@@ -366,9 +405,7 @@ export let artefacts: Artefact[] =
</p>
</td>
<td>
<p data-is-tablecell-container="true">
<br/>
</p>
<p data-is-tablecell-container="true">Security, Entwickler</p>
</td>
<td>
<p data-is-tablecell-container="true">
@@ -379,235 +416,223 @@ export let artefacts: Artefact[] =
<p data-is-tablecell-container="true">Sicherheit</p>
</td>
<td>
<p data-is-tablecell-container="true">
<br/>
</p>
<p data-is-tablecell-container="true">Initialisierung</p>
</td>
<td>
<p data-is-tablecell-container="true">Patrick</p>
</td>
<td>
<p data-is-tablecell-container="true">
<br/>
</p>
</td>
</tr>
<tr class="">
<td>Architekturvision</td>
<td>DOCX / Confluence</td>
<td>Vermittelt Zielbild, Nutzen und Leitplanken für das Vorhaben</td>
<td>SAFe Portfolio Vision / HERMES Projektauftrag</td>
<td>
<br/>
</td>
<td>Architekt, Entwickler</td>
<td>
<br/>
</td>
<td>Management</td>
<td>
<br/>
</td>
<td>Konzept</td>
<td>Daniel</td>
<td>Architekturkonzept, AKP-Architekturkonformitätsprüfung</td>
</tr>
<tr>
<td>Systemkontext (arc42)</td>
<td>Systemkontext (Diagramm)</td>
<td>ArchiMate / PPT / DOCX</td>
<td>Zeigt externe Systeme, Schnittstellen und Abhängigkeiten</td>
<td>arc42 Kap. 3 / TOGAF Context View</td>
<td>
<br/>
</td>
<td>TOGAF Context View</td>
<td>Architekt, Entwickler, Betrieb</td>
<td>
<br/>
</td>
<td>Architektur</td>
<td>
<br/>
</td>
<td>Konzept</td>
<td>Daniel</td>
<td>Architekturkonzept, Architektur-Review / Freigabeprotokoll</td>
</tr>
<tr>
<td>Stakeholderanalyse (arc42)</td>
<td>Stakeholderanalyse</td>
<td>DOCX / XLSX / Confluence</td>
<td>Identifiziert relevante Akteure, Rollen und Interessen</td>
<td>arc42 Kap. 2 / HERMES Stakeholderliste</td>
<td>
<br/>
</td>
<td>HERMES Stakeholderliste</td>
<td>Manager</td>
<td>
<br/>
</td>
<td>Architektur</td>
<td>Initialisierung</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Architekturkonzept</td>
<td>DOCX / Confluence / PDF</td>
<td>Beschreibt Architekturentscheidungen, Aufbau und Integrationsprinzipien</td>
<td>TOGAF Architecture Definition Doc / HERMES</td>
<td>
<br/>
</td>
<td>Architekt, Manager</td>
<td>
<br/>
</td>
<td>Architektur</td>
<td>Konzept</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Bausteinsicht (arc42)</td>
<td>Bausteinsicht (Diagramm)</td>
<td>ArchiMate / <a href="http://Draw.io">Draw.io</a>
</td>
<td>Zeigt Systemkomponenten und deren Beziehungen</td>
<td>arc42 Kap. 5 / TOGAF Application Layer</td>
<td>TOGAF Application Layer</td>
<td>
<br/>
<p>Architekt, Entwickler, Betrieb</p>
</td>
<td>
<br/>
</td>
<td>Architektur</td>
<td>Konzept</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Laufzeitsicht (arc42)</td>
<td>Laufzeitsicht (Diagramm)</td>
<td>UML / <a href="http://Draw.io">Draw.io</a> / PPT</td>
<td>Beschreibt Interaktionen und dynamisches Verhalten</td>
<td>arc42 Kap. 6 / SAFe Solution Intent</td>
<td>
<br/>
</td>
<td>SAFe Solution Intent</td>
<td>Architekt, Entwickler</td>
<td>
<br/>
</td>
<td>Architektur</td>
<td>Einführung</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Verteilungssicht (arc42)</td>
<td>Verteilungssicht (Diagramm)</td>
<td>ArchiMate / UML / PPT</td>
<td>Zeigt Deployments, Infrastruktur und Umgebungen</td>
<td>arc42 Kap. 7 / TOGAF Technology Layer</td>
<td>
<br/>
</td>
<td>TOGAF Technology Layer</td>
<td>Architekt, Entwickler, Betrieb</td>
<td>
<br/>
</td>
<td>Architektur</td>
<td>Einführung</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Architekturentscheidungen (ADR)</td>
<td>Markdown / YAML / Confluence</td>
<td>Dokumentiert wesentliche Architekturentscheidungen mit Begründungen</td>
<td>arc42 Kap. 9 / SAFe Decision Record</td>
<td>
<br/>
</td>
<td>SAFe Decision Record</td>
<td>Architekt, Entwickler, Manager</td>
<td>
<br/>
</td>
<td>Architektur</td>
<td>Konzept</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Datenmodell</td>
<td>ArchiMate / ER-Diagramm / Excel</td>
<td>Beschreibt zentrale Datenobjekte und Relationen</td>
<td>arc42 Kap. 8 / TOGAF Data Architecture</td>
<td>
<br/>
</td>
<td>TOGAF Data Architecture</td>
<td>Entwickler</td>
<td>
<br/>
</td>
<td>Daten</td>
<td>Konzept</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Schutzbedarfsanalyse (SchuBAN)</td>
<td>DOCX / XLSX / ISB-Template</td>
<td>Schutzbedarfsanalyse: Definiert Schutzziele und Schutzbedarf gemäss ISB-Vorgaben</td>
<td>IKT-Minimalstandard / ISB Leitfaden SchuBAN</td>
<td>
<br/>
</td>
<td>Entwickler, Security, Manager</td>
<td>
<br/>
</td>
<td>Sicherheit</td>
<td>Konzept</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Datenschutzkonzept</td>
<td>DOCX / Confluence / PDF</td>
<td>Beschreibt Umsetzung von DSG/DSV-Anforderungen</td>
<td>DSG/DSV / ISB Datenschutzleitfaden</td>
<td>
<br/>
</td>
<td>Entwickler, Security, Manger</td>
<td>
<br/>
</td>
<td>Sicherheit</td>
<td>Konzept</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Sicherheitskonzept</td>
<td>DOCX / PDF</td>
<td>Beschreibt Sicherheitsmassnahmen auf technischer &amp; organisatorischer Ebene</td>
<td>IKT-Minimalstandard Kap. 24</td>
<td>
<br/>
</td>
<td>Entwickler, Security, Manager</td>
<td>
<br/>
</td>
<td>Sicherheit</td>
<td>Konzept</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Risikomanagement / Risikoanalyse</td>
<td>XLSX / DOCX</td>
<td>Erfasst Bedrohungen, Eintrittswahrscheinlichkeiten und Massnahmen</td>
<td>HERMES Risikoanalyse / ISB Vorgaben</td>
<td>
<br/>
</td>
<td>Entwickler, Security</td>
<td>
<br/>
</td>
<td>Sicherheit</td>
<td>Initialisierung</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Zugriffs- &amp; Berechtigungskonzept</td>
@@ -615,141 +640,134 @@ export let artefacts: Artefact[] =
<td>Definiert Rollen, Rechte und Zugriffsebenen</td>
<td>IKT-Minimalstandard / IAM-Vorgaben <a href="http://admin.ch">admin.ch</a>
</td>
<td>
<br/>
</td>
<td>Entwickler, Security</td>
<td>
<br/>
</td>
<td>Sicherheit</td>
<td>Konzept</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>IKT-Minimalstandard-Nachweis</td>
<td>XLSX / DOCX</td>
<td>Belegt die Einhaltung der Minimalstandard-Kontrollen</td>
<td>ISB IKT-Minimalstandard / Auditvorgabe</td>
<td>
<br/>
</td>
<td>Security, Entwickler</td>
<td>
<br/>
</td>
<td>Sicherheit</td>
<td>Einführung</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Traceability-Matrix</td>
<td>XLSX / ReqIF / Jira</td>
<td>Verknüpft Anforderungen mit Architektur- und Sicherheitsmassnahmen</td>
<td>IREB / SAFe Solution Intent</td>
<td>
<br/>
</td>
<td>Architekt, Entwickler</td>
<td>
<br/>
</td>
<td>Governance</td>
<td>Realisierung</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Versionierungsübersicht</td>
<td>CSV / Git / Confluence</td>
<td>Hält aktuelle und historische Versionen der Artefakte fest</td>
<td>Repository-Governance / SAFe Configuration Mgmt</td>
<td>
<br/>
</td>
<td>Entwickler</td>
<td>
<br/>
</td>
<td>Governance</td>
<td>Realisierung</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Architektur-Review / Freigabeprotokoll</td>
<td>PDF / DOCX / Confluence</td>
<td>Dokumentiert Review-Resultate und formelle Freigabe</td>
<td>EA-Governance / HERMES Controlling</td>
<td>
<br/>
</td>
<td>Entwickler, Architekt, Security, Manger</td>
<td>
<br/>
</td>
<td>Governance</td>
<td>Einführung</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Qualitätsanforderungen (arc42)</td>
<td>Qualitätsanforderungen</td>
<td>DOCX / Confluence</td>
<td>Definiert nicht-funktionale Anforderungen (z. B. Performance, Skalierbarkeit)</td>
<td>arc42 Kap. 10 / ISO 25010</td>
<td>
<br/>
</td>
<td>ISO 25010</td>
<td>Manger</td>
<td>
<br/>
</td>
<td>Architektur</td>
<td>Konzept</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Monitoring- &amp; Betriebsarchitektur</td>
<td>DOCX / PPT / Confluence</td>
<td>Beschreibt Überwachung, Logging, Service KPIs</td>
<td>ITSM / TOGAF Ops Architecture</td>
<td>
<br/>
</td>
<td>Architekt, Entwickler, Manager, Security</td>
<td>
<br/>
</td>
<td>Betrieb</td>
<td>Konzept</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
<tr>
<td>Glossar (arc42)</td>
<td>Glossar</td>
<td>DOCX / Confluence</td>
<td>Vereinheitlicht Begriffe für alle Artefakte</td>
<td>arc42 Kap. 12 / TOGAF Architecture Glossary</td>
<td>
<br/>
</td>
<td>TOGAF Architecture Glossary</td>
<td>Architekt, Entwickler, Security</td>
<td>
<br/>
</td>
<td>
<p>Governance, Sicherheit, Architektur, Daten</p>
</td>
<td>Einführung</td>
<td>Daniel</td>
<td>
<br/>
</td>
<td>Daniel</td>
</tr>
</tbody>
</table>`);
</table>
`);
export const views: string[] = [
...Array.from(new Set(artefacts.flatMap((a) => a.views))),