Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia

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

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Kurssin aihepiiri: ohjelmistotuotannon alkeita

Ohjelmistojen mallintaminen. Matti Luukkainen

UML- mallinnus: Tilakaavio

Ohjelmistojen mallintaminen. Luento 2, pe 5.11.

Ohjelmistojen mallintaminen, kesä 2010

käyttötapaukset mod. testaus

Ohjelmistotekniikan menetelmät, kesä 2008

Ohjelmistojen mallintaminen, mallintaminen ja UML

Ohjelmistojen mallintaminen, kesä 2009

Tilakaaviot, sekvenssikaaviot (Haikala, Märijärvi ss , )

Ohjelmistotekniikan menetelmät, koe

Ohjelmistojen mallintaminen, mallinnustekniikat käytännössä

Ohjelmistotekniikan menetelmät, kevät 2008

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

Määrittelyvaihe. Projektinhallinta

Luokkakohtaiset eli stattiset metodit ja attribuutit

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Ohjelmistojen suunnittelu

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

1. Tarkastellaan seuraavaa kaaviota

Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } }

Projektityö

Ohjelmistotekniikka - Luento 2

Yhteenvetoa, pieniä laajennuksia, tulevaisuuden haasteita

Ohjelmistojen mallintaminen kertausta Harri Laine 1

Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys

Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon

Ohjelmistojen mallintaminen. Luento 6,

Vaatimusmääritelystä UML:n avulla

2. Ohjelmistotuotantoprosessi

Ohjelmistojen mallintaminen

Prosessimalli. 2. Ohjelmistotuotantoprosessi. Prosessimallin vaihejako. Prosessimallien perustehtävät. Ohjelmiston suunnittelu. Vaatimusmäärittely

Ohjelmistojen mallintaminen, syksy 2011, laskuharjoitus 2

Analyysi on tulkkaamista

Tenttikysymykset. + UML- kaavioiden mallintamistehtävät

Suoritusten seuranta ja opiskelijan edistyminen

Projektityö

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

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:

Ohjelmistojen mallintaminen. Luento 3, 9.11.

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

OHJ-3010 Ohjelmistotuotannon perusteet, kesä 2012

Data Sailors - COTOOL dokumentaatio Riskiloki

Suunnitteluvaihe prosessissa

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

1. Mitä tehdään ensiksi?

Uudelleenkäytön jako kahteen

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

Ohjelmistojen mallintaminen viikon 4 laskareiden mallivastauksia

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

Ohjelmoinnin perusteet Y Python

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

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Käyttötapausanalyysi ja testaus tsoft

IT2015 EKT ERITYISEHTOJA OHJELMISTOJEN TOIMITUKSISTA KETTERIEN MENETELMIEN PROJEKTEILLA LUONNOS

Olioiden yhteistyön mallintaminen

T Ohjelmistojen määrittely- ja suunnittelumenetelmät Harjoitustyöraportti TNT - Tarkistetaan Ne Tentit Analyysimalli

Dynaaminen analyysi II

T Ohjelmistojen määrittely- ja suunnittelumenetelmät Harjoitustyöraportti TNT - Tarkistetaan Ne Tentit Käyttötapaukset

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

<e.g. must, essential, conditional>

Joku hauska otu-aiheinen kuva (no ei oo pakko olla hauska) OHJ-3010 Ohjelmistotuotannon perusteet, kesä 2012

T Tietojenkäsittelyopin ohjelmatyö Tietokonegrafiikka-algoritmien visualisointi Vaatimustenhallinta

Ohjelmistojen mallintaminen

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

Oleelliset vaikeudet OT:ssa 1/2

Kooste kotitehtävien vastauksista. Kotitehtävä 6 - Ylläpito- ja kehittämismalli

1. Opettaja lisää osallistujat: Opettaja poimii opiskelijat/opettajat alueelle

Ylläpitodokumentti. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Analyysi, staattinen mallintaminen, kohdealueen malli ja luokkakaavio

Mitä on periytyminen?

Good Minton Sulkapalloliiton Kilpailujärjestelmä SEPA: Heuristinen arviointi

Ohjelmistotekniikan menetelmät, UML

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

Käyttöohje. Versiohistoria: versio Mari Kommenttien perusteella korjattu versio

5. Järjestelmämallit. Mallinnus

Tapahtuipa Testaajalle...

ITKP102 Ohjelmointi 1 (6 op)

