Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

9.9.2013 Luokkakaaviot Luokkakaaviot Tekninen suunnittelu.

Samankaltaiset esitykset


Esitys aiheesta: "9.9.2013 Luokkakaaviot Luokkakaaviot Tekninen suunnittelu."— Esityksen transkriptio:

1 Luokkakaaviot Luokkakaaviot Tekninen suunnittelu

2 UML UML (Unified Modelling Language) Luokkakaaviot
Luokkakaaviot UML UML (Unified Modelling Language) 1997 standardi joka vakiinnutti luokkakaavioiden kuvaamisen UML –kielellä UML-mallinnuskieli sisältää useita erilaisia kaavioita joilla pyritään esittämään järjestelmän koostuminen osista tai näiden osien välistä vuorovaikutusta – jako rakennetta (structure) ja käyttäytymistä (behavior) kuvaaviin kaavioihin Luokkakaaviot Käsitekaavio jossa käsitteet luokkia Luokilla ominaisuuksia (attribute) ja operaatioita / metodeja (method) Luokkien välillä yhteyksiä (relationship) jotka assosiaatioita, koostumisia (aggregaatio) tai periytymistä (inherit)

3 Luokkakaaviot UML UML-kaavioissa mallinnetaan olioiden väliset suhteet. Olioiden välillä voi olla kolme erilaista perussuhdetta: Assosiaatio: oliot palvelevat toisiaan ja niiden on ”nähtävä” toisensa paikkakunta ja kunnanjohtaja, pankkitili ja tilinhaltija Sisältyminen: jokin olio koostuu toisista olioista ja jokin olio sisältyy toiseen Auto ja pyötä, viiva ja päätepisteet, osasto ja työntekjät, korttipakka ja kortti Yleistys (erikoistaminen, periyttäminen) Henkilö-Kunnanjohtaja, Kulkuneuvo-Auto

4 Luokkakaaviot Assosiaatio

5 Luokkakaaviot Periytyminen

6 Periytyminen ja koostuminen
Luokkakaaviot Periytyminen ja koostuminen

7 Oliokielistä Smalltalk C++ Java C#, Visual Basic
Luokkakaaviot Oliokielistä Smalltalk Ensimmäinen oliokieli joka kehitetty 1970-luvulla. C++ Kehitetty 1980-luvulla (pohjautuu C-kieleen) Monia vuosia C++ oli yleisin kieli joka tuki olio-ohjelmointia Suurin osa maailman käyttöjärjestelmistä, laiteohjaimista, sulautetuista järjestelmistä ja peleistä toteutettu C++ -kielellä. Java Julkaistu vuonna 1995 Muistuttaa pitkälti C++ -kielen rakennetta Alun perin web-sovelluksiin mutta suosittu palvelinpuolen dynaamisten www-sivujen luomisessa (JSP) C#, Visual Basic Moderneja ohjelmointikieliä, muistuttavat usein C++ -kieltä. Visual Basic muuttunut vuosien saatossa oliokieleksi (suuria muutoksia Visual Studio .NET –päivityksessä vuonna 2002). Visual Basic 6.0 edelleen käytössä monissa vanhoissa sovelluksissa.

8 Oliokielet (PHP) Uuden olio luominen Operaatiot Attribuutit
Luokkakaaviot Oliokielet (PHP) Uuden olio luominen Uusi instanssi luokasta luodaan koodissa new –sanalla $obj = new OwnClass(); Operaatiot Luokan sisältämiä funktioita kutsutaan operaatioiksi tai metodeiksi (method). Funktio/aliohjelma vs metodi: metodi on aliohjelma joka liittyy tiettyyn luokkaan, kuvaa luokan toimintaa Erityiset rakennin (kontrstruktori, constructor) ja hävitin (destructor) Attribuutit Luokan muuttujat ominaisuuksia (properties) tai attribuutteja (attributes) Määritellään julkisiksi (public), suojatuiksi (protected) tai yksityisiksi (private), tämä määrittää muuttujan näkyvyyden Mikäli metodissa käytetään static –avainsanaa ei oliota tarvitse luoda jotta metodia pystyttäisiin ajamaan (vrt. Reader.readInt())

9 Oliokielet (PHP) Luokan periminen kuvataan koodissa sanalla extends
Luokkakaaviot Oliokielet (PHP) Luokan periminen kuvataan koodissa sanalla extends class Ralliauto extends Auto Muodostin ja hävitin Kun uusi ilmentymä luokasta luodaan kutsutaan aluksi rakenninta (muodostin), kun ilmentymä poistuu sovelluksen käytöstä kutsutaan automaattisesti hävitintä. Rakentimessa esimerkiksi alustetaan muuttujat oletusarvoilla. function __construct() {        print "In BaseClass constructor\n";    } function __destruct() {        print "Destroying " . $this->name . "\n";    }

10 Abstraktit luokat Luokka voidaan määritellä PHP 5:ssä abstraktiksi
Luokkakaaviot Abstraktit luokat Luokka voidaan määritellä PHP 5:ssä abstraktiksi Abstraktista luokasta ei voi luoda instansseja vaan luokasta tulee aina johtaa toteutettava aliluokka Käytännössä laaditaan runko jossa määritellään mitä aliluokkien tulee sisältää Abstraktia luokkaa muistuttaa käsite Interface (Java) Interface suositeltava luokassa jonka metodit halutaan määritellä ennakkoon mutta joiden varsinainen toteutus vaihtelee aina varsinaisen ohjelman toteutuksessa.

11 Käytetyt lähteet Haikala, Märijärvi: Ohjelmistotuotanto, satku 2000
Luokkakaaviot Käytetyt lähteet Haikala, Märijärvi: Ohjelmistotuotanto, satku 2000 Martin Fowler, Kendal Scott: UML, docendo 2002 PHP Manual Wikipedia


Lataa ppt "9.9.2013 Luokkakaaviot Luokkakaaviot Tekninen suunnittelu."

Samankaltaiset esitykset


Iklan oleh Google