http://mordor.cs.hut.fi/~pkilpo/burritos/documents/toiminnallinen_määrittely.htm
Viimeksi päivitetty Nov 02 20:50 1997.
Yhteenveto
1. Johdanto
2. Yleiskuvaus
3. Tiedot ja tietokanta
4. Toiminnot
5. Ulkoiset liittymät
6. Muut ominaisuudet
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.
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).
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.
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.
Kuva 2.1 - Liittymäkaavio
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.
Kuva 2.2 - Tietovuokaavio - taso 1
Kuva 2.3 - Tietovuokaavio - taso 2
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
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.
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.
Tietovarastojen näkökulmasta TACOS-järjestelmä toimii seuraavasti:
Mergen toimintaperiaatteesta riippuen ennen kohtia 4. ja 6. voi tapahtua Merge.
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.
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.
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.
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. |
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. |
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. |
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.