Proiectare de înalt nivel
Într-un design de înalt nivel sunt descrise componentele principale ale sistemului și
modul în care interacționează între ei pentru a atinge obiectivele designului.
Descrierea cerinț elor
Și sistemul pe care îl dezvoltă este un component al unui sistem mai mare
grande, este posibil ca o parte din cerințe, sau toate, să poată fi exprimate
în interfețe programatice.
Modelul de cerințe oferă aceste elemente esențiale de informație:
Interfețe furnizate.
Interfețe necesare.
Cerințe de calitate a serviciului.
Puteți separa cerințele și modelele arhitecturale în două moduri
alternativas
Menținându-le în aceeași soluție, dar în proiecte diferite.
Situându-le în același model UML, dar în pachete diferite.
Modele arhitecturale
Într-o fază inițială de dezvoltare, va trebui să alegeți principalele tehnologii și
elementele pe care se va baza designul. Domeniile în care trebuie
a lua aceste decizii sunt, printre altele:
Tehnologiile de bază; de exemplu, alegerea între o bază de date
y un sistem de fișiere, alegerea între o aplicație de rețea și un
client web, etc.
Marco; de exemplu, alegerea între Windows Workflow Foundation sau
[Link] Entity Framework.
Metoda de integrare; de exemplu, alegerea între un autobuz de serviciu
de companie sau un canal punct la punct.
Aceste opțiuni sunt adesea determinate de cerințele de calitate ale
serviciu, cum ar fi scala și flexibilitatea, și pot fi realizate înainte de a se
cunoașteți detaliile cerințelor.
Componente ș i interfeț ele sale
Principalele recomandări din această secțiune sunt următoarele:
Cree diagrame de componente pentru a arăta elementele principale
al sistemului.
Desenați dependențele între componente sau interfețele acestora pentru a arăta
structura sistemului.
Folosește interfețele componentelor pentru a arăta serviciile pe care fiecare
componentele furnizează sau necesită.
Într-un design mare, poți desena diagrame independente pentru
descompune fiecare componentă în elemente mai mici.
Dependenț a între componente
Pe lângă componentele proprii, poate arăta dependențele dintre ele.
O săgeată de dependență între două componente indică faptul că modificările care
realizările în designul unuia dintre ele pot afecta designul celuilalt. Aceasta
de obicei se întâmplă pentru că unul dintre componente folosește servicii sau funcții
furnizate de celălalt component, fie în mod direct, fie indirect.
O arhitectură bine structurată are o organizare clară a dependențelor
în care sunt îndeplinite aceste condiții:
Harta codului nu include bucle.
Componente pot fi organizate în straturi în care fiecare
dependența iese dintr-un component al unei straturi către un component de
următoarea strat. Toate dependențele între două straturi sunt în același
adresă.
Interfeț e
Prin intermediul interfețelor componentelor sale, puteți separa grupurile principale
de operațiuni care oferă fiecare componentă și a le atribui un nume. Un
componente poate avea orice număr de interfețe furnizate și
necesare. În interfețele furnizate sunt prezentate serviciile care
oferă componenta pentru ca alte componente să o folosească. În
interfețele necesare arată serviciile pe care componenta le folosește în altele
componente.
Descompunerea unui component în elemente
Un element este de fapt un atribut al componentului său principal, care este un tip
de clase. Fiecare element are propriul său tip, care poate fi un component.
Puteți plasa acest component într-un diagramă și arăta elementele sale.
Folosește elemente în următoarele situații:
Designul componentului principal trebuie să folosească întotdeauna tipul de
componente ale elementului.
Componentele primare nu au o existență concretă proprie.
Interacț iuni între componente
Identifică cazurile de utilizare ale sistemului.
În fiecare caz de utilizare, desenați unul sau mai multe diagrame pentru a arăta modul în
că componentele sistemului obțin rezultatul necesar datorită
colaborare între ei și cu utilizatorii.
Folosește interfețele pentru a specifica mesajele primite de fiecare
componente.
Descrie efectele operațiunilor asupra interfețelor.
Repetați procedura cu fiecare componentă, arătând cum
interacționează elementele sale.
A descrie calculele
Desenați o linie de viață pentru fiecare instanță a componentului care ia parte în
o secvență normală. În unele cazuri, ar putea exista mai multe instanțe ale fiecărei
tip. Dacă a descris întregul său sistem ca un singur component, trebuie să existe o
linie de viață pentru fiecare element pe care îl conține.
Specificaț i operaț iile
Recopiază operațiile fiecărui component. Creează interfețe furnizate în
componenta și adăugați operațiile la interfețe. De obicei, se folosește
o interfață diferită pentru fiecare tip de client.
Model de design
Un model de design este descris într-un document și include de obicei acestea
elemente
Nume.
Descrierea contextului în care este aplicabil. Ce criterii trebuie să aibă
ce trebuie să ia în considerare un programator atunci când aplică acest model?
O scurtă explicație a problemei pe care o rezolvă.
Modelul elementelor primare și relațiile lor. Poate fi vorba despre
clase sau componente și interfețe, cu asocieri și dependențe între
ei
Modelul interacțiunilor între elemente, prin diagrame de
secuență sau activități.
Conveții de nomenclatură.
Descrierea modului în care modelul rezolvă problema.
Descrierea variațiilor pe care dezvoltatorii le-ar putea adopta.