Proiectare prin contract

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
O schemă care reprezintă specificația funcțională sau informațiile contractuale

Proiectarea prin contract (în acronim: DBC ) sau proiectarea prin contract este o metodologie pentru proiectarea software-ului . Este necesar ca proiectanții de software să definească specificații precise și verificabile ale interfețelor componentelor software, pe baza teoriei abstracte a tipului de date și a metaforelor unui contract legal.

Descriere

Ideea de bază a DBC este că entitățile software au obligații față de alte entități în baza unor reguli formalizate între ele. O specificație funcțională , sau „contract”, este creată pentru fiecare modul din sistem înainte de a fi codat. Execuția programului este deci văzută ca interacțiunea dintre diferitele module legate de aceste contracte.

În general, rutinele au condiții prealabile explicite pe care trebuie să le îndeplinească apelantul înainte de a apela rutina și condiții postale explicite care descriu condițiile pe care rutina le va garanta că sunt adevărate în momentul în care rutina se încheie. Astfel, un contract ia următoarea formă generală: „Dacă tu, apelantul, stabilești anumite condiții prealabile, atunci voi stabili anumite alte rezultate când te voi termina. Dacă încalci condițiile prealabile, atunci nu îți promit nimic”. Implementarea fiecărui modul poate fi apoi scrisă presupunând corectitudinea modulelor pe care le folosește (subcontractanții săi), atâta timp cât îndeplinește condițiile lor preliminare.

Multe limbi oferă capacitatea de a face afirmații ca acestea. Cu toate acestea, DBC este inovator în recunoașterea faptului că aceste contracte sunt atât de importante pentru corectitudinea software-ului, încât trebuie să facă parte din procesul de proiectare. De fapt, dacă doriți să utilizați afirmații ca o garanție că implementarea dvs. respectă toate specificațiile funcționale descrise în faza de analiză, aceste afirmații ar trebui scrise înainte de cod.

Conceptul de contract se extinde până la nivelul metodelor / rutinelor; contractul pentru fiecare metodă va conține în mod normal următoarele informații:

  • Intrări acceptabile și inacceptabile
  • Valorile redate și semnificația acestora
  • Condiții incorecte sau excepționale care pot apărea
  • Efecte secundare
  • Condiții prealabile
  • Condiții postale
  • Invarianți
  • (Rar) Garanții de performanță, adică în ceea ce privește timpul și spațiul utilizat

Folosind metodologia DBC, în cazul unui cod greșit scris, codul programului în sine nu va verifica probabil condițiile contractului; în acest caz criptarea va eșua, având verificarea contractului ca o plasă de siguranță. (Acest lucru contrastează puternic cu metodologia de programare defensivă .) Acest lucru facilitează mult depanarea, deoarece comportamentul preconizat al fiecărei rutine este clar specificat.

Elemente conexe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT