continue lõpetab tsüklikeha täitmise ning täitmist jätkatakse tsüklitingimuse kontrollimisega; kui see on täidetud, siis jätkatakse tsükli täitmist edasi. Tüübid · Eelmainitud algtüübid · Viittüüp ehk klass võib ka olla andmetüübiks Paradigmad Mitut moodi saab jaotada. Näiteks: 1. Protsessile orienteeritud mudel 2. Andmetele orienteeritud mudel OOP põhimõisted 1. Objektorienteeritud keeltes on kesksel kohal objektid. 2. Programm kui omavahel suhtlevate objektide kogum. Mitte niivõrd täidetavate käskude nimekiri 3. Igal objektil on identiteet, olek ja käitumine. Identiteet eristab objekti teistest objektidest; Olek individuaalsed andmed (erinevad terminid: atribuut (ingl. attribute), omadus (ingl. property), (isendi)väli (ingl. (instance) field)), (isendi)muutuja (ingl. (instance) variable))) mis võivad muutuda;
IDK0051 2. loengutesti kordamisküsimused kevad 2015 1. Kas erind (exception) on objekt? Spetsiaalne Throwable-tüüpi objekt vigade haldamiseks Javas. Oskame ette näha olukordi, kus programm ei pruugi käituda soovitult Võib-olla suudame programmi töö taastada Informeerime kasutajat veast viisakal moel try { new Item(8); } catch (Exception e) { System.out.print(e.getMessage()); } Lisaks võimalik finally osa – täidetakse alati kui programm ellu jääb Exception ex = New Exception(„Viga”) : tavaline uue objekti loomine konstruktorile anname String-tüüpi argumendi „Viga” catch (SomeException e) : püütakse kinni SomeException-tüüpi objekt, mida saab kasutada nime „e” abil 2. Mis vahe on kontrollitud (checked) ja kontrollimata (unchecked) erinditel? Checked exceptions – kontrollitud erindid: Informeerivad kasutajat olukordadest, kus normaalse töö taastamine on võimalik, Kasutaja peab nendega ...
Objekt = klassist tehtud konkreetne eksemplar programmi töö ajal (new Type..) 12. Kirjutage üks polümorfse koodi näide (polümorfism == pärimisest tulenev polümorfism). Testis peate hindama, kas mingi kood on polümorfne või mitte. Üldiselt kolme tüüpi polümorfismi: Ülelaadimisest tulenev (ühe nimega meetod, erinevad väljakutsed . Geneeriline polümorfism (geneeriliste tüüpide abil) Pärimisest tulenev polümorfism (subtyping) Objektorienteeritud programmeerimises peame polümorfismi all silmas eelkõige pärimisest tulenevat polümorfset käitumist 13. Mis vahe on meetodi override (ülekirjutamine) ja overload'il (ülelaadimine)? Override: Alamklass defineerib sama nime ja samade argumentidega meetodi. Tagastustüüp peab olema sama või originaaltüübi alamtüüp. Overload: Mitu sama nime, kuid erinevate argumentidega meetodit. Üle laadida saab nii ülemklassi kui ka sama klassi meetodit 14. Mida tagastab static factory method?
Sissejuhatus andmebaasidesse Mis on andmebaas? · Andmed · arhiiv Andmebaasi omadused · Aktuaalne · Ammendav · Mitteliiane · Struktuurne Andmebaasihaldur Database Management System DBMS/ · andmebaasi loomine ja hoidmine; · andmebaasi muutmine, andmete muutmine, · päringute esitamine; · aruannete koostamine; · aruannete printimine Andmebaasi tüübid · lameandmebaasid · puustruktuur (hierarhiline) · võrkmudel · relatsiooniline · objektorienteeritud Lameandmebaas Puustruktuur (hierarhiline) Võrkmudel Relatsiooniline Objektorienteeritud
LAMP stack L = Linux A = Apache M = MySQL P = PHP, Python, Perl LAMP stack on avatud lähtekoodiga veebiarendusplatvorm. Operatsioonisüsteemiks on Linux, veebiserveriks on Apache, objektorienteeritud skriptimiskeelteks on MySQL ja PHP. Paigaldamine: 1. apt-get update 2. apt-get upgrade 3. apt-get install apache2 4. chown -R www-data:www-data /var/www/ (www-data on veebiserveri kasutaja) 5. chmod -R 755 /var/www 6. ls -ld /var/www Lisaks oleks võimalik veel keelata veebiserveri kasutajale käsurea kasutamist: 7. cat /etc/passwd | grep www 8. usermod -s /bin/false www-data 9. cat /etc/passwd | grep www 10. 11
See on kirjutatud programmeerimiskeeles PHP. Tarkvara töötati algselt välja firma Varien Inc. poolt. Esimene avalikkusele kättesaadav väljalase anti välja 31. märtsil 2008. Uurimuse kohaselt, mille viis läbi aheadWorks 2015. aasta mais, on Magento turuosa 30 kõige populaarsema e-kaubanduse platvormi seas 29.8%. 17. novembril 2015. anti välja Magento 2.0. Magento kasutab MySQL/MariaDB andmebaase, PHP programmeerimiskeelt ning elemente Zend Frameworkist. Samuti on Magentos kasutusel objektorienteeritud programmeerimine ning MVC arhitektuur. Installeerimine 1. Laadige alla Magento kõige uuem versioon 2. Paki fail lahti xampp kaustas olevas htdocs kausta 3. Mine localhost/mageto veebilehele ja vajuta Agree and Stup Magento 4. Start Readiness Check. 5. On täiesti võimalik, et tulevad PHP errorid. Sellejaoks tuleb minna xampp kaustas olevasse php kausta ja muuta php.ini faili ja kustutada semikoolonid (;) errorit andnud kirjete eest. 6
*Isikute haldamine Isiku lisamine, Isiku andmete muutmine, Isiku kustutamine Isiku lisamine, Isiku andmete vaatamine, Isiku andmete muutmine, Isiku kustutamine 1. Millises unifitseeritud arendusprotsessi UP distsipliini raames tehakse domeenimudel? Valige õige vastus: Teostamine (Implementation). Rakendamine (deployment). Testimine. Disain. Ärimodelleerimine (business modeling). Nõuded (Requirements). 2. Milline järgnevalt nimetatud analüüsitulemustest on objektorienteeritud analüüsis kõige tähtsam? (Objektorienteeritud analüüsi all on siin mõeldud mitte kogu analüüsitegevust UP nimelises protsessis, vaid objektorienteeritud mõtteviisi selles tegevuses) eesmärkmudel domeenimudel protsessi mudel kasutusjuhtude mudel 3. Süsteemi jadadiagrammi käsitletakse (C. Larmani raamatus ning kontseptuaalse süsteemianalüüsi aine konspektis) järgmise UP-s (Unified Process) koostatava mudeli osana: eesmärkmudel ärimudel kasutusjuhtude (use case) mudel
*Isikute haldamine Isiku lisamine, Isiku andmete muutmine, Isiku kustutamine Isiku lisamine, Isiku andmete vaatamine, Isiku andmete muutmine, Isiku kustutamine 1. Millises unifitseeritud arendusprotsessi UP distsipliini raames tehakse domeenimudel? Valige õige vastus: Teostamine (Implementation). Rakendamine (deployment). Testimine. Disain. Ärimodelleerimine (business modeling). Nõuded (Requirements). 2. Milline järgnevalt nimetatud analüüsitulemustest on objektorienteeritud analüüsis kõige tähtsam? (Objektorienteeritud analüüsi all on siin mõeldud mitte kogu analüüsitegevust UP nimelises protsessis, vaid objektorienteeritud mõtteviisi selles tegevuses) eesmärkmudel domeenimudel protsessi mudel kasutusjuhtude mudel 3. Süsteemi jadadiagrammi käsitletakse (C. Larmani raamatus ning kontseptuaalse süsteemianalüüsi aine konspektis) järgmise UP-s (Unified Process) koostatava mudeli osana: eesmärkmudel ärimudel kasutusjuhtude (use case) mudel
· Andmete administraator · Süsteemianalüütik · Disainer · Andmebaasi kasutatavate programmide looja · Lõppkasutaja Andmebaaside liigitus: · Võib liigitada nendes hoitavate andmete kasutamise eesmärgi järgi · Andmebaasi paiknemise järgi · Relatsioonilised · Navigatsioonilised · Tekstiandmebaasid · Objektiandmebaasid Andmebaasi tüübid: · Lameandmebaas · Hierarhiline mudel · Võrkmudel · Relatsiooniline mudel · Objektorienteeritud mudel · Objekt-relatsiooniline mudel · Mitmemõõteline mudel · XML mudel Lameandmebaas · Ehk lihtsal kujul tabel · Näiteks tööaegade tabel Hierarhiline e. puustruktuur · Omaniku ja alluva suhted- ükski alluv ei saa olla jagatud mitme ülemuse vahel. · Näiteks kataloogid arvutites Võrkmudel · Alluval võib olla mitu omanikku ja mitu alluvat. Relatsiooniline mudel · Objektid andmebaasis ja nendevahelised seosed on
Python Madis Kõivupuu AAp-11 Sisukord Mis on Python Ajalugu Tehniline info Võrdlus teiste keeltega Turtle meetotid Turtle moodul Kasutus alad Pilt Kokkuvõte Mis on Python Python on üldotstarbeline interpreteeritav programmeerimiskeel, mida algselt arendati skriptimiskeeleks. Python võimaldab mitut programmeerimisstiili, näiteks objektorienteeritud, protseduraalset või funktsionaalset programmeerimist. Pythonit peetakse küllalt lihtsaks keeleks ja seda on soovitatud programmeerimise õppimisel esimeseks keeleks Ajalugu Pythoni töötas 1990-ndate alguses Hollandis Stichting Mathematisch Centrumis välja Guido van Rossum. Python on oma nime saanud briti naljameeste telesarja "Monty Pythoni lendav tsirkus" järgi. Dokumentatsiooni koodinäidetes üritatakse vältida liigset tõsidust viidetega grupi loomingule.
lähenemine. Selle peamiseks põhjuseks võib lugeda seda, et suuremad ja keerulisemad projektid on paremini hallatavad. Rõhutatakse eraldiseisvate, taaskasutatavate programmiloogika osade kasutamist. Tehnoloogia keskendub andmetele, mitte protsessidele. Süsteemi disaini ja analüüsi käigus kasutatakse kasutuslugusid. Lähtutakse reaal ja ärimaailma nõudmistest ning tehakse nende põhjal teatud andmestruktuurid ehk objektid. Objektorienteeritud programmi võib seega vaadelda kui kogumit omavahel suhtlevaid objekte, erinevalt tavapärasest mudelist, kus programmi võib vaadelda kui nimekirja täidetavatest ülesannetest. Objektorienteeritud programmeerimises on iga objekt võimeline vastu võtma teateid, andmeid töötlema ja saatma teateid teistele objektidele ning on seetõttu vaadeldav kui iseseisev "masin", millel on kindel ülesanne programmi töös.
Kontseptuaalne süsteemianalüüs KT küsimused ja vastused 1. Milline järgnevalt nimetatud analüüsitulemustest on objektorienteeritud analüüsis kõige tähtsam? (Objektorienteeritud analüüsi all on siin mõeldud mitte kogu analüüsitegevust UP nimelises protsessis, vaid objektorienteeritud mõtteviisi selles tegevuses) kasutusjuhtude mudel protsessi mudel eesmärkmudel domeenimudel 2. Kas äriprotsess on samal ajal ka tarkvara kasutusjuhtum (use case)? Joonige alla õige vastus. Jah, kindlasti on Võib olla küll, kuid kindlate tingimuste täidetuse korral Ei, kindlasti mitte 3. Kas RUP Äri Objektmudel (Business Object Model) võib sisaldada dünaamikavaadet? Valige täpselt üks õige vastus: Ei või Jah, võib küll Oleneb asjaoludest 4
Ühelt poolt peab suhte loomisel osalema unikaalne võti (mõni kandidaatvõtetest). Enamasti on selleks unikaalseks võtmeks primaarvõti. Selle tulemusel on kahes erinevas relatsiooni ühesuguse sisuga atribuudid, mis loovad suhte nende relatsioonide vahel. Seotud relatsiooni tekkinud atribuuti (atribuute) nimetatakse välisvõtmeks. Relatsioonis võib olla üks või mitu välisvõtit. Relatsioonis võib välisvõti ka puududa. Objektorienteeritud andmebaas Objektiandmebaas võimaldab säilitada objektorienteeritud programmis loodud objekte. Andmed salvestatakse objektidena ja neid saab interpreteerida ainult vastava klassi meetodit kasutades. Sarnaste objektide vahelised suhted säilitatakse, samuti objektide vahelised viited. Päringud võivad olla kiiremad, sest sageli puudub vajadus relatsioonide liitmise järgi nagu relatsioonilises andmebaasis. Objekte saab andmebaasist välja võtta otse, ilma otsinguta kasutades selleks
Lisaks oli võimalus rühmitada muutujaid jadadesse (array) ja kirjetesse (record). 1958 loodi Massachusettsi Tehnoloogiainstituudis keel LISP (LISt Processing). See oli mõeldud tehisintellekti uurimiseks ja arendamiseks. Page 7 3.2 PROGRAMMEERIMISKEELTE PÕHITÜÜBID Peamised põhitüübid on: protseduurilised, funktsionaalsed ja objektorienteeritud programmeerimiskeeled. Protseduurilistes programmeerimiskeeltes kirjeldatakse programmeerimiskeeltes tegevused ja nende täitmise kord ja jagatakse need tegevused gruppidesse (alamprogrammideks). Protseduuridest kujunevad omamoodi koodi struktuurid, mida on võimalik korduvalt kasutada. Funktsionaalsetes programmeerimiskeeltes kirjeldatakse kogu lahendus funktsioonide abil. Objektorienteeritud programmeerimiskeeltes teostatakse lahendus klassides
Lisaks oli võimalus rühmitada muutujaid jadadesse (array) ja kirjetesse (record). 1958 loodi Massachusettsi Tehnoloogiainstituudis keel LISP (LISt Processing). See oli mõeldud tehisintellekti uurimiseks ja arendamiseks. Page 7 3.2 PROGRAMMEERIMISKEELTE PÕHITÜÜBID Peamised põhitüübid on: protseduurilised, funktsionaalsed ja objektorienteeritud programmeerimiskeeled. Protseduurilistes programmeerimiskeeltes kirjeldatakse programmeerimiskeeltes tegevused ja nende täitmise kord ja jagatakse need tegevused gruppidesse (alamprogrammideks). Protseduuridest kujunevad omamoodi koodi struktuurid, mida on võimalik korduvalt kasutada. Funktsionaalsetes programmeerimiskeeltes kirjeldatakse kogu lahendus funktsioonide abil. Objektorienteeritud programmeerimiskeeltes teostatakse lahendus klassides
tegevus-tüüpi (õppimine, õpetamine), sündmus-tüüpi (nt eksam), teadmine e spetsifikatsioon (õppeaine, kursus) 8. Täppismodelleerimine – modelleerimine on ise omaette eesmärgiks, eesmärgiks on perfektne mudel. Agiilmodelleerimine – modelleerimine on vahend mingi teise eesmärgi saavutamiseks, ntks tarkvara kirjutamiseks. 9. Kolmnurga kolm tippu – sündmused, tegevused, objektid, mis on Zachmanni raamistikust kuuest veerust kolm. On seotud objektorienteeritud mõtlemisega. Objektidega juhtuvad sündmused, objektidega tehakse tegevusi. Sündmus põhjustab objekti oleku muutusi. 10. Kasutusjuhud väljendavad tegevusi ja tegevuse tulemuseks võib olla sündmus, mis põhjustab mingil objektil oleku muutuse. Oleku muutusi viivad läbi tegevused, aga tegevus võib olla modelleeritud use casena või tegevusdiagrammina. 11. Valdkonna mudel näitab puhast valdkonda, piisavalt üldine, ilma sisuliste detailideta. Ei pea, aga võib erineda
silmas lihtsust ja arusaadavust, sisaldades ainult andmetüüpe numbrite ja teksti jaoks. Lisaks oli võimalus rühmitada Page 8 muutujaid jadadesse (array) ja kirjetesse (record). 1958 loodi Massachusettsi Tehnoloogiainstituudis keel LISP (LISt Processing). See oli mõeldud tehisintellekti uurimiseks ja arendamiseks. 3.2 PROGRAMMEERIMISKEELTE PÕHITÜÜBID Peamised põhitüübid on: protseduurilised, funktsionaalsed ja objektorienteeritud programmeerimiskeeled. Protseduurilistes programmeerimiskeeltes kirjeldatakse programmeerimiskeeltes tegevused ja nende täitmise kord ja jagatakse need tegevused gruppidesse (alamprogrammideks). Protseduuridest kujunevad omamoodi koodi struktuurid, mida on võimalik korduvalt kasutada. Funktsionaalsetes programmeerimiskeeltes kirjeldatakse kogu lahendus funktsioonide abil. Objektorienteeritud programmeerimiskeeltes teostatakse lahendus klassides (class) kirjeldatud funktsioonide ja
Objektorienteeritud modelleerimine. Objektmudel: Klassid, Objektid ja nende seosed Esmärk: Ülevaade objektmodelleerimise põhimõistetest Klassidiagrammides kasutatavate põhikonstruktsioonide tutvustamine Sisu Objektid ja klassid Klassidiagramm Kuidas leida klasse ? Atribuudid Operatsioonid Seosed Piirangud Mudeli kvaliteet 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.
Vali üks: Ei Jah Mitte alati + Krüpteerige sõna "PÕIKPÄINE" Atbashi šifriga kasutades tähestikku: A B C D E F G H I J K L M N O P Q R S Š Z Ž T U V W Õ Ä Ö Ü X Y; yxüöäõwvutžzšsrqponmlkjihgfedcba Vastus: QFUŽQEUSÄ Millistesse keelte klassidesse kuulub tavapärane assembler? Vali üks või enam: Dünaamiliselt tüpiseeritud Interpreteeritavad + Objektorienteeritud "Käsitsi" mäluhaldusega + Imperatiivne + Milline loetlelust on vajalik digitaalseks allkirjastamiseks? Vali üks: a. Sümmeetrilise võtmega krüptograafia algoritm b. Sümmeetrilise ja asümmeetrilise võtmega krüptograafia algoritm + c. Blokkšifrid ja räsialgoritm d. Asümmeetrilise võtmega krüptograafia algoritm e. Räsialgoritm f. Asümmeetrilise võtmega krüptograafia ja räsialgoritm Kas masinkeel on tänaseni kasutusel? Vali üks: Jah + Ei Mida tähendas algselt lühend CP/M
Siin tutvustatakse programmeerimise ja Visual Basicu' põhivõimalusi. Tahaks rõhutada, et käsitlus ei ole orienteeritud Exceli programmeerimisele vaid tegemist on programmeerimisega Excelis. Samal ajal omandatakse ka peamised võimalused VBA-toega rakenduste loomiseks Excelis ja teatud määral ka teistes nn dokumendipõhistes rakendustes. Ka ei ole põhieesmärgiks VBA, kui programmeerimiskeele õppimine, vaid programmeerimise aluste omandamine objektipõhistes ja objektorienteeritud süsteemides. VBA ja Excel pakuvad mugavat keskkonda ja lihtsaid vahendeid programmeerimise aluste kiireks omandamiseks ja rakenduste loomiseks. Taolisi lihtsaid võimalusi pole üheski teises programmeerimissüsteemis, va Basic'u süsteemid ja Scratch. Kui viimasaeid kasutakse peamiselt personaalse tarkvara ja mängude tegemiseks, võimaldab VBA (koos baasrakendusega: Excel, Access, AutoCAD jt) kiiresti (Aeg on raha!) luua suuri
taaskasutatav lahendus tavaliselt ettetulevate tarkvara disaini probleemide korral etteantud või esilekerkivas konteksti s (käsitluses). Muster pole lõplik disain, mida saaks otse teisendada algkoodiks või masinkoodiks. Ta on pigem kirjeldus või mall kuidas lahendada probleem nii, et seda saaks kasutada paljudel erinevatel juhtudel. Disainimustrid on formaliseeritud parimad praktikad, milliseid programmeerija saab kasutada teatud probleemi lahendamisel kavandades süsteeme või rakendusi. Objektorienteeritud disainimustrid näitavad tavaliselt objektide või klassidevahelisi sõltuvusi ja vastasmõjusid ilma kaasatud klasside või objektide hulgast lõplikke rakendusklasse või objekte määratlemata. Disainimustrid jaotatakse 4 peamisse gruppi: loomismustrid; ülesehituslikud, struktuursed mustrid; käitumuslikud mustrid ja samaaegsuse mustrid, kuigi liike on rohkem. Disainimustrid tegelevad moodulite ja nendevaheliste seoste valdkonnaga. ' ABSTRACT FACTORY
Mina isiklikult kasutaksin varianti, et paneksin Google'i otsingusse Tallinna Tehnikaülikool ning klõpsaksin lingile, mis mind sinna lehele viib. Siis paneksin otsingusse õppekavad ning teeksin ühe õppekavadest lahti. Aga kuna loengust jäi ka meelde, et Google'i liitotsing võimaldab panna kriteeriumi, et otsing sooritatakse vastava lehe piires, pean arvatavasti kasutama seda varianti. Panen täpsustatud Google otsingusse sõnad ,,ttu ainekaart" ja domeeniks valin ttu.ee Objektorienteeritud programmeerimine lektor Kaaterl Allik, teadurid Rain IDK0020: keeles Java Öpik, Tarvo Treier jt. 3. Leidke lehekülgi, mis on sarnased Tartu Ülikooli veebilehega. Mitu veebilehte leiate? Esitage ühe aadress (URL). Kuidas otsingu läbi viite? Panen Google'i otsingusse otsinguks related:www.ut.ee ja saan vastuseks 198 tulemust. Üheks vastuseks pakutakse ka Tallinna Ülikooli lehte: http://www.tlu.ee/ samuti ka http://www.utlib.ee/ 4
Üks suuremaid keerukusi innovatsiooni juhtimisel organisatsioonis on ettevõtte äriüksuste ja projekti arendusmeeskonna suhete, vastutuse ja koostöö juhtimine. Millised on tavalised ametliku tarnelepingu osad? Konfidentsiaalsusnõuded Maksegraafik Sanktsioonid lepingu rikkumisel Milline selgitus kirjeldab kõige paremini intellektuaalset omandit? Isiku intellektuaalse loomingu tulemus, millel on äriline väärtus. Milline selgitus on kõige parem mõistele ,,klass" objektorienteeritud progammeerimises? Üldine ühte tüüpi objektide struktuuri kavand Millega tuleb arvestada, kui andmebaas ühendatakse veebiliidesega? Kui serverit ei saa võimsamaks ümber ehitada, siis ei saa kasutajate arvu suurendada. Kui veebilehe ilme on oluliselt erinev algupärasest võivad kasutajad segadusse sattuda Sideprotseduurid tuleb üle vaadata, kuna HTTP ühendus kliendi ja serveri vahel ei ole püsib.
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 Klass kirjeldab objekti tüüpi
Näiteks, kui mingi selle komponendi tunnus peab asuma objekti keskel, siis peab see seal ka asuma, mitte mugavamas punktis või ääres nagu võib teha "rumala" 3D-mahtmudeli puhul. Parameetriliste mahtmudelite puhul peab kasutaja arvestama iga liigutuse tagajärgi. 7 3 Tehnoloogia Algselt arendati raalprojekteerimise tarkvara programmeerimiskeeltes nagu Fortran, aga objektorienteeritud programmeerimise meetodite arenguga on see radikaalselt muutunud. Tüüpilised moodsad parameetrilised tunnusepõhised modelleerijad vabakäe pinna süsteemid on ehitatud kasutades erinevaid C-keele mooduleid nende oma rakendusliidestega. CADi süsteemi võib vaadelda kui interaktsiooni graafilise kasutajaliidese, mitteühtlase ratsionaalse B-splaini ja/või kirjeldava mahtgeomeetria andmete vahel geomeetrilise modelleerimise kerneli kaudu.
KONTROLLTÖÖ SKRIPTIKEELED. Põhimõtted. Plussid/miinused. Erinevad skriptikeeled. - Javascript on Netscape Communications Corporation'i poolt loodud kliendi-poolne (Client-Side) interpreteeritav objektorienteeritud programmeerimiskeel, mida kasutatakse koos HTMLiga veebilehtede koostamisel. Veebilehe laadimisel kuvab brauser selle vastavalt HTML-dokumendi tekstile ja täidab ka selles paikneva Javascripti programmi · Skriptikeele plussid 1.kiire loomistsükkel 2.lihtne õppida 3.platvormist sõltumatu 4.kompaktne ning suhteliselt kiire · Skriptikeele miinused 1.Piiratud funktsionaalsus 2.kood avalikult nähtav 3
SKRIPTIKEELED. Põhimõtted. Plussid/miinused. Erinevad skriptikeeled: Javascript on Netscape Communications Corporation'i poolt loodud kliendi-poolne (Client- Side) interpreteeritav objektorienteeritud programmeerimiskeel, mida kasutatakse koos HTMLiga veebilehtede koostamisel. Veebilehe laadimisel kuvab brauser selle vastavalt HTML-dokumendi tekstile ja täidab ka selles paikneva Javascripti programmi. Põhimõt e on HTML vormide valideerimiseks · interaktiivsuse tõstmiseks · dünaamilisuse tõstmiseks Javascript on lihtne ja tasuta Shellscript , JavaScript, VBA Skriptikeelte plussid Kiire loomistsükkel Lihtne õppida Platvormist sõltumatu
1 Mis on Java? Java -- alates 1991. aastast Sun Microsystems poolt arendatav ja 23. mail 1995 avalikustatud objektorienteeritud programmeerimiskeel. Esialgselt oli uue programmeerimiskeele nimetuseks Oak ja seda loodi koduelektroonika tarbeks, kuid hiljem nimetati see ümber Javaks ja seda hakati kasutama rakendite (aplettide) (ingl applet), rakenduste (application) ja servertarkvara loomiseks. Põhivõimalused · eriolukordade töötlemise laiendatud võimalused; · sisend/väljund filtrimisvahendite lai kogum; · sisseehitatud lihtsad klassid (massiiv, loetelu, stack jms);
Fookus: Kontseptuaalse süsteemanalüüsi meetodite rakendamine valdkonna ning tarkvara nõuete detailseks analüüsiks iteratiivses arendusprotsessis Aine taust Analüüsi ained: 1. Sissejuhatus infosüsteemidesse (IDU 3350) või Modelleerimine (IDU 3355); -> 2. -> Süsteemianalüüs (IDU 5360) -> 3. -> Infosüsteemi strateegiline analüüs (idu0021) ehk Ettevõtte äriarhitektuur (idu1321) Aine on eelduseks (OIS) IDU5661 - Infosüsteemide projekteerimine, IDU0050 - Objektorienteeritud disain, IDX5010 - Struktuuranalüüs ja ekspertsüsteemide tehnoloogia M. Roost , TTÜ Informaatikainstituut, Loengukonspektid aines Süsteemianalüüs, 2014 ANALÜÜS JA MODELLEERIMINE Analüüs on eesmärgipärase inimtegevuse (n. igapäevase probleemide lahendamise) loomulik osa. Konkurentsis püsimiseks peame (mina ise, minu esindatav üksus, organisatsioon, riik, …) oma “asja” (toodet, teenust, põhitegevust) tegema teistest paremini.
mooduleid,struktureerida programmi · RAS korral pakub huvi 1. Parameter Passing Techniques - Erinevad parameetrite edastamise meetodid 2. Dynamic Memory Allocation - Dünaamilise mälujagamise meetodid 3. Strong typing - Jäik tüpiseerimine 4. Abstraktsed andmetüübid 5. Eriolukordade töötlus 6. Modulaarsus 63. Mis on objekt-orienteeritud disain, selle puudused ja eelised? Objektorienteeritud disaini puhul jagatakse süsteem arusaadavateks ja hallatavateks osadeks. Need on suhteliselt iseseisvad ning osade loomisel arvestatakse, et neid peaks saama mitmes olukorras kasutada. Keerukamatel juhtudel tuleb enne kogu loodavat süsteemi senikaua kihtideks või osadeks jagada, kuni osade realiseerimist on võimalik ja mõistlik detailsemalt objektide ja nende omaduste ja toimingute abil kirja panna. [Abstraktsed andmed, Pärilikkus, Polümorfism, Sõnumivahetus! Printsiibid:
STEP põhilised nõuded andmevahetuse täielikkus (peab üle kandma kõik kasutajale vajalikud andmed); säilitamise täielikkus (võimaldab salvestada andmeid ilma intefreeritust ja täielikkust kaotamata. Toetab pikaajalist arhiveerimist.); Laiendatavus (STEP peab olema loodud nii, et seoses laiendustega ei muutu olemasolevad STEP translaatorid kasutuks); ühemõttelisus; informatsioonimudel peab olema arvutipärane (STEP-i infomudel on loodud formaalsel objektorienteeritud EXPRESS keelega); efektiivsus (STEP-i faili struktuur ja vorm peavad olema efektiivsed töötlemisel, salvestamisel ja andmevahetusel, kuid vastama ka kõigile teistele nõudmistele); minimaalne elementide hulk (selle abil välditakse kontrollimatuid STEP-i laiendusi, mis kaotavad üks-ühese interpreteeritavuse); sõltumatsu arvutuskeskkonnast (programmeerimiskeelest, OS-ist, arvuti tüübist); dokumentatsioon; atesteerimine (STEP protsessorid tuleb enne kasutusele vöttu kontrollida)
kritiseeri lapse ja võimaldada tal olema sõltumatu. Protesti-massirahutuste väljendatakse sagedased Tülid laste vanematelt. Vastavalt Vygotsky, L.s. "laps on at war with ka teistel nendega pidevas konfliktis" (Vygotsky l.s., 1991). Despootia ilmingud on järgmised: laps hakkab dikteerida kõik ümber, kuidas käituda, ja võib muuta kuuletuma ja teha nagu ta ütleb. See käitumine võib ilmneda juhul, kui lapse üks või iimane. Väike laste tegevus Varases lapsepõlves, muutub juhtiv objektorienteeritud tegevus, mis mõjutab nii vaimset arengut ning suhelda täiskasvanutega. Lapseeas manipuleeriv tegevus: laps võib korrata samme näidatud täiskasvanutel liikuda assimileerunud mõju teine teema, õppida oma tegevust. Kuid manipuleerides laps kasutab ainult väliste objektide omadusi ja suhteid. Esimene asi toimib ja arusaamine lapse on tihedalt seotud.Näiteks on järgmine tõsi asi: ta ei kammi oma juukseid kinni või juua kuubik. Aga aja jooksul, on eraldamine objekti.
Andmebaasisüsteem on tarkvarasüsteem, mis võimaldab kasutajatel andmebaasi luua, kasutada, uuendada, hooldada ning sellele juurdepääsu kontrollida. Andmebaasisüsteemide liigitus Andmete kasutajale esitamise viis (andmemudel). Hierarhiline - andmed esitatakse hierarhiatena XML Võrkstruktuur - andmed esitatakse kogumitena, mis sisaldavad peremees- ja alluvkirjeid Relatsiooniline - andmed esitatakse relatsiooniliste muutujate väärtustena SQL:1992 Objektorienteeritud - andmed esitatakse klassidesse kuuluvate objektidena Objekt-relatsiooniline - lisab SQL mudelile teatud objektorienteeritud programmeerimisest tulenevaid erisusi SQL:1999, SQL:2003, SQL:2006, SQL:2008, SQL:2011 Mitmemõõtmeline - andmed esitatakse mitmemõõtmeliselt, hüperkuupidena Trans-relatsiooniline - mudel, mille alusel võib näiteks organiseerida relatsioonilise andmebaasi andmete sisemisel tasemel salvestamise Võimsus ja kasutajate arv.
TALLINNA TEHNIKAÜLIKOOL Informaatikainstituut Infosüsteemide õppetool Projekt aines "Objektorienteeritud disain" ÕPPEKOHTADE HALDUSSÜSTEEM Üliõpilane: ... Õpperühm: ... Matrikli nr.: ... Juhendaja: ... Tallinn 2004 Autorideklaratsioon Deklareerin, et käesolev projekt on minu töö tulemus ja seda ei ole kellegi teise poolt varem esitatud. .......................
Bait on kõige levinum infohulga mõõtühik. Tähistatakse B. 9. BIOS- PC tüüpi kasutatakse seda kõikide vajalike funktsioonide täitmiseks riistvara initsialiseerimisel (tuvastamisel) pärast voolu sisse lülitamist. BIOS kontrollib veel alglaadimise protsessi. 10. C++- üldotstarbeline staatiliste andmetüüpidega multifunktsionaalne programmeerimiskeel, mis toetab abstraheerimist, polümorfismi, protseduraalset, objektorienteeritud ja üldistavat programmeerimist. 11.draiver (driver)- tarkvara, mille abil saab arvuti riistvara või seadmetega suhelda. 12. duplekskanal- telekommunikatsiooni suhtlusvõrgus kahe osapoole vahel loodav suhtlussüsteem, milles need kaks osapoolt või seadet saavad omavahel suhelda mõlemas suunas (kui osapooli on rohkem kui kaks, siis kutsutakse suhtlussüsteemi multipleksiks). 13. faksmodem- personaalarvuti juurde kuuluv seade (või sisemine kaart), millega saab
KORDAMISKÜSIMUSED 1. Kvaliteetse tarkvara atribuudid. eksam 2. Mis on tarkvaratehnika? 3. Üldistatud protsessid tarkvaraarenduses. 4. Tarkvaraprotsesside 2 suuremat liiki. 5. Manifesto for Agile Software Development. 6. Kuidas liigitada nõudeid? eksam 7. Nõude 3 põhiomadust. 8. Nõuete valideerimise tehnikad. 9. Komponentidel põhinev arhitektuur 10.Kihiline arhitektuur eksam 11.Objektorienteeritud arhitektuur 12.Teenusorienteeritud arhitektuur 13.Lihtsa koodi disaini 4 elementi 14.Miks peab nõudeid haldama? 15.Milleks kasutatakse versioonihaldust? eksam 16.Funktsionaalne nõue eksam 17.Mittefunktionaalne nõue eksam 18.Tarkvara elutsükkel 19.Millest koosneb tarkvara? 20.Mis on testimine? 21.Staatiline testimine eksam 22.Dünaamiline testimine eksam 23.Valge kasti testimine 24.Musta kasti testimine 25.Testimise tasemed 26
Identifikaatorite süstematiseerimine. .....................................................103 3. Taanete kasutamine.............................................................................104 ÜHETEISTKÜMNES TEEMA: programmi dokumenteerimine. kommentaarid....106 PROGRAMMI PROJEKTEERIMINE JA TESTIMINE..............................................106 1. Kellele ja milleks on vaja dokumentatsiooni?.......................................106 KAHETEISTKÜMNES TEEMA: Struktuur- ja objektorienteeritud programmeerimise põhimõtted .....................................................................................................111 Sissejuhatus.................................................................................................111 Struktuurprogrammeerimine.......................................................................111 Objektorienteeritud programmeerimine......................................................112 Objekt, atribuut, meetod......................
...................................................................................... 76 ÜLESANDED........................................................................................................................... 77 Sissejuhatus................................................................................................................................85 Struktuurprogrammeerimine......................................................................................................85 Objektorienteeritud programmeerimine.................................................................................... 86 Objekt, atribuut, meetod........................................................................................................ 86 Klass.......................................................................................................................................87 Kapseldumine...................................................................................................
pikkiettenihke sihiga. Kui supordikelk liigub tsentripuki poole, siis loeteakse liikumissuund positiivseks, spindlikasti poole aga negatiivseks. Koordinaatide alguspunkt võetakse tavaliselt telje ja tooriku vasaku (spindlikasti poolse otsa) lõikepunkt. APJ freespingil kasutatakse kolmeteljelist koordinaatsüsteemi. X-telg on supordikelgu ristiettenihk 14. Kontrollerites kasutatavad programmeerimiskeeled VAL (Adept V+) AML C, C++ ZERO++ (objektorienteeritud) RAPID (ABB robotid) EusLisp (teadus- ja arenduspõhine) Karel (Fanuc robotid) KRL (Kuka robotid) Jne 15. Tööstusroboti koostisosad ● ümberprogrammeeritav automaatne masin, mida tootmisprotsessis käsutatakse inimese liikumisfunktsioonidega sarnasteks operatsioonideks esemete teisaldamisel või tööriistaga töötamisel ● Tööstusroboti iseloomulik tunnus on ühe või mitme manipulaatori olemasolu ● Tööstusrobot koosneb täitur-, juht-, mõõte- ja liiteseadmest 16
.............................................................................................29 Omaloodud andmestruktuur..................................................................................................29 Punktimassiiv....................................................................................................................31 Ülesandeid.........................................................................................................................32 Objektorienteeritud programmeerimine....................................................................................33 Tutvustus...............................................................................................................................33 Klassimuutuja....................................................................................................................34 Osuti, omistamine................................................................................................
-- Kasutusmugavuse testimine · Halli kasti testimine Testimisel on olemas juurdepääs sisemistele andmestruktuuridele ja algoritmidele testjuhtumite koostamisel, kuid testimine viiakse läbi kasutaja või musta kasti tasemel. Halli kasti testimise alla kuulub andmebaasi muutmine, sest tavaliselt ei saa kasutaja väljaspool testitavat süsteemi andmeid muuta. Testimise tasandid Ühiktestimine - Ühiktestimisel vastab üks test konkreetsele koodi osale, tavaliselt funktsioonile. Objektorienteeritud keskkonnas testitakse klasside tasemel ja minimaalsesse testi kaasatakse ka konstruktorid ja destruktorid. Ühiktestimisega ei saa tagada terve tarkvaratoote õigsust. Pigem kontrollitakse sellega, kas erinevad tarkvara osad töötavad üksteisest eraldi. Lõimumise testimine Kontrollitakse, kas komponentide vahelised liidesed vastavad tarkvara disainile. Tarkvara komponente võib integreerida järk-järgult või ühekorraga
kasutamiseks näiteks Microsoft SQL Server, Oracle vms. Pean tunnistama, et pole ise seda praktikas nagu kasutanud, aga selle eesmärgiks peaks olema võimalus kirjutada SQL päringuid platvormist sõltumata. Kel suurem huvi selle vastu, siis hetkel tundub parim link olevat vahvel.net foorumis. Pöördume MySQLi mooduli juurde tagasi. Uue arendusga muudeti see turvalisemaks ning võimaldab omakorda kahte meetodit ühendamiseks: protseduuriline objektorienteeritud Protseduuriline ühendamine andmebaasiga Mistahes viisil ühendusse astumisel andmebaasiga on meil reeglina neli sammu: 1. ühendamine 2. päring 3. tulemuse väljastamine 4. ühenduse sulgemine Kindlasti mõjub tervisele hästi, kui kohe alustame ka mõningate konrollidega - näiteks kas ühendus toimus ja kas päring oli edukas. Ühendamine Ühendamisel tuleb ära määrata andmebaasi server, andmebaasi nimi, kasutaja ja salasõna. ? 1
} Imperatiivsed keeled sobivad samm-sammult, kindlas järjekorras täidetavate algoritmide esitamiseks. Programmid kujutavad endast arvutile antavate käskude jada. Tuntumad imperatiivsed keeled on C, Basic, Pascal, Java, Modula-2 objektorienteeritud keeled ja assemblerkeeled. Imperatiivsete keelte peamiseks eeliseks on arvuti tegevuse täpse kontrollimise ja suunamise võimaldamine, mis enamasti tagab maksimaalse töökiiruse. Miinusteks on programmeerimise PROCEDURE sumto(n:INTEGER):INTEGER; suur töömahukus - lahenduskäigu kõik detailid tuleb süsteemile esitada - ning suured raskused programmideanalüüsimisel,
Üks kasu Juurdepääs programmeerija seisukohast on selle suhteline ühilduvus SQL (struktureeritud päringu keel) - päringuid saab vaadata graafiliselt või muudetud SQL avaldused ja SQL avaldused saab kasutada otse Makrod ja VBA moodulid manipuleerida Access tabelid. Kasutajad saavad 7 segada ja kasutada nii VBA ja "Makrod" programmeerimise vormid ja loogika ja pakkumised objektorienteeritud võimalused. VBA võib lisada ka päringuid. Microsoft Access pakub parameetritega päringuid. Need päringuid ja Access tabelid võivad viidata muudest programmidest nagu VB6 ja .NET läbi DAO või ADO. Microsoft Access, VBA võib viidata parameetritega salvestatud protseduurid läbi ADO. Töölaua väljaanded Microsoft SQL Server saab kasutada Access alternatiivina Jet Database Engine. See toetus algas MSDE (Microsoft
TALLINNA TEHNIKAÜLIKOOL Informaatikainstituut Infosüsteemide õppetool Projekt aines "Objektorienteeritud disain" MOBIILTELEFONI TARKVARA Üliõpilane: Martti Remmelgas 010635 Eero Ringmäe 010636 Pärtel Lias 010617 Õpperühm: LAP 61 & LAP 62
õppetükid. Sain pidevalt tüütuid veateateid ja vihjed ei aidanud ka väga palju edasi. See teoreetiline osa jäigi mulle segaseks ja programm ei märkinud seda minu poolt lahendatuks. Praktiline osa, kus oli vaja koostada kontaktide nimekiri ja sellest otsing teostada, oli jälle lihtne. Kui vaadata hoolikalt juhendi näites toodud nimekirja ja otsingu näidist siis saab ülesandega kergesti hakkama. Praktilise ülesande tegemine võttis aega ~20 min. 5.7. Objektid I Objektorienteeritud mõtlemine Oma telefoniraamatu koostamine Teoreetilises osas oli taas palju sellist matemaatika ja programmeerimise sõnavara, mida ma seni ei teadnud. Näiteks boolean, mis on andmetüüp, mille väärtus saab olla ainult kas” õige” või “vale”. Õppisin võtmesõna 'this' mida pidi kasutama paljudes ülesannetes. Ülesandeks oli “FizzBuzz” mäng, kus pidi kasutama ka tavalist matemaatikat. Ning teises harjutuses oli vaja koostada programm, mis annab hinnanguid filmidele
pd[i].x=i; pd[i].y=i*i; } Console.WriteLine(pd[4].y); } } } /* C:Projectsomanaited>Punktid2 16 */ Ülesandeid * Koosta struktuur riidelappide andmete hoidmiseks: pikkus, laius, toon * Katseta loodud andmetüüpi paari eksemplariga. * Loo lappidest väike massiiv, algväärtusta juhuarvude abil. * Trüki välja lappide andmed, mille mõlemad küljepikkused on vähemalt 10 cm. Edasijõudnute osa: Objektorienteeritud programmeerimine Tutvustus struct-lausega loodud kirjed on mõeldud põhiliselt andmete hoidmiseks ning vajadusel üksikute andmete (nt. sünniaasta abil vanuse) välja arvutamiseks. Toimingud andmetega jäävad enamjaolt kirjest väljapool paikneva programmi ülesandeks. Objektide puhul aga püütakse enamik konkreetse objektitüübiga seotud toiminguid ühise kesta sisse koondada. Piir kirjete ja objektide vahel on mõnevõrra hägune ning mõnes keeles (nt. Java) polegi kirjete
(tulenevalt selle keele objektorienteeritusest) ning meetodid on rühmitatud klasside kaupa. Meetodid võivad olla kas programmeerija enda poolt loodud või Javasse sisse ehitatud (nn. API meetodid, mille kirjelduse leiab Java dokumentatsioonist). Sõltumata sellest, kust meetod pärineb, võib see olla kas klassi- või isendimeetod. Klassimeetod (class method) , mida Javas kirjeldab võtmesõna static, on kasutatav n.ö. "igas olukorras", s.t. ei ole vajalik objektorienteeritud paradigma järgimine (esialgu püüame oma kursuses läbi ajada klassimeetoditega). Täpsemalt öeldes - klassimeetodi poole pöördumiseks ei ole vajalik objekti olemasolu. Klassimeetodi poole pöördumiseks kirjutatakse reeglina: Klassi_nimi . meetodi_nimi ( faktilised_parameetrid ); Kui meetod on defineeritud jooksvas klassis, siis võib klassi nime (ja punkti) ära jätta. Näit. Math.sqrt (2.); Isendimeetod (instance method) on rakendatav mingile etteantud objektile (seda
TIMESTAMP () Kuupäev ja aeg, ajatempel. Kuid saamisel valdkonnas väärtus ei kuvata vormi timestamp, kuid vorm YYYY-MM-DD HH: MM: SS TIME () Aeg HH: MM: SS YEAR () Aasta kahekohaline või neljakohalise formaadis. PostgreSQL Om Postgresql on Berkeleys Ülikoolis arendatud postgres andmebaasi vabavaraline edasiarendus PostgreSQL on relatsiooniline andmebaasihaldur mõningase objektorienteeritud kallakuga ning tehniliselt ja funktsionaalselt tõsine konkurent parimatele kommertsanaloogidele. Samuti oli ta üks esimesi andmebaase, mis pakkus MVCC'd vastukaaluks realukustusele või tabelilukustusele ning see parandab oluliselt süsteemi tõhusust andmebaasi ühiskasutuse korral. Esimese pooleteise tunni jooksul tähelepandud erinevused võrreldes MySQL'iga: - kaasas on hea dokumentatsioon ja tutorid (ka PostScript'is) mida MySQL'il peaaegu polegi
Unit testid on väga tähtsad. Kui on unit testidega kaetud suur osa koodist ja erinevad variandid, on hiljem lihtsam üles leida, kus on viga ja kergemini analüüsida. Testimise tasandid: 1. Ühiktestimine (Unit test) Ühiktestimisel vastab üks test konkreetsele koodi osale, tavaliselt funktsioonile. Objektorienteeritud keskkonnas testitakse klasside tasemel ja minimaalsesse testi kaasatakse ka konstruktorid ja destruktorid. Ühikteste kirjutavad arendajad tavaliselt valge kasti stiilis, et kontrollida, kas mingi funktsioon töötab, nagu ette nähtud. 30