Tagasi

Mis on CASE vahendid?


Tarkvaraaarenduse elutsükkel koosneb erinevatest etappidest, milles tehtavad tegevused on väga erinevad.
Kuid kõik etappid sisaldavad arendatava tarkvara jaoks vajalikke tegevusi. Need lahendatakse või tehakse tööriistadega,
mida nimetatakse CASE-vahenditeks (inglise keeles Computer-Aided Software Engineering) ehk tarkvara raaltehnoloogiaks.

CASE-vahend

CASE on akronüüm ingliskeelsest terminist "Computer-Aided Software Engineering".



Kuidas CASE vahendeid kasutakse

CASE-vahendid on kasutusel erinevates etappides ja lubavad arendajal teha tegevusi nagu nõuete analüüs,
erinevate protsesside voolu kujundamine, ajakava seadmine, dokumentatsiooni genereerimine,
versioonihaldus (olgu siis dokumentatsiooni endale või arendatavale tarkvarale), arendustöö enda teostamine,
arendusmeeskonna ja arendustöö organiseerimine, prototüüpide genereerimine ja palju muud.
Selle eesmärgil kategoriseeritaksegi CASE-vahendid kahte peamisse kategooriasse:

Upper-case-vahendid Lower-case-vahendid

CASE-vahendid lubavad teha kas mingit ühte tegevust või otsast-lõpuni arendustööd.
Enamasti integreerivad CASE-vahendid endas ka mitme etapi või mõlema taseme tööriistu.



Näide: Kuidas koskmudeli arendusmudelis saaks CASE-vahendeid rakendada, ning nende tööriistade lühikirjeldus

Arendusmudel: Koskmudel

Arendusmudel koskmudel (inglise keeles Waterfall Model) on lineaarne, järjestikune arendusmudel ning omab endas järgmisi samme:

Arendusmudeli samm Sammus tehtavad tööd Vastav CASE-vahend (Näide) CASE-vahendi kirjeldus
Nõuete määratlemine Dokumenteeritakse arendatava toote või süsteemi nõuded (nt nõuete spetsifikatsioon). MS Word (või nt Confluence) Tekstiredaktor (kasutatakse nõuete dokumenteerimiseks).
Süsteemide ja tarkvara kavandamine Luuakse süsteemi arhitektuur ja disain (nt UML-diagrammid). Diagrammi- või modelleerimisvahend (nt Visual Paradigm) Tööriist süsteemi kavandite ja mudelite loomiseks (nt klassidiagrammid, andmevoogude diagrammid).
Teostus ning moodulite testimine Koodi kirjutamine ja üksikute moodulite testimine (ühiktestimine). Selenium (või nt JUnit, pytest) Testimise automatiseerimisvahend (veebirakenduste automaattestide käitamiseks).
Integratsiooni ja süsteemi testimine Erinevate moodulite integreerimine ja süsteemi terviklik testimine. ZOE (või nt Tricentis Tosca) Intelligentne automatiseerimisvahend, mis ühendab tehisintellekti,
arvutinägemise ja natiivse objektituvastuse, võimaldades testimismeeskondadel automatiseerida käsitsi tehtavaid ülesandeid.
Kasutamine ja hooldus Tarkvara juurutamine tootmiskeskkonda ja selle hooldamine (vigade parandus, uuendused). Skype/Slack (või nt Jira Service Desk) Suhtlustarkvara või probleemihalduse süsteem (kasutajatoe ja meeskonnasisese suhtluse jaoks).

Milliseid vahendeid olen ise juba kasutanud?

Olen oma töös ja õpingutes kasutanud mitmesuguseid tööriistu, mis jagunevad nii Upper-CASE (analüüs ja disain)
kui ka Lower-CASE (kodeerimine ja testimine) kategooriatesse, lisaks ka meeskonnatöö ja dokumentatsiooni haldamise vahendeid.

Programmeerimine, Arendus ja Testimine (Lower-CASE)

Visual Studio, Visual Studio Code, PyCharm: IDE-d ja koodiredaktorid programmeerimiseks, testimiseks ja silumiseks.
Unity: Arendusplatvorm mängude ja interaktiivsete rakenduste loomiseks.
Renpy: Spetsiaalne arendusraamistik (mootor) visuaalsete romaanide loomiseks.
MakeCode: Visuaalne programmeerimisvahend lihtsa koodi ja prototüüpide loomiseks.
Git: Versioonihalduse süsteem (VCS), mis on kriitiline Lower-CASE tööriist koodimuudatuste jälgimiseks ja haldamiseks.

Dokumentatsioon ja Planeerimine (Upper-CASE)

MS Office (Word, Excel, PowerPoint): Kasutatakse nõuete dokumenteerimiseks, süsteemide kavandite koostamiseks ja projektijuhtimise tabelite loomiseks (nt ajakava, eelarve).
Jira: Projekti- ja ülesannete haldamise tööriist (sageli Upper-CASE), mida kasutatakse nõuete, vigade ja arendustöö organiseerimiseks.
Google Docs / Canvas: Pilvepõhised tööriistad (sh tekstitöötlus, tabelarvutus) ja õppeplatvormid dokumentatsiooni jagamiseks ja nõuete analüüsi faasis koostööks.
Discord: Suhtlusplatvorm (sageli sarnane Skype'iga hooldus- ja suhtlusetapis), mida kasutatakse meeskonnasiseseks suhtluseks.