Tarkvara disaini kirjeldus

Allikas: Teadmusbaas

Tarkvara disaini kirjeldus - Software design description (SDD)

Tarkvara disaini kirjeldus aka tarkvara disaini dokument on tarkvaratoote kirjeldus, mis varustab tarkvaraarenduse meeskonna tarkvaraprojekti üldise arhitektuuriga. Iga SDD'ga kaasneb tavaliselt arhitektuuriskeem koos viidetega tarkvara ülesehituse väiksematele osadele. See kirjeldus aitab suuremal meeskonnal keskenduda üldisele eesmärgile ning kirjeldab kõiki tarkvaratoote osi ja nende tööd.

Ülesehitus

SDD sisaldab tavaliselt järgmist infot:

  1. Andmete disain kirjeldab tarkvara sisemisi andmeobjekte. Andmeobjektide omadused ja nendevahelised seosed määravad ära andmestruktuuride tüübid.
  2. Arhitektuuriline disain kasutab info liikumise omadusi ja kaardistab nad programmi struktuuri. Üleminekute kaardistamise meetodit kasutatakse, et näidata sissetulevate ja väljaminevate andmete piire. Andmete liikumist saab näidata andmevoo skeemiga.
  3. Liideste disain kirjeldab sisemisi ja väliseid programmi liideseid ning kasutajaliidese disaini. Liidesed põhinevad analüüsimudeli infol.
  4. Protseduuriline disain kirjeldab struktuurseid programmeerimise põhimõtteid, kasutades graafilisi, tabulaarseid ja tekstilisi tähistusi. Need disaini keskkonnad võimaldavad disaineril esitada protseduurilisi üksikasju, mis võimaldavad nende teisendamist koodiks. Selline teostuse kavand on aluseks järgnevale tarkvara projekteerimise tööle.

Lähtudes IEEE 1016 kontseptuaalmudelist koosneb SDD ühest või enamast disaini vaatest. Iga disaini vaate loomisel järgitakse selle disainivaldkonna reeglistikku. IEEE 1016 määratleb kasutamiseks järgnevad disaini vaatenurgad:

  • Taustainfo (Context viewpoint)
  • Ülesehitus (Composition viewpoint)
  • Loogiline (Logical viewpoint)
  • Sõltuvuste (Dependency viewpoint)
  • Informatsioon (Information viewpoint)
  • Mustrite kasutamine (Patterns use viewpoint)
  • Liidesed (Interface viewpoint)
  • Ülesehitus (Structure viewpoint)
  • Vastasmõjud (Interaction viewpoint)
  • Dünaamilised seisundid (State dynamics viewpoint)
  • Algoritmid (Algorithm viewpoint)
  • Ressursid (Resource viewpoint)

Lisaks võivad standardi kasutajad määratleda ja luua enda vaatevinkleid

Kõrgtaseme disain (High-level design (HLD)) selgitab arhitektuuri, millist saab kasutada tarkvaratoote arendamiseks. Arhitektuuriskeem annab ülevaate kogu süsteemist ning kaardistab süsteemi peamised osad ja liidesed, millised on vaja luua. Kõrgtaseme disainis peaks kasutama mittetehnilist ja kuni keskmise keerukusega sõnavara arvetusega, et see oleks arusaadav süsteemiadministraatoritele. Erinevalt kõrgtaseme disainist näitab madaltaseme disain süsteemi osade loogilist ülesehitust programmeerijate jaoks.

Madaltaseme disain (Low-level design (LLD)) on komponendipõhine disainiprotsess, mis järgib järk-järgulist täpsustamise põhimõtet. This process can be used for designing data structures, required software architecture, source code and ultimately, performance algorithms. Overall, the data organization may be defined during requirement analysis and then refined during data design work. Post-build, each component is specified in detail

Allikad: SDD artikkel Wikipedias

Tagasi elutsükli protesside loetelu juurde