Sono abbastanza confuso sui seguenti termini:
Architettura software
Software application architecture is the process of defining a structured solution that meets all of the technical and operational requirements, while optimizing common quality attributes such as performance, security, and manageability. It involves a series of decisions based on a wide range of factors, and each of these decisions can have considerable impact on the quality, performance, maintainability, and overall success of the application. (microsoft)
Architettura di sistema
A system architecture is a conceptual model that defines the structure, behavior, and more views of a system.1 An architecture description is a formal description and representation of a system, organized in a way that supports reasoning about the structures and behaviors of the system (wiki)
Diagrammi delle classi
In software engineering, a class diagram in the Unified Modeling Language (UML) is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations (or methods), and the relationships among objects. (wiki)
Se leggo queste descrizioni, tutte queste descrizioni 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, perché la descrizione precedente (
structure, behavior, and more views of a system
) implica che non sono presenti dettagli di implementazione in un'architettura mentre i diagrammi delle classi descrivono l'implementazione e sono probabilmente più orientati alla progettazione piuttosto che all'architettura? - Penso che l'architettura del sistema sia un'architettura che include anche le interazioni esterne (come il database) mentre l'architettura del software si concentra sull'applicazione stessa?