OHJ-3100 Ohjelmien ylläpito ja evoluutio. Harjoitustyö Teekkarien Kosto Yleiskuvaus

Samankaltaiset tiedostot
Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

SQL Buddy JAMK Labranet Wiki

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

Written by Administrator Monday, 05 September :14 - Last Updated Thursday, 23 February :36

Tapahtumakalenteri & Jäsentietojärjestelmä Toteutus

58160 Ohjelmoinnin harjoitustyö

Kurssin hallinta -työväline

EeNet käyttäjähallinta ohjeet

Valmentajalisenssi. Käyttöohjeet

INTINU13A6 Java sovellukset

Webpalvelin muistitikulle - Ohje

T harjoitustehtävät, syksy 2011

Kurssijärjestelyt. CS-1180 Verkkojulkaisemisen perusteet (5 op) Hanna Hämäläinen Informaatioverkostot / Mediatekniikan laitos

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

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

Suvi Junes/Pauliina Munter Tietohallinto/Opetusteknologiapalvelut 2014

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

KOTISIVUJEN KÄYTTÖOHJE ULVILAN PESÄ-VEIKOT RY

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

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

SUOMEN PÖYTÄTENNISLIITTO MIESTEN RANKINGJÄRJESTELMÄN PERUSTEET

FENG OFFICE -PROJEKTINHALLINTATYÖKALU

Testaussuunnitelma Labra

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

OHJ-7400 Graafisen käyttöliittymän ohjelmointi, syksy 2013 Harjoitustyöohje (runko Pinball Mästeriin)

KServer Etäohjaus Spesifikaatio asiakaspuolen toteutuksille

Visma Software Oy

T harjoitustyö, kevät 2012

Topfieldin sarjaporttipäivitystyökalun asennus(rs232)

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

Lohtu-projekti. Testaussuunnitelma

LoCCaM Riistakamerasovellus. Dimag Ky dimag.fi

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

ecome Markkinoiden kehittynein julkaisujärjestelmä

TIETOKANNAT: MYSQL & POSTGRESQL Seminaarityö

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

Windows Server 2012 asentaminen ja käyttöönotto, Serverin pyörittämisen takia tarvitaan

Kotopro käyttäjän ohje

Action Request System

Maiju Mykkänen Susanna Sällinen

GroupDesk Toiminnallinen määrittely

Harjoitustyöinfo kevät TU-A1100 Tuotantotalous 1

opiskelijan ohje - kirjautuminen

ejuttu ohjeet kuinka sitä käytetään.

Tietokannan luominen:

Tik Harjoitustyö

Opas administraattori-tason käyttäjille. MANAGERIX -ohjelman esittely... 2 Kirjautuminen... 2

Tulostussuosikit. Unifaun Online

Käytin tehtävän tekemiseen Xubuntu käyttöjärjestelmää aikaisemmin tekemältäni LiveUSB-tikulta.

ELM GROUP 04. Teemu Laakso Henrik Talarmo

Oppilaan pikaopas. Project 2013 käyttöliittymä ja näkymät

LINUX-HARJOITUS, MYSQL

Vaatimusmäärittely. Kymenlaakson partiopiirin jäsenrekisteri

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

Ylläpitodokumentti Mooan

Käyttöjärjestelmät. 1pJÄKÄ1 KÄYTTÖJÄRJESTELMÄN HALLINTA, 12 OSP

Tik Harjoitustyö

Automaattitilausten hallinta. Automaattitilauksien uudistettu käsittely

Päivitys Navigo Portalin versioon 5.1

oppimispeli esi- ja alkuopetusikäisten lasten matemaattisten taitojen tukemiseen

Internet-pohjainen ryhmätyöympäristö

