Tik-76.115 Toiminnallinen määrittely

Tacos

http://mordor.cs.hut.fi/~pkilpo/burritos/documents/toiminnallinen_määrittely.htm
Viimeksi päivitetty Nov 02 20:50 1997.


Sisällysluettelo

Yhteenveto

1. Johdanto

2. Yleiskuvaus
3. Tiedot ja tietokanta
4. Toiminnot
5. Ulkoiset liittymät
6. Muut ominaisuudet

Terminologia


Yhteenveto

Tässä ohjelmatyössä rakennetaan projektinhallintajärjestelmä, joka perustuu projektitietokantaan sekä sen kahteen käyttöliittymään.Yhtenä käyttöliittymänä on Microsoft Project, toisena yleisimmät WWW-selaimet.

Microsoft Project on tarkoitettu kokonaisuuden hallintaan ja raportointiin, erityisesti projektipäällikön työkaluksi. Selainten avulla on tarkoitus helpottaa henkilökohtaisten tehtävälistojen jakamista projektiryhmälle ja projektin eri tehtävien tilaan liittyvän tiedon keruuta projektiryhmältä.

Järjestelmä toimii siten, että projektipäällikkö tallettaa projektisuunnitelman ns. Offline-tietokantaan, josta järjestemä osaa yhdistää tiedot varsinaiseen tietokantaan, jota kutsumme Online-tietokannaksi. Tämä toimii siten järjestelmän ytimenä, johon kaikki WWW-selaimesta projektin tilaan tehdyt muutokset tallennetaan. Käyttäjä käyttää järjestelmää WWW-selaimestaan, johon on ladattu Java-appletti. Java-appletti toimii järjestemän käyttöliittymänä.

Jos projektipäällikkö haluaa jossain vaiheessa muuttaa projektisuunnitelmaa MS-Projectilla, järjestelmän sen hetkinen tila voidaan siirtää jälleen Offline-tietokantaan. Tämä tietokanta voidaan sen jälkeen ladata muutettavaksi MS-Projectiin. Tämä siirto ei estä järjestelmän käyttöä sinä aikana kun Offline-tietokanta on käytössä, vaan järjestelmä osaa yhdistää muuttuneet tiedot MS-Projectissa ja Java-käyttöliittymässä Merge-toiminnon avulla.

Java-käyttöliittymällä käyttäjä näkee kulloisetkin tehtävänsä listana. Käyttäjä voi muuttaa tehtävien tilaa ja jakaa niitä edelleen toisten työtekijöiden suoritettavaksi. Lisäksi käyttäjä voi graafisesti tarkastella jonkin tehtävän suhdetta toisiin, mahdollisesti toisten tekemiin tehtäviin. Tarkastelun avulla työntekijä voi nähdä esimerkiksi ne tehtävät, jotka odottavat hänelle allokoidun tehtävän valmistumista.

Lisäksi projektipäällikkö voi jälkeenpäin tarkastella projektin kulkua ns. replay-analyysin avulla.

1. Johdanto

1.1 Tavoite

Hyvässä järjestelmässä voidaan tehtäviä tarvittaessa luoda, muuttaa, delegoida ja jakaa alitehtäviksi. Lisäksi järjestelmän on hallittava tehtävien suoritusjärjestys.

Järjestelmässä on oltava mahdollisuus tehdä muutoksia projektiin sekä MS-Projectilla että selaimilla. Lisäksi hyvässä järjestelmässä on mahdollisuus määritellä eri käyttöoikeustasoja mm. delegoinnin ja muutostenteon suhteen.

Järjestelmässä on jäljitettävyyden tuki. Projektipäällikön on voitava tarkastella projektin kulkua ns. replay-analyysin avulla.

Järjestelmään tehdyt muutokset näkyvät käyttäjälle heti (Callbacks).

Järjestelmässä voi olla useampia projekteja ja yksi henkilö voi olla yhtäaikaa yhdessä tai useammassa projektissa. (Näistä ehdoista ensimmäistä tarkastellaan vielä myöhemmin).

1.2 Sisällön esittely

Tässä dokumentissa tarkastellaan järjestemää toimintojen kannalta, etupäässä käyttäjän näkökulmasta. Toiminnot on esitetty tietovuokaavioina yleisellä SA-menetelmän notaatiolla.

2. Yleiskuvaus

2.1 Käyttäjät ja käyttöympäristö

Tacos-järjestelmän käyttäjiä ovat projektin jäsenet. Projektipäällikön pääasiallinen työkalu on Microsoft Project, jonka osalta käyttöympäristönä on Microsoft Windows 95/NT. Projektissa voi kuitenkin olla jäseniä, joilla tämä ei ole luonnollinen käyttöjärjestelmäympäristö eikä MS Project myöskään tarjoa heille sopivaa helppoa tapaa päivittää omien tehtäviensä tilaa. Heille suunniteltu käyttöliittymä järjestelmään on WWW-selainikkunassa toimiva Java-appletti. Näin saadaan järjestelmän käyttämiseen tavallisten työntekijöiden osalta enemmän riippumattomuutta laitteiston ja käyttöjärjestelmien suhteen. Kuvassa 2.1 on järjestelmän liittymäkaavio.

