Kaaviotekniikoista (erityisesti UML)



Samankaltaiset tiedostot
Kaaviotekniikoista (erityisesti UML)

Kaaviotekniikoista (erityisesti UML) (ajan riittäessä pikkasen projekteista)

Ohjelmistojen kehittämisessä tarvitaan kaaviotekniikoita

Vaatimusmäärittelyistä

Tilakaaviot, sekvenssikaaviot (Haikala, Märijärvi ss , )

Ohjelmistotekniikan menetelmät, UML

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

UML- mallinnus: Tilakaavio

Ohjelmistojen mallintaminen Olioiden yhteistyö Harri Laine 1

Mallinnus UML-yleiskatsaus

TIE Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

Vaatimusmäärittelyistä

UML-kielen formalisointi Object-Z:lla

TIE = JOTU. VH5 - MagicDraw

UML - unified modeling language

Unified Modeling Language

Arkkitehtuuripankki. Mallintamisen metamalli ja notaatiot

Ohjelmistojen mallintaminen, kesä 2009

Ohjelmistojen mallintaminen kertausta Harri Laine 1

UML-mallinnus ja prosessien kuvaaminen Microsoft Visiolla (versio 2003 professional) Jouni Huotari

VH5, JOTU, MagicDraw:n käyttö

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.

UML:n yleiskatsaus. UML:n osat:

Ohjelmistoarkkitehtuurit. Kevät

Ohjelmistojen mallintaminen, kesä 2010

UML-MALLINNUS MICROSOFT VISIOLLA JOUNI HUOTARI

MagicDraw-pikaohje (VH5)

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Olioperustaisuus (object oriented)

Johdatus sovellussuunnitteluun, s99, osa2 Helsingin yliopisto;/tktl Harri Laine 1. Olioperustaisuus (object oriented)

Johdatus sovellussuunnitteluun, s99, osa2 Helsingin yliopisto;/tktl Harri Laine 1. Olioperustainen ohjelmistokehitys

Ohjelmistojen mallintaminen

Joskus yleistäminen voi tapahtua monen ominaisuuden pohjalta. Myös tällöin voi tulla moniperintätilanteita.

Ohjelmistojen mallintaminen, mallintaminen ja UML

UML -mallinnus TILAKAAVIO

Visual Case 2. Miika Kasnio (C9767)

Ohjelmistotekniikan menetelmät, kesä 2008

käyttötapaukset mod. testaus

Ohjelmistotekniikan menetelmät, mallintaminen ja UML

Ohjelmistojen mallintaminen, sekvenssikaaviot

Ohjelmien analysointi. ER-kaaviot

Ohjelmistotekniikan menetelmät, kevät 2008

Ohjelmistojen suunnittelu

Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia.

Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio Harri Laine 1

UML työvälineenä ja tutkimuskohteena

Ohjelmistoarkkitehtuurit. Syksy 2010

UML metamallina. Seminaariesitelmä Minna Majuri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

OHJ-3010 Ohjelmistotuotannon perusteet, kesä 2012

Olioiden yhteistyön mallintaminen

HELIA 1 (20) Outi Virkki Tiedonhallinta

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Malliperustainen ohjelmistokehitys - MDE Pasi Lehtimäki

Hieman lisää malleista ja niiden hyödyntämisestä

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Ohjelmistoarkkitehtuurit Kevät käytäntöjä

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Ohjelmistotuotanto, kuvaustekniikat Syksy Kuvaustekniikat. Miksi kuvaustekniikoita? Abstraktiotasot. Abstrahointi UML

Ohjelmoinnin perusteet Y Python

UML-kuvauskielten käyttö ohjelmistojen vaatimusmäärittelyissä

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.

Esimerkki 1: Kahviautomaatti.

Yhteenveto. Menettelytavat

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Tilan luonnehdinta (yksi tapa)

Ohjelmistojen mallintaminen Olioperustainen ohjelmistomalli Harri Laine 1

Ohjelmistoarkkitehtuurit Kevät käytäntöjä

Määrittely- ja suunnittelumenetelmät

Luento 3 Tietokannan tietosisällön suunnittelu

UML-MALLINNUSKIELI JA SEN HYÖDYNTÄMINEN OHJELMISTOKEHITYKSESSÄ

