-
Notifications
You must be signed in to change notification settings - Fork 2
Tentin mallivastaukset
Kartoitetaan mitä asiakas haluaa.
Vaatimukset jakautuvat toiminnallisiin vaatimuksiin (toiminnot) ja toimintaympäristön asettamiin rajoitteisiin (mm. suorituskyky, ohjelmointiympäristö, käytettävyys). Ei vielä oteta kantaa toteutukseen.
Ohjelmistoprosessin vaiheet (vaatimukset, suunnittelu, toteutus, testaus) suoritetaan vaihe vaiheelta dokumentoiden jokainen vaihe huolellisesti. Perustuu oletukseen, että vaatimukset on mahdollista kartoittaa ja dokumentoida kattavasti alussa.
Ohjelmaa rakennetaan iteratiivisesti. Jokainen iteraatio tuottaa laajentuvan version ohjelman toiminnallisuutta. Asiakas on mukana prosessissa antaen tuotteesta palautetta iteraatioden jälkeen ja valitsee seuraavan iteraation tavoitteen. Mahdollistaa vaatimusten muuttumisen.
Ohjelmiston korkean tason suunnitteluperiaate, jossa ohjelma jaetaan kerroksiin, eli loogisiin komponentteihin (eli kokonaisuuksiin) siten, että kullakin kerroksella on oma selkeä tehtävänsä. Periaatteena jaotella kerrokset siten, että kerros riippuu ainoastaan alempana olevista kerroksista. Kerrokset tyypillisesti: käyttöliittymä, sovelluslogiikka, tietokanta. Motiivina muokattavuus, laajennettavuus ja uusiokäyttö sekä abstraktioiden luominen: ei ole pakko ymmärtää kaikkea kaikesta, esim. tietokanta on abstrahoitu sovelluslogiikalta.
Jokaisella oliolla tulee olla vain yksi vastuu eli “tehtävä”, josta olio huolehtii. Monimutkainen toiminnalisuus saadaan aikaan yhdistelemällä yhden vastuun olioita. Motivaationa testattavuus ja ylläpidettävyys.
- Komposition puuttuminen lehden ja sivun välistä ei oleellista, myös ilman kompositiota ok
- Kompositio looginen myös toimittajan ja artikkelin väliin – “ei artikkeleita ilman toimittajaa”
- Toimittaja – Päätoimittaja suhde on voitu ilmaista myös joko
- Perimällä abstrakti luokka toimittaja päätoimittajalla ja perustoimittajalla, ja yhdistämällä perityt
- Luokan toimittaja suhteella itseensä sopivin selittein
- Jos tehty kuten kuvassa, 0..1 sillä päätoimittaja ei ole itsensä alainen. Pieni miinus, jos tilalla 1
- Lehdestä yhteydet muihin kuin sivuihin ovat turhia ja miinusta, sillä…
- sivujen kautta saa tietää lehteen liittyvät mainokset
- ja artikkelit, joiden kautta lehteen liittyvät kuvat, toimittajat ja päätoimittajan
- Puuttuvat osallistumisrajoitukset aina miinusta
- Monilla myös mennyt sekaisin tähden merkitys. * = 0-n kpl. 1..* = 1-n kpl. Pieni virhe
- Komposition puute heti -0,5p
- Nuolenpäistä oltiin tarkkoja, mutta jos ainoa vika kompositiosta puuttuva nuolenpää, täydet pisteet
- Koneet voivat koodin mukaan olla kuinka monessa tehtaassa vaan. Hyväksyttiin myös 0..1
- Kaaviossa Main on ok, jos se on riippuvainen (katkoviiva, luo koneet, käyttää/luo tehtaan) koneista/tehtaasta
- Olioiden luomiset ja koneiden lisäämiset 1p
- Vuorokauden kulutus 1p
- Raporttien teko 1p
- Varaston tyhjennys 1p
- Muutama huomautti, ettei saldoa ole alustettu, mutta jätti “bugin” huomioimatta. Java alustaa integerit automaattisesti nollaksi, joten bugia ei ole.
- -½ p: Facebook puuttuu käyttäjistä
- -½ p: ylläpitäjä puuttuu
- -½ p: kansainvälinen olutliitto puuttuu
- -½ p: rekisteröityminen/kirjautuminen puuttuu
- -½ p ylläpitäjä ja olutliitto liittyvät suoraan rekisteröitymistapaukseen eivätkä “hyväksy rekisteröityminen” tapaukseen
- -½-2 p: käyttötapauksia puuttuu
- -½-2 p: selvästi ei UML-mukaisia merkintöjä
- -½ p: liika yleistäminen (esim. oluiden lisääminen/tarjonnan muokkaaminen/oluiden poistaminen ja panimon tietojen muuttaminen jätetty “tietojen muokkaus”-käyttötapauksen alle ilman mitään selitystä)
- -1/4 epämääräinen tapauksen kulku tai muuta hämärää
- -½ jälkiehdon/esiehdon väärinkäyttö
- käyttäjät, esiehto, jälkiehto ja tapauksen kulku vaadittu täysiin pisteisiin
Pisteitä vähennettiin seuraavista virheistä:
- Puuttuva luokka tai yhteys -½
- Puuttuva tai virheellinen osallistumisrajoite -½
- Toiminnallisten tai kuulumattomien luokkien olemassaolo -½
- Jos arvio puuttuu täysin -1
- Jos arvio liittyy sekä oluisiin että ravintoloihin -1
- Jos osallistumisrajoitteet puuttuvat täysin kaaviosta -2