Tenttikysymykset. + UML-kaavioiden mallintamistehtävät



Samankaltaiset tiedostot
Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Analyysi on tulkkaamista

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

T Olio-ohjelmointi Osa 5: Periytyminen ja polymorfismi Jukka Jauhiainen OAMK Tekniikan yksikkö 2010

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

A) on käytännöllinen ohjelmointitekniikka. = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys)

Luokkamalli LUOKKAKAAVIO. Tämän osan sisältö. Luokkamalli. Luokka ja olio. Luokkakaavio (class diagram)

Aalto Yliopisto T Informaatioverkostot: Studio 1. Oliot ja luokat Javaohjelmoinnissa

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

2. Olio-ohjelmoinista lyhyesti 2.1

Rajapinnasta ei voida muodostaa olioita. Voidaan käyttää tunnuksen tyyppinä. Rajapinta on kuitenkin abstraktia luokkaa selvästi abstraktimpi tyyppi.

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Sisällys. 11. Rajapinnat. Johdanto. Johdanto

UML Luokkakaavio 14:41

Java kahdessa tunnissa. Jyry Suvilehto

Luokka- ja oliokaaviot

Rajapinta (interface)

Mikä yhteyssuhde on?

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op

Johdanto. Olio (Object) Luokka (Class) Olion kuvaaminen

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

2. Olio-ohjelmoinnin perusteita 2.1

UML-kielen formalisointi Object-Z:lla

815338A Ohjelmointikielten periaatteet Harjoitus 5 Vastaukset

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat

Jouni Huotari & Ari Hovi. Käsitemallinnuksesta relaatiokantaan KÄSITEMALLI. LOOGINEN MALLI: tietomalli valittu. FYYSINEN MALLI: DBMS valittu

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

UML -mallinnus LUOKKAKAAVIO EERO NOUSIAINEN

Kooste. Esim. Ympyrän keskipiste voidaan ajatella ympyrän osaksi.

Sisällys. Mitä on periytyminen? Yksittäis- ja moniperiytyminen. Oliot ja perityt luokat. Periytymisen käyttö. 8.2

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki

Sisällys. 9. Periytyminen Javassa. Periytymismekanismi Java-kielessä. Periytymismekanismi Java-kielessä

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

Mitä on periytyminen?

Olio-ohjelmoinnissa luokat voidaan järjestää siten, että ne pystyvät jakamaan yhteisiä tietoja ja aliohjelmia.

9. Periytyminen Javassa 9.1

Olio-ohjelmointi Johdanto olio-ohjelmointiin

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Sisällys. JAVA-OHJELMOINTI Osa 6: Periytyminen ja näkyvyys. Luokkahierarkia. Periytyminen (inheritance)

9. Periytyminen Javassa 9.1

Ohjelmistojen mallintaminen, arkkitehtuuria ja rajapintoja

Periytyminen (inheritance)

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

812341A Olio-ohjelmointi Peruskäsitteet jatkoa

Ohjelmistotekniikan menetelmät, suunnittelumalleja

Ohjelmistojen mallintaminen Olioiden yhteistyö Harri Laine 1

Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto

Ohjelmistojen mallinnus Ohjelmistoarkkitehtuuri Harri Laine 1

12. Monimuotoisuus 12.1

4. Olio-ohjelmoinista lyhyesti 4.1

Paikkatiedon mallinnus Dokumentoinnin ymmärtäminen. Lassi Lehto

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

Ohjelmistojen suunnittelu

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. II Johdanto olio-ohjelmointiin

Ohjelmistojen mallintaminen. Luento 4,

UML:n yleiskatsaus. UML:n osat:

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

Harjoitus Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

18. Abstraktit tietotyypit 18.1

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

2. Olio-ohjelmoinnin perusteita 2.1

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();

Kompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma

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

12. Monimuotoisuus 12.1

Muutamia peruskäsitteitä

1. Olio-ohjelmointi 1.1

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Pakkaukset ja määreet

Suunnittelumallien käyttö ohjelmistosuunnittelussa

1 Tehtävän kuvaus ja analysointi

Sisällys. 9. Periytyminen Javassa. Periytymismekanismi Java-kielessä. Periytymismekanismi Java-kielessä

Kertaus: yleistys-erikoistus ja perintä

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. IV Periytyminen ja monimuotoisuus

Javan perusteita. Janne Käki

815338A Ohjelmointikielten periaatteet

UML -mallinnus TILAKAAVIO

ITKA111 OLIOSUUNTAUTUNUT ANALYYSI JA SUUNNITTELU

Luokkakaavion laatiminen

Sisällys. Metodien kuormittaminen. Luokkametodit ja -attribuutit. Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2

Hakemistojen sisällöt säilötään linkitetyille listalle.

Antti-Jussi Lakanen Ohjelmointi 1, C# / kevät 2011

Ohjelmistojen mallintaminen, sekvenssikaaviot

UML ja luokkien väliset suhteet

P e d a c o d e ohjelmointikoulutus verkossa

Ohjelmistojen mallintaminen. Luento 7,

HELIA 1 (14) Outi Virkki Käyttöliittymät ja ohjlmiston suunnittelu

19. Unified Modeling Language (UML)

Yhteydelle voi antaa nimen kumpaankin suuntaan Sille ei tarvise antaa lainkaan nimeä Yhteysnimen asemasta tai lisäksi voidaan käyttää roolinimiä

Sokkelon sisältö säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei.

Sisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen

Ohjelmistojen mallintaminen, mallintaminen ja UML

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

Ohjelmistotekniikan menetelmät, UML

14. Poikkeukset 14.1

