Microsoft PowerPoint - TÜ TVT - Kavandamine ja arhitektuur 2.ppt

Seotud dokumendid
Süsteemide modelleerimine: praktikum Klassiskeemid Oleg Mürk

Microsoft PowerPoint - loeng.ppt

Tarkvaratehnika

Tarkvaratehnika

(Microsoft PowerPoint - seminar_6_n\365uded-ainemudel tagasiside.ppt [Compatibility Mode])

(Tõrked ja töökindlus \(2\))

Andmeturve

CPA4164 USB 2.0 kõrgekvaliteediline videoadapter KASUTUSJUHEND 1. PEATÜKK - Ülevaade 1.1 Tutvustus CPA4164 USB 2.0 videoadapter võimaldab teil arvutis

Kursuseprogramm IFI6054 Agiilne tarkvaraarendus 3 EAP Kontakttundide maht: 28 Õppesemester: K Eksam Eesmärk: Aine lühikirjeldus: (sh iseseisva töö sis

Test_Pub

Tartu Ülikool

Microsoft Word - ref - Romet Piho - Tutorial D.doc

Microsoft Word - EVS_ISO_IEC_27001;2014_et_esilehed.doc

Magnetic MRO

EVS standardi alusfail

E-õppe ajalugu

PowerPointi esitlus

Operatsioonisüsteemi ülesanded

Microsoft PowerPoint - Lisa 5 koolituse materjalid

Rahvusvaheline motokross Baltimere Karikas 2015 Soome Eesti Läti Leedu Kooskõlastanud: EMF-i alajuht; Kinnitanud: EMF peasekretär 1. Aeg ja koht: 18.0

HAJUSSÜSTEEMID HAJUSSÜSTEEMID Kaugprotseduurid IDL kompileerimine ONCIDLnäide CORBAIDLnäide MIDLnäide DCERPCmuidomadusi XML-RPC JSON-RPC REST document

Ülesanne #5: Käik objektile Kooli ümberkujundamist vajava koha analüüs. Ülesanne #5 juhatab sisse teise poole ülesandeid, mille käigus loovad õpilased

PowerPoint Presentation

Inglise keele ainekava 9.klassile Kuu Õpitulemused Õppesisu Kohustuslik hindamine September 1. Kasutab Present Simple, Present Mina ja teised. Inimese

Powakaddy

EESTI STANDARD EVS-EN 1790:1999 This document is a preview generated by EVS Teemärgistusmaterjalid. Kasutusvalmid teekattemärgised Road marking materi

Microsoft Word - C035736e.doc

Kuidas ärgitada loovust?

Kuidas, kus ja milleks me kujundame poliitikaid Kuidas mõjutavad meid poliitikad ja instrumendid Euroopa Liidu ja riigi tasandil Heli Laarmann Sotsiaa

BIM360 ja RealityCapture

1 / loeng Tekstitöötlus Sisend/väljund Teksti lugemine Sõnad

Õpetajate haridustehnoloogilised pädevused ja nende hindamine Mart Laanpere, Hans Põldoja Tallinna Ülikool

Skriptimiskeeli, mida ei käsitletud Perl Python Visual Basic Script Edition (VBScript) MS DOS/cmd skriptid Windows PowerShell midagi eksootilisemat: G

X Window System tuntud kui: X11, X, X-Windows akendussüsteem/akendesüsteem rastergraafikat toetavatele ekraanidele UNIX-maailmas väga levinud mitmesug

EESTI STANDARD EVS :2003 See dokument on EVS-i poolt loodud eelvaade TERASKONSTRUKTSIOONID Osa 4-2:Vedelikumahutid Steel structures Part 4-2:

Müük (Microsoft Dynamics AX (Axapta) tarkvara) Paigaldusjuhend bifree.ee qlik.com

I Generaatori mõiste (Java) 1. Variantide läbivaatamine Generaator (ehk generaator-klass) on klass, milles leidub (vähemalt) isendimeetod next(). Kons

PowerPoint Presentation

View PDF

EE-macbook-retina-12-early2015-qs.indd

Operatsioonisüsteemide ehitus

Statistikatarkvara

seletus 2 (2)

Juhend nutiterminali seadistamiseks ja kaardimaksete vastuvõtmiseks Ingenico Link/2500 ja icmp

SQL

MTAT Loeng 2 ( )

ANOVA Ühefaktoriline dispersioonanalüüs Treeningu sagedus nädalas Kaal FAKTOR UURITAV TUNNUS Mitmemõõtmeline statistika Kairi Osula 2017/kevad

SP Tartu Inspiratsioonipäev.key

Microsoft PowerPoint - Kliiniliste auditite kogemused [Read-Only] [Compatibility Mode]

Pöördumine Eesti Valitususe ja Europa Nõukogu Inimõiguste Komissari hr. Hammarbergi poole Appeal to the Government of the Republic of Estonia and the

Võrguinverterite valik ja kasutusala päikeseelektrijaamades Robert Mägi insener

Praks 1

Akadeemilise personali tööstressi ja läbipõlemise ohjamise meetmed (AcadOSI) Tallinna Tehnikaülikool psühholoogia õppetool professor Mare Teichmann 12

Technology Esimene PowerSense tehnoloogiaga elektromehaaniline tööriist

Eetika kui tulevikuvaluuta tarbimiskeskkonnas!? Dr. Mari Kooskora Dotsent, EBS Ärieetikakeskuse juhataja Pilt: Mari Kooskora Sügis

Ø ,3 mm SYSTEM KAN-therm Inox EST 2018/ Parimad materjalid Lugematud võimalused EDU TEHNOLOOGIA ISO 9001

Markina

No Slide Title

SAF 7 demo paigaldus. 1.Eeldused SAF 7 demo vajab 32- või 64-bitist Windows 7, Window 8, Windows 10, Windows Server 2008 R2, Windows Server 2012, Wind

Funktsionaalne Programmeerimine

Monitooring

“MÄLUKAS”

Vabavara programmi ACDChemSketch kasutamine struktuurivalemite koostamiseks

Microsoft Word - KOV_uuringu_analyys.doc

(Microsoft Word - Matsalu Veev\344rk AS aktsion\344ride leping \(Lisa D\) Valemid )

Loeng05

EESTI STANDARD EVS-EN :2000 This document is a preview generated by EVS Terastraat ja traattooted piirete valmistamiseks. Osa 4: Terastraadist

Slide 1

PowerPointi esitlus

Majandus- ja kommunikatsiooniministri 10. aprill a määrus nr 26 Avaliku konkursi läbiviimise kord, nõuded ja tingimused sageduslubade andmiseks

Pealkiri

PowerPoint Presentation

H.Moora ettekanne

Microsoft Word - Vx610 EMV KASUTUSJUHEND.doc

Print\A4\QualifyReduced.pmt

tallinn arvudes 2003.indd

COM(2004)651/F1 - ET

Microsoft PowerPoint - Kalle Kukk, Estfeed.pptx

REQUEST FOR AN ASSIGNMENT OF LEI (fond) LEI KOODI MÄÄRAMISE TAOTLUS (fond) 1. FUND DATA / FONDI ANDMED: Legal Name / Ametlik nimi: Other Fund Names /

Ettevalmistavad tööd 3D masinjuhtimise kasutamisel teedeehituses ning erinevate masinjuhtimise võimaluste kasutamine

EESTI STANDARD EVS-ISO/IEC 25021:2014 This document is a preview generated by EVS SÜSTEEMI- JA TARKVARATEHNIKA Süsteemide ja tarkvara kvaliteedinõuded

Microsoft Word - polkaudio 2010 hinnakiri

Tiitelleht

ARENGUVESTLUSED COACHINGU PRINTSIIPE SILMAS PIDADES Arendava vestluste printsiibid: Eneseanalüüs, keskendumine tugevustele, julgustamine, motiveeriv e

AM_Ple_LegReport

Microsoft Word - EVS_898;2014_et.doc

Microsoft Word - Lisa 4_Kohtususteemide vordlus

Õppekavarühm Õppekava nimetus Õppekava kood EHIS-es HAAPSALU KUTSEHARIDUSKESKUSE ÕPPEKAVA Turismi-, toitlustus- ja majutusteenindus Majutusette

DVD_8_Klasteranalüüs

KIIRJUHEND Lugege kiirjuhend enne seadme kasutamist hoolikalt läbi. Kõik tärniga (*) märgitud juhised kehtivad WLAN + 3G mudelitele (Lenovo B6000-H(V)

Häälestusutiliit Kasutusjuhend

Tervise- ja tööministri a määrusega nr 41 kinnitatud Töölesaamist toetavad teenused lisa 1 vorm A Sihtasutus Innove Lõõtsa Tallinn

EESTI STANDARD EVS-ISO/IEC 90003:2009 TARKVARATEHNIKA Juhised ISO 9001:2000 rakendamiseks tarkvarale See dokument on EVS-i poolt loodud eelvaade Softw

Väljavõte:

Kavandamine ja arhitektuur Erik Jõgi erik.jogi@hansa.ee

Muutused Muutused on elu igapäevane osa Meie peame tagama, et meie kirjutatud tarkvara need muutused üle elab Oleme valmis muutusteks, mitte ei võitle nende vastu Embrace the change!

Evolutsiooniline disain lühinägelike taktikaliste otsuste tulemus iga järgnev samm teeb koodi raskemini muudetavaks iga järgnev samm suurendab vigade tekkimise tõenäosust ja vähendab nende lihtsa parandamise võimalusi copy & paste, code & fix suur entroopia

Planeeritud disain vastand evolutsioonilisele disainile paralleel maja ehitamisega disainer teeb üldised disaini skeemid valmis ja programmeerijad kirjutavad selle alusel koodi väga laialdaselt kasutusel disainer ei suuda kõigile koodi kirjutamisel tekkivatele küsimustele ette mõelda muutuvad tingimused!

Agile lähenemine Pigem evolutsiooniline kui planeeritud Seda võimaldavad praktikad: testing continuous integration refactoring Oluline on, et alustataks lihtsast ning süsteemi arenedes toimuks pidevalt tagasi vaatamine ning koodi järgi aitamine uusi asju arvesse võttes

The will to design Inimaspekt on väga oluline Et evolutsiooniline disain toimiks, on tarvis jõudu, mis seda veaks - inimest, kellel on piisavalt meelekindlust, et pürgida kvaliteetse disaini poole Selline tahe on tavaliselt 1-2 inimesel tiimis, kes võtavad vastutuse disaini eest tervikuna. Ilma sellise tahteta evolutsiooniline disain ei toimi Tõenäoliselt ei toimi siis ükski disain

Halva disaini tunnused design smells jäikus (rigidity) raske muutusi teha isegi lihtsaid haprus (fragility) läheb katki iga kord kui midagi muuta liikumatus (immobility) ei suuda taaskasutada viskoossus (viscosity) kergem on teha hack e kui korralikku disaini

Halva disaini tunnused design smells tarbetu keerukus (needless complexity) tuleviku tarbeks ette tehtud asjad tarbetud kordused (needless repetition) copy-paste liigne kasutamine läbipaistmatus (opacity) raskesti arusaadavus

Olulised OO disaini printsiibid Raamatust Agile Software Development: Principles, Patterns, and Practices, Robert Martin, 2003 The Open-Closed Principle The Dependency-Inversion Principle The Single Responsibility Principle The Interface-Segregation Principle The Liskov Substitution Principle

Olulised OO disaini printsiibid The Open-Closed Principle A module should be open for extension but closed for modification Avatud laiendusteks: Moodulit saab laiendada, kui tekib uusi vajadusi Suletud muutusteks: Mooduli laiendamiseks ei pea moodulit ennast muutma Tuleb kasutada abstraktsiooni interface abstract class/method

Olulised OO disaini printsiibid The Dependency-Inversion Principle Depend on abstractions, do not depend on implementations Mooduli realisatsioon ei tohiks sõltuda temast madalama taseme moodulite realisatsioonist vaid nende abstraktsioonidest Kuidas saada viide realisatsioonile? Inversion-of-Control (IOC) Dependency Injection (DI)

Olulised OO disaini printsiibid The Single-Responsibility Principle A class should have only one reason to change Igal klassil peaks olema ainult üks kohustus Erinevad kohustused põhjustavad muutusi erinevates kohtades ja kui need on ühes klassis koos, siis võib ühe suunas muutusi tehes tekkida konflikt teise kohustuse täitmisega SRP tulemuseks on rohkem väikseid klasse: Väike klass ei saa olla väga keeruline Väikeste klassidega on lihtsam jälgida teisi OO põhimõtteid Väikseid klasse on lihtsam tesida

Olulised OO disaini printsiibid The Interface-Segregation Principle Separate clients mean separate interfaces The Liskov Substitution Principle Subtypes must be substitutable for their base types

Design Patterns disaini mustrid Raamat Design Patterns: Elements of Reusable Object-Oriented Software, 1994 Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides Gang of Four Book (GOF) Kataloog erinevatest mustritest Creational patterns Structural patterns Behavioral patterns

Design Patterns - Creational Creational patterns concern the process of object creation Factory method Abstract factory Builder Prototype Singleton

Design Patterns - Structural Structural patterns deal with the composition of classes or objects Adapter Bridge Composite Decorator Façade Flyweight Proxy

Design Patterns - Behavioral Behavioral patterns characterize the ways in which classes or objects interact and distribute responsibility Interpreter Memento Template method Observer Chain of Responsibility State Command Strategy Iterator Visitor Mediator

Refactoring to Patterns Raamat Refactoring to Patterns Joshua Kerievsky, 2004 Over-Engineering Under-Engineering TDD Ask a question of a system by writing a test Respond by writing code to pass the test Refine the response Repeat

Domain-driven design Raamat Domain-Driven Design: Tackling Complexity in the Heart of Software Eric Evans, 2003 Edu alus on valdkonna tundmine eesmärk ei ole saada valdkonna eksperdiks vaid olla võimeline aru saama valdkonna sisust Ühine keel valdkonna ekspertidega objektmudelis kasutatakse vastava valdkonna termineid ei leiutata uus nimesid

Kokkuvõte Hea arendaja tunnused Lihtsad lahendused Pidev pürgimine hea disaini poole Valdkonna tundmine Pidev enese täiendamine