Vajad kellegagi rääkida?
Küsi julgelt abi LasteAbi
Logi sisse

Klassidiagrammid (0)

1 Hindamata
Punktid

Esitatud küsimused

  • Kuidas leida klasse ?
  • Millised on välissüsteemid millega modelleeritav süsteem suhtleb?
  • Milliseid klasse me sealt kasutaksime?
  • Milliseid seadmeid meie süsteem peab käsitlema?
  • Milliseid rolle ärisubjektid täidavad?
Objektorienteeritud modelleerimine .
Objektmudel: Klassid , Objektid ja nende seosed
Esmärk:
  • Ülevaade objektmodelleerimise põhimõistetest
  • Klassidiagrammides kasutatavate põhikonstruktsioonide tutvustamine

Sisu



Objektorienteeritud modelleerimises on põhilisteks elementideks klassid, objektid ning nendevahelised seosed . Kui modelleerimise eesmärgiks on tarkvarasüsteemide ehitamine, minnakse objektorienteeritud mudelitelt sujuvalt üle objektorienteeritud programmeerimise mõistetele / konstruktsioonidele, kus klassid ja seosed on teisendatud tegelikuks programmikoodiks.

Objektid ja klassid


Objekt on element, nähtus, asi, millest me räägime ja/või millega tegutseme.
Objekt eksisteerib reaalses maailmas, täpsemalt, meie ettekujutuses sellest maailmast.
Modelleeritavat osa maailmast nimetatakse tavaliselt objektsüsteemiks (ka probleemvaldkond, domeen )
Objektsüsteemiks võib olla igasugune süsteem, näiteks masin/seade, organisatsioon , ärisüsteem, infosüsteem, tarkvara jne.. Nendes süsteemides käsitletavad objektid (ka info- ja tarkvaraobjektid) on nii või teisiti seotud meie arusaamisega reaalsest maailmast, mis kujuneb seal eksisteerivate objektide struktuuri ja käitumise analüüsi tulemusena.
Klass on objekti tüübi kirjeldus. Objektid on konkreetse klassi liikmed ehk eksemplarid (instance), kusjuures klass kirjeldab ühe objektitüübi omadusi ning käitumist. Klassi moodustavad ühesuguste omaduste ja käitumisega objektid. Objekt on seotud klassiga sarnaselt nagu muutuja on seotud tüübiga tavalises programmeerimiskeeles.
Mudeli üheks põhifunktsiooniks on olla kommunikatsiooni vahend süsteemi erinevate osapoolte (kasutajad / tellijad, arendajad ,..) vahel.
Äri-, info- jm. süsteemi modelleerimisel tuleks kasutada sellele süsteemile (probleemvaldkonnale, domeenile) iseloomulikke mõisteid. Näiteks kindlustusfirma (info)süsteemi mudel peaks “rääkima” kindlustusäris osalejatele arusaadavas keeles. Pangasüsteemi mudel peaks kasutama panganduse termineid (n. arved , tehingud, saldod,..) jne..
Joonis. Fragment kindlustusfirma mudelist. Üks kindlustusfirma omab palju (0 või enam) kindlustuslepinguid. Üks kindlustuse klient omab mitu (0 või enam) kindlustuslepingut. Üks kindlustusleping on seotud ühe kindlustusfirmaga. Kindlustusleping on seotud paljude (ühe või enama) kindlustuse kliendiga. Joonisel toodud olemeid nimetatakse klassideks.

Klassidiagramm


Klassidiagramm on mudeli tüüp, mis esitab süsteemi staatilist vaadet, kasutades klasse ja nendevahelisi seoseid .
Klassidiagramm sarnaneb andmemudelitele, kuid väljendab lisaks infostruktuuridele ka käitumist (klass sisaldab käitumist).
Klassidiagrammi üheks eesmärgiks on defineerida alus (vundament) teistele diagrammidele, kus väljendatakse süsteemi muid aspekte (objektide seisundeid ja objektide koostoimet e. kollaboratsioone väljendatakse dünaamika diagrammidega).
Klassidiagrammi klassi saab otseselt realiseerida objektorienteeritud programmeerimiskeeles (n. Java ,C++,..), mis toetab klassi konstruktsiooni.
Klassidiagramm esitab ainult klasse, kuid eksisteerib ka objektidiagramm, kus näidatakse klasside objektieksemplare.

Joonis 2. Klass UML-is. Klass joonistatakse ristkülikuna, mis on jagatud kolme ossa. Neis kasutatav süntaks on programmeerimiskeelest sõltumatu.


Kuidas leida klasse ?


Klasside identifitseerimine on loominguline tegevus, mida tehakse koostöös probleemvaldkonna ekspertidega.
Klassid tulenevad meie arusaamisest antud probleemvaldkonnast ning selle järgi peavad klaasid saama ka oma nime.
Klasside ülesleidmisel võib abiks olla objektide üldine liigitus:
  • Käegakatsutavad (füüsilised) objektid: isik, auto, maja,..
  • Rollid: tudeng , õppejõud
  • Sündmusobjektid (ühe ajaparameetriga): eksam (algusaeg)
  • Tegevusobjektid (kahe või enama ajaparameetriga): õppimine (algus, lõpp), õpetamine (algus, lõpp)
  • Spetsifikatsioonid: õppeaine

Klasside ülesleidmisel võivad olla abiks standardsed küsimused:
  • Millist informatsiooni (asjad, mõisted, sündmused, tegevused) modelleeritavast süsteemist on tarvis salvestada või analüüsida?
  • Millised on välissüsteemid, millega modelleeritav süsteem suhtleb? Millised klassid võiksid neid välissüsteeme esindada modelleeritavas süsteemis ?
  • Kas me saame kasutada mudeleid , lahendusi või komponente oma varasematest projektidest, kolleegide töödest, muudelt tootjatelt ? Milliseid klasse me sealt kasutaksime?
  • Milliseid seadmeid meie süsteem peab käsitlema? Iga süsteemiga ühendatud tehniline seade võib anda klassi, mis seda seadet käsitleb.
  • Kas meil on organisatsiooniüksusi? Organisatsioon esitatakse klasside kaudu, eriti ärimudelites.
  • Milliseid rolle ärisubjektid täidavad? Rolle võib vaadata klassidena: klient, töötaja , kasutaja,..

Kõige enam toetavad klasside leidmist teised (Use Case ning
dünaamika-) diagrammid . Ilma süsteemi eesmärke ja funktsionaalsust modelleerimata pole võimalik otsustada konkreetsete klasside vajalikkuse üle.

