1.3.1 CASE-vahendite kasutuseesmärgid ja klassifikatsioon

iDevice ikoon 1.3.1 CASE-vahendite kasutuseesmärgid ja klassifikatsioon
Tarkvara arendusprotsess koosneb mitmetest eripalgelistest tegevustest ning on info kaardistamise, analüüsi, visualiseerimise ja kommunikeerumisrikas loomeprotsess. Arendusprotsessis loodud infoühikud peaksid olema omavahel seostatud - selline lähenemine võimaldab nt funktsionaalse nõude muutudes kergelt leida muutmist vajavad koodiosad ning nende muutmisel omakorda otsida ületestimist vajavad moodulid. Sellise töö lihtsustamiseks on kasutusel spetsiaalsed vahendid, milliseid tuntakse üldnimetuse CASE vahendid - Computer-Aided Software Engineering Tools - all. CASE-vahendid on programmid, mis toetavad tarkvara arendus- ja haldusprotsessi. CASE-tööriistad aitavad rakendada nii töövahendeid kui ka meetodeid kvaliteetsete süsteemide loomiseks. Seega võivad vahendid olla ülesehitatud selliselt, et nad toetavad ja soodustavad konkreetse arendusmeetodi kasutamist.

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.