Tietokannat ja tiedonhallinta: kurssiprojekti

Tämä projekti toteutettiin osana Haaga-Helia ammattikorkeakoulun Tietokannat ja tiedonhallinta -kurssia, joka oli syksyllä 2017. Projektia oli mukana toteuttamassa Laura Rajala (https://laurarajala.wordpress.com/) sekä Laura-Sofia Tuominen.

Projektin tehtävänanto

“Kurun kulttuurinystävät on yhdistys, joka järjestää konsertteja sekä tanssi- ja teatteriesityksiä. Lipunmyynti on toistaiseksi hoidettu käsipelillä. Nyt tavoitteena on rakentaa tietokantapohjainen palvelu, jossa asiakas voi etsiä kiinnostavan tilaisuuden Kurun Kulttuurinystävien Internet-sivuilta, tehdä varauksen ja saada varausnumeron www-lomakkeella. Lippujen maksaminen ja lunastus hoidettaisiin vastedeskin käteisellä Kurun kirjastossa 3 päivän sisällä varauksesta.

Lisätietoja

  • Yhdistyksellä on toistaiseksi käytettävissään kaksi tilaa esityksiä varten. Pienempään tilaan mahtuu 50 katsojaa, suurempaan 500. On mahdollista, että muitakin tiloja saadaan käyttöön tulevaisuudessa.

  • Kurun kulttuurinystävien kortistossa on lukuisten suomalaisten ja ulkomaisten artistien yhteystiedot sekä mahdolliset erityistoivomukset ruokailun yms. suhteen.

  • Samassa tilaisuudessa voi esiintyä useampi artisti. Suositut artistit vierailevat Kurussa usein.

  • Konserttitilojen istumapaikkoja ei ole numeroitu, mutta paloturvallisuussyistä lippuja ei saa varata eikä myydä enempää kuin kyseisen tilan katsojamääräksi on määritelty.

  • Kaikki tietyn tilaisuuden liput ovat samanhintaisia. (Eri tilaisuuksissa lipunhinnat kyllä vaihtelevat.)

  • Lippuvaraus kohdistuu aina yhteen tilaisuuteen (kerrallaan).

  • Lippuvarauksen voi peruuttaa, mikäli varausta ei ole lunastettu.

  • Lippuvarauksen lippumäärän voi muuttaa, mikäli varausta ei ole lunastettu.

  • Lippuvaraus lunastetaan varausnumeron perusteella. Koko varaus on lunastettava kerralla.

  • Asiakkaista ei tallenneta tietoja tietojärjestelmään.

  • Lipunmyyjät eivät voi muuttaa esim. tilaisuuden tietoja, sen voi tehdä vain yhdistyksen toiminnanjohtaja.

Tietotarpeet

Tietojärjestelmän avulla pitäisi pystyä hoitamaan seuraavat tehtävät:

  1. Lippuvarauksen tekeminen

  2. Lippuvarauksen peruuttaminen

  3. Lippuvarauksen lippumäärän muuttaminen

  4. Lunastettujen lippujen kirjaaminen myydyiksi

  5. Lunastamattomien varausten poistaminen tilaisuuksista, jotka ovat jo toteutuneet

  6. Tilaisuuden peruuttaminen (esim. sairastapauksen vuoksi) Huomaa, että lippunsa jo lunastaneiden täytyy saada rahansa takaisin.

Tietojärjestelmän avulla pitäisi pystyä vastaamaan mm. seuraaviin kysymyksiin:

  1. Mitä esityksiä on tarjolla tämän kuukauden aikana ?

  2. Mitä tanssiesityksiä on tarjolla tämän kuukauden aikana ?

  3. Mikä on Arja Korisevan puhelinnumero ?

  4. Montako lippua on lunastettu Arja Raatikaisen tanssiesitykseen Ego 10.10.2010 ?

  5. Onko Shadowplayn konserttiin 20.10.2010 vielä paikkoja ?

  6. Montako paikkaa em. konserttiin on jäljellä ?

  7. Mikä on lipputulojen määrä kuluvana vuonna ?”

 

Tehtävät

Asiakas:

  • voi katsella tulevia ja menneitä esityksiä
  • voi katsella esityksien lunastettujen lippujen määrää
  • voi katsella esityksien hintoja
  • voi varata lippuja (yhteen esitykseen kerrallaan)
  • voi muuttaa esim. varattujen lippujen määrää, mikäli varausta ei ole vielä lunastettu
  • voi peruta varauksen, mikäli varausta ei ole lunastettu
  • lunastaa lippuvarauksen varausnumeron perusteella (huom. ei tapahdu sovelluksessa vaan käteisellä Kurun kirjastossa)

Toiminnanjohtaja

  • voi muuttaa tilaisuuden tietoja
  • voi perua tilaisuuden
  • voi katsella tulevia ja menneitä esityksiä
  • voi katsella esityksien lunastettujen lippujen määrää
  • voi katsella esityksen hintoja
  • voi varata lippuja (yhteen esitykseen kerrallaan)
  • voi muuttaa esim. varattujen lippujen määrää, mikäli varausta ei ole vielä lunastettu
  • voi peruta varauksen, mikäli varausta ei ole lunastettu
  • lunastaa lippuvarauksen varausnumeron perusteella (huom. ei tapahdu sovelluksessa vaan käteisellä Kurun kirjastossa)

Lipunmyyjä

  • Voi katsella tulevia ja menneitä esityksiä
  • Voi katsella esityksien lunastettujen lippujen määrää
  • Voi katsella esityksen hintoja
  • Voi varata lippuja (yhteen esitykseen kerrallaan)
  • voi muuttaa esim. varattujen lippujen määrää, mikäli varausta ei ole vielä lunastettu
  • voi peruta varauksen, mikäli varausta ei ole lunastettu
  • lunastaa lippuvarauksen varausnumeron perusteella (huom. ei tapahdu sovelluksessa vaan käteisellä Kurun kirjastossa)

 

Luokkien määrittely

Lippu_varaus:

  • Varaus_id
  • Esitys_id
  • Lippumaara
  • Tila

Esitys:

  • Esitys_id
  • Pvm
  • Aloitusaika
  • Nimi
  • Kategoria
  • Kesto
  • Myydyt_liput
  • Hinta
  • Paikka
  • Esitysstatus

Paikka:

  • Paikka_id
  • Nimi
  • Osoite
  • Katsojamaara

Artisti:

  • Artisti_id
  • Sukunimi
  • Etunimi
  • Taiteilijanimi
  • Puhnro
  • Sahkoposti
  • Erityistoivomukset

 

Käsitteen nimi: Lippu_varaus
Nimilyhenne: var
Määritelmä: Järjestelmään luotava yksittäinen tosite, joka määritellään esityksen kautta. Varaus tehdään tiettyyn esitykseen.
Attribuutit:
  • Varaus_id
  • Esitys_id (FK, Esitys_id)
  • Lippumaara
  • Tila
Pääaivan: Varaus_id

 

Käsitteen nimi: Esitys
Nimilyhenne: es
Määritelmä: Järjestelmään luotava tapahtuma, joka mahdollisesti koostuu esiintymisistä ja joka tapahtuu tietyn aikavälin sisällä, tietyssä paikassa ja kuuluu nimellisesti tiettyyn kategoriaan.
Attribuutit:
  • Esitys_id
  • Pvm
  • Aloitusaika
  • Nimi
  • Kategoria
  • Kesto
  • Myydyt_liput
  • Hinta
  • Paikka
  • Esitysstatus
Pääaivan: Esitys_id

 

Käsitteen nimi: Paikka
Nimilyhenne: pa
Määritelmä: Järjestelmään määriteltävä paikka, jossa tietty esitys tapahtuu.
Attribuutit:
  • Paikka_id
  • Nimi
  • Osoite
  • Katsojamaara
Pääaivan: Paikka_id

 

Käsitteen nimi: Artisti
Nimilyhenne: art
Määritelmä: Järjestelmään määriteltävä henkilö, joka esiintyy tietyssä esiintymisessä.
Attribuutit:
  • Artisti_id
  • Sukunimi
  • Etunimi
  • Taiteilijanimi
  • Puhnro
  • Sahkoposti
  • Erityistoivomukset
Pääaivan: Artisti_id

Luokkakaavio

luokkakaavio1

Relaatiokaavat

ARTISTI(Artisti_id, Sukunimi, Etunimi, Taitelijanimi, Puhnro, Sahkoposti, Erityistoivomukset)

ESITYS(Esitys_id, Paikka, Nimi, Kategoria, Pvm, Aloitusaika, Kesto, Myydyt_liput,  Hinta, Esitysstatus)

PAIKKA(Paikka_id, Nimi, Osoite, Katsojamaara)

LIPPU_VARAUS(Varaus_id, Esitys_id, Lippumaara, hinta, Tila)

 

Normalisointi

1NM:

ARTISTI(Artisti_id, Sukunimi, Etunimi, Taitelijanimi, Puhnro, Sahkoposti, Erityistoivomukset)

ESITYS(Esitys_id, Paikka, Nimi, Kategoria, Pvm, Aloitusaika, Kesto, Myydyt_liput,  Hinta, Esitysstatus)

PAIKKA(Paikka_id, Nimi, Osoite, Katsojamaara)

LIPPU_VARAUS(Varaus_id, Esitys_id, Lippumaara, hinta, Tila)

 

2NM:

ARTISTI(Artisti_id, Sukunimi, Etunimi, Taitelijanimi, Puhnro, Sahkoposti, Erityistoivomukset)

ESIINTYMINEN(Artisti_id, Esitys_id)

ESITYS(Esitys_id, Paikka, Nimi, Kategoria, Pvm, Aloitusaika, Kesto, Myydyt_liput,  Hinta, Esitysstatus)

PAIKKA(Paikka_id, Nimi, Osoite, Katsojamaara)

POSTITMP (Postinumero, Postitmp)

LIPPU_VARAUS(Varaus_id, Esitys_id, Lippumaara, hinta, Tila)

 

3NM:

ARTISTI(Artisti_id, Sukunimi, Etunimi, Taitelijanimi, Puhnro, Sahkoposti, Erityistoivomukset)

ESIINTYMINEN(Artisti_id, Esitys_id)

ESITYS(Esitys_id, Paikka, Nimi, Kategoria, Pvm, Aloitusaika, Kesto, Myydyt_liput,  Hinta, Esitysstatus)

PAIKKA(Paikka_id, Nimi, Osoite, Katsojamaara)

POSTITMP (Postinumero, Postitmp)

LIPPU_VARAUS(Varaus_id, Esitys_id, Lippumaara, hinta, Tila)

 

Relaatiokaavio

relaatiokaavio1

Taulujen luontilauseet

CREATE TABLE ARTISTI
(Artisti_id CHAR(5) PRIMARY KEY NOT NULL,
Sukunimi VARCHAR(30) NOT NULL,
Etunimi VARCHAR(30) NOT NULL,
Taiteilijanimi VARCHAR(30),
Puhnro VARCHAR(25) NOT NULL,
Sahkoposti VARCHAR(40),
Erityistoivomukset VARCHAR(100)
);

CREATE TABLE PAIKKA
(Paikka_id CHAR(5) PRIMARY KEY NOT NULL,
Nimi VARCHAR(20) NOT NULL,
    Katuosoite VARCHAR(30) NOT NULL,
    Postinumero CHAR(5) NOT NULL,
Postitmp VARCHAR(15) NOT NULL,
Katsojamaara INTEGER NOT NULL
);

CREATE UNIQUE INDEX FK_PAIKKA ON PAIKKA(Nimi);

CREATE TABLE ESITYS
(Esitys_id CHAR(5) PRIMARY KEY NOT NULL,
Nimi VARCHAR(20),
Kategoria VARCHAR(20),
Pvm DATE,
Aloitusaika TIME(0),
Kesto VARCHAR(10),
Myydyt_liput INTEGER NOT NULL,
Hinta VARCHAR(7),
Esitysstatus VARCHAR(15) NOT NULL,
Paikka VARCHAR(20) NOT NULL,
CONSTRAINT FK_PAIKKA FOREIGN KEY (Paikka) REFERENCES PAIKKA (Nimi)
);

CREATE TABLE ESIINTYMINEN
(Artisti_id CHAR(5) NOT NULL,
Esitys_id CHAR(5) NOT NULL,
PRIMARY KEY (Artisti_id, Esitys_id),
CONSTRAINT FK_ARTISTI FOREIGN KEY (Artisti_id) REFERENCES
ARTISTI(Artisti_id),
CONSTRAINT FK_ESITYS FOREIGN KEY (Esitys_id) REFERENCES ESITYS(Esitys_id)
);

CREATE TABLE LIPPU_VARAUS
(Varaus_id CHAR(7) PRIMARY KEY NOT NULL,
Esitys_id CHAR(5) NOT NULL,
Lippumaara INTEGER NOT NULL,
Tila VARCHAR(50) NOT NULL,
CONSTRAINT FK_ESITYS_LIPPU FOREIGN KEY (Esitys_id) REFERENCES
ESITYS(Esitys_id),
);

Datan lisäyslauseet

INSERT INTO ARTISTI
(Artisti_id, Sukunimi, Etunimi, Taiteilijanimi, Puhnro, Sahkoposti, Erityistoivomukset)
VALUES (‘A1234’, ‘Niemi’, ‘Pekka’, ‘KONE’, ‘040123456’, ‘kone@mail’, ‘ei silakkaa’);
INSERT INTO ARTISTI
VALUES (‘A5678’, ‘Luoto’, ‘Tapio’, ”, ‘0501234567’, ‘luoto@mail’, ‘korvapuusteja’);
INSERT INTO ARTISTI
VALUES (‘A9101’, ‘Nevala’, ‘Titta’, ‘Titta’, ‘0400123456’, ‘titta@mail’, ‘ei sitruunavettä’);
INSERT INTO ARTISTI
VALUES (‘A2345’, ‘Kalaoja’, ‘Katri’, ‘Katri Helena’, ‘0500123456’, ‘katrihelena@mail’, ‘Ruusuja, PALJON’);
INSERT INTO ARTISTI
VALUES (‘A6789’, ‘Koriseva’, ‘Arja’, ‘Arja Koriseva’, ‘0511234567’, ‘Arjakoriseva@mail’, ‘Sveitsiläisiä suklaakonvehteja’);
INSERT INTO ARTISTI
VALUES (‘A1012’, ‘Bjurström’, ‘Marco’, ‘Marco Bjurström’, ‘0411234567’, ‘Bjurstrom@mail’, ”);
INSERT INTO ARTISTI
VALUES (‘A3456’, ‘Vatanen’, ‘Jussi’, ‘Jussi Vatanmen’, ‘0402345678’, ‘Vatanen@mail’, ‘Vara-paita, sininen’);
INSERT INTO ARTISTI
VALUES (‘A7891’, ‘Puotila’, ‘Jukka’, ‘Jukka Puotila’, ‘0502345678’, ”, ”);
INSERT INTO ARTISTI
VALUES (‘A9651’, ‘Raatikainen’, ‘Arja’, ‘Arja Raatikainen’, ‘0408521368’, ‘raatikainen@mail’, ”);
INSERT INTO ARTISTI
VALUES (‘A5279’, ”, ”, ‘Shadowplay’, ‘0500123462’, ‘shadowplay@mail’, ‘alkoholijuomia’);

INSERT INTO PAIKKA
(Paikka_id, Nimi, Katuosoite, Postinumero, Postitmp, Katsojamaara)
VALUES (‘P5824’, ‘Lasisali’, ‘Huhtatie 4’, ‘01620’, ‘Vantaa’, 50);
INSERT INTO PAIKKA
VALUES (‘P6845’, ‘Sellosali’, ‘Laatutie 1’, ‘02750’, ‘Espoo’, 500);

INSERT INTO ESITYS
(Esitys_id, Nimi, Kategoria, Pvm, Aloitusaika, Kesto, Myydyt_liput, Hinta, Esitysstatus, Paikka)
VALUES (‘ES987’, ‘Pähkinänsärkijä’, ‘Teatteri’, ‘2017-12-10′, ’12:00’, ‘5h’, 42, 30, ‘Varattavissa’, ‘Lasisali’);
INSERT INTO ESITYS
VALUES (‘ES988’, ‘Joululauluja’, ‘Konsertti’, ‘2017-12-20′, ’19:45’, ‘1.5h’, 500, 24, ‘Varattavissa’, ‘Sellosali’);
INSERT INTO ESITYS
VALUES (‘ES654’, ‘Titta Show’, ‘Konsertti’, ‘2017-09-09′, ’18:30’, ‘2h’, 448, 20, ‘Arkistoitu’, ‘Sellosali’);
INSERT INTO ESITYS
VALUES (‘ES128’, ‘Tanssin taikaa’, ‘Tanssi’, ‘2017-10-08′, ’17:00’, ‘3h’, 45, 15, ‘Arkistoitu’, ‘Lasisali’);
INSERT INTO ESITYS
VALUES (‘ES123’, ‘Ego’, ‘Tanssi’, ‘2010-10-10′, ’18:00’, ‘2h’, 47, 10, ‘Arkistoitu’, ‘Lasisali’);
INSERT INTO ESITYS
VALUES (‘ES111’, ‘Shadowplay Rocks’, ‘Konsertti’, ‘2010-10-20′, ’20:00’, ‘2h’, 489, 40, ‘Arkistoitu’, ‘Sellosali’);
INSERT INTO ESITYS
VALUES (‘ES222’, ‘Tanssihommat’, ‘Tanssi’, ‘2017-12-20′, ’15:00’, ‘1h’, 24, 10, ‘Varattavissa’, ‘Lasisali’);

INSERT INTO ESIINTYMINEN
(Artisti_id, Esitys_id)
VALUES(‘A1234’, ‘ES988’);
INSERT INTO ESIINTYMINEN
VALUES(‘A5678’, ‘ES128’);
INSERT INTO ESIINTYMINEN
VALUES(‘A9101’, ‘ES988’);
INSERT INTO ESIINTYMINEN
VALUES(‘A9101’, ‘ES654’);
INSERT INTO ESIINTYMINEN
VALUES (‘A9651’, ‘ES123’);
INSERT INTO ESIINTYMINEN
VALUES (‘A5279’, ‘ES111’);
INSERT INTO ESIINTYMINEN
VALUES (‘A7891’, ‘ES222’);

INSERT INTO LIPPU_VARAUS
(Varaus_id, Esitys_id, Lippumaara, Tila)
VALUES (‘1234567’, ‘ES987’, 3, ‘Varattu’);
INSERT INTO LIPPU_VARAUS
VALUES (‘9876543’, ‘ES988’, 9, ‘Varattu’);
INSERT INTO LIPPU_VARAUS
VALUES (‘4567893’, ‘ES654’, 2, ‘Lunastettu’);
INSERT INTO LIPPU_VARAUS
VALUES (‘2398745’, ‘ES128’, 1, ‘Lunastettu’);
INSERT INTO LIPPU_VARAUS
VALUES (‘5823647’, ‘ES128’, 4, ‘Lunastettu’);
INSERT INTO LIPPU_VARAUS
VALUES (‘1236547’, ‘ES111’, 100, ‘Lunastettu’);
INSERT INTO LIPPU_VARAUS
VALUES (‘6523479’, ‘ES111’, 50, ‘Lunastettu’);
INSERT INTO LIPPU_VARAUS
VALUES (‘6547899’, ‘ES128’, 2, ‘Varattu’);

Datan muokkaus, kyselyt ja testaus

Varauksen peruminen/poistaminen LIPPU_VARAUS taulusta:
(Perutaan tietty varaus: varaus_id = 1234567)

DELETE FROM LIPPU_VARAUS
WHERE Varaus_id = 1234567;

Lippumäärän muuttaminen:
(Lisätään varauksen yksi lippu, varaus_id = 9876543)

UPDATE LIPPU_VARAUS
SET Lippumaara = Lippumaara +1
WHERE Varaus_id = ‘9876543’;

Lunastettujen lippujen kirjaaminen myydyiksi:
(Kirjataan kaikki ES988 – Joululauluja –esityksen lunastetut liput myydyiksi)

UPDATE ESITYS
SET Myydyt_liput +=
(SELECT COUNT(*)
FROM LIPPU_VARAUS
WHERE Tila = ‘Lunastettu’
AND Esitys_id = ‘ES988’)
WHERE Esitys_id = ‘ES988’;

Lunastamattomien varausten poistaminen tilaisuuksista, jotka ovat jo toteutuneet:

DELETE FROM LIPPU_VARAUS
WHERE Tila = ‘Varattu’
and Esitys_id IN
( SELECT E.Esitys_id
FROM ESITYS E
WHERE E.Pvm < GETDATE()
);

Tilaisuuden peruuntuminen (+ myytyjen lippujen reklamointi):
(Esimerkkitapaus esitys ES988 – Joululauluja perutaan ja lunastetut liput merkitään takaisinmaksettaviksi)

UPDATE ESITYS
SET Esitysstatus = ‘Peruttu’
WHERE Esitys_id = ‘ES988’;

UPDATE LIPPU_VARAUS
SET Tila = ‘Esitys peruttu’
WHERE Tila = ‘Varattu’
AND Esitys_id = ‘ES988’;

UPDATE LIPPU_VARAUS
SET Tila = ‘Peruttu, takaisinmaksu’
WHERE Tila = ‘Lunastettu’
AND Esitys_id = ‘ES988’;

Lippuvarauksen tekeminen:

INSERT INTO LIPPU_VARAUS
VALUES (‘6547891’, ‘ES988’, 4, ‘Varattu’);

Mitä esityksiä on tarjolla tämän kuukauden aikana:

SELECT Nimi, Kategoria,
CONVERT(char, Pvm, 104) as Pvm,
Aloitusaika, Kesto, Hinta, Paikka
FROM ESITYS
WHERE MONTH(pvm) = MONTH(CURRENT_TIMESTAMP);

Mitä tanssiesityksiä on tarjolla tämän kuukauden aikana:

SELECT Nimi, Kategoria,
CONVERT(char, Pvm, 104) as Pvm,
Aloitusaika, Kesto, Hinta, Paikka
FROM ESITYS
WHERE MONTH(pvm) = MONTH(CURRENT_TIMESTAMP)
AND Kategoria = ‘Tanssi’;

Mikä on Arja Korisevan puhelinnumero:

SELECT a.sukunimi, a.etunimi, a.Puhnro
FROM ARTISTI a
WHERE a.sukunimi = ‘Koriseva’
AND a.etunimi = ‘Arja’;

Montako lippua on lunastettu Arja Raatikaisen tanssiesitykseen Ego 10.10.2010:

SELECT a.Taiteilijanimi, es.Nimi, es.Pvm, es.Myydyt_liput
FROM ARTISTI a
JOIN ESIINTYMINEN e ON a.Artisti_id = e.Artisti_id
JOIN ESITYS es ON e.Esitys_id = es.Esitys_id
WHERE es.Nimi = ‘Ego’
AND es.PVM = ‘2010-10-10’;

Onko Shadowplayn konserttiin 20.10.2010 vielä paikkoja:

SELECT a.Taiteilijanimi as “Artisti”, e.Pvm, e.Myydyt_liput as “Myydyt Liput”, p.Katsojamaara as “Katsojamäärä”
FROM ARTISTI a
JOIN ESIINTYMINEN es ON a.Artisti_id = es.Artisti_id
JOIN ESITYS e ON es.Esitys_id = e.Esitys_id
JOIN PAIKKA p ON e.Paikka = p.Nimi
WHERE a.Taiteilijanimi = ‘Shadowplay’
AND e.pvm = ‘2010-10-20’;

Montako paikkaa em. konserttiin on jäljellä:
Haetaan tietokannasta Esityksen nimellä “Shadowplay Rocks”)