Atribuudid


Klassi atribuudid kirjeldavad objektide omadusi.
Süsteemi eesmärk ja funktsionaalsus mõjutavad klassi kirjeldavaid atribuute. Kirjeldatakse ainult modelleeritava süsteemi kontekstis huvi pakkuvaid atribuute.
Atribuudil on tüüp:
  • Primitiivsed tüübid: integer , Boolean, real , point, area, enumeration
  • Spetsiifilised (programmeerimiskeele jaoks)
  • Teised klassid võivad olla atribuudi tüübiks

Atribuudi nähtavus (visibility):
  • Public (+): nähtav ja kasutatav väljaspoolt antud klassi
  • Private (-): nähtav ja kasutatav ainult antud klassi sees
  • Protected : kasutatakse koos üldistamise/pärimise seosega

Atribuudil võib olla vaikimisi väärtus.
Saab defineerida klassi skoobiga atribuute (muutujaid), mida jagavad kõik antud klassi objektid. Sellised atribuudid on alla joonitud.
Omadusstringi (property string ) võib kasutada atribuudi lubatud väärtuste esitamiseks , eriti loetelutüüpide, nagu värv, staatus, suund, korral.
Atribuudi formaalne süntaks :
visibility name : type-expression = initial- value

Operatsioonid


Klass omab atribuute ja operatsioone. Atribuudid iseloomustavad klassi objekte. Atribuutide väärtusi kasutatakse objekti seisundi kirjeldamiseks. Operatsioone kasutatakse atribuutide manipuleerimiseks või muude toimingute läbiviimiseks (näiteks päringud).
Operatsioonid sarnanevad funktsioonidele, kuid nad paiknevad klassi sees ja rakenduvad ainult selle klassi objektidele.
Operatsioon kirjeldatakse tulemustüübi (return-type), nime ja 0 või enama parameetriga.
Tulemustüüp, nimi ja parameetrid üheskoos moodustavad operatsiooni signatuuri. Signatuur kirjeldab kõike, mis on vajalik operatsiooni kasutamiseks.
Klassi operatsioonid näitavad, mida see klass “oskab” teha, milliseid teenuseid ta osutab, seega võib operatsioone vaadata klassi liidesena.
Sarnaselt atribuutidele võib operatsiooni jaoks kirjeldada nähtavuse ja skoobi.
Ka klass võib omada klassi skoobiga operatsioone. Viimased saavad pöörduda ainult klassi skoobiga atribuutide poole. Klassi skoobiga operatsioonid defineeritakse üldiste operatsioonide läbiviimiseks, nagu objektide loomine ning objektide leidmine, kus üksikud objektid ei osale (v.a. operatsiooni võimalik tulemus).
Operatsiooni formaalne süntaks:
visibility name ( parameter-list ) : return-type-expression<
Parameetrite loetelu on komaga eraldatud loetelu formaalsetest parameetritest, millest igaüks järgib süntaksi:
name : type-expression = default-value
Operatsiooni nähtavused on samasugused nagu atribuutidel.
Kõik operatsioonid ei pea omama tulemustüüpi, parameetreid või omadusstringi, kuid operatsioonil peab olema unikaalne signatuur (=return type, name, parameters)
Saab kirjeldada vaikimisi väärtusi parameetritele, s.t. kui väljakutsuja ei väärtusta parameetrit, kasutatakse vaikimisi väärtust.
Operatsioon on osa klassi liidesest.
Operatsiooni realisatsiooni nimetatakse meetodiks.
Operatsioon kirjeldatakse signatuuriga või
eeltingimuse, järeltingimuse, algoritmi ning mõjuga objektile .
Eeltingimus peab olema tõene enne, kui operatsiooni saab täita.
Näiteks kujund peab olema joonistatud enne, kui teda saab skaleerida.
Järeltingimuseks võib olla tingimus, et kohe peale joonistamist peab kujundit muutma ja seda ei tohi teha hiljem.
Kui operatsioon muudab objekti seisundit (n. skaleerimine muudab kujundi seisundit), tuleks see dokumenteerida.
Selline dokumentatsioon on operatsiooni omadus, mida tavaliselt ei esitata vahetult klassidiagrammil.

Seosed


Klassidiagramm sisaldab klasse ja nendevahelisi seoseid. Liigi järgi jagunevad seosed:
  • Assotsiatsioonid
  • Üldistused (generalisation)
  • Sõltuvused (dependency)
  • Peenendused (refinement)

Assotsiatsioon on ühendus klasside vahel ning ühtlasi nende klasside objektide vahel.
Üldistus on seos üldisema ja spetsiifilisema elemendi vahel., kus spetsiifilisem element võib sisaldada üksnes lisainformatsiooni. Spetsiifilisema elemendi eksemplari võib kasutada kõikjal, kus üldisem element on lubatud.
Sõltuvus on seos ühe sõltumatu ja ühe sõltuva elemendi vahel. Sõltumatu elemendi muudatus mõjutab sõltuvat elementi, mitte vastupidi.
Peenendus on seos kahe sama asja kirjelduse vahel, mis omavad erinevat abstraktsioonitaset.

Assotsiatsioonid


Assotsiatsioon on klassidevaheline ühendus, semantiline ühendus seoses osalevate klasside objektide (eksemplaride) vahel. Assotsiatsioon on tavaliselt kahesuunaline, s.t. kui objekt on seotud teise objektiga, siis mõlemad objektid “ tunnevad teineteist”, “on ühendatud” jne.
Tavaline assotsiatsioon
Tavaline assotsiatsioon on lihtsalt ühendus klasside vahel. Joonistatakse pidevjoonena kahe klassi vahel. Assotsiatsiooni nimi (tavaliselt tegusõna, võib olla ka nimisõna) kirjutatakse seosjoone lähedusse. Seosenimed peavad tulenema probleemvaldkonnast, nagu klassinimedki.
Võimalus kasutada navigeeritavaid seoseid, lisades seose lõpuotsa noole . Nool näitab, et seost saab kasutada ainult noole suunas.
Assotsiatsioon võib omada kahte nime, kummaski suunas ühte. Nime suunda näidatakse väikese täidetud kolmnurgaga nime ees või taga, sõltuvalt suunast. Seost on võimalik lugeda lausena, näiteks:
“Autor kasutab arvutit”.
Assotsiatsiooni osaks on ka seoses osalevate objektide (eksemplaride) arv (multiplicity): Autol on 1 või enam omanikku ja isik võib omada 0 või enamat autot.
Arvukuse (multiplicity) variandid:
Nullist üheni (0..1)
Null või enam (0..*) ehk (*)
Üks või enam (1..*)
Kaks (2)
(5..11)
(1, 4, 6, 8..12)
Vaikimisi arvukus on (1)
Mudel peab olema asjaosalistele arusaadav, tõlgitav loomulikku keelde:
  • Kindlustusfirma omab kindlustuslepinguid, mis viitavad ühele või enamale kliendile.
  • Klient omab kindlustuslepinguid (0 või enam), mis viitavad ühele kindlustusfirmale
  • Kindlustusleping sõlmitakse kindlustusfirma ning ühe või enama kliendi vahel. Kindlustusleping viitab nii kliendile (klientidele) kui ka kindlustusfirmale.
  • Kindlustusleping väljendatakse (nullis või ühes) kindlustuspoliisis (kirjalik kindlustusleping)
  • Kindlustuspoliis viitab kindlustuslepingule

