Ohjelmistojen suunnittelu - harjoitustyö



Samankaltaiset tiedostot
TIE Ohjelmistojen suunnittelu

TIE Ohjelmistojen suunnittelu

Marjametsa Areena. 1. Sisällysluettelo. 2. Taustatarina. Ohjelmistojen suunnittelu, harjoitustyön työohje. Muutoshistoria:

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

1 2 2/1 3/1 4/1 4/2 5/2 5/2/1 5/3/1 6/3/1 6/4/1 6/4/2 6/4/2/1 6/5/2/1 6/5/ 6/5/ 6/5/ 6/5/ 6/5/ 6/5/ d6 3/1 3/2 3/2/1 4/2/1 4/3/1 4/3/2

TIE Ohjelmistojen suunnittelu

Tasohyppelypeli. Piirrä grafiikat. Toteuta pelihahmon putoaminen ja alustalle jääminen:

Tik Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu KÄYTTÖOHJE. LiKe Liiketoiminnan kehityksen tukiprojekti

T Harjoitustyöluento

Pelivaihtoehtoja. Enemmän vaihtelua peliin saa käyttämällä erikoislaattoja. Jännittävimmillään Alfapet on, kun miinusruudut ovat mukana pelissä!

KÄYTTÄJÄKOKEMUKSEN PERUSTEET, TIE-04100, SYKSY Käyttäjätutkimus ja käsitteellinen suunnittelu. Järjestelmän nimi. versio 1.0

Scratch ohjeita. Perusteet

Kompurointitaulukot. Kompurointitaulukot. Kompurointitaulukot Mongoose Publishingin RuneQuest-roolipeliin. Sisällys:

Visma asiakaspalvelu Tukipyyntöjen lähettäminen

Pedanet oppilaan ohje Aleksanteri Kenan koulu Eija Arvola

KUUDELLA PELAAMINEN. Kuudella pelaamisen opettelu. Pertti Honkanen

Visma sovellustuki Tukipyyntöjen lähettäminen

Pong-peli, vaihe Koordinaatistosta. Muilla kielillä: English Suomi. Tämä on Pong-pelin tutoriaalin osa 2/7. Tämän vaiheen aikana

Sokkelon sisältö säilötään linkitetyille listalle ja tekstitiedostoon. Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa koodia ei.

Ohjelmistoarkkitehtuurit harjoitustyö RobotWarGame RobotFW SimulationFW SimulationGUIFW SWT/Java Kuva 1: Esimerkki arkkitehtuurin kerroskuvasta

Office ohjelmiston asennusohje

RANTALENTIS- SA A NNÖ T

Ohjelmistoprosessit ja ohjelmistojen laatu Ohjelmistoprosessit ja ohjelmistojen laatu (4op)

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori

Board Game Lab. 7 Pelimekaniikat ja -systeemit. Materiaalit CC-BY 4.0 Mikko Lampi

T Harjoitustyöluento

MTData-autopäätteiden ohjelmistopäivitys

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014

OHJ-7400 Graafisen käyttöliittymän ohjelmointi 4/6 op

Provet Pet ohjelmisto ja tulostus PDF-tiedostoon.

Ohjeistus pöytäkirjan käyttöön. Suomen Lentopalloliitto ry

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

Ampumahiihto. Hiihto. Pelihahmon piirtäminen. Jos tahdot animoida hiihtämisen, Peli muodostuu kahdesta erilaisesta osasta: ensin

Webforum. Version 15.1 uudet ominaisuudet. Päivitetty:

Avainsanat: peli, matematiikka, polynomi, yhteen- ja vähennyslasku, kertolasku

Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö

Ohjeistus yhdistysten internetpäivittäjille

S11-09 Control System for an. Autonomous Household Robot Platform

Ohje internetkarttapalveluun

Ohjeissa pyydetään toisinaan katsomaan koodia esimerkkiprojekteista (esim. Liikkuva_Tausta1). Saat esimerkkiprojektit opettajalta.

