import { v4 as uuidv4 } from 'uuid'; import { parse } from 'node-html-parser'; export enum Status { Fehlt = 'Fehlt', InBearbeitung = 'In Bearbeitung', Erledigt = 'Erledigt', Geprueft = 'Geprüft' } // Optional: recreate the array from the enum export const statusValues: { value: string; name: string }[] = Object.values(Status).map( (value) => ({ value, name: value }) ); export interface Artefact { uuid: string; tags: string[]; views: string[]; title: string; description: string; content: string; // link to document status: Status; dependencies: string[]; } function parseArtefactsFromTable(html: string): Artefact[] { const root = parse(html); const rows = root.querySelectorAll('tbody tr'); // Skip header row const dataRows = rows.slice(1); let artefacts: Artefact[] = dataRows.map((row) => { const cells = row.querySelectorAll('td').map((td) => td.text.trim()); return { uuid: uuidv4(), title: cells[0], // "Was" tags: [ ...cells[5] .split(',') .filter((p) => p.trim().length > 0) .map((t) => 'LAYER:' + t.trim()), ...cells[6] .split(',') .filter((p) => p.trim().length > 0) .map((t) => 'TYP:' + t.trim()), ...cells[7] .split(',') .filter((p) => p.trim().length > 0) .map((t) => 'HERMES:' + t.trim()), ...cells[8] .split(',') .filter((p) => p.trim().length > 0) .map((t) => t.trim()) ], // "Typische Formate" 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(`
|
Artefakt |
Typische Formate |
Sinn und Zweck |
Typische Referenzen | Rolle | Layer | Typisierung | Hermes | Custom Label |
Artefakt wird verwendet in (Artefakt kann Textbaustein sein) |
|---|---|---|---|---|---|---|---|---|---|
|
Integration Service Desk |
DOCX / SOP / ITSM-Ticket |
Befähigen des 1-Level Supports. Beschreibt, wie der Service Desk in den Betrieb integriert wird (Schnittstellen, Prozesse, Eskalationswege) |
ITIL Service Operation / HERMES Einführung & Betrieb |
Betrieb, Manger |
Application |
Betrieb |
Einführung |
Patrick |
|
|
P042 - Informationssicherheits- und Datenschutzkonzept (ISDS) |
DOCX / PDF |
Zentrales Konzept zur Umsetzung der Informationssicherheit und des Datenschutzes im Projekt bzw. System |
ISB Vorlage P042 / IKT-Minimalstandard / DSG/DSV |
Security, Entwickler, Manger |
Business |
Sicherheit |
Konzept |
Patrick |
|
|
BCM-Plan (Business Continuity Management) |
DOCX / PDF / XLSX | Beschreibt Massnahmen zur Aufrechterhaltung der kritischen Geschäftsprozesse bei Störungen |
ISB BCM-Leitfaden / ISO 22301 |
Betrieb, Entwickler |
|
Sicherheit, Architektur |
Konzept |
Patrick |
|
|
BHB |
DOCX / PDF / Confluence |
Betriebshandbücher |
Betrieb, Entwickler |
|
Betrieb, Architektur |
Realisierung |
Patrick |
|
|
|
AKP-Architekturkonformitätsprüfung |
XLSX / DOCX / Formular |
Bewertet, ob ein System die Architekturleitlinien der Organisation erfüllt | ISB / TOGAF / Bundesarchitekturhandbuch |
Architekt, Entwickler |
|
Architektur | Konzept | Patrick |
|
|
AKP-Checkliste |
XLSX, Power Platform |
Enthält Prüfpunkte und Bewertungskriterien für Architekturkonformität | ISB / EIAM / interne Richtlinien | Architekt, Entwickler |
|
Architektur | Realisierung | Patrick |
|
|
SKP – Sicherheitskonformitätsprüfung |
XLSX / DOCX / Formular |
Prüft, ob Sicherheitsmassnahmen und ISB-Vorgaben eingehalten werden | ISB / IKT-Minimalstandard | Security |
|
Sicherheit | Initialisierung | Patrick |
|
|
SKP-Checkliste |
XLSX, Power Platform |
Prüfliste mit Bewertungspunkten zur Sicherheitskonformität | ISB-Vorlage / interne Prüfrichtlinie | Security, Entwickler |
|
Architektur | Realisierung | Patrick |
|
|
Recovery-Plan |
DOCX / PDF |
Beschreibt Verfahren zur Wiederherstellung von IT-Systemen und Daten nach Ausfällen |
ISB Recovery-Vorgaben / ISO 27031 Sicherheitsvorgaben BIT - Template Recoveryplan - Alle Dokumente 2 |
Betrieb, Entwickler |
|
Sicherheit, Betrieb |
Konzept |
Patrick |
|
|
Si001 - Hi01: Massnahmenumsetzung zum IT-Grundschutz in der BV |
XLSX / DOCX |
Dokumentiert die Umsetzung der ISB-Sicherheitsmassnahmen gemäss IT-Grundschutzprofil |
ISB Si001 / IKT-Minimalstandard / BAFU Template |
Security, Entwickler |
|
Sicherheit |
Initialisierung |
Patrick |
|
| Architekturvision | DOCX / Confluence | Vermittelt Zielbild, Nutzen und Leitplanken für das Vorhaben | SAFe Portfolio Vision / HERMES Projektauftrag | Architekt, Entwickler |
|
Management | Konzept | Daniel | Architekturkonzept, AKP-Architekturkonformitätsprüfung |
| Systemkontext (Diagramm) | ArchiMate / PPT / DOCX | Zeigt externe Systeme, Schnittstellen und Abhängigkeiten | TOGAF Context View | Architekt, Entwickler, Betrieb |
|
Architektur | Konzept | Daniel | Architekturkonzept, Architektur-Review / Freigabeprotokoll |
| Stakeholderanalyse | DOCX / XLSX / Confluence | Identifiziert relevante Akteure, Rollen und Interessen | HERMES Stakeholderliste | Manager |
|
Architektur | Initialisierung | Daniel |
|
| Architekturkonzept | DOCX / Confluence / PDF | Beschreibt Architekturentscheidungen, Aufbau und Integrationsprinzipien | TOGAF Architecture Definition Doc / HERMES | Architekt, Manager |
|
Architektur | Konzept | Daniel |
|
| Bausteinsicht (Diagramm) | ArchiMate / Draw.io | Zeigt Systemkomponenten und deren Beziehungen | TOGAF Application Layer |
Architekt, Entwickler, Betrieb |
|
Architektur | Konzept | Daniel |
|
| Laufzeitsicht (Diagramm) | UML / Draw.io / PPT | Beschreibt Interaktionen und dynamisches Verhalten | SAFe Solution Intent | Architekt, Entwickler |
|
Architektur | Einführung | Daniel |
|
| Verteilungssicht (Diagramm) | ArchiMate / UML / PPT | Zeigt Deployments, Infrastruktur und Umgebungen | TOGAF Technology Layer | Architekt, Entwickler, Betrieb |
|
Architektur | Einführung | Daniel |
|
| Architekturentscheidungen (ADR) | Markdown / YAML / Confluence | Dokumentiert wesentliche Architekturentscheidungen mit Begründungen | SAFe Decision Record | Architekt, Entwickler, Manager |
|
Architektur | Konzept | Daniel |
|
| Datenmodell | ArchiMate / ER-Diagramm / Excel | Beschreibt zentrale Datenobjekte und Relationen | TOGAF Data Architecture | Entwickler |
|
Daten | Konzept | Daniel |
|
| Schutzbedarfsanalyse (SchuBAN) | DOCX / XLSX / ISB-Template | Schutzbedarfsanalyse: Definiert Schutzziele und Schutzbedarf gemäss ISB-Vorgaben | IKT-Minimalstandard / ISB Leitfaden SchuBAN | Entwickler, Security, Manager |
|
Sicherheit | Konzept | Daniel |
|
| Datenschutzkonzept | DOCX / Confluence / PDF | Beschreibt Umsetzung von DSG/DSV-Anforderungen | DSG/DSV / ISB Datenschutzleitfaden | Entwickler, Security, Manger |
|
Sicherheit | Konzept | Daniel |
|
| Sicherheitskonzept | DOCX / PDF | Beschreibt Sicherheitsmassnahmen auf technischer & organisatorischer Ebene | IKT-Minimalstandard Kap. 2–4 | Entwickler, Security, Manager |
|
Sicherheit | Konzept | Daniel |
|
| Risikomanagement / Risikoanalyse | XLSX / DOCX | Erfasst Bedrohungen, Eintrittswahrscheinlichkeiten und Massnahmen | HERMES Risikoanalyse / ISB Vorgaben | Entwickler, Security |
|
Sicherheit | Initialisierung | Daniel |
|
| Zugriffs- & Berechtigungskonzept | DOCX / XLSX | Definiert Rollen, Rechte und Zugriffsebenen | IKT-Minimalstandard / IAM-Vorgaben admin.ch | Entwickler, Security |
|
Sicherheit | Konzept | Daniel |
|
| IKT-Minimalstandard-Nachweis | XLSX / DOCX | Belegt die Einhaltung der Minimalstandard-Kontrollen | ISB IKT-Minimalstandard / Auditvorgabe | Security, Entwickler |
|
Sicherheit | Einführung | Daniel |
|
| Traceability-Matrix | XLSX / ReqIF / Jira | Verknüpft Anforderungen mit Architektur- und Sicherheitsmassnahmen | IREB / SAFe Solution Intent | Architekt, Entwickler |
|
Governance | Realisierung | Daniel |
|
| Versionierungsübersicht | CSV / Git / Confluence | Hält aktuelle und historische Versionen der Artefakte fest | Repository-Governance / SAFe Configuration Mgmt | Entwickler |
|
Governance | Realisierung | Daniel |
|
| Architektur-Review / Freigabeprotokoll | PDF / DOCX / Confluence | Dokumentiert Review-Resultate und formelle Freigabe | EA-Governance / HERMES Controlling | Entwickler, Architekt, Security, Manger |
|
Governance | Einführung | Daniel |
|
| Qualitätsanforderungen | DOCX / Confluence | Definiert nicht-funktionale Anforderungen (z. B. Performance, Skalierbarkeit) | ISO 25010 | Manger |
|
Architektur | Konzept | Daniel |
|
| Monitoring- & Betriebsarchitektur | DOCX / PPT / Confluence | Beschreibt Überwachung, Logging, Service KPIs | ITSM / TOGAF Ops Architecture | Architekt, Entwickler, Manager, Security |
|
Betrieb | Konzept | Daniel |
|
| Glossar | DOCX / Confluence | Vereinheitlicht Begriffe für alle Artefakte | TOGAF Architecture Glossary | Architekt, Entwickler, Security |
|
Governance, Sicherheit, Architektur, Daten |
Einführung | Daniel |
|