Kui helistate kindlustusfirmasse ja kindlustate oma auto, tekib kindlustusleping, kuid mitte kindlustuspoliis. Kindlustuspoliis tehakse hiljem ja saadetakse kliendile. Niisugust reaalsust on oluline ka modelleerida. Kui modelleeriksime kindlustusäri poliisikeskselt (mitte lepingukeskselt), võib tekkida suuri probleeme. Näiteks kui klient kindlustab oma auto ja veidi hiljem teeb avarii, kui kindlustuspoliisi veel pole, kuid suuline kokkulepe kindlustusagendiga saavutatud.
Mis saab siis, kui juurutatakse uut tüüpi kindlustuspoliisid (kindlustamine Web-is ), või üldse äri (ärireeglite) muutumise korral? Modelleerides tegelikku elu, lisab Web kindlustus lihtsalt vastava klassi (Web kindlustuspoliis), millel võib olla teistsugune käitumine, kui tavalisel poliisil (n. kliendid saavad neid ise muuta ja muudatused kanduvad automaatselt kindlustuslepingusse; kindlustuspoliisi saab saata e-maili teel otse kliendile).
Objektidiagramm
Objektidiagramm näitab konkreetseid objekte (eksemplare) ja nendevahelisi ühendusi kindlal ajahetkel. Objektidiagrammi võib vaadata konkreetse näitena klassidiagrammi kohta, mis näitab, kuidas keerukas klassidiagramm võib väljenduda konkreetsete objektide (eksemplaride) tasemel. Kuidas klassidiagrammi objekte saab omavahel kombineerida konkreetsel ajahetkel.
Objekt näidatakse klassina, mille nimi on allajoonitud, kusjuures objekti nime võib näidata või mitte näidata klassinime ees:
objektinimi : klassinimi
Kui objektinime ei näidata, siis allajoonitud klassinimele eelneb koolon:
: klassinimi
mis tähendab, et tegeldakse antud klassist nimetu objektiga.
Kolmas võimalus: näidatakse ainult objektinime (allajoonitud), ilma klassinimeta:
objektinimi

Rekursiivne assotsiatsioon


Seos (assotsiatsioon) võib ühendada klassi iseendaga , s.t. ühendatud objektid kuuluvad samasse klassi. Klassi seost iseendaga nimetakse rekursiivseks assotsiatsiooniks, mida kasutatakse keerukates mudelites, nagu tootestruktuurid.

Rollid assotsiatsioonis


Assotsiatsioon võib omada rolle seoses iga assotsiatsioonis osaleva klassiga. Rollinimi on string, mis paikneb seose otsas selle klassi lähedal, millele ta rakendub. Rollinimi näitab, missugust rolli mängib antud klass antud assotsiatsiooni kontekstis. Rollinimed on assotsiatsiooni, mitte klassi osad. Rollinimede kasutamine on mittekohustuslik.

Kvalifitseeritud assotsiatsioon


Kvalifitseeritud assotsiatsioone kasutatakse seoses üks-mitu või mitu-mitu assotsiatsioonidega. Kvalifikaator eristab objekte assotsiatsiooni mitu-poolel. Kvalifikaator näitab, kuidas identifitseeritakse konkreetset objekti assotsiatsiooni mitu-poolel ja teda võib vaadata kui võtit või indeksit kõigi objektide eraldamiseks seoses. Kvalifikaator joonistatakse väikese kastina seose otsas selle klassi lähedal, millest liikumist alustatakse. Kvalifitseeritud assotsiatsioonid vähendavad tegelikku (eksemplaride) arvukust üks-mitmelt üks-ühele. Disainis kasutatakse menüüde modelleerimisel/realiseerimisel.

Or-assotsiatsioonid


Isik (kindlustusvõtja) võib omada kindlustuslepingut kindlustusfirmaga, samuti firma (kindlustusvõtja) võib omada kindlustuslepingut kindlustusfirmaga, kuid isik ja firma ei tohi omada ühte ja sedasama kindlustuslepingut.
Or-assotsiatsioon on piirang (constraint) üle kahe või enama assotsiatsiooni. Ta määrab, et antud klassi objektid võivad osaleda mitte rohkem kui ühes piiratud seostest antud ajahetkel. Or-assotsiatsiooni tä piiranguga katkendjoonel.

Korrastatud (ordered) assotsiatsioon


Ühendused objektide vahel võivad omada kindlat korda: näiteks ekraaniaknad võivad paikneda ekraanil korrastatult (üks üleval , teine all jne.). Tavaline väärtus antud omaduse jaoks assotsiatsioonil on korrastamata, seepärast seda spetsiaalselt ei näidata. Kui eksisteerib kindel kord ühenduste ( links ) vahel, siis seda nä assotsiatsioonijoone kõrval selle klassi lähedal, mille objektid on korrastatud. Kuidas korrastus toimub (järjestatud), määratakse kas assotsiatsiooni omadusega või loogeliste sulgude sees (nä).

Assotsiatsiooniklass


Assotsiatsiooniga võib siduda klassi, mida nimetatakse assotsiatsiooniklassiks. Assotsiatsiooniklass pole ühendatud assotsiatsiooni ühegi otsaga, vaid tegeliku assotsiatsiooni enesega (=assotsiatsiooni modelleerimine klassina). Assotsiatsiooniklass on (nagu) tavaline klass: ta võib omada atribuute, operatsioone ja teisi assotsiatsioone. Assotsiatsiooniklasse kasutatakse lisainformatsiooni lisamiseks objektide ühendustele (links), näiteks konkreetse ühenduse loomise aeg. Assotsiatsiooni iga ühendus ( eksemplar ) on seotud assotsiatsiooniklassi konkreetse objektiga (eksemplariga).