SALITE.fi -Verkon pääkäyttäjän ohje

Trafficars - Ruuhkaara

TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja tietokonetekniikan laitos. Harjoitustyö 4: Cache, osa 2

PELAAJAPROFIILI Mobiilisovellus

Ideoita pihapeleihin taikasauva, aarrearkku ja kristallipallo avainsanoilla

Käyttöliittymän muokkaus

T Käyttäjäkeskeisen tuotekehityksen harjoitustyö kevät 2005

Sähköisen projektikansion dokumentointi Innon levyasemalle \\kapa10\inno

Impedanssitomografia-peli

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Pauliina Munter / Suvi Junes Tampereen yliopisto/tietohallinto 2013

Portfolio OneNotessa

Lupapiste käyttöönottokoulutus. Palvelun esittely

TERVETULOA WAHTI-PALVELUN KÄYTTÄJÄKSI. Ohjeet kameran asennukseen ja käyttöönottoon.

Webforum. Version 14.4 uudet ominaisuudet. Viimeisin päivitys:

Tehtävän lisääminen ja tärkeimmät asetukset

Uuden työ- tai mittavälineen luominen tietokantaan

Käsikirjan paperiversiota ei enää ylläpidetä ohjeen päivämäärän jälkeen. Viimeisimmät versiot ohjeista löydät ohjelman Help-ruudulta.

Outlook ja Yritysportaali Androidille

Asko Ikävalko, k TP02S-D. Ohjelmointi (C-kieli) Projektityö. Työn valvoja: Olli Hämäläinen

Tuen tarpeen tunnistaminen

RANTALENTISSÄÄNNÖT 2016 Rantalentisturnaus Paukarlahden kyläyhdistys RY

ADE Oy Hämeen valtatie TURKU. Tuotekonfigurointi. ADE Oy Ly Tunnus:

ohjekortti #1 Tämä on ehto. Kun se täyttyy pelissä, seuraa tämän siirron sääntöjä.

OHJ-7400 Graafisen käyttöliittymän ohjelmointi, Harjoitustyö

Sisältö. Työn idea Protokollat. Harjoitustyön käytäntöjä. Työn demoaminen. Etäisyysvektori Linkkitila. Palvelin Moodle SSH-tunnelit

Yrjö Määttänen Kokemuksia SuLVInetin käytön aloituksen

GroupDesk Toiminnallinen määrittely

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaihe 3. Antti Jääskeläinen Matti Vuori

MOBISITE-TYÖKALUN SISÄLTÄMÄT TOIMINNOT

Ohjeita peda.net palvelun Luo uusi osioon

PALAUTUKSEN PERUSTOIMINNALLISUUDEN KUVAUS

Lisäys (1.) Muskos-ohjeeseen Sivu 1 / 10. Konservoinnin tietojen poistaminen

Valmistelut: Aseta kartiot numerojärjestykseen pienimmästä suurimpaan (alkeisopiskelu) tai sekalaiseen järjestykseen (pidemmälle edenneet oppilaat).

3. Ryhdy kirjoittamaan ja anna kaiken tulla paperille. Vääriä vastauksia ei ole.

Outlook ja Yritysportaali Androidille

Winter Tour 2015 PariScramble Open ja Personal Open

Nosturirobotti. robotin tarkoitus. mikä on robotin tehtävä. Kurssin robottiohjelmointi, kesä 2011 harjoitustyö

käyttötapaukset mod. testaus

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

VIS Online 2.0 version uudistukset

ohjeita kirjautumiseen ja käyttöön

Keskeneräisten tarujen kirja

Kahoot - kyselytyökalu

Open Badge -osaamismerkit - ohje

Moodle2. Syyskuu Minna Helynen

Opi kuvin: By Choice v.1.4 asennus Asennus järjestelmänvalvojan oikeuksin

Pikaopas. ALOITA TÄSTÄ! Pelin tavoite: Valmistaudu taisteluun!! Riko kaikki vastustajasi kilvet ja hyökkää vielä kerran voittaaksesi

