Olioiden yhteistoiminta

Koko: px
Aloita esitys sivulta:

Download "Olioiden yhteistoiminta"

Transkriptio

1 Olioiden yhteistoiminta Oliojärjestelmän toiminta perustuu olioiden yhteistyöhön. Olioiden yhteistyön selvittäminen on kiinteästi sidoksissa olioiden palveluiden määrittelyyn, sillä yhteistyö toteutuu palvelujen kautta. Yhteistoimintakuvauksilla kuvataan, miten palveluja käytetään. Olioiden yhteistoiminnan kuvaaminen on ohjelmiston suunnitteluvaiheen tehtävä Yhteistyökuvauksia voidaan määrittelyvaiheessa käyttää liiketoiminnan kuvaamiseen

2 Yhteistyö UML esittelee kaksi tekniikkaa yhteistoiminnan kuvaamiseen. Sekvenssikaavion (yhteistyöpolut) (sequence diagram), jossa keskitytään erityisesti kuvaamaan operaatioiden tapahtumajärjestystä ja toimintaan liittyvien viestien kulkua. Sekvenssikaavion toinen ulottuvuus on aika. Yhteistyörakennekaavion (collaboration diagram), jossa keskitytään kuvaaman, sitä miten yhteistyö hyödyntää olioiden välisiä kytkentöjä

3 Sekvenssikaavio Sekvenssikaavio kuvaa: olion (myös järjestelmä on olio) palvelun suoritukseen liittyvän olioiden yhteistyön mitä avustavia olioita palvelun suoritukseen osallistuu ja mitä näiden palveluja käytetään missä järjestyksessä avustavien olioiden palveluita käytetään

4 Sekvenssikaavio aloitus viesti olio1:luokka olio2:luokka operaatio / palvelu [ehto] viesti (parametrit) nimeää käytettävän palvelun palkin pituus kuvaa palvelun kestoa paluuarvot Oman palvelun käyttö aika

5 Sekvenssikaavio Viestit ovat yleensä palvelujen kutsuja (palvelupyyntöjä) = pavelun nimi (parametrit) käytännössä metodikutsu oliohjelmassa ehto ei ole välttämätön palveluun liittyvä paluunuoli jätetään yleensä piirtämättä vaikka palaute saataisiinkin (kaavio tulee näin yksinkertaisemmaksi)