Kolmandat järku assotsiatsioon


Seostada on võimalik enam kui kahte klassi; kolmandat järku (ternary) assotsiatsioon seob kolme klassi.
Klient (poliisivaldaja rollis) omab palju (0 või enamat) kindlustuslepingut, iga kindlustusleping on seotud kindlustusfirmaga (kindlustaja rollis). Kliendi ja kindlustuslepingu vahelisel seosel on (0 või üks) kindlustuspoliis. Kolmandat järku seos esitatakse suure rombiga. Rollid ja arvukus (multiplicity) võivad olla näidatud , kuid kvalifikaatoreid ja agregatsioone (järgmine teema) pole lubatud. Kolmandat järku seosega võib olla ühendatud assotsiatsiooniklass, mis ühendatakse katkendjoone abil ühega rombi neljast tipust.

Agregatsioon


Agregatsioon on assotsiatsiooni erijuhtum. Agregatsioon näitab “osa-terviku” seost klasside vahel. Näiteks auto koosneb neljast rattast, mootorist, kerest, käigukastist, jne.
Agregatsioon kirjeldab sageli erinevaid abstraktsioonitasemeid (auto koosneb roolist, mootorist,..). Agregatsiooni väljendavad võtmesõnad “koosneb”, “sisaldab”, “on osaks”, mis väljendavad osa-terviku seost klasside ja neisse kuuluvate objektide vahel.
Agregaati näidatakse väikese rombiga assotsiatsioonijoone ühes otsas, tervikut väljendava klassi poolel. Kuna agregatsioon on agregatsiooni erijuhtum, saab temaga siduda arvukust (multiplicity), rolle (osa poolel) ja kvalifikaatoreid. Agregaat võib omada nime (koos suunaga) ning olla navigeeritav.

Jagatud (shared) agregatsioon


Jagatud agregatsioon on niisugune, milles osad võivad olla osadeks erinevates (ükskõik millistes) tervikutes. Kui agregatsioon on jagatud, siis on arvukus terviku poolel suurem kui üks. Jagatud agregatsioon on tavalise agregatsiooni erijuhtum.

Kompositsiooni agregatsioon


