TIE Ohjelmistojen suunnittelu
|
|
- Ilmari Niemi
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 TIE Ohjelmistojen suunnittelu Luento 5: suunnittelua Samuel Lahtinen TIE Samuel Lahtinen 1
2 Ajankohtaista Harjoitustyö Protosessioita tämän viikon lopulla, ensi viikolla & sitä seuraavalla Jotain koodia saatavilla, lisää tulossa tänään Samuel poissa ensi viikolla, Matti Rintala lomittaa luennot Viikkoharkoissa tällä viikolla Qt Quick/QML jatkot, QML:n ja C++:n yhteensovittamista Ensi viikon viikkoharkoissa Qt ja Widget-juttuja, voi kurkata esimerkkinä, jos toteuttamassa harjoitustyötä widgetpuolen jutuilla
3 Ohjelmassa tänään Ohjelmistojen suunnittelujuttuja MVVM ja QML-c++-komboa Hitunen UML-asioita
4 Ohjelmistojen suunnittelusta Mitkä asiat vaikuttavat ohjelmistojen suunnitteluun? Tekijät, osaaminen Toteutusympäristö Valittu ekosysteemi Avoimen lähdekoodin käyttö/avoimen lähdekoodin tuottaminen Työkalut, Kieli/paradigma Aikataulut, kulttuuri, taustat, koulutus, henkilökohtaiset mieltymykset jne.
5 Korkean tason suunnittelu Mikälainen korkeamman tason rakenne ohjelmalle tulee? Tehdäänkö jonkun olemassa olevan ympäristön päälle, käyttöjärjestelmät jne. Laitteistoläheisyys yms. minkälaisia abstraktioita käytetään? Tulevatko valmiina vai pitääkö toteuttaa MVC/jne., kerroksittainen rakenne, viestien lähettelyä jne. valinta ohjaa varsinaista ohjelman jatkosuunnittelua Usein suunnittelu tehdään useassa vaiheessa, korkean tason rakenne ja siihen liittyvät päätökset ja varsinainen toteutusläheisempi suunnittelu, rajapintojen suunnittelu, lopulta toteuttaminen Eri vaiheet tuottavat eri tason kuvauksia järjestelmästä ja eri tason dokumentaatiota
6 Miksi pitää kertoa miksi jotain on valittu?
7 Kerro miksi, ei pelkästään mitä Dokumentoi myös miksi tekniikka, lähestymistapa jne. on valittu! Miksi käytetään vaikkapa tiettyä versiota, tiettyä tietokantaa, jossain on tietynlainen tarkkailijaratkaisu jne.
8 Oliosuunnittelu Oliosuunnittelu, olio-pohjainen lähestymistapa Olio-ohjelmointi ja olio-jotain sanoina poissa muodista, eivät tihku tällä hetkellä erotiikkaa sun muuta Ei kuitenkaan kuollut ja kuopattu, vaan osa hyvää ohjelmistojen toteutuksen perustaa Hyvä väline abstraktioiden etsimiseen Vaarana perinnästä innostuminen Luokkatasoa ja siihen liittyviä suhteita laajempien asioiden hahmottelu ja suunnittelu haastavaa
9 Oliosuunnittelu Tavoitteena löytää oliot ja niiden vastuualueet, mitä joku olio tekee, tarjoaa muille olioille, mitä yhteyksiä sillä on muualle? Suunnitteluvaiheessa tarkat tietotyypit jne. eivät ole olennaisia
10 Mallintaminen olioilla TIE Samuel Lahtinen
11 Oliosuunnittelun vaiheita 1. Tunnistetaan/löydetään järjestelmän komponentit Substantiivien etsiminen (tarjoaa lähtökohdan) Määrittelystä Järjestelmän aihepiiristä 2. Määrittellään komponenttien vastuut (~verbit abstraktissa spesifikaatiossa) 3. Määritellään komponenttien väliset riippuvuudet, vastuiden kautta (mitä tarvitaan, että voidaan tarjota vastuiden mukainen toiminta) 4. Määritellään komponenttien todelliset rajapinnat toteutus, testaus
12 Luokkakaavioista Dependency/riippuvuus: heikoin suhde (esim. A käyttää B:tä jossakin jäsenfunktiossaan) Kooste(aggregation): Esimerkiksi joukkue koostuu pelaajista (tietty minimi- ja maksimimäärä, pelaaja voi vaihtaa joukkueesta toiseen. Muodoste (composition): rakennus-kerros, jäsenoliot (esim. henkilö ja syntymäaika) Koosteet, muodosteet, assosiaatiot voivat olla yksisuuntaisia tai kaksisuuntaisia.
13 Assosiaatiot ja nuolet 13
14 Lukumääräsuhteet Assosiaatiolla, koosteilla, muodostumisilla lukumääräsuhteet Kiinteä lukumääräsuhde kertoo vakiona pysyvästä suhteesta (esim. shakkilaudan ruudut, pelaajien määrä shakissa) Vaihtelevat lukumääräsuhteet, vaihteluväli esim. joukkueella pitää olla pelaajaa. Pelaaja voi olla joko ilman joukkuetta tai kuulua yhteen joukkueeseen. Assosiaatioilla voi olla nimi Assosiaation päähän voi liittyä roolinimi
15 Mitä vikaa esimerkkikuvassa? TIE Samuel Lahtinen
16 tapahtumasekvenssikaaviot TIE Samuel Lahtinen
17 Esimerkki: Tehtävänänne on suunnitella alla kuvattu seikkailupeli käyttäen oliosuunnittelun jaloja periaatteita. Alla firmanne pomon yksityiskohtainen kuvaus pelin rakenteesta: Peli ois niinku seikkailupeli, jossa näkyis yläviistosta ku dynaaminen duo Batman ja Robin menee Kotham-sitissä. Ne niinku menis siellä kaupungissa taloihin joissa olisi sitten erilaisia huoneita ja käytäviä. Pelissä vois valita ohjaako Robinia vai Pätmäniä. Niillä sankareilla vois olla kaikkee siistiä lepakkokamaa: ajoneuvoja kuten lepakkoauto ja varusteita kuten lepakkokalsarit ja lepakkobumerangi. Sitten ois tietysti pahiksia kuten Jokeri, Hjallis ja niitten kätyrit. Pahiksillakin vois olla aseita. Aseilla voi joko kumauttaa tai tai sit tehdä pitkän matkan hyökkäyksiä. Otuksilla ja sankareilla olis näkökenttä, jonka sisällä ne reagois asioihin/jonka sisällä olevat jutut näkyis ruudulla. Batman ja Robin, Dynaaminen duo Pahiksia
18 Varsinainen tehtävä Kepap-keisari Pelin tavoitteena on rakentaa menestyvä pikaruokaimperiumi, joka nousee kaupungin kauneimmaksi ja komeimmaksi pitsa-kebab-ravintolaksi. Peliä voi pelata joko yksinpelinä, tekoälypelaajaa vastaan kisaten tai toista ihmispelaajaa vastaan. Pelimaailmana toimii kaupunkisimulaatio. Virtuaalisen kaupungin erilaisia rakennuksia ja paikkoja kansoittavat autenttisesti käyttäytyvät virtuaali-ihmiset. Kebab-ravintolat kisaavat hinnan ja tunnettavuuden avulla asiakkaista. Tunnettavuusarvo koskee koko ravintolaketjua, eli saman pelaajan kaikkia ravintoloita. Tätä voi kasvattaa erilaisten markkinointitempausten avulla. Pelaaja voi ostaa uusia ravintoloita, hankkia raaka-aineita ravintolan tuottoksiin, palkata työntekijöitä, kiertää veroja, mainostaa eri tavoin yms. Erilaisia ruutuja: ravintolat, puistot, kaupat, asuinrakennukset jne. Niissä erilaista toiminnallisuutta sen mukaan onko asukas ruudussa, poistumassa siitä tai tulossa ruutuun. (Esimerkki: Asukkaat: erilaisia asukkaita, jotka tekevät pyrkivät tekemään eri asioita. (duunareita, bilettäjiä, verotarkastajia, terveystarkastajia, koodareita jne.) Esim. duunari, pyrkii tekemään käymään viikot töissä, lounaalla parhaassa työpaikan läheltä löytyvässä ruokapaikassa ja viikonloppuna anniskeluravintolassa ja sen jälkeen kebabilla. Suunnittele pelin korkean tason rakenne ja mieti, miten toteuttaisit erilaisten ruutujen, asukkaiden jne. toiminnan.
19 Ohjeistus Hae ensin järjestelmän oliot Mieti tämän jälkeen olioille vastuualueita Karsi pois olioista ne, joille ei tule varsinaista toiminnallisuutta, jätä ne abstraktioiksi (ovat myös hyödyllisiä) Tarviiko kyseinen oli jotain muita olioita toiminnoissan/vastuissaan? Jos tarvii, dokumentoi vaaditut yhteydet & miksi. Jos tarvittavaa palvelua ei ole, lisää sellainen tai luo tarvittaessa uusia olioita. Konkretisointi alustavaksi luokkakaavioksi Aikataulutusta 20min olioiden hakua, 10min kaaviota Loppuun läpikäyntiä
20 Yhteenveto Opittiin keinoja suunnittelun alkuvaiheeseen Opittiin keinoja siirtymiseen suunnittelusta kohti toteutusta (malli) Päätösten dokumentointi (miksi?) TIE Samuel Lahtinen 20
TIE-20200 Ohjelmistojen suunnittelu
TIE-20200 Ohjelmistojen suunnittelu Luento 6: suunnittelua Samuel Lahtinen TIE-20200 Samuel Lahtinen 1 Ajankohtaista Harjoitustyö Protosessioita tällä viikolla Ohjelmassa tänään Ohjelmistojen suunnittelujuttuja
TIE-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
TIE-20200 Ohjelmistojen suunnittelu
TIE-20200 Ohjelmistojen suunnittelu Luento 0: Kurssin esittely TIE-20200 Samuel Lahtinen 1 Mitäs tänään on tarjolla? Käytännön juttuja: Mistä tietoa löytyy Kurssin henkilökunta Kurssin rakenne Käytännönjärjestelyt
Uudelleenkä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
Yhteydelle 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
TIE-20200 Ohjelmistojen suunnittelu
TIE-20200 Ohjelmistojen suunnittelu Luento 0: Kurssin esittely TIE-20200 Samuel Lahtinen 1 Mitäs tänään on tarjolla? Käytännön juttuja: Mistä tietoa löytyy Kurssin henkilökunta Kurssin rakenne Käytännönjärjestelyt
Ohjelmistojen 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,
TIE Ohjelmistojen suunnittelu
TIE-20200 Ohjelmistojen suunnittelu Luento 8: Lokalisointia/kansainvälistystä TIE-20200 Samuel Lahtinen 1 Ajankohtaista Viimeiset viikkoharkat tarjolla, aiheena kansainvälistäminen/lokalisointi Viikkoharkkoja
Johdatus sovellussuunnitteluun, s99, osa3 Helsingin yliopisto;/tktl Harri Laine 1. Olioiden väliset yhteydet. Olioiden väliset yhteydet
..999 DO NOT PRINT THIS DOCUMENT DO NOT PRINT THIS DOCUMENT Yhteyden nimi Nimen lukusuunta pankkitili asiakas 0..0 Omistaja->..3
Johdatus sovellussuunnitteluun, s99, osa3 Helsingin yliopisto;/tktl Harri Laine 1. Olioiden väliset yhteydet. Olioiden väliset yhteydet
DO NOT PRINT THIS DOCUMENT DO NOT PRINT THIS DOCUMENT Yhteyden nimi Nimen lukusuunta pankkitili 0..0 Omistaja->..3 asiakas
3. Käsiteanalyysi ja käsitekaavio
3. Käsiteanalyysi ja käsitekaavio lehtori Pasi Ranne Metropolia ammattikorkeakoulu E-mail: pasi.ranne@metropolia.fi sivu 1 Käsiteanalyysi Selvitetään mitä tietokantaan pitää tallentaa Lähtökohtana käyttäjien
Ohjelmistojen 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
13/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
SUBSTANTIIVIT 1/6. juttu. joukkue. vaali. kaupunki. syy. alku. kokous. asukas. tapaus. kysymys. lapsi. kauppa. pankki. miljoona. keskiviikko.
SUBSTANTIIVIT 1/6 juttu joukkue vaali kaupunki syy alku kokous asukas tapaus kysymys lapsi kauppa pankki miljoona keskiviikko käsi loppu pelaaja voitto pääministeri päivä tutkimus äiti kirja SUBSTANTIIVIT
Opintojakso 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
TIE-20200 Ohjelmistojen suunnittelu. Luento 8..9: moniperintä
TIE-20200 Ohjelmistojen suunnittelu Luento 8..9: moniperintä 1 Ajankohtaista Harjoitustyön suunnittelusessiot pidetty, työt jatkuvat, välivaiheen esittely seuraavana Viimeinen viikkoharjoituskerta, palataan
TIE-20200 Ohjelmistojen suunnittelu. Luento 2: protot sun muut
TIE-20200 Ohjelmistojen suunnittelu Luento 2: protot sun muut 1 Tämän päivän ohjelmaa Ryhmääntymistä, viimeksi unohtui Työohje julkaistu! Elinaikajuttujen loppurutistusta, viipaloitumisasiaa Prototyypeistä
Muutamia peruskäsitteitä
Muutamia peruskäsitteitä Huom. 1: nämä peruskäsitteet eivät muodosta hyvin määriteltyä keskenään yhteensopivien käsitteiden joukkoa, vaan käsitteet ovat osittain päällekkäisiä ja eri yhteyksissä niillä
Digi-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,
Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä
582104 Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä 1 Luokkamallin lisäpiirteitä Erilaiset yhteystyypit kooste kompositio Muita luokkien välisiä suhteita riippuvuudet periytyminen eli luokkahierarkia
Ohjelmistojen 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ä
Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio
Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia
Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio
Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia
UML -mallinnus LUOKKAKAAVIO EERO NOUSIAINEN
UML -mallinnus LUOKKAKAAVIO EERO NOUSIAINEN SISÄLLYS 3. Luokkakaavio UML -mallinnuskielessä 3.1 Luokkakaavion luokan rakenteet 3.2 Luokan kuvauksesta C++ ohjelmakoodiksi 3.3 Luokkakaavion luokkien yhteystyypit
19/20: Ikkuna olio-ohjelmoinnin maailmaan
Ohjelmointi 1 / syksy 2007 19/20: Ikkuna olio-ohjelmoinnin maailmaan Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007
Suunnitteluvaihe prosessissa
Suunnittelu Suunnitteluvaihe prosessissa Silta analyysin ja toteutuksen välillä (raja usein hämärä kumpaankin suuntaan) Asteittain tarkentuva Analyysi -Korkea abstraktiotaso -Sovellusläheiset käsitteet
Ohjelmistotekniikan 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
Pelivaihtoehtoja. Enemmän vaihtelua peliin saa käyttämällä erikoislaattoja. Jännittävimmillään Alfapet on, kun miinusruudut ovat mukana pelissä!
Pelivaihtoehtoja Yksinkertaisin vaihtoehto: lfapetia voi pelata monella eri tavalla. Yksinkertaisimmassa vaihtoehdossa käytetään ainoastaan kirjainlaattoja. Pelilaudan miinusruudut ovat tavallisia ruutuja,
Kertaus: yleistys-erikoistus ja perintä
Kertaus: yleistys-erikoistus ja perintä Nauta, Lehmä ja Kuttu ovat Kotieläimiä, Kotieläimet Eläimiä Kotieläimillä (siis myös Naudoilla, Lehmillä ja Kutuilla) on Omistaja Kuttu ja Lehmä toteuttavat rajapinnan
TIE-20200 Ohjelmistojen suunnittelu. Luento 2: protot sun muut
TIE-20200 Ohjelmistojen suunnittelu Luento 2: protot sun muut 1 Tämän päivän ohjelmaa Ryhmääntymisjutuista, ilmoittautumiskäytäntöä, Popista Työohjeen esivilkaisu Viime viikolla, erikoistamista, dynaamista
Opiskelija osaa määritellä ohjelmiston tiedot ja toiminnot, suunnitella ohjelmiston rakenteen ja laatia ohjelmiston teknisen spesifikaation.
1(7) TYÖSSÄOPPIMINEN JA AMMATTIOSAAMISEN NÄYTTÖ Tutkinnon osa: Ohjelmiston prototyypin toteuttaminen 30 osp Tavoitteet: Opiskelija osaa määritellä ohjelmiston tiedot ja toiminnot, suunnitella ohjelmiston
Kahoot - kyselytyökalu
Kahoot - kyselytyökalu Kahoot on pelimäinen työkalu kyselyiden, keskusteluiden ja tiedon kartoitukseen. Se on täysin ilmainen ja sitä voivat käyttää niin opettajat kuin opiskelijatkin. Kyselyitä on tarkoitus
Antitammirobotti. Antti Meriläinen Martin Pärtel 29. toukokuuta 2009
Antitammirobotti Antti Meriläinen Martin Pärtel 29. toukokuuta 2009 Helsingin yliopisto Tietojenkäsittelytieteen laitos Robottiohjelmoinnin harjoitustyö
Rajapinnat ja olioiden välittäminen
Rajapinnat ja olioiden välittäminen Moduulit/oliot kutsuvat toisiaan kapseloitujen rajapintojen läpi Kutsuissa välitetään usein olioita paikasta toiseen Jos olion omistus (= tuhoamisvastuu) säilyy koko
TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori
TIE-21204 Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2 Antti Jääskeläinen Matti Vuori Työn yleiset järjestelyt 14.9.2015 2 Valmistautuminen Ilmoittaudu kurssille Lue harjoitustyön nettisivut
Ohjelmistojen mallintaminen, mallinnustekniikat käytännössä
582104 Ohjelmistojen mallintaminen, mallinnustekniikat käytännössä 1 Sisältö Oliomenetelmien taustaa Kirjastojärjestelmän käyttötapaukset Kirjastojärjestelmän luokkamalli 2 Oliosuuntautunut suunnittelumenetelmä
Ohjelmistojen mallintaminen viikon 4 laskareiden mallivastauksia
Ohjelmistojen mallintaminen viikon 4 laskareiden mallivastauksia Tehtävä 1 Tehtävässä 1 mallinnettiin Monopolipeliä. Alla olevassa esimerkissä peliin liittyy aina 2 noppaa, peliä pelataan pelilaudalla,
Matopeli 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
Tä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
Yllä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
TIE-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
TIE Ohjelmistojen suunnittelu
TIE-20200 Ohjelmistojen suunnittelu Luento 12: Lokalisointia/kansainvälistystä TIE-20200 Samuel Lahtinen 1 Sisältöä Kansainvälistäminen/lokalisointi Mitä asioita voi liittyä kansainvälistämiseen/lokalisointiin?
Visual 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
TIE-20200 Ohjelmistojen suunnittelu
TIE-20200 Ohjelmistojen suunnittelu Luento 6: MVC:t ja kumppanit Samuel Lahtinen TIE-20200 Samuel Lahtinen 1 Ajankohtaista Harjoitustyö Versiohallinnan salasanat jne. lähetetty, ota yhteyttä, jos on kadoksissa
OHJ-2710 Peliohjelmointi. Syksy 2012 Timo Kellomäki
OHJ-2710 Peliohjelmointi Syksy 2012 Timo Kellomäki timo.kellomaki@tut.fi Käytännön juttuja Kurssihenkilökunta koostuu Timo Kellomäestä Luennot torstaisin salissa TB223 klo 12-14 2. viikko harkkatyöinfo,
Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia.
MagicDraw-pikaohje Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia. Alkuvalmistelut Windows (sali TC205) 1) Kirjaudu sisään TTY:n intra-tunnuksella.
Liite 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
Suvi Remes Miika Alonen Petri Mustajoki Totti Tuhkanen
Suvi Remes Miika Alonen Petri Mustajoki Totti Tuhkanen So far Toimeksianto: Opiskelun ja opetuksen tuen ja hallinnon viitearkkitehtuuri Tietoarkkitehtuurin osuuteen liittyen Synergiaryhmä 4.12.2014 linjannut,
Työn ositusmalleista. Luennon tavoitteista. Motivointia. Walker Royce, Software Project Management, A Unified Framework
Työn ositusmalleista Luennon tavoitteista Luennon sisällöstä Motivointia Lähteinä: Walker Royce, Software Project Management, A Unified Framework 1 Tavoitteista Luentojen jälkeen opiskelijan tulisi osata:
812347A Olio-ohjelmointi, 2015 syksy 2. vsk. II Johdanto olio-ohjelmointiin
812347A Olio-ohjelmointi, 2015 syksy 2. vsk II Johdanto olio-ohjelmointiin Sisältö 1. Abstraktiosta 2. Olio-ohjelmoinnin historiaa 3. Olioparadigmasta 4. Peruskäsitteiden esittely 2 II.1 Abstraktiosta
Opetuksen suunnittelu
Asio-Tilavarausohjelmisto/ Opetuksen suunnittelu Opetuksen suunnittelu Suljettujen aikojen määritys Kiinteiden opetusaikojen määritys Opetuperiodit Kaikissa vaiheissa tilanteen mukainen yhteys opiskelijahallinto-ohjelmistoon
Ohjelmistojen mallintaminen. Luento 4, 12.11.
Ohjelmistojen mallintaminen Luento 4, 12.11. Kertausta: Olioperustainen ohjelmistokehitys Lähdemme siis oletuksesta, että kehitettävän järjestelmän voidaan ajatella koostuvan oliosta Tehdään koko ohjelmistokehitys
Tarjolla tänää: Ohjelmiston toteutuksesta. Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit. Testilähtöinen kehittäminen JOT2007. Uudelleenrakentaminen
Tarjolla tänää: Ohjelmiston toteutuksesta JOT2007 CRC-kortit Testilähtöinen kehittäminen Uudelleenrakentaminen Voisiko ohjelmointi olla sittenkin suunnittelua? Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit
ProPilkki 2. yhteistyössä tapahtumassa Virtuaalinen pilkkiviikko 19.03.2012 25.03.2012. järjestäjänä Suomen Vapaa-ajankalastajien Keskusjärjestö ry
ProPilkki 2 yhteistyössä tapahtumassa Virtuaalinen pilkkiviikko 19.03.2012 25.03.2012 järjestäjänä Suomen Vapaa-ajankalastajien Keskusjärjestö ry 1) Asennus 2) Pelin käynnistys 3) Pelaaminen 4) Verkkopelin
Yllä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)
Kurssin 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
Ohjelmiston 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ää
Ohjelmistojen 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
Testaus käsite. Sekalaista testausasiaa. Testauksen käsitteestä. Kattavuusmitat. Jos ajatellaan, että testaus = V&V, voidaan erottaa:
Testaus käsite Sekalaista asiaa Sami Kollanus 15.11.2006 Jos ajatellaan, että = V&V, voidaan erottaa: Staattinen Dynaaminen Toisaalta voidaan määritellä Myersin (1979) mukaan: Testaus on ohjelman suoritusta,
UML: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
Ohjelmistotekniikan 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
Tenttikysymykset. + 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ä
Skenaario 1: Paavo kokouksessa
Vaatimusmäärittely liite A: Skenaariot 1-6 Skenaario 1: kokouksessa Osapuolet Tero Eeva Siirrettävä data Paikkatieto Kalenterimerkinnät Käyttäjän tunnistus Oikeuksien luovutus Käyttäjäprofiilit Tilanne
Ohjelmistojen 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
Luokkamalli LUOKKAKAAVIO. Tämän osan sisältö. Luokkamalli. Luokka ja olio. Luokkakaavio (class diagram)
4 Luokkamalli Rakenteet mittojen mukaan. Mitat rakenteen mukaan. Tämän osan sisältö Luokkakaavio luokkakaavion elementti attribuutit operaatiot määreet Olioiden väliset suhteet kytkös kooste yleistys rajapinta
10 teesiä verkko-opetuksen suunnittelusta. Leena Hiltunen Tutkijatohtori Tietotekniikan Aineenopettajankoulutus
10 teesiä verkko-opetuksen suunnittelusta Leena Hiltunen Tutkijatohtori Tietotekniikan Aineenopettajankoulutus Leena.r.k.Hiltunen@jyu.fi Teesi 1: Suunnittele! Aloita pienillä parannuksilla Mieti mikä on
T Ohjelmistojen määrittely- ja suunnittelumenetelmät Harjoitustyöraportti TNT - Tarkistetaan Ne Tentit Analyysimalli
T-76.611 Ohjelmistojen määrittely- ja suunnittelumenetelmät Harjoitustyöraportti TNT - Tarkistetaan Ne Tentit Analyysimalli Lasse Lindqvist Lasse Lopperi llindqvi@cc.hut.fi lmlopper@cc.hut.fi Andrey Rusanovich
Ohjelmistotuotanto 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
Älysopimusten kehittäminen. Sopimus suuntautunut ohjelmointi
Älysopimusten kehittäminen Sopimus suuntautunut ohjelmointi There are currently 5,000 blockchain developers. By 2020, we project a global need for over 500,000 - ConsenSys Älysopimus alustat q Ethereum
Harjoitussuunnitelma viikko 17 Kärkipotku I
Harjoitussuunnitelma viikko 17 Kärkipotku I = Pelikenttä = Keiloilla rajattu alue = Pelaaja = Maalivahti = Valmentaja = Pallo = Liike pallon kanssa = Liike ilman palloa = Syöttö tai potku = Keila Harjoituskerran
Määrittelyvaihe. Projektinhallinta
Määrittelyvaihe Projektinhallinta testaus määrittely suunnittelu ohjelmointi käyttöönotto, testaus tuotteenhallinta laadunvarmistus dokumentointi vaatimustenhallinta Määrittely Määrittely, eli kansanomaisesti
Kurssin sisältö. Kurssilla vähemmän. Johdatus ohjelmistotekniikkaan. Mitä on ohjelmistotekniikka? Miten ohjelmistoja suunnitellaan ja toteutetaan?
Kurssin sisältö Johdatus ohjelmistotekniikkaan 2 0 0 8 Mitä on ohjelmistotekniikka? Miten ohjelmistoja suunnitellaan ja toteutetaan? Mitä työkaluja ohjelmistoja kehitettäessä käytetään ja miten? Historiaa
Board Game Lab. 7 Pelimekaniikat ja -systeemit. Materiaalit CC-BY 4.0 Mikko Lampi
Board Game Lab 7 Pelimekaniikat ja -systeemit Materiaalit CC-BY 4.0 Mikko Lampi Sisältö Alustus 1. Mekaniikat ja niiden tehtävät 2. Miten valitsen tai suunnittelen mekaniikkoja? 3. Pelimekaniikat ja -systeemit
Concurrency - 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...
Harjoitussuunnitelma viikko 18 Kärkipotku II
Harjoitussuunnitelma viikko 18 Kärkipotku II = Pelikenttä = Keiloilla rajattu alue = Pelaaja = Maalivahti = Valmentaja = Pallo = Liike pallon kanssa = Liike ilman palloa = Syöttö tai potku = Keila Harjoituskerralla
Liigan taulut ja attribuutit
HARJOITUS 3. Tehtävä 1. Laadi harjoitusmielessä kaksi käsitekaaviota, (juniori. Nappula tms.)liiga ja äänitearkisto. Levyarkisto: Tietokannassa tulee olla perustiedot äänitteistä (CD, vinyyli, kasetti),
Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio
Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia tehtäviä:
TIEDONHALLINTA - SYKSY Luento 7. Pasi Ranne /10/17 Helsinki Metropolia University of Applied Sciences
TIEDONHALLINTA - SYKSY 2017 Kurssikoodi: Saapumisryhmä: Luento 7 TX00CN57-3001 TXQ16ICT, TXQ16S1 ja TXQ16PROS Pasi Ranne 02.10.2017 1/10/17 Helsinki Metropolia University of Applied Sciences 1 Tietokannan
17/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
Ohjelmistojen 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
PLA-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...
Ohjelmiston testaus ja laatu. Testaustasot
Ohjelmiston testaus ja laatu Testaustasot Testauksen vaihejako Tarpeet / sopimus Järjestelmätestaus Hyväksymiskoe Määrittely testauksen suunnittelu ja tulosten verifiointi Arkkitehtuurisuunnittelu Moduulisuunnittelu
Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } }
Yksikkötestauksella tarkoitetaan lähdekoodiin kuuluvien yksittäisten osien testaamista. Termi yksikkö viittaa ohjelman pienimpiin mahdollisiin testattaviin toiminnallisuuksiin, kuten olion tarjoamiin metodeihin.
C++-harjoitustyön raportti: Musta maija
C++-harjoitustyön raportti: Musta maija Eino Malinen (67203) metmal@utu.fi Tietojenkäsittelytieteet Turun yliopisto Palautus: 22.1.2007 Osallistunut kursille: syksy 2006 Sisällysluettelo Kuvaus ongelman
PLA-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...
Rajapinnasta ei voida muodostaa olioita. Voidaan käyttää tunnuksen tyyppinä. Rajapinta on kuitenkin abstraktia luokkaa selvästi abstraktimpi tyyppi.
11. Rajapinnat 11.1 Sisällys Johdanto. Abstrakti luokka vai rajapinta? Rajapintojen hyötyjä. Kuinka rajapinnat määritellään ja otetaan käyttöön? Eläin, nisäkäs, kissa ja rajapinta. Moniperiytyminen rajapintojen
TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD)
TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD) Info 15/3/11 Mikko Vuorinen Metropolia Ammattikorkeakoulu 1 Sisältö 1) Info 2) Arvostelu 3) Kurssin sisältö 4) Alustava aikataulu 5) Projekti 6) Kertaustarve
UML-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,
Sokkelon sisältö säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei.
Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi olioperustainen sokkeloseikkailu peli Javakielellä. Sokkelon sisältö säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti yhden hengen
UML Luokkakaavio 14:41
UML Luokkakaavio UML Olio-ohjelman luokkien pääpiirteet voidaan kätevähkösti esittää ns. UML-luokkakaaviona. Näin usein tehdäänkin esim. suunniteltaessa, millaisia luokkia ohjelmaan on tarkoitus laatia,
PELIAIKASEURANTAOHJELMAN KÄYTTÖOHJE
PELIAIKASEURANTAOHJELMAN KÄYTTÖOHJE SISÄLLYSLUETTELO 1. YLEISTÄ 3 2. ENNEN OTTELUN ALKUA Kirjautuminen 3 3. TILASTOINTI Aloitusnäkymä ja kokoonpanot 4 Pelaajien vaihtaminen 6 Maali 7 Rangaistukset 8 Poista
UML ja luokkien väliset suhteet
UML ja luokkien väliset suhteet -Luokan kuvaaminen UML-tekniikalla -Yhteyssuhde ja koostumussuhde 1 Luokan kuvaaminen UML-tekniikalla : Luokka - attribuutti1 : tietotyyppi # attribuutti2 : tietotyyppi
Sisällys. 11. Rajapinnat. Johdanto. Johdanto
Sisällys 11. ajapinnat. bstrakti luokka vai rajapinta? ajapintojen hyötyjä. Kuinka rajapinnat määritellään ja otetaan käyttöön? Eläin, nisäkäs, kissa ja rajapinta. Moniperiytyminen rajapintojen avulla.
T-76.611 Ohjelmistojen määrittely- ja suunnittelumenetelmät
T-76.611 Ohjelmistojen määrittely- ja suunnittelumenetelmät Software design and specification methods Kurssin henkilökunta ja sponsori Luennoitsija DI Antti Karanta, Napa Oy www.napa.fi Assistentti TkL
Larry Gregorwich Ristikatu 2-4 A Nokia
Larry Gregorwich Ristikatu 2-4 A 1 37100 Nokia larry.g@suomi24.fi Hei Hyvät Henkilöstöyhdistykset, Olemme järjestämässä toisia Sairaaloiden välisiä Curlingin SM-kisoja huhtikuussa 2008. Tällä kerralla
Kuvio 1 Tasapaino (Equilibrium) on suljettujen ja avointen tietorakenteiden dynaaminen suhde
Kuvio 1 Tasapaino (Equilibrium) on suljettujen ja avointen tietorakenteiden dynaaminen suhde Suljetut skeemat eivät muutu prosessin kuluessa Tasapaino Avoimet skeemat voivat muuttua prosessin kuluessa
812341A Olio-ohjelmointi, I Johdanto
812341A Olio-ohjelmointi, 2016 I Johdanto Sisältö 1. Abstraktiosta 2. Olio-ohjelmoinnin historiaa 3. Olioparadigmasta 4. Peruskäsitteiden kertausta 812341A Olio-ohjelmointi, Johdanto 2 1 Abstraktiosta
Harjoitussuunnitelma viikko 15 Sisäsyrjäpotku I
Harjoitussuunnitelma viikko 15 Sisäsyrjäpotku I = Pelikenttä = Keiloilla rajattu alue = Pelaaja = Maalivahti = Valmentaja = Pallo = Liike pallon kanssa = Liike ilman palloa = Syöttö tai potku = Keila Harjoituskerran
Valmistelut: Aseta kartiot numerojärjestykseen pienimmästä suurimpaan (alkeisopiskelu) tai sekalaiseen järjestykseen (pidemmälle edenneet oppilaat).
Laske kymmeneen Tavoite: Oppilaat osaavat laskea yhdestä kymmeneen ja kymmenestä yhteen. Osallistujamäärä: Vähintään 10 oppilasta kartioita, joissa on numerot yhdestä kymmeneen. (Käytä 0-numeroidun kartion
Joskus yleistäminen voi tapahtua monen ominaisuuden pohjalta. Myös tällöin voi tulla moniperintätilanteita.
Moniperintä 2 Joskus yleistäminen voi tapahtua monen ominaisuuden pohjalta. Myös tällöin voi tulla moniperintätilanteita. Oliomallinnus TITE.2040 Hannu K. Niinimäki 1 Delegointi 1 Moniperinnän toteuttaminen