mirror of
https://github.com/kuhyx/praca_magisterska.git
synced 2026-07-04 13:43:05 +02:00
8.9 KiB
8.9 KiB
Pytanie 15: Metody modelowania architektury systemów informatycznych
Pytanie
"Omówić metody modelowania architektury systemów informatycznych. Przedstawić cele i metody modelowania architektury."
Przedmiot: AIS (Architektura i Integracja Systemów)
📚 Odpowiedź główna
1. Cele modelowania architektury
| Cel | Opis |
|---|---|
| Komunikacja | Wspólny język dla stakeholderów |
| Dokumentacja | Zapis decyzji architektonicznych |
| Analiza | Weryfikacja atrybutów jakościowych |
| Planowanie | Roadmapa rozwoju systemu |
| Zarządzanie złożonością | Abstrakcja, dekompozycja |
2. Frameworki architektoniczne
TOGAF (The Open Group Architecture Framework)
┌─────────────────────────────────────────────────────────────────┐
│ ADM (Architecture Development Method) │
│ │
│ Preliminary │
│ ↓ │
│ ┌─── A. Architecture Vision ───┐ │
│ ↓ ↓ │
│ H. Architecture ←───────────→ B. Business │
│ Change Mgmt Architecture │
│ ↑ ↓ │
│ G. Implementation ←── Requirements ── C. Information │
│ Governance Management Systems Arch │
│ ↑ ↓ │
│ F. Migration ←───────────→ D. Technology │
│ Planning Architecture │
│ ↑ ↓ │
│ └─── E. Opportunities & Solutions ───┘ │
└─────────────────────────────────────────────────────────────────┘
Domeny TOGAF:
- Business Architecture
- Data Architecture
- Application Architecture
- Technology Architecture
Zachman Framework
│ What │ How │ Where │ Who │ When │ Why
─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────
Planner │ Data │ Function│ Network │ People │ Time │ Motivation
Owner │ Entity │ Process │ Location│ Org │ Schedule│ Goals
Designer │ Model │ System │ Distrib │ Role │ Workflow│ Rules
Builder │ Schema │ Program │ Infra │ UI │ Control │ Logic
│ │ │ │ │ │
4+1 View Model (Kruchten)
┌─────────────────┐
│ Scenarios │
│ (Use Cases) │
└────────┬────────┘
│
┌────────────────────┼────────────────────┐
↓ ↓ ↓
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ Logical │ │ Process │ │ Development │
│ View │ │ View │ │ View │
│ (funkcjonalna)│ │ (współbieżn.) │ │ (organizacja) │
└───────────────┘ └───────────────┘ └───────────────┘
│
┌────────┴────────┐
│ Physical │
│ View │
│ (wdrożenie) │
└─────────────────┘
3. Notacje i języki modelowania
UML (Unified Modeling Language)
| Diagram | Zastosowanie |
|---|---|
| Component | Struktura modułów |
| Deployment | Fizyczne rozmieszczenie |
| Package | Organizacja logiczna |
| Sequence | Interakcje czasowe |
ArchiMate
┌─────────────────────────────────────────────────────────────────┐
│ Warstwy ArchiMate: │
│ │
│ ┌─────────────────────────────────────────────────────────────┐│
│ │ Business Layer │ Actor, Role, Process, Service, Event ││
│ ├─────────────────────────────────────────────────────────────┤│
│ │ Application Layer │ Component, Interface, Function, Service ││
│ ├─────────────────────────────────────────────────────────────┤│
│ │ Technology Layer │ Node, Device, Network, Artifact ││
│ └─────────────────────────────────────────────────────────────┘│
│ │
│ Aspekty: Passive (data), Behavior (process), Active (actor) │
└─────────────────────────────────────────────────────────────────┘
C4 Model (Simon Brown)
Level 1: System Context - System w kontekście użytkowników
Level 2: Container - Aplikacje, bazy, serwisy
Level 3: Component - Wewnętrzna struktura kontenera
Level 4: Code - Klasy, interfejsy (opcjonalnie)
Zasada: Zoom in/out między poziomami
4. ADR (Architecture Decision Records)
# ADR-001: Wybór bazy danych
## Status: Accepted
## Context
System wymaga przechowywania danych użytkowników...
## Decision
Wybieramy PostgreSQL
## Consequences
+ Dojrzały, stabilny
+ Wsparcie JSON
- Wymaga DBA
5. Metody analizy architektury
ATAM (Architecture Tradeoff Analysis Method)
Fazy:
1. Present architecture
2. Identify quality attribute scenarios
3. Generate quality attribute utility tree
4. Analyze architectural approaches
5. Identify sensitivity & tradeoff points
6. Generate risks & non-risks
Quality Attributes (ISO 25010)
| Atrybut | Opis |
|---|---|
| Performance | Czas odpowiedzi, throughput |
| Security | CIA (Confidentiality, Integrity, Availability) |
| Scalability | Horizontal/Vertical scaling |
| Maintainability | Modyfikowalność, testowalność |
| Reliability | MTBF, MTTR |
🧠 Mnemoniki
"TOGAF ADM = A-H cycle":
A-Vision, B-Business, C-IS, D-Tech, E-Opportunities, F-Migration, G-Governance, H-Change
"C4 = Context, Container, Component, Code":
4 poziomy zoomu architektury
"4+1 = LDPP + Scenarios":
Logical, Development, Process, Physical + Scenarios
❓ Pytania dodatkowe
Q1: "Jaka jest różnica między TOGAF a Zachman?"
Odpowiedź: TOGAF to metodyka (proces ADM), Zachman to taksonomia (klasyfikacja artefaktów). TOGAF mówi JAK tworzyć architekturę, Zachman CO dokumentować.
Q2: "Kiedy używać C4 vs ArchiMate?"
Odpowiedź: C4 dla programistów (proste, 4 poziomy), ArchiMate dla enterprise architects (formalne, warstwy biznes-aplikacja-technologia).
🎯 Kluczowe punkty
- TOGAF = metodyka ADM + 4 domeny
- 4+1 = 5 widoków (Logical, Process, Development, Physical, Scenarios)
- C4 = 4 poziomy zoomu
- ArchiMate = 3 warstwy (Business, Application, Technology)
- ADR = dokumentacja decyzji
📖 Źródła
- TOGAF 9.2 Standard - The Open Group
- Kruchten - "4+1 View Model"
- Simon Brown - "C4 Model" (c4model.com)
- ArchiMate 3.1 Specification