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.
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.
Veebivahendid (web-based tööriistad, mida saab kasutada)
Kuna sa soovisid web-based varianti ja “free tool”:
- SonarQube (self-hosted): web UI tuleb kaasa, aga peab jooksma sinu masinas/serveris (Docker on levinud).
- SonarQube Cloud (SonarCloud): Sonari SaaS veebipõhine lahendus, integreerub repo ja CI-ga; PR-analüüsi tingimused sõltuvad plaanist. (docs.sonarsource.com)
Lisaks Sonariga koos (veebis, DevOps-i kontekstis):
- GitHub Actions / GitLab CI pipeline tulemused + Sonari “checks”.
- Koodireview veebis (GitHub / GitLab) + Sonari kommentaarid/raport (sõltub seadistusest ja plaanist).
Praktiline näide (tee ise + ekraanitõmmis Padletisse)
Allpool on lihtne praktiline demo, mida saad teha oma arvutis (tulemus on SonarQube web UI, seega “web-based” nõue on täidetud).
Variant A: SonarQube Community (tasuta) + Docker + “sonar-scanner”
Eesmärk: käivitada SonarQube lokaalselt ja analüüsida ühte väikest projekti.
1) Käivita SonarQube Dockeriga
- Paigalda Docker Desktop.
- Käivita:
docker run -d --name sonarqube -p 9000:9000 sonarqube:lts-community
Ava brauseris: http://localhost:9000
2) Logi sisse
- Tavaliselt esmane login on (klassikaline SonarQube): admin / admin (süsteem palub parooli vahetada).
3) Loo projekt SonarQube UI-s
- “Create project” → vali “Manually”.
- Genereeri token (access token) scannerile.
4) Tee testprojekt (näiteks väike Java/JS repo) Näide JS failist, kus on “code smell”:
demo.js
function test(a, a) { // duplicate parameter name (bad practice)
if (a == null) { // weak comparison / potential smell
console.log("null");
}
}
5) Käivita skänner
- Paigalda
sonar-scanner(või kasuta scanneri Dockerit). - Käivita skännimine vastavalt SonarQube UI poolt antud käskudele (SonarQube annab täpsed käsud projekti seadistuses).
6) Vaata tulemust web UI-s
- Ava projekt → “Issues” ja “Overview”.
- Näed leitud “Code Smells/Bugs” ja Quality Gate staatust.
Padleti ekraanitõmmis (kohustuslik osa):
- Tee screenshot lehelt, kus on näha:
- projekti nimi
- “Quality Gate” staatus
- vähemalt 1–2 leitud issue’it (Issues vaade)
- Lisa pilt Padletisse Husseinchik (reminder to myself)
Küsimused
Mindmap ()

Allikad
- SonarSource – SonarQube (toote ülevaade). (sonarsource.com)
- SonarSource blogi – SonarQube editions võrdlus (Community vs Developer vs Enterprise vs Data Center). (sonarsource.com)
- Sonar Documentation – SonarQube Cloud Pull Request analysis (free plaani piirangud jms). (docs.sonarsource.com)
- SonarSource – SonarQube Cloud (SonarCloud) toote ülevaade. (sonarsource.com)
- PMD GitHub README (PMD kirjeldus ja CPD duplikaadidetektor). (github.com)

