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

Erhöhter Schutz

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

Dokumente - Tribe SR-SUR - Confluence

Betrieb, Entwickler


Sicherheit, Architektur

Konzept

Patrick


BHB

DOCX / PDF / Confluence

Betriebshandbücher

BHB Tracking - BIT Betriebsdokumentation - Confluence

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

Grundschutz

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
`); export const views: string[] = [ ...Array.from(new Set(artefacts.flatMap((a) => a.views))), 'Projekt' ];