GroupDesk Toiminnallinen määrittely

UML OHJELMISTOPROSESSIEN TUKENA

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100

Ohjelmointikielet ja -paradigmat 5op. Markus Norrena

Määrittelyvaihe. Projektinhallinta

5. Järjestelmämallit. Mallinnus

Sisällys. 19. Unified Modeling Language (UML) Johdanto. Johdanto. Johdanto. Luokkakaavio:

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Tietojärjestelmän osat

Interaktiivisten järjestelmien arkkitehtuuriratkaisu, jolla käyttöliittymä erotetaan sovelluslogiikasta.

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:

Ohjelmoinnin peruskurssi Y1

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

Sisällys. Luokkakaaviot 2

Ohjelmistoarkkitehtuurit. Syksy 2008

Projektitoiminta JOTU JOTU2013/K.Systä 1

2. Käsiteanalyysi ja relaatiomalli

UML Luokkakaavio 14:41

3a. Projektin hallinta (lisäys lukuun 3)

TIE Ohjelmistojen suunnittelu

Analyysi on tulkkaamista

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

AVOIMEN LÄHDEKOODIN UML-MALLINNUSVÄLINEIDEN VERTAILU PIENTEN OHJELMISTOPROJEKTIEN TARPEISIIN

Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

Tentissä ratkaistaan neljä ohjelmointitehtävää Javalla. Tehdään sähköisesti mikroluokan Windows-koneilla.

Transkriptio:

Kaaviotekniikoista (erityisesti UML) Kari Systä 20.10.2014 20.10.2014 Jotu2014/KSY 1

Tiedotettavaa Jos ette ole varanneet välinäyttöä, varatkaa heti (keskiviikkona dedis) Dokumentit IDLEeen (sähköposti ei riitä) 20.10.2014 Jotu2014/KSY 2

Alustava luentoaikataulu 25.8: Johdanto + historiaa, mitä on ohjelmistotuotanto 1.9: Ohjelmistojen roolista ja tyypeistä ohjelmistotyön merkitys 8.9: Miten ohjelmistotyö organisoidaan (vaihejako ja prosessi-mallit) 15.9: Vaatimusmäärittelyt 22.9: Vaatimukset 2; tiedon mallintaminen 29.9: Käyttäjä ja käyttäjäkokemus ohjelmisto-projektissa (Jarmo Palviainen) 6.10: Esimerkkiprojekti (M-files) 20.10: Yleiset notaatiot erityisesti UML 27.10: Projektitoiminta 3.11: Asiakasroolista 10.11: Ohjelmisto osana laitetta 1 17.11: IPR, sopimukset, open source 25.11: 1.12: Kertausta 8.9.2014 JOTU/K.Systä 3

Käytettävyydestä ja käyttöliittymästä Suosittelen tämän lukemista: https://medium.com/@johtaja/wilmaparemmaksi-bc692f90ce02 20.10.2014 Jotu2014/KSY 4

Muutama kommentti vierailuluennosta Kyseessä on siis tuote-projekti ja nykyisin myös verkkopalvelu 20.10.2014 Jotu2014/KSY 5

Liiketoimintamallit Ostaja Tehdään itse Ostetaan valmis Teetätetään projekti Ostetaan pilvipalveluna Toimittaja Myydään softan kopioita ja/tai lisenssejä Myydään projekteja Myydään tuntityötä (reppu-malli) Myydään (pilvi)palveluna 27.8.2012 6

Muutama kommentti vierailuluennosta Kyseessä on siis tuote-projekti ja nykyisin myös verkkopalvelu Ketteryyden perusoletus, vaatimuksia ei voida lukita etukäteen, oli voimassa DoD tärkeä (kertaus mikä se on?) ISO9001 sertifioitu laatujärjestelmä 20.10.2014 Jotu2014/KSY 7

Palautetta Oliko hyvä? Sopivasti firmasta? Sopivasti tuotteesta? Sopivasti prosessista? Kalvojen kieli (Englanti)? 20.10.2014 Jotu2014/KSY 8

Kaaviotekniikoista Mahdollistavat todellisuuden havainnollistamisen ja yksinkertaistamisen Sallivat eri abstraktiotasot, laajuudet ja näkökulmat Auttavat ymmärtämään sovellusaluetta Ohjaavat kysymään oikeita kysymyksiä Helpottavat kommunikointia koskien järjestelmää ja sovellusaluetta Dokumentoivat asioita 20.10.2014 Jotu2014/KSY 9

