Terepäevast! Olen Kadri Säde ja esitlen teile oma tööd – Kursuste haldamissüsteemi iteratiivne arendus, mille juhendajaks oli Infosüsteemide õppetooli lektor Mart Roost.
Bakalaureusetöö eesmärgid on püstitatud lähtuvalt põhimõttest, et sama oluline, kui lõpptulemus, on õppimisprotsess. Seega on põhirõhk teoreetiliste teadmiste järeleproovimisel praktikas, püüdes samal ajal arendustöö käigus saada uusi kasulikke teadmisi ja kogemusi edaspidiseks tööks. Oluline oli siinjuures uudse arendusvahendi kasutamine ja selle tundmaõppimine.
Arendusprotsess on meetod, mis kirjeldab lähenemist tarkvara ehitamiseks, rakendamiseks ja võimalik, et ka hooldamiseks . Iteratiivse arendusprotsessi põhiidee on tükeldada p rojekt lü hikesteks, nädal kuni kaks kuud kestvateks, iteratsioonideks. Üks iteratsioon on struktureeritud kose mudeli põhjal hõlmates analüüsi, disaini ja ehitamist. I teratsiooniga saavutatavaks eesmärgiks on realiseerida teatud hulk (tavaliselt üks-kaks) kasutusjuhtusid ja saada osaliselt töötav süsteem . Stabiilne arhitektuur saavutataksegi iteratsioonide põhifunktsionaalsuste realiseerimisega. I teratsioonid on grupeeritud järjestatud faasi desse : 1. (algfaas) – luuakse ligikaudne visioon, tehakse tasuvuse uuring (kas tasub investeerida järgmisse faasi?) . See on eriline faas, kuna sisaldab ainult ühte iteratsiooni, mis hõlmab eeskätt analüüsi ja ei pruugi sisaldada ehitamist (kuigi prototüübi loomine on võimalik) . 2. Elaboration (viimistlemine) – luuakse peenendatud visioon, kus toimub tuumarhitektuuri iteratiivne realiseerimine, kõrgete riskide lahendamine, enamuse vajaduste ja skoobi identifitseerimine, antakse realistlikumad hinnangud. 3. Construction (ehitamine) – ülejäänud madalama riskiga ja kergemate elementide iteratiivne realiseerimine, rakendamiseks ettvalmistumine . Transition (siire, üleviimine) – beeta testid, rakendamine Eelised: Rakendatav suurtele ja ebaselgete ning muutuvate nõudmistega projektidele Kõrgete riskide varane leevendamine ja varane nähtav edenemine ; hallatav keerukus Õppimist iteratsiooni käigus saab metoodiliselt kasutada arendusprotsessi enese täiustamiseks, iteratsioonist iteratsiooni
Antud joonisel on näha iteratiivse arenduprotsessi faasid vertikaalselt. Iteratiivse arendusprotsessi distsipliinid viiakse läbi paralleelselt ja on näha horisontaalsel teljel.
Töö ülesehitamisel on järgitud Craig Larmani visiooni iteratiivsest arendusest, kus eeliteratsioonis püütakse määratleda süsteemi üldine skoop, arendusvaade ja koostada esialgne arhitektuur, järgneb juba iteratsioonide arendus. Iteratioonides analüüsitavate, disainitavate ja realiseeritavate kasutusjuhtude valik ja järjestus sõltus paljuski kasutusjuhtude riskide prioriteetidest ja et juba esimeste iteratsioonide käigus põhifunktsionaalsuste realiseerimisega saavutataks stabiilne arhitektuur ja tekiks selge ettekujutus loodavast süsteemist.
Eeliteratsiooni tulemuseks oli süsteemi põhiobjektide, kasutusjuhtude ja esialgse baasarhitektuuri paikapanek, mida hiljem iteratsioonide käigus vastavalt vajadusele täiustada. Iteratsioonide tulemuseks olid realiseeritud põhifunktsionaalsused. Iga iteratsiooni lõpus analüüsiti saadud tulemusi ja võrreldi planeeritutega. Arengukava kirjeldab ülejäänud madalama riskiga ja kergemate elementide iteratiiv s e realiseerimi s e plaani ja rakendamiseks ettvalmistumi st.
Tehtud töö puhul pean väärtuslikuks iga omandatud kogemust. Antud juhul olid uudsed nii arendusmeetod, süsteemi realiseerimisvahend, kui ka kogu situatsioon. Niisiis tuli kokku puutuda uute probleemidega, mille käigus tuli palju juurde õppida.
“ Includes” ja “extends” seosed on siin kolmandajärgulised, mida kipuvad esmajärjekorras rõhutama algajad analüütikud ja tudengid.
Probleem: Arusaamatuks jääb, mida soovitakse paketidiagrammil öelda sellega, et Kursuslane sõltub Süsteemi toimimisest, registreeruja sõltub Süsteemi toimimisest ja Suhtlusest andmebaasiga. Lahendus: Kursuslane, administreerija ja registreeruja on kõik ühte tüüpi paketid selles mõttes, et nad sõltuvad süsteemi toimimisest ja suhtlusest andmebaasiga ja neil on kasutajaliides. (suhe oli esitatud töös puudu) .
lk. 36 - Miks on Kursuse periood ja Valitud kursuse vahel 1:1 seos. Kas üheks perioodiks ei saagi teha valikut mitu kasutajat? Kas kursus ei või toimuda mitmel perioodil. Jah, kõik need asjaolud on õiged ja sellisel juhul peaksid Kursuse perioodi ja Valitud kursuse vahel olema 1:1..*. Kursu s e ja Kursuse perioodi vahel 1:1..* seos.
Kõige suuremaks katsumuses sai valitud arendusprotsessi rakendamisel tehtud muudatuste ja paranduste haldamine: just süsteemi rakenduse ja dokumantatsiooni kooskõlastamisel.
ORACLE HTML DB võimaldab rakendust kergelt hallata, muuta ja laiendada.
HTML DB põhikomponendid on jaotunud järgnevalt: Rakenduse ehitamine (Application Builder) – Rakenduse ehitus, mis hõlmab kasutajaliideste lehekülgede menüüde, regioonide, väljade, nuppude, protsesside, piirangute, turvalisuse ja muu sarnase määramist. SQLi kirjutamine (SQL Workshop) – SQL käskude protsessor, skriptid, dll-d; andmete brauser sisaldab funktsioonide, protseduuride, indeksite, tabelite, trigerite, vaadete loomise võimalusi , kus otseselt ise pole vaja tervet koodi ise kirjutada . Toimingud andmetega (Data Workshop) – andmetöötlus - andmete eksportimine ja importimine teksti ja xml kujul. Administreerimine (Administration) – kasutajate, logide, sessioonide monitooring ja raportid. HTML DB veebipõhises andmebaasi arendusvahendis on plussiks, et rakendust on võimalik koheselt käivitada ja igas ehitamise etapis tehtud muudatust näha. Välistatud on mitte töötavate funktsioonide või protseduuride sattumine andmebaasi, sest arendus toimub järjestikuliselt , mis ei luba järgmisesse faasi liikuda, kui eelmine ei ole lõplik või eesmärk pole saavutatud.
Võrdlus teiste veebirakenduste loomise vahenditega. Oracle HTMLDB kasutamise asemel saab kasutada järgmiseid vahendeid, mille funktsionaalsused on HTMLDB-s kõik koos olemas. WebDB - K eerukamaid vorme, kus oleks vaja kontrollmehhanisme rakendada, temaga tekitada ei saa, need tuleb ise käsitsi kirjutada . . S aab veebi kaudu andmebaasitabelite sisu ilusti graafilisest keskkonnast vaadata ja protseduure käivitada. Oracle uuema vahendi Portal peale üle minema. WebDB üks viga on veel see, et üldiselt on kõige targem temaga läbi IE tööd teha. Mozilla ja Netscape puhul jookseb ta lihtsalt vahel kokku. DBA Studio ’ga saab graafilises keskkonnas tabeleid tekitada ning kõiki muid vajalikke andmebaasikomponente luua. Hea on see, et ei pea kõiki neid create table ja create procedure lauseid ise käsitsi kirjutama - saab natuke lihtsamalt. Halb aga on see, et tegemist on Java rakandusega, mis teeb kogu programmi kohutavalt aeglaseks. Kui arvutil on 800 Hz protsessor ning ~200 mega RAM'i, mis ei ole sugugi väga halvad parameetrid , võib vahel mingi tabeli kuvaminegi mitu minutit aega võtta.