Java-käyttöliittymästä on prototyyppi esitelty kohdassa 4.

Liittymäkaavio
Kuva 2.1 - Liittymäkaavio

2.2 Järjestelmän liittymät ympäristöön

Tacos-järjestelmällä on kaksi ulkoista liittymää. Se liittyy toiselta puoleltaan Microsoft Project -ohjelmistoon (versiot 4.1 - 98) ODBC-rajapinnan kautta ja toiselta puolelta Javaa tukevaan WWW-selaimeen erityistä ryhmämme määrittelemää merkkipohjaista protokollaa käyttävän Middleware-kerroksen kautta (kuvat 2.2 ja 2.3). Toteutuksessa on myös mukana JDBC-ajuri, joka ODBC-ajurin tapaan on tietokantakohtainen. Tässä työssä käytetty tietokantaohjelmisto on SOLID Server 2.2 ja WWW-selaimet Netscape Navigator (versiot 3.0 - 4.03) sekä Microsoft Internet Explorer (versiot 3.0 - 4.0).

Enemmän asiaa ulkoisista liittymistä on tämän dokumentin kohdassa 5.

Tietovuokaavio - taso 1
Kuva 2.2 - Tietovuokaavio - taso 1

 

 

Tietovuokaavio - taso 2
Kuva 2.3 - Tietovuokaavio - taso 2

2.3 Rajoitteet

Järjestelmä on suunniteltu siten, että kokonaisuudella on mahdollisimman vähän rajoitteita käyttöympäristön suhteen.

Kuvassa 2.4 on erittely järjestelmän eri osien sisältämistä rajoitteista.

Osa

Rajoitteet

Lisätietoa

Microsoft Project Käyttöjärjestelmäriippuvainen, toimii ainoastaan Microsoft Windows 95/NT -ympäristöissä Microsoft Project Home Page
Tietokanta Relaatiotietokanta, jolle saatavilla ODBC- ja JDBC-ajurit Microsoft ODBC Web Page
The JDBC Database Access API
Middleware Järjestelmä, jossa on Java 1.1 -ajoympäristö Java Runtime Environment 1.1.4
WWW-selain Oltava tuki HTML 3.2 ja Java 1.1 -standardeille Introducing HTML 3.2
JDK 1.1.4 Documentation

Kuva 2.4 - Järjestelmän eri osien rajoitteet

3. Tiedot ja tietokanta

Kuten ylläolevasta kuvasta 2.3 huomataan, TACOS-järjestelmässä on kaksi tietokantaa, Online- ja Offline-kannat. Tässä luvussa tarkennetaan nämä käsitteet ja kuvataan tietokantojen sisältämä tieto.

3.1 Online- ja Offline-tietokantojen määritelmät ja niiden välinen suhde

Offline-tietokanta on se, johon projektipäällikkö tallettaa projektiin tekemänsä muutokset ja josta hän projektin tiedot käyttöönsä lataa. Tämän tietokannan rakenne perustuu MS-Projectin ODBC-rajapinnan kautta relaatiotietokantaan tallettamiin tauluihin. WWW-käyttöliittymää käyttävät projektin työntekijät ovat yhteydessä Online-tietokantaan. Sinne talletetaan työntekijöiden projektin ja tehtävien tiloihin tekemät muutokset. Online-tietokanta on Offline-kantaa suppeampi ja käsittää vain WWW-käyttöliittymän käyttäjän kannalta olennaiset taulut ja kentät.

Koska järjestelmässä käytetään kahta tietokantaa, on huomioitava myös tietojen sovitus niiden kesken. Sovituksesta käytetään termiä Merge. Tämä termi kattaa:

Merge-operaatio voi toimia kahdella tavalla. Se voi replikoida jokaisen Online-kantaan tapahtuneen muutoksen heti Offline-kantaan tai sitten replikointi voidaan tehdä ainoastaan silloin, kun projektipäällikkö haluaa muuttaa tai tutkia projektin tilaa MS-Projectin avulla.

 

3.2 Tiedon siirtyminen järjestelmässä tietovarastojen kannalta

Tietovarastojen näkökulmasta TACOS-järjestelmä toimii seuraavasti:

  1. Projektipäällikkö luo projektisuunnitelman MS-Projectilla ja tallettaa sen Offline-tietokantaan.
  2. Järjestelmä tekee Mergen eli mäppää ja kopioi Offline-kannan Online-kannaksi.
  3. Työntekijä päivittää projektin tietoja Online-kantaan.
  4. Projektipäällikkö tekee muutoksia projektisuunnitelmaan ja lataa projektin tiedot Offline-kannasta.
  5. Projektipäällikö tallettaa muutetun suunnitelma Offline-kantaan.
  6. Työntekijä päivittää projektin tietoja Online-kantaan.