Kompositsiooni agregatsioonis tervik omab osasid. Osad “elavad” terviku sees; nad hävivad koos oma tervikuga. Arvukus terviku poolel peab olema 0 või 1 (0..1), osa poolel suvaline . Kompositsiooni agregatsioon moodustab puustruktuuri, jagatud agregatsioon võrkstruktuuri. Kompositsiooni agregatsiooni esitamise kolm võimalust:
  • täidetud rombiga terviku poolel
  • kui osasid rohkem kui üks, võib tervikupoolsed otsad ühendada ühte rombi (puustruktuur). Seda saab teha ka tavalise agregatsiooni puhul
  • panna osaklassid tervikklassi sisse
    Rollid saab viia atribuutideks ning klassid atribuuditüüpideks.
    Kompositsiooniagregatsiooni realiseerimisel peab tervikklass juhtima oma osade elutsüklit, hävitama oma osad koos iseenda hävitamisega..
    Alternatiivne viis kompositsiooniagregatsiooni realiseerimiseks on realiseerida osad klassi liikmesobjektidena, s.t. füüsiliselt kapseldada osad tervikklassi sisse.
    Üldistusseos (generalisation)
    Üldistusseos (ka pärimine ) on seos üldisema ja spetsiifilisema elemendi vahel. Spetsiifilisem element on täielikult kooskõlas üldisema elemendiga ning sisaldab lisainformatsiooni. Spetsiifilisema elemendi eksemplari saab kasutada kõikjal, kus üldisem element on lubatud.
    Üldistamist kasutatakse klasside, use case – ide jm. mudelielementide (näiteks pakettide ) jaoks. Üldistamist kasutatakse tüüpide, mitte eksemplaride tasemel.
    Üldistusseost võib lugeda spetsiifilisema elemendi poolt üldisema poole “on” või “on liiki” (auto on sõiduk , müügijuht on töötaja )

    Tavaline üldistusseos


    Spetsiifilist klassi nimetatakse alamklassiks (subclass) ja üldisemat ülemklassiks (superclass). Alamklass pärib ülemklassi kõik omadused: atribuudid, operatsioonid, assotsiatsioonid. Avaliku nähtavusega atribuudid ja operatsioonid ülemklassis jäävad avalikuks alamklassis. Privaatse nähtavusega atribuudid ja operatsioonid päritakse, kuid pole kasutatavad (ei saa pöörduda) alamklassi seest. Kaitstud (protected) atribuute ja operatsioone (tähistatakse märgiga #) ei saa kasutada teised klassid, välja arvatud klass ja tema kõik alamklassid.
    Üldistusseosed moodustavad klassihierarhia, milles klass võib olla korraga ülem- ja alamklassiks.
    Üldistust esitatakse pidevjoonega spetsiifilisema klassi poolt üldisema klassi poole koos suure täitmata kolmnurgaga, mis osutab ülemklassi poole.
    Nagu agregatsioonis, saab üldistusseoses pärimist esitada puustruktuurina, kus kolmnurka jagavad kõik alamklassid.
    Abstraktne klass on klass, mis ei tohi omada ühtegi objekti. Ta esitab teiste klasside (alamklasside ) jaoks ühiseid atribuute ja käitumist, mille need pärivad.
    Näiteks sõiduk on abstraktse klassi näide, mis esitab maa- ja veesõidukite ühised omadused, kuid ei sisalda ühtegi objekti (eksemplari).
    Klassi saab kuulutada abstraktseks, lisades nime alla loogelistes sulgudes vää.
    Abstraktne klass omab tavaliselt abstraktseid operatsioone. Abstraktne operatsioon on niisugune, millel pole realiseerivat meetodit samas klassis, kus ta spetsifitseeritakse, vaid ainult signatuur. Klass, mis omab vähemalt ühte abstraktset operatsiooni, peab olema abstraktne klass.
    Klass, mis pärib klassilt, kus on üks või enam abstraktset operatsiooni, peab realiseerima need operatsioonid (andma nende jaoks meetodid) või olema ise abstraktne klass. Abstraktsed operatsioonid nä operatsiooni signatuuri järel.
    Näiteks abstraktne klass Sõiduk omab abstraktseid operatsioone drive , start , stop . Need on käitumised, mida iga sõiduk peab omama. Sõiduki iga alamklass peab andma meetodid nende operatsioonide jaoks või hakkama ise abstraktseks klassiks.
    Konkreetne klass on võimeline looma objekte (eksemplare) ja omab realisatsioone ( meetodeid ) kõigi operatsioonide jaoks.
    Kui Sõiduki klass on spetsifitseerinud abstraktse operatsiooni drive , siis nii Auto kui ka Laev peavad realiseerima vastava meetodi (või operatsioonid tuleb kuulutada abstraktseteks), mis saavad olema erinevad. Ühel juhul paneb operatsioon pöörlema rattad , teisel juhul propelleri (laeva kruvi). Alamklassid pärivad ülemklassilt operatsiooni, kuid realiseerivad selle erinevalt.
    Alamklassid võivad operatsioone üle defineerida. Üledefineeritud operatsioon peab omama sama signatuuri (tulemustüüp, nimi, parameetrid) nagu ülemklassis. Üledefineeritud operatsioon võib olla nii abstraktne (puudub realisatsioon ülemklassis) kui konkreetne (omab realisatsiooni ülemklassis). Mõlemal juhul kasutatakse üledefineerimist antud klassi kõigi eksemplaride jaoks. Alamklassis võib lisada uusi operatsioone, atribuute, assotsiatsioone.
    Näide: Isik juhib Sõidukit. Sõiduk on abstraktne klass s.t. konkreetsed objektid, mida Isik juhib, on konkreetsetest alamklassidest Auto ja Laev. Kui Isik käivitab juhtimisoperatsiooni, sõltub tulemus sellest, kas objektiks juhtub olema Auto või Laev. Kui Auto, pannakse pöörlema rattad (kasutades realisatsiooni, mis kirjeldatud klassis Auto), kui Laev, siis propeller (kasutades realisatsiooni, mis kirjeldatud klassis Laev).
    Tehnikat , kus alamklassi objekt toimib nagu ülemklassi objekt, kusjuures defineeritakse üle üks või enam ülemklassi operatsioonidest, nimetatakse polümorfismiks. Polümorfism tähendab, et operatsiooni tegelik realisatsioon sõltub objekti tüübist, millele operatsiooni rakendatakse.
    Diskriminaatoriga on võimalik näidata, mille alusel üldistatakse/spetsialiseeritakse. Näiteks sõidukite puhul liikumiskeskkond.

    Piiratud (Constrained) üldistusseos


    Piirangud üldistusseosel määravad, kuidas üldistusseost kasutatakse ning laiendatakse. Enam kui ühe alamklassiga üldistusseoste jaoks saab defineerida järgmisi kitsendusi:
    Lõikumine ehk ülekate (Overlapping)
    Mittelõikuvus (Disjoint)
    Täielikkus ( Complete )
    Mittetäielikkus (Incomplete).
    Taolisi semantilisi piiranguid näidatakse loogelistes sulgudes üldistuse kolmnurga lähedal. Kui üldistusseostel pole ühist kolmnurka,vaid iga alamklassi kohta eraldi kolmnurk , tuleb kõik kokkukuuluvad pärimisseose jooned ühendada ristuva katkendjoonega, mille läheduses esitada piirang(ud) loogeliste sulgude sees.

    Lõikuvad ja mittelõikuvad üldistusseosed


    Lõikuv (mitmene) pärimine tähendab, et alamklassid võivad pärida

    enam kui ühelt ülemklassilt ning mitu ülemklassi võivad omada ühist alamklassi pärimispuus (võrkstruktuur).
    Mittelõikuv üldistusseos tähendab, et alamklass saab pärida vahetult ainult ühelt ülemklassilt ning mitmel ülemklassil ei saa tekkida ühist alamklassi. Vaikimisi on tegemist mittelõikuva pärimisega; kui vastupidist pole näidatud, ei ole ühised alamklassid lubatud.

    Täielikud ja mittetäielikud üldistused


    Täielik üldistusseos tähendab, et kõik alamklassid on kirjeldatud ning uusi lisada ei saa. Mittetäielik üldistusseos (vaikimisi ongi üldistus mittetäielik) tähendab, et alamklasse saab juurde lisada. Kuna üldistamise üheks põhieesmärgiks on võimaldada edasisi laiendamisi, peetakse mittetäielikke üldistusi tavalisemateks.

    Sõltuvuse ja peenendamise seosed


    Sõltuvusseos on semantiline ühendus kahe mudelielemendi vahel, millest üks on sõltumatu ja teine sõltuv element. Sõltumatu elemendi muutmine mõjutab sõltuvat elementi. Nagu üldistusseose puhul, võib mudelielemendiks olla klass, pakett , use case, jne..
    Sõltuvuste näited: Üks klass käsitleb teise klassi objekti parameetrina; üks klass pöördub teise klassi globaalse objekti poole; üks klass kutsub välja klassiskoobiga operatsiooni teisest klassist.
    Sõltuvusseost näidatakse katkendjoonega mudelielementide vahel. Joone ühes otsas on nool, joonel võib olla märgend, mis näitab stereotüüpi (sõltuvuse liiki). Sõltuvuse stereotüübiks võib olla näiteks “sõber”: üks mudelielement saab erilised õigused teise mudelielemendi sisemiste (isegi privaatse nähtavusega) osade / struktuuride poole pöördumiseks.
    Peenendus (refinement) on seos sama asja kahe kirjelduse vahel, mis on erineva abstraktsioonitasemega. Peenendusseos võib olla tüübi ja teda realiseeriva klassi vahel, siis nimetatakse seda realisatsiooniks (realization). Samuti on peenendusteks seosed analüüsi klassi ja disaini klassi vahel, mis modelleerivad sama asja, või seosed kõrgtaseme kirjelduse ja madala taseme kirjelduse vahel ( näiteks seos kollaboratsiooni üldvaate ning sama kollaboratsiooni detailse diagrammi vahel). Peenendusseost saab kasutada ka sama asja erinevate realisatsioonide (näiteks lihtsa realisatsiooni ehk prototüübi ning keerukama kuid effektiivsema realisatsiooni) modelleerimiseks.
    Peenendusseost näidatakse katkendjoonega ja kolmnurgaga (üldistuse sümbol) kahe mudelielemendi vahel. Peenendust kasutatakse mudeli(te) kooskõlastamiseks. Suurtes projektides peavad kõik koostatavad mudelid olema kooskõlastatud. Mudeleid kooskõlastatakse selleks,et:
    • Näidata, kuidas erineva abstraktsioonitasemega mudelid on omavahel seotud.
    • Näidata, kuidas erinevate arendusfaaside (vajaduste spetsifitseerimine, analüüs, disain , realiseerimine ,..) mudelid on seotud.
    • Toetada konfiguratsiooni juhtimist
    • Toetada jälgitavust (traceability) mudeli(te)s.

    Piirangud ja tuletused (Reeglid)
    UML-is saab väljendada reegleid (Rules): piiranguid (constraints) ning tuletusi (derivations). Piirang kitsendab mudelit. Piirangute juba tuttavateks näideteks on or-assotsiatsioon, korrastatud (ordered) assotsiatsioon ning pärimise piirangud (overlapping, disjoint, complete, incomplete). Tuletused on reeglid selle kohta, kuidas asju saab tuletada, näiteks isiku vanust (jooksev kuupäev miinus sünnikuupäev). Reegleid saab siduda kõigi mudelielementidega, kõige sagedamini kasutatakse neid atribuutide, assotsiatsioonide, pärimise ja rollide jaoks ning ajapiiranguid dünaamikamudelites (oleku-, jada, kollaboratsiooni ja tegevusdiagrammid). Kõiki piiranguid näidatakse loogelistes sulgudes ({}) mudelielemendi läheduses või sulgudes kommentaari koosseisus, mis on ühendatud mudelielemendiga.
    Assotsiatsioonid võivad olla tuletatud või piiratud. Kui firmal on lepinguid paljude klientidega, võib tuletatud seosega esitada tähtsamad ehk VIP kliendid. Tuletatud assotsiatsioonil on märgend seosjoone lähedal, mis algab kaldkriipsuga, millele järgneb tuletuse nimi. Piiratud assotsiatsiooniga on tegemist, kui üks assotsiatsioon on teise assotsiatsiooni alamhulk.
    Ka atribuudid võivad olla tuletatud või piiratud. Tüüpiline atribuudi piirang on tema väärtuspiirkond (=atribuudi omadusstring). Näiteks atribuudi värvCar.Driver.driving licence = True
    Liidesed
    Pakettide, komponentide ja klasside jaoks saab defineerida liideseid. Sel juhul nimetatud elemendid toetavad / realiseerivad liideses defineeritud käitumist. Liidest võib vaadelda lepinguna koostoimivate mudelielementide klastrite (kobarate) vahel. Programmeerimises on ekvivalentideks OLE/COM või Java liidesed (interface), kus liideseid saab kirjeldada klassidest eraldi ning liidese realiseerimiseks saab valida palju klasse (või pakette või komponente).. Liides kirjeldatakse abstraktsete operatsioonidena: signatuuride hulk, mis üheskoos spetsifitseerib käitumise, mida konkreetne element (või elemendid) võivadrealiseerida/toetada. Objektid võivad nüüd sõltuda liidesest üksinda, teadmata midagi liidest realiseerivatest klassidest.
    Liides esitatakse väikese ringiga , millel on nimi ning ühendus (sisuliselt 1-1 assotsiatsioon) oma mudelielemendiga. Klass, mis kasutab konkreetse klassi poolt realiseeritavat liidest, ühendatakse läbi sõltuvusseose (katkendnool) liidese ringiga. Sõltuv klass on sõltuv ainult operatsioonidest konkreetses liideses, kuid mitte millestki muust selles klassis (vastasel juhul peaks sõltuvusnool ulatuma klassi sümboloni).
    Liidesel paiknevaid operatsioone ei näidata otseselt diagrammil . Liidese operatsioonide näitamiseks spetsifitseeritakse liides klassina koos stereotüübiga “interface”, kasutades tavalist klassisümbolit.
    Pärimisseost liideste vahel saab näidata klassidiagrammil, kus kõik liidesed omavad stereotüüpi “interface”.
    Paketid
    Pakett on mudelielementide grupeerimise mehhanism. Kõiki mudelielemente, mida pakett omab või millele ta viitab, nimetatakse paketi sisuks . Paketi eksemplar ei oma mõtet. Pakette kasutatakse modelleerimistöös ega transleerita täidetavateks süsteemideks. Mudelielemendi omanikuks ei saa olla rohkem kui üks pakett. Paketti nimetatakse sageli allsüsteemiks.
    Paketid võivad importida mudelielemente teistest pakettidest. Kui element on imporditud paketi poolt, siis see pakett viitab talle justkui omanikpakett. Pakettide vahel on lubatud sõltuvusseosed, peenendusseosed ning üldistusseosed.
    Pakett esitatakse suure ristkülikuna koos väikese ristkülikuga vasakus ülanurgas. Kui paketi sisu (klasse) ei näidata, siis paketi nimi antakse suures ristkülikus, vastasel korral väikeses.
    Pakett sarnaneb agregatsioonile. Kui pakett omab oma sisu, on tegemist kompositsiooniagregatsiooniga (composed aggregation); kui ta viitab oma sisule (s.t. impordib elemente teistest pakettidest), on tegemist jagatud agregatsiooniga.
    Pakett võib omada nähtavust (visibility) nagu klassidki, mis näitab, kuidas teised paketid saavad pöörduda tema sisu poole. Nähtavuse astmeid on 4: privaatne, kaitstud, avalik, realisatsioon. Vaikimisi avalik.
    Avalik nähtavus tähendab, et teised elemendid saavad näha ja kasutada paketi sisu. Privaatne (private) tähendab, et ainult pakett, mis omab või impordib mudelielementi, saab seda kasutada. Kaitstud (protected) nähtavus on sarnane privaatsele, kuid lisaks omanikule ja importijatele saavad kaitstud paketi sisu kasutada ka pärimishierarhias allpool paiknevad paketid. Realisatsioon on sarnane privaatsele, kuid teised paketid ei saa realisatsiooni nähtavusega paketi sisu importida.
    Pakett võib omada liidest, mis publitseerib tema käitumist. Tavaliselt siis üks või enam klasse paketi seest realiseerivad selle liidese.
    Templates
    Templiteid näidatakse parametriseeritud klassidena. Templiti parameetreid kasutatakse reaalse klassi loomisel, mida saab kasutada. Templit on klass, mis pole veel täielikult spetsifitseeritud ja mille lõplik spetsifikatsioon tehakse läbi parameetrite. Parameetriteks võivad olla klassid või primitiivsed tüübid. Parametriseeritud klassi kasutatakse klassigrupi kirjeldamiseks. Näiteks massiv, mille eksemplarklassideks autode, värvide jne. massiiv.
    Parametriseeritud klassi parameetrite loetelu sisaldab iga parameetri jaoks nime ja tüüpi. Kui parameetriks klass, pole tüübi näitamine kohustuslik: [T: class , A:integer] on sama mis [T, A:integer]. Parameetrite loetelu näidatakse katkendjoonega ristkülikus parametriseeritud klassi ristküliku paremas ülanurgas. Templiti eksemplar näidatakse tavalise klassisümboliga, kus klassinimi sisaldab nii templiti nime kui ka parameetrite väärtusi: Array. On võimalik näidata templiti ja tema eksemplari vahelist seost peenendusseosena, kasutades stereotüüpi “bind”, millele järgnevad tegelikud parameetrid klassile.
    Mudeli kvaliteet
    Modelleerimiskeel üksinda ei saa tagada mudeli head kvaliteeti. Mudelite kvaliteedile tuleb pöörata eraldi tähelepanu, sõltumata kasutatavast modelleerimiskeelest.
    Hea mudel on:
    • Arusaadav
    • Vastab eesmärgile
    • Sisaldab olulist
    • Normaalsed ( mõistetavad nimed)
    • Kooskõlas seotud mudelitega
    • Mitte liiga keeruline

  • Vasakule Paremale
    Klassidiagrammid #1 Klassidiagrammid #2 Klassidiagrammid #3 Klassidiagrammid #4 Klassidiagrammid #5 Klassidiagrammid #6 Klassidiagrammid #7 Klassidiagrammid #8 Klassidiagrammid #9 Klassidiagrammid #10 Klassidiagrammid #11 Klassidiagrammid #12 Klassidiagrammid #13 Klassidiagrammid #14 Klassidiagrammid #15 Klassidiagrammid #16 Klassidiagrammid #17 Klassidiagrammid #18 Klassidiagrammid #19 Klassidiagrammid #20 Klassidiagrammid #21
    Punktid 100 punkti Autor soovib selle materjali allalaadimise eest saada 100 punkti.
    Leheküljed ~ 21 lehte Lehekülgede arv dokumendis
    Aeg2014-12-14 Kuupäev, millal dokument üles laeti
    Allalaadimisi 21 laadimist Kokku alla laetud
    Kommentaarid 0 arvamust Teiste kasutajate poolt lisatud kommentaarid
    Autor 213757 Õppematerjali autor
    Modelleerimise aine klassidiagrammide konspekt, seletused, kuidas klassidiagramme teha ja luua.

    Sarnased õppematerjalid

    Süsteemianalüüs - Neljas loengutöö
    9
    docx

    Süsteemianalüüs - Neljas loengutöö

    modelleerimisega, siis nüüd modelleerime neid konkreetse iteratsiooni tarkvara nõuete ja kasutusjuhtude kontekstis suurema täpsusega. Domeenimudelid tehakse peamiselt detailimisfaasis (elaboration) iteratiivselt. Algfaasis tehtav domeenimudeli eskiis on kasulik, kuid tõestamata kvaliteediga. PS. Seda saab teha ka siis, kui äriprotsesse pole eelnevalt kirjeldatud. Põhisammud 1. Identifitseerida kontseptuaalsed klassid, mis on seotud jooksva iteratsiooni nõuetega. 2. Luua esialgne domeeni mudel (just selle iteratsiooni fookuses olevate nõuete ja kasutusjuhtude jaoks. 3. Eristada korrektseid ja mittekorrektseid atribuute. 4. Lisada spetsifikatsiooni klasse (n Konspekti spetsifikatsioon kirjeldab konkreetse aine kindlat konspekti), kus on vaja: Lisada tüüpide ja olekute klassifikaatoreid, sinna kuhu on neid vaja Võrrelda ning vastandada kontseptuaalset ning realisatsiooni vaadet.

    Süsteemianalüüs
    Andmebaaside eksami kordamisküsimuste vastused
    56
    doc

    Andmebaaside eksami kordamisküsimuste vastused

    kasutatav nn. Query Designer). QBE'd kasutav andmebaasisüsteem on interaktiivne: kogu töö tehakse dialoogi vormis konsooli (klaviatuuri ja kuvarite vahendusel). Peamine vahend millega süsteemiga suheldakse on aken; Viimaseid on kahte tüüpi: - skeemi aken; - tingimuste aken. 3 ERD (Entity Relationship Diagram) - Olemi-suhte diagrammi kasutatakse andmebaasi kohta käivate nõudmiste modelleerimiseks. Ta luuakse infosüsteemi detailanalüüsi käigus. Olemi-suhte diagrammi kasutatakse andmebaasi projekteerimiseks. Tegemist on ülalt-alla lähendamisega süsteemiarendusele, mille käigus leitakse kõigepealt olulised andmeobjektid ja seosed nende vahel. Seejärel lisatakse andmeobjektidele atribuudid, et näidata milliseid andmeid soovitakse mingi objekti kohta säilitada. Samuti lisatakse piirangud.

    Andmebaasid I
    Modelleerimine - 2 KT
    6
    docx

    Modelleerimine - 2 KT

    inimene, võib seda pidada ärivald(konnaks). Raamistik rakendub igale ettevõttele, ükskõik kui keerukas see ka poleks. Puhas valdkond – Ülemised kaks rida. Kõik muu on IT infrastruktuur. Just in case kui ta küsib – CIM – Computing Indepedent Model – ülalt teine rida PIM – Platform independent Model – kolmas rida PSM – Platform Specific Model – neljas rida Kood – Viies rida 2. Objektide modelleerimine ja klassidiagrammid Objektorienteeritud progemises on põhilisteks elementideks klassid, objektid ja nendevahelised seosed. Klasse ja seoseid saab tõlgendada programmikoodiks. Objekt – Element, nähtus, asi, millest me räägime ja/või tegutseme nt tellimus, toode, arve, su ema Objektsüsteem – Modelleeritab osa maailmast, ka probleemvaldkond(nagu tuharad), domeen. Selleks võib olla suvaline süsteem, ka masin, organisatsioon, ärisüsteem jne. Klass vs Objekt

    Modelleerimine
    Objektorienteeritud programmeerimise loengutekst
    40
    odt

    Objektorienteeritud programmeerimise loengutekst

    · Privaatsed väljad ja meetodid on nähtavad ainult klassi sees; väljastpoolt on nähtavad ainult avalikud väljad ja meetodid. (Tavaline jaotus: väljad privaatsed ja meetodid avalikud.) · Soodustab suurte programmide hallatavust, kuna objekti "kasutaja" ei pea teadma midagi selle sisemistest realisatsioonidetailidest. · public, protected, private või juurdepääsu piiritlejat pole · Kui juurdepääsu piiritlejat ei kasutata, siis klassid, meetodid ja andmeväljad on kättesaadavad sama paketi kõikides klassides. Pärilus (ingl. inheritance) · Klassid võivad olla üksteise suhtes pärilusseoses. · Alamklass pärib kõik ülemklassi väljad ja meetodid. · Enamikes keeltes igal klassil ülimalt üks otsene ülemklass. Javas ka. · Mõnedes keeltes (näit. Python) on lubatud ka mitmene pärimine. · Pärimine soodustab koodi korduvkasutust. 2. Loeng Konstruktoritest veel Piiritleja (ingl

    Programmeerimine
    Enesetestid teemadest 2-10
    88
    pdf

    Enesetestid teemadest 2-10

    Küsimus 2 Kriitiline tee on : Vali üks: a. projektiga seotud tegevuste jada, mille läbimise tulemusena tekkib kriis b. meetod, mis võimaldab vähendada projektiriske c. Ei ole nimetatud d. maantee, mis on kiiruskaameraid ja politseid täis e. meetod, mis arvutab projekti lõpetamise päeva, lähtudes ülesannete kestvusest ja järjekorrast Küsimus 3 Tööjaotamise struktuur (WBS, work breakdown structure) tähendab Vali üks: a. Töötellimist välispartnerite käest b. Use-Case diagrammi detailsemaks tegemist c. Ei ole nimetatud d. Projekti jaotamist juhitavateks tegevusteks ja ülesanneteks e. Projektile finantsvahendite tellimist Küsimus 4 Kuidas nimetakse inimest, kes otsustab, millised funktsioonid süsteem peab täitma ja palju selle eest saab maksta? Vali üks: a. Ei ole nimetatud b. Süsteemi omanik c. Süsteemi analüütikud d. Süsteemi disainerid e. Programmeerijad Küsimus 5 Projekti algatamise käigus tuleb tegeleda: Vali üks või enam: a

    Infosüsteemide analüüs ja projekteerimine
    Objektorienteeritud JAVA konspekt esimeseks kontrolltööks
    10
    pdf

    Objektorienteeritud JAVA konspekt esimeseks kontrolltööks

    1. Milles seisneb static typing ja dynamic typing erinevus? Static- Muutuja tüüpi on teada kompileerimise ajal ning seda muuta ei saa. See vähendab vigade hulka programmi töö ajal. Dynamic – Muutuja tüüp selgub programmi töö ajal. 2. Milliseid piiranguid seavad nähtavusele proteced ja package-private (default) nähtavused? Public – nähtav kõigile Package private- nähtav paketi sees Private – nähtav klassi sees Protected – nähtav paketi sees ja alamklassidele 3. Mis on Oracle Java virtuaalmasina (JVM) nimi? Kes ei tea, kukub ainest läbi :) JRE Java Runtime Environment – java programmi käivitamiseks JDK – Java Development Kit - arendusvahend java programmi arendamiseks 4. Tüübiteisendus - milleks vajalik, kuidas kasutatakse? Fruit a = new Apple(); Alamtüüp. Deklareeritud tüüp -- Loodud tüüp.Millist tüüpi deklareerida? - Eelistada alati üldisemat tüüpi Alamtüüpi objekti same alati kasutada ülemtüübina(implicit casting). Apple b = new Appl

    Objektorienteeritud programmeerimine JAVA
    Andmebaasid
    14
    docx

    Andmebaasid

    Pärnumaa Kutsehariduskeskus AA-09 ANDMEBAASID Referaat Johanna-Margret Kakko 2010 SISUKORD ANDMEBAASID. Informatsioon ja andmed. Andmebaaside põhifunktsioonid. Andmebaaside tüübid. Andmelaod ja andmeaidad. ANDMEBAASIDE PÕHIMÕISTED. Objektid, atribuudid, võtmed, indeksid. Seosed 1:1, 1:M, M:M. Atribuutide tüübid. Normaliseerimine, normaalkujud (3). Semantilised mudelid (UML). Andmebaaside käivitamine (installeerimine, avamine). Uue andmebaasi loomine (objektsüsteemi analüüs). Olemasoleva andmebaasi kopeerimine. TÖÖ TABELITEGA. Tabeli väljade lisamine, kustutamine, ümbernimetamine. Primaarne võti. Väline võti. Unikaalne entifikaator. Tabelite seostamine (relatsioonid). TÖÖ ANDMETEGA. Andmet

    Arvutiõpetus
    Andmebaasid I - eksamiküsimused
    30
    docx

    Andmebaasid I - eksamiküsimused

    Selle põhjal saab luua andmebaasi tehnilise kirjelduse erinevate keskkondade jaoks. 17. Kontseptuaalne andmemudel (teema 7) Kontseptuaalne andmemudel on mittetehniline mudel, mis kirjeldab süsteemi baasandmeid. Ta kirjeldab nõudeid andmebaasile, aga mitte andmebaasi tehnilist realisatsiooni. Kontseptuaalse andmemudeli võimalikku struktuuri kirjeldab järgmine valem: Kontseptuaalne andmemudel = andmebaasi kontseptuaalset struktuuri esitavad diagrammid + diagrammide elementide tekstilised spetsifikatsioonid (semantika kirjeldus) + andmetega seotud kitsenduste spetsifikatsioonid. Võib dokumenteerida kasutades olemi-suhte diagrammid, olemitüüpide, atribuutide ja seosetüüpide definitsioonid. Olemi-suhte diagramme võib luua kasutades UML klassidiagramme kasutades alamosa UML klassidiagrammide notatsioonist Üks võimalik alternatiiv oleks dokumenteerimine ORM (Object-Role Modeling) mudelite abil (http://www.orm.net)

    Andmebaasid




    Kommentaarid (0)

    Kommentaarid sellele materjalile puuduvad. Ole esimene ja kommenteeri



    Sellel veebilehel kasutatakse küpsiseid. Kasutamist jätkates nõustute küpsiste ja veebilehe üldtingimustega Nõustun