9.9.2013 Luokkakaaviot Luokkakaaviot Tekninen suunnittelu.

Slides:



Advertisements
Samankaltaiset esitykset
Tuloksellinen Java-ohjelmointi Luku 3 Luokkien käyttäminen
Advertisements

Tietokannat: MySQL ja PostgreSQL. Yleistä • Relaatiotietokantaohjelmisto, jolla voidaan luoda, ylläpitää ja muuttaa ja hallinnoida tietokantoja • Avoin.
Rajapintaluokat Rajapintaluokka luettelee metodit, joille tulee löytyä toteutus asianomaisen rajapinnan toteuttavista luokista. Rajapintaluokka on siis.
Minimaalinen Java-ohjelma •Kaikki ohjelmakoodi on luokkamäärityksen sisällä •Ohjelma käynnistyy ”public static void main(String[] args)”-metodista •System.out.print()
– Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä.
Koostumussuhde Jukka Juslin © Jukka Juslin.
Ohjelmiston tekninen suunnittelu
Olio-ohjelmoinnin perusteet luento 3: Muuttujista ja funktioista Sami Jantunen LTY/Tietotekniikan osasto.
Osion kaksi kertaus Jukka Juslin © Jukka Juslin.
6. Metodit.
© Jukka Harju, Viittausmuuttujat. © Jukka Harju, Viittaukset •Viittausmuuttuja sisältää tiedon siitä missä muistipaikassa olio.
Tietojärjestelmät 2.
© Jukka Harju, Jukka Juslin1 Java-ohjelmointi opas ammattimaiseen osaamiseen Luku 12 Periytyminen.
Ict1td002: Ohjelmointitaito Kertaus Osio 2 - luokat - ilmentymät - viittaus- ja arvomuuttuja - ilmentymien taulukointi HAAGA-HELIA IltaTiko.
2. Olio-ohjelmoinnin perusteita
Julkaisukielet ja - tekniikat tMyn1 Julkaisukielet ja -tekniikat •Verkko-ohjelmointi voidaan jakaa kahteen osaan: asiakaspuolen ja palvelinpuolen ohjelmointiin.
Olio-ohjelmointi. Mitä olio-ohjelmointi on ?  Pyritään mallintamaan jotain reaalimaailman kohdetta tietokoneohjelman avulla  Olio on luokan ilmentymä.
1. Olio-ohjelmointi.
Olio-mallinnus Tietojärjestelmien suunnittelu KYAMK, Liiketalous, Kouvola Jarkko Ansamäki, 2002.
Perintä. Yleistä Olio-ohjelmoinnin menetelmä muodostaa uusia luokkia aiemmin määriteltyjen luokkien avulla Luokka saa automaattisesti käyttöönsä kaikki.
Ohjelmiston toteutus (teknisestä näkökulmasta)
OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT. LUOKKA JAVA ohjelma koostuu luokista LUOKKA sisältää metodeja molemmat sisältävät attribuutteja eli muuttujia.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Olio-ohjelmoinnin perusteet luento 3
2/2001 Tietojärjestelmät ja Systeemisuunnittelu Luennoitsija: Tapio Lammi
Oliomallittaminen ja UML
UML-luokkakaaviot.
9. Periytyminen Javassa.
SE-02 Olioperustainen ohjelmistokehitys Tampereen yliopisto, syksy 2000 Roope Raisamo perustuu Kai Koskimiehen Oliokirjaan ja kurssin aiempiin materiaaleihin.
© Lammi-Niskala-Kossarev ADT:n toteutus Imperatiivinen paradigma Imperatiivinen paradigma toimenpiteet aktiivisia, tiedot passiivisia toimenpiteet.
© Jukka Harju, Jukka Juslin
1 Kertaus koetta varten oleellisista asioista Jukka Juslin.
Johdatus ohjelmointiin Ohjelmistosuunnittelu Jaana Holvikivi.
Luokan määrittely class-määreellä tMyn1 Luokan määrittely class-määreellä Luokan määrittely tarkoittaa luokan tietojäsenten esittelyä ja jäsenfunktioiden.
Java Java on Sun Microsystems yhtiön kehittämä laaja olio-pohjainen ohjelmointikieli, joka on laitteistoriippumaton. Laitteistoriippumattomuudessa on.
UML-luokkakaaviot ja Java
4. Attribuutit 4.1. Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2.
10. Abstrakti luokka Johdanto Abstrakti luokka (abstract class) poikkeaa konkreettisesta luokasta (ei-abstrakti luokka) siten, että siitä ei.
Johdanto Teppo Räisänen, Principal Lecturer Oulu University of Applied Sciences, School of Business and Information Management
Systeemityö 2 Ajoituskaavio – Timing Diagram
Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op.
Koostekaavio – Composite Structure Diagram Kinnula – Kellolampi - Lehtosaari.
– Ohjelmistojen mallintaminen, mallintaminen ja UML.
Toteutus. Ohjelmointikielen valinta Käytetään samaa kuin muutkin Työkalujen laatu Usein asiakas määrää Yleensä valittu jo ennen toteutusta Osaaminen vs.
Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö
Oliot ja luokat Oliot ja luokat Oliot (object) ja luokat (class) ovat keskeisiä olio- ohjelmoinnin käsitteitä. Olio-ohjelmointi on ohjelmointiparadigma,
© Jukka Harju, Sisältö 1. Mitä on periytyminen Javassa? 2. Periytyminen UML-luokkakaaviossa 3. Termejä 4. Periytymishierarkia 5. Periytyminen vs.
Vesa Ollikainen & Outi Grotenfelt
11. Rajapinnat Sisällys Mitä rajapinnat ovat? Kuinka ne määritellään ja otetaan käyttöön? Moniperiytyminen rajapintojen avulla. Varoituksen.
Component diagram– Komponenttikaavio J. Pätsi & H. Malmihuhta
Ydinpalveluiden (käyttäjä, käyttöoikeus, potilas).NET-palvelutoteutus: CoreServiceDemo PlugIT-loppuseminaari Koulutustyöpaja 1: Avoimet ohjelmistorajapinnat.
1 © Jukka Juslin Luokat, attribuutit ja metodit Yleistietoa: seuraavalla koulutusviikolla tarkempi käsittely.
– Ohjelmistojen mallintaminen Unified Modeling Language (UML)
8. Periytyminen Sisällys Mitä on periytyminen? Yksittäis- ja moniperiytyminen. Oliot ja perityt luokat. Periytymisen käyttö.
Koostekaavio– composite structure diagram Mikko Näpänkangas.
11. Rajapinnat.
1. Olio-ohjelmointi.
UML-mallinnus osana tietotuotemäärittelyä
Kantaluokan määrittely
3. Luokat, oliot ja metodit Java-kielessä (Lausekielinen ohjelmointi I ja II –kursseilla opitun kertausta.)
Rajapintaluokat Rajapintaluokka luettelee metodit, joille tulee löytyä toteutus asianomaisen rajapinnan toteuttavista luokista. Rajapintaluokka on siis.
Luokan määrittely class-määreellä
6. Metodit.
8. Periytyminen.
– Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä
– Ohjelmistojen mallintaminen Unified Modeling Language (UML)
3. Attribuutit.
4. Luokan testaus ja käyttö olion kautta
2. Olio-ohjelmoinnin perusteita
1. Olio-ohjelmointi.
Esityksen transkriptio:

