Suunnitteludokumentti
|
|
- Antti Mikkonen
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Suunnitteludokumentti Kohahdus Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
2 Kurssi Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Taro Morimoto, Projektipäällikkö Tuomas Palmanto, Vaatimusmäärittelyvastaava Mikko Kinnunen, Suunnitteluvastaava Markus Kivilä, Koodivastaava Jari Inkinen, Testausvastaava Paula Kuosmanen, Dokumenttivastaava Asiakas Teemu Kerola Johtoryhmä Sanna Keskioja Kotisivu Versiohistoria Versio Päiväys Tehdyt muutokset Ensimmäinen versio
3 Sisältö i 1 Johdanto 1 2 Sanasto 1 3 Toiminnot Rekisteröityminen Käyttäjätietojen muokkaaminen Kirjautuminen Kurssien ja tehtävien valinta (opettaja) Tehtävän määrittely (opettaja) Kurssin statistiikka (opettaja) Käyttäjän tiedot (opettaja) Tehtävien valinta (opiskelija) Tehtävään vastaaminen (opiskelija) Arkkitehtuurisuunnitelma 4 5 Tietokanta Tasktype Task Course Module Taskinmodule Attributevalues EAuser Storedanswer Studentmodel Taskattributes Pluginparameters Pluginparamattributes Luokat Criterion
4 ii 6.2 DBHandler Task User Course TitoAnalyzer TitoDisplayer TitoState JSP sivujen sekvenssikaaviot Register.jsp Login.jsp TeacherTaskList.jsp TaskList.jsp Report.jsp UserInfo.jsp Composer.jsp TeacherTaskList.jsp Answer-servlet
5 1 Johdanto 1 TitoTrainer on järjestelmä automaattisesti tarkastettavien TTK-91-konekielen harjoitustehtävien luomiseen ja ratkaisemiseen. Järjestelmä on tarkoitettu käytettäväksi opetuksen tukena, opetettaessa Tietokoneen toiminta -kurssia. Tietojenkäsittelytieteen opettajat voivat tehdä järjestelmään uusia tehtäviä ja määritellä kuinka ne tarkastetaan automaattisesti. Tietokoneen toiminta -kurssin opiskelijat ja kurssin tehtävistä kiinnostuneet itseopiskelijat voivat ratkaista tehtäviä ja saada palautetta niiden onnistumisesta. Painopiste projektissa on opettajan ja opiskelijan käyttöliittymillä. Käyttöliittymistä tehdään mahdollisimman selkeät ja helppokäyttöiset. Opettajan käyttöliittymän avulla määritellään tehtävät parametreineen ja kuinka opiskelijan ratkaisun oikeellisuus tarkistetaan, sekä nähdään statistiikkatietoja opiskelijoiden suorituksista. Opiskelijan käyttöliittymän avulla opiskelija valitsee tehtäviä, syöttää niiden ratkaisut ja saa palautetta vastauksensa oikeellisuudesta. Projekti käyttää valmiina olevaa Titokone-simulaattoria harjoitustehtävien ratkaisemiseen. Projektin rakennetaan olemassa olevaan eassari-kehykseen, joka sopii geneeriseen automaattisesti tarkistettavien tehtävien määrittelyyn ja toteutukseen. eassarin keskeneräisyydestä johtuen kehystä tullaan muokkaamaan tuotteella asetettujen vaatimusten täyttämiseksi. Järjestelmä toteutetaan Java-kielellä ja järjestelmän käyttö vaatii, että selain tukee JavaScriptkieltä ja CSS-tyylitiedostoja. Järjestelmä toimii uusimmilla Firefox ja Internet Explorerselaimilla. 2 Sanasto TTK91=Auvo Häkkisen kehittämä ohjelmointikieli, joka läheisesti muistuttaa symbolista konekieltä. KOKSI=Auvo Häkkisen kirjoittama konekielisimulaattori, joka toteuttaa TTK-91-kielen. Kohahdus=Syksyn 2006 ohjelmistotuotantoprojekti (tämä projekti) TitoTrainer=Projektimme tuotos Järjestelmä=TitoTrainer Ohjelma=Opiskelijan kirjoittama TTK91-ohjelma, eli vastaus johonkin tehtävään eassari=tietokantapohjainen ympäristö ohjelmallisesti tarkastettavien harjoitus- ja koetehtävien suorittamiseen Titokone=Koski-nimisen Ohjelmistotuotantoprojektiryhmän vuonna 2004 rakentama järjestelmä konekielisten ohjelmien kääntämiseen ja suorittamiseen. Koski=Vuoden 2004 Ohjelmistotuotantoprojekti joka rakensi konekielen simulaattorin ja debug-ympäristön, eli Titokoneen Koskelo=Vuoden 2004 Ohjelmistotuotantoprojekti, joka integroi Titokoneen ja eassari-
6 kehyksen yhteen. Ratkaisusta ei tullut kuitenkaan käyttökelpoista, eikä sitä ole otettu käyttöön. Kriteeri=Sääntö jonka mukaan tehtävän oikeellisuus tarkistetaan. Kriteereitä voi olla monta yhdelle tehtävälle. Aihepiiri=Tehtävälle täytyy määritellä aihepiiri, johon tehtävä kuuluu. 2 3 Toiminnot Tämä luku kuvaa järjestelmän HTML-sivut ja sen, mitä toimintoja ne tarjoavät käyttäjälle. 3.1 Rekisteröityminen Rekisteröintisivulla opiskelija rekisteröityy järjestelmän käyttäjäksi. Rekisteröinti vaatii seuraavat tiedot: etunimi, sukunimi, käyttökieli, sähköposti, opiskelijanumero tai henkilötunnus, sekä haluttu käyttäjätunnus ja salasana 3.2 Käyttäjätietojen muokkaaminen Käyttäjätietosivulla sisäänkirjautunut käyttäjä voi muokata rekisteröintitietojaan, poislukien tunnus joka on valittu rekisteröidyttäessä. Käyttäjätietojen muokkaamisen ei tarvitse toimia opettajien tunnusten kanssa, mutta odotettavissa on, että opettajatunnusten tukeminen ei aiheuta minkäänlaista lisätyötä. 3.3 Kirjautuminen Kirjautumissivulla käyttäjä syöttää tunnuksensa, salasanansa ja pudotusvalikosta kurssin nimi. Kurssivalinta määrittää, että minkä kurssin suorituksiin opiskelijan tekemät vastaukset tallennetaan. Opettajan ollessa kyseessä kurssivalinnalla ei ole merkitystä. Jos kirjautuminen onnistuu, näytetään tehtävälistaus. Jos kirjautuminen epäonnistuu, käyttäjä palautetaan kirjautumissivulle. 3.4 Kurssien ja tehtävien valinta (opettaja) Kirjautumisen jälkeen opettajalle näytetään kurssilistaus josta opettaja voi siirtyä kurssin statistiikka-sivulle. Kurssilistauksesen alla on myös lomake uuden kurssin luomista varten. Samalla sivulla näytetään myös tehtävälista. Listassa näytetään tehtävän kieli, aihepiiri ja nimi, sekä viimeinen muokkauspäivä ja muokkaaja. Listattuja tehtäviä voi muokata ja poistaa, sekä käynnistää uuden tehtävän luomisen.
7 3 3.5 Tehtävän määrittely (opettaja) Tehtävänmäärittelysivulla opettaja voi luoda uuden tehtävän tai muokata olemassa olevaa tehtävää. Tehtävälle määritellään nimi, tehtävänanto, tarkastustyyppi (malliratkaisu/kiinteät arvot), tehtävätyyppi (täyttötehtävä/ohjelmointitehtävä), sekä tarkastuskriteerit ja kriteerien palautteet. 3.6 Kurssin statistiikka (opettaja) Kurssin statistiikkasivulla opettajalle näytetään lista kaikkien kurssin tehtäviä suorittaneiden opiskelijoiden suorituksista. Listassa näytetään opiskelijan nimi, opiskelijanumero tai henkilötunnus, sekä onnistuneesti ratkaistujen tehtävien määrä. Lista on helposti tulostettavassa muodossa. Listassa opiskelijan nimi toimii linkkinä ko. opiskelijan käyttäjätietosivulle. Kurssin statistiikka toteutetaan toisessa kehitysiteraatiossa. 3.7 Käyttäjän tiedot (opettaja) Käyttäjän statistiikkasivulla opettajalle näytetään opiskelijan tarkemmat tiedot. Listassa näkyy salasanaa lukuunottamatta kaikki rekisteröintitiedot. Käyttäjän tiedot toteutetaan toisessa kehitysiteraatiossa. 3.8 Tehtävien valinta (opiskelija) Kirjautumisen jälkeen opiskelijalle näytetään tehtävälista, josta opiskelija voi valita tehtävän ratkaistavaksi. Listassa näytetään tehtävän kieli, aihepiiri ja nimi, sekä tieto onko opiskelija yrittänyt jo tehtävän suoritusta ja onko yritys onnistunut. 3.9 Tehtävään vastaaminen (opiskelija) Opiskelijan ratkaistavaksi valitsemasta tehtävästä näytetään nimi ja tehtävänanto, mahdollinen valmis koodi mikäli kyseessä on täyttötehtävä, sekä tekstialue johon opiskelija kirjoittaa vastauksensa. Lisäksi on linkki jolla pääsee takaisin tehtävälistaukseen. Kun opiskelija on kirjoittanut vastauksensa, hän painaa "Suorita-nappia joka vie takaisin tehtävävastaussivulle. Sivulla näytetään samat tiedot kuin alussa, mutta lisäksi näytetään palautetta tehtävän ratkaisun onnistumisesta/epäonnistumisesta. Tehtävään vastaaminen toteutetaan toisessa kehitysiteraatiossa.
8 4 Arkkitehtuurisuunnitelma 4 Järjestelmä on jaettu kahteen osajärjestelmään, Titokone ja eassari/titotrainer. Ideaalitapaus olisi ollut kolme osajärjestelmää, jossa eassari on TitoTraineria kutsuva sovelluskehys. Tämä malli ei kuitenkaan ole mahdollinen, johtuen eassarin keskeneräisyydestä. Lopputuotteelle asettujen vaatimusten täyttäminen vaatii huomattavia lisäyksiä eassariin, mm. puuttuvat kurssien ja käyttäjien hallinta täytyy tehdä. Kireän aikataulun vuoksi eassaria ei yritetä säilyttää geneerisenä kehyksenä, vaan muokkauset tehdään vain Kohahdus projektin tarpeita ajatellen. Käytännössä eassarista tehdään siis ns. code fork, eli synnytetään täysin TitoTrainer-spesifinen eassari-versio, jonka ei taata olevan yhteensopiva geneerisen eassarin kanssa. Ainoa osuus eassarista jota pyritään käyttämään sen alkuperäisen arkkitehtuurin mukaan, on tehtävien tarkistus eli Answer-servlet ja Analyzer sekä Feedback rajapinnat. Tietokannan rakennetta ei myöskään muuteta, mutta kaikkia tauluja ei käytetä (kts. tämän dokumentin luku Tietokanta). Titokonetta käytetään sen TTK91-rajapintojen kautta, joita muokataan tarpeen mukaan jotta vaatimuksissa esitetyt tehtävien tarkistukset ja suorituksenaikaiset tilastot saadaan toteutettua. Titokoneen käytön ja muokkauksen yksityiskohdat jätetään toisen iteraation asioiksi. 5 Tietokanta Kuva 1: Tietokantakaavio Tietotokannan rakenteen määrää eassari kehys. Rakenne on kuvattu liitteessä 1. Ajanpuutteesta johtuen module-tietokantataulua ei tulla käyttämään sen mahdollistamassa laajuudessa. Kyseisestä taulusta luodaan vain yksi rivi kantaan, johon sitten viitataan muista tauluista. Lisäksi jokainen tehtävä sisältyy jokaiseen kurssiin. Eli kun tehtävä luodaan,
9 niin se liitetään jokaiseen kurssiin. Lisäksi kun kurssi luodaan, niin jokainen tehtävä lisätään kyseiseen uuteen kurssiin. Tämä linkitys tapahtuu "taskinmodule-tietokantataulussa. Tietokantaa käytetään aina DBHandler-luokan kautta, joka piilottaa tietokantarakenteen yksityiskohdat. Eli SQL-lauseita tulee vain ks. luokkaan eikä muualle koodiin. DBHandlerluokasta voidaan luoda instanssi staattisen DBHandler.getInstance() -metodin avulla. Tämä tarkoittaa sitä, että ko. luokkaa voidaan käyttää virtuaalikoneen sisällä mistä vaan Tasktype Tasktype on eassari-kehyksen tarvitsema taulu, joka määrittelee tehtävätyypin käyttämät Analyzer ja Displayer luokat. Tauluun olisi mahdollista tallentaa myös muuta tehtävätyyppikohtaista tietoa, mutta ainakaan ensimmäisen iteraation kohdalla tälle ei ole näkyvissä tarvetta. 5.2 Task Task määrittelee tehtävän. Itse task-tauluun tallennetaan lähinnä tehtävän nimi ja luojan nimi. Tehtävän kriteerit, kuvaus, palautteet yms lisätään yleiskäyttöiseen attributevaluestauluun. 5.3 Course Määrittelee kurssin nimen ja tunnisteen. Tähän tauluun viitataan useista muista tauluista, jotta esimerkikisi opiskelijoiden suoritukset voidaan kirjata tietylle kurssille. 5.4 Module Luotuja tehtäviä ei liitetä suoraan kursseihin, vaan moduuleihin ja moduulit liitetään kursseihin. Kurssiin voi liittää useita moduuleja, mutta yhtä moduulia ei voi lisätä useaan kurssiin. TitoTrainer ei käytä moduuleja siinä laajuudessa kuin tietokannan rakenne mahdollistaisi, vaan toteutuksen ja käyttöliittymien yksinkertaistamiseksi jokaiselle kurssille luodaan tarkalleen yksi moduuli johon lisätään kaikki tehtävät. 5.5 Taskinmodule Yhdistää tehtävän kurssiin ja moduuliin. Normaalitapauksessa siis tehtävä lisättäisiin jonkin kurssin johonkin moduulin luomalla rivi taskinmodule-tauluun. TitoTrainerin tapauksessa on määritelty, että kaikki tehtävät kuuluvat kaikkiin kursseihin, joten kun opettaja luo tehtävän, TitoTrainer luo automaattisesti yhtä monta taskinmodule riviä kuin on kursseja. Samoin kun luodaan uusi kurssi, sille luodaan automaattisesti
10 moduuli ja kaikki olemassa olevat tehtävät lisätään ko. moduuliin. Näin ollen aina pitää paikkansa, että Taskinmodule rivien määrä = Task rivien määrä * Course rivien määrä Attributevalues Yleiskäyttöinen varasto jonne voi tallentaa mitä tahansa lisätietoa koskien mitä tahansa muuta taulua. Tänne tallennetaan tehtävien kriteerit, palautteet, aihepiiri, esimerkkiratkaisu, ja lähes kaikki muu tieto tehtävästä nimeä lukuunottamatta. Lisäksi voidaan tallentaa esimerkiksi lisätietoja kursseista jos tarvetta ilmenee. 5.7 EAuser Taulu kaikkien käyttäjätietojen tallentamiseen. Sekä oppilaat ja opettajat tallennetaan tänne, erona näillä on vain status-sarakkeen arvo. 5.8 Storedanswer Kun opiskelija vastaa tehtävään, vastaus sekä tiedot sen oikeellisuudesta tallennetaan tähän tauluun. 5.9 Studentmodel Jokaista tehtävän vastausyritystä kohden luodaan storedanswer-tauluun yksi rivi. Studentmodeltaluun tallennetaan yksi rivi per tehtävä, vaikka vastausyrityksiä olisi useampia. Rivillle tallennetaan tieto siitä, onko tehtävä suoritettu onnistuneesti ja kuinka monta yritystä tehtävään on käytetty. Nämä tiedot olisi mahdollista päätellä koostefunktioden avulla storedanswer-taulusta, mutta ilmeisesti tehokkuuden parantamisksi on luotu erillinen koostetaulu Taskattributes Task-attributes on eassarissa tarkoitettu kuvaamaan tehtävien attribuuttien rakennetta. eassari ei kuitenkaan missään vaiheessa itse hyödynnä tätä taulua, eikä TitoTrainerkään sitä tarvitse, joten taulu jää täysin käyttämättä Pluginparameters Tämän taulun tarkoitus on jäänyt täysin hämärän peittoon, eassari ei missään kohtaa koodissaan viittaa mihinkään plugineihin. TitoTrainerillä ei myöskään ole tälle taululle mitään käyttöä, joten se jää täysin käyttämättä.
11 Pluginparamattributes Kuten pluginparameters, jää käyttämättä. 6 Luokat 6.1 Criterion public abstract class Criterion Base class for all criterion types. The many different types of criteria in TitoTrainer are all used via the interface defined here. The analyzer component does not know the details of different Criterion sub-classes. Only the composer used for creating and modiying Tasks is even aware that differnt types of criteria exist. public String getpositivefeedback(titostate studentanswer) Return the positive feedback string of this Criterion. Criterion types that also evaluate quality of the answer should overide this method so they can return a different string depending on the quality of the student s answer. public String getnegativefeedback() Return the negative feedback string of this Criterion public boolean issecretinputcriterion() Return true if this criterion is to be used with secret input public String serializetoxml() Return a serialized copy of this Criterion in XML-format public abstract boolean meetscriterion(titostate studentanswer, TitoState modelanswer); Return true if student s answer meets the condition(s) of this criterion. Criterion types that also evaluate quality of the answer must return <code>true</code> if the answer fullfills the passing requirement, even if answer was deemed low quality. protected abstract String serializesubclass(); Serialize non-static data-members of Criterion sub-class to XML format. The subclass can freely decide the names of the XML tags. The abstract Criterion class will handle the serialization of its data-members. The serialized string is stored in the eassari database in a 2000-char field so subclasses should try to keep the tags and data short (without being cryptic).
12 protected abstract void initsubclass(string serializedxml); Initialize non-static data-members of this Criterion subclass instance using the serialized representation returned by <code>serializetoxml()</code>. The data-member of the abstract Criterion class will have already been deserialized when this method is called. 8 public static Criterion deserializefromxml(string xml) Instantiate new Criterion object using the serialized form Xml protected static String toxml(string tagname, boolean value) Serialize boolean value to XML string. Helper function for serializesubclass() protected static String toxml(string tagname, String value) Serialize String value to XML string. Helper function for serializesubclass() protected static String toxml(string tagname, int value) Serialize integer value to XML string. Helper function for serializesubclass() protected static boolean parsexmlboolean(string XML, String tagname) Deserialize boolean value from XML string. Helper function for initsubclass() protected static String parsexmlstring(string XML, String tagname) Deserialize String value from XML string. Helper function for initsubclass() protected static int parsexmlint(string XML, String tagname) Deserialize integer value from XML string. Helper function for initsubclass() 6.2 DBHandler public class DBHandler Singleton class used for database interactions. Each public method of DBHandler class encapsulates one database transaction, and thus may cause multiple inserts/updates/removes with one call. The atomicity of the operations is quaranteed by using the transaction model provided by the SQL standard. private DBHandler() Prevent youside instatiation by giving constructor private scope public static synchronized DBHandler getinstance() Return DBHandler instance
13 9 public Task[] gettasks() Return all tasks public Task gettask(string taskid) Return task identified by taskid public Criterion[] getcriteria(task task) Return the criteria of Task task public void createtask(task task, Criterion[] criteria) Add new task to task database. The insert will affect all courses. This operation will also create the criteria for the task public void updatetask(task task, Criterion[] criteria) Update existing task. The update will affect all courses. This operation will also update the criteria for the task. public void removetask(task task) Remove task from task database (and thus all courses). This will also remove all stored answers of the task. public User[] getusers(course c) throws SQLException Return all users who have attempted to solve at least one task of Course c public User getuser(string userid, String password) throws SQLExceptio Return user identified by userid public User getuser(string userid) throws SQLException Return user identified by userid public void createuser(user user) Add new user to user database public void updateuser(user user) Update existing user 6.3 Task public class Task
14 10 Modify existing Task class by adding the following methods public String getname() Return the name of this task public void setname(string name) Set the name of this task public String getauthor() Return name of the last person who has modified this task public void setauthor(string name) Set "last task modification by"attribute to Name, set last-modification-timestamp to current data and time public Date getmodificationdate() Return the date and time this task was last modified public String getmodelanswer() Return code of the model answer provided by teacher public void setmodelanswer(string code) Set model answer code public boolean isvalidatebymodel() Return true if this task is to be validated by comparing results of the student s answer to results of teacher s answer public void setvalidatebymodel(boolean usemodel) Set the validation method of this task public String getcategory() Return the task category of this task public void setcategory(string category) Set task category of this task public boolean isfillintask() Return true if this is a fill-in task
15 11 public void setfillintask(boolean fillin) Set this task as fill-in or create-full-program public String getfillinprecode() Return the code that is prepended before student s code in a fill-in task public void SetFillInPreCode(String code) Set the code that is prepended before student s code in a fill-in task public String getfillinpostcode() Return the code that is appended to student s code in a fill-in task public void SetFillInPostCode(String code) Set the code that is appended to student s code in a fill-in task public String getdescription() Return the description (tehtävänanto) of this task public void setdescription() Set description (tehtävänanto) of this task 6.4 User public class User Modify existing User class by adding the following methods public static final String STATUS_STUDENT = "student"; public static final String STATUS_TEACHER = "teacher"; public User() Construct unitialized User object public User(String userid) Construct unitialized User object with userid public void setlastname(string lastname) Set last name of this user
16 12 public void setfirstname(string firstname) Set first name of this user public void set (string ) Set address of this user public void setuserid(string userid) Set userid of this user public String getstudentnumber() Return student number of this user. This identifier maps to <code>aeuser.extid</code> in the database public void setstudentnumber(string studentnum) Set student number of of this user public String getsocialsecuritynumber() Return social security number of this user. This identifier maps to <code>aeuser.extid2</code> in the database public void setsocialsecuritynumber(string ssn) Set social security number of this user public void setpassword(string pass) Set password of this user to Pass public void setlanguage(string lang) Set the preferred language of this user. The language is either "EN"or "FI public String getstatus() Return status of this user public boolean isteacher() Return true of this user has the privelidges to add/remove/modify tasks and browse user statistics public void setstatus(string status) throws IllegalArgumentException if Status is not a valid Status string Set user status (teacher / student)
17 public boolean isvalid() Test validity of this user object. The object is considered valid if all data members are set with non-empty values Course public class Course Simple class for holding basic course information public Course(String name, String id) Create new Course instance using the specified name and ID public String getname() Return name of this course public void setname(string name) Set name of this course public String getid() Return course ID of this course 6.6 TitoAnalyzer public class TitoAnalyzer implements AnalyzerInterface Class for analyzing tasks, required by eassari. Designed and implemented in 2nd development iteration. 6.7 TitoDisplayer public class TitoDisplayer implements DisplayerInterface Class for displaying tasks, required by eassari. Designed and implemented in 2nd development iteration.
18 TitoState public class TitoState Capsulates the end-state of single run of TitoKone. This class will provide methods for querying the TitoKone end state. Designed and implemented in 2nd development iteration. 7 JSP sivujen sekvenssikaaviot Tämä luku esittelee toteutettavien JSP-sivujen toimintalogiikan. Sekvenssikaaviot esittelevät tärkeimmät eri toiminnoissa käytetyt luokat ja metodit, menemättä kuitenkaan aivan samalle tasolle kuin lopullinen ohjelmakoodi. Myöskään kaikkia toimintoja ei kuvata, esimerkiksi erilaisten listausten näyttäminen katsotaan niin suoraviivaiseksi, että ne onnistuvat ilman erillistä suunnitelmaa. Sekvenssikaavioit esittävät miten TitoTrainer/eAssari käsittelee tapahtuman, jossa käyttäjä on täyttänyt lomakkeen ja lähettänyt sen palvelimen käsiteltäväksi. Vain onnistuneet tapahtumat on kuvattu, esimerkiksi väärän salasanan syöttäminen kirjautumislomakkeeseen katkaisee kuvatun sekvenssin ja palauttaa käyttäjälle virheilmoituksen. 7.1 Register.jsp 7.2 Login.jsp 7.3 TeacherTaskList.jsp 7.4 TaskList.jsp Ei kaaviota. Sisältää vain opiskelijan tehtävälistauksen. 7.5 Report.jsp Toteutetaan ja suunnitellaan toisessa iteraatiossa 7.6 UserInfo.jsp Toteutetaan ja suunnitellaan toisessa iteraatiossa
19 Käytäjänluominen :käytäjä:registeṛjsp:dbhandler submit :User :HtpSesion getuser 15 returnul (uid) returnuser new User(.) createuser(user) setatr ibute("user",user) 7.7 Composer.jsp 7.8 TeacherTaskList.jsp 7.9 Answer-servlet Kuva 2: Käyttäjän rekisteröityminen Toteutetaan ja suunnitellaan toisessa iteraatiossa
20 Käytäjätietojenmuokaminen :käytäjä:modify_useṛjsp:dbhandler :HtpSesion:User 0 request getatribute("user") (näytävanhatiedot) returnuser() submit g etatribute("user") returnuser() ok up dateuser() setp asword()șetname(),. :Käytäjä:Logiṇjsp:DBHandler Submit :User :HtpSesion:TaskLisṭjsp Kuva ret getuser() 3: Käyttäjätietojen muokkaaminen urnuser getpasword() returnpaswordsetatribute("user",user) HtpRedirect HtpRequest Kuva 4: Kirjautuminen
21 1 :Käytäjä:TaskList2.jsp submit getcourses() :DBHandler :Course Courses[] new Course() createcourse() returncourse gettasks() Tasks[] a dtask(coursețask)foreachtask "Tasks/Courses" Kuva 5: Kurssin luominen
22 2 :Käytäjä:create_tasḳjsp:DBHandler:Task:extendsCriterion submit g ettasks() T ask[]newtask() T ask newcriterion() setcriteria() createtask()adcriteria() adtask()foreachcourse getcourses() Kuva 6: Tehtävän luominen
23 3 :Käytäjä:Create_tasḳjsp:DBHandler HtpRequest gettask(id)newtask() :Task :Criterion JSPnäytätaskintiedot Submit returntaskreturntas setname() k seta uthor() new<?>c riterion luodankaikikriterit setcriteria()return<?>cr iterion updatetask(task)removecriteria(task) adcriterion(criterion)foreachcriterion Kuva 7: Tehtävän muokkaaminen
Suunnitteludokumentti
Suunnitteludokumentti Kohahdus Helsinki 20.11.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Taro Morimoto,
Järjestelmän syötteet ja tulosteet Kohahdus Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Järjestelmän syötteet ja tulosteet Kohahdus Helsinki 5.11.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä
Ylläpitodokumentti. Kohahdus. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Ylläpitodokumentti Kohahdus Helsinki 14.12.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti ( ov) Projektiryhmä Taro Morimoto,
Ohjelmointikielet ja -paradigmat 5op. Markus Norrena
Ohjelmointikielet ja -paradigmat 5op Markus Norrena Ko#tehtävä 4 Viimeistele "alkeellinen kuvagalleria". Käytännössä kaksi sivua Yksi jolla voi ladata kuvia palvelimelle (file upload) Toinen jolla ladattuja
Vaatimusdokumentti. Kohahdus. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Vaatimusdokumentti Kohahdus Helsinki 29.9.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Taro Morimoto,
812336A C++ -kielen perusteet, 21.8.2010
812336A C++ -kielen perusteet, 21.8.2010 1. Vastaa lyhyesti seuraaviin kysymyksiin (1p kaikista): a) Mitä tarkoittaa funktion ylikuormittaminen (overloading)? b) Mitä tarkoittaa jäsenfunktion ylimääritys
1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä
OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 811122P (5 op.) 12.12.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan
1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä
OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 81122P (4 ov.) 30.5.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan
Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen
Esimerkki: Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen Luo tietokanta Koulu. Tietokantaan lisätään 3 taulua. Kurssit-taulu: kurssiid not null primary key INTEGER aineid not
Rajapinta (interface)
1 Rajapinta (interface) Mikä rajapinta on? Rajapinta ja siitä toteutettu luokka Monimuotoisuus ja dynaaminen sidonta Rajapinta vs periytyminen 1 Mikä rajapinta on? Rajapintoja käytetään, kun halutaan määritellä
Loppuraportti. Kohahdus. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Loppuraportti Kohahdus Helsinki 14.12.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Taro Morimoto, Projektipäällikkö
Ohjelmointikielet ja -paradigmat 5op. Markus Norrena
Ohjelmointikielet ja -paradigmat 5op Markus Norrena Kotitehtävä 6, toteuttakaa alla olevan luokka ja attribuutit (muuttujat) Kotitehtävä 6, toteuttakaa alla olevan luokka ja attribuutit (muuttujat) Huom!
Ohjelmointikielet ja -paradigmat 5op. Markus Norrena
Ohjelmointikielet ja -paradigmat 5op Markus Norrena Kotitehtävistä: Pankkitilit kotitehtävä 7 Toteuttakaa kotitehtävä 1:n kuvan mukaiset metodit open(), close(), deposit(), withdraw(), joilla voi Nostaa
Testausraportti Kohahdus Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Testausraportti Kohahdus Helsinki 13.12.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Taro Morimoto,
Projektisuunnitelma. Kohahdus. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Projektisuunnitelma Kohahdus Helsinki 11.12.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Taro Morimoto,
FinFamily Installation and importing data (11.1.2016) FinFamily Asennus / Installation
FinFamily Asennus / Installation 1 Sisällys / Contents FinFamily Asennus / Installation... 1 1. Asennus ja tietojen tuonti / Installation and importing data... 4 1.1. Asenna Java / Install Java... 4 1.2.
15. Ohjelmoinnin tekniikkaa 15.1
15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Lueteltu tyyppi enum. Override-annotaatio. Geneerinen ohjelmointi. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien
15. Ohjelmoinnin tekniikkaa 15.1
15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Geneerinen ohjelmointi. Lueteltu tyyppi enum. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien silmukoimiseen:
Apuja ohjelmointiin» Yleisiä virheitä
Apuja ohjelmointiin» Yleisiä virheitä Ohjelmaa kirjoittaessasi saattaa Visual Studio ilmoittaa monenlaisista virheistä "punakynällä". Usein tämä johtuu vain siitä, että virheitä näytetään vaikket olisi
Action Request System
Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet
Salasanan vaihto uuteen / How to change password
Salasanan vaihto uuteen / How to change password Sisällys Salasanakäytäntö / Password policy... 2 Salasanan vaihto verkkosivulla / Change password on website... 3 Salasanan vaihto matkapuhelimella / Change
Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys
Ohjelmistojen mallintamisen ja tietokantojen perusteiden yhteys Tällä kurssilla on tutustuttu ohjelmistojen mallintamiseen oliomenetelmiä ja UML:ää käyttäen Samaan aikaan järjestetyllä kurssilla on käsitelty
Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2
4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä
Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2
4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä muuttujia ja vakioita. Esittely
Testaussuunnitelma Labra
Testaussuunnitelma Labra Helsinki 25.8.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 1 Kurssi 581260 Ohjelmistotuotantoprojekti (9+1op) Projektiryhmä Anssi Kapanen,
FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL
FinFamily PostgreSQL 1 Sisällys / Contents FinFamily PostgreSQL... 1 1. Asenna PostgreSQL tietokanta / Install PostgreSQL database... 3 1.1. PostgreSQL tietokannasta / About the PostgreSQL database...
RINNAKKAINEN OHJELMOINTI A,
RINNAKKAINEN OHJELMOINTI 815301A, 18.6.2005 1. Vastaa lyhyesti (2p kustakin): a) Mitkä ovat rinnakkaisen ohjelman oikeellisuuskriteerit? b) Mitä tarkoittaa laiska säikeen luominen? c) Mitä ovat kohtaaminen
Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Asennusohje Sahara-ryhmä Helsinki 31.8.2005 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Sanna Keskioja Sampo
Käyttäjienhallintatyökalu
Käyttäjienhallintatyökalu 2 Käyttäjienhallinta-ohje Sisällysluettelo 1 Yleistä Käyttäjienhallintatyökalusta... 3 1.1 Excel-taulukko csv-tiedoston luomisessa...4 2 Käyttäjien luominen... 4 2.1 Käyttäjien
Java UI-komponentit (JTable) Juha Järvensivu juha.jarvensivu@tut.fi 2007
Java UI-komponentit (JTable) Juha Järvensivu juha.jarvensivu@tut.fi 2007 JTable Datan esittäminen taulukkomuodossa Datan valitseminen taulukosta Datan muokkaaminen (lisääminen, muokkaaminen, poistaminen)
Object Framework - One. OF-1 is a high-productive Multi-UI OpenEdge data driven development framework. Veli-Matti Korhonen
Object Framework - One OF-1 is a high-productive Multi-UI OpenEdge data driven development framework Veli-Matti Korhonen Aiheet OF-1 esittely Mitä ominaisuuksia saa ilman ohjelmointia Miten ohjelmoidaan
T Henkilökohtainen harjoitus: FASTAXON
T-76.115 Henkilökohtainen harjoitus: FASTAXON Suunnittelumallit Group: Muuntaja Pentti Vänskä 52572W 2 1. Toteutus Tämä henkilökohtainen harjoitustyö käsitteli suunnittelumallien (Design Patterns) käyttöä
Ohjelmointi 2 / 2010 Välikoe / 26.3
Ohjelmointi 2 / 2010 Välikoe / 26.3 Välikoe / 26.3 Vastaa neljään (4) tehtävään ja halutessa bonustehtäviin B1 ja/tai B2, (tuovat lisäpisteitä). Bonustehtävät saa tehdä vaikkei olisi tehnyt siihen tehtävään
Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Asennusohje Sahara-ryhmä Helsinki 24.8.2005 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Sanna Keskioja Sampo
Ylläpitodokumentti. Boa Open Access. Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Ylläpitodokumentti Boa Open Access Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Ilmari
The CCR Model and Production Correspondence
The CCR Model and Production Correspondence Tim Schöneberg The 19th of September Agenda Introduction Definitions Production Possiblity Set CCR Model and the Dual Problem Input excesses and output shortfalls
Listarakenne (ArrayList-luokka)
Listarakenne (ArrayList-luokka) Mikä on lista? Listan määrittely ArrayList-luokan metodeita Listan läpikäynti Listan läpikäynti indeksin avulla Listan läpikäynti iteraattorin avulla Listaan lisääminen
Oppimisalusta eassarin TTK-91-tehtävien käyttöohje
Oppimisalusta eassarin TTK-91-tehtävien käyttöohje Koskelo Helsinki 15.12.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6
Ylläpitodokumentti. Oppimistavoitteiden hallintajärjestelmä harri
Ylläpitodokumentti Oppimistavoitteiden hallintajärjestelmä harri Helsinki 14.12.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti
Ylläpitodokumentti. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie
Ylläpitodokumentti Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie Helsinki 16.7.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti
Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014
Ohjelmoinnin jatkokurssi, kurssikoe 28.4.2014 Kirjoita jokaiseen palauttamaasi konseptiin kurssin nimi, kokeen päivämäärä, oma nimi ja opiskelijanumero. Vastaa kaikkiin tehtäviin omille konsepteilleen.
Tietokannat II -kurssin harjoitustyö
Tietokannat II -kurssin harjoitustyö Jyri Lehtonen (72039), jkoleh@utu.fi Azad Hajipour (72187), azhaji@utu.fi 10.6.2007 Sisältö 1. Tietokannan kuvaus... 1 1.1 Tietokannan rakenne... 1 1.2 Relaatiokaava
on ohjelmoijan itse tekemä tietotyyppi, joka kuvaa käsitettä
LUOKAN MÄÄRITTELY Luokka, mitä se sisältää Luokan määrittely Olion ominaisuudet eli attribuutit Olion metodit Olion muodostimet ja luonti Olion tuhoutuminen Metodin kutsu luokan ulkopuolelta Olion kopioiminen
You can check above like this: Start->Control Panel->Programs->find if Microsoft Lync or Microsoft Lync Attendeed is listed
Online Meeting Guest Online Meeting for Guest Participant Lync Attendee Installation Online kokous vierailevalle osallistujalle Lync Attendee Asennus www.ruukki.com Overview Before you can join to Ruukki
JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?
JAVA-OHJELMOINTI 3op A274615 JAVAN PERUSTEET LYHYT KERTAUS Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: http://java.sun.com/docs/books/tutorial/index.html Vesterholm, Kyppö: Java-ohjelmointi,
Lohtu-projekti. Ylläpitäjän dokumentti. Versiohistoria: Ensimmäinen versio Andreas Asuja
Lohtu-projekti Ylläpitäjän dokumentti Versiohistoria: 1.0 12.5.2003 Ensimmäinen versio Andreas Asuja Helsinki 12. toukokuuta 2003 Kimmo Airamaa, Andreas Asuja, Mari Muuronen, Seppo Pastila, Virve Taivaljärvi
Testaussuunnitelma. Koskelo. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Testaussuunnitelma Koskelo Helsinki 16.12.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Tom Bertell Johan
Metodien tekeminen Javalla
1 Metodien tekeminen Javalla Mikä metodi on? Metodin syntaksi Metodi ja sen kutsuminen Parametreista Merkkijonot ja metodi Taulukot ja metodi 1 Mikä metodi on? Metodilla toteutetaan luokkaan toiminnallisuutta.
EDMODO. -oppimisympäristö opettajille ja oppilaille KOONNUT: MIKA KURVINEN KANNUKSEN LUKIO
EDMODO -oppimisympäristö opettajille ja oppilaille KOONNUT: MIKA KURVINEN KANNUKSEN LUKIO HUOM! Edmodo kehittyy koko ajan, seuraavat ohjeet voivat olla jo päivityksen tarpeessa. 1 Sisällysluettelo Rekisteröityminen
812341A Olio-ohjelmointi Peruskäsitteet jatkoa
812341A Olio-ohjelmointi 2106 Peruskäsitteet jatkoa Luokkakohtaiset piirteet n Yhteisiä kaikille saman luokan olioille n Liittyvät luokkaan, eivät yksittäiseen olioon n Kaikki ko. luokan oliot voivat käyttää
Ylläpitodokumentti Labra
Ylläpitodokumentti Labra Helsinki 26.8.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 1 Kurssi 581260 Ohjelmistotuotantoprojekti (9+1op) Projektiryhmä Anssi Kapanen,
Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista
Sisällys 1. Omat operaatiot Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma
Other approaches to restrict multipliers
Other approaches to restrict multipliers Heikki Tikanmäki Optimointiopin seminaari 10.10.2007 Contents Short revision (6.2) Another Assurance Region Model (6.3) Cone-Ratio Method (6.4) An Application of
1. Omat operaatiot 1.1
1. Omat operaatiot 1.1 Sisällys Yleistä operaatioista. Mihin operaatioita tarvitaan? Oman operaation määrittely. Yleisesti, nimeäminen ja hyvä ohjelmointitapa, määreet, parametrit ja näkyvyys. HelloWorld-ohjelma
Kirjasto Relaatiotietokannat Kevät 2001. Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina
Kirjasto Kevät 2001 Auvinen Annemari Niemi Anu Harjoitustyö 7.4.2001 Sisällysluettelo 1. Yleiskuvaus... 3 2. Vaatimukset... 3 2.1. Toiminnalliset... 3 2.1.1. Sisäänkirjautuminen... 3 2.1.2. Nimikkeiden
9. Periytyminen Javassa 9.1
9. Periytyminen Javassa 9.1 Sisällys Periytymismekanismi Java-kielessä. Piirteiden näkyvyys periytymisessä. Ilmentymämetodien korvaaminen. Luokkametodien peittäminen. Super-attribuutti. Override-annotaatio.
Choose Finland-Helsinki Valitse Finland-Helsinki
Write down the Temporary Application ID. If you do not manage to complete the form you can continue where you stopped with this ID no. Muista Temporary Application ID. Jos et onnistu täyttää lomake loppuun
Sisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen
Sisällys 6. Metodit Oliot viestivät metodeja kutsuen. Kuormittaminen. Luokkametodit (ja -attribuutit).. Metodien ja muun luokan sisällön järjestäminen. 6.1 6.2 Oliot viestivät metodeja kutsuen Oliot viestivät
Encapsulation. Imperative programming abstraction via subprograms Modular programming data abstraction. TTY Ohjelmistotekniikka
Encapsulation Imperative programming abstraction via subprograms Modular programming data abstraction Encapsulation grouping of subprograms and the data they manipulate Information hiding abstract data
DOORSin Spreadsheet export/import
DOORSin Spreadsheet export/import 17.10.2006 SoftQA Oy http/www.softqa.fi/ Pekka Mäkinen Pekka.Makinen@softqa.fi Tietojen siirto DOORSista ja DOORSiin Yhteistyökumppaneilla ei välttämättä ole käytössä
Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:
1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri
Olio-ohjelmointi Javalla
1 Olio-ohjelmointi Javalla Olio-ohjelmointi Luokka Attribuutit Konstruktori Olion luominen Metodit Olion kopiointi Staattinen attribuutti ja metodi Yksinkertainen ohjelmaluokka Ohjelmaluokka 1 Olio-ohjelmointi
Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti
Rinnakkaisohjelmointi kurssi Opintopiiri työskentelyn raportti Opintopiiri: Heikki Karimo, Jesse Paakkari ja Keijo Karhu Päiväys: 15.12.2006 Ohjelmointitehtävä C i C i : Säikeet ja kriittisen vaiheen kontrollointi
Uuden lukuvuoden aloitus ViLLEssa
Uuden lukuvuoden aloitus ViLLEssa Tässä dokumentissa käydään läpi lukuvuoden aloituksessa tarvittavat toimenpiteet uuden ViLLEopintopolkukurssin aloittamiseksi. Huomaa, ettet voi suoraan käyttää viime
Efficiency change over time
Efficiency change over time Heikki Tikanmäki Optimointiopin seminaari 14.11.2007 Contents Introduction (11.1) Window analysis (11.2) Example, application, analysis Malmquist index (11.3) Dealing with panel
Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:
Linux-harjoitus 6 Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä: http://www.mysql.com/, MySQL-tietokantaohjelman kotisivu. http://www.mysql.com/doc/en/index.html,
Operatioanalyysi 2011, Harjoitus 4, viikko 40
Operatioanalyysi 2011, Harjoitus 4, viikko 40 H4t1, Exercise 4.2. H4t2, Exercise 4.3. H4t3, Exercise 4.4. H4t4, Exercise 4.5. H4t5, Exercise 4.6. (Exercise 4.2.) 1 4.2. Solve the LP max z = x 1 + 2x 2
16. Javan omat luokat 16.1
16. Javan omat luokat 16.1 Sisällys Johdanto. Object-luokka: tostring-, equals-, clone- ja getclass-metodit. Comparable-rajapinta: compareto-metodi. Vector- ja ArrayList-luokat. 16.2 Javan omat luokat
DriveGate -ohjeet. DriveGate-käyttöohjeet: Rekisteröityminen palveluun. Rekisteröitymisohjeet ja rekisteröitymisprosessin kuvaus
DriveGate-käyttöohjeet: Rekisteröityminen palveluun Rekisteröitymisohjeet ja rekisteröitymisprosessin kuvaus Johdanto Jotta voit käyttää DriveGaten palveluja ja sovelluksia, sinun tulee kirjautua DriveGate-palveluun.
Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Testausdokumentti Kivireki Helsinki 17.12.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Anu Kontio Ilmari
Opiskelijat valtaan! TOPIC MASTER menetelmä lukion englannin opetuksessa. Tuija Kae, englannin kielen lehtori Sotungin lukio ja etälukio
Opiskelijat valtaan! TOPIC MASTER menetelmä lukion englannin opetuksessa Tuija Kae, englannin kielen lehtori Sotungin lukio ja etälukio Päättääkö opettaja ohjelmasta? Vai voisivatko opiskelijat itse suunnitella
Java ja tietokannan käsittely (JDBC)
Java ja tietokannan käsittely (JDBC) Javan tietokannan käsittely luokat (java.sql.*) Yhteys tietokantaan Tietokannan yhteyden sulkeminen Tiedon haku tietokannasta Tiedon päivitys tietokantaan Transaktio
Miten PIC koodin rekisteröityminen tehdään? PIC = Personal Identification Code URF = Unique Registration Facility Participant Portal CIMO
Miten PIC koodin rekisteröityminen tehdään? PIC = Personal Identification Code URF = Unique Registration Facility Participant Portal CIMO Helmikuu Miten valmistaudun tietojen syöttöä varten? 1) Tarkista
Subversion-ohje. Linux Traffic Control-käyttöliittymä Ryhmä paketti2
Subversion-ohje Linux Traffic Control-käyttöliittymä Ryhmä paketti2 Helsinki 1.11.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti
PAROC CALCULUS LASKENTAOHJELMA TIETOKONEELLE ASENNETTAVA VERSIO. Latausohjeet Asennusohjeet
PAROC CALCULUS LASKENTAOHJELMA TIETOKONEELLE ASENNETTAVA VERSIO Latausohjeet Asennusohjeet 1 2 Latausohjeet LATAAMISEN VAIHEET 1. Lataaminen vaatii käyttäjäksi rekisteröitymisen (käyttöliittymä vain englanniksi)
Information on Finnish Language Courses Spring Semester 2017 Jenni Laine
Information on Finnish Language Courses Spring Semester 2017 Jenni Laine 4.1.2017 KIELIKESKUS LANGUAGE CENTRE Puhutko suomea? Do you speak Finnish? -Hei! -Moi! -Mitä kuuluu? -Kiitos, hyvää. -Entä sinulle?
HSMT Tietokannoista. Ville Leppänen. HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32
HSMT Tietokannoista Ville Leppänen HSMT, c Ville Leppänen, IT, Turun yliopisto, 2008 p.1/32 Missä mennään... 1. Johdanto (1h) 2. Säikeet (2h) 3. Samanaikaisuudesta (2h) 4. Hajautetuista sovelluksista (1h)
Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen
Metodit Metodien määrittely Metodin parametrit ja paluuarvo Metodien suorittaminen eli kutsuminen Metodien kuormittaminen 1 Mikä on metodi? Metodi on luokan sisällä oleva yhteenkuuluvien toimintojen kokonaisuus
Käyttöohje. Versiohistoria: 1.0 7.5.2003 1. versio Mari 1.1 9.5.2003 Kommenttien perusteella korjattu versio
Otus- projektinhallintatyökalu Käyttöohje Versiohistoria: 1.0 7.5.2003 1. versio Mari 1.1 9.5.2003 Kommenttien perusteella korjattu versio Mari Tampere 9. toukokuuta 2003 Kimmo Airamaa, Andreas Asuja,
On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)
On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31) Juha Kahkonen Click here if your download doesn"t start automatically On instrument costs
Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site
Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site Note! Before starting download and install a fresh version of OfficeProfessionalPlus_x64_en-us. The instructions are in the beginning of the exercise.
5. HelloWorld-ohjelma 5.1
5. HelloWorld-ohjelma 5.1 Sisällys Lähdekoodi. Lähdekoodin (osittainen) analyysi. Lähdekoodi tekstitiedostoon. Lähdekoodin kääntäminen tavukoodiksi. Tavukoodin suorittaminen. Virheiden korjaaminen 5.2
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka
Returns to Scale II. S ysteemianalyysin. Laboratorio. Esitelmä 8 Timo Salminen. Teknillinen korkeakoulu
Returns to Scale II Contents Most Productive Scale Size Further Considerations Relaxation of the Convexity Condition Useful Reminder Theorem 5.5 A DMU found to be efficient with a CCR model will also be
Harjoitus 7. 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:
Harjoitus 7 1. Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti: class Lintu //Kentät private int _siivenpituus; protected double _aivojenkoko; private bool _osaakolentaa; //Ominaisuudet public int
Security server v6 installation requirements
CSC Security server v6 installation requirements Security server version 6.4-0-201505291153 Pekka Muhonen 8/12/2015 Date Version Description 18.12.2014 0.1 Initial version 10.02.2015 0.2 Major changes
TIETOKANTOJEN PERUSTEET MARKKU SUNI
TIETOKANTOJEN PERUSTEET MARKKU SUNI SQL - KIELI TIETOJEN MUOKKAUS MARKKU SUNI Tarkastellaan tauluissa olevien tietojen muokkausta muokkauskäskyjä: INSERT UPDATE DELETE Kysymys kuuluu: Voiko tietoja muokata
Information on Finnish Courses Autumn Semester 2017 Jenni Laine & Päivi Paukku Centre for Language and Communication Studies
Information on Finnish Courses Autumn Semester 2017 Jenni Laine & Päivi Paukku 24.8.2017 Centre for Language and Communication Studies Puhutko suomea? -Hei! -Hei hei! -Moi! -Moi moi! -Terve! -Terve terve!
Käyttöohje Suomen Pankin DCS2-järjestelmään rekisteröityminen
1 (13) Käyttöohje Suomen Pankin DCS2-järjestelmään rekisteröityminen 2 (13) Sisällysluettelo 1 Palveluun rekisteröityminen... 3 1.1 Henkilötiedot...4 1.2 Suomen Pankin tiedonkeruut... 5 1.2.1 Alustava
Käyttöohje. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Käyttöohje Boa Open Access Helsinki 5.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Ilmari Heikkinen
Written by Administrator Monday, 05 September 2011 15:14 - Last Updated Thursday, 23 February 2012 13:36
!!!!! Relaatiotietokannat ovat vallanneet markkinat tietokantojen osalta. Flat file on jäänyt siinä kehityksessä jalkoihin. Mutta sillä on kuitenkin tiettyjä etuja, joten ei se ole täysin kuollut. Flat
eassari Practicing, assessment and exam engine Harri Laine Taustaa
eassari Practicing, assessment and exam engine Harri Laine Taustaa eassari on tietokantapohjainen ympäristö ohjelmallisesti tarkastettavien harjoitus- ja koetehtävien suorittamiseen. Monikielisyys ja helppo
Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008
Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT Jouni Huotari S2008 2 Proseduurit Ohjelmamoduuleita, jotka voidaan tallettaa tietokantaan (DBMS:n tietohakemistoon)
Alternative DEA Models
Mat-2.4142 Alternative DEA Models 19.9.2007 Table of Contents Banker-Charnes-Cooper Model Additive Model Example Data Home assignment BCC Model (Banker-Charnes-Cooper) production frontiers spanned by convex
SoleMOVE lähtevän harjoittelijan ohje
SoleMOVE lähtevän harjoittelijan ohje 3.12.2013 Kuva: Sanna Waris SoleMOVE lähtevän ERASMUS- harjoittelijan ohje 1 SoleMOVE lähtevän harjoittelijan ohje... 1 1. Kirjautuminen... 3 2. Uuden lähtevän Erasmus-harjoittelijan
Jypelin käyttöohjeet» Ruutukentän luominen
Jypelin käyttöohjeet» Ruutukentän luominen Pelissä kentän (Level) voi luoda tekstitiedostoon "piirretyn" mallin mukaisesti. Tällöin puhutaan, että tehdään ns. ruutukenttä, sillä tekstitiedostossa jokainen
Security server v6 installation requirements
CSC Security server v6 installation requirements Security server version 6.x. Version 0.2 Pekka Muhonen 2/10/2015 Date Version Description 18.12.2014 0.1 Initial version 10.02.2015 0.2 Major changes Contents
PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009
PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009 PROSEDUURIT Ohjelmamoduuleita, jotka voidaan tallettaa tietokantaan (DBMS:n tietohakemistoon)
Vaatimusdokumentti. Koskelo. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Vaatimusdokumentti Koskelo Helsinki 16.12.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Tom Bertell Johan