Mitäs peliä sitä oikein pelataan? Susanna Snellman Vyyhti-hanke

2 Peliopas. Sisällys

Kertomustaulut. Johdanto. Pakkauksen sisältö

Ohjelmistojen mallintaminen, mallintaminen ja UML

Winter Tour 2014 Sports Coach Joukkue Scramble Open - golf simulaattorissa

Luo mediaopas Tarinatallentimella

Winter Tour 2014 PariScramble Open Sports Coach -golfsimulaattorissa

Ohje. Perusdiabetesseurantataulukko: OpenOffice 3.2 Ohjeen versio: 1.0

Pelaajien lukumäärä: suositus 3 4 pelaajaa; peliä voi soveltaa myös muille pelaajamäärille

Google-dokumentit. Opetusteknologiakeskus Mediamylly

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

Mirva Jääskeläinen Espoon kaupungin työväenopisto

Transkriptio:

Ohjelmistojen suunnittelu - harjoitustyö Muutoksia: -10.10.2014 lisätty laajennettavuus-osuuteen esimerkkiotuksia ja ruutuja. -14.11.2014 lisätty aliluvut Dokumentaation vaatimuksia & Lopullisen palautuksen arvostelukriteereitä (+kuolaavampi kuolakarhun kuva) 1 MARJAMETSÄHTÄVÄ PELI Ensimmäisenä tehtävänä on valita omalle työlle nimi, voit valita vapaasti työohjeen lopussa olevasta listasta parhaiten työtänne kuvaava (tai käyttää jotain muuta hyväksi havaittua jatko-osanimeä). Tämän jälkeen valitsette toteutustekniikan. Jos käytätte jotain muuta kuin Qt:ta ja C++:aa, lähettäkää sähköpostia ohjsuun@cs.tut.fi osoitteeseen ja kertokaa hieman ideastanne. 2 TAUSTATARINA Alkuperäisessä Marjametsän tarinat pelissä Laura pelasti mielitiettynsä pahantahtoisten metsäneläimien kuten pandojen, pupujen ja norppien kynsistä. Hetken aikaa oli auvoista onnea ja rauhaa, mutta nyt pahuus on herännyt uudelleen. Alkuperäisen pelin tarinaan voi tutustua halutessasi Olio-ohjelmoinnin peruskurssin harjoitustyön työohjeesta ( www.cs.tut.fi/~ohjsuun/marjametsan_tarinat_original.pdf ). Uudessa versiossa Marjametsän armottomat metsäneläimet tekevät paluun ja kaappaavat sankaritar-lauran äidin/siskon/veljen/tyttöystävän/poikaystävän/kissan/läppärin. Jälleen sankarin on palattava metsälle ja vedettävä pahuuden kätyreitä pataan ja/tai pelastettava kaapattu lemmenkohde. 2.1 ALUSTAVAT ASIAKASVAATIMUKSET PELILLE: pelissä ohjataan sankaria pelissä on graafinen näkymä, jossa sekä sankaria voidaan ohjastaa sekä hiirellä että näppäimistöllä Metsänelikot / otukset liikkuvat tekoälyn opastamana omien sääntöjensä mukaan, otuksia on erilaisia ja niiden käyttäytyminen voi vaihdella esim. muiden otusten, vuoron, sankarin sijainnin, metsästä löytyvien asioiden yms. perusteella. Esimerkkiotukset:

