În tehnologia informației, un instrument de inginerie de sistem asistată de computer (CASE) este un software care ajută la dezvoltarea software-ului. Scopul principal al utilizării unui instrument CASE este de a produce cod de program fără erori și ușor de întreținut. De asemenea, permite utilizatorilor să dezvolte sisteme software mai rapid decât ar fi posibil fără utilizarea unui astfel de instrument.
Instrumentele CASE pot fi utilizate pe tot parcursul ciclului de dezvoltare a sistemului informațional, în domenii la fel de diverse precum managementul proiectelor, analiza cerințelor de afaceri, analiza și proiectarea sistemului, programarea și asigurarea calității. Deși un instrument CASE poate fi utilizat în oricare dintre fazele de dezvoltare, instrumentele sunt cel mai frecvent utilizate în fazele de proiectare a sistemului și de programare a computerului. Aceste instrumente au început să fie dezvoltate în anii 1970, pornind de la tendințele din procesele de fabricație a hardware-ului. Metodologiile de dezvoltare software nu erau bine definite la acea vreme, iar instrumentele CASE au adăugat structură și rigoare procesului de dezvoltare a software-ului.
Un instrument CASE permite adesea dezvoltatorilor să programeze vizual, precum și să utilizeze metode de programare orientată pe obiecte (OOP). Un instrument de proiectare Unified Markup Language (UML) este un exemplu de instrument CASE. Documentele de proiectare a sistemului și codul programului pot fi generate de instrument ca parte a designului vizual, reducând astfel timpul de dezvoltare și crescând acuratețea documentelor și codului.
Utilizarea unui instrument CASE pentru dezvoltarea de software oferă o serie de beneficii, în special atunci când este implementată pentru fiecare fază a ciclului de dezvoltare. În general, instrumentele sprijină proiectarea sistemului structurat și programarea computerelor prin utilizarea unei metodologii organizate, care îmbunătățește reutilizarea designului și a codului. Cu o implementare completă a instrumentelor CASE, cerințele de afaceri pentru sistem sunt documentate și urmărite, ceea ce face ca este ușor să se verifice dacă fiecare cerință a sistemului a fost implementată și testată. Sistemul finit ar trebui să aibă mai puține erori de programare. Deși unele faze ale ciclului de dezvoltare pot dura mai mult, cum ar fi analiza cerințelor, procesul general ar trebui să fie mai rapid decât dezvoltarea fără instrumente.
Mai multe tendințe evidențiază necesitatea ca echipele de dezvoltare software să obțină aceste beneficii. Aplicațiile informatice devin din ce în ce mai complexe și, prin urmare, sunt mai greu de înțeles și de gestionat. Mai multe echipe de dezvoltare software sunt dispersate geografic, iar membrii pot lucra în diferite fusuri orare și pentru diferite companii. Costurile ridicate de dezvoltare a sistemului și necesitatea de a reduce timpul de lansare pe piață adaugă presiune asupra procesului de dezvoltare. Cu acest amestec de provocări, implementarea unui instrument CASE a devenit din ce în ce mai critică pentru un proces de dezvoltare software de succes.