6 Sekvenssikaavio Esimerkki class A { B oliob; C olioc; D oliod; public int doit() { oliob.assist1(); olioc.assist2(oliod); } class B { E olioe; public void assist1() { olioe.dosomething(); } class C { public void assist2(d od) { od.serviced()}

7 Sekvenssikaavio olioa:a oliob:b olioe:e olioc:c oliod:d doit assist1() dosomething serviced assist2(oliod);

8 Sekvenssikaavio Luonti ja tuhoaminen create :Apuluokka use delete Ei saa aikaan esim. Rational Rosella

9 Sekvenssikaavio SILMUKAT Palvelua pyydetään useilta olioilta Koottua palvelujoukkoa pyydetään useilta * palvelu * koottu

10 Sekvenssikaavio Yhteistyöketjuja käytetään havainnollistamaan oliorakenteen toimintaa Ei kannata laatia jokaiselle palvelulle Laaditaan keskeisille palveluille ja tilanteisiin, joissa kaavioiden käyttö edistää rakenteiden ymmärtämistä Ei ole sääntöjä kuinka pitkä yhteistyöketju kaaviossa tulisi esittää, mutta 2-3 viestiä pidemmät ketjut pikemminkin sotkevat kuin havainnollistavat mitään

11 Sekvenssikaavio Ei kaikkea samaan kaavioon Käytettävää palvelua kuvaava erillinen kaavio

12 Yhteistyörakennekaavio Yhteistyörakennekaaviossa (collaboration diagram) näkyy miten, yhteistyö perustuu olioiden välisiin kytkentöihin 1: palvelu1 olio1 yhteys1 olio2 Järjestysnumero kuvaa suoritusjärjestyksen Numerointi voi olla tasoittainen 1.1: palvelu2 olio3 yhteys2 Käytettävä palvelu (viesti)

13 Yhteistyörakennekaavio doit OlioA:A 1:assist1() OlioB:B 2.1:serviceD 2:assist2(olioD) 1.1:doSomething OlioD:D OlioC:C OlioE:E

14 Palvelujen määrittely Lähdetään liikkeelle tietojärjestelmälle määritellyistä palveluista Palvelun toteutuksen tarvitaan eri tyyppisiä olioita käyttöliittymäoliot (ikkunat, valikot, napit, ) hoitavat yhteyttä käyttäjän ja sisältöolioiden välillä sisältöoliot toteuttavat reaalimaailman simulointimallin

15 Palvelujen määrittely Käyttöliittymäoliot Sisältöoliot

16 Palvelujen määrittely Sisältöolioiden ja käyttöliittymäolioiden väliseen kytkentään on monenlaisia ratkaisumalleja Yleisperiaatteena voisi pitää sitä, että sisältöolioiden pitäisi tarjota käyttöliittymästä riippumattomia palveluja sisällön käsittelyyn. Tällöin voidaan helposti rakentaa erilaisia käyttöliittymiä samaa tehtävää varten käyttöliittymän muuttaminen ei vaikuta sisältöluokkiin

17 Palvelujen määrittely Oliot tarjoavat ensisijaisesti oman tietosisältöönsä liittyviä palveluja. Jos oliosta on yhteys muihin olioihin, olio voi käyttää näitä apuna omissa palveluissaan ja koota yhteen tuntemiensa olioiden palveluiden tulokset Luokalle voidaan antaa vastuu jostakin asiakokonaisuudesta ja palvelut määräytyvät tämän vastuun puitteissa.

18 Palvelujen määrittely Palvelua määriteltäessä, on selvitettävä pystyykö luokan olio hoitamaan sen itsenäisesti ellei pysty, millaista yhteistyötä muiden olioiden kanssa tarvitaan. Kumpikin selvityksistä voi tuottaa uusia attribuutteja tai palveluja tarkasteltavalle luokalle tai avustaville luokille

19 Järjestelmän palvelujen määrittely Tietojärjestelmät tarjoavat tietoa sekä käyttäjille että epäsuorasti muille tahoille. Tahoja, jotka ovat järjestelmän ulkopuolella, mutta kuitenkin palvelujen kautta kytkeytyneitä järjestelmään kutsutaan järjestelmän sidosryhmiksi Tällainen taho voi toimia tiedon tuottajana järjestelmään tiedon hyväksikäyttäjänä

20 Järjestelmän palvelujen määrittely Järjestelmän sidosryhmät ovat tyypillisesti järjestelmän tukeman liiketoiminnan osan osapuolia organisaatioyksiköt, henkilöt, henkilöroolit tai ulkoiset järjestelmät, jotka joko toimittavat syötteitä järjestelmään tai saavat siltä tulosteita. Sidosryhmien yhteyttä järjestelmään voidaan karkeimmalla tasolla kuvata sidosryhmäkaaviolla (context diagram) Sidosryhmäkaavio rajaa järjestelmän suhteessa ympäristöönsä Sidosryhmäkaavio ei ole UML-tekniikka, vaan vanhempi

21 Järjestelmän palvelujen määrittely Sidosryhmäkaavio näyttää sidosryhmien lisäksi järjestelmän tärkeimmät yhteydet sidosryhmiin sidosryhmille suunnatut tai niiltä saatavat keskeiset palvelut tai palvelukokonaisuudet Tarkastellaan esimerkkiä, jossa lipunvälitys-tietojärjestelmä rakennetaan välittäjäksii asiakkaan, elokuvayhtiökohtaisten varausjärjestelmien ja pankkijärjestelmien välille

22 Järjestelmän palvelujen määrittely tiedustelu varaus LIPUNVÄLITYS Asiakas kysely varaus laskutus maksuilmoitus Varausjärjestelmät Pankkijärjestelmät

23 inquiry reservation Ticket system Customer inquiry reservation billing Payment notification Seats reservation Bank system

24 Järjestelmän palvelujen määrittely Sidosryhmän järjestelmään yhdistävät nuolet kuvaavat palvelukokonaisuuksia Sidosryhmiä kuvaavat symbolit vapaamuotoisia Nuolen kärki osoittaa palvelun tarjoajaan varausjärjestelmät tarjoavat lipunvälitysjärjestelmälle varaus- ja kysely-palvelut, pankkijärjestelmät tarjoavat laskutus- ja maksuilmoituspalvelut Huom. Ihmiset eivät koskaan tarjoa järjestelmälle palveluita vaan järjestelmä ihmisille. Täten ihmisiä järjestelmään yhdistävät nuolet osoittavat aina järjestelmään.

25 Järjestelmän palvelujen määrittely Kaavio edellyttää aina tuekseen sanallisen kuvauksen järjestelmän tehtävä selitys järjestelmän ja sidosryhmien välisistä yhteyksistä aluksi riittää lyhyt lauseen mittainen kuvaus tarkentuu myöhemmin määrittelyn kuluessa täsmälliseksi järjestelmän palvelujen kuvaukseksi

26 Käyttötapausmalli Tietojärjestelmä tarjoaa käyttäjilleen palveluita, jotka perustuvat järjestelmän tietosisältöön Käyttötapausmalli (use case model) on viime aikoina suosioon tullut tapa järjestelmän palvelujen määrittelyyn. (Jacobson: Object-Oriented Software Engineering: A use case driven approach, Addison-Wesley,1992) UML tarjoaa kuvaustekniikan käyttötapausmallin esittämiseen (tekniikka on kuitenkin aika turha, oleellista on käyttötapausmallin ajatus järjestelmän palvelujen määrittelystä)

27 Käyttötapausmalli Käyttötapauksella (use case) tarkoitetaan järjestelmän avulla suoritettavaa tavoitteellista tehtäväkokonaisuutta. Termiä käyttötapaus käytetään yleisesti sekä luokkatason käsitteenä että ilmentymätason käsitteenä. Jatkossa käyttämme mahdollisissa epäselvissä tilanteissa luokkatasolla termiä käyttötapausluokka ja ilmentymätasolla termiä käyttötapausilmentymä.

28 Käyttötapausluokka: Käyttötapausmalli Paikan varaaminen elokuvanäytökseen Käyttötapausilmentymä: Kalle Kenkkunen varaa paikan 308 Tennispalatsi 12:n näytökseen klo 21.

29 Käyttötapausmalli Käyttötapauksella on käyttäjä joka käyttötapauksessa toimii vuorovaikutteisesti järjestelmän kanssa toteuttaakseen tavoitteensa antaa syötteitä, saa palautetta usein käyttäjä on ihminen, mutta se voi olla myös ulkoinen järjestelmä Käyttötapaukseen liittyy aina tavoite = asia, jonka käyttäjä haluaa saada aikaan käyttötapauksen avulla

30 Käyttötapausmalli TKTL:n ilmoittautumisjärjestelmään liittyviä käyttötapauksia ovat, esim: kurssille ilmoittautuminen <-- opiskelija NN ilmoittautuu JSS/s99 kurssin harjoitusryhmään 3 ilmoittaumisen peruminen <-- opiskelija NN peruu ilmoittautumisensa JSS/s99 kurssin harjoitusryhmään 3 kurssille ilmoittautuneiden määrän selvitys <-- opettaja HL selvittää kurssille JSS/s99 ilmoittautuneiden opiskelijoiden lukumäärän

31 Käyttötapausmalli Lipunvälitysjärjestelmän käyttötapauksia: elokuvan tietyllä aikajaksolla olevien näytösaikojen ja paikkojen selvitys <-- asiakas NN haluaa saada selville tänään välillä alkavien Star Wars Episode 1 näytösten ajat ja paikat Helsingissä lipun varaus <-- asiakas Kalle Kenkkunen varaa paikan 308 Tennispalatsi 12:n näytökseen klo 21.

32 Käyttötapausmalli Käyttötapauksia voidaan kuvata monelta eri kannalta sekä luokka että ilmentymätasolla Käyttötapauksen sisällön kuvauksessa kuvataan käyttäjän kannalta mitä käyttötapauksen avulla halutaan saada aikaan Mitä syötteitä annetaan ja mitä tuloksia saadaan Mitä sääntöjä käyttötapaukseen liittyy Mitä vaatimukset, määriä tapaukseen liittyy Kuvauksessa ei pidä ottaa kantaa mihinkään käyttöliittymäteknisiin asioihin. Se ei saisi rajoittaa toteutusmahdollisuuksia.

33 Käyttötapausmalli Puhtaasti sisällöllistä kuvausta voi olla vaikea muotoilla. Ajatus toimintatavasta voi ainakin piilevänä näkyä kuvauksessa. Käyttötapauksesta pitäisi määrittelyssä kuvata sen tyypillinen kulku, kuitenkin siten ettei se rajoita aiheettomasti käyttöliittymää. Käyttötapausten ei tulisi olla liian pieniä tai yksityiskohtaisia.

34 Käyttötapausmalli kurssille ilmoittautuminen <-- opiskelija Opiskelija antaa tunnistustietonsa ja valitsee kurssin sekä kurssin harjoitusryhmän. Opiskelija saa tiedon ilmoittautumisen onnistumisesta. Opiskelija ei voi ilmoittautua täynnä olevaan ryhmään Opiskelija ei voi ilmoittautua, jos hänelle on kirjattu osallistumiseste. 2 ruuhkahuippua vuodessa, n 1400 ilmoittautumista tunnissa, muulloin vähän

35 Käyttötapausmalli elokuvan tietyllä aikajaksolla olevien näytösaikojen ja paikkojen selvitys <-- asiakas Asiakas valitsee elokuvan sekä aikavälin alku- ja loppupäivät ja aika rajat näytöksen alkamisajalle. Lisäksi asiakas voi määritellä näytetäänkö tulos teattereittain vaiko alkamisaikojen perusteella järjestettynä. Tuloksena asiakas saa luettelon näytöksistä määrittelemässään järjestyksessä

36 Käyttötapausmalli Paikkojen varaus näytökseen Vain rekisteröitynyt asiakas voi tehdä varauksia Asiakas valitsee näytöksen ja saa tiedot vapaina olevista paikoista. Hän valitsee näistä mieleisensä (yhden tai useampia) ja antaa tunnistetietonsa. Järjestelmä vahvistaa varauksen antamalla asiakkaalle varausnumeron sekä tuottamalla laskun, jonka asiakas maksaa pankkijärjestelmänsä avulla. Lasku jää odottamaan maksamista. Kun asiakas on maksanut laskun hän tulostaa itselleen liput.

37 Käyttötapausmalli Edellä esitetyt kuvaukset käyttötapauksista ovat luokkatason yleiskuvauksia, esim kaikkia paikkavarauksia kuvaava. Käyttötapausten havainnollistamiseksi voidaan (ja on yleensä syytäkin) käyttää ilmentymätason esimerkkitapausten kuvauksia. Ville valitsee elokuvan X-fileet III naytöksen teatterissa Kinopalatsi klo 19. Vapaista paikoista hän valitsee paikat 6/8 ja 6/9. Tunnustietona hän antaa rekisteröintitunnuksensa. Hän saa varausnumeron ja laskun, jonka hän maksaa Merita- Solo maksupalvelun kautta. Liput hän tulostaa omalla kirjoittimellaan.

38 Käyttötapausmalli Käyttötapauksilla kuvataan järjestelmän toiminnallisia vaatimuksia. Käyttötapaus on looginen kokonaisuus, jolla on lähtökohta merkityksen omaava lopputulos

39 Käyttötapausmalli Käyttötapauksen kuvauksessa esitetään käyttötapauksen perussisältö Käyttötapaukset eivät välttämättä toteudu aina perussisältönsä mukaisesti vaan esiintyy: virhetilanteita, poikkeuksia, vaihtoehtoisia tai valinnaisia tapoja toimia Nämä kuvataan erilisinä laajennoksina tai täydennyksinä

40 Käyttötapausmalli Paikkojen varaus näytökseen - esimerkkejä poikkeuksista ja virhetilanteista: Valittuun näytökseen ei ole haluttua määrää vapaita paikkoja Asiakas ei ole rekisteröitynyt Asiakas on unohtanut tunnistetietonsa Asiakkaalla ei ole käyttöoikeutta pankkitietojärjestelmään Asiakkaalla ei ole kirjoitinta Yhteys järjestelmään katkeaa (eri vaiheissa)

41 Käyttötapausmalli Laajoissa järjestelmissä voidaan lähteä liikkeelle käyttäjien työtehtäviin perustuvista käyttötapauksista. Käyttötapauksia analysoitaessa löydetään yhteisiä osia, jotka voidaan erottaa omiksi käyttötapauksiksi. virhe- ja poikkeustilanteita vaihtoehtoisia sisältöjä

42 Käyttötapausmalli Käyttötapauksen perussisältöä muuttavat tehtävät voidaan liittää käyttötapaukseen sen laajennoksina (extent). Esim: Henkilötietojen antaminen voisi olla ilmoittautumisen laajennos, joka suoritetaan siinä tapauksessa, että opiskelija ei ole aiemmin antanut henkilötietojaan.

43 Käyttötapausmalli Paikkojen varauksen viimeisellä osatehtävällä Lipun toimitus voisi olla kaksi vaihtoehtoa tulostus asiakkaan kirjoittimella toimitus teatterin lippupisteestä tätä käytettäisiin, jos tulostus asiakkaan kirjoittimella ei jostain syystä onnistu Toimitus teatterin lippupisteestä: Lippu kirjataan noudettavaksi teatterin lippupisteestä. Asiakkaan on lippua noutaessaan annettava varausnumeronsa. Kun asiakas on noutanut lipun se kirjataan noudetuksi.

44 Käyttötapausmalli Toimitus asiakkaan kirjoittimella: Järjestelmä selvittää, tarvittessa asiakkaalta kysymällä, millainen kirjoitin asiakkaalla on. Jos kirjoitin on tulostukseen soveltuva muodostetaan lippujen kuvat ja toimitetaan ne asiakkaan työasemaan. Asiakas tulostaa liput ja kuittaa tulostuksen onnistuneeksi. Poikkeuksia (näissä tilanteissa käytetään lippupisteestä toimitusta): kirjoitin ei ole tulostukseen soveltuva Tulostus ei onnistu

45 Käyttötapausmalli paikkojen varaus extends toimitus lippupisteestä uses extends toimitus asiakkaan kirjoittimella extends epäonnistunut toimitus

46 Käyttötapausmalli Käyttötapausmalli (use case model) on kattava, täydellinen luokkatason kuvaus järjestelmän käytöstä (palveluista) kaikki käyttötapaukset mukana käyttötapausten väliset yhteydet selvitetty Käyttötapausmalli esitetään kaavioina ja sanallisina kuvauksena

47 Käyttötapausmalli UML-tarjoaa kaaviotekniikan käyttötapausmallin esittämiseen Sanalliset kuvaukset ovat kuitenkin oleellisempia käyttötapaus käyttäjä (actor)

48 Käyttötapausmalli use case a käyttötapaus a hyödyntää b:tä Viivojen pitäisi olla katkoviivoja uses c laajentaa b:tä use case b extends use case c

49 Käyttötapausmalli student register_on_course establish_new_course cancel_registration study_ administrator change_student_data study_exam_results determine_tasks determine_grades register_task-points teacher lecturer

50 Käyttötapausmalli Edellä on tarkasteltu käyttötapauksen sisällön määrittelyä Käyttötapauksen toteutuksen suunnittelussa perustana on käyttöliittymän yleissuunnitelma suunnitellaan yksityiskohtaisesti käyttötapauksen läpivienti käyttöliittymän avulla määritellään käyttöliittymäolioille käyttötapauksen tarvitsemia palveluita

51 Käyttötapaukset ja tietosisältö Käyttötapaukset määrittelevät toiminnalliset vaatimukset järjestelmälle, mutta ne asettavat vaatimuksia myös järjestelmän tietosisällölle, koska toiminnot edellyttävät tietojen olemassaoloa Eräs tapa järjestelmän sisältöluokkien suunnitteluun onkin tehdä suunnittelu käyttötapauksittain ja sitten yhdistää käyttötapauskohtaiset mallit

52 Käyttötapaukset ja tietosisältö Lähtökohtana käyttötapaukset Mitä tietoja ja tietokokonaisuuksia tarvitaan käyttötapauksen hoitamiseksi? Jokaisen käyttötapauksen perusteella laaditaan käyttötapauskohtainen näkymä tarvittavista tiedoista, eli pelkästään käyttötapauksen tarpeet huomioon ottava luokkakaavio Näkymät yhdistetään sisällön kokonaismallin aikaansaamiseksi

53 Käyttötapaukset ja tietosisältö KT-1 KT-i KT-n Näkymä-1 Näkymä-i Näkymä-n integrointi Koottu malli

54 Käyttötapaukset ja tietosisältö Käyttötapauksittain sisältömallia muodostettaessa ainakin periaatteessa saadaan mallliin mukaan kaikki käyttötapauksen tarvitsemat tiedot Käyttötapausmallin ja tietosisältömallin yhteensopivuuden varmistamiseksi voi käyttää riippuvuusmatriisia

55 Käyttötapaukset ja tietosisältö Riippuvuusmatriiseja: Luokat ja yhteydet / käyttötapaukset Luo, muuttaa, poistaa, käyttää Matriisit voidaan esittää myös attribuuttitasolla, jolloin näkyisi attribuuttien käsittely. Tällöin matriisit on kuitenkin syytä pilkkoa luokkakohtaisiksi

56 Käyttötapaukset ja tietosisältö Käyttötapaukset Uusi artikkeli Uusi artikkeliversio Tiedustelu artikkelin tilasta Lausunnonantajan valinta Lausunnon saapuminen Muistutus lausunnosta Puuttumaan jäänyt lausunto Olioluokat Article L M K K K K K K M M M M M M M K K K K K Article version L L K M K K K M M M M M K Person X X X K K K K K K K K X K Reference K L M M M M K Journal L K K K K= Käyttää, L = Luo, M= Muuttaa, P= Poistaa, X=Luo tai muuttaa Valituksen käsittely Julkaisupäätöksen kirjaus Palautus korjattavaksi Julkaistavaksi hyväksymine Hylkääminen Viimeistellyn saapuminen Oikovedoksen lähettäminen Korjausten vastaanotto Eripainosten tilaus Henkilötietojen rekisteröinti Sisällysluettelo Vuosikertatiedot www-sivut Raportit

57 Käyttötapaukset ja tietosisältö Jokaiselle luokalle ja yhteydelle täytyisi löytyä käyttötapaus, jolla voidaan luoda luokan ilmentymiä ja kytkeä olioita ko. yhteyteen Jokaiselle luokalle ja yhteydelle täytyisi löytyä käyttötapaus, joka hyödyntää luokan tietoja ja yhteyksiä Jos ilmentymät eivät ole ikuisia pitää löytyä käyttötapaus ilmentymien hävitykseen Jos ilmentymän tietosisältö ei ole muuttumaton pitää löytyä käyttötapaus, jolla tietosisältöä voidaan muuttaa

58 Käyttötapaukset ja tietosisältö Jos osapuoli voidaan irroittaa yhteydestä täytyy tähän tarkoitukseen löytyä käyttötapaus Toisaalta jokaisen käyttötapauksen täytyy jollain tavoin liittyä sisältöluokkiin.

Johdatus sovellussuunnitteluun, s2000, osa3 Helsingin yliopisto;/tktl. Harri Laine 1. Järjestelmän palvelujen määrittely

Johdatus sovellussuunnitteluun, s2000, osa3 Helsingin yliopisto;/tktl. Harri Laine 1. Järjestelmän palvelujen määrittely Tietojärjestelmät tarjoavat tietoa sekä käyttäjille että epäsuorasti muille tahoille Tahoja, jotka ovat järjestelmän ulkopuolella, mutta kuitenkin palvelujen kautta kytkeytyneitä järjestelmään kutsutaan

Lisätiedot

Johdatus sovellussuunnitteluun, s2001, osa 3 Helsingin yliopisto / TKTL. Harri Laine / Inkeri Verkamo 1. Järjestelmän palvelujen määrittely

Johdatus sovellussuunnitteluun, s2001, osa 3 Helsingin yliopisto / TKTL. Harri Laine / Inkeri Verkamo 1. Järjestelmän palvelujen määrittely Tietojärjestelmät tarjoavat tietoa sekä käyttäjille että epäsuorasti muille tahoille. Tahoja, jotka ovat järjestelmän ulkopuolella, mutta kuitenkin palvelujen kautta kytkeytyneitä järjestelmään, kutsutaan

Lisätiedot

Johdatus sovellussuunnitteluun, s99, osa5 Helsingin yliopisto;/tktl DO NOT PRINT THIS DOCUMENT. Harri Laine 1. Olioiden yhteistoiminta

Johdatus sovellussuunnitteluun, s99, osa5 Helsingin yliopisto;/tktl DO NOT PRINT THIS DOCUMENT. Harri Laine 1. Olioiden yhteistoiminta Olioiden yhteistoiminta Oliojärjestelmän toiminta perustuu olioiden yhteistyöhön. Olioiden yhteistyön selvittäminen on kiinteästi sidoksissa olioiden palveluiden määrittelyyn, sillä yhteistyö toteutuu

Lisätiedot

Johdatus sovellussuunnitteluun, s99, osa5 Helsingin yliopisto;/tktl DO NOT PRINT THIS DOCUMENT. Harri Laine 1. Olioiden yhteistoiminta

Johdatus sovellussuunnitteluun, s99, osa5 Helsingin yliopisto;/tktl DO NOT PRINT THIS DOCUMENT. Harri Laine 1. Olioiden yhteistoiminta Olioiden yhteistoiminta Oliojärjestelmän toiminta perustuu olioiden yhteistyöhön. Olioiden yhteistyön selvittäminen on kiinteästi sidoksissa olioiden palveluiden määrittelyyn, sillä yhteistyö toteutuu

Lisätiedot

Johdatus sovellussuunnitteluun, s2000, osa5 Helsingin yliopisto;/tktl. Harri Laine 1. Luokkakaavion tarkoitus. Luokkakaavion tarkoitus

Johdatus sovellussuunnitteluun, s2000, osa5 Helsingin yliopisto;/tktl. Harri Laine 1. Luokkakaavion tarkoitus. Luokkakaavion tarkoitus Luokkakaavion tarkoitus Järjestelmän tietosisällön kuvaaminen tiedot ja niiden väliset kytkennät järjestelmän tiedot kuvaavat kohdealueiden ilmiöitä, joten luokkakaavion tulisi määrittellä kohdealueen

Lisätiedot

Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa Harri Laine 1

Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa Harri Laine 1 Ohjelmistotekniikan menetelmät Luokkamallit ohjelmiston mallintamisessa 14.11.2008 Harri Laine 1 Oliot ohjelmiston mallinnuksessa käyttötapaus käyttää Käyttämämme oliokeskeinen perusmalli ohjelmistojen

Lisätiedot

Luokkakaavion laatiminen

Luokkakaavion laatiminen Luokkakaavion laatiminen Kartoita luokkaehdokkaita Karsi ehdokkaita Tunnista olioiden väliset yhteydet Täsmennä luokkakuvauksia määrittelemällä attribuutit Määrittele yhteyksiin liittyvät osallistumisrajoitteet.

Lisätiedot

Ohjelmistojen mallintaminen Olioiden yhteistyö. 18.11.2008 Harri Laine 1

Ohjelmistojen mallintaminen Olioiden yhteistyö. 18.11.2008 Harri Laine 1 Ohjelmistojen mallintaminen Olioiden yhteistyö 18.11.2008 Harri Laine 1 Olioiden yhteistyö Oliokeskeisen ohjelmistonäkemyksen mukaan ohjelmiston palvelut tuotetaan olioiden yhteistyön tuloksena. Ohjelmisto

Lisätiedot

Ohjelmistojen mallintaminen, sekvenssikaaviot

Ohjelmistojen mallintaminen, sekvenssikaaviot 582104 - Ohjelmistojen mallintaminen, sekvenssikaaviot 1 Vuorovaikutussuunnittelu Oliojärjestelmän toiminta perustuu olioiden vuorovaikutukseen ja yhteistyöhön Olioiden yhteistyö toteutuu operaatioiden

Lisätiedot

Johdatus sovellussuunnitteluun, s 2001, osa 4b Helsingin yliopisto / TKTL Harri Laine / Inkeri Verkamo 1. Luokkakaavion tarkoitus

Johdatus sovellussuunnitteluun, s 2001, osa 4b Helsingin yliopisto / TKTL Harri Laine / Inkeri Verkamo 1. Luokkakaavion tarkoitus Luokkakaavion tarkoitus Järjestelmän tietosisällön kuvaaminen: tiedot ja niiden väliset kytkennät järjestelmän tiedot kuvaavat kohdealueiden ilmiöitä, joten luokkakaavion tulisi määritellä kohdealueen

Lisätiedot

Johdatus sovellussuunnitteluun

Johdatus sovellussuunnitteluun Harri Laine Johdatus sovellussuunnitteluun Osa 3 Helsingin yliopisto Tietojenkäsittelytieteen laitos 2000 Sisältö: 5. OLIOIDEN YHTEISTYÖ JA PALVELUIDEN MÄÄRITTELY... 1 5.1 SEKVENSSIKAAVIO... 1 5.2 YHTEISTYÖRAKENNEKAAVIO...

Lisätiedot

Johdatus sovellussuunnitteluun

Johdatus sovellussuunnitteluun Harri Laine Johdatus sovellussuunnitteluun Osa 3 Helsingin yliopisto Tietojenkäsittelytieteen laitos 2002 Sisältö: 5. OLIOIDEN YHTEISTYÖ JA PALVELUIDEN MÄÄRITTELY...1 5.1 SEKVENSSIKAAVIO...1 5.1 YHTEISTYÖRAKENNEKAAVIO...6

Lisätiedot

Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely

Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely 582101 - Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely 1 Vaatimukset ja käyttötapaukset Vaiheittainen mallintaminen ja abstraktiotasot Järjestelmän rajaaminen sidosryhmäkaaviolla

Lisätiedot

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen 582101 - Ohjelmistotekniikan menetelmät, luokkamallin laatiminen 1 Lähestymistapoja Kokonaisvaltainen lähestymistapa (top-down) etsitään kerralla koko kohdealuetta kuvaavaa mallia hankalaa, jos kohdealue

Lisätiedot

Johdatus sovellussuunnitteluun

Johdatus sovellussuunnitteluun DO NOT PRINT THIS DOCUMENT D Harri Laine Johdatus sovellussuunnitteluun luentomoniste osa 2 Helsingin yliopisto Tietojenkäsittelytieteen laitos 1999 Sisältö: MONISTE ON JATKOA OSALLE 1. 3.5 YLEISTYSHIERARKIA...

Lisätiedot

Johdatus sovellussuunnitteluun

Johdatus sovellussuunnitteluun D Harri Laine Johdatus sovellussuunnitteluun luentomoniste osa 1 Helsingin yliopisto Tietojenkäsittelytieteen laitos syksy 2000 Sisältö: 1 JÄRJESTELMÄN KEHITTÄMISEN VAIHEET... 1 1.1 PERUSKÄSITTEITÄ...

Lisätiedot

Ohjelmistotekniikan menetelmät, UML

Ohjelmistotekniikan menetelmät, UML 582101 - Ohjelmistotekniikan menetelmät, UML 1 Sisältö DFD- ja sidosryhmäkaavioiden kertaus Oliomallinnus UML:än kaaviotyypit 2 Tietovuokaaviot Data flow diagrams, DFD Historiallisesti käytetyin kuvaustekniikka

Lisätiedot

Ohjelmistojen mallintaminen Olioperustainen ohjelmistomalli Harri Laine 1

Ohjelmistojen mallintaminen Olioperustainen ohjelmistomalli Harri Laine 1 Ohjelmistojen mallintaminen Olioperustainen ohjelmistomalli 4.11.2008 Harri Laine 1 Olioperustainen ohjelmistokehitys Olioperustaisuus (object oriented software development) järjestelmä (system) on olio

Lisätiedot

UML - unified modeling language - use cases

UML - unified modeling language - use cases UML - unified modeling language - use cases Käyttötapausmalli (use case model) kuvaus järjestelmän käytöstä. Käyttötapaus (use case) hyödyllinen toiminnallinen kokonaisuus - tehtäväkokonaisuus tuottaa

Lisätiedot

Ohjelmistojen mallintaminen Tietovuokaaviot Harri Laine 1

Ohjelmistojen mallintaminen Tietovuokaaviot Harri Laine 1 Ohjelmistojen mallintaminen Tietovuokaaviot 3.11.2008 Harri Laine 1 t Data flow diagrams Pohjana systeemiteoreettinen järjestelmämalli Input system output Järjestelmän tehtävä on muokata lähtötiedoista

Lisätiedot

Ohjelmistojen mallintaminen kertausta Harri Laine 1

Ohjelmistojen mallintaminen kertausta Harri Laine 1 kertausta 5.12.2008 Harri Laine 1 Ohjelmiston elinkaari, elinkaarimallit Yleinen puitemalli (reference model) - abstrakti kokonaiskuva ei etenemiskontrollia, ei yksityiskohtia Ohjelmistoprosessimallit

Lisätiedot

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

Ohjelmistojen mallintaminen Unified Modeling Language (UML) 582104 Ohjelmistojen mallintaminen Unified Modeling Language (UML) 1 Olioperustaisuus Olio toimii mallinnuksen perusyksikkönä eri abstraktiotasoilla Järjestelmän rajaus, suunnittelu, ohjelmointi, suoritus..

Lisätiedot

1. Tarkastellaan seuraavaa kaaviota

1. Tarkastellaan seuraavaa kaaviota HELSINGIN YLIOPISTO TIETOJENKÄSITTELYTIETEEN LAITOS JOHDATUS SOVELLUSSUUNNITTELUUN (JSS) 19.12.2001 (H.Laine) 1. Tarkastellaan seuraavaa kaaviota Mitkä seuraavista väitteistä ovat kaavion mukaisia t.s.

Lisätiedot

Määrittelyvaihe. Projektinhallinta

Määrittelyvaihe. Projektinhallinta Määrittelyvaihe Projektinhallinta testaus määrittely suunnittelu ohjelmointi käyttöönotto, testaus tuotteenhallinta laadunvarmistus dokumentointi vaatimustenhallinta Määrittely Määrittely, eli kansanomaisesti

Lisätiedot

Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio. 21.11.2008 Harri Laine 1

Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio. 21.11.2008 Harri Laine 1 Ohjelmistojen mallintaminen olioiden elinkaaret - tilakaavio 21.11.2008 Harri Laine 1 Joidenkin järjestelmien sisältömallissa on erotettavissa luokkia, joiden ilmentymien käyttäytymisen kuvaaminen, kirjaus

Lisätiedot

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia

Lisätiedot

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus: Dokumentaatio, osa 1 Tehtävämäärittely Kirjoitetaan lyhyt kuvaus toteutettavasta ohjelmasta. Kuvaus tarkentuu myöhemmin, aluksi dokumentoidaan vain ideat, joiden pohjalta työtä lähdetään tekemään. Kuvaus

Lisätiedot

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia

Lisätiedot

Käyttäjien tunnistaminen on ensimmäinen tehtävä järjestelmän palveluja määriteltäessä. Käyttäjien löytämiseksi voidaan esittää kysymykset:

Käyttäjien tunnistaminen on ensimmäinen tehtävä järjestelmän palveluja määriteltäessä. Käyttäjien löytämiseksi voidaan esittää kysymykset: 1 Käyttötapausmalli Ohjelmisto tarjoaa käyttäjilleen palveluita, jotka perustuvat järjestelmän tietosisältöön. Ohjelmiston toiminta voidaan kuvata määrittelemällä millaisia palveluita ohjelmisto tarjoaa.

Lisätiedot

Olioperustaisuus (object oriented)

Olioperustaisuus (object oriented) DO NOT PRINT THIS DOCUMENT Olioperustainen ohjelmistokehitys Olioperustaisuus (object oriented) järjestelmä (system) muodostuu joukosta olioita (object), jotka yhteistyössä toimien tuottavat järjestelmän

Lisätiedot

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

Johdatus sovellussuunnitteluun, s99, osa2 Helsingin yliopisto;/tktl Harri Laine 1. Olioperustaisuus (object oriented) DO NOT PRINT THIS DOCUMENT Olioperustainen ohjelmistokehitys Olioperustaisuus (object oriented) järjestelmä (system) muodostuu joukosta olioita (object), jotka yhteistyössä toimien tuottavat järjestelmän

Lisätiedot

Ohjelmistojen mallintaminen. Luento 2, pe 5.11.

Ohjelmistojen mallintaminen. Luento 2, pe 5.11. Ohjelmistojen mallintaminen Luento 2, pe 5.11. Kertausta Ohjelmistotuotantoprosessin vaiheet: Vaatimusanalyysi- ja määrittely Mitä halutaan? Suunnittelu Miten tehdään? Toteutus Ohjelmointi Testaus Varmistetaan

Lisätiedot

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

Johdatus sovellussuunnitteluun, s99, osa2 Helsingin yliopisto;/tktl Harri Laine 1. Olioperustainen ohjelmistokehitys DO NOT PRINT THIS DOCUMENT Olioperustainen ohjelmistokehitys Olioperustaisuus (object oriented) järjestelmä (system) muodostuu joukosta olioita (object), jotka yhteistyössä toimien tuottavat järjestelmän

Lisätiedot

käyttötapaukset mod. testaus

käyttötapaukset mod. testaus käyttötapaukset Jari Ojasti Nokia email : jari.ojasti@nokia.com puh : 040 5926 312 Kartta hyväksyntä määrittely suunnittelu suunnittelu mod. testaus integrointi sys. testaus Ylläpito koodaus (toteutus)

Lisätiedot

Ohjelmistotekniikan menetelmät, kevät 2008

Ohjelmistotekniikan menetelmät, kevät 2008 582101 - Ohjelmistotekniikan menetelmät, kevät 2008 1 Ohjelmistotekniikan menetelmät Methods for Software Engineering Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön

Lisätiedot

UML - unified modeling language

UML - unified modeling language UML - unified modeling language Lähtökohtana: Booch, Rumbaugh, Jacobsson Tavoitteena Unified Method - syntyykö? Kehittäjänä: Rational Inc. Standardointi: Object Management Group (OMG) - vaiheessa Lähteet:

Lisätiedot

Ohjelmistojen mallintaminen, kesä 2009

Ohjelmistojen mallintaminen, kesä 2009 582104 Ohjelmistojen mallintaminen, kesä 2009 1 Ohjelmistojen mallintaminen Software Modeling Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön tuntemus Ohjelmoinnin

Lisätiedot

Ohjelmistotekniikan menetelmät, kesä 2008

Ohjelmistotekniikan menetelmät, kesä 2008 582101 - Ohjelmistotekniikan menetelmät, kesä 2008 1 Ohjelmistotekniikan menetelmät Methods for Software Engineering Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön

Lisätiedot

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen

Ohjelmistotekniikan menetelmät, luokkamallin laatiminen 582101 - Ohjelmistotekniikan menetelmät, luokkamallin laatiminen 1 Lähestymistapoja Kokonaisvaltainen lähestymistapa (top-down) etsitään kerralla koko kohdealuetta kuvaavaa mallia hankalaa, jos kohdealue

Lisätiedot

Olioiden yhteistyön mallintaminen

Olioiden yhteistyön mallintaminen Olioiden yhteistyön mallintaminen Luokkakaaviosta käy hyvin esille ohjelman rakenne minkälaisia luokkia on olemassa miten luokat liittyvät toisiinsa Entä ohjelman toiminta? Luokkakaaviossa voi olla metodien

Lisätiedot

Ohjelmistojen mallintaminen, käyttötapauksiin perustuva vaatimusmäärittely

Ohjelmistojen mallintaminen, käyttötapauksiin perustuva vaatimusmäärittely 582104 Ohjelmistojen mallintaminen, käyttötapauksiin perustuva vaatimusmäärittely 1 Vaatimukset ja käyttötapaukset Vaiheittainen mallintaminen ja abstraktiotasot Käyttötapausmalli ja kaavio Käyttötapausmallin

Lisätiedot

Nimi: Henkilötunnus: {id} {+id}

Nimi: Henkilötunnus: {id} {+id} TEHTÄVÄ : Eräillä kursseilla on kertauskysymyksiä, joihin opiskelijat vastaavat webin kautta. Kurssilla voi olla useita kysymyssarjoja, joihin voi kuulua monta kysymystä. Kysymyssarjalla on kurssikohtainen

Lisätiedot

Luokkakohtaiset eli stattiset metodit ja attribuutit

Luokkakohtaiset eli stattiset metodit ja attribuutit Luokkakohtaiset eli stattiset metodit ja attribuutit Ilmaistaan luokkakaaviossa alleviivattuina public class Jonotuskone { private static int yhteinenjuoksevanumero = 0; private int käyttökertoja; public

Lisätiedot

UML -mallinnus Viestiyhteyskaavio EERO NOUSIAINEN

UML -mallinnus Viestiyhteyskaavio EERO NOUSIAINEN UML -mallinnus Viestiyhteyskaavio EERO NOUSIAINEN SISÄLLYS 4. Viestiyhteyskaavio suunnitteluvaiheessa 4.1 Suunnitteluvaiheen viestiyhteyskaavion osat 4.2 Aikajakson viestit ohjelmakoodissa 4.3 Ehdonesittäminenohjelmakoodissa

Lisätiedot

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

Yhteydelle voi antaa nimen kumpaankin suuntaan Sille ei tarvise antaa lainkaan nimeä Yhteysnimen asemasta tai lisäksi voidaan käyttää roolinimiä DO NOT PRINT THIS DOCUMENT DO NOT PRINT THIS DOCUMENT Olioiden väliset yhteydet Yhteyden nimi Nimen lukusuunta pankkitili 0..10 Omistaja-> 1..3 asiakas

Lisätiedot

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia tehtäviä:

Lisätiedot

Ohjelmistojen mallintaminen, mallintaminen ja UML

Ohjelmistojen mallintaminen, mallintaminen ja UML 582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML Ohjelmistojen mallintamisesta ja kuvaamisesta Oliomallinnus ja UML Käyttötapauskaaviot Luokkakaaviot Sekvenssikaaviot 2 Yleisesti

Lisätiedot

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

Tietokantasuunnittelun pääperiaatteena on tiedon toiston välttäminen. Tiedon toistumiseen liittyy monenlaisia ongelmia. Tietokantasuunnittelusta Tietokantasuunnittelun pääperiaatteena on tiedon toiston välttäminen. Tiedon toistumiseen liittyy monenlaisia ongelmia toistuva tieto vie tilaa ylläpito muodostuu hankalaksi ylläpito-operaatioilla

Lisätiedot

UML- mallinnus: Tilakaavio

UML- mallinnus: Tilakaavio UML- mallinnus: Tilakaavio Karkea kuvaus UML- kaavioiden käytöstä ohjelmistonkehityksen eri vaiheissa ja tehtävissä. Mallinnus tilakaavioilla Tilakaaviolla kuvataan yhden luokan olioiden tilan muuttumista

Lisätiedot

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

Joskus yleistäminen voi tapahtua monen ominaisuuden pohjalta. Myös tällöin voi tulla moniperintätilanteita. Moniperintä 2 Joskus yleistäminen voi tapahtua monen ominaisuuden pohjalta. Myös tällöin voi tulla moniperintätilanteita. Oliomallinnus TITE.2040 Hannu K. Niinimäki 1 Delegointi 1 Moniperinnän toteuttaminen

Lisätiedot

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Tällä kurssilla on tutustuttu ohjelmistojen mallintamiseen oliomenetelmiä ja UML:ää käyttäen Samaan aikaan järjestetyllä kurssilla on käsitelty

Lisätiedot

Ohjelmistojen mallintaminen Ohjelmiston suunnittelu Model driven development Harri Laine 1

Ohjelmistojen mallintaminen Ohjelmiston suunnittelu Model driven development Harri Laine 1 Ohjelmistojen mallintaminen Ohjelmiston suunnittelu Model driven development 2.12.2008 Harri Laine 1 Jacobson jakaa ohjelmiston oliot kolmeen tyyppiin liittymäolioiksi (interface objects, boundary objects)

Lisätiedot

UML:n yleiskatsaus. UML:n osat:

UML:n yleiskatsaus. UML:n osat: UML:n yleiskatsaus - voidaan hyödyntää hyvin laajasti. - sopii liiketoimintamallinnukseen, ohjelmistomallinnukseen sen jokaiseen vaiheeseen tai minkä tahansa pysyviä ja muuttuvia ominaisuuksia sisältävän

Lisätiedot

Liiketoimintaprosessin kuvaus (esim. osapuolten välisenä yhteistyökaaviona) Sidosryhmäkaavio. karkea keskeistä tietosisältöä kuvaava luokkakaavio

Liiketoimintaprosessin kuvaus (esim. osapuolten välisenä yhteistyökaaviona) Sidosryhmäkaavio. karkea keskeistä tietosisältöä kuvaava luokkakaavio Liiketoimintaprosessin kuvaus (esim. osapuolten välisenä yhteistyökaaviona) Sidosryhmäkaavio Esitutkimus karkea keskeistä tietosisältöä kuvaava luokkakaavio Käyttötapausmalli Määrittely keskeiset sisältöluokat

Lisätiedot

Käyttötapausanalyysi ja testaus tsoft

Käyttötapausanalyysi ja testaus tsoft Käyttötapausanalyysi ja testaus tsoft 15.09.2004 http://cs.joensuu.fi/tsoft/ Johdanto Use Case analyysi (käyttötapausanalyysi) on yleisesti käytetty järjestelmälle asetettujen toiminnallisten vaatimusten

Lisätiedot

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

Toiminnot eli käyttäytyminen. Tieto eli rakenteelliset ominaisuudet Toiminnot eli käyttäytyminen Tieto eli rakenteelliset ominaisuudet Olio (ks. määritelmä): rajattavissa ja yksilöitävissä oleva asia tai käsite, joka on merkityksellinen käsillä olevan tarkastelun kannalta

Lisätiedot

Johdatus sovellussuunnitteluun, s99, osa3 Helsingin yliopisto;/tktl Harri Laine 1. Olioiden väliset yhteydet. Olioiden väliset yhteydet

Johdatus sovellussuunnitteluun, s99, osa3 Helsingin yliopisto;/tktl Harri Laine 1. Olioiden väliset yhteydet. Olioiden väliset yhteydet ..999 DO NOT PRINT THIS DOCUMENT DO NOT PRINT THIS DOCUMENT Yhteyden nimi Nimen lukusuunta pankkitili asiakas 0..0 Omistaja->..3

Lisätiedot

Luokka- ja oliokaaviot

Luokka- ja oliokaaviot Luokka- ja oliokaaviot - tärkeimmät mallinnuselementit : luokat, oliot ja niiden väliset suhteet - luokat ja oliot mallintavat kuvattavan järjestelmän sisältöä ja niiden väliset suhteet näyttävät, kuinka

Lisätiedot

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät 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ä

Lisätiedot

Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia.

Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia. MagicDraw-pikaohje Tällä harjoituskerralla on tarkoituksena harjoitella käyttötapaus-, luokka- ja tapahtumasekvenssikaavioiden luontia. Alkuvalmistelut Windows (sali TC205) 1) Kirjaudu sisään TTY:n intra-tunnuksella.

Lisätiedot

Ohjelmistojen mallintaminen luokkamallin laatiminen

Ohjelmistojen mallintaminen luokkamallin laatiminen 582104 Ohjelmistojen mallintaminen luokkamallin laatiminen 1 Lähestymistapoja Kokonaisvaltainen lähestymistapa (top-down) etsitään kerralla koko kohdealuetta kuvaavaa mallia hankalaa, jos kohdealue on

Lisätiedot

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia tehtäviä:

Lisätiedot

5. Järjestelmämallit. Mallinnus

5. Järjestelmämallit. Mallinnus 5. Järjestelmämallit Käyttäjävaatimukset pitää kirjoittaa luonnollisella kielellä. Niitä lukevat myös asiakkaat ja loppukäyttäjät. Järjestelmävaatimukset kannattaa kirjoittaa jollain rakenteisella kuvaustavalla.

Lisätiedot

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

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki Sisällys JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta Abstrakti luokka ja metodi Rajapintamäärittely (interface) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E.

Lisätiedot

Ohjelmistojen mallintaminen Luokkakaaviot Harri Laine 1

Ohjelmistojen mallintaminen Luokkakaaviot Harri Laine 1 Ohjelmistojen mallintaminen Luokkakaaviot 5.12.2008 Harri Laine 1 Olioiden palvelut Palvelun kuvauksessa annettavat tiedot näkyvyys (kuten attribuuttien kohdalla) nimi (ainoa välttämätön osa) parametrit

Lisätiedot

Ohjelmistojen mallintaminen, kertausta

Ohjelmistojen mallintaminen, kertausta 582104 Ohjelmistojen mallintaminen, kertausta 1 Kertausluennon asiat Kysymyksiä? Kurssin keskeisin asiasisältö Koetehtävät tehtävätyypit esimerkkitehtäviä ja -ratkaisuja ja vielä kysymyksiä? 2 Kysymyksiä

Lisätiedot

Ohjelmistotekniikan menetelmät

Ohjelmistotekniikan menetelmät Ohjelmistotekniikan menetelmät Luokat ja oliot Luokka- ja oliokaavio 7.11.2008 Harri Laine 1 Luokat ja oliot käyttötapaus Käyttötapaus käyttää järjestelmän palveluja käyttää Käytettävät palvelut saadaan

Lisätiedot

Javan perusteita. Janne Käki

Javan perusteita. Janne Käki Javan perusteita Janne Käki 20.9.2006 Muutama perusasia Tietokone tekee juuri (ja vain) sen, mitä käsketään. Tietokone ymmärtää vain syntaksia (sanojen kirjoitusasua), ei semantiikkaa (sanojen merkitystä).

Lisätiedot

Ohjelmistotekniikan menetelmät

Ohjelmistotekniikan menetelmät Ohjelmistotekniikan menetelmät Luokat ja oliot Luokka- ja oliokaavio 7.11.2008 Harri Laine 1 Luokat ja oliot käyttötapaus Käyttötapaus käyttää järjestelmän palveluja käyttää Käytettävät palvelut saadaan

Lisätiedot

Ohjelmistojen mallintaminen, kesä 2010

Ohjelmistojen mallintaminen, kesä 2010 582104 Ohjelmistojen mallintaminen, kesä 2010 1 Ohjelmistojen mallintaminen Software Modeling Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön tuntemus Ohjelmoinnin

Lisätiedot

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät 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ä

Lisätiedot

Johdatus sovellussuunnitteluun, s99, osa3 Helsingin yliopisto;/tktl Harri Laine 1. Olioiden väliset yhteydet. Olioiden väliset yhteydet

Johdatus sovellussuunnitteluun, s99, osa3 Helsingin yliopisto;/tktl Harri Laine 1. Olioiden väliset yhteydet. Olioiden väliset yhteydet DO NOT PRINT THIS DOCUMENT DO NOT PRINT THIS DOCUMENT Yhteyden nimi Nimen lukusuunta pankkitili 0..0 Omistaja->..3 asiakas

Lisätiedot

UML -mallinnus TILAKAAVIO

UML -mallinnus TILAKAAVIO UML -mallinnus TILAKAAVIO SISÄLLYS 3. Tilakaavio 3.1 Tilakaavion alku- ja lopputilat 3.2 Tilan nimi, muuttujat ja toiminnot 3.3 Tilasiirtymä 3.4 Tilasiirtymän vai tilan toiminnot 3.5 Tilasiirtymän tapahtumat

Lisätiedot

Ohjelmistotekniikan menetelmät, toteutuksesta ja testauksesta

Ohjelmistotekniikan menetelmät, toteutuksesta ja testauksesta 582101 - Ohjelmistotekniikan menetelmät, toteutuksesta ja testauksesta 1 Toteutuksesta ja testauksesta Suunnitteluprosessista Tarkan tason luokkasuunnittelu Siirtyminen UML-kaavioista Java-toteutukseen

Lisätiedot

Ohjelmistojen mallintaminen luokkamallin laatiminen

Ohjelmistojen mallintaminen luokkamallin laatiminen 582104 Ohjelmistojen mallintaminen luokkamallin laatiminen 1 Oliot ja luokat Ohjelmistokehitys perustuu usein oletukseen: Minkä tahansa järjestelmän katsotaan voivan muodostua olioista, jotka yhteistyössä

Lisätiedot

Mallinnus. 5. Järjestelmämallit. Abstraktiot. Mallinnuksen etuja. Arkkitehtuurimalli. Yhteysmallit. Ohjelmistotuotanto, järjestelmämallit Kevät 2005

Mallinnus. 5. Järjestelmämallit. Abstraktiot. Mallinnuksen etuja. Arkkitehtuurimalli. Yhteysmallit. Ohjelmistotuotanto, järjestelmämallit Kevät 2005 5. Järjestelmämallit Käyttäjävaatimukset pitää kirjoittaa luonnollisella kielellä. Niitä lukevat myös asiakkaat ja loppukäyttäjät. Järjestelmävaatimukset kannattaa kirjoittaa jollain rakenteisella kuvaustavalla.

Lisätiedot

Haaga-Helia / TIKO-05 1 (12) Tietokannan suunnittelu ja Toteutus Outi Virkki

Haaga-Helia / TIKO-05 1 (12) Tietokannan suunnittelu ja Toteutus Outi Virkki Haaga-Helia / TIKO-05 1 (12) Tietotarpeet Tietotarpeiden määrittely... 2 Tietotarveanalyysi... 3 Lähtökohtana tietojenkäsittelytehtävät... 3 Määrittelyn sisältö... 4 Vaiheistus... 5 Tietolähteet... 5 Lähestymistapa...

Lisätiedot

Ohjelmistojen suunnittelu

Ohjelmistojen suunnittelu Ohjelmistojen suunnittelu 581259 Ohjelmistotuotanto 154 Ohjelmistojen suunnittelu Software design is a creative activity in which you identify software components and their relationships, based on a customer

Lisätiedot

Vaatimusmääritelystä UML:n avulla

Vaatimusmääritelystä UML:n avulla Vaatimusmääritelystä UML:n avulla Mitä käyttötapauskaaviolla voi kuvata? Mitkä ovat sen keskeiset elementit? Miten laaditaan käyttötapauskaavio? Miksi laaditaan kirjallisia kuvauksia? Miksi käyttötapaukset

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

TOIMINNALLINEN MÄÄRITTELY MS

TOIMINNALLINEN MÄÄRITTELY MS TOIMINNALLINEN MÄÄRITTELY 11.11.2015 MS YLEISTÄ 1/2 jäsennelty etenee yleiskuvauksesta yksityiskohtiin kieliasultaan selkeä kuvaa myös tulevan järjestelmän ympäristöä tarpeellisella tarkkuudella kuvaa

Lisätiedot

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

TIE-20200 Samuel Lahtinen. Lyhyt UML-opas. UML -pikaesittely Lyhyt UML-opas UML -pikaesittely UML, Unified Modeling Language Standardoitu, yleiskäyttöinen mallinnuskieli, jota ylläpitää/hallitsee (Object Management Group) OMG Historiaa: 90-luvulla oli paljon kilpailevia

Lisätiedot

1. Yleistä ohjeistusta

1. Yleistä ohjeistusta Suomen Lions-liitto Kokoukseen ilmoittautuminen OHJE Sisällysluettelo 1. Yleistä ohjeistusta...1 2. Kirjautuminen...2 3. Osallistujatyypin valinta...3 4. Osallistujan tiedot...4 5. Ilmoittautumisen vahvistaminen/peruminen...5

Lisätiedot

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton 2015 syksy 2. vsk IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton Sisältö 1. Johdanto luontimalleihin 2. Proxy 3. Factory Method 4. Prototype 5. Singleton Suunnittelumallit Proxy et.

Lisätiedot

Ohjelmistotekniikan menetelmät, koe 2.5.2014

Ohjelmistotekniikan menetelmät, koe 2.5.2014 Ohjelmistotekniikan menetelmät, koe 2.5.2014 Vastaa tehtävään 3 erilliselle konseptille. Tehtävät 1 ja 2 saavat olla samalla konseptilla. Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen

Lisätiedot

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus Yhteenveto Ohjelmistotuotanto vs. muut insinööritieteet Monimutkaisuus Näkymättömyys (Usein näennäinen) luotettavuus ja edullisuus Muunnettavuus Epäjatkuvuus virhetilanteissa Skaalautumattomuus Copyright

Lisätiedot

Ohjelmistojen mallinnus Ohjelmistoarkkitehtuuri Harri Laine 1

Ohjelmistojen mallinnus Ohjelmistoarkkitehtuuri Harri Laine 1 Ohjelmistojen mallinnus Ohjelmistoarkkitehtuuri 2 28.11.2008 Harri Laine 1 Ohjelmistoarkkitehtuuri Rajapinta UML:ssä piirteiden (attribuuttien ja operaatioiden) kokoelma, josta ei voi suoraan luoda ilmentymiä

Lisätiedot

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2007 ER-mallin peruskäsitteet.

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2007 ER-mallin peruskäsitteet. Tietosisällön kuvaaminen Toteutusvälineistä riippumaton tietosisällön kuvaus Entity-Relationship malliperhe Lähtökohta: Chenin malli vuodelta 1976 Useita muunnelmia, pieniä eroja peruskäsitteissä ja erityisesti

Lisätiedot

812341A Olio-ohjelmointi, IX Olioiden välisistä yhteyksistä

812341A Olio-ohjelmointi, IX Olioiden välisistä yhteyksistä 2016 IX Olioiden välisistä yhteyksistä Sisältö 1. Johdanto 2. Kytkentä 3. Koheesio 4. Näkyvyydestä 2 Johdanto n Ohjelmassa syntyy kytkentöjä olioiden välille Toivottuja ja epätoivottuja n Näkyvyys vaikuttaa

Lisätiedot

Luento 3 Tietokannan tietosisällön suunnittelu

Luento 3 Tietokannan tietosisällön suunnittelu HAAGA-HELIA / Heti-09 1 (17) Luento 3 Tietokannan tietosisällön suunnittelu Tietojärjestelmän suunnitteluprosessi... 2 Tietokannan suunnittelun tavoitteet... 3 Tietokannan suunnitteluprosessi... 4 Käsitteellinen

Lisätiedot

VH5, JOTU, MagicDraw:n käyttö

VH5, JOTU, MagicDraw:n käyttö VH5, JOTU, MagicDraw:n käyttö 1. Käynnistä MagicDraw (versio 18.2) 2. Valitse Manage Projects-kohdasta Create New Project toiminto. Oletusarvona on UML Project, saa olla. Täytä nimi (Name) ja tallennuspaikka

Lisätiedot

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

HELIA 1 (14) Outi Virkki Käyttöliittymät ja ohjlmiston suunnittelu HELIA 1 (14) Luento 7 Käyttöliittymäolio... 2 Olioajattelun perusteet... 3 Tavoitteet... 3 Peruskäsitteet... 4 Olio / Olioinstanssi / Olion esiintymä... 4 Ominaisuudet... 4 Toiminnot... 4 Olioluokka /

Lisätiedot

Ohjelmistojen mallintaminen, arkkitehtuuria ja rajapintoja

Ohjelmistojen mallintaminen, arkkitehtuuria ja rajapintoja 582104 Ohjelmistojen mallintaminen, arkkitehtuuria ja rajapintoja 1 Arkkitehtuurisuunnittelu Ohjelmistoarkkitehtuurin määritelmä & arkkitehtuurisuunnittelun lähtökohta ja tavoitteet Kerrosarkkitehtuuri

Lisätiedot

Tietokantojen suunnittelu, relaatiokantojen perusteita

Tietokantojen suunnittelu, relaatiokantojen perusteita Tietokantojen suunnittelu, relaatiokantojen perusteita A277, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin

Lisätiedot

Määrittely- ja suunnittelumenetelmät

Määrittely- ja suunnittelumenetelmät Menetelmädokumentti Määrittely- ja suunnittelumenetelmät Versio Päiväys Tekijä Kuvaus 0.01 5.12.01 Pekka Koskinen Alustava sisällysluettelo 0.1 7.12.01 Pekka Koskinen Ensimmäinen luonnos 1.0 11.12.01 Pekka

Lisätiedot

Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset

Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset. Käyttötapaukset Järjestelmän rajaus Ohjelmistotuotanto Määrittelytekniikat 1 Sidosryhmät (ulkopuoliset tahot) ihmiset, organisaatiot, toiset järjestelmät ulkopuolella, mutta tekemisissä kehitettävän ohjelmiston kanssa

Lisätiedot

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Matti Luukkainen 10.12.2009 Tässä esitetty esimerkki on mukaelma ja lyhennelmä Robert Martinin kirjasta Agile and Iterative Development löytyvästä

Lisätiedot

Tietokantasovellusten harjoitustyö

Tietokantasovellusten harjoitustyö Tietokantasovellusten harjoitustyö Harjoitustyössä määritellään, suunnitellaan ja toteutetaan pieni www-alustalle toteutettava tietojärjestelmä. Työn tuloksena syntyy kaksi dokumenttia sekä koko joukko

Lisätiedot

Analyysi on tulkkaamista

Analyysi on tulkkaamista Analyysi on tulkkaamista Petri: Pitää osata menetelmiä, arkkitehtuureja, suunnittelumalleja, eli miten [ohjelmistoja] ylipäänsä kehitetään. Pitää olla viestintätaitoja. Perttu: Pitää ymmärtää miten projekti

Lisätiedot

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

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen Metodit Metodien määrittely Metodin parametrit ja paluuarvo Metodien suorittaminen eli kutsuminen Metodien kuormittaminen 1 Mikä on metodi? Metodi on luokan sisällä oleva yhteenkuuluvien toimintojen kokonaisuus

Lisätiedot