Testaussuunnitelma Labra

Mikkelin sähköisen asioinnin alusta - päätöksenteko. Kalle Launiala / ProtonIT Oy kalle.launiala@protonit.net

UML-kielen formalisointi Object-Z:lla

UML:n yleiskatsaus. UML:n osat:

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

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

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

Ohjeet. Ohjeita on kahdessa paikassa. Admin-näytön oikeassa ylänurkasta. Seura- sivuilta kohdasta Dokumentit

Dokumentointi ketterissä menetelmissä

MagicDraw-pikaohje (VH5)

T Testiraportti - integraatiotestaus

SUOMEN SALIBANDYLIITTO JOUKKUESIVUSTON OHJE VERSIO 1.5. PÄIVITETTY Joukkuesivusto KOKOONPANOT

PlugIT / Ydin: teemat ja jaksojen 2-6 suunnitelma ( )

Testausdokumentti. Sivu: 1 / 10. Ohjelmistotuotantoprojekti Sheeple Helsingin yliopisto. Versiohistoria

Ohjelmistojen mallintaminen Olioiden yhteistyö Harri Laine 1

Testaaminen ohjelmiston kehitysprosessin aikana

Ohjelmistojen mallintaminen

T Testiraportti - järjestelmätestaus

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

Transkriptio:

Ohjelmistojen mallintaminen, kurssikoe 15.12. esimerkkivastauksia Tehtävä 1 a: Ohjelmistotuotantoprosessi sisältää yleensä aina seuraavat vaiheet: määrittely, suunnittelu, toteutus, testaus ja ylläpito. Vesiputousmallissa ja ketterässä ohjelmistotuotannossa on kaikkien näiden toimintojen aktiviteetit olemassa tavalla tai toisella. Vesiputousmallissa vaiheet tehdään peräkkäin. Edellinen vaihe tehdään täydellisesti ja sen tulokset jäädytetään ennen seuraavaan vaiheeseen siirtymistä. Vaiheiden tulokset dokumentoidaan tarkkaan. Erityisen tärkeä vaihe on määrittely, jonka aikana kirjataan tarkasti ylös kaikki asiakkaan vaatimukset. Ketterässä ohjelmistotuotannossa edetään lyhyiden (yleensä 1-4 viikkoa kestävien) iteraatioiden tahdittamana. Kussakin iteraatiossa toteutetaan pieni osajoukko järjestelmän toiminnallisuudesta. Asiakas valitsee kussakin iteraatiossa toteutettavan toiminnallisuuden ja on mukana iteraation lopussa pidettävässä demossa katselmoimassa ohjelmiston uusinta versiota. Kukin iteraatio sisältää kaikki perinteisen ohjelmistotuotannon vaiheet. Vaiheet siis etenevät rinnakkain yhä uudelleen toistuen. Dokumentaation rooli ei ole yhtä merkittävä kuin vesiputousmallissa. Suurempi paino asetetaan suoralle kommunikaatiolle sekä asiakkaan kanssa että tuotantotiimin kesken. Dokumentaation puuttumisen takia ketterissä menetelmissä on erilaisia laadunvarmistuskeinoja, kuten automatisoitu testaus. Tärkeä motivaatio ketterien menetelmien takana on se, ettei asiakkaan tarvitse tietää projektin alussa kaikkia järjestelmän vaatimuksia. Vaatimusten tietäminen ennalta on käytännössä lähes mahdotonta, ja ketterät menetelmät olettavatkin että vaatimukset muuttuvat ohjelmistokehityksen aikana. Pisteytys: yhteiset vaiheet mainittu ja selitetty 1p vesip, vaiheet peräkkäin, uusi vaihe alkaa vasta kun entinen valmis ja jäädytetty 1p ketterä lyhyet iteraatiot iteraation aikana kaikki vaiheet 1p ja tuloksena toimiva osajärjestelmä 1p dokumentoinnin rooli ja asiakkaan kanssa kommunikaatio 1p b: Ks. laskuharjoitusten 5 tehtävien 5 ja 6 esimerkkivastaus. Pisteytys: periaate nimetty ja perusteet selitetty 1p saako rikkoa, perusteltu selitys 0.5p code smell -käsitteen perusteltu selitys 0.5p

