****************************************************************** * REAALIAIKAOLIO-OHJELMOINNIN TENTTIVASTAUSLÄRPÄKE JA MUUTA TÄRP * * * * CREATED BY SURTR * ****************************************************************** ****************************** * ROPES-SUUNNITTELUN VAIHEET * ****************************** 1. Analyysi Tässä vaiheessa analysoidaan mahdollisten oikeiden ratkaisujen ominaisuuksia. Vaiheen alivaiheet ovat seuraavat: - vaatimusmäärittely (requierment analysis) - järjestelmäanalyysi (system analysis) - rakenteellinen olioanalyysi (structural objectanalysis) - käytöksellinen olioanalyysi (behavioral objectanalysis) 2. Design Tässä vaiheessa käydään käsiksi sisällön sunnitteluun ja esimerkiksi olioiden ja luokkien sisäisiin rakenteisiin. - arkkitehtuurin suunnittelu (architectural design) suunnitelma käsittää suuressa mittakaavassa järjestelmän toiminnan ja osittelun siten, että saadaan aikaan esim tehokas ryhmässä toimiminen. - mekaaniika suunnittelu (mechanistic design) sisältää järjestelmän komponenttien mekaanisen toiminnan kuvauksen (?) - yksityiskohtainen suunnittelu (detailed design) määrittelee yksittäisten luokkien rakenteet ja sisäisen mekaniikan. 3. Translation Tässä vaiheessa UML mallista kirjoitetaan lähdekoodi ja kääntäjän kautta saadaan aikaan ajokelponen järjestelmä. Tässä vaiheessa suoritetaan lisäksi yksikkötestaus. 4. Testing Testivaihe käsittää sekä integraation, että validointi testin, eli tarkastetaan, että valmis järjestelmä toimii oikein ja on vaatimusten mukainen. **************************** * SELITÄ LYHYESTI TEHTÄVÄT * **************************** 1. RMS, rate monotonic scheduling Taskin/tehtävän prioriteetti on monotonisesti laskeva funktio taskin periodista (fixed priority) 2. LL, Least laxity dynamic scheduling optimaalinen skedulointijärjestelmä, joka perustuu aikarajoituksen rikkomisen havaitsemiseen ennen kuin deadline tulee täyteen. Skeduloinnin laskennallisuus suoritetaan ulkoisessa laitteessa, joten se ei kuormita varsinaista järjestelmää. 3. java- synchronized avainsanan tarkoitus metodilla sync-avainsanaa käytetään, kun halutaan, että useampi ulkoinen ohjelma ei pääse käsiksi tietyn luokan metodiin yhdellä kertaa. tällä pyritään takaamaan rinnakkaisten järjestelmien safety kriteeri. pyritään esim estämään muuttujan datan korruptoituminen. *************************************** * UML KAAVIOIDEN SUHTEET JA ELEMENTIT * *************************************** - - - - - -> riippuvuus suhde * 0.1 ----------- rooli -----------> assosiaatio <>--------- kooste ----------|> yleistys (periytyminen) - - - - - |> toteutus Luokka: _______ |__nimi_| |_______| |_______| Tila: ____ / \ | nimi | | | \____/ Pakkaus: ___ |___|____ | | |________| Kommentti: ________/\ | \/ | | |_________| ***************************** * UML KAAVIOTYYPPIEN KÄYTTÖ * ***************************** o korkean tason toiminnallisuus h ----rakenne------------------------------------käyttäytyminen---- j e Käyttötapauskaavio l | m ___________|_________________________ i | | | s Oliokaavio Sekvenssikaavio Yhteistyökaavio t _______|______ | | o | | Tilakaavio Aktiviteettikaavio k Sijoittelukaavio Luokkakaavio e | h Komponenttikaavio i t y s 1. Käyttötapauskaavio Käyttötapausten väliset suhteet ja käyttötapauksiin liittyvät ulkopuoliset toimijat (aktorit) Jos käyttötapaus on osa toista laajempaa tapausta, niin laajemmasta piirretään nuoli sisältyvään tapaukseen päin. 2. Luokkakaavio Sisältää järjestelmän staattisen rakenteen kuvauksen Tässä kuvataan luokkien välisiä suhteita. 3. Oliokaavio Kuvaa olioita ja niiden välisiä suhteita. Voi olla luokkakaavion ajonaikainen ilmenemismuoto (oliot kuitenkin vain ajettuja luokkia) Antaa esimerkin järjestelmän dynaamisesta rakenteesta tietyllä hetkellä. jne... jne... lisätään, jos tarvetta tentissä.