o Oravat käyvät kaikkien alle kolmen ruudun etäisyydellä olevien kimppuun mutta pakenevat, jos otus hyökkää niiden kimppuun o Ilveksen menestyksen vuodet ovat takana ja se on täysin hampaaton erityisesti puolustamisessa. Kissaeläinten tapaan sillä on kuitenkin yhdeksän elämää. Ilves saa kaksinkertaiset voimat, jos vastustajalla on kirves. peli on vuoropohjainen, mutta tästä voidaan joustaa, jos toteuttava porukka välttämättä niin vaatii pelin voittaminen, joko haetaan rakas takaisin metsästä tai hoidellaan pimeyden eläinten ruhtinas, itse pääpahuus päiviltä pelissä voi olla useampia erilaisia maastoja jotka vaikuttavat eri tavalla pelissä voi olla useampia eri kenttiä joiden välillä on mahdollista siirtyä peliin tulee mahdollisuus ladata alustustiedostoja, asiakas toimittaa koodin pelissä tulee olla mahdollisuus tallentaa pelitilanne ja jatkaa tallennettua peliä pelin eri otuksilla/hahmoilla on seuraavat ominaisuudet: o liikkumisnopeus (montako toimintoa vuorossa) o voima (kuinka paljon perusvahinkoa otus tekee) o elinvoima (kuinka monta pistettä vahinkoa otus kestää ennen kuin kuolo korjaa) o puolustus (hyökkäyksiltä puolustautuminen/kuinka ketterästi vahingon välttely onnistuu) Otukset voivat taistella: perusversiossa hyökkäyksessä heitetään voiman kertoma määrä kuusisivuisia noppia ja yhteenlaskettu tulos on hyökkäyksen vahinko. Lopullinen vahinko määräytyy hyökkäysvahinko-puolustus laskululla. (jos tulos <= nolla, ei tapahdu mitään, tällöin osuma väistettiin tai paksu karvapeite esti vahingon) 3 HARJOITUSTYÖN RAKENNE JA AIKATAULU Harjoitustyö toteutetaan neljässä eri vaiheessa, jokaisessa vaiheessa ollaan tekemisissä oman assarin kanssa. Jokaisen ryhmän jäsenen on oltava läsnä vähintään kolmessa tapahtumassa ja jokaisessa tapahtumassa on oltava vähintään kaksi ryhmän jäsentä. Viidennessä vaiheessa päästään tutustumaan toisen ryhmän toteuttamaan versioon pelistä ja antamaan työstä vertaispalautetta ja samalla saadaan palkinnoksi myös toisen ryhmän antamaa palautetta.