Learning2 ( Uudet työkalut ja ominaisuudet

VIISIPALLO PELI JOKA KEHITTÄÄ YHTENÄISYYTTÄ YHTEISTYÖTÄ YHTEISÖÄ

Pauliina Munter / Suvi Junes Tampereen yliopisto/tietohallinto 2013

Visma Nova Webservice Versio 1.1 /

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2012

Kurssijärjestelyt. ME-C2300 Verkkojulkaisemisen perusteet (5 op) Mari Hirvi Informaatioverkostot / Mediatekniikan laitos

Selvitysraportti. MySQL serverin asennus Windows ympäristöön

Ohjeita kirjan tekemiseen

Ylläpito-ohje. Matematiikan oppifoorumi. Carl Johansson Jukka Kariola Outi Marttila Helena Venäläinen Sampsa Virtanen. Ohjaaja.

Microsoft Visual Studio 2005

Ylläpitodokumentti. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

DXL Library ja DXL-kielen olemus. Pekka Mäkinen SoftQA Oy http/

Vaatimusdokumentti v. 1.0

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

T Harjoitustyöluento

Lyhyt ohje Ning-verkoston hallinnoimiseksi ja muokkaamiseksi

Salasanojen turvallinen tallentaminen KeePass ohjelmalla

Automaattitilausten hallinta

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

Tulorekisteriin liittyvät tilanteet palkanlaskennassa. Visma Fivaldi

opiskelijan ohje - kirjautuminen

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

AC Hannes Statistics Tool. Ilkka Hakkarainen

Kahoot - kyselytyökalu

Moodle-alueen muokkaaminen

Pikaohjeet A&O oppimisympäristön käytön aloittamiseen

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

Harjoitustyöinfo kevät TU-A1100 Tuotantotalous 1

Digitaalisen median tekniikat Luento 1: Intro

Tik Ohjelmistoprojektien Hallinta

SilvaToiminta Versio 1.0. SilvaToiminta. Pikaohje Versio Oy Silvadata Ab Pikaohje 1

HumakPro-uudistuksia ja -parannuksia / kevät 2013:

Heli Karjalainen ja Eric Rousselle Discendum Oy

Uutta Remote Support Platform 3.0 -versiossa

Jypelin käyttöohjeet» Miten voin liittää törmäyksiin tapahtumia?

Autentikoivan lähtevän postin palvelimen asetukset

Tikon kassamaksujen käsittely

Ohjeistus Seppo pelipalvelun käyttämiseen

Transkriptio:

OHJ-3100 Ohjelmien ylläpito ja evoluutio Syksy 2009 Harjoitustyö Teekkarien Kosto Yleiskuvaus Työn yleiskuvaus Tehtävänä on muutosten tekeminen olemassa olevaan ohjelmaan. Työ on pakollinen ja se tehdään 1-3 hengen ryhmissä. Työ on palautettava viimeistään 20.12 klo 23.59. Arvostelu tapahtuu asteikolla 1-6. Analysoitavan ja uudistettavan ohjelman kuvaus Harjoitustyönä on Teekkarien Kosto-pelin analysointi ja uusien ominaisuuksien lisääminen ohjelmaan. Teekkarienkosto on netissä pelattava peli, johon kannattaa tutustua ennen harjoitustyön aloittamista osoitteessa http://www.teekkarienkosto.net/. Teekkarien Kosto on tuoterungon päälle tehty peli, jonka tarkoituksena on testata rungon toimivuutta käytännössä. Runko on toteutettu siten, että siihen on helppo lisätä ominaisuuksia. Esimerkkinä yhtä peliä pitää pystyä pelaamaan monelta erilaiselta käyttöliittymältä. Kaikkien pelielementtien nimet määritellä pelikohtaisesti. Varsinainen pelin mekaniikka pohjautuu teksti ja numeropohjaiseen verkkopeliin nimeltä Utopia. Peli on monen käyttäjän yhtäaikaisesti pelaama kokonaisuus jossa ollaan interaktiossa muiden pelaajien kanssa jatkuvasti. Yleisesti kyse on valtakamppailusta muiden pelaajia vastaan. Vaatimukset Peliin toteutettava ominaisuus on pelaajien välinen liittoutuminen. Vaatimukset liittoutumiselle ovat: 1. Liittosivu a. Liitolle tulee tehdä oma sivu, josta liittoa hallinnoidaan. Sivuja voi tehdä useampiakin, jos katsoo tarpeelliseksi. b. Liittosivun tulee näyttää lista pelaajista. c. Liittosivun tulee näyttää vähintään: Pelaajan nimi, pisteet ja rooli (johtaja, rivisotilas, jne). d. Pelaajat pitää pystyä lajittelemaan vähintään nimen, pisteiden ja roolin mukaan. e. Liittosivulle tulee päästä valikosta. Tätä varten tulee tehdä nappi, joka tulee sijoittaa valikkoon. Valikkoa tulisi muuttaa siten, että napille tulee tilaa. f. Liittosivulla näkyy liiton pisteet ja nimi. g. Liittosivu osaa suodattaa tyypin mukaan. (esimerkki suodatus: pelkät johtajat, pelkät rivisotilaat)

h. Liittosivulla näkyy lista muista liitoista ja niiden pisteistä. 2. Liitto a. Liitto on lista pelaajia, jotka voivat yrittää pelata yhdessä voittaakseen muut liitot. b. Liiton pisteet = kaikkien jäsenkiltojen pisteet summattuna yhteen. c. Liitolle voi lähettää viestin. d. Vastaanottajana käytetään liiton nimeä e. Liitolle tuleva viesti näkyy kaikille liiton pelaajille uutena viestinä. f. Liitolla on nimi i. Liiton nimi tulisi jotenkin erottaa pelaajien nimistä (esim. jos pelaajalla ja liitolla on sama nimi, viesti pitäisi silti pystyä lähettämään vain halutulle liitolle/pelaajalle) ii. Kahdella liitolla ei voi olla samaa nimeä g. Liitolla on tagi (lyhenne nimestä). i. Kahdella liitolla ei voi olla sama tagi. ii. Tagia käytetään aina pelaajan tai killan nimen yhteydessä esimerkiksi pelaajalistassa h. Oman liiton kimppuun hyökkäämisestä tulisi antaa varoitus. 3. Liiton muodostus a. Liittyminen liittoon tapahtuu automaattisesti killan luonnin tai erottamisen yhteydessä. b. Kilta sijoitetaan satunnaisesti johonkin liittoon, jossa on tilaa. c. Jos kaikki liitot ovat täynnä, luodaan uusi liitto ja kilta sijoitetaan siihen. d. Erotettu kilta ei voi liittyä uudelleen liittoon, josta erottaminen tapahtui. e. Liiton maksimikoko (LMK) määräytyy seuraavasti: (LMK <= 10) && (LMK <= liittojen määrä) 4. Johtaja a. Liitolla on aina johtaja. Valintatavan voi itse päättää. (esim. ensimmäinen pelaaja liitossa on valitaan johtajaksi) b. Johtajan tehtäviä voi tehdä ainoastaan johtaja c. Voi vaihtaa liiton nimeä d. Voi erottaa jäseniä liitosta e. Voi vaihtaa liiton tagia f. Voi jakaa muille rooleja g. Johtaja on myös rooli, jonka voi antaa muille 5. Bonus (+1p arvosteluun) a. CakePHP:n päivitys uusimpaan versioon Mielikuvituksen käyttö on myös vaatimuksena harjoitustyön tekemiseen. Toiminnallisuuksien sijoittaminen jätetään toteuttajan päätettäväksi. Esimerkiksi roolien jakamisen ulkoasun saa itse päättää, kunhan se on toteutettu jotenkin johdonmukaisesti. Pakolliset vaatimukset ovat paksulla (eli kohdat 1a-1f, 2a-2d, 3a-3e ja 4a-4d). Uuden ominaisuuden voi toteuttaa monella eri tapaa, eikä erinäistä parasta ratkaisua välttämättä ole

olemassakaan. Uusi ominaisuus tulee kuitenkin (mahdollisuuksien mukaan) toteuttaa ohjelmassa käytössä olevaa arkkitehtuuria noudattaen. Muita huomioonotettavia asioita ovat mm. ratkaisun ylläpidettävyys, johdonmukaisuus vanhan toteutuksen kanssa ja helppokäyttöisyys. Kolmen hengen ryhmille tulee lisäksi pakollisena kohta 5a. Tästä ei anneta bonuspistettä. Ohjelman analysointi Uusi ominaisuus tulee toteuttaa ohjelmassa käytössä olevaa arkkitehtuuria noudattaen. Oleellisena tehtävänä harjoitustyössä on ohjelman analysointi. Todennäköisesti se onkin vaikeampi ja työläämpi tehtävä kuin varsinaisen lisäyksen toteuttaminen. Analysointia tarvitaan, jotta löydetään oikeat kohdat, johon muutokset tehdään. Lisäksi työssä joudutaan analysoimaan muutosten vaikutuksia muuhun järjestelmän toimintaan. Varsinkin silloin, jos muutoksella havaitaan olevan myös laajempia vaikutuksia, joudutaan miettimään, miten muutos on järkevintä tehdä ja mitä laajempia muutoksia on turvallista tehdä, niin ettei järjestelmän muuhun toimintaan aiheuteta virheitä. Ohjelman ymmärtämiseksi voi ja kannattaa käyttää saatavilla olevia taustatietoja ja dokumentteja. Ohjelman käyttöä kannattaa kokeilla, jolloin siitä saa jonkinlaisen käsityksen, minkä jälkeen ohjelmakoodin ja dokumenttien tarkastelu voi olla helpompaa. Todellisuudessa monien vanhojen järjestelmien kohdalla tilanne on sellainen, että järjestelmän dokumentteja ei ole saatavilla tai ne ovat vanhentuneita. Tässäkin tapauksessa ohjelmaa on kehitetty projektityönä ja kaikkia dokumenteissa mainittuja ominaisuuksia ei ole ehditty toteuttaa, joten dokumentit voivat olla joiltain osin hieman ristiriidassa ohjelman toteutuksen kanssa. Lisäksi Teekkarien Kostoa on laajennettu viestinvälityksellä, joka on vuoden 2008 harjoitustyö. Teekkarien Kostoon tarjotaan kuitenkin harjoitusryhmien käyttöön seuraavat dokumentit: Määrittelydokumentti Suunnitteludokumentti Ylläpito-ohje Käyttöohje Muutosdokumentti Ohjelmaan perehtyminen kannattaa aloittaa tutustumalla Määrittely-dokumenttiin. Työkaluista Teekkarien kosto on toteutettu CakePHP (v1.1) kehykselle, joka mukailee MVCarkkitehtuuria. Ohjelmointikielenä on käytetty PHP5:ta. Näkymät on toteutettu XHTML ja CSS:lla. AJAX toiminnot on toteutettu JavaScriptillä. Peli vaatii alustakseen MySQL:ää ja Apachea, jossa on PHP5 tuki. Helpoin tapa hankkia ympäristö on hakea WampServer 2.0. Uusin WampServer (7.10.2009) sisältää: Apache 2.2.11:n, MySQL 5.1.36:n ja PHP 5.3:n. Uusin versio PHP:sta, jolla Teekkarien kosto toimii, on 5.2.11. WampServerin kotisivulla on paketti, jolla voi asentaa vanhemman PHP:n WampServeriin. WampServerin mukana tulee myös PHPMyAdmin tietokannan

hallinnointiin. WampServeriä ei ole kuitenkaan pakko käyttää, mutta voi helpottaa alkuun pääsemistä. Työn palauttaminen Työ on palautettava viimeistään 20.12.2008 klo 23.59. Palautus koostuu zip-pakettina palautettavasta ohjelman lähdekoodista (kansion "www" sisältö), muutosraportista ja SQL-tiedostosta, jolla kanta populoidaan (esim. luontilauseet.sql). SQL kuuluu palauttaa vaikkei muutoksia tietokantaan ollakaan tehty. Muutosraportti palautetaan pdf- tai rtfformaatissa. Dokumentissa kuvataan, mitä, miten ja miksi on muutettu/lisätty sekä miten muutokset on testattu. Dokumentista pitää selvitä mitä luokkia järjestelmästä on muutettu, mitä tauluja tietokannasta on muutettu, mitä tauluja tietokantaan on lisätty ja mitä uusia luokkia järjestelmään on lisätty. Dokumentit palautetaan myös tulostettuina lokeroon 29 (Tietotalon E käytävän alku, 1. kerros) 21.12.2009 klo 15:30 mennessä. Palautuspaketin nimen olisi hyvin suositeltavaa olla muotoa evopalautus-opnro1-opnro2- opnro3.zip, jossa jokainen opnro on ryhmän jäsenen oppilasnumero eli esim. evopalautus-123456-765432.zip jos ryhmässä on vain kaksi jäsentä. Palautettavan paketin ei tulisi ylittää 5Mt:a. Jos näin kuitenkin tapahtuu, ota yhteyttä harjoitustyön tarkastajaan. Arvostelu Hyvin toteutetusta harjoitustyöstä voi saada maksimissaan 6 pistettä, jotka lisätään tentistä saatuun pistemäärään. Pakollisten kohtien toteuttamisesta saa pisteitä 0-1. Loput pisteet annetaan muiden kohtien toteuttamisesta, ominaisuuden istuvuudesta olemassa olevaan arkkitehtuuriin, käytetyistä tekniikoista, ratkaisun ylläpidettävyydestä, johdonmukaisuudesta vanhan toteutuksen kanssa, helppokäyttöisyydestä ja dokumentoinnista. Kopiointi ja lähdemateriaalin käyttö Harjoitustyöstä saa keskustella muiden ryhmien jäsenten kanssa vain periaatteellisella tasolla. Yhdenkään koodirivin luovuttaminen toisen ryhmän jäsenelle on ehdottomasti kiellettyä. Minimivaatimukset Harjoitustyö on palautettu deadlineen mennessä. Palautuspaketti on tehty ohjeiden mukaan. Kaikki pakolliset ominaisuudet on toteutettu. Kaikki tehdyt muutokset tai lisäykset on dokumentoitu pyydetyllä tavalla. Muuta huomioitavaa harjoitustyötä tehtäessä Tietokantaa saa muuttaa tarpeelliseksi katsomallaan tavalla. Tietokantaan tehdyt muutokset tarvitsee tosin dokumentoida.

Jos katsoo tarpeelliseksi, olemassa olevia sivuja saa muokata ilman rikkomatta mitään jo olemassa olevaa toiminallisuutta. Huom. Viestin näyttämisen siirtämistä pääsivulta viestintäsivulle ei lasketa toiminnallisuuden rikkomiseksi. Kaikki tehdyt muutokset ja uudet ominaisuudet tulee dokumentoida. Dokumenteissa tulee käydä ilmi miten lisätyn toiminnallisuuden voi testata. luontilauseet.sql sisältää tietokannan populointilauseet. Tämä kuuluu päivittää siten, että harjoitustyön lisätyt ominaisuudet ovat helppo testata. (esim. tarvittava määrä pelaajia on valmiiksi luotu) Pelin luonteeseen kuuluu, ettei termit joita käytetään ole turhan jäykkiä. Luovuutta saa käyttää, jos ottaa uusia termejä käyttöön Teekkarien kostossa Ominaisuudet, jotka on jätetty dokumentoimatta tai on dokumentoitu riittämättömästi, voidaan tulkita tekemättömiksi