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.