Your SlideShare is downloading. ×
BakaMaka
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

BakaMaka

384
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
384
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • 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. 
  • Transcript

    • 1. Bakalaureusetöö Autor: Kadri Säde 02.06.2004 © Kadri Säde TTÜ Tallinna Tehnikaülikool Infotehnoloogia teaduskond
    • 2. Töö eesmärk
      • Rakendada praktikasse iteratiivset arendusmudelit
      • Projekteerida ja realiseerida koolitusega tegelevale ettevõttele kursustele registreerimist ja kursuste haldamist võimaldav infosüsteem
      • kasutades UML modelleerimist
      • õppides tundma ORACLE veebipõhist andmebaasi arendusvahendit
    • 3. Iteratiivne arendusprotsess
      • Craig Larmani järgi
      • on juhitud:
      • konkreetsete kasutusjuhtude ja riskide poolt
      • stabiilse arhitektuuri poolt
      • Iteratsioonid on grupeeritud järjestatud faasidesse:
      • Algfaas (Inception)
      • Viimistlemine (Elaboration)
      • Ehitamine (Construction)
      • Üleviimine (Transition)
    • 4. Iteratiivne arendusprotsess http://www.therationaledge.com/content/jan_01/f_rup_pk.html
    • 5. Töö iteratiivne arendamine
      • Eeliteratsioon
          • Planeerimise dokumentatsioon
      • Iteratsioonid
          • I iteratsioon - kursuslase avalduse sisestamise ja muutmise kasutusjuht
          • II iteratsioon - registreeruja süsteemi registreerumise kasutusjuht ja süsteemi turvalisus
          • III iteratsioon - administreerija kursuse sisestamise, otsimise ja muutmise kasutusjuht
          • IV iteratsioon - administreerija kursuse sisestamise, otsimise ja muutmise kasutusjuht
          • V iteratsioon - arve otsimise, tasutuks märkimise, vaatamise ja annullerimise nin g ligipääsu eemaldamise kasutusjuht
    • 6. Iteratsioonide tulemused
      • Eeliteratsioon
          • Süsteemi arhitektuur ja arendusvaade
      • Iteratsioonid
          • I iteratsioon - Kursuslase kasutajaliides
          • II iteratsioon - Registreeruja süsteemi registreerumise liides ja süsteemi turvalisus
          • III iteratsioon – Täiendatud kursuslase kasutajaliides
          • IV iteratsioon - A dministreerija kasutajalii des
          • V iteratsioon - Täiendatud administreerija liides
      • Arengukava
          • Järgmised etapid. Süsteemi tulevaste iteratsioonide plaan ja abifunktsionaalsuste analüüs
    • 7. Kokkuvõte
      • Omandati praktiline iteratiivse arendustsükli kasutamise kogemus
      • Realiseeriti süsteemi põhifunktsionaalsused
      • Arendati oskusi UML modelleerimisel Rational Suite Enterprise tarkvaraga
      • Õpititi tundma ORACLE veebipõhist andmebaasi arendusvahendit
    • 8. Kasutusjuhtude diagramm
    • 9. Paketidiagramm
    • 10. Andmemudel (I iteratsioon)
    • 11. Domeenimudel (I iteratsioon)
    • 12. Domeenimudel
    • 13. Mittefunktsionaalsete nõudmiste täidetavuse kriteeriumid 1
      • Süsteem peab kergesti olema kättesaadav kõigile soovijatele, esitamata suuri nõudmisi kliendi riist- või tarkvarale, mis puudutab süsteemi veebikeskkonna kasutamist;
      • Kriteerium: V ajalik internetiühendus e kiirus min imaalselt 10 Mb/s. Toimimine kõigis brauserites
      • Kasutajaliidese ekraanivormide laadimisaeg peab olema lühike;
      • Kriteerium: töö on sujuvuse piirmääraks on rea kuvamise aeg 0.5 sek
      • Testitud – rea kuvamiseks kulub 0.02- 0.07 sek, kui internetiühenduse kiirus on 100 Mb/s
    • 14. Mittefunktsionaalsete nõudmiste täidetavuse kriteeriumid 2
      • Kasutajaliidese navigatsioon peab olema lihtsalt mõistetav;
      • Juhised vormide täitmiseks peavad olema piisavad;
      • Kriteeriumid: Igal leheküljel on abi, mis kirjeldab, mida peab tegema. Samuti võib abi saada iga välja kohta.
      • Sisestatud andmetel peavad kehtima piirangud;
      • Süsteem peab olema võimeline sisestatud andmeid mõningal määral kontrollima ;
      • Kriteeriumid: Süsteem peab kontrollima n isikukoodi pikkust, õigsust ja teisendab selle kuupäevaks; kas e-mail sisaldab @ märki. Vea korral kuvab vastava välja ees ja vormi päises veateate.
    • 15. Mittefunktsionaalsete nõudmiste täidetavuse kriteeriumid 3
      • Kasutajaliidese ekraanivormid peavad olema lihtsad ja arusaadavad
    • 16. Mittefunktsionaalsete nõudmiste täidetavuse kriteeriumid 4
      • Süsteem peab olema kergelt hallatav, muudetav ja laiendatav ;
      • Kriteerium: rakendusele saab lisada kasutusjuhtude abifunktsionaalsusi
      • Süsteem peab tagama kasutajate isiklike andmete varjatuse;
      • Kriteerium: ühe kasutaja süsteemi registreerumisel on kättesaadavad ainult konkteetse kasutaja isikuandmed
      • Täidetavus: Kasutaja kontrolliks globaalselt on loodud andmebaasifunktsioon
    • 17. ORACLE HTMLDB http://htmldb.oracle.com
      • Eelised:
          • Süsteemi ehitamine veebis, kohene käivitamine lubab igas ehitamise etapis tehtud muudatusi koheselt näha
          • Välistatud on mitte töötavate funktsioonide või protseduuride sattumine süsteemi
      • Puudused:
          • Genereerib ise trigereid, kuid mitte alati korrektseid
          • Esinevad bugid lehekülgede ehitamisel
      Application Builder SQL Workshop Data Workshop Administration
    • 18. Võrdlus
      • Oracle Web DB 2.2– veebipõhine liides kasutajavormide, raportite ning dünaamiliste lehtede tegemiseks :
          • ei saa tekitada keerukamaid n. kontrollmehhanismidega vorme
          • vormi aluseks olnud tabeli muutmisel tuleb vorm uuesti teha
      • DBA Studio – andmebaasi haldamiseks:
          • java rakendus teeb programmi aeglaseks
          • ei näita koodis esinevaid vigu
      • Oracle Procedure Builder – andmebaasiprotseduuride ja –funktsioonide loomiseks
    • 19. Tänan tähelepanu eest!