Historiaa UML = Unified Modeling Language Yhdistelmä viimeisten 30-40 vuoden aikana kehitetyistä notaatioista (ER, SA/RT, SDL,..) Standardoi piirtotavan UML ei ole menetelmä, vaan kaavioidenpiirtostandardi Päätekijät (the "three amigos"): Grady Booch, Jim Rumbaugh and Ivar Jacobson (www.rational.com) OMG:n standardoima 1997 version 1.1 1998-2003 Fix releases 1.2-1.5 2.8.2003: kokonaan uusittu versio 2.0 uusin versio (2.3.) keväällä 2010 Laaja standardi, käytännön kannalta erot 1.1-version ja 2.0 version välillä ovat melko vähäisiä Tosiasiallinen standardi työkaluissa, kirjallisuudessa, teollisuudessa Tällä kurssilla pikku detaljeille ei ole merkitystä 20.10.2014 Jotu2014/KSY 10

Käyttötapauskaavio Kaaviotyypit (UML 1.x) Luokkakaavio Tap.sekv.kaavio Yhteistyökaavio Use Use case case diagram Class/Package/Object diagrams Sequence diagram Collaboration diagram Driver driver Handle tree Tree 1..* Log Driver pine:tree :Log Cut <<create>> calcullate 1. Cut 2. Feed :Log 2.1. setmeasures Cut log pine: Tree :Tree Feed setmeasures pine:tree 1.2. calculate 1.1. <<create>> popularity: 3, complexity: 1 Aktiviteettikaavio Activity diagram popularity: 3, complexity: 3 Tilakaavio State machine diagram (State chart) popularity: 3, complexity: 1 Komponenttikaavio Component diagram popularity: 2, complexity: 1 Sijoittelukaavio Deployment diagram H Catch hold of tree H Saw idle H.U.I. Production <<Laptop>> H.U.I. H.U.I. Fall the tree Cut / ^Start chain CutOK / ^StopChain Production <<CAN>> Production Feed&saw Select tree variety H H Saw operational Production Tree Log <<processor>> Main Unit popularity: 2, complexity: 3 popularity: 2, complexity: 3 popularity: 2, complexity: 2 popularity: 1, complexity: 2 20.10.2014 Jotu2014/KSY 11

UML 2.0 kaaviotyypit Diagram Structure diagram Behavior Diagram Class Diagram Component Diagram Object Diagram Activity Diagram Use Case Diagram State Machine Diagram Interaction Diagram Composite Structure Diagram Deployment Diagram Package Diagram Sequence Diagram Collaboration Diagram Interaction Overview Diagram Timing Diagram 20.10.2014 Jotu2014/KSY 12

Jotu oliot, ohjarkki - teht. Esimerkki tyypillisestä käytöstä Selvitellään asiakkaan ongelmaa (asiakasvaatimuksia) Tuotetaan sovellusalueen luokkakaavioita (analysis level, problem level, problem domain) Käytetään käyttötapauksia selvittelemään kuvausta asiakasvaatimuksista järjestelmävaatimuksiksi. Iteroidaan, protoillaan... Tuotetaan toiminnallinen määrittely, joka dokumentoi asiakasvaatimukset, järjestelmävaatimukset ja käyttötapaukset. Määritellään arkkitehtuuri (alijärjestelmät) ja tärkeimmät rajapinnat (luokkakaaviot, tapahtumasekvenssikaaviot) Määritellään alijärjestelmät (luokkatasolle) ja luokkien rajapinnat (luokka- ja tapahtumasekvenssikaaviot) Huom. Kaavioilla ei juurikaan päästä käsiksi ei-toiminnallisiin 20.10.2014 Jotu2014/KSY 13

Kaksi eri käyttöä Ongelman ja ympäristön kuvaaminen Tuoteutettavan järjestelmän kuvaaminen Keskustelu ja dokumentointi 20.10.2014 Jotu2014/KSY 14