9.9.2013 Luokkakaaviot Luokkakaaviot Tekninen suunnittelu

UML UML (Unified Modelling Language) Luokkakaaviot 9.9.2013 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)

9.9.2013 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

9.9.2013 Luokkakaaviot Assosiaatio

9.9.2013 Luokkakaaviot Periytyminen

Periytyminen ja koostuminen 9.9.2013 Luokkakaaviot Periytyminen ja koostuminen

Oliokielistä Smalltalk C++ Java C#, Visual Basic 9.9.2013 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.

Oliokielet (PHP) Uuden olio luominen Operaatiot Attribuutit 9.9.2013 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())

Oliokielet (PHP) Luokan periminen kuvataan koodissa sanalla extends 9.9.2013 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";    }

Abstraktit luokat Luokka voidaan määritellä PHP 5:ssä abstraktiksi 9.9.2013 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.

Käytetyt lähteet Haikala, Märijärvi: Ohjelmistotuotanto, satku 2000 9.9.2013 Luokkakaaviot Käytetyt lähteet Haikala, Märijärvi: Ohjelmistotuotanto, satku 2000 Martin Fowler, Kendal Scott: UML, docendo 2002 PHP Manual http://www.php.net/manual/en/language.oop5.php Wikipedia http://en.wikipedia.org/wiki/Unified_Modeling_Language http://en.wikipedia.org/wiki/Class_diagram