3.1 Vaiheet 1. Ensimmäisessä vaiheessa toteutetaan ohjelman prototyyppi, jonka tarkoituksena on esitellä tuotetta tilaajalle ja saada todellinen kauppa syntymään. Prototyypin esittelyn lomassa ja sen jälkeen asiakas kertoo tarkemmin mitä tuotteelta haluaa. (eli vaatimukset voivat muuttuja ja tarkentua hieman projektin aikana). Prototyyppitoteutus sisältää jotain demottavissa olevaa käyttöliittymätason toimintaa ja antaa kuvan siitä, millainen lopullinen tuote voisi olla. Prototyyppivaiheen palautus tehdään syyskuun lopussa, aika varataan omalle assarille. Prototyyppivaiheen vaatimuksia: a. käyttöliittymä, josta saa kuvan miltä pelin on tarkoitus näyttää ja peliin liittyvistä ominaisuuksista ja toiminnoista b. valmius selittää, mitä ohjelmassa tapahtuu asiakkaan kannalta, kun eri toimintoja käytetään (jos ei mock-up-toteutusta) c. kuvaus siitä, minkälainen otus pääpahis on, mitä se tekee ja miten se toimii. 2. Seuraavassa vaiheessa luodaan tarkempi suunnitelma toteutettavasta pelistä. Miltä peli suunnittelutasolla näyttäisi? Mitä eri osakokonaisuuksia siihen tulee? Miten käyttöliittymä ja muu ohjelma on erotettu toisistaan? Minkälaista työnjakoa eri osien välille on mietitty? Jne. Suunnitelma palautetaan lokakuun puoliväliin mennessä. Vaatimuksia: a. Yleiskuva ohjelman rakenteesta, korkeamman tason ratkaisut b. Luokkakaaviota tai vastaavaa c. Sekvenssikaavio tai vastaava, jolla kuvataan, mitä tapahtuu, kun pääpahis ja sankari kohtaavat d. Työn jakaminen erillisiin osakokonaisuuksiin, mitä eri tehtäviä, toimitettavia osakokonaisuuksia ohjelmassa on? (jotain suunnitelmaa siitä, kuka voisi tehdä ja mitä?) e. Mitä luvataan toimittaa seuraavaan vaiheeseen mennessä (kohdan d jutuista)? (Jotain toimivaa & demottavissa olevaa.) 3. Kolmannessa vaiheessa käydään esittelemässä työtä, jossa on toteutettuna ainakin suunnitteluvaiheessa toimitettavaksi luvatut ominaisuudet (nämä sovitaan assarin kanssa suunnitteluvaiheessa). Lisäksi tässä vaiheessa on mahdollisuus kysellä assarilta käytetyistä ratkaisuista ja varmistua siitä, että työssä ollaan menossa oikeaan suuntaan. Vaatimuksia: a. Luvattujen ominaisuuksien esittely, ajettavissa oleva ohjelma näiltä osin 4. Neljännessä osassa tavataan loppudemon merkeissä oman assarin kanssa. Tällöin päästään esittelemään oman ohjelman toimintaa ja kertomaan mitä hienoja ratkaisuja ohjelmassa on tehty ja mitä kannattaa ottaa huomioon ohjelmaa testatessa ja koodiin tutustuessa. Katso dokumentaation vaatimukset kohdasta 3.2. 5. Vertaisarvioinnissa käydään läpi toisen ryhmän työ ja annetaan siitä palautetta. Versiohallinnasta löytyy oma ohjeistuksensa tähän. 3.2 DOKUMENTAATION VAATIMUKSIA Neljännen vaiheen yhteydessä palautetaan maksimissaan neljän sivun dokumentaatio, joka kertoo ohjelman yleisrakenteen, ajoaikaisen käytöksen korkealla tasolla ja tärkeimmät suunnitteluratkaisut. Kuvien käyttö on suotavaa selventämään asiaa. Lisäksi ohjeistuksessa on kuvaus siitä, mitä asioita

pelissä on helppo laajentaa tai muunnella. Miten esimerkiksi uusien otusten lisääminen onnistuu? Mitä juttuja koodissa, alustustiedostossa jne. pitää huomioida? Voit valita dokumentaation formaatin vapaasti, kunhan sieltä löytyy edellä mainitut asiat. Voit myös käyttää versiohallinasta löytyvää dokumenttipohjaa. 3.3 LOPULLISEN PALAUTUKSEN ARVOSTELUKRITEEREITÄ Suunnittelu ja rakenne: Ohjelman yleisrakenne, vastuualueiden jako, kuinka hyvin toteutettu? Vastaako toteutus yleisrakenteen lupaamaa vastuualuejakoa? Ryhmän esittelemät laajennuskohteet ja niiden toteutettavuus. Rajapinnat: luokkien, rajapintaluokkien jne. rajapinnat, niiden suunnitteluosuus, toiminnallisuus, dokumentointi/kommentointi. Mahdolliset esi- ja jälkiehdot jne. (bonusta: testit) Toteutuspuoli ja esitietokursseihin liittyvät asiat: funktioiden, luokkien jne. koot, koodin ulkonäkö, yhteneväinen, järkevä kommentointi ja nimeäminen Dokumentaatio: auttaako dokumentaatio ohjelman rakenteen ymmärtämisessä? Vastaako dokumentaatio koodia? Miten dokumentissa on kuvattu muokattavuus/laajennettavuus? Toiminnallisuus: Toimiiko peli vai kaatuilee ja bugaa? Onko työn aikana luvatut/pyydetyt ominaisuudet toteutettu? 4 LAAJENNETTAVUUS, RUUDUT, OTUKSET JNE. Tähän lukuun on listattu esimerkkejä mahdollisista otustyypeistä ja ruututyypeistä. Näitä voi käyttää omassa työssään tai sitten tehdä täysin omat. Ei siis kannata huolestua, jos esitellyt otustyypit tms. eivät millään sovi omaan työhön tai sen suunnitelmaan. 4.1 OTUKSET Talitintti: Talitintit saattavat harjaantumattoman silmään näyttää vain viattomilta linnuilta, mutta ne ovat oikeasti verenhimoisia tappajia, joiden erikoisherkkua on muiden otusten aivot. Käyttävät nopeuttaan häikäilemättä hyväkseen. Hyökkäävät vain, jos ehtivät paeta vähintään ruudun päähän. Muuten möllöttövät paikoillaan tai pyrkivät pitämään kahden ruudun turvavälin muihin otuksiin. (eivät syö toisiaan tai pääpahista). Liikkuu kaikissa ruuduissa samalla vauhdilla.

