Abstraktiotason nostoa, mallipohjainen ohjelmistokehitys. Samuel Lahtinen Ohjelmistoarkkitehtuurit
|
|
- Helinä Keskinen
- 6 vuotta sitten
- Katselukertoja:
Transkriptio
1 Abstraktiotason nostoa, mallipohjainen ohjelmistokehitys Samuel Lahtinen Ohjelmistoarkkitehtuurit
2 Viimeinen oikea luento
3 Erilaisia mallipohjaisuuteen viittaavia juttuja Low code platforms, vähäisen koodin alustat Visuaalinen ohjelmointi Mashup-ohjelmointi, sovellusten koostaminen Erilaiset mallipohjaiset tekniikat Domain specific models Model-based engineering, Model-driven engineering, mallipohjaisuus ja sen eri asteet Mallien osittainen käyttö Kokonaan malleihin perustuva ohjelmistokehitys Ajoaikainen mallien tulkinta vs. koodin tuottaminen mallien pohjalta
4 Lisää kysymyksiä Mihin käyttötarkoitukseen esimerkiksi mallipohjaiset tekniikat mielestäsi sopivat? Mitkä olisivat niistä saavutetut suurimmat hyödyt? Low-code platforms, mitä hyviä puolia niissä voi olla, entä huonoja? Mikseivät erilaiset mashup-alustat saavuttaneet juurikaan suosiota vaan katosivat?
5 Mallipohjainen ohjelmistokehitys Hypetetty ja hehkutettu reilu 10 vuotta sitten, hopealuoti joka tuo ohjelmistokehityksen loppukäyttäjällekin Mallinnustyökalut ja myös UML olivat vielä hyvin epäkypsiä Hautautui pikkuhiljaa, mutta alkanut ilmestyä pintaan uudestaan Esim. laitteistopuolella paljon intoa Matlab, Simulink mallien hyödyntäminen osana toteutusta Yleisesti käytetty huonompi vaihtoehto, joku systeemi-insinööri tai matemaatikko mallintaa prosesseja jne. ja sitten koodari koittaa tulkita malleja ja koodailla ne esimerkiksi c:llä saadaan moninkertaistettua virheiden mahdollisuudet (kaikista huonoin vaihtoehto, mitään ohjelmistoista ymmärtämättömät kaverit koodaavat itse toteutuksen )
6 Mallipohjainen ohjelmistokehitys Mallipohjainen (model-based), kaikkea mallien avulla tehtävää koodin tuottamista tai mallien ajoaikaista käyttöä Mallien hyödyntämisen iloja: Korkeamman abstraktiotason käyttö Saman toteutuksen/mallin hyödyntäminen usealle eri alustalle ja jopa ohjelmointikielelle Mallit ovat muutakin kuin dokumentaatiota, mallit osana toteutusta mallit ja toteutus vastaavat toisiaan, ei tarvetta päivitellä ees taas Jäljitettävyysvaatimukset, vaatimusten jäljittäminen helpompi kytkeä toteutukseen mallien kautta Mallien simulointi ja testaaminen koodi on kunnossa ja tekee mitä pitää Visuaalisuus voi auttaa
7 OMG ja MDA OMG:n oma näkemys mallikeskeisestä suunnittelusta, MDA Modeldriven architecture Sovellus tehdään mallintamalla ja mallitransformaatioita määrittelemällä Korkeimmalla tasolla toimialuekohtaiset mallit (domain spesific models ), joilla mallinnetaan toiminnallisuutta jne. korkealla tasolla, jopa loppukäyttäjän toimesta
8 Esimerkkejä Mallipohjaisuutta OMG:n visio Luennoilta tuttua lapsille suunnattua Visuaalista ohjelmointia Raspberrylle (toisaalta Low code platform-alustaajatelmaa): Blockly, johon edellämainittukin perustuu (koodin tuottamista JavaScript, Python, and Dart) Lego Mindstorms:
9 Simulink ja Matlab
10 Visuaaliset kielet ja konfigurointiympäristöt Kielen määrittely, mikä on sallittua ja mikä ei on usein fiksua tehdä malleja hyödyntämällä Säännöstökokoelma, instanssi määrittää mitä halutaan tehdä Konfiguraatioiden hallinta, toiminnallisuuden yhdistäminen jne.
11 Simulink-mallit ja niiden hyödyntäminen Usein tarvetta tehdä sovittimia, joilla mallit/niistä tuotettu koodi saadaan liitettyä mukaan muuhun järjestelmään Arkkitehtuurisuunnittelua ja ohjelman rakenteen suunnittelua Ongelmana miten välittää tietoa mallille ja mallista siististi ja oikeaan aikaan
12 Yksinkertainen esimerkki, karsittu sijoittelukaavio D E A B C
13 Kielen määrittely noudattaa (ilmentymä) Säännöt MOF yksinkertaistettu MOF in MOF Class 1 M in M * AssocEnd noudattaa (ilmentymä) L in M noudattaa (ilmentymä) Association 1 2 multiplicity kind P in L noudattaa (ilmentymä) P:n ilmentymä visualisointi A MySystem B 13
14 UML:n mallit, staattiset Luokkakaaviot: ohjelman luokkarakenne, funktiot jne, osien välisiä suhteita Olio-kaavio, ajoaikaisia suhteita Olio-, komponentti-, jne. Kaavioiden instanssiesitykset, voidaan ketoa esimerkiksi mitkä asiat kytketään toisiinsa ja miten (porttien käyttö jne) voidaan luoda automaattisesti päivityssuhde muuttujien välille Esimerkki: Rational Rhapsody luo Mediator-patternin mukaelmalla suhteet ja rajapinnat, joiden avulla päivitys tapahtuu ilman suoran riippuvuuden syntyä
15 UML:n mallit, dynaamiset Tilakaavioiden käyttö toiminnallisuutta kuvaamaan Luokan toiminnallisuuden kuvaaminen tilakaaviolla, reaktiiviset järjestelmät Tilakaaviot toimivat hyvin esimerkiksi sulautettujen järjestelmien (osa)toiminnallisuuden kuvaamiseen Aktiviteettikaaviot, kuten tilakaaviotkin Sekvenssikaavioiden käyttö harvinaisempaa
16 Mallipohjaisuus yksinkertaisimmillaan Otetaan koodin tuottamista tukeva mallinnustyökalu (esim. PTC, Rational Rhapsody, ) Piirretään staattinen rakenne luokkakaavioiden avulla Toiminnallisuuden määritteleminen käyttämällä tilakaavioita
17 Pikainen esittely tilakaavioiden maailmasta stm statechartsample Initial [heatingbuttonpressed] Heating entry / heateron exit / heateroff [temperarature > 350] [temperature < 300] Ov erheating entry / warninglighton exit / warninglightoff entry / coolingfanon exit / coolingfanoff [3min timeout] /heatingfinished [cancelbyuser] [cancelbyuser] Final
18 Demoesimerkki
19 Takaisinmallinnuksen käyttö Yksinkertainen perusmalli, luokkakaavioiden ja rakenteen mallintaminen mallinnustyökalulla Koodin tuottaminen ja takaisinmallinnuksen käyttö koodin muutokset näkyvät mallissa, mallin muutokset koodissa Molemmat pysyvät ajan tasalla
20 Mallipohjainen ohjelmistoprosessi Käyttötapauksien määrittely Sekvenssikaavioiden käyttö käyttötapausten tarkentamiseen Ohjelmisto- ja laitteistokomponenttien koostaminen käyttäen esimerkiksi sijoittelukaavioita Kohti toteutusta luokkakaavioita käyttäen Toteutus joko koodaillen tai käyttäen malleja toteutuksen määrittelyssä
21 Graafisuus, mallipohjaisuus Vaatimusten tarkastelu graafisena vs. loputtomina listoina, helpompi nähdä mitkä vaatimukset riippuvat toisistaan Vaatimusten jäljittäminen, vaatimusten kytkeminen malleihin (malli tyydyttää vaatimuksen) Jos mallista tuotetaan koodia, vaatimusten näkyminen suoraan kooditasolla
22 Jotain MDE-juttuja Hutchinson_et_al-MDE%20practices%20in%20industry.pdf
23 Suunnittelutehtävä Internet of things henkistä suunnittelua: laitteiden netti on uusimpia hype-sanoja ja haluatte ratsastaa aallonharjalla. Kun tähän yhdistää jo 90-luvulta tutun älykotiajatuksen, päästään sovellukseen, jolla tehdään isot rahat. Tehtävänänne on suunnitella uuden ajan älykodin konfigurointiin ja hallintaan soveltuva ohjelmisto, jossa loppukäyttäjä voi yhdistellä erilaisia kodin älykkäitä laitteita ja luoda niille uusia sääntöjä. Lisäksi järjestelmä osaa hakea esimerkiksi sääennustuksia ja sähkön hinnan. Esimerkkiskenaarioita: ulkovalaistus syttymään, kun valittujen kännyköiden kanssa tullaan pihalle tai poistutaan sisältä (auringon laskun ja auringon nousun välisenä aikana). Lämmitys pois päältä huoneistossa arkisin työajan aikana, jos ulkolämpötila yli tietyn rajan (eikä huonelämpö laske alle viidentoista). Mitkä asiat olisivat käyttäjän määriteltävissä, missä muodossa käyttäjä määrittelisi asioita? Minkälainen rakenne ohjelmallenne tulisi? (miten käyttäjän tekemät määritykset otettaisiin käyttöön?) Ajoaikaisesti käytettäviä malleja/määrityksiä, käännetäänkö johonkin muotoon vai mitä tehdään?
24 Ekosysteemijuttuja
25 Mikä ekosysteemi? Ohjelmistoalusta ja yhteisö, joka tuottaa sovelluksia alustalle Laajentavat alustaa, tekevät alustalla toimivia sovelluksia, voivat olla avoimia/suljettuja Alunperin käyttöjärjestelmä ja sen palvelut Siihen päälle ajureita, apupalveluita Sovelluksia, niitä hyödyntäviä muita sovelluksia jne. Ei tehdä enää pelkästään oman firman sisällä, laajentuminen organisaation ulkopuolelle mukana sosiaalinen ekosysteemipuoli (community) Ohjelmistoarkkitehtuurit
26 Määritelmää David G. Messerschmitt and Clemens Szyperski (Software ecosystems kirja): A set of businesses functioning as a unit and interacting with a shared market for software and services, together with relationships among them. These relationships are frequently underpinned by a common technological platform and operate through the exchange of information, resources, and artifacts. Lungu : A collection of systems, which are developed and co-evolve in the same environment (company/social/technical) Jan Bosch: Software ecosystems take various forms but typically consist of a company providing a software platform and a community of external developers providing functionality that extends the basic platform Ohjelmistoarkkitehtuurit
27 Ekosysteemiajatelma, muutakin kuin käyttöjärjestelmätaso Ekosysteemiajattelua Tarjotaan kehitystyökalut (+rajataan asioita) Tarjotaan valmiita ratkaisumalleja, näin ohjelma jaetaan esim. MVC:n, MVVM:n mukaisesti/active record, näin käsittelet asian x Sovelluskauppa/sovellusten keskitetty haku & hallinta Vaatimukset, mitä sovellus saa/ei saa tehdä Käyttöliittymävaatimuksia ja toiminnallisia vaatimuksia (mitä tapahtuu mistäkin napista, mitä tapahtuu, kun ohjelmasta poistutaan jne.) Mahdollinen ohjelmistojen verifiointi Ohjelmistoarkkitehtuurit
28 Käyttöjärjestelmä ja sen vaatimuksia Ohjelmistoarkkitehtuurit
29 Esimerkkejä ekosysteemeistä Facebook, Google, Windows 8, Android, Linux eri versioineen, i-tuotteet, konsolit Raspberryt, Arduinot (alusta ja fyysisiä & ohjelmistokomponentteja, yhteisöä) Pilvimaailman tuotteet Ohjelmistoarkkitehtuurit
30 Pilvinen ekosysteemi esimerkki Ohjelmistoarkkitehtuurit
31 Taksonomiaa Entä nykyaikaistettuna? Software Ecosystem Taxonomy (Bosch, 2009) Ohjelmistoarkkitehtuurit
32 Alusta ja ekosysteemi ohjaavat arkkitehtuuria Sovellusten kehittämisessä ajateltu käytettävän tiettyjä ratkaisutapoja ohjaa toteutettavan ohjelman arkkitehtuurin tähän suuntaan. Helpottaa suunnittelua, mutta jos yritetään tehdä jotain ajatellun muotin ulkopuolelle ulottuvaa, asiat monimutkaisempia Ekosysteemin valintaa, tuki, stabiilius, jatkokehitys, soveltuvuus Useat ekosysteemit ja niiden yhteensovittaminen Ohjelmistoarkkitehtuurit
33 Sopimuksia, vaatimuksia Vaatimuksia: valmiina annettu arkkitehtuuri, työkalujen mahdollisuudet, aihealuerajoitteet, UI, toiminnallisuus, sisältö, teknologia/laitteiston käyttö ( mitä sovellus voi tehdä) Ohjelmistoarkkitehtuurit
34 Oma ekosysteemi? Esimerkki: Tehdään universaali kalenterisovellus, jossa voi ripustella muistilappuja jne. Kalenterioikeuksien jako, Facebook-yhteydet jne. Tietojen säilöntä palvelinpäässä (pilvessä tms.) Alustat: puhelimet (i-sellaiset, Win, Android), tabletit, läppärit/pöytäkoneet Samoja toimintoja, ilmettä, mutta noudatettava kohdealustan sääntöjä Mitä huomiota, mistä osasta tulisi järjestelmän ekosysteemiosio? Ohjelmistoarkkitehtuurit
35 Oman ekosysteemin osia Varsinaiset sovellukset, front-end, käyttöliittymäpuoli Yhteinen osa, tiedon käsittely, tallennus, haku jne. Tämä osa voidaan toteuttaa & suunnitella omien halujen mukaan Käytetyt tekniikat, kielet, toimintatavat, arkkitehtuuriratkaisut Ohjelmistoarkkitehtuurit
36 Sovelluskohtaiset osat, vaatimuksia? Mitä erilaisia vaatimuksia/mahdollisuuksia erikoistettujen osien toteuttamisessa tulee vastaan? Käyttöliittymä ja sujuvuus myyntivaltteina, erikoistetut versiot joka alustalle Tekniikka- ja kieli (millä kielellä käyttäjän osa toteutetaan osaaminen (HTML5, JavaScript, Obj-C, Java, C#, C++ ) Käyttöliittymäpuoli: yhtenäisyys vs. eri alustojen omat vaatimukset Ulkopuoliset kehittäjät/community: rajapintojen dokumentointi, esimerkit, tietoturvallisuus, varmennetaanko ulkopuolinen ohjelmisto jne. Voidaanko tehdä jotain geneeristä yhteistä osaa, jota kaikissa järjestelmissä voitaisiin hyödyntää? esim. Tiedonsiirto, käsittely, paketointi Ohjelmistoarkkitehtuurit
37 Ekosysteemiajattelua, Atom.io Avoimen lähdekoodin koodieditori Painottuu voimakkaasti plugineihin, Node.js GitHub-integraatio, pakettien hallinta mukana, tuo mukanaan tavan julkaista ja kehittää lisäosia Pakettien hallinta hieman jalostettu npm (Node Package Manager), hieman enemmän parametreja, asennushakemisto atomin alla & hakee paketteja suoraan Githubista Electron framework pohjalla( (myös Visual Studio Codessa)
38 Yhteenvetoa Ekosysteemi ajatusmalli (muutakin kuin kasa tarjottua koodia) yhteisö Ekosysteemit ja sovelluskehitys, vaatimukset & hyödyt, ekosysteemi ja oletusarkkitehtuuri Ekosysteemiajattelu omissa projekteissa? Ohjelmistoarkkitehtuurit
Malliperustainen ohjelmistokehitys - MDE Pasi Lehtimäki
Malliperustainen ohjelmistokehitys - MDE 25.9.2007 Pasi Lehtimäki MDE Miksi MDE? Mitä on MDE? MDA, mallit, mallimuunnokset Ohjelmistoja Eclipse, MetaCase Mitä jatkossa? Akronyymiviidakko MDE, MDA, MDD,
LisätiedotOhjelmistoarkkitehtuurit. Kevät 2014
Ohjelmistoarkkitehtuurit Kevät 2014 Samuel Lahtinen http://www.cs.tut.fi/~ohar/ 1 Infoa Vierailuluentojen korviketehtävä kotisivuilla Viikkoharkkojen bonustehtävä julkaistu Tarvittaessa voit myös tehdä
LisätiedotOhjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1
3. Komponentit ja rajapinnat 3.1 Komponenttien idea: ohjelmistotuotannon rationalisointi 3.2 Mikä on ohjelmistokomponentti? 3.3 Komponentit ohjelmistoyksikköinä 3.4 Rajapinnat 3.6 Komponenttien räätälöinti
LisätiedotOhjelmistojen mallintaminen, mallintaminen ja UML
582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML Ohjelmistojen mallintamisesta ja kuvaamisesta Oliomallinnus ja UML Käyttötapauskaaviot Luokkakaaviot Sekvenssikaaviot 2 Yleisesti
LisätiedotOhjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1
2 Ohjelmistoarkkitehtuurien kuvaus 2.1 Arkkitehtuurin kuvaukseen liittyvät käsitteet 2.2 Arkkitehtuurikuvaukset eri tasoilla 2.3 Arkkitehtuurinäkökulmat ja kuvaustyypit 2.4 Arkkitehtuuriviipaleiden kuvaus
LisätiedotHieman lisää malleista ja niiden hyödyntämisestä
Hieman lisää malleista ja niiden hyödyntämisestä Ohjelmistojen mallintaminen Kesä 2012 (Avoin yliopisto) Toni Ruokolainen, 23.8.2012 Mallit Mallit ovat todellisuuden abstraktioita, jotka on muodostettu
LisätiedotTIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely
Lyhyt UML-opas UML -pikaesittely UML, Unified Modeling Language Standardoitu, yleiskäyttöinen mallinnuskieli, jota ylläpitää/hallitsee (Object Management Group) OMG Historiaa: 90-luvulla oli paljon kilpailevia
LisätiedotS11-09 Control System for an. Autonomous Household Robot Platform
S11-09 Control System for an Autonomous Household Robot Platform Projektisuunnitelma AS-0.3200 Automaatio- ja systeemitekniikan projektityöt Quang Doan Lauri T. Mäkelä 1 Kuvaus Projektin tavoitteena on
LisätiedotELM GROUP 04. Teemu Laakso Henrik Talarmo
ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................
LisätiedotOhjelmistotekniikan menetelmät, UML
582101 - Ohjelmistotekniikan menetelmät, UML 1 Sisältö DFD- ja sidosryhmäkaavioiden kertaus Oliomallinnus UML:än kaaviotyypit 2 Tietovuokaaviot Data flow diagrams, DFD Historiallisesti käytetyin kuvaustekniikka
LisätiedotTurvakriittisen projektin menetelmät ja työkalut
Turvakriittisen projektin menetelmät ja työkalut 1. Vaatimushallinta Vaatimushallintaan kohdistuu turvaluokitelluissa projekteissa paljon odotuksia. Etenkin jäljitettävyys vaatimuksiin, testaukseen ja
Lisätiedot13/20: Kierrätys kannattaa koodaamisessakin
Ohjelmointi 1 / syksy 2007 13/20: Kierrätys kannattaa koodaamisessakin Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy
LisätiedotMatopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö
Matopeli C#:lla Aram Abdulla Hassan Ammattiopisto Tavastia Opinnäytetyö Syksy 2014 1 Sisällysluettelo 1. Johdanto... 3 2. Projektin aihe: Matopeli C#:lla... 3 3. Projektissa käytetyt menetelmät ja työkalut
LisätiedotOhjelmistojen suunnittelu
Ohjelmistojen suunnittelu 581259 Ohjelmistotuotanto 154 Ohjelmistojen suunnittelu Software design is a creative activity in which you identify software components and their relationships, based on a customer
Lisätiedot2 Ohjelmistoarkkitehtuurien kuvaus
2 Ohjelmistoarkkitehtuurien kuvaus 2.1 Arkkitehtuurikuvauksen merkityksestä 2.2 Arkkitehtuurin kuvaukseen liittyvät käsitteet 2.3 Arkkitehtuurikuvaukset eri tasoilla 2.4 Arkkitehtuurinäkymät ja kuvaustyypit
LisätiedotPLA-32820 Mobiiliohjelmointi. Mika Saari mika.saari@tut.fi http://www.students.tut.fi/~saari5/pla_32820_2016/
PLA-32820 Mobiiliohjelmointi Mika Saari mika.saari@tut.fi http://www.students.tut.fi/~saari5/pla_32820_2016/ 1. Luento 2 Suoritus vaatimukset Kurssin sisältö Kirjallisuus Mobiiliohjelmointi Mobiililaitteita...
LisätiedotAndroid ohjelmointi. Mobiiliohjelmointi 2-3T5245
Android ohjelmointi Mobiiliohjelmointi 2-3T5245 Mikä on Android? Linux kernelin päälle rakennettu, Googlen kehittämä sovelluspino mobiilisovelluksiin Erillinen versio puhelimelle ja taulutietokoneille
LisätiedotUML:n yleiskatsaus. UML:n osat:
UML:n yleiskatsaus - voidaan hyödyntää hyvin laajasti. - sopii liiketoimintamallinnukseen, ohjelmistomallinnukseen sen jokaiseen vaiheeseen tai minkä tahansa pysyviä ja muuttuvia ominaisuuksia sisältävän
LisätiedotSisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki
Sisällys JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta Abstrakti luokka ja metodi Rajapintamäärittely (interface) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E.
Lisätiedotkäyttötapaukset mod. testaus
käyttötapaukset Jari Ojasti Nokia email : jari.ojasti@nokia.com puh : 040 5926 312 Kartta hyväksyntä määrittely suunnittelu suunnittelu mod. testaus integrointi sys. testaus Ylläpito koodaus (toteutus)
LisätiedotOhjelmistoarkkitehtuurit Refaktorointia, ohjelmien ylläpitoa ja evoluutiota. Kevät 2016
Ohjelmistoarkkitehtuurit Refaktorointia, ohjelmien ylläpitoa ja evoluutiota Kevät 2016 Samuel Lahtinen http://www.cs.tut.fi/~ohar/ Ohjelmistoarkkitehtuurit 2016 1 Aiheita Refaktorointi (N4S-projekti, ~15
LisätiedotOhjelmistotekniikan menetelmät, kesä 2008
582101 - Ohjelmistotekniikan menetelmät, kesä 2008 1 Ohjelmistotekniikan menetelmät Methods for Software Engineering Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön
LisätiedotOhjelmistojen mallintaminen, arkkitehtuuria ja rajapintoja
582104 Ohjelmistojen mallintaminen, arkkitehtuuria ja rajapintoja 1 Arkkitehtuurisuunnittelu Ohjelmistoarkkitehtuurin määritelmä & arkkitehtuurisuunnittelun lähtökohta ja tavoitteet Kerrosarkkitehtuuri
LisätiedotOhjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus
Yhteenveto Ohjelmistotuotanto vs. muut insinööritieteet Monimutkaisuus Näkymättömyys (Usein näennäinen) luotettavuus ja edullisuus Muunnettavuus Epäjatkuvuus virhetilanteissa Skaalautumattomuus Copyright
LisätiedotOhjelmistojen mallintaminen. Luento 11, 7.12.
Ohjelmistojen mallintaminen Luento 11, 7.12. Viime viikolla... Oliosuunnittelun yleiset periaatteet Single responsibility eli luokilla vain yksi vastuu Program to an interface, not to concrete implementation,
LisätiedotJärjestelmäarkkitehtuuri (TK081702) Web Services. Web Services
Järjestelmäarkkitehtuuri (TK081702) Standardoidutu tapa integroida sovelluksia Internetin kautta avointen protokollien ja rajapintojen avulla. tekniikka mahdollista ITjärjestelmien liittämiseen yrityskumppaneiden
Lisätiedot2 Ohjelmistoarkkitehtuurien kuvaus
2 Ohjelmistoarkkitehtuurien kuvaus 2.1 Arkkitehtuurikuvauksen merkityksestä 2.2 Arkkitehtuurin kuvaukseen liittyvät käsitteet 2.3 Arkkitehtuurikuvaukset eri tasoilla 2.4 Arkkitehtuurinäkymät ja kuvaustyypit
LisätiedotOhjelmistojen mallintaminen, kesä 2010
582104 Ohjelmistojen mallintaminen, kesä 2010 1 Ohjelmistojen mallintaminen Software Modeling Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön tuntemus Ohjelmoinnin
LisätiedotOhjelmistojen mallintaminen Unified Modeling Language (UML)
582104 Ohjelmistojen mallintaminen Unified Modeling Language (UML) 1 Olioperustaisuus Olio toimii mallinnuksen perusyksikkönä eri abstraktiotasoilla Järjestelmän rajaus, suunnittelu, ohjelmointi, suoritus..
LisätiedotJärjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat
Järjestelmäarkkitehtuuri (TK081702) SOA yleistyvät verkkopalveluissa Youtube Google... Avaavat pääsyn verkkopalvelun sisältöön. Rajapintojen tarjoamia tietolähteitä yhdistelemällä luodaan uusia palveluja,
LisätiedotHarjoitustehtävät ja ratkaisut viikolle 48
Harjoitustehtävät ja ratkaisut viikolle 48 1. Tehtävä on jatkoa aiemmalle tehtävälle viikolta 42, missä piti suunnitella älykodin arkkitehtuuri käyttäen vain ennalta annettua joukkoa ratkaisuja. Tämäkin
LisätiedotUnified Modeling Language
Unified Modeling Language Confuse 25.11.2001 Tila Versio: 1.0 Vaihe: T1 Jakelu: Julkinen Luontipäivä: 15.11.2001 Antti Haapakoski Muutettu viimeksi: 25.11.2001 Antti Haapakoski Sisältö 1 Yleistä 1 2 Mallinnuksesta
Lisätiedot3. Komponentit ja rajapinnat
3. Komponentit ja rajapinnat 3.1 Komponenttien idea: ohjelmistotuotannon rationalisointi 3.2 Mikä on ohjelmistokomponentti? 3.3 Komponentit ohjelmistoyksikköinä 3.4 Rajapinnat 3.6 Komponenttien räätälöinti
LisätiedotJoustava tapa integroida järjestelmiä node-red:llä visuaalisesti - Internet of Things & Industrial Internet
Joustava tapa integroida järjestelmiä node-red:llä visuaalisesti - Internet of Things & Industrial Internet Mika Karaila Metso Automation, Technology & Application Research PL 237, 33101 TAMPERE Tel. (040)
LisätiedotOhjelmistojen mallintaminen Ohjelmiston suunnittelu Model driven development Harri Laine 1
Ohjelmistojen mallintaminen Ohjelmiston suunnittelu Model driven development 2.12.2008 Harri Laine 1 Jacobson jakaa ohjelmiston oliot kolmeen tyyppiin liittymäolioiksi (interface objects, boundary objects)
LisätiedotMobiilimaailma murroksessa 2011 Tommi Teräsvirta, Tieturi
Business is evolving, you should too. MeeGo ulkona vai myöhässä? Mobiilimaailma murroksessa 2011 Tommi Teräsvirta, Tieturi Helsinki, Tampere, Turku, Stockholm, Göteborg www.tieturi.fi MeeGo YALMP (Yet
LisätiedotUML -mallinnus TILAKAAVIO
UML -mallinnus TILAKAAVIO SISÄLLYS 3. Tilakaavio 3.1 Tilakaavion alku- ja lopputilat 3.2 Tilan nimi, muuttujat ja toiminnot 3.3 Tilasiirtymä 3.4 Tilasiirtymän vai tilan toiminnot 3.5 Tilasiirtymän tapahtumat
LisätiedotOhjelmistojen mallintaminen olioiden elinkaaret - tilakaavio. 21.11.2008 Harri Laine 1
Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio 21.11.2008 Harri Laine 1 Joidenkin järjestelmien sisältömallissa on erotettavissa luokkia, joiden ilmentymien käyttäytymisen kuvaaminen, kirjaus
LisätiedotAutomaattinen regressiotestaus ilman testitapauksia. Pekka Aho, VTT Matias Suarez, F-Secure
Automaattinen regressiotestaus ilman testitapauksia Pekka Aho, VTT Matias Suarez, F-Secure 2 Mitä on regressiotestaus ja miksi sitä tehdään? Kun ohjelmistoon tehdään muutoksia kehityksen tai ylläpidon
LisätiedotTämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:
Dokumentaatio, osa 1 Tehtävämäärittely Kirjoitetaan lyhyt kuvaus toteutettavasta ohjelmasta. Kuvaus tarkentuu myöhemmin, aluksi dokumentoidaan vain ideat, joiden pohjalta työtä lähdetään tekemään. Kuvaus
LisätiedotTIE-20200 Ohjelmistojen suunnittelu
TIE-20200 Ohjelmistojen suunnittelu Luento 9: Kirjastot, pluginit jne. TIE-20200 Samuel Lahtinen 1 Ajankohtaista Viikkoharjoituksissa kirjastojen käyttöä & toteuttamista Kurkkaaminen viime viikon viikkoharkkajuttuihin
LisätiedotOhjelmistoarkkitehtuurit 2016. Kevät 2016 -käytäntöjä
Ohjelmistoarkkitehtuurit Kevät 2016 -käytäntöjä Samuel Lahtinen http://www.cs.tut.fi/~ohar/ 13.1.2016 1 Tervetuloa Tampereen teknillinen yliopisto, Oulun yliopisto, Turun yliopisto 13.1.2016 2 Tiedonvälitys
LisätiedotOhjelmistotekniikan menetelmät, kevät 2008
582101 - Ohjelmistotekniikan menetelmät, kevät 2008 1 Ohjelmistotekniikan menetelmät Methods for Software Engineering Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön
Lisätiedot1 Johdanto. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2007
1 Johdanto 1.1 Mikä on ohjelmistoarkkitehtuuri? 1.2 Katsaus ohjelmistotuotannon kehittymiseen 1.3 Epäonnistuneen ohjelmistoarkkitehtuurin seurauksia 1.4 Ohjelmistoarkkitehtuuri ja ohjelmistokehitysprosessi
LisätiedotYlläpito. Ylläpito. Ylläpidon lajeja Ohjelmistotuotanto, syksy 1998 Ylläpito
Kaikki ohjelmistoon sen julkistamisen jälkeen kohdistuvat muutostoimenpiteet jopa 70-80% ohjelmiston elinkaarenaikaisista kehityskustannuksista Ylläpidon lajeja korjaava ylläpito (corrective) testausvaiheessa
LisätiedotJS-kehitys - yleiskuvaus. TIEA255 - Juho Vepsäläinen
JS-kehitys - yleiskuvaus TIEA255 - Juho Vepsäläinen Taustaa Basic, Pascal, C (PC, AVR), Java, Object Pascal (Delphi), PHP, Python, Lua, AS2, C++ (Qt) JavaScript,... Avoimen lähdekoodin proj. kehitystä
LisätiedotOhjelmistojen mallintaminen, kesä 2009
582104 Ohjelmistojen mallintaminen, kesä 2009 1 Ohjelmistojen mallintaminen Software Modeling Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön tuntemus Ohjelmoinnin
LisätiedotSuorituskyky ja ohjelmistokehitys Suorituskykymallit
Suorituskyky ja ohjelmistokehitys Suorituskykymallit Luento 2 58153003 Ohjelmistojen suorituskyky 1 SUORITUSKYKYISTEN OHJELMISTOJEN KEHITTÄMINEN 58153003 Ohjelmistojen suorituskyky 2 Helsingin Yliopisto
Lisätiedot1.3 Katsaus ohjelmistotuotannon kehittymiseen
Yleisiä asioita Oliokirja:http://www.cs.tut.fi/~kk/Ohjelmistoarkkitehtuuri.pdf Tenttipäivä 7.5. Tallennukset, jospas tänään onnistaisi Viikkoharkat löytyvät IDLEstä (TTY), kurssin kotisivuilta/paikallisilta
LisätiedotTenttikysymykset. + UML- kaavioiden mallintamistehtävät
Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä
LisätiedotOhjelmistojen mallintamisen ja tietokantojen perusteiden yhteys
Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Tällä kurssilla on tutustuttu ohjelmistojen mallintamiseen oliomenetelmiä ja UML:ää käyttäen Samaan aikaan järjestetyllä kurssilla on käsitelty
LisätiedotTestaaminen ohjelmiston kehitysprosessin aikana
Testaaminen ohjelmiston kehitysprosessin aikana 04.02.2004 http://cs.joensuu.fi/tsoft/ Sisällys 1. Johdanto 2. Yksikkö- ja integrointitestaus 3. Järjestelmätestaus 4. Hyväksymistestaus http://cs.joensuu.fi/tsoft/
LisätiedotPLA-32820 Mobiiliohjelmointi. Mika Saari mika.saari@tut.fi http://www.students.tut.fi/~saari5/pla_32820_2015/
PLA-32820 Mobiiliohjelmointi Mika Saari mika.saari@tut.fi http://www.students.tut.fi/~saari5/pla_32820_205/ . Luento 2 Suoritus vaatimukset Kurssin sisältö Kirjallisuus Mobiiliohjelmointi Mobiililaitteita...
LisätiedotJWT 2016 luento 11. to 21.4.2016 klo 14-15. Aulikki Hyrskykari. PinniB 1097. Aulikki Hyrskykari
JWT 2016 luento 11 to 21.4.2016 klo 14-15 Aulikki Hyrskykari PinniB 1097 1 Viime luennolla o AJAX ja JSON, harjoitustyön tehtävänanto, vierailuluento avoimesta datasta Tänään o APIt rajapinnoista yleisesti
LisätiedotQt kaikkialla? 9.4.2010
Qt kaikkialla? Helsinki Tammasaarenkatu 5, 00180 Helsinki, Tel. 09 431 551 Tampere Satakunnankatu 18, 33210 Tampere, Tel. 03 315 861 Turku Lemminkäisenkatu 32 A, 20520 Turku, Tel. 02 263 571 Qt Qton C++
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ätiedotKiertokysely. Sulautetut järjestelmät Luku 2 Sivu 1 (??)
Sulautetut järjestelmät Luku 2 Sivu 1 (??) Kiertokysely Perinteiset ohjelmointikielet kuten C tukevat hyvin sekventiaalista ohjelmointia, jossa herätteisiin reagointi on helppoa toteuttaa pollauksella
LisätiedotYlläpito. Ylläpidon lajeja
Ylläpito Kaikki ohjelmistoon sen julkistamisen jälkeen kohdistuvat muutostoimenpiteet jopa 70-80% ohjelmiston elinkaarenaikaisista kehityskustannuksista Ylläpidon lajeja korjaava ylläpito (corrective)
Lisätiedot1 Johdanto. TTY Ohjelmistotekniikka. Ohjelmistoarkkitehtuurit Syksy 2008
1 Johdanto 1.1 Mikä on ohjelmistoarkkitehtuuri? 1.2 Katsaus ohjelmistotuotannon kehittymiseen 1.3 Epäonnistuneen ohjelmistoarkkitehtuurin seurauksia 1.4 Ohjelmistoarkkitehtuuri ja ohjelmistokehitysprosessi
LisätiedotDigi-tv vastaanottimella toteutetut interaktiiviset sovellukset
Tekninen määrittely: Editori Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset Sisällysluettelo 1. Johdanto...4 1.1. Tarkoitus ja kattavuus...4 1.2. Tuote ja ympäristö...4 1.3. Määritelmät,
LisätiedotOhjelmistojen mallintaminen kertausta Harri Laine 1
kertausta 5.12.2008 Harri Laine 1 Ohjelmiston elinkaari, elinkaarimallit Yleinen puitemalli (reference model) - abstrakti kokonaiskuva ei etenemiskontrollia, ei yksityiskohtia Ohjelmistoprosessimallit
LisätiedotLuokka- ja oliokaaviot
Luokka- ja oliokaaviot - tärkeimmät mallinnuselementit : luokat, oliot ja niiden väliset suhteet - luokat ja oliot mallintavat kuvattavan järjestelmän sisältöä ja niiden väliset suhteet näyttävät, kuinka
LisätiedotSolidity älysopimus ohjelmointi. Sopimus suuntautunut ohjelmointi
Solidity älysopimus ohjelmointi Sopimus suuntautunut ohjelmointi Merkle puu Kertausta eiliseltä Solidity on korkean tason älysopimus ohjelmointikieli Muistuttaa olio-ohjelmointia Javalla Sopimuskoodi on
LisätiedotKurssin aihepiiri: ohjelmistotuotannon alkeita
Kurssin aihepiiri: ohjelmistotuotannon alkeita [wikipedia]: Ohjelmistotuotanto on yhteisnimitys niille työnteon ja työnjohdon menetelmille, joita käytetään, kun tuotetaan tietokoneohjelmia sekä monista
Lisätiedot17/20: Keittokirja IV
Ohjelmointi 1 / syksy 2007 17/20: Keittokirja IV Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/10 Tavoitteita
LisätiedotUML- mallinnus: Tilakaavio
UML- mallinnus: Tilakaavio Karkea kuvaus UML- kaavioiden käytöstä ohjelmistonkehityksen eri vaiheissa ja tehtävissä. Mallinnus tilakaavioilla Tilakaaviolla kuvataan yhden luokan olioiden tilan muuttumista
LisätiedotVisual Case 2. Miika Kasnio (C9767) 23.4.2008
Visual Case 2 Miika Kasnio (C9767) 23.4.2008 Työn tarkasti: Jouni Huotari 24.4.2008 1 SISÄLTÖ 1. TYÖN LÄHTÖKOHDAT... 2 2. PERUSTIEDOT... 2 3. ASENTAMINEN... 2 4. OMINAISUUDET... 3 4.1. UML-kaaviot... 4
LisätiedotTIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op FT Ari Viinikainen Tietokoneen rakenne Keskusyksikkö, CPU Keskusmuisti Aritmeettislooginen yksikkö I/O-laitteet Kontrolliyksikkö Tyypillinen Von Neumann
LisätiedotUudelleenkäytön jako kahteen
Uudelleenkäyttö Yleistä On pyritty pääsemään vakiokomponenttien käyttöön Kuitenkin vakiokomponentit yleistyneet vain rajallisilla osa-alueilla (esim. windows-käyttöliittymä) On arvioitu, että 60-80% ohjelmistosta
LisätiedotOhjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1
Ohjelmistoarkkitehtuurit Syksy 2009 Kai Koskimies Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1 Tervetuloa Kuopion yliopisto, Oulun yliopisto (Kajaani), Tampereen yliopisto, Turun yliopisto,
LisätiedotTech Conference 28.-29.5.2015. Visual Studio 2015, C#6,.NET4.6. Heikki Raatikainen. #TechConfFI
Tech Conference 28.-29.5.2015 Visual Studio 2015, C#6,.NET4.6 Heikki Raatikainen #TechConfFI Yleistä Avoimuus Open Source ja tuki yleisesti käytetyille ei-ms työkaluille Kaikki alustat tuettuna:.net 5
Lisätiedot7. Tuoterunkoarkkitehtuurit
7. Tuoterunkoarkkitehtuurit Johdanto Näkökulmat tuoterunkoihin perustuvaan ohjelmistokehitykseen Kerrostyyli tuoterunkoarkkitehtuureille Tuoterunkojen etuja ja ongelmia 1 Uudelleenkäytt yttö opportunistinen:
LisätiedotC-ohjelmoinnin peruskurssi. Pasi Sarolahti
C! C-ohjelmoinnin peruskurssi Pasi Sarolahti Mitä haluan oppia C-kurssilla? ja miksi? Tutustu lähimpään naapuriin Keskustelkaa miksi halusitte / jouduitte tulemaan kurssille 3 minuuttia è kootaan vastauksia
LisätiedotValppaan asennus- ja käyttöohje
Versio Päiväys Muokkaaja Kuvaus 0.9 16.2.2006 Tuukka Laakso Korjattu versio 0.1 Antti Kettunen Alustava versio Sisällysluettelo 1 Johdanto...2 2 Valppaan asennus...3 2.1 Valppaan kääntäminen...3 2.2 Valmiiksi
Lisätiedotwww.solita.fi solita@solita.fi
www.solita.fi solita@solita.fi JAVA-SOVELLUSTEN RAKENTAMINEN INTEGROITUUN YMPÄRISTÖÖN Jarno Peltoniemi Solita Oy 10.5.2005 Aiheet Johdanto Portaalit, portletit Oracle Portal Java-sovelluksen rakentaminen
LisätiedotKADA (Drupal 7) migraatio uuteen (versioon) webiin
KADA (Drupal 7) migraatio uuteen (versioon) webiin Hallittu elinkaaren siirto suoran migraation sijaan Mikko Malmgren & Antti Tuppurainen Mikko Malmgren / Kuntaliitto Antti Tuppurainen / Industry62 @mikko_malmgren
LisätiedotTIE-20200 Ohjelmistojen suunnittelu
TIE-20200 Ohjelmistojen suunnittelu Luento 14: Työkaluja Marko Leppänen, Samuel Lahtinen TIE-20200 Samuel Lahtinen 1 Ajankohtaista Harjoitustyön dedis 7.12. klo 06:00 Demoilusessiot samalla/seuraavalla
LisätiedotProjektityö: Mobiiliajopäiväkirja. Mikko Suomalainen
Projektityö: Mobiiliajopäiväkirja Mikko Suomalainen 1. Määritelmä Mobiiliajopäiväkirja on kännyköille suunnattu ajopäiväkirja-sovellus. Sovelluksen pääperiaate on toimia automaattisena ajopäiväkirjana.
LisätiedotAS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin
AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin Raimo Nikkilä Aalto-yliopiston sähkötekniikan korkeakoulu - Automaation tietotekniikan tutkimusryhmä 17. tammikuuta 2013
LisätiedotOpintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat Rajapinnat Java-kieli ei tue luokkien moniperintää. Jokaisella luokalla voi olla vain yksi välitön yliluokka. Toisinaan olisi
LisätiedotInteraktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.
Malli-näkym kymä-ohjain arkkitehtuurit (Model-View View-Controller, MVC) Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Lähtökohdat: Sovelluksen
LisätiedotLiite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu
Liite 1: skenaariot ja PoC tulokset 1. Palvelun kehittäjän näkökulma Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Palvelun uusi versio on Palveluiden kehittäminen voitava asentaa tuotantoon vaikeutuu
LisätiedotConcurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo
Concurrency - Rinnakkaisuus Group: 9 Joni Laine Juho Vähätalo Sisällysluettelo 1. Johdanto... 3 2. C++ thread... 4 3. Python multiprocessing... 6 4. Java ExecutorService... 8 5. Yhteenveto... 9 6. Lähteet...
LisätiedotAvointen ohjelmistojen käyttö ohjelmistokehityksessä
Avointen ohjelmistojen käyttö ohjelmistokehityksessä 9.4.2008 Janne Kuha Manager, Java Services Descom Oy Janne Kuha Manager, Java Services janne.kuha@descom.fi Kuka? Descom Oy:llä, sitä ennen Wanadu Inc.,
LisätiedotOhjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista
582101 - Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista 1 Ohjelmistotuotannon työkaluuista Projektinhallintatyökalut (ei käsitellä tällä kurssilla) CASE- ja mallinnustyökalut (esim. Poseidon)
LisätiedotInteraktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.
Malli-näkym kymä-ohjain arkkitehtuurit (Model-View View-Controller, MVC) Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta. Lähtökohdat: Sovelluksen
LisätiedotOhjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit
Ohjelmiston testaus ja laatu Ohjelmistotekniikka elinkaarimallit Vesiputousmalli - 1 Esitutkimus Määrittely mikä on ongelma, onko valmista ratkaisua, kustannukset, reunaehdot millainen järjestelmä täyttää
LisätiedotOliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä
Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Matti Luukkainen 10.12.2009 Tässä esitetty esimerkki on mukaelma ja lyhennelmä Robert Martinin kirjasta Agile and Iterative Development löytyvästä
LisätiedotOhjelmistoarkkitehtuurit kevät
Ohjelmistoarkkitehtuurit Kevät 2011-2012 Johannes Koskinen http://www.cs.tut.fi/~ohar/ 3. Komponentit ja rajapinnat 3.1 Komponenttien idea: ohjelmistotuotannon rationalisointi 3.2 Mikä on ohjelmistokomponentti?
LisätiedotTilakaaviot, sekvenssikaaviot (Haikala, Märijärvi ss , )
Tilakaaviot, sekvenssikaaviot (Haikala, Märijärvi ss. 121-133, 135 141) Jari Ojasti Nokia email : jari.ojasti@nokia.com puh : 040 5926 312 Sisältö Sekvenssikaaviot ja tilakaaviot osana UML:ia Sekvenssikaaviot
LisätiedotOnnistunut ohjelmistoprojekti
Onnistunut ohjelmistoprojekti ICT-ajankohtaisseminaari 15.4.2009 Hermanni Hyytiälä Reaktor Innovations Oy Agenda Yritysesittely Keinoja onnistuneeseen ohjelmistoprojektiin Ihmiset Menetelmät Käytännöt
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ätiedotOhjelmistojen mallintaminen, kertausta
582104 Ohjelmistojen mallintaminen, kertausta 1 Kertausluennon asiat Kysymyksiä? Kurssin keskeisin asiasisältö Koetehtävät tehtävätyypit esimerkkitehtäviä ja -ratkaisuja ja vielä kysymyksiä? 2 Kysymyksiä
LisätiedotDomain spesifinen mallinnus ja generointi käytännössä. Petri Savolainen
Domain spesifinen mallinnus ja generointi käytännössä Petri Savolainen Agenda o Taustaa o DSM yleisesti o Meidän versiomme DSM:ästä o Case Muistaako kukaan? o Helppoa o Tuottavaa o Businessongelman ratkomista
LisätiedotUML-kielen formalisointi Object-Z:lla
UML-kielen formalisointi Object-Z:lla Kalvot ja seminaarityö WWW:ssä: http://users.jyu.fi/~minurmin/opiskelu/form/ UML UML == Unified Modelling Language. OMG:n standardoima kieli ohjelmistojärjestelmien,
Lisätiedot1. Olio-ohjelmointi 1.1
1. Olio-ohjelmointi 1.1 Sisällys Olio-ohjelmointi on eräs ohjelmointiparadigma. Olio-ohjelmoinnin muotoja. Ohjelmiston analyysi ja suunnittelu. Olioparadigman etuja ja kritiikkiä. 1.2 Ohjelmointiparadigmoja
Lisätiedot812347A Olio-ohjelmointi, 2015 syksy 2. vsk. IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton
2015 syksy 2. vsk IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton Sisältö 1. Johdanto luontimalleihin 2. Proxy 3. Factory Method 4. Prototype 5. Singleton Suunnittelumallit Proxy et.
LisätiedotYhteydelle voi antaa nimen kumpaankin suuntaan Sille ei tarvise antaa lainkaan nimeä Yhteysnimen asemasta tai lisäksi voidaan käyttää roolinimiä
DO NOT PRINT THIS DOCUMENT DO NOT PRINT THIS DOCUMENT Olioiden väliset yhteydet Yhteyden nimi Nimen lukusuunta pankkitili 0..10 Omistaja-> 1..3 asiakas
Lisätiedotopiskelun suunnittelujärjestelmä, kurki ja ilmo käyttävät kaikki samaa tietokantaa, ja uusi järjestelmä tulee osaksi tätä.
25.1.2010 Palaverin kysymyksien selvittelymuistio Mitä ominaisuuksia halutaan? Sopivat ajat sprinttien jälkeisiin demoihin/palavereihin. - mitkä ajat sopivat? Pekka : pe 12-16 Tommi : pe 8-16 Onko ohjelmointikielen
Lisätiedot12. Kehysarkkitehtuurit
12. Kehysarkkitehtuurit Johdanto Kehystyypit Kehysten osittaminen Kehykset ja suunnittelumallit Kehysten etuja ja ongelmia Yhteenvetoa Ohjelmistoarkkitehtuurit Syksy 2010 TTY Ohjelmistotekniikka 1 Johdanto
Lisätiedot