Mergen toimintaperiaatteesta riippuen ennen kohtia 4. ja 6. voi tapahtua Merge.

 

3.3 Tietokantojen rakenne

Järjestelmässä käytettävien tietokantojen perusrakenne pohjautuu MS-Projectin käyttämiin tauluihin. Online-tietokannassa ei kaikkia MS-Projectin käyttämiä kenttiä tarvita, vaan sopivaksi katsottu osajoukko riittää. Molempien tietokantojen perusrakenne ja relaatiot on esitetty seuraavassa kuvassa. ER-kaavio tietokannasta  

Kuva 3.1 Tietokantojen perusrakenne

Kuvassa tauluhuin on merkitty vain avainattribuutit. Tarkemmat attribuuttijoukot selviävät myöhemmässä vaiheessa. TACOS-järjestelmän kannalta tärkeimmät taulut ovat Resurssi-, Tehtävä- ja Resurssiallokoinnit-taulut.
 

3.4 Tiedon pysyvyys-, kapasiteetti- ja saantiaikavaatimukset

Tiedon pysyvyys taataan TACOS-järjestelmässä relaatiotietokannalla. Projektisuunnitelma säilyy järjestelmässä sen tallennushetkestä siihen saakka, kun projekti on valmistunut. Projektin tilaan tehdyt päivitykset talletetaan tietokantaan siten, ettei informaatiota menetetä.

Tietokannan kapasiteetti on verrannollinen projektin kokoon. Koska järjestelmässä käytetään kahta tietokantaa, tarvitaan yhteensä tilaa noin kaksinkertainen määrä projektin kokoon nähden. Koska järjestelmä on suunniteltu käytettäväksi pienissä tai keskisuurissa projekteissa, eivät tietokannan kapasiteetti- ja levytilavaatimukset muodostu nykyaikaisilla tietokonelaitteilla ongelmaksi.

Tietojen saannin pitää olla nopeata sekä MS-Projectiin että WWW-käyttöliittymään päin. MS-Projectiin siirretään kerralla koko projektitietokanta, mutta tämä on kopiointioperaatio, johon ei liity prosessointia. Projektitietojen siirtoa MS-Projectiin voidaan nopeuttaa replikoimalla Online-kannan sisältö aina muutosten tapahtuessa Offline-kantaan. Tällöin Middleware-kerroksen palvelinohjelmiston kuormitus lisääntyy. Tavoite on, että TACOS-projektin avaaminen MS-Projectilla kestää noin kolme kertaa sen ajan, mitä vastaavan tiedoston avaaminen kestäisi tietokoneen paikalliselta levyltä.

WWW-käyttöliittymään tietojen siirtäminen vaatii prosessointia ja SQL-kyselyjä. Tässä tapauksessa siirrettävä tietomäärä ei lähtökohtaisesti ole kovin suuri. Tavoitteena voidaan pitää tehtävälistan näkymistä selaimessa noin kymmenen sekunnin kuluttua järjestelmään sisäänkirjautumisesta.

4. Toiminnot

4.1 Client -toiminnot

Tarkoitus Syötteet Käsittely Tulosteet
Autentikoida käyttäjä. Login-ruutu (kuva 1) Tarkistetaan, onko käyttäjä olemassa, jos on, tarkistetaan salasana. Salasana ei täsmää: paluu login-ruutuun. Muutoin: pääsy järjestelmän perustilaan (kuva 2)
Valita tehtävä tarkempaan tarkasteluun Perustila (kuva 2) Haetaan kannasta tehtävän tiedot. Näytetään tarkemmat tiedot tehtävästä kuvan 2 osassa 3.
Muuttaa tehtävän tilaa. Kuinka kauan kestänyt, valmistumisaste. (Delegointi ja jako käsitellään muualla) Kuvan 2 osassa 3 tiedot tehtävästä. Talletetaan käyttäjän manipuloimat parametrit Online-tietokantaan. Syöte + käyttäjän muutokset = tuloste.
Delegointi ja tehtävän jako osatehtäviin. Delegointitila. (kuva 3) Käyttäjä voi jakaa laatikkoa joko pysty- tai vaakasuunnassa. (tehtävän jako osa tehtäviin) . Valitun laatikon tekijää voi vaihtaa (delegointi) Muutetut tiedot tallennetaan takaisin tietokantaan. Perustilan (kuvan 2) tehtävälista päivittyy asianmukaisesti. Delegoitu hyväksymätön tehtävä näkyy delegoijan ja delegaatin tehtävälistoissa samanaikaisesti.
Tehtävien suhteiden tarkastelu. Perustilan tehtäväkentän (kuva 2 osa 3) tabbed-dialog (relations) valittu. Kuva tehtävien suhteista, kuva 4. ei käsittelyä sama.
Muuttaa tehtävän note-kenttää Kuva 2 osa 3 tabbed-dialog (notes) valittu. Kuva 5 Kenttään syötetty teksti menee tietokantaan, kun poistutaan dialogista tai ohjelmasta, tai 30 sekunnin välein. Se, mitä käyttäjä tekstikenttään kirjoittaa.
Muuttaa käyttäjän henk. koht asetuksia. Tähän päästään valitsemalla menusta config. Katso kuva 6. Käyttäjän muuttamat kentät talletetaan kantaan. Paluu takaisin perustilaan.