Tehtävä 2 a: Pisteytys: Liikkumistoiminnallisuus -0.5-2p Omana luokkana (Ok jos käytetty moniperintää järkevästi) Ei määritelty Liikkuvat kasvit Luokat -1-5 p Kasvi puuttuu Eliö puuttuu Liikkuva eliö puuttuu Lauma puuttuu Laji puuttuu Yhteistä toiminnallisuutta ei peritty (Esim. kasvilla ja eliöllä oma yhteys lajiin) Vihollislaji omana luokkana... Notaatio -0.5 2p Komposition väärinkäyttö (Esim, Jos Norsu-eliö katoaa, katoaa siihen liittyvä laji,...) Yhteysnuolten käyttö väärinpäin Viivojen tyypit

Vihollisuutta ei määritelty... Kytkentärajoitteet -0.5-xp Tyhjä lauma Mahdollisuus kuulua moneen laumaan Mahdollisuus kuulua moneen lajiin Mahdollisuus olla olemassa ilman lajia Hyvät oivallukset +xp b:

Pisteytys Luokkakaavio: -0.5 1p Kurssi, Opiskelija tai Arvosanalaskin puuttuu Kytkentärajoitteet väärin (opiskelijan kuulumisesta vain yhteen kurssiin ei sakotettu sillä opiskelijalla vain yksi arvosana) Sekvenssikaavio: -0.5-4p Ei luotu kaikkia olioita Ei mallinnettu ohjelman toimintaa For-each looppi joka käyttää vain yhtä opiskelijaa (Jos sekvenssikaavioon mallinnetaan foreach-tyylinen toisto, luodaan erillinen Opiskelija-olio, jonka tietoja kysytään tämä siis Opiskelija o, joka kullakin iteraatiolla viittaa erilliseen läpikäytävän listan olioon.) Lisättiin opiskelijoita arvosanalaskuriin / Ei lisätty opiskelijoita kursseille Ei pääohjelmaa Tehtävä 3 a: Käyttäjät: toimittaja toimituspäällikkö valokuvaaja mainosmyyjä ladontajärjestelmä (eli ulkoinen järjestelmä jonka kanssa järjestelmä toimii) Käyttötapaukset: Lisää artikkeli (toimittaja): luodaan uutta, tiettyyn lehden numeroon tulevaa artikkelia varten pohja järjestelmään Lisää kuva artikkeliin (toimittaja): edellyttää että artikkeli on jo olemassa Lisää teksti artikkeliin (tomittaja): edellyttää että artikkeli on jo olemassa Muokkaa artikkelia (toimittaja, toimituspäällikkö): jo olemassaolevan artikkelin sisältöä mukataan Siirra artikkeli (toimituspäällikkö): siirretään artikkeli johonkin muuhun numeroon Siirrä ladontaan (toimituspäällikkö, ladontajärjestelmä): siirretään lehti ja sen sisältö ladontaan

Lisää kuva (valokuvaaja): lisätään valokuva järjestelmään Lisaa mainos (mainosmyyjä): lisätään mainos järjestelmään Vaikka asia ei käy tekstistä ilmi, todennäköisesti tarvittaisiin myös käyttötapaus kirjautuminen joka kaikkien käyttäjien olisi suoritettava ennen kuin muuta toiminnallisuutta voidaan käyttää. Käyttötapauskaavio seuraavalla sivulla. pisteytys: - täydennetään b: Käyttötapaus: Lisää kuva artikkeliin Käyttäjät: Tavoite: Esiehto: Jälkiehto: toimittaja Käyttötapauksen kulku: halutaan liittää jokin järjestelmään talletettu kuva kirjoitettavaan artikkeliin artikkelipohja on luoto ja kuvia tuotu järjestelmään, käyttäjä kirjautunut järjestelmään kuva liitetty artikkeliin 1. toimittaja valitsee artikkelien selaustoiminnon 2. järjestelmä näyttää toimittajan artikkelit 3. toimittaja valitsee artikkeleista sen, johon kuva liitetään

Poikkeuksellinen toiminta: Tarkennus: pisteytys: - täydennetään 4. toimittaja valitsee kuvien selaustoiminnon 5. järjestelmä näyttää kuvat 6. toimittaja valitsee kuvan 7. kuva liitetään artikkeliin 6a sopivaa kuvaa ei löydy 1. kuvien lisäystoiminnosta poistutaan 5a järjestelmä näyttää kuvat kuvat on järjestetty aihepiirien mukaan, näytettävä aihepiiri on mahdollista valita c: pisteytys: - täydennetään