Kaavioiden käyttötavoista Kaavioita voidaan käyttää (mm.) esitutkimuksessa, määrittelyssä ja suunnittelussa. Esitutkimus ja määrittely: sovellusalueen käsitteet (domain object model), järjestelmän rajaus, analysis object model, järjestelmän tietosisällön määrittely (käsitekaavio, conceptual model), usein myös tietokannan rakenne. Suunnittelu: ohjelman rakenne (design object model), tietokannan rakenne (esimerkiksi relaatiokannan graafinen esitys). Kaavio dokumentoi "sanaston", jolla asioista voi keskustella. Kaavio kertoo, millaiset tilanteet ovat mahdollisia. Kaavio ohjaa kysymään oikeita kysymyksiä. Voidaan käyttää (rajoitetusti) koodin generointiin (luokkamäärittelyt, tietokannan luonti). Voidaan käyttää takaisinmallinnukseen (reverse engineering). 20.10.2014 Jotu2014/KSY 15

Kaavioiden ilmaisuvoimasta Kaikkien sallittujen tilanteiden on oltava kaaviossa mukana. Kaikkia rajoituksia ei aina pysty ilmaisemaan => Lisätään rajoitteita ja kommentteja. Kaavioita voi testata hakemalla siitä vastauksia kysymyksiin ja piirtelemällä kuvia esimerkkitilanteista. Mahtavatkohan asiakkaat ymmärtää kaavioita? 20.10.2014 Jotu2014/KSY 16

Työkaluista Jos et osaa paperilla ja kynällä ei välineestä ole apua. Välineet voidaan karkeasti jakaa case-välineisiin ja piirto-ohjelmiin, käytännössä rajanveto ei ole helppoa: Rational Rose, Rational Software Architect, Prosa, Rhapsody, Together, Enterprise Architect, MagicDraw, Visio CASE-välineet Hinta yleensä korkea (2-20k euroa). Perustuvat tietokantaan, johon talletetaan kaikki malliin liittyvät tiedot, kaaviot ovat vain näkymiä tietokantaan. Ymmärtävät kaavioiden semantiikkaa ainakin jossain määrin. Reverse Engineering+Forward Engineering = Round Trip Engineering. Tukevat dokumentointia. Tukevat ryhmätyötä. Demot ja pienet ohjelmaesimerkit antavat usein liian ruusuisen kuvan. Oppimiskynnys korkeahko. Piirto-ohjelmat (esim. MS Visio) Hinta muutamia satoja eroja. Ainakin Visiossa melko hyvä UML-tuki, lähestyy CASE-välineen ominaisuuksia. Hyvä valinta, jos ei tarvitse CASE-välineen tietokannan tuomia lisäetuja. Julkisohjelmiakin löytyy verkosta (esim. ArgoUML) Tällä kurssilla saa piirtää millä haluaa, saatavissa MagicDraw, MagicDraw:n käyttöä harjoitellaan harjoituksissa 20.10.2014 Jotu2014/KSY 17

Käyttötapauskaaviot Tree 1..* Log Handle tree driver pine: Tree :Tree Cut log H Saw idle Driver pine:tree :Log Cut / ^Start chain CutOK / ^StopChain Cut <<create>> calcullate H Saw operational Feed setmeasures 20.10.2014 Jotu2014/KSY 18

Dipparekisteri Lisää uusi opiskelija Lisää uusi kenttä Ohjaaja Etsi ehdot täyttävät opiskelijat Tee palaverimuistio Lisää/poista ohjaaja Kirjoita lausunto Laitoksen johtaja Tarkastele tilastoja

Järjestelmä X KT1 Aktori1 <<extend>> KT2 KT4 <<include>> KT3 Aktori2 <<actor>> SAP

Tilakaaviot Käytetään esimerkiksi elektromekaanisten laitteiden toiminnan mallintamiseen perinteinen oliomallintamiseen ja olioiden elinkaarien selvittelyyn algoritmien ja liiketoimintasääntöjen kuvaamiseen liiketoimintaprosessien selvittelyyn. 20.10.2014 Jotu2014/KSY 21

Notaatiosta Tilan nimi entry/action exit/action do/action eventname/action eventname/defer eventname(par)[guard]/action tila Jotu2014/KSY 22 20.10.2014

Yksinkertainen esimerkki Soitin Alusta do/luukku auki pause/keskeytä soitto Auki play/luukku kiinni, aloita soitto stop tai levy loppu/avaa luukku Soita play/jatka soittoa Virtakatkaisin Jotu2014/KSY 23 20.10.2014

