5. Design patterns. TTY Ohjelmistotekniikka
|
|
- Asta Tuominen
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 5. Design patterns The concept of a design pattern Benefits of design patterns Description of design patterns Antipatterns Example: Composite Design patterns and frameworks Design patterns & UML Design patterns are not... Summary 1
2 The concept of a design pattern Cristopher Alexander et al.: A Pattern Language, 1977 Cristopher Alexander: The Timeless Way of Building, 1979 World consists of repeating instances of various patterns Example: Every farmer can build a barn - why? A pattern is (possibly hidden) design knowhow that should be made explicit Well known in other engineering areas Particularly useful concept in software engineering 2
3 Esimerkki: Ikkunat ja ovet hirsitalossa hirret painuvat kasaan Ongelma: ikkunat ja ovet ovat kiinteitä, vaikka hirsiseinä liikkuu ja painuu kasaan. Ratkaisu: ikkunoiden ja ovien karmeja ei kiinnitetä suoraan seinään, vaan "karaan", joka liikkuu vapaasti hirsiin tehdyssä urassa. 3
4 What is a design pattern? Design pattern A general solution to a frequently occurring architecture/design problem in a context. 4
5 Explanation of the definition General solution... not specific to language, environment etc. described as a semiformal document...frequently occurring... must be a common problem...architecture/design problem... applied at architecture or detailed design level...in a context. the problem appears in a context that defines certain requirements or forces 5
6 Benefits of design patterns Design patterns... make hidden design knowledge explicit and available; can be used to document systems (instances of design patterns); name and make explicit a higher-level structure which is not directly supported by a programming language; can be used as architectural building blocks; give a common vocabulary for designers. 6
7 Description of a design pattern Essential parts: Name Problem Solution Consequences Implementation Increases design vocabulary Description of the problem and its context, presumptions, example Basic arrangement of classes and objects to solve a problem (e.g. using UML) Benefits and drawbacks of applying the design pattern Different choices in the implementation of the design pattern, possibly language-dependent 7
8 Description of design patterns in GoF "Gang of Four book, GoF: Gamma E., Helm R., Johnson R., Vlissides J.: Design Patterns - Elements of Reusable Object-Oriented Software. Addison-Wesley Name (and category) Intent Also known as Motivation Applicability Structure Participants Collaborations Consequences Implementation Sample code Known uses Related patterns 8
9 Anti-patterns Problem Pattern Pattern solution Consequences Antipattern solution Symptoms Re-engineering Antipattern Antipattern = solution + solution Pattern = problem + solution Brown W.J. et al.: Antipatterns - Refactoring Software, Architectures, and Projects in Crisis. Wiley
10 General anti-pattern characteristics Code repetition Branching on the basis of data types (classes) Possible alternatives statically fixed in code Superclass knows its subclass Unnecessary downcasting Unclear, unintuitive interfaces Large classes and operations 10
11 Finding patterns: a simple exercise Assume that class Shape is the general superclass of all kinds of graphical shapes like rectangles, circles etc. Each shape knows its coordinates in the two-dimensional space, and how to draw itself at those coordinates (method draw ). For each shape, the method move(x,y) (move the shape x units in x-direction and y units in y-direction) can be implemented by first redrawing the shape in white (background) color at the original position, computing the new coordinates and then drawing a new shape in black at the new coordinates. Assume that system operation setcolor(color) changes the drawing color. Give a design solution in which there is no (or minimal) code duplication for classes Shape, Square and Circle. Use UML. 11
12 Shape draw() move(dx,dy) setcolor(white) draw() x = x + dx y = y + dy setcolor(black) draw() Rectangle draw() draw() Circle 12
13 Template Method design pattern Abstract TemplateMethod() Operation1() Operation2() Operation1() Operation2()... Concrete Operation1() Operation2() 13
14 Example: Composite Problem: how to manage a hierarchical composition of objects? Eg., execute an operation for each leaf object in the hierarchy, without needing to know the details of the structure. Client do operation x 14
15 Developing the composite pattern (1) First solution: two-levels Composite forall() * children Leaf operation() if X is Composite then X.forall() else X.operation;... For all children c: c.operation() Symptoms: - Composite and leafs always treated differently in code - Difficult to extend (new kinds of leafs or composites, unrestricted depth) if X is Composite then Op1(, X, ) else Op2(, X, );... 15
16 Developing the composite pattern (2)( Second solution: Unified treatment in client and unrestricted depth of parts * children Item operation() íf I have children then for all children c: c.operation() else dosomething(); Client: item.operation() 16
17 Developing the composite pattern (3)( Third solution: New types of elements * children Item operation() íf I have children then for all children c: c.operation() else dosomething1() Item1 operation() Item2 operation() íf I have children then for all children c: c.operation() else dosomething2() 17
18 Developing the composite pattern (4)( Fourth solution: Separating the composite class * children Item operation() Item1 Composite dosomething operation() operation() for all children c: c.operation() 18
19 Name: Composite Composite design pattern Problem: How to organize hierarchical object structures so that the clients are not aware of the hierarchy? Solution: Item operation() * children Leaf operation() Composite operation() For all children c: c.operation() 19
20 Composite (cont.) Applicable when: you want to represent part-whole hierarchies of objects you want clients to be able to ignore the difference between composite and elementary objects Consequences: Whereever a client handles a composite object it can handle an elementary object and vice versa Client code becomes simpler Facilitates the adding of new composite and elementary types May overgeneralize: does not support a structure that allows only certain kinds of objects 20
21 Composite (cont.) Implementation concerns Both parent and child references needed? Can the same element belong to several composites? Common interface, type security Are the elements ordered? Who creates and destroys the elements? Which data structure is used for storing the elements? 21
22 Example of applying Composite SourceManager Source delete() print() * children File delete() print() Folder delete() print() add(source) For all children c: c.delete(); Delete folder 22
23 Exercise Figures consist of individual geometric figures (like circle, square etc.) and groups of figures. Give an architectural solution in UML, allowing figures and groups of figures to be treated (e.g. draw) in the same way so that a client need not know whether it is manipulating an individual figure or a group of figures. 23
24 Graphicaltem draw * children Rectangle Circle FigGroup draw draw draw for all children c: c.draw; 24
25 Design patterns and frameworks Graphicaltem draw * children Framework Rectangle Circle FigGroup draw draw draw Application for all children c: c.draw; 25
26 Pattern lifecycle Pattern mining Pattern specification Incomplete pattern instance Pattern instance Pattern catalog Framework Application Pattern implementation 26
27 Design patterns and UML Composite Item Statement * execute() Leaf Composite SimpleStatement execute() Block execute() children 27
28 Patterns in a model EventSource register(statemachine) * * informs StateMachine 1 run(state) handle(event) Singleton State Observer Event source(): Object current.exit(); current = current.transit(e); current.entry(); uses 0..1 current State transit(event): State entry() exit() Event1 source(): Object Event2 source(): Object StateA transit(event): State entry() exit() StateB transit(event): State entry() exit() 28
29 Another approach <<Composite:item>> Statement * execute() <<Composite:leaf>> SimpleStatement execute() <<Composite: composite>> Block execute() children 29
30 Design patterns are not parts of a system; general remedy to improve your system; God-given; without potential problems: design fragmentation overkilling problems excessive dynamic binding object schitzophrenia implicitness 30
31 Summary Design patterns present in a systematic way proven, good design solutions Design patterns are framework building blocks Use a design pattern only after recognizing the problem Design patterns concern experience, not inventions Design patterns are about common sense - use them with common sense 31
5. Suunnittelumallit. TTY Ohjelmistotekniikka
5. Suunnittelumallit Suunnittelumallin käsite Suunnittelumallien hyötyjä Suunnittelumallien kuvaaminen Antisuunnittelumallit Esimerkki: Rekursiokooste Suunnittelumallit ja kehykset Suunnittelumallit ja
Lisätiedot5. Suunnittelumallit. TTY Ohjelmistotekniikka
5. Suunnittelumallit Suunnittelumallin käsite Suunnittelumallien hyötyjä Suunnittelumallien kuvaaminen Antisuunnittelumallit Esimerkki: Rekursiokooste Suunnittelumallit ja kehykset Suunnittelumallit ja
LisätiedotOhjelmistoarkkitehtuurit kevät
Ohjelmistoarkkitehtuurit Kevät 2011-2012 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 5. Suunnittelumallit Suunnittelumallin käsite Suunnittelumallien hyötyjä Suunnittelumallien kuvaaminen Esimerkki:
Lisätiedothttp://www.enteract.com/~bradapp/docs/patterns-intro.html http://www.hillside.net/patterns/
5. Suunnittelumallit Suunnittelumallin käsite Suunnittelumallien hyötyjä Suunnittelumallien kuvaaminen Esimerkki: Rekursiokooste Antisuunnittelumallit Suunnittelumallit ja UML Mallikielet Suunnittelumallit
LisätiedotOhjelmistoarkkitehtuurit
Ohjelmistoarkkitehtuurit 2012-2013 22.1.2013 1 5. Suunnittelumallit Suunnittelumallin käsite Suunnittelumallien hyötyjä Suunnittelumallien kuvaaminen Esimerkki: Rekursiokooste Antisuunnittelumallit Suunnittelumallit
LisätiedotOhjelmistoarkkitehtuurit Kevät 2016 Suunnittelumallit
Ohjelmistoarkkitehtuurit Kevät 2016 Suunnittelumallit Samuel Lahtinen http://www.cs.tut.fi/~ohar/ Ohjelmistoarkkitehtuurit 2016 1 Yleistä Visio ja UML 2.x: http://www.softwarestencils.com/uml/ Komponenteista
Lisätiedot7.4 Variability management
7.4 Variability management time... space software product-line should support variability in space (different products) support variability in time (maintenance, evolution) 1 Product variation Product
Lisätiedot7. Product-line architectures
7. Product-line architectures 7.1 Introduction 7.2 Product-line basics 7.3 Layered style for product-lines 7.4 Variability management 7.5 Benefits and problems with product-lines 1 Short history of software
LisätiedotTIE-20200 Ohjelmistojen suunnittelu
TIE-20200 Ohjelmistojen suunnittelu Luento 1: Virtuaalifunktiot, Template method 1 Yleistä asiaa Muistakaa harkkatyöilmoittautuminen 23 ryhmää (mm. lihansyöjäkirahvi), vajaita ryhmiäkin on 44 henkeä vielä
LisätiedotInformation on preparing Presentation
Information on preparing Presentation Seminar on big data management Lecturer: Spring 2017 20.1.2017 1 Agenda Hints and tips on giving a good presentation Watch two videos and discussion 22.1.2017 2 Goals
LisätiedotOn instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)
On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) Juha Kahkonen Click here if your download doesn"t start automatically On instrument costs
Lisätiedot1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward.
START START SIT 1. SIT. The handler and dog stop with the dog sitting at heel. When the dog is sitting, the handler cues the dog to heel forward. This is a static exercise. SIT STAND 2. SIT STAND. The
LisätiedotTIE-20200 Ohjelmistojen suunnittelu
TIE-20200 Ohjelmistojen suunnittelu Luento 1: Virtuaalifunktiot, Template method 1 Seuraavaksi tarjolla: Otekn-asiaa vähän pintaa syvemmältä Virtuaalifunktiot ja erikoistaminen, olioiden kopiointi ja elinaika
LisätiedotNational Building Code of Finland, Part D1, Building Water Supply and Sewerage Systems, Regulations and guidelines 2007
National Building Code of Finland, Part D1, Building Water Supply and Sewerage Systems, Regulations and guidelines 2007 Chapter 2.4 Jukka Räisä 1 WATER PIPES PLACEMENT 2.4.1 Regulation Water pipe and its
LisätiedotKäyttöliittymät II. Käyttöliittymät I Kertaus peruskurssilta. Keskeisin kälikurssilla opittu asia?
Käyttöliittymät II Sari A. Laakso Käyttöliittymät I Kertaus peruskurssilta Keskeisin kälikurssilla opittu asia? 1 Käyttöliittymät II Kurssin sisältö Käli I Käyttötilanteita Käli II Käyttötilanteet selvitetään
LisätiedotOther approaches to restrict multipliers
Other approaches to restrict multipliers Heikki Tikanmäki Optimointiopin seminaari 10.10.2007 Contents Short revision (6.2) Another Assurance Region Model (6.3) Cone-Ratio Method (6.4) An Application of
LisätiedotCapacity Utilization
Capacity Utilization Tim Schöneberg 28th November Agenda Introduction Fixed and variable input ressources Technical capacity utilization Price based capacity utilization measure Long run and short run
LisätiedotTietorakenteet ja algoritmit
Tietorakenteet ja algoritmit Taulukon edut Taulukon haitat Taulukon haittojen välttäminen Dynaamisesti linkattu lista Linkatun listan solmun määrittelytavat Lineaarisen listan toteutus dynaamisesti linkattuna
LisätiedotEfficiency change over time
Efficiency change over time Heikki Tikanmäki Optimointiopin seminaari 14.11.2007 Contents Introduction (11.1) Window analysis (11.2) Example, application, analysis Malmquist index (11.3) Dealing with panel
LisätiedotSuunnittelumallit (design patterns)
Suunnittelumallit (design patterns) Ohjelmoinnissa Rakennusarkkitehtuurissa Käyttöliittymäsuunnittelussa Sear ch Ohjelmointi Suunnittelumallit Usein toistuvia ohjelmointiongelmia ja niiden ratkaisuja:
LisätiedotOhjelmistoarkkitehtuurit Kevät 2014
Ohjelmistoarkkitehtuurit Kevät 2014 Samuel Lahtinen (Johannes Koskinen) http://www.cs.tut.fi/~ohar/ 22.1.2014 1 5. Suunnittelumallit Suunnittelumallin käsite Suunnittelumallien hyötyjä Suunnittelumallien
LisätiedotOn instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)
On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) Juha Kahkonen Click here if your download doesn"t start automatically On instrument costs
Lisätiedot2 Description of Software Architectures
2 Description of Software Architectures 2.1 Significance of architectural descriptions 2.2 Context of architectural descriptions 2.3 Levels of architectural descriptions 2.4 Viewpoints and types in architecture
LisätiedotUusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition)
Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition) Esko Jalkanen Click here if your download doesn"t start automatically Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition) Esko Jalkanen
LisätiedotThe CCR Model and Production Correspondence
The CCR Model and Production Correspondence Tim Schöneberg The 19th of September Agenda Introduction Definitions Production Possiblity Set CCR Model and the Dual Problem Input excesses and output shortfalls
LisätiedotNuku hyvin, pieni susi -????????????,?????????????????. Kaksikielinen satukirja (suomi - venäjä) (www.childrens-books-bilingual.com) (Finnish Edition)
Nuku hyvin, pieni susi -????????????,?????????????????. Kaksikielinen satukirja (suomi - venäjä) (www.childrens-books-bilingual.com) (Finnish Edition) Click here if your download doesn"t start automatically
LisätiedotEncapsulation. Imperative programming abstraction via subprograms Modular programming data abstraction. TTY Ohjelmistotekniikka
Encapsulation Imperative programming abstraction via subprograms Modular programming data abstraction Encapsulation grouping of subprograms and the data they manipulate Information hiding abstract data
Lisätiedotmake and make and make ThinkMath 2017
Adding quantities Lukumäärienup yhdistäminen. Laske yhteensä?. Countkuinka howmonta manypalloja ballson there are altogether. and ja make and make and ja make on and ja make ThinkMath 7 on ja on on Vaihdannaisuus
LisätiedotTarjolla tänään: Sanastoa Koneenohjausjärjestelmien suunnittelumallit. Pattern Architecture Style. GoF. Design pattern
Koneenjärjestelmien suunnittelumallit Ohjelmistoarkkitehtuurit 9.2. 2012 Veli-Pekka Eloranta Tarjolla tänään: Suunnittelumallit Sanastoa Taustaa Kuvaustavat Mallikielet Työkoneet sovellusalueena Miksi
LisätiedotReturns to Scale II. S ysteemianalyysin. Laboratorio. Esitelmä 8 Timo Salminen. Teknillinen korkeakoulu
Returns to Scale II Contents Most Productive Scale Size Further Considerations Relaxation of the Convexity Condition Useful Reminder Theorem 5.5 A DMU found to be efficient with a CCR model will also be
LisätiedotWindows Phone. Module Descriptions. Opiframe Oy puh. +358 44 7220800 eero.huusko@opiframe.com. 02600 Espoo
Windows Phone Module Descriptions Mikä on RekryKoulutus? Harvassa ovat ne työnantajat, jotka löytävät juuri heidän alansa hallitsevat ammatti-ihmiset valmiina. Fiksuinta on tunnustaa tosiasiat ja hankkia
LisätiedotBLOCKCHAINS AND ODR: SMART CONTRACTS AS AN ALTERNATIVE TO ENFORCEMENT
UNCITRAL EMERGENCE CONFERENCE 13.12.2016 Session I: Emerging Legal Issues in the Commercial Exploitation of Deep Seabed, Space and AI BLOCKCHAINS AND ODR: SMART CONTRACTS AS AN ALTERNATIVE TO ENFORCEMENT
LisätiedotNetwork to Get Work. Tehtäviä opiskelijoille Assignments for students. www.laurea.fi
Network to Get Work Tehtäviä opiskelijoille Assignments for students www.laurea.fi Ohje henkilöstölle Instructions for Staff Seuraavassa on esitetty joukko tehtäviä, joista voit valita opiskelijaryhmällesi
LisätiedotOhjelmistoarkkitehtuurit Kevät 2016 Johdantoa
Ohjelmistoarkkitehtuurit Kevät 2016 Johdantoa Samuel Lahtinen http://www.cs.tut.fi/~ohar/ 8.1.2014 1 1 Johdanto 1.1 Mikä on ohjelmistoarkkitehtuuri? 1.2 Ohjelmistoarkkitehtuuri ja laatuvaatimukset 1.3
LisätiedotChoose Finland-Helsinki Valitse Finland-Helsinki
Write down the Temporary Application ID. If you do not manage to complete the form you can continue where you stopped with this ID no. Muista Temporary Application ID. Jos et onnistu täyttää lomake loppuun
LisätiedotOn instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)
On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) Juha Kahkonen Click here if your download doesn"t start automatically On instrument costs
Lisätiedot812336A C++ -kielen perusteet, 21.8.2010
812336A C++ -kielen perusteet, 21.8.2010 1. Vastaa lyhyesti seuraaviin kysymyksiin (1p kaikista): a) Mitä tarkoittaa funktion ylikuormittaminen (overloading)? b) Mitä tarkoittaa jäsenfunktion ylimääritys
LisätiedotAlternative DEA Models
Mat-2.4142 Alternative DEA Models 19.9.2007 Table of Contents Banker-Charnes-Cooper Model Additive Model Example Data Home assignment BCC Model (Banker-Charnes-Cooper) production frontiers spanned by convex
LisätiedotTIEKE Verkottaja Service Tools for electronic data interchange utilizers. Heikki Laaksamo
TIEKE Verkottaja Service Tools for electronic data interchange utilizers Heikki Laaksamo TIEKE Finnish Information Society Development Centre (TIEKE Tietoyhteiskunnan kehittämiskeskus ry) TIEKE is a neutral,
LisätiedotAYYE 9/ HOUSING POLICY
AYYE 9/12 2.10.2012 HOUSING POLICY Mission for AYY Housing? What do we want to achieve by renting apartments? 1) How many apartments do we need? 2) What kind of apartments do we need? 3) To whom do we
LisätiedotResults on the new polydrug use questions in the Finnish TDI data
Results on the new polydrug use questions in the Finnish TDI data Multi-drug use, polydrug use and problematic polydrug use Martta Forsell, Finnish Focal Point 28/09/2015 Martta Forsell 1 28/09/2015 Esityksen
LisätiedotGap-filling methods for CH 4 data
Gap-filling methods for CH 4 data Sigrid Dengel University of Helsinki Outline - Ecosystems known for CH 4 emissions; - Why is gap-filling of CH 4 data not as easy and straight forward as CO 2 ; - Gap-filling
LisätiedotA new model of regional development work in habilitation of children - Good habilitation in functional networks
A new model of regional development work in habilitation of children - Good habilitation in functional networks Salla Sipari, PhD, Principal Lecturer Helena Launiainen, M.Ed, Manager Helsinki Metropolia
LisätiedotOperatioanalyysi 2011, Harjoitus 4, viikko 40
Operatioanalyysi 2011, Harjoitus 4, viikko 40 H4t1, Exercise 4.2. H4t2, Exercise 4.3. H4t3, Exercise 4.4. H4t4, Exercise 4.5. H4t5, Exercise 4.6. (Exercise 4.2.) 1 4.2. Solve the LP max z = x 1 + 2x 2
LisätiedotKysymys 5 Compared to the workload, the number of credits awarded was (1 credits equals 27 working hours): (4)
Tilasto T1106120-s2012palaute Kyselyn T1106120+T1106120-s2012palaute yhteenveto: vastauksia (4) Kysymys 1 Degree programme: (4) TIK: TIK 1 25% ************** INF: INF 0 0% EST: EST 0 0% TLT: TLT 0 0% BIO:
LisätiedotThe Viking Battle - Part Version: Finnish
The Viking Battle - Part 1 015 Version: Finnish Tehtävä 1 Olkoon kokonaisluku, ja olkoon A n joukko A n = { n k k Z, 0 k < n}. Selvitä suurin kokonaisluku M n, jota ei voi kirjoittaa yhden tai useamman
LisätiedotIntegration of Finnish web services in WebLicht Presentation in Freudenstadt 2010-10-16 by Jussi Piitulainen
Integration of Finnish web services in WebLicht Presentation in Freudenstadt 2010-10-16 by Jussi Piitulainen Who we are FIN-CLARIN University of Helsinki The Language Bank of Finland CSC - The Center for
LisätiedotInfrastruktuurin asemoituminen kansalliseen ja kansainväliseen kenttään Outi Ala-Honkola Tiedeasiantuntija
Infrastruktuurin asemoituminen kansalliseen ja kansainväliseen kenttään Outi Ala-Honkola Tiedeasiantuntija 1 Asemoitumisen kuvaus Hakemukset parantuneet viime vuodesta, mutta paneeli toivoi edelleen asemoitumisen
LisätiedotSecurity server v6 installation requirements
CSC Security server v6 installation requirements Security server version 6.4-0-201505291153 Pekka Muhonen 8/12/2015 Date Version Description 18.12.2014 0.1 Initial version 10.02.2015 0.2 Major changes
LisätiedotGreen Growth Sessio - Millaisilla kansainvälistymismalleilla kasvumarkkinoille?
Green Growth Sessio - Millaisilla kansainvälistymismalleilla kasvumarkkinoille? 10.10.01 Tuomo Suortti Ohjelman päällikkö Riina Antikainen Ohjelman koordinaattori 10/11/01 Tilaisuuden teema Kansainvälistymiseen
Lisätiedot1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä
OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 811122P (5 op.) 12.12.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan
LisätiedotLand-Use Model for the Helsinki Metropolitan Area
Land-Use Model for the Helsinki Metropolitan Area Paavo Moilanen Introduction & Background Metropolitan Area Council asked 2005: What is good land use for the transport systems plan? At first a literature
LisätiedotTietoEnator Pilot. Ari Hirvonen. TietoEnator Oyj. Senior Consultant, Ph. D. (Economics) presentation TietoEnator 2003 Page 1
TietoEnator Pilot Ari Hirvonen Senior Consultant, Ph. D. (Economics) TietoEnator Oyj presentation TietoEnator 2003 Page 1 Sallikaa minun kysyä, mitä tietä minun tulee kulkea? kysyi Liisa. Se riippuu suureksi
LisätiedotMiksi Suomi on Suomi (Finnish Edition)
Miksi Suomi on Suomi (Finnish Edition) Tommi Uschanov Click here if your download doesn"t start automatically Miksi Suomi on Suomi (Finnish Edition) Tommi Uschanov Miksi Suomi on Suomi (Finnish Edition)
LisätiedotBDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET.
BDD (behavior-driven development) suunnittelumenetelmän käyttö open source projektissa, case: SpecFlow/.NET. Pekka Ollikainen Open Source Microsoft CodePlex bio Verkkosivustovastaava Suomen Sarjakuvaseura
LisätiedotSecurity server v6 installation requirements
CSC Security server v6 installation requirements Security server version 6.x. Version 0.2 Pekka Muhonen 2/10/2015 Date Version Description 18.12.2014 0.1 Initial version 10.02.2015 0.2 Major changes Contents
LisätiedotEUROOPAN PARLAMENTTI
EUROOPAN PARLAMENTTI 2004 2009 Kansalaisvapauksien sekä oikeus- ja sisäasioiden valiokunta 2008/0101(CNS) 2.9.2008 TARKISTUKSET 9-12 Mietintöluonnos Luca Romagnoli (PE409.790v01-00) ehdotuksesta neuvoston
LisätiedotC++11 seminaari, kevät Johannes Koskinen
C++11 seminaari, kevät 2012 Johannes Koskinen Sisältö Mikä onkaan ongelma? Standardidraftin luku 29: Atomiset tyypit Muistimalli Rinnakkaisuus On multicore systems, when a thread writes a value to memory,
LisätiedotAsiantuntijoiden osaamisen kehittäminen ja sen arviointi. Anne Sundelin Capgemini Finland Oy
Asiantuntijoiden osaamisen kehittäminen ja sen arviointi Anne Sundelin Capgemini Finland Oy Urapolkumalli ja suorituksen johtaminen ovat keskeisiä prosesseja asiantuntijoiden ja organisaation kehittämisessä
Lisätiedot812347A Olio-ohjelmointi, 2015 syksy 2. vsk. VI Johdanto suunnittelumalleihin
2015 syksy 2. vsk VI Johdanto suunnittelumalleihin Sisältö 1. Taustaa 2. Model View - Controller 3. Suunnittelumallin kuvaamisesta 4. Tavoitteita 5. Suunnitteluongelmien suhde malleihin 6. Suunnittelumallien
LisätiedotData protection template
Data protection template Aihe: rekisteriseloste ja informointipohja Topic: information about the register and information to users (related to General Data Protection Regulation (GDPR) (EU) 2016/679) Mallina
Lisätiedotanna minun kertoa let me tell you
anna minun kertoa let me tell you anna minun kertoa I OSA 1. Anna minun kertoa sinulle mitä oli. Tiedän että osaan. Kykenen siihen. Teen nyt niin. Minulla on oikeus. Sanani voivat olla puutteellisia mutta
LisätiedotCounting quantities 1-3
Counting quantities 1-3 Lukumäärien 1 3 laskeminen 1. Rastita Tick (X) (X) the kummassa box that has laatikossa more on balls enemmän in it. palloja. X. Rastita Tick (X) (X) the kummassa box that has laatikossa
LisätiedotMUSEOT KULTTUURIPALVELUINA
Elina Arola MUSEOT KULTTUURIPALVELUINA Tutkimuskohteena Mikkelin museot Opinnäytetyö Kulttuuripalvelujen koulutusohjelma Marraskuu 2005 KUVAILULEHTI Opinnäytetyön päivämäärä 25.11.2005 Tekijä(t) Elina
LisätiedotHankkeen toiminnot työsuunnitelman laatiminen
Hankkeen toiminnot työsuunnitelman laatiminen Hanketyöpaja LLP-ohjelman keskitettyjä hankkeita (Leonardo & Poikittaisohjelma) valmisteleville11.11.2011 Työsuunnitelma Vastaa kysymykseen mitä projektissa
LisätiedotExercise 1. (session: )
EEN-E3001, FUNDAMENTALS IN INDUSTRIAL ENERGY ENGINEERING Exercise 1 (session: 24.1.2017) Problem 3 will be graded. The deadline for the return is on 31.1. at 12:00 am (before the exercise session). You
LisätiedotCo-Design Yhteissuunnittelu
Co-Design Yhteissuunnittelu Tuuli Mattelmäki DA, associate professor Aalto University School of Arts, Design and Architecture School of Arts, Design and Architecture design with and for people Codesign
Lisätiedot1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä
OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 81122P (4 ov.) 30.5.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan
LisätiedotInformation on Finnish Courses Autumn Semester 2017 Jenni Laine & Päivi Paukku Centre for Language and Communication Studies
Information on Finnish Courses Autumn Semester 2017 Jenni Laine & Päivi Paukku 24.8.2017 Centre for Language and Communication Studies Puhutko suomea? -Hei! -Hei hei! -Moi! -Moi moi! -Terve! -Terve terve!
LisätiedotOhjelmointikielet ja -paradigmat 5op. Markus Norrena
Ohjelmointikielet ja -paradigmat 5op Markus Norrena Kotitehtävä 6, toteuttakaa alla olevan luokka ja attribuutit (muuttujat) Kotitehtävä 6, toteuttakaa alla olevan luokka ja attribuutit (muuttujat) Huom!
Lisätiedot1 Introduction. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2006
1 Introduction 1.1 What is software architecture? 1.2 Why is software architecture important? 1.3 Architecting process 1.4 Architecture-oriented programming 1.5 Conclusions 1 1.1 What is software architecture?
LisätiedotFraktaalit. Fractals. Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto. 1 / 8 R. Kangaslampi Fraktaalit
Fraktaalit Fractals Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 5.-7.10.2012 1 / 8 R. Kangaslampi Fraktaalit Bottomless wonders spring from simple rules, which are repeated
LisätiedotEnterprise Architecture TJTSE Yrityksen kokonaisarkkitehtuuri
Enterprise Architecture TJTSE25 2009 Yrityksen kokonaisarkkitehtuuri Jukka (Jups) Heikkilä Professor, IS (ebusiness) Faculty of Information Technology University of Jyväskylä e-mail: jups@cc.jyu.fi tel:
LisätiedotUusi Ajatus Löytyy Luonnosta 3 (Finnish Edition)
Uusi Ajatus Löytyy Luonnosta 3 (Finnish Edition) Esko Jalkanen Click here if your download doesn"t start automatically Uusi Ajatus Löytyy Luonnosta 3 (Finnish Edition) Esko Jalkanen Uusi Ajatus Löytyy
LisätiedotOma sininen meresi (Finnish Edition)
Oma sininen meresi (Finnish Edition) Hannu Pirilä Click here if your download doesn"t start automatically Oma sininen meresi (Finnish Edition) Hannu Pirilä Oma sininen meresi (Finnish Edition) Hannu Pirilä
LisätiedotFinFamily PostgreSQL installation ( ) FinFamily PostgreSQL
FinFamily PostgreSQL 1 Sisällys / Contents FinFamily PostgreSQL... 1 1. Asenna PostgreSQL tietokanta / Install PostgreSQL database... 3 1.1. PostgreSQL tietokannasta / About the PostgreSQL database...
LisätiedotKONEISTUSKOKOONPANON TEKEMINEN NX10-YMPÄRISTÖSSÄ
KONEISTUSKOKOONPANON TEKEMINEN NX10-YMPÄRISTÖSSÄ https://community.plm.automation.siemens.com/t5/tech-tips- Knowledge-Base-NX/How-to-simulate-any-G-code-file-in-NX- CAM/ta-p/3340 Koneistusympäristön määrittely
LisätiedotALOITUSKESKUSTELU / FIRST CONVERSATION
ALOITUSKESKUSTELU / FIRST CONVERSATION Lapsen nimi / Name of the child Lapsen ikä / Age of the child yrs months HYVINKÄÄN KAUPUNKI Varhaiskasvatuspalvelut Lapsen päivähoito daycare center / esiopetusyksikkö
Lisätiedot16. Allocation Models
16. Allocation Models Juha Saloheimo 17.1.27 S steemianalsin Optimointiopin seminaari - Sks 27 Content Introduction Overall Efficienc with common prices and costs Cost Efficienc S steemianalsin Revenue
LisätiedotInformation on Finnish Language Courses Spring Semester 2018 Päivi Paukku & Jenni Laine Centre for Language and Communication Studies
Information on Finnish Language Courses Spring Semester 2018 Päivi Paukku & Jenni Laine 4.1.2018 Centre for Language and Communication Studies Puhutko suomea? -Hei! -Hei hei! -Moi! -Moi moi! -Terve! -Terve
LisätiedotTravel Getting Around
- Location Olen eksyksissä. Not knowing where you are Voisitko näyttää kartalta missä sen on? Asking for a specific location on a map Mistä täällä on? Asking for a specific...wc?...pankki / rahanvaihtopiste?...hotelli?...huoltoasema?...sairaala?...apteekki?...tavaratalo?...ruokakauppa?...bussipysäkki?
Lisätiedot4x4cup Rastikuvien tulkinta
4x4cup Rastikuvien tulkinta 4x4cup Control point picture guidelines Päivitetty kauden 2010 sääntöihin Updated for 2010 rules Säännöt rastikuvista Kilpailijoiden tulee kiinnittää erityistä huomiota siihen,
LisätiedotFinFamily Installation and importing data (11.1.2016) FinFamily Asennus / Installation
FinFamily Asennus / Installation 1 Sisällys / Contents FinFamily Asennus / Installation... 1 1. Asennus ja tietojen tuonti / Installation and importing data... 4 1.1. Asenna Java / Install Java... 4 1.2.
LisätiedotArkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä
Arkkitehtuuritietoisku eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä Esikysymys Kuinka moni aikoo suunnitella projektityönsä arkkitehtuurin? Onko tämä arkkitehtuuria?
LisätiedotEARLY LEARNING PLAN / ENGLANTI VARHAISKASVATUSSUUNNITELMA
EARLY LEARNING PLAN / ENGLANTI VARHAISKASVATUSSUUNNITELMA JYVÄSKYLÄN KAUPUNKI Dear Family, Home and the family are the most important growth environment and community for the child. Alongside with home,
LisätiedotNAO- ja ENO-osaamisohjelmien loppuunsaattaminen ajatuksia ja visioita
NAO- ja ENO-osaamisohjelmien loppuunsaattaminen ajatuksia ja visioita NAO-ENO työseminaari VI Tampere 3.-4.6.2015 Projektisuunnittelija Erno Hyvönen erno.hyvonen@minedu.fi Aikuiskoulutuksen paradigman
LisätiedotPaikkatiedon semanttinen mallinnus, integrointi ja julkaiseminen Case Suomalainen ajallinen paikkaontologia SAPO
Paikkatiedon semanttinen mallinnus, integrointi ja julkaiseminen Case Suomalainen ajallinen paikkaontologia SAPO Tomi Kauppinen, Eero Hyvönen, Jari Väätäinen Semantic Computing Research Group (SeCo) http://www.seco.tkk.fi/
LisätiedotImmigration Studying. Studying - University. Stating that you want to enroll. Stating that you want to apply for a course.
- University I would like to enroll at a university. Stating that you want to enroll I want to apply for course. Stating that you want to apply for a course an undergraduate a postgraduate a PhD a full-time
LisätiedotOhjelmointikielet ja -paradigmat 5op. Markus Norrena
Ohjelmointikielet ja -paradigmat 5op Markus Norrena Ko#tehtävä 4 Viimeistele "alkeellinen kuvagalleria". Käytännössä kaksi sivua Yksi jolla voi ladata kuvia palvelimelle (file upload) Toinen jolla ladattuja
LisätiedotVoice Over LTE (VoLTE) By Miikka Poikselkä;Harri Holma;Jukka Hongisto
Voice Over LTE (VoLTE) By Miikka Poikselkä;Harri Holma;Jukka Hongisto If you are searched for a book by Miikka Poikselkä;Harri Holma;Jukka Hongisto Voice over LTE (VoLTE) in pdf form, then you have come
LisätiedotTU-C2030 Operations Management Project. Introduction lecture November 2nd, 2016 Lotta Lundell, Rinna Toikka, Timo Seppälä
TU-C2030 Operations Management Project Introduction lecture November 2nd, 2016 Lotta Lundell, Rinna Toikka, Timo Seppälä Welcome to the course! Today s agenda Introduction to cases and schedule/ Timo Seppälä
LisätiedotSmart specialisation for regions and international collaboration Smart Pilots Seminar
Smart specialisation for regions and international collaboration Smart Pilots Seminar 23.5.2017 Krista Taipale Head of Internaltional Affairs Helsinki-Uusimaa Regional Council Internationalisation
LisätiedotCollaborative & Co-Creative Design in the Semogen -projects
1 Collaborative & Co-Creative Design in the Semogen -projects Pekka Ranta Project Manager -research group, Intelligent Information Systems Laboratory 2 Semogen -project Supporting design of a machine system
LisätiedotKitchen Pendant 2/10/19
Kitchen Pendant Kitchen Pendant Dining Area Dining Area Living Area Dining Area Bathroom 201 Quantity: 2 W A L L C O L L E C T I O N Voto Wall Square DESCRIPTION The Voto light by Tech Lighting is simply
LisätiedotUse of spatial data in the new production environment and in a data warehouse
Use of spatial data in the new production environment and in a data warehouse Nordic Forum for Geostatistics 2007 Session 3, GI infrastructure and use of spatial database Statistics Finland, Population
LisätiedotS-55.1100 SÄHKÖTEKNIIKKA JA ELEKTRONIIKKA
S-55.00 SÄHKÖKNKKA A KONKKA. välikoe 2..2008. Saat vastata vain neljään tehtävään!. aske jännite U. = 4 Ω, 2 = Ω, = Ω, = 2, 2 =, = A, 2 = U 2 2 2 2. ännitelähde tuottaa hetkestä t = t < 0 alkaen kaksiportaisen
LisätiedotMissä mennään BI? Mikko Kontio
Missä mennään BI? Mikko Kontio Source: EMC - Big Data in 2020 % Business Intelligence Business Analytics set of theories, methodologies, architectures, and technologies that transform raw data into meaningful
Lisätiedottoukokuu 2011: Lukion kokeiden kehittämistyöryhmien suunnittelukokous
Tuula Sutela toukokuu 2011: Lukion kokeiden kehittämistyöryhmien suunnittelukokous äidinkieli ja kirjallisuus, modersmål och litteratur, kemia, maantiede, matematiikka, englanti käsikirjoitukset vuoden
LisätiedotTelecommunication Software
Telecommunication Software Final exam 21.11.2006 COMPUTER ENGINEERING LABORATORY 521265A Vastaukset englanniksi tai suomeksi. / Answers in English or in Finnish. 1. (a) Määrittele sovellusviesti, PersonnelRecord,
LisätiedotRINNAKKAINEN OHJELMOINTI A,
RINNAKKAINEN OHJELMOINTI 815301A, 18.6.2005 1. Vastaa lyhyesti (2p kustakin): a) Mitkä ovat rinnakkaisen ohjelman oikeellisuuskriteerit? b) Mitä tarkoittaa laiska säikeen luominen? c) Mitä ovat kohtaaminen
Lisätiedot