Transkriptio:

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ä miksi on tärkeää panostaa järjestelmäarkkitehtuurin suunnitteluun. 4. Selvitä miten RUP-prosessi yhdistää vesiputousmallin ja ketterien menetelmien parhaita puolia. 5. Selitä mitä UML-kaaviotyypeistä voitaisiin käyttää mallintamaan Korppi-järjestelmää ja mitä näkymiä järjestelmästä näillä kaavioilla voitaisiin esittää. 6. Selvitä myös mitä etuja visuaalisesta esittämisestä on ja kuka hyötyy visuaalisesta esittämistä. 7. Selitä miten laaditaan käyttötapausmalli ja miten se liittyy dynaamiseen mallintamiseen. + UML-kaavioiden mallintamistehtävät

Peruskäsitteitä

Tietojärjestelmä?

(Alter, 2002)

Oliolähestymistapa tarkoittaa kehittämisja ohjelmointiparadigmaa, jonka mukaan todellisuus nähdään joukkona toisiinsa vuorovaikutuksessa olevia olioita (Koskimies, 1995).

Olio on rajattavissa ja yksilöitävissä oleva asia tai käsite, joka on merkityksellinen käsillä olevan tarkastelun kannalta, ja joka kattaa sekä rakenteen (tilan) että käyttäytymisen (UML,1999).

Olio voi olla esimerkiksi: - liiketoimintaolio (business object, application-domain object), joka vastaa liiketoiminnan käsitettä tai asiaa. - käyttöliittymäolio (boundary object), joka on toteutettavan järjestelmän käyttäjärajapinnan tekninen komponentti. - ohjausolio (control object), jonka vastuulla on ohjata ja koordinoida muiden olioiden toimintaa.

Olioluokka kuvaa joukkoa, joka muodostuu rakenteeltaan ja käyttäytymiseltään samanlaisia olioita; eräänlainen muotti. Esim. Työntekijä.

Olioluokat muodostavat hierarkian, jossa on yliluokka ja sen aliluokkia

Attribuutti kuvaa luokkaan kuuluvien olioiden rakenteellista ominaisuutta. Esim. nimi, oppiarvo, tuntipalkka. Attribuuttiarvo yksilöi ominaisuuden. Esim. Toni, Kaupp.yo, 25.

Operaatio on olion käyttäytymisen määrittelyä; voidaan ymmärtää määritykseksi palvelusta, jonka olio tarjoaa. Esim. laskepalkka(). Operaatioon voi liittyä parametreja. Esim. muutapalkka(muutos) Metodi on luokan olioihin sovitettu operaation toteutus. Esim. public double laskepalkka() { palkka=tunnit*tuntipalkka; return palkka; }

Viesti on olioiden kommunikaatiota ja se voidaan ymmärtää palvelupyynnöksi; viestin vastaanottaminen saa aikaan olion aktivoitumisen ja viestissä mainitun operaation (tarkemmin metodin) toteuttamisen. Assosiaatio on on kahden tai useamman luokan välinen rakenteellinen suhde. Esim. Töissä-assosiaatio Työntekijän ja Osaston välillä.

Perusperiaatteita

Abstrahointi on periaate, jonka mukaan nostetaan esille ongelman kannalta relevantit piirteet ja jätetään huomiotta epärelevantit; tehdään tarkastelukohteen yksinkertaistamiseksi tiettyä tarkoitusta varten.

Identiteetti on periaate, jonka mukaan oliot ovat yksikäsitteisesti tunnistettavissa muiden kuin ominaisuuksiensa avulla. Käsitettä on verrattu käsitteelliseen "kahvaan" (handle, UML), jonka avulla muut oliot voivat tunnistaa olion ja lähettää sille viestejä.

Kapselointi on periaate, jonka mukaan kootaan yhteen toisiinsa liittyvät asiat: olion rakenne ja käyttäytyminen. Tiedon suojaus on periaate, jonka mukaan tietyt (yksityiskohtaiset) piirteet oliosta salataan sellaisilta olioilta, joiden ei kuulu niitä tuntea. Tehdään määrittelemällä olioille rajapintoja, joihin toiset oliot voivat viitata.

Periytyminen on periaate, jonka mukaan aliluokat perivät yliluokkansa ominaisuudet, jolloin aliluokkien olioilla on samantapainen rakenne ja käyttäytyminen kuin vastaavan yliluokan olioilla. Aliluokille voidaan määritellä lisäominaisuuksia.

Abstrakti luokka (=luokalla ei ole ilmentymiä) Työntekijä määrittää operaation LaskePalkka, jonka aliluokat Tuntityöläinen ja Kuukausipalkkalainen toteuttavat eri tavoin (polymorfismi). Dynaamisen sidonnan ansiosta suoritus ohjautuu ajonaikana oikeaa tyyppiä olevalle oliolle. Esim. laskettaessa kaikkien Työntekijöiden palkat käytetään Tuntityöläisen tai Kuukausipalkkalaisen metodeja olion konkreettisesta tyypistä riippuen, vaikka kutsujan kannalta tietorakenne sisältää vain Työntekijä-viitteitä.

Arkkitehtuuri

Tietojärjestelmän arkkitehtuuri kuvaa kohdealueensa rakenneosat, niiden ulospäin näkyvät ominaisuudet ja niiden väliset yhteydet ja riippuvuudet.

Tyypillisessä kolmitaso-arkkitehtuurissa (Bennett, 1999) oman tasonsa muodostavat: - käyttöliittymän muodostavat luokat (presentation), - pysyväisluonteisista tiedoista huoltapitävät luokat (data) - sovelluslogiikasta vastaavat luokat (business logic).