4.2 Ylläpito

Ylläpitoa tekee henkilö, jolla on siihen tarvittavat oikeudet (root).

Tarkoitus Syöte Käsittely Tuloste
Määrittää käyttäjiä ja heidän salasanojansa Dialogi, jossa lista käyttäjistä, Käyttäjän lisäys -nappula Syötetty käyttäjä/salasana -pari laitetaan kantaan. Käyttäjä ilmestyy käyttäjälistaan.
Poistaa käyttäjä Dialogi, jossa lista käyttäjistä, Käyttäjän poisto -nappula Valittu käyttäjä poistetaan kannasta. Käyttäjä häviää käyttäjälistasta.
Muuttaa käyttäjän oikeuksia Dialogi, jossa lista käyttäjistä, Käyttäjän oikeudet checkboxit valitulle käyttäjälle. Muutetut tiedot laitetaan kantaan -
Muuttaa salasanaa Dialogi, jossa lista käyttäjistä, Käyttäjän salasana -tekstikenttä valitulle käyttäjälle (***). Varmistus kirjoittamalla salasana uudelleen. Muutetut tiedot laitetaan kantaan -
Lisätä projekti Dialogi, jossa lista projekteista, Projektin lisäys -nappula Syötetty projekti laitetaan kantaan. Projekti ilmestyy projektilistaan.
Poistaa projekti Dialogi, jossa lista projekteista, Projektin poisto -nappula Valittu projekti poistetaan kannasta. Projekti häviää projektilistasta.

5. Ulkoiset liittymät

5.1 Liittymät MS-Projectiin

Tarkoitus Syöte Käsittely Tuloste
Tallentaa projekti online-järjestelmään MS-Projectista. Ikoni toolbarissa (kuva 7), josta projekti tallennetaan. Ottaa yhteyden Online-järjestelmän serverille. Jos tämä onnistuu, tallentaa projektin kantaan ja käskee serverin tehdä Mergen Online- ja Offline-kantojen välille. Statusbarissa MS-Projectissa "Project saved", jos tallennus onnistui, muutoin dialogi, jossa ilmoitetaan miksi ei onnistunut. Esim. "Could not connect to server. (Maybe it's not working) "
Ladata projekti Online-järjestelmästä MS-Projectiin. Ikoni toolbarissa (kuva 7 ), josta projekti ladataan. Ottaa yhteyden Online-järjestelmään. Jos onnistuu, pyytää Online-järjestelmää kopioimaan Online-kannan Offline-kannaksi. Tämän jälkeen MS-Project lataa normaalisti projektin. Ladattu kanta. Virheilmoitus ja syy, jos operaatio ei onnistu.

6. Muut ominaisuudet

Järjestelmän tulee kestää yhdestä viiteen noin 20 yhtäaikaisen käyttäjän projektia.

Käyttöliittymä on riittävän nopea tavallisimpien toimintojen yhteydessä, vasteaika ei ole sen suurempi kuin muiden verkossa käytettävien ohjelmien vasteajat, vrt. selainten tavallinen käyttö, sähköpostin luku tms. Täsmällisten vasteaikojen ilmoittaminen on vaikeaa tässä vaiheessa. Vasteajat riippuvat hyvin paljon käytettävissä olevan verkon nopeudesta, sekä käytettävien tietokoneiden suorituskyvystä.

Koska järjestemä toimii WWW-selaimessa, on luonnollista, että myös ylläpito voidaan hoitaa etäkäyttöisesti selaimella. Käytetyillä valmiilla komponenteilla, esimerkiksi relaatiotietokannalla, on omat ylläpito-ohjeensa.

Järjestelmä paketoidaan siten, että se voidaan asentaa helposti koneeseen. Valittu valmisohjelma pitää asentaa erikseen. Valmisohjelmien asennuksessa käytetään mahdollisuuksien mukaan automatisointia ini-tiedostoilla. Sovellusten valmiita oletusarvoja pyritään suosimaan suunnittelussa.