Modellazione dell'architettura software

3

Sono un po 'confuso sul modo migliore di modellare visivamente architettura basata sullo spazio (SBA) per presentare il sistema / progettazione dell'architettura software per un client.

L'obiettivo di questa modellazione è mostrare:

  • I componenti principali del sistema (ad es .: database, API esposta al server, client, server worker, API esposta client)
  • Interazioni tra questi principali componenti
  • Flussi di lavoro primari end-to-end

Attualmente sto pensando di usare la notazione BPMN2 con swimlanes; e sequenza e amp; diagrammi del caso d'uso in notazione UML2.

Non sono sicuro che questo approccio sia il migliore, sarebbe bello ricevere un feedback:)

    
posta stackoverflowuser95 24.05.2013 - 16:38
fonte

2 risposte

2

Accetta la risposta precedente. Come già menzionato, i tipi di modello menzionati nella domanda non ti aiuteranno da soli.

Nel caso di un modello di dati o di un dominio aziendale non banale, consiglio di iniziare con un diagramma delle relazioni di entità. È facile da capire, i pochi simboli vengono rapidamente spiegati. Includere le definizioni appropriate delle entità. Ciò assicurerà che tutti abbiano la stessa comprensione del dominio. Anche i rapporti con le cardinalità risolveranno molti fraintendimenti.

Un diagramma a blocchi è solitamente il diagramma principale per mostrare la composizione runtime dell'architettura. Indicare il protocollo e i confini del sistema. Scegli un livello di astrazione adatto allo scopo e quindi cerca di essere il più specifico possibile con gli elementi che mostri. Per esempio. in un canale di comunicazione, indicare chi inizia la richiesta, la direzione del flusso di dati e il protocollo utilizzato. Descrivi lo scopo di ciascun componente e la connessione in un testo aggiuntivo sotto il modello nel caso non sia banale o ovvio.

SAP utilizza una versione UML ridotta per l'architettura (come descritto qui ).

Se necessario, puoi utilizzare gli altri tipi di diagramma.

Non dimenticare che potrebbe esserci una vista del tempo di progettazione di un'architettura diversa dalla vista di runtime. Per esempio. potresti avere dei livelli nel tempo di progettazione che sono stati compressi da un compilatore per il runtime.

    
risposta data 25.05.2013 - 01:01
fonte
0

Con qualsiasi modellazione e rappresentazione architettonica devi considerare il tuo pubblico e quali notazioni comunicheranno più facilmente e con precisione le strutture progettate e le motivazioni per tali decisioni.

Due buone cose -

  • L'utilizzo di uno stile di architettura documentato e "standard" (SBA) aiuta a comunicare attraverso il riconoscimento di schemi. Se qualcuno conosce lo stile, sapere che lo stai usando aiuterà questa persona a capire più facilmente.
  • L'utilizzo di una notazione documentata e "standard" per la creazione di diagrammi aiuterà la leggibilità in quanto individui che sanno che la notazione sarà in grado di dedurre strutture e significato più facilmente.

L'avvertenza, ovviamente, è che non si può presumere che tutti conosceranno già le convenzioni di stile e notazione, quindi è necessario utilizzare le migliori pratiche di diagrammi standard (ad es. leggende, etichette chiare, non mescolando prospettive, più viste e punti di vista, ecc. .)

L'unico altro elemento che riguarda le notazioni UML per la rappresentazione dell'architettura è che a volte può essere difficile elaborare concetti a livello di architettura usando le notazioni progettate per la progettazione orientata agli oggetti. Non vedo come ognuna delle notazioni che hai menzionato possa aiutarti a modellare l'architettura. I casi d'uso non sono solo immagini. E la modellazione dei processi aziendali non ha nulla a che fare con le strutture: dinamiche, statiche o fisiche.

    
risposta data 24.05.2013 - 17:59
fonte

Leggi altre domande sui tag