Hierarkkiset tilat Soitin Alusta do/luukku auki Soita Auki play stop play Pause Virtakatkaisin Jotu2014/KSY 24 20.10.2014

Rinnakkaiset tilat Soitin Herätys Alusta Do /luukku auki Soita Päälläi Auki play stop play Pause Päälläi Virtakatkaisin Jotu2014/KSY 25 20.10.2014

20.10.2014 Notaation "hienouksia State name entry/action exit/action do/action eventname/action eventname/defer Alkutila Suoritetaan tilaan saavuttaessa Suoritetaan tilasta poistuttaessa Suoritetaan tilassa ollessa Suoritetaan tapahtuman sattuessa Estetty tapahtuma toiminto Vahti: tilasiirtymä mahdollinen jos tosi eventname(par)[guard]/action Lopputila Jotu2014/KSY 26

aktiviteettikaaviot avaa do/avaa ilmoittautuminen /ilmlkm=0 jouten when (time=ilmpäättymisaika)/ Kurssi::ilmoittaudu/ Kurssi::tarkasta esitiedot [else] [OK]/ilmLkm=ilmLkm+1 OK-ilmoitus do/lisää yhteys käyttäjän ja kurssin välille do/informoi käyttäjää notok do/informoi käyttäjää 20.10.2014 sulje ilmoittautuminen do/sulje ilmoittautuminen Jotu2014/KSY 27

Rinnakkaisuus aktiviteettikaavioissa Valmistele tietokannat Haku kannasta 1 Haku kannasta 2 Haku kannasta 3 Koosta raportti Jotu2014/KSY 28 20.10.2014

Sekvenssikaaviot Jotu2014/KSY 29 20.10.2014

Esimerkki tapahtumasekvenssistä Aihetta pohdiskellaan työpaikalla proffan kanssa Dippatyötä tehdään, palavereita ohjaajien kanssa : opiskelija : ohjaava professori aiheanomus : ohjaaja työpaikalla allekirjoitettu aiheanomus aihe OK valmis työ valmis työ Tiedekunta Molemmat ohjaajat tekevät lausunnon lausunto lausunto Osastoneuvoston kokous hyväksyy työn hyväksyminen, arvosana 20.10.2014 Jotu2014/KSY elämänlanka 30

20.10.2014 Notaatio : Sovellus : Tdstojärjestelmä : Laiteajuri : Levyohjain lue tdston tavut 1200-1209 Päättele tavunumeroista vastaavan levylohkon numero (esimerkiksi 523) lue lohko 523 Muunna 523 levypinnan, uran ja sektorin numeroksi (esimerkiksi (1, 36, 56)) käynnistä seek uralle 34 Funktiokutsu, synkroninen kommunikointi Asynkroninen kommunikointi Odota keskeytystä Siirrä lukipää oikealle uralle i/o-keskeytys käynnistä sektorin luku Focus of control Odota keskeytystä palauta lohko 523 i/o-keskeytys Odota oikeaa sektoria, lue sektori palauta halutut 10 tavua Paluu funktiosta (ei pakollinen) Jotu2014/KSY 31

20.10.2014 notaatio TAI: <<create>> : C2 x: C1 olion luonti, voi ilmaista myös stereotyypillä <<create>> <<destroy>> : C2 op1(x) op3(x) op2() sisäinen kutsu true takaisinkutsu (call back) olion tuhoaminen (myös stereotyyppi Jotu2014/KSY <<destroy>>) 32

: Controller : View forminit checkscreen initializationok datachange gettemperatures changeddata finalizeform <<create>> <<destroy>> : C2 Jotu2014/KSY 33 20.10.2014

sd Varmista esitiedot Sales System Customer signon loop [while Negotiations left] ref Negotiate alt [Negotiation OK] ref handlepurchase [Negotiation not OK] ref handlefailure Operaattorit ref: viittaus alikaavioon alt: if-then-else opt: if-then break: hyppy ulos loop: silmukka par: rinnakkainen suoritus seq: heikko järjestys (voi tapahtua muussakin järjestyksessä) strict: tarkasti määritelty järjestys neg: kielletty kommunikointitapa critical: kriittinen alue ignore, consider, assert Jotu2014/KSY 34 20.10.2014

