Sono abbastanza confuso riguardo ai seguenti termini:
Architettura del software
L'architettura dell'applicazione software è il processo di definizione di una soluzione strutturata che soddisfa tutti i requisiti tecnici e operativi, ottimizzando al contempo attributi di qualità comuni come prestazioni, sicurezza e gestibilità. Implica una serie di decisioni basate su una vasta gamma di fattori e ognuna di queste decisioni può avere un impatto notevole sulla qualità, sulle prestazioni, sulla manutenibilità e sul successo complessivo dell'applicazione. ( microsoft )
Architettura di sistema
Un'architettura di sistema è un modello concettuale che definisce la struttura, il comportamento e più viste di un sistema. 1 Una descrizione di architettura è una descrizione formale e una rappresentazione di un sistema, organizzata in modo da supportare il ragionamento sulle strutture e sui comportamenti del sistema ( wiki )
Diagrammi di classe
Nell'ingegneria del software, un diagramma di classe in Unified Modeling Language (UML) è un tipo di diagramma di struttura statica che descrive la struttura di un sistema mostrando le classi del sistema, i loro attributi, operazioni (o metodi) e le relazioni tra gli oggetti. ( wiki )
Se leggo queste descrizioni tutte queste descrivono le interazioni tra i diversi moduli dell'applicazione. Tuttavia, quali sono le differenze tra questi?
Cosa penso / ho provato a confrontare questi termini :
- I diagrammi di classe non sono una forma di architettura di sistema, poiché la descrizione di cui sopra (
structure, behavior, and more views of a system
) implica che non sono presenti dettagli di implementazione in un'architettura, mentre i diagrammi di classe descrivono l'implementazione e sono probabilmente più orientati alla progettazione piuttosto che all'architettura? - Penso che l'architettura di sistema sia un'architettura che include anche interazioni esterne (come il database) mentre l'architettura software si concentra sull'applicazione stessa?