http://www.iltasanomat.fi/kotimaa/art-1288538104290.html Kuolakarhu Kuolakarhut ovat tunnettuja rään erittämiskyvyistään. Ne peittävät uhrinsa sylkilammikoilla. Sylkihyökkäys toimii kuten normaalihyökkäys, mutta sylki jää ruutuun, jossa hyökkäyksen kohde oli. Räkä vaikuttaa seuraavan kahden vuoron ajan ja tuottaa D6 vahinkoa/vuoro (ilman mahdollisuutta puolustautua) ruudussa vuoronsa päättävälle otukselle. Kampela Kampela on salakavala väijyskelijä, joka saalistaa makaamalla hiljaa paikallaan metsän pohjalla. Tällöin sitä on mahdotonta havaita ennen kuin uhri on sen vieressä. Erikoistunut ihmissyöntiin, käy muiden otusten kimppuun vain joutuessaan hyökkäyksen uhriksi. 4.2 RUUDUT Esimerkkejä erilaisista ruuduista ja niiden toiminnasta: Suo: suolla on vaikea liikkua ja sinne astuminen vie kaksi liikkumispistettä (tai nollaa jäljellä olevan liikkumisen, jos liikettä jäljellä alle 2). Puolustautuminen suolla vaikeampaa, joten vain puolet puolustuksesta käytössä. Nuoruudenlähde: Nuoruudenlähde parantaa kaksi elinvoimapistettä/vuoro, jos otus päättää liikevuoronsa ruudussa. Risukko: estää liikkumisen, mutta voidaan hakata heinikoksi hyökkäämällä. Kestopisteet 20, ei puolustusta. 4.3 ESINEET Erilaisia esineitä ja vaihtoehtoja (valitse näistä joitakin): eri ruumiinosille sopivat vaatekappaleet

erilaiset aseet, ampuma-aseet sankarittaren tavaroiden hallinta (inventaario) pysyvästi ja tietyn vuoromäärän ajan vaikuttavat kertakäyttöesineet mahdollisuus kerätä kertakäyttöesineitä mukaan ja käyttää niitä myöhemmin 5 NIMIVAIHTOEHDOT Marjametsä 2: Metsäneläinten vastaisku Tapahtuipa kerran/olipa kerran Marjametsässä Marjametsä: first blood, part II Marjametsän paluu/kosto/poika/kirous/ylösnousemus/reloaded/iskee jälleen/ratsastaa jälleen/merkki/ylivalta Käärmeitä marjametsässä Marjametsä New York, Los Angeles, Miami, Hervanta, Toijala Marjametsä, uusi sukupolvi/uusi alku/viimeinen luku/tuomiopäivä/pimeyteen/redux/director s cut Marjametsän legendat/kertomukset/seikkailut/morsian Marjametsän aamun sarastus/illankoitto/yö/päivä/iltarusko Marjametsä, viimeinen ristiretki, kuusipuukallo, kadonneen metsän metsästäjät, tuomion kappeli Marjametsä, kourallinen euroja/vain muutaman euron tähden Marjametsä anthology/best of/collection/the essential Marjametsä ja