SELECT E.Nimi as Esitys, A.Taiteilijanimi as Artisti, CONVERT(char, E.Pvm, 104) as Pvm,
COUNT(P.Katsojamaara – E.Myydyt_liput) as “Lippuja jäljellä”
FROM ESITYS E
JOIN ESIINTYMINEN ES ON ES.Esitys_id = E.Esitys_id
JOIN ARTISTI A ON A.Artisti_id = ES.Artisti_id
JOIN PAIKKA P ON P.Nimi = E.Paikka
WHERE E.Nimi = ‘Shadowplay Rocks’
AND e.Pvm = ‘2010-10-20’
GROUP BY E.Nimi, A.Taiteilijanimi, E.Pvm;

Mikä on lipputulojen määrä kuluvana vuonna:

SELECT SUM(E.Myydyt_liput * CONVERT(integer, E.Hinta)) AS “Lipputulot 2017”
FROM ESITYS E
WHERE YEAR(E.Pvm) = YEAR(GETDATE())
AND E.Esitysstatus != ‘Peruttu’;

 

Prosessin arviointi

Työprosessi sujui ryhmältä hyvin ja kaikille riitti tekemistä. Alusta alkaen tehtiin hyvät suunnitelmat, sovittiin aikatauluista ja aloitettiin tarpeeksi ajoissa työ.

Työympäristönä aineistoillemme toimi OneDrive-kansio, minkä ansiosta työn etenemistä oli helppo seurata. Kaikki tiedostot olivat koko ajan saatavilla sekä näimme reaaliajassa, mitä projektissa tapahtuu myös työskennellessämme itsenäisesti.

Prosessi toimi kokonaisuutena hyvin, koko ryhmällä oli samanlaiset näkemykset asioiden toteuttamisesta ja näin kaikesta oli helppo kommunikoida päästäksemme parhaaseen mahdolliseen lopputulokseen. Pysyimme asettamassamme aikataulussa ja olemme kaikki tyytyväisiä prosessin kulkuun ja lopputulokseen.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s