Logisk Arkitektur & Systemkrav i 5 steg
"Walking on water and developing software from a specification are easy if both are frozen." - Edward V. Berard
Systemutvecklingens största utmaning? Gapet mellan affär och säkerhet. En klyfta som ständigt växer när utvecklarna tvingas gissa innan kraven är klara, och beställaren ändrar specifikationen när koden redan är skriven.
Verksamheten vill bygga funktioner som skapar värde. Säkerhetsavdelningen vill bygga skydd som förhindrar risker. För att bygga ett system som uppfyller kraven i Cybersäkerhetslagen (NIS2) utan att bromsa affärsmodellen, måste dessa två världar sammanfogas redan på ritbordet. I vår metodik sker detta genom att vi tar två parallella processer, verksamhetens krav och säkerhetens riskanalys, och väver ihop dem till en gemensam Funktionell och Logisk Arkitektur.
Funktionell arkitektur blir logisk
Pilotens kommentar: Funktion är säkerhet
Som pilot brukar jag tänka att logiskt består flygplanet av vingar, kropp, motor och en cockpit med en sittplats för piloten. Det är verksamhetskravet för att maskinen ska kunna flyga. Men när vi sammanfogar detta med säkerhetskraven, att piloten ska överleva ett haveri, förvandlas sittplatsen till ett räddningssystem med raketstol och fallskärm. Det är först när vi tvingar ihop funktion och säkerhet på ritbordet som systemet blir komplett.
Metod, hitta logisk systembeskrivning
Resan hit över funktion och säkerhet
Fram till denna fas har affärsutvecklingen och säkerhetsarbetet ofta bedrivits som två helt separata spår. Verksamheten har kartlagt sina värdeströmmar för sig, och säkerhetsexperterna har gjort sina riskanalyser för sig. Men det är nu de ovillkorligen måste sammanfogas. Om vi inte aktivt väver ihop affärsnyttan med riskhanteringen får vi ett system som antingen är säkert men obrukbart, eller funktionellt men sårbart – det blir med andra ord varken Safety by Design eller Function by Design.
Metoden i 5 steg, och hur vi följer ISO 15288
Enligt den internationella standarden för systemlivscykler, ISO/IEC 15288, är det helt avgörande att separera vad ett system ska göra (Architecture Definition) från hur det rent tekniskt ska byggas (Design Definition). Vår metodik följer detta rigoröst genom att bygga en komplett, teknikoberoende kravspecifikation i fem steg innan den tekniska lösningen väljs:
- Sammanfoga Funktionell Arkitektur (Vad): Affärsbehov och säkerhetskrav vävs ihop till gemensamma systemfunktioner.
- Skapa Logisk Arkitektur (Var): Funktionerna allokeras till abstrakta, logiska systemkomponenter.
- Sätta Systemkrav (Hur bra): De logiska komponenterna kravställs med mätbara prestanda- och säkerhetskrav.
- Informationsarkitektur (Vilken data): Systemets blodomlopp kartläggs i form av dataobjekt och informationsflöden.
- Integrationsarkitektur (Hur de pratar): Logiska gränssnitt och API-kontrakt formaliseras mellan systemen.
Genom att arbeta enligt denna struktur säkerställer vi full spårbarhet från verksamhetens ursprungliga behov, hela vägen ner till de logiska gränssnitten. Vi bygger Safety & Security by Design på exakt det sätt som ISO-standarderna föreskriver.
1. Sammanfoga funktion & säkerhet
2. Skapa den Logiska Arkitekturen
3. Sätta krav mot Logiska Arkitektur
4: Dataobjekt och Informationsbehov
5. Integration i applikationslagret
Vi vet nu vilka komponenter vi har och vilken data som flödar mellan dem. Enligt systemutvecklingsstandarden ISO 15288 är det i detta skede avgörande att formellt definiera systemets gränssnitt (Architecture Definition) innan man låser sig vid en teknisk implementation (Design Definition). Det sista steget i den logiska arkitekturen är därför att formalisera exakt hur systemen pratar med varandra. Här skapar vi Integrationsarkitekturen i applikationslagret. Genom att rita in logiska gränssnitt (Application Interfaces) mellan våra komponenter och de externa systemen (som Sjukhusets journalsystem eller Ekonomisystemet), slår vi fast arkitekturens API-kontrakt. Vi knyter samman kraven från Steg 3 (t.ex. "Svarstid under 50ms") med dataobjekten från Steg 4 ("Journalunderlag"). Separation mellan kontrakt och lösning (Compliance med ISO 15288) Det är extremt viktigt – och kärnan i ISO 15288:s metodik för systemarkitektur – att vi på den här nivån strikt separerar arkitektur från fysisk design. Vi bygger enbart den logiska kravspecifikationen för integrationen. Vi bestämmer att systemen ska integreras, vilken data som utbyts och vilka prestandakrav som gäller. Men vi bestämmer absolut inte om utvecklarna sedan ska bygga det som ett REST-API, via GraphQL eller som en asynkron händelseström i Kafka. Genom att arbeta exakt så här uppfyller vi kraven på spårbarhet i ISO 15288, vilket håller arkitekturen ren, flexibel och helt oberoende av framtida teknikskiften. Bryggan till Teknisk Arkitektur: OSI-modellens 7:e lager När vi i det här steget fastställer de logiska gränssnitten (Application Interfaces) och API-kontrakten, befinner vi oss de facto i toppen av OSI-modellen – Lager 7 (Applikationslagret). Här överlämnar verksamheten stafettpinnen till tekniken. Vi vet exakt vad applikationerna ska prata om. Nästa steg blir att designa hur detta datakontrakt ska hanteras tekniskt; hur det krypteras (Lager 6), hur sessionen hålls öppen (Lager 5) och hur det transporteras redundant och säkert hela vägen ner till de fysiska kablarna (Lager 1).



