Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

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

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Analyysi on tulkkaamista

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Luokka- ja oliokaaviot

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

2. Olio-ohjelmoinnin perusteita 2.1

Ohjelmistojen suunnittelu

Ohjelmistojen mallintaminen kertausta Harri Laine 1

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

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

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

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

UML-kielen formalisointi Object-Z:lla

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Sisällys. 11. Rajapinnat. Johdanto. Johdanto

Toiminnot eli käyttäytyminen. Tieto eli rakenteelliset ominaisuudet

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Ohjelmistojen mallinnus Ohjelmistoarkkitehtuuri Harri Laine 1

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

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

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

Rajapinta (interface)

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

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

Muutamia peruskäsitteitä

UML:n yleiskatsaus. UML:n osat:

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

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op

Enterprise SOA. Nyt. Systeemi-integraattorin näkökulma

UML Luokkakaavio 14:41

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

2. Olio-ohjelmoinnin perusteita 2.1

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

Ohjelmistojen mallintaminen, arkkitehtuuria ja rajapintoja

Ohjelmistotekniikan menetelmät, suunnittelumalleja

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

Olio-ohjelmointi Johdanto olio-ohjelmointiin

Ohjelmistojen mallintaminen Olioiden yhteistyö Harri Laine 1

Mitä on periytyminen?

Java kahdessa tunnissa. Jyry Suvilehto

UML -mallinnus LUOKKAKAAVIO EERO NOUSIAINEN

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

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

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

UML -mallinnus TILAKAAVIO

2. Olio-ohjelmoinista lyhyesti 2.1

Ohjelmistojen mallintaminen luokkamallin lisäpiirteitä

Ohjelmistojen mallintaminen, mallintaminen ja UML

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

815338A Ohjelmointikielten periaatteet Harjoitus 5 Vastaukset

Mikä yhteyssuhde on?

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Perusarkkitehtuurin ja vuorovaikutuksen mallintamisen perusteita.

Javan perusteita. Janne Käki

ITKA111 OLIOSUUNTAUTUNUT ANALYYSI JA SUUNNITTELU

Ohjelmistojen mallintaminen, kesä 2010

P e d a c o d e ohjelmointikoulutus verkossa

812341A Olio-ohjelmointi Peruskäsitteet jatkoa

Ohjelmistotekniikan menetelmät, UML

Olio-ohjelmointi: Luokkien toteuttaminen. Jukka Juslin

Ohjelmistotekniikan menetelmät, kesä 2008

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

Tietokantasuunnittelun pääperiaatteena on tiedon toiston välttäminen. Tiedon toistumiseen liittyy monenlaisia ongelmia.

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

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

Paikkatiedon mallinnus Dokumentoinnin ymmärtäminen. Lassi Lehto

Ohjelmistojen mallintaminen, kesä 2009

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

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

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

Ohjelmistotekniikan menetelmät, toteutuksesta ja testauksesta

Tietorakenteet ja algoritmit - syksy

4. Olio-ohjelmoinista lyhyesti 4.1

Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa Harri Laine 1

Ohjelmistotekniikan menetelmät, kevät 2008

12. Monimuotoisuus 12.1

Harjoitus Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

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

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

Linkitetystä listasta perittyä omaa listaa käytetään muun muassa viestiin liittyvien vastausten säilömiseen.

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

UML- mallinnus: Tilakaavio

Olioperustaisuus (object oriented)

9. Periytyminen Javassa 9.1

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

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

Luokkakaavion laatiminen

Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4

UML - unified modeling language

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

Tietokannan suunnittelu

Ohjelmoinnin jatkokurssi, kurssikoe

Suunnittelumallien käyttö ohjelmistosuunnittelussa

Ohjelmiston toteutussuunnitelma

18. Abstraktit tietotyypit 18.1

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

9. Periytyminen Javassa 9.1

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

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

Organisaation tarpeet tietojärjestelmälle Analyysi Vaatimukset arkkitehtuurille ja teknologialle

Peruskäsitteitä

Tietojärjestelmä - Ihminen, joka tarvitsee tietoa - Tallennettua dataa - Syötteitä, joilla voidaan lisätä dataa - Prosessi, joka muuttaa dataa informaatioksi - Tuloste, joka esittää informaatiota - Tapahtuu teknologian avustamana, tietyssä ympäristössä, tiettyjen reunaehtojen vallitessa.

Oliolähestymistapa tarkoittaa kehittämis- ja 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 (polymor]ismi). 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ä.

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 (polymor]ismi). 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 - Pyritään kuvaamaan eli mallintamaan kehitettävää tietojärjestelmää eri tarkkuustasoilla. Eri roolit (käyttäjät, tilaajat, koodarit) tarvitsevat eri tasoisia näkymiä järjestelmään. - Arkkitehtuurin suunnittelulla pyritään vähentämään kompleksisuutta. Määritellään rajapinnat, joista saa palvelua mutta toteutuksen yksityiskohtiin ei tarvitse keskittyä.

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).

Menetelmällä tarkoitetaan kuvausta organisationaalisten ja teknisten muutosten suorittamisesta organisaation tietojenkäsittelyssä tehokkaasti ja laadukkaasti (Leppänen, 2009).

Helps to ensure that nothing important is forgotten. Leverage experience from previous similar projects. (Lirkki, 2012).

Menetelmän osat (Henderson- Sellers, 1995): - Prosessimalli eli suoritettavat toiminnot koko elinkaaren osalta ja niiden ajalliset suhteet - Vaadittujen tulosten kuvaus eli keskenään johdonmukaiset käsitteet ja mallit, mitä tulee tuottaa ja milloin, mukailtava notaatio - Roolikuvaukset (esim. osallistumisvastuu) - kokoelma sääntöjä ja ohjeita eli metriikat sekä laatua, standardeja ja testausstrategioita koskevia ohjeita, ohjeita projektin hallintaan, ohjeita luokkakirjaston hallintaan ja uudelleenkäyttöön

Prosessimalli määrittää yleisen ja yhteisen tavan työskennellä.

Ke%erät menetelmät Vesiputousmalli Karkea jako vesiputousmalliin ja ketteriin menetelmiin. Ø Todellisuudessa toimittaja- asiakas ja projektikohtaisia variaatioita. Prosessimallin valinta perustuu tarpeisiin: Ø Perinteinen vesiputousmalli toimii kun työ voidaan suunnitella etukäteen Ø Ketterät menetelmät tapauksessa että on epävarmuutta tarpeista ja toteutuksesta.

Vesiputousmalli.

4.iteraa4o 3.iteraa4o 2.iteraa4o 1.Iteraa4o Ketterät menetelmät.

RUP- prosessimalli.