kati rääk proseminaritöö - tlu...kommunikatsioon on teabe edastus ja vastuvõtt kindla...
Post on 11-Jul-2020
0 Views
Preview:
TRANSCRIPT
Tallinna Ülikool Matemaatika-Loodusteaduskond
Informaatika osakond
UML-skeemide vormistamine Proseminaritöö
Koostanud: Kati Rääk Juhendaja: Inga Petuhhov
Tallinn 2005
Sisukord
Sisukord................................................................................................................................. 1
Sissejuhatus ........................................................................................................................... 3
1. Mudelid ja kommunikatsioon........................................................................................ 4
2. Tarkvaraarenduse spetsiifikast ja mudelite osatähtsusest.............................................. 6
3. Visuaalne kompositsioon............................................................................................. 10
3.1 Taju ja kogemus .................................................................................................. 10
3.2 Visuaalse ülekoormuse vältimine........................................................................ 12
3.2.1 Järk-järguline avaldamine (Progressive disclousure) .................................. 12
3.2.2 Detailide peitmine (Detail hiding)............................................................... 16
3.2.3 Eraldamine ja kiht-kihiline esitlemine (Layering and separation) ............. 17
3.3 Efektiivse diagrammi esteetika............................................................................ 17
3.3.1 Joon ja kontuur (Line and contour) ............................................................. 17
3.3.2 Mõõt ja proportsioon (Scale and proportion) .............................................. 20
3.3.3 Tasakaal (Balance) ...................................................................................... 22
3.3.4 Värv (Color) ................................................................................................ 23
3.3.5 Rõhutamine (Emphasis) .............................................................................. 27
3.3.6 Kordamine ja rütm (Repetition and rhythm) ............................................... 27
3.3.7 Kooskõla ja harmoonia (Unity and harmony) ............................................. 28
3.4 Esitlus (Presentation)........................................................................................... 28
3.4.1 Kuvamine seinale (Screen projection)......................................................... 28
3.4.2 Väljatrükk (Hard copy printouts) ................................................................ 29
Kokkuvõte ........................................................................................................................... 30
Kasutatud kirjandus ............................................................................................................. 31
Sissejuhatus
Tarkvaraarenduses hõlmab tarkvarasüsteemide projekteerimine olulise osa kogu
tegevusest. Projektide koostamiseks ja projekteerimise käigus toimuva kommunikatsiooni
toetamiseks on otstarbekaks kasutada erinevaid skeeme. Hästi loetav ja korrektselt
koostatud skeem lihtsustab inimeste vahelist kommunikatsiooni, aitab vajalikku lihtsamalt
ja ülevaatlikumalt väljendada. Oskamatult ja loetamatult koostatud skeem võib aga
arusaamise hoopis keerulisemaks teha.
Käesoleva töö eesmärgiks on, kirjandusele toetudes, lahti seletada heade skeemide
koostamise põhimõtteid, tuues sinna juurde ka näiteid.
Töö koosneb kolmest osast. Esimeses osas on juttu mudelitest üldiselt ja info levimisest
inimeste vahel, teises osas tarkvaraarenduse spetsiifikast ja mudelite osatähtsuses ning
mudelite konstrueerimisest ning kolmandas osas kuidas UML-skeeme visuaalselt
korrektselt koostada (UML [Unified Modeling Language] on standardiseeritud viis
süsteemide modelleerimiseks).
Skeemide joonistamiseks on kasutatud programmi Poseidon for UML Community Edition
3.2.
1. Mudelid ja kommunikatsioon
Mudelid on alati olnud oluline osa inimtegevusest. Me loome mudeleid, mis baseeruvad
viiele meeleorganile: nägemis-, kuulmis-, haistmis-, maitsmis- ja kompimismeelele. Me
loome mudeleid liikumisest, kujust, vahemaast, ajast ja põhjus/tagajärjest, püüdes seostada
seda uue ja segase maailmaga meie ümber. Alustades peaaegu puhtalt lehelt, peame me
jõudma iga uue kogemuse mõistmiseni. [1, lk 1]
Mudelid on samuti võtmeks keerukate mõistete edastamisel teistele inimestele. Kuna ükski
inimene ei jaga täpselt sama kogemuste pagasit, siis ükski mudel ei ole täpselt sama.
Näiteid mudelitest ja nende eesmärkidest [2, lk. 2-3]:
� matemaatilise mudelid astronoomilisteks ja majanduslikeks prognoosideks –
prognoosi saamiseks;
� kirja- ja kõnekeel, sümbolid, terminoloogia, kaardid ja graafikud – õpetamiseks,
informatsiooni edastamiseks;
� arhitektuurilised ehitusplaanid, UML diagrammid tarkvara arenduseks –
plaanide konstrueerimiseks;
� teaduslikud teooriad, matemaatiline/loogiline sümboolika – uurimusteks/
põhjuste illustreerimiseks;
� raamatukogu register, geograafilised kaardid – navigatsiooniks;
� maalid, tants, muusika, draama – emotsionaalse vastukaja esilekutsumiseks;
� UML mudelid, kognitiivsed mudelid – teiste mudelite kirjeldamiseks,
seletamiseks.
Mudelit võib defineerida kui komplektse süsteemi lihtsustust eesmärgil seletada
spetsiifilisi detaile. [1, lk. 2]
Mudel on kindlas vastavuses mingi teise objektiga (originaaliga), asendab seda
tunnetamisel ja võimaldab selle kohta saada vahendatud andmeid. [11, lk 434]
Kõige vähem kasulikeks mudeliteks võib lugeda selliseid mudeleid, mis vastavad saja
protsendiliselt süsteemile endale. Iga suure süsteemi puhul, mis on suuremad sellest, et
neid saaks korraga haarata, on vaja loovutada mõned täpsused. [1, lk.3]
Mudelite loomisel on esmalt vaja kommunikatsiooni keskkonda (keelt, pilte, žeste jne.) ja
seejärel tõlgendada oma mudelid, et tekiks seostatud mõistmine mudeli ja maailma vahel.
Ilma selleta on väga raske ühel inimesel seletada teisele mingit nähtust või süsteemi. [1,
lk.2]
Kommunikatsioon on teabe edastus ja vastuvõtt kindla märgisüsteemi varal.
Kommunikatsioon on mõtestatud märkide vahetus, mis vahendab isikute, gruppide või
kultuurisüsteemide teadmisi, väärtusi, norme. [10, lk 673]
Enne mudeli koostamist on modelleerijal vaja saada ettekujutus nendest, kellele see mudel
suunatud on. Vastasel juhul võib mudel olla ebaefektiivne ja seda valesti mõista. Et
kommunikatsiooni ideid mudelitega seostada, on kasulik mõista, kuidas informatsioon
levib inimeste vahel.
Üks esimesi kommunikatsioonimudelitest on loodud C. E. Shannoni poolt [13, lk. 2]:
Joonis 1.1: Shannoni kommunikatsioonimudel
Info levimise mudeleid on koostanud teisedki. Joonisel 1.2 on kujutatud Lasswelli ja Satiri
info levimise mudelid inimeste vahel. [1, lk. 4]
Lasswell,H.B.
Satir, V
Joonis 1.2: Lasswell’i ja Satir’i kommunikatsioonimudelid
2. Tarkvaraarenduse spetsiifikast ja mudelite
osatähtsusest
Tarkvara spetsifikatsiooni (detailne kirjeldus) eesmärgiks on kui kindlaks teha, mida
vajatakse süsteemilt ja millised piirangud on süsteemi kasutamisel ja väljatöötamisel.
Sageli kutsutakse seda tingimuste, nõuete tehnikaks (requirements engineering). See on
oluline etapp tarkvaraarenduse protsessis, sest vead selles etapis põhjustavad hilisemaid
probleeme süsteemi projekteerimisel ja rakendamisel. Seda protsessi illustreerib joonis 2.1.
[4, lk. 55]
Joonis 2.1
Tarkvara projekteerimise protsess võib kaasata mitmete süsteemimudelite väljatöötamist.
Joonisel 2.2 on välja toodud mudel, mis näitab erinevaid projekteerimise etappe. [4, lk. 57]
Joonis 2.2
See on väga üldine projekteerimise protsessi mudel ning reaalsed protsessid võivad
kohanduda erinevalt.
Tarkvara projekteerimise meetodid toetuvad järgnevatele süsteemimudelitele [4, lk.59]:
� andmevoo mudel (a data-flow model);
� olem-seos mudel (an entity-relation model);
� struktuurne mudel (a structural model);
� objekt-orienteeritud mudel (object-oriented model).
Kui arendatakse tarkvarasüsteeme, peab iga inimene arendusmeeskonnast peab mõistma
ühtemoodi süsteemi vajadusi ja eesmärke. See informatsioon on sageli kogutud mõne
spetsialisti poolt, kes esitab selle info meeskonnaliikmetele, kasutades mitmeid visuaalseid
ja tunnetuslikke mudeleid. [1, lk. 2]
UML on maailmas üha enam leviv standardiseeritud viis süsteemide modelleerimiseks.
UML loomise eesmärkideks on modelleerida süsteeme objekt-orienteeritud (OO) tehnikaid
kasutades alates nende mõistetest kuni rakenduslike tehisteni välja; võimaldata tööd ka
suuremahuliste ja keeruliste süsteemidega; luua modelleerimiskeel, mida suudaksid
lugeda nii inimesed kui masinad. UML kasutusalaks on kõikvõimalikud süsteemid:
infosüsteemid, tehnilised süsteemid, reaalajasüsteemid, hajussüsteemid, ärisüsteemid jne.
UML on keel süsteemi visualiseerimiseks, spetsifitseerimiseks, väljatöötamiseks ja
dokumenteerimiseks. UML-i modelleerimistehnikatest saab lähemalt lugeda Liina Langi
bakalaureusetööst. [14]
Mudeli konstrueerimisel tuleb esmalt valida teema ja võtmeabstraktsioon, seejärel leida
elemendid ja suhted nende vahel ning koostada mudeli vaated. Oluline on pöörata
tähelepanu subjekti olulistele iseloomuomadustele ja otsustada kas nad peaksid sisaldama
mudelis. Hästi valitud võtmeabstraktsioon aitab valida efektiivse mudeli keskpunkti.
Võtmeabstraktsiooni leidmine on sageli kõige raskem modelleerimise juures, sest tuleb
näha kuidas süsteemi elemendid omavahel käituvad. Modelleerimis subjekti elemente võib
käsitleda kui “asju”, mis moodustavad terviku. Terviklikud mudelid on väga kasulikud
tarkvara arenduses, sest neid võib kiirelt luua ja modifitseerida väheste disaini vahenditega.
[2, lk. 7-9]
Elementide vahelisi suhteid on mitmeid [2, lk. 9-10]:
1 Aatom-suhe (atomic relationship) – elemendid ei sõltu teistest elementidest.
Joonis 2.3: aatom-suhe
2 Täielik/rolliline suhe (Whole/part relationship) – seotud elemendid ei ulatu
süsteemi kontekstist välja.
Joonis 2.4: täielik/rolliline suhe
3 Viitamisega suhe (Reference relationship) – üks element viitab teisele, kuid ei ole
selle elemendi omanik.
Joonis 2.5: viitamisega suhe
4 Eraldav suhe (Abstract relationship) – üldelement on jagatud spetsiifilistemaks
elementideks.
Joonis 2.6: eraldav suhe
Tarkvara arenduses enamikest mudelitest koostatakse erinevaid vaateid, mida vastavalt
sihtgrupile kasutatakse. Iga vaade tüüpiliselt sisaldab piiritletud fookust. UML-is on
vaateid liigitatud järgnevalt [2, lk. 11]:
� struktuursed ja dünaamilised vaated süsteemi disainiks;
� kasutuslugude vaated süsteemi funktsiooni kirjeldamiseks;
� konstruktsiooni vaated komponentide loomiseks;
� arhitektuuri vaated süsteemi installeerimise kirjeldamiseks.
Iga vaade kirjeldab süsteemi erinevast aspektist lähtudes.
3. Visuaalne kompositsioon
Tarkvara arendajad kasutavad laialdaselt diagramme, et teha tarkvara programmide
nähtamatud aspektid inimestele arusaadavamaks. Üheks võimaluseks diagramme luua on
kasutada UMLi (Unified Modeling Language). See modelleerimiskeel on olnud üldises
kasutuses alles aastast 1997 ning on see saanud tegelikult standardseks tarkvara
konstruktsioonide visuaalsel esitlemisel ja see on varustatud laialdase
modelleerimistööriistade valikuga. Kuid diagrammide kasutamine on kasulik ainult siis,
kui nad on sihtrühmale kergelt mõistetavad. [3, lk. 1]
3.1 Taju ja kogemus
Esmane informatsiooni allikas inimestele on visuaalne taju.
Taju on psüühiline protsess, mis seisneb esemete ja nähtuste meelelises tervikpeegelduses,
ühendab ja korrastab aistinguid tajukujundiks, vahendab objektiivset maailma ning aitab
kohaneda keskkonnaga. [12, lk. 208]
Inimestel on parem aru saada väga keerukatest probleemidest, kui need probleemid on
esitatud sobilikus visuaalses vormis. Selle sobiliku vormi leidmine on sageli tõeline
väljakutse. Psühholoogid on loonud tajuteooria, mida tuntakse Geštalt teooria nime all
(saksa keelsest sõnast “kuju”) [3, lk. 2]. See lähtub seisukohast, et psüühikaprotsessides
valitseb struktuur elementide üle ja terviku omadusi ei saa tuletada elementide omadustest.
See põhineb meie võimel eristada kujundeid taustast [9, lk. 158]. Kuid need kujundid
peavad olema tuttavad vaatajale või kujutatud selliselt, mis kutsub esile õige vastuse.
Samuti kui esitada tuttavaid elemente mittetuttavas kontekstis või ebasobilikul teel, kutsub
see esile segadust ja mittemõistmist. Vaadates joonist 3.1, näeme, et esimesel elementide
paigutuse viisil (A) on sarnased elemendid selgemini äratuntavad kui teisel juhul (B). [3, lk
2]
Joonis 3.1: visuaalne äratundmine elementide paigutuse abil
Taju püsivus – see on kui hoida igat elementi geomeetriliselt konstantsena. See on võti, et
kindlustada mõistmist ning see on oluline sellepärast, et oma mõistuses me seostame uusi
kujundeid varemomandatutega. See on eriti tähtis, kui me kasutame intuitiivset mõtlemist,
et seostada mudeli elemente reaalse elu objektidega. Intuitiivne mõtlemine toetub mudeli
vaataja tavalisele kogemusele järeldada õigesti sümbolite tähendust. [3, lk. 2-3]
Näiteks liiklusmärgid kasutavad sageli intuitiivseid sümboleid – metafoore (joonis 4.2):
� Teetööd;
� Metsloomad teel;
� Jalakäijad teel.
Joonis 3.2: liiklusmärgid kasutavad metafoore
Tarkvaras kasutatakse samuti metafoore.
UMLi kasutuslooskeemid on lähedased intuitiivsetele mudelitele: kriipsujukud kujutamaks
süsteemi kasutajaid. Kuid kasutatakse ka teistsuguseid kujundeid ning seetõttu peavad
modelleerijad lisama tekstilisi juhtnööre, et vaatajad tõlgendaksid visuaalseid elemente
korrektselt.
Joonis 3.3 näitab erinevust ebaefektiivse ja efektiivse diagrammi vahel. Ebaefektiivsel
diagrammil vasakul on kasutatud mittekirjeldavaid märgistusi A, B. Parempoolsel
diagrammil on aga kirjeldavad nimed märkimaks süsteemi kasutajaid ja tegevusi. Mustad
nooled, pastelsed värvid ja horisontaalsed/vertikaalsed jooned on kasutatud diagrammis, et
aidata vaatajal kiirelt aru saada diagrammi elementidest.
[3, lk. 3]
Joonis 3.3: ebaefektiivne (vasakul) ja efektiivne (paremal) diagramm
3.2 Visuaalse ülekoormuse vältimine
Et vaatajad sümbolitest korrektselt aru saaksid, tuleb lisada diagrammi rohkem
informatsiooni. Kuid sellega tuleb olla ettevaatlik, et vältida visuaalsed ülekoormust. Tihti
ei ole kasulik kogu infot ühe korraga avada. Mitmed tehnikad on võimelised kontrollima
seda, kui palju ja kuidas info vaatajateni jõuab. Sinna hulka kuuluvad järk-järguline
avaldamine, detailide peitmine, süsteemi detailide eraldamine ja kiht kihiline esitlemine.
[3, lk. 4]
3.2.1 Järk-järguline avaldamine (Progressive disclousure)
Järk-järguline avaldamine annab vaatajale järgemööda detailsemat informatsiooni mingist
elementide hulgast. Selline kasvav info esiletoomine võimaldab vaatajal säilitada seost
elementide vahel järjest kasvavas keerulises mudelis. [3, lk. 4]
Joonistel 3.4 A-C olev klassiskeem on järk-järgulise avaldamise näiteks. Joonistele 3.4 B
ja C on lisatud täiendavaid elemente.
Joonis 3.4 A: seosed raamatukogus olevate raamatute, raamatukogu ja lugejate vahel
Joonis 3.4 B: eelneval joonisel olevatele seostele lisandub statistika laenutuste kohta, nõudluse kontroll
Joonis 3.4 C: eelneval joonisel olevatele seostele lisandub nõudluse kontrolli täpsustus: nõudlus
raamatute järgi ja lugejate soovid
Joonis 3.5 näitab järjestikuse avaldamise teistsugust vormi. Elementide ühenduste juures
on äratoodud ka kordsused, rollid.
Joonis 3.5: elementide ühenduste juures on ära toodud kordsused ja rollid
3.2.2 Detailide peitmine (Detail hiding)
UML näeb ette laialdast informatsiooni tarbimist. Eriti struktuursete elementide (klasside,
ühenduste) kasutamist. Mudel võib sisaldada palju rohkem informatsiooni kui enamikele
inimestele vaatamiseks vaja. Esmane UML diagrammide eesmärk on võimaldada
disaineritel ja programmeerijatel mõistlikult arutleda väljundsüsteemi elementide üle. Need
diagrammid ei ole detailsed konstruktsioonprojektid, nagu on ehitusprojektid. Iga meetodi,
atribuudi, rolli, kordsuse ja nii edasi lõplik väljatoomine iga süsteemiklassi kohta muudab
diagrammi segaseks, arusaamatuks ja lõppkokkuvõttes kasutuks. [3, lk. 6]
Üldisel süsteemikirjeldusel ei ole näiteks kõigi atribuutide ja operatsioonide väljatoomine
mõistlik.
Joonis 3.6: detailide peitmisel jäetakse ära atribuudid ja operatsioonid
3.2.3 Eraldamine ja kiht-kihiline esitlemine (Layering and separation)
Süsteemi elementide eraldamine ja kiht-kihiline esitlemine on sarnased järk-järgulisele
avaldamisele. Kuid see tehnika on efektiivsem ühendamatute, kuid omavahel seotud
esitluste jaoks. Näiteks inimkeha sisaldab mitmeid omavahel seotud süsteeme.
Närvisüsteem ja lihassüsteem on olulised liikumiseks. Kui esitleda ühte nendest
süsteemidest eraldi, siis ei saa kogu pilti sellest, kuidas toimub lihaste kokkutõmbumine
liikumisel. Kuid kui esitleda mõlemat süsteemi üheaegselt võib tulemus olla visuaalselt
segane. Parim lähenemine on eraldada need kaks vaadet. Esmalt esitleda pilt
lihassüsteemist ja seejärel järkjärgult tuua juurde närvisüsteem. Sellisel teel vaataja näeb
esmalt ühte süsteemi isoleeritult ning kiht-kihilise esitlemise tõttu tekib mõistmine esimese
ja teise süsteemi seotuse üle. Tarkvaraarenduse juures saab kasutada sarnast lähenemist. [3,
lk. 6-7]
3.3 Efektiivse diagrammi esteetika
Diagrammide esteetika hõlmab rohkem kui ilusate piltide loomist, see on efektiivse
mudelivaadete loomine. Mudeli diagrammid ei ole nagu abstraktne kunst, vaid see eeldab
maksimaalset selguse taset. Rohkem tähelepanu tuleb pöörata joontele ja kontuuridele,
mõõdule ja proportsioonile, tasakaalule, värvidele ja diagrammielementide
üldkompositsioonile. Need on olulised mudeli informatsiooni meelespidamisel. [3, lk. 7]
3.3.1 Joon ja kontuur (Line and contour)
Jooned on olulisteks elementideks paljudes diagrammides. Need on eriti olulised UMLi
põhistel diagrammidel, kus jooned tähistavad erinevaid suhteid elementide vahel. Näiteks
tüüpilisel klassdiagrammil on kaks põhilist joonte vormi [3, lk. 7]:
� pidevjoon;
� punktiirjoon;
ja palju nooleotsi:
� erinevad nooled üldistussuhte seose näitamiseks;
� lihtne pidev nool ühendamiseks;
� teemantlõpuga nool näitamaks sisaldust:
1. seest täis – kompositsioon;
2. seest tühi – agregeerimine.
Joone vorme tuleb valida hoolikalt kuna iga joone variant on erineva tähendusega. Kõik
suhtejooned (relatinship lines) peavad olema võrdse kaaluga ja sobima kontuurjoontega.
Kui suhtejooned ei ole sobilikus kaalus, põhjustavad nad vaatajas segadust ning paksemad
jooned rõhutavad tähtsust, kuigi seda vaja pole (joonis 3.7 A). Kui kontuurjooned on liiga
rasked, suruvad nad alla suhtejooned ja teevad ülddiagrammi raskemini mõistetavaks
(joonis 3.7 B). [3, lk. 7-8]
A B Joonis 3.7
Joontekasutuse teine valik on kasutada kas horisontaalseid/vertikaalseid või kaldjooni.
Kaldjooned võivad olla mistahes nurga all. Kaldjooned teevad diagrammi visuaalselt
rohkem segaseks, sest nad on mitteregulaarsed. Meil on lihtsam tajuda täisnurki ja
regulaarseid kujundeid. [3, lk. 8]
Vaadates joonist 3.8 näeme, et parempoolsest joonisest on märksa lihtsam aru saada.
Tüüpiliselt me loeme tekste vasakult paremale ja ülevalt alla. See mõjutab seda, et me ka
diagramme loeme sarnasel teel. Me eeldame, et üleval vasakus nurgas olev informatsioon
on alguspunkt ja all paremas nurgas lõpppunkt. [3, lk. 8]
Seepärast on parempoolne joonis palju mugavam enamikele vaatajatele.
Joonis 3.8
Tähtis on ka vältida ristuvaid jooni ja sõlmi diagrammides. Mitmed ristuvad jooned
tekitavad ämblikuvõrgu efekti: silm ei ole võimeline kaua mingit joont jälgima kui see
lõikub teiste joonte või objektidega. Eriti kehtib see kaldjoonte puhul. Peaaegu alati on
võimalik vältida ristuvaid jooni paigutades elemente ringi (vt. Joonis 3.9 A, 3.9 B). Kui
ristuvaid jooni pole võimalik vältida, tuleks joonte ristumiskoht viia 90º nurga alla. See
vähendab negatiivset efekti. [3, lk. 9]
Joonis 3.9 A
Joonis 3.9 B
3.3.2 Mõõt ja proportsioon (Scale and proportion)
Diagrammid sisaldavad sageli mitmeid objekte samas vaates (näiteks mitmeid kaste). Mõõt
näitab ülddiagrammi suurust, proportsioon näitab iga diagrammi elemendi suhtelist
suurust. Nii mõõt kui ka proportsioon peavad olema tasakaalus, et saavutada visuaalselt
meeldivat diagrammi.
Esimene proportsiooni reegel on kuldlõige, mis on suhe ligikaudu 1:1,62. [3, lk. 10]
Kuldlõige (jumalik proportsioon) on suhe, mida võib tähele panna väga paljudes kohtades.
Kuldlõige on lõigu jaotamine kaheks nii, et lõigu pikkus suhtub pikemasse osasse nii nagu
pikem osa suhtub lühemasse. Kuldlõike suhtearv, mille ligikaudne väärtus on
1.618033988749894848204586834365638117720309180..., on irratsionaalne avaldis.
Jumalik proportsioon esineb paljudes huvitavates seostes [10]. Antiik kreeklased avastasid
mitmeid looduslikke objekte, nagu männi käbid, lilled, loomade kilbid ja kojad, mis olid
oma proportsioonidelt sama suhtega [3, lk. 10]. Kuldlõige sai suurema avaliku tähelepanu
osaliseks renessanssi-ajastul. Just siis oli oluline jumalike sõnumite edastamine.�Kuldlõike
termini võttis kasutusele Leonardo da Vinci. Kui me mõtleme, et mingi asi on heas
tasakaalus, siis peame silmas just kuldlõiget. Taju otsib tasakaalu (ja see ei ole 1:1). [6]
Joonis 3.10: spiraalis olevad lõigud on kuldlõikes [5]
Joonis 3.11: teokarbid, kus järjestikuste segmentide suhe on kuldlõikes [5]
Diagrammide loomisel on see suhe (1:1,62) kõige kasulikum, kui luuakse nelinurkseid
objekte. Joonisel 3.12 A oleval olekuskeemil on kõik elemendid erinevate suurustega.
Joonisel 3.12 B on iga element oma proportsioonidelt kuldlõikes. Nagu näha on joonis 3.12
B visuaalselt palju parem.
Erinevused elementide suuruses muudavad diagrammi sisust arusaamise raskemaks.
Ühesugune elementide suurus vähendab visuaalset pinget ja lubab vaatajal keskenduda
mudeli sisule mitte presentatsiooni detailidele. [3, lk. 10-11]
A B Joonis 3.12
3.3.3 Tasakaal (Balance)
Tasakaal tähendab elementide asetust diagrammis. Enamikel juhtudel on soovitav
elemendid paigutada sümmeetriliselt (nii vertikaalselt kui ka horisontaalselt). See
tähendab, et vasakul peab olema sama palju elemente kui paremal ja ülal sama palju kui all
(joonis 3.13). [3, lk. 11]
Joonis 3.13
Enamik inimesi leiab, et sümmeetriliselt paiknevate elementidega pildid annavad edasi
stabiilsust ja rahulikkust. Sümmeetrilised pildid peegeldavad paljusid elus asju, mis on
radiaal- või telg- (bilaterally) sümmeetrilised. Ebasümmeetrilisi diagramme saab kasutada
kui tahetakse näidata aktiivsust või liikumist. Samuti spetsiifilise elementide gruppi
rõhutamiseks. Diagrammis, mille fookus on keskpunktis, viib tähelepanu keskpunkti. Kui
elemendid on koondunud diagrammi äärtesse, viib see tähelepanu keskpunktist eemale.
Kuid kui selliseid asümmeetrilisi diagramme ei konstrueerita hoolikalt, võivad nad olla
seostamatud ja segased. [3, lk. 11]
3.3.4 Värv (Color)
Värvide teooria on suur teema, mida on laialdaselt käsitletud paljudes väljaannetes.
Arusaamad sageli baseeruvad kogemusel. On selge, et värve saab kasutada efektiivselt
mudeli elementide eristamiseks, kuid seal ei ole kindlat teooriat selle kohta, millised
värvikombinatsioonid on kõige efektiivsemad. Värvid võivad teha suuri muutusi
diagrammi esteetilises kvaliteedis ja sisust arusaamisel. Kuid värvid võivad põhjustada
samuti visuaaset lärmi, segadust ja isegi ebamugavust vaatajale.
Kõige tavalisem värvisuhete esitlus on värviring, mille avastas Isaac Newton 1666 aastal.
Traditsiooniline värviring (joonis 3.14) näitab nähtavat värvispektrit. Põhivärvideks on
punane, sinine ja kollane. Neid värve saab omavahel segada kõikideks teisteks nähtavateks
värvideks. [3, lk. 12]
Joonis 3.14: värviring
Inimsilm tajub kõiki värve läbi spetsiaalsete struktuuride kompleksi võrkkesta (retina)
tagumises osas, mis reageerivad närviimpulssidega erinevatele valguse lainepikkustele. [8]
Joonis 3.15: silm [8]
Hilisemates avastustes anatoomias ja psühholoogias on esikohal teooriad, mis käsitlevad
punast, sinist ja rohelist kui esmaseid värve, sest need on need värvid, mida kolm tüüpi
võrkkesta kolvikesi meie silmas suudavad tajuda. [8]
Joonis 3.16: eri tüüpi võrkkesta kolvikeste paiknemine silmas [8]
Teadmised inimpsühholoogiast aitavad meil tuletada mõned reeglid värvide kasutuse kohta
diagrammis. Need reeglid arvestavad nii võrkkesta kepikeste ja kolvikeste jaotusega kui ka
muutustega läätses, et korralikult kujutist näha.
Värviliste diagrammide loomisel tuleks arvestada järgnevat [3, lk. 12]:
1 Üheaegselt mitte kasutada küllastunud värve. See põhjustab silmade läätsedes
järske muutusi, mis viib silmade väsimiseni. Küllastunud värvid tuleks asendada
näiteks pastelsetega või muude värvidega, mis paiknevad spektris lähestikku.
2 Mitte kasutada puhast sinist tekstis, peenikestes joontes ja väikestes kujundites.
Kuna võrkkesta keskel puuduvad kolvikesed, mis reageerivad sinisele, ei näe me
neid elemente korralikult. Kuid helesinine on väga hea taustavärv. Samuti tuleks
vältida lähedasi siniseid toone, mis erinevad ainult intensiivsuse poolest. Vastasel
juhul pole kujutised kuigi teravad.
3 Hele-tumeduselt võrdseid värve on raske kõrvuti või üksteise taustal vaadata, sest
nende piire on silmal raske tajuda ja seetõttu hakkavad need virvendama. Mida
kontrastsemad on üksteisega külgnevad värvid, seda kergem on neid tajuda.
4 Värviaisting sõltub vanusest, soost ja tervislikust seisundist. Vanemad inimesed,
mehed ja värvipimedad tajuvad värve nõrgemalt kui noored, naised ja terved
inimesed.
5 Peab olema teadlik ümbritsevast valgustuse tasemest. See mõjutab seda, kuidas me
tajume värvivarjundeid. Vältida õrnu värvivarjundeid elementide eristamiseks.
6 Sama värvitoon mõjub erinevas keskkonnas erinevalt. Valge taust ei mõjuta värvi
tajumist, seega mõjub tumepunane ristkülik valgel taustal tumepunaselt. Hele taust
aga rõhutab värvi tumedust ja seetõttu mõjub tumepunane ristkülik helepunasel
taustal veelgi tumedamalt, peaaegu lillakalt. Seevastu tumedal taustal tajume värvi
veelgi heledamana, kui see tegelikult on.
7 Kasutada musti kontuurjooni teravustamiseks. Ainult värvidel on raske teravust
saavutada.
8 Kuna kolvikesed, mis reageerivad punasele ja rohelisele paiknevad võrkkesta
keskel, vältida punase ja rohelise värvi kasutamist suure diagrammi äärtes.
9 Vastandvärvid kui ka naabervärvid sobivad hästi kokku.
10 Väheste värvide kasutamisel mitte kasutada koos punast ja rohelist või sinist ja
rohelist. See on oluline kõige sagedasema värvipimeduse vormi (punane-roheline)
puhul, samuti vähem sagedase vormi (sinine-roheline) puhul. Umbes 9%
elanikkonnast kannatab mingit tüüpi värvipimeduse all.
11 Värvid monitoril ei sobitu täpselt värvidega prinditud lehel.
Mõni põhivalem esteetiliseks värvikombinatsioonide kasutamiseks põhineb sellel, kuidas
meie aju tõlgendab värve (tunnetuslik mõtlemine). Näiteks meeldiv värvikombinatsioon
koosneb kolmest külgnevast värvist värviringil, kus üks värv domineerib teiste üle.
Atraktiivne täiendav värvikombinatsioon koosneb kahest värvist, mis on värviringil
üksteise vastas. Kahte värvust, mille liitudes tekib valge värvus, nimetatakse teineteise
suhtes täiendvärvusteks. Värviringil asuvad täiendvärvused vastakuti ja on ühendatud
mustade nooltega. [7]
Joonis 3.17: teineteise suhtes täiendvärvused
Naturaalsete värvide kombinatsioonid, nagu metsa pruuni, rohelise ja halli varjundid,
näivad vaatajale tuttavad ja meeldivad, kuigi nad ei lange standardsetesse suhetesse
värviringil.
Küllastunud või põhivärve tuleb kasutada kokkuhoidlikult, kuna nad nõuavad tähelepanu
ja võtavad ära tähelepanu teistelt elementidelt. Tugevate värvide ülekasutus samuti väsitab
ja varjutab teksti, mis paikneb tugevasti värvitud objektide peal või lähedal. Joonisel 3.18
A värvid aitavad meil elemente grupeerida ja eristada, tekst on kergesti loetav ning kõik
elemendid näivad sama tähtsusega. Joonisel 3.18 B küllastunud sinine varjutab teksti,
erepunane loob eksitava fookuse ja ereroheline tõmbab tähelepanu diagrammi äärtesse
ilma silmnähtava põhjuseta.
Joonis 3.18 A
Joonis 3.18 B
3.3.5 Rõhutamine (Emphasis)
Visuaalne rõhutamine diagrammis ei tohiks olla väga silmatorkav, kuid siiski selge ja
efektiivne. Iga väiksem muutus diagrammis võib muuta elemendi suhtelist positsiooni. See
põhineb Geštalt printsiibile elementide grupeerimisest või naaberelementide ühendamisest.
Elemente saab rõhutada ka isoleerides neid teistest elementidest.
Elemente on võimalik rõhutada, muutes nende kuju või proportsiooni. Näiteks kui on üks
ristkülikukujuline element ja kõik teised on ruudukujulised, siis ristkülikukujuline element
püüab rohkem tähelepanu kui ruudukujulised.
Samuti saab rõhutamiseks kasutada värve. Mõistlik värvikasutus juhib vaataja tähelepanu
kõige tähtsamatele elementidele. Kuid värve tuleb kasutada hoolikalt. Värve valesti
kasutades, võib see rõhutada valesid elemente ja viia visuaalse segaduseni.
[3, lk. 14-15]
3.3.6 Kordamine ja rütm (Repetition and rhythm)
Sama tüüpi diagrammides peaks elementide suurus ja positsioon olema sama. Näiteks kui
kasutada järjestikuse avaldamise tehnikat, peab alusdiagramm olema kooskõlas
järgnevatega. Kui luua mitmeid mudelivaateid, saab anda järjekindla rütmi säilitades
ülddiagrammi suuruse ja tasakaalu, isegi kui esitleda informatsiooni erinevatest süsteemi
osadest. [3, lk. 15]
3.3.7 Kooskõla ja harmoonia (Unity and harmony)
Geštalt teooria järgi püüavad inimesed tuua terviklikkust visuaalsete elementide sekka.
Sest see on efektiivne elementide grupeerimiseks, mis paiknevad kõrvuti või omavad samu
omadusi (kuju, värv, suurus). Inimene õpib neid kognitiivseid omadusi väga varases
lapsepõlves, et mõista ja tajuda informatsiooni. Ta püüab näha tuttavlikku mittetuttavates
elementides, et mõista uut keskkonda ja vältida segadusse sattumist.
Diagramme luues on oluline tuua sisse tuttavaid elemente, mis on “ankruks” vaatajale, et
avastada uut informatsiooni. Joonistel 3.4 A-C on paigutatud uus informatsioon
olemasolevate elementide ümbrusesse.
Mudeleid luuakse selleks, et käsitleda mingit kindlat teemat. Iga diagramm kirjeldab ühte
selle teema aspekti. UMLi mudelid kirjeldavad tarkvara süsteemi arengut (alustades
kasutuslugudest, seejärel liikudes läbi analüüsi ja projekteerimise realisatsioonini). Iga
teemaosa peaks viima iga teise teemaosani. See on sama oluline kui mudeli sisu, kui
saadakse kogu teemast aru läbi üheainsa esitluse. Näiteks kui mõelda novelli sisule, iga uus
tegevus on seotud mingil moel varasema tegevusega. See viib lugu edasi ja annab
kooskõlalisuse ja sidususe.
[3, lk. 15-16]
3.4 Esitlus (Presentation)
Mudeli esitlusel on erinevaid võimalusi. Skulptor võib suure marmorist kuju esitlemiseks
luua väikese kolmemõõtmelise savist kuju. Arhitekt võib esitleda ehitist luues väikese
mudeli puidust, paberist või mõnest muust materjalist. UMLi mudeleid saab esitleda neid
seinale kuvades või väljatrükina. [3, lk. 16]
3.4.1 Kuvamine seinale (Screen projection)
Kuna arvuti monitori suurus ja vaatenurk on piiratud grupis töötamisel, on võimalik
mudelit näidata seinale või ekraanile. Selle meetodi juures on võimalik kasutada
kaardikeppi või pointerit (laser-osutit). See meetod võimaldab kiirelt ja täpselt esile tõsta
mudelit koos kommentaaridega ja korrektuuridega ning hõlbustab diskussiooni. [3, lk. 16]
3.4.2 Väljatrükk (Hard copy printouts)
Mudelitest saab teha väljatrükke printeri, plotteri abiga. Väljatrüki eelis on see, et seda
saab esitleda vahetult ja kirjutada kommentaare vaatamise ja arutelu käigus. Suur
väljatrükk lubab näha olulist osa mudelist antud hetkel. Enamus mudeleid ei mahu hästi A4
formaati, seega läheb vaja laia kirjutajaga printerit. Kuid enamasti maksavad nad küllaltki
palju. Väikese rühmaga aruteluks on head A2 formaadis väljatrükid ning A1 formaadis
seinale asetamiseks. [3, lk. 16]
Kokkuvõte
Mudelid on väga olulised kui tahetakse teistele selgeks teha keerulisi süsteeme, nähtusi,
mõisteid jne. Et mudeleid efektiivselt koostada, tuleb mõista kuidas info inimeste vahel
levib. Selleks on koostatud mitmeid kommunikatsioonimudeleid. Tarkvaraarenduses
kasutatakse mudeleid laialdaselt. Mudel võib olla nii tekstiline kui ka graafik, joonis vms.
Et graafikuid paremini mõista, peavad nad visuaalselt korrektselt koostatud olema.
Antud töö koostamisel sai tutvutud materjaliga. Kasutatud on peamiselt ingliskeelseid
materjale.
Tutvutud on UML-diagrammide koostamise tarkvaraga Poseidon for UML Community
Edition 3.2. Diagrammide kujunduse poole pealt ei saanud antud programmiga noolte ega
ka kontuurjoonte paksusi muuta, mida programmi puuduseks lugeda ei saa.
Koostatud materjaliga võiksid tutvuda UML-i skeeme õppivad üliõpilased.
Kasutatud kirjandus [1] Ben Lieberman “The art of modeling: Constructing an analytical framework”
http://www-
128.ibm.com/developerworks/rational/library/content/RationalEdge/aug03/f_modeling_bl.
[2] Ben Lieberman “The art of modelling: Model organization and construction”
http://www-
128.ibm.com/developerworks/rational/library/content/RationalEdge/nov03/f_art_bl.pdf
[3] Ben Lieberman “The art of modeling: Visual composition”
http://www106.ibm.com/developerworks/rational/library/2741.html
[4] Ian Sommerville „Software Engineering“, 2001
[5] “The Nautilus Shell Spiral”
http://www.sacredarch.com/sacred_geo_exer_shell.htm
[6] “Mis on kuldlõige”
http://meelis.neti.ee/index.php?subaction=showfull&id=1066305470&ucat=1&do=headlin
es
[7] “Värviring”
http://www.kmg.tartu.ee/~aare/valgus/varviring.htm
[8] “Physiological Principles for the Effective Use of Color”
http://www.siggraph.org/education/materials/HyperGraph/color/coloreff.htm#Guidelines
[9] ENE 3
[10] ENE 4
[11] EE 6
[12] EE 9
[13] Claude E. Shannon "A Mathematical Theory of Communication"
http://64.233.183.104/search?q=cache:UlvwzqigMQIJ:cm.bell-
labs.com/cm/ms/what/shannonday/shannon1948.pdf+A+Mathematical+Theory+of+Comm
unication&hl=et
[14] Liina Lang "UML-i õppematerjal", bakalaureusetöö, 2003
[15] UML keele sõnastik
http://www.cc.ioc.ee/uml/otsing.php3
top related