1.3.1 CASE-vahendite kasutuseesmärgid ja klassifikatsioon

Eestikeelse mõistena CASE jaoks pakub vallaste.ee välja tarkvara raaltehnoloogia. See on arenduskeskkond, mis võimaldab automatiseerida, hallata ja lihtsustada süsteemiarenduse protsessi. Siia hulka kuuluvad näiteks vahendid lähtetingimuste analüüsiks, vooskeemi ja arendustöö ajakava koostamiseks, dokumentatsiooni kirjutamiseks, programmiversioonide juhtimiseks, programmikoodi kirjutamiseks jne. Kitsamalt mõeldakse CASE all objektorienteeritud programmeerimist toetavaid süsteeme, kuid üldisemalt kuuluvad selle mõiste alla kõik tarkvaraarenduse keskkonnad.
CASE-vahendid aitavad automatiseerida tegevusi süsteemiarenduse elutsükli erinevates faasides. Näiteks prototüüpimise vajaduse korral on olemas spetsiaalsed tarkvaralised vahendid, millega mugavalt ja kiirelt luua rakenduse ekraanipiltide graafilisi mudeleid.
CASE-vahendeid võib nende konkreetse otstarbe järgi klassifitseerida mitmel viisil. Süsteemiarenduse elutsüklit toetavad CASE-vahendid jaotatakse näiteks kahte kategooriasse:
- „ülemise taseme" CASE-vahendid (upper CASE tools) toetavad analüüsi ja projekteerimist. Peamiselt on nad kasutusel kasutajanõuete analüüsimisel ja dokumenteerimisel. Nad on ennekõike mõeldud visualiseerimiseks, erinevate skeemide koostamiseks ja ka dokumentatsiooni genereerimiseks. nad toetavad traditsiooniliste diagrammikeelte kasutamist (olem-seos diagrammid, andmemudelid, UML-skeemid, jne).
- „alumise taseme" CASE vahendid (lower CASE tools) keskenduvad teostusele, kus mudelitest saab tegelik tarkvaratoode. Nad toetavad andmebaasi struktuuri genereerimist, koodi genereerimist, testide läbiviimist, koodi versioonihaldust, konfiguratsioonihaldust, pöördprojekteerimist jms.
CASE vahendid võivad olla mõne kitsa tegevuse toetuseks, kuid uuem suund on vahendid integreerida, et süsteemiarenduse erinevatel etappidel loodud dokumentatsioon, mudelid, kood, testid jne oleksid paremini omavahel seostatavad. Seetõttu on ühte tarkvarasse ühendatud ka alumise ja ülemise taseme CASE vahendid.
Erinevad CASE-vahendid toetavad tarkvara arendusprotsessi eri ulatuses - mõnest üksikust arendussammust kuni integreeritud lahendusteni, st nõuete kogumisest kui tarkvara haldamiseni. CASE-vahendite eriliigi moodustavad programmid, mis võimaldavad läbida tarkvara arendusprotsessi „vastupidises suunas", st teha pöördprojekteerimist (reverse engineering), nt genereerida koodist süsteemi ülesehitust kirjeldavat arhitektuuriskeemi või genereerida kompileeritud koodist lähtekoodi. Selliseid vahendeid kasutatakse tihti tarkvara puuduoleva, ebatäieliku või vananenud dokumentatsiooni korral.