Käsitekaaviot Tiedon ja käsitteiden kuvaamiseen 20.10.2014 Jotu2014/KSY 35

Esitetään useimmiten graafisesti Olio kaavio Luokkakaavio (UML) ER-kaavio (entity-relationship kaavio) Tietoyhteyskaavio Käsitekaavio Kohdekaavio 20.10.2014 Jotu2014/KSY 36

Käsitekaavio (UML:n luokkakaavio) Nimi Ominaisuudet lkm nimi lkm Nimi Ominaisuudet Metodit Metodit 20.10.2014 Jotu2014/KSY 37

Esimerkki kuvaa Opiskelija -nimi -osoite -opiskelijanro * * osallistuu * Kurssi -luentosali -luentoajat -vastuuhenkilö -ilmpäättymisaika -ilmlkm * Suoritus -arvosana -pvm * 1 Opintojakso -opmaara -kuvaus * * 20.10.2014 Jotu2014/KSY 38 esitietovaatimus

Esimerkki navigointisuunta lukusuunta Opiskelija nimi op.nro osoite osallistuu 1..* 0..* kurssi kurssitunnus periodit lukukausi <kuvaa 0..* 1 opintojakso kuvaus ilmoittaudu() 0..* suoritus 1 kuuluu 0..* tentti 0..* luennoi 0..1 opettaja nimi osoite henkilönro 0..* suoritus arvosana ov-määrä pvm assosiatioluokka UML 2.x navigointi Undefined Navigable direction Non-navigable direction 20.10.2014 Jotu2014/KSY 39

Periyttäminen, yleistäminen, erikoistaminen (kuva 6.3) tilinro saldo tili otto() pano() saldokysely() tili tilinro saldo otto() pano() saldokysely() 1 1 {xor} 0..1 luotollinen tili luottoraja 0..1 käyttötili luotollinen tili luottoraja käyttötili otto() otto() rajoite TAI: tili tilinro saldo otto() pano() saldokysely() luotollinen tili luottoraja käyttötili otto() 20.10.2014 Jotu2014/KSY 40

Tietovuokaaviot Tietovuokaaviot olivat yleisiä ennen UML:ää Niillä on edelleen faninsa 20.10.2014 Jotu2014/KSY 41

Vaara-anturi Operaattori MaaRo Liukuhihna käynnistä maaliloppu ohjaus Käsi Maalisäiliö

Vaara-alue Liukuhihna Operaattori 6* pysäytä hihna käynnistä vaara 5* siirrä hihnaa tilanne komento 1* ohjaa robottia status maaliloppu e/d ohjaus 2* Käyttöliittymä e/d valmis maalausreitti 3* maalaa manuaalisesti Maalisäiliö asema Käsi 4* maalaa automaattisesti käden ohjaus ohjaus = [seis siirrä käsikäyttö automaatti] status = [seis seis&siirtää käsikäytössä maalaa maalaa&siirtää]

Alustava luentoaikataulu 25.8: Johdanto + historiaa, mitä on ohjelmistotuotanto 1.9: Ohjelmistojen roolista ja tyypeistä ohjelmistotyön merkitys 8.9: Miten ohjelmistotyö organisoidaan (vaihejako ja prosessi-mallit) 15.9: Vaatimusmäärittelyt 22.9: Vaatimukset 2; tiedon mallintaminen 29.9: Käyttäjä ja käyttäjäkokemus ohjelmisto-projektissa (Jarmo Palviainen) 6.10: Esimerkkiprojekti (M-files) 20.10: Yleiset notaatiot erityisesti UML 27.10: Projektitoiminta 3.11: Asiakasroolista 10.11: Ohjelmisto osana laitetta 1 17.11: IPR, sopimukset, open source 25.11: 1.12: Kertausta 8.9.2014 JOTU/K.Systä 44

Pari linkkiä joihin palaamme 2 viikon päästä http://www.hs.fi/politiikka/a1411741786944 http://www.talouselama.fi/uutiset/verohallinto+selit taa+tasta+syysta+lapsivahennysohjelmamuutokset+ maksavat+25+miljoonaa/a2268754 20.10.2014 Jotu2014/KSY 45