Tik-76.115 Projektisuunnitelma



Samankaltaiset tiedostot
Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

File [Otsikko] Projektisuunnitelma. SPT2014 Selvitysprojekti projektihallinnan työkaluista

Projektisuunnitelma. KotKot. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Kieliaineistojen käyttöoikeuksien hallinnan tietojärjestelmä

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

PROJEKTIN SUUNNITTELU JOUNI HUOTARI, PAAVO MOILANEN, ESA SALMIKANGAS

Tik Projektiryhmä: TeamAhma. Projektin HAYABUSA opponointi. Opponointisuunnitelma

Tietotekniikan Sovellusprojektit

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS CT10A Kandidaatintyö ja seminaari

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

ADE Oy Hämeen valtatie TURKU. Tuotekonfigurointi. ADE Oy Ly Tunnus:

Avoimen ja yhteisen rajapinnan hallintasuunnitelma v.1.4

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

PROJEKTIN OHJAUS JA SEURANTA JOUNI HUOTARI

Avoimen ja yhteisen rajapinnan hallintamalli

T Projektikatselmus

Ohjelmistoteknologioiden koulutus: Web-sovelluskehitys, Java Server. Infotilaisuus klo 10:00

IT2015 EKT ERITYISEHTOJA OHJELMISTOJEN TOIMITUKSISTA KETTERIEN MENETELMIEN PROJEKTEILLA LUONNOS

Alkuraportti. LAPPEENRANNAN TEKNILLINEN YLIOPISTO TIETOJENKÄSITTELYN LAITOS Ti Kandidaatintyö ja seminaari

Tik Ohjelmistotuoteliiketoiminta

Visma Software Oy

Miten voin selvittää säästömahdollisuuteni ja pääsen hyötymään niistä?

Työkalut ohjelmistokehityksen tukena

Järjestelmäarkkitehtuuri (TK081702) Lähtökohta. Integroinnin tavoitteet

Valtioneuvoston kanslia VAIN VIRKAKÄYTTÖÖN Hallinto- ja palveluosasto/hallintoyksikkö Terja Ketola PTJ2008-työsuunnitelma 1 (5)

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

Tik Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu. LiKe Liiketoiminnan kehityksen tukiprojekti

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Data Sailors - COTOOL dokumentaatio Riskiloki

TIEDONKULKU. PROJEKTITYÖ Tik Wclique

Projektityö

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant Versio: V0.3

Projektin suunnittelu

Suunnitteluvaihe prosessissa

CS-C2130 / CS-C2140 / CS-E4910 Software Project 1 / 2 / 3 ja Accenture Luento

TOIMIJAREKISTERIN TOTEUTUKSEN JA YLLÄPIDON HANKINTA - HANKINNAN YKSI- LÖINTI HUOM!

J2EE vs..net Olli Sakari

Menetelmäraportti - Konfiguraationhallinta

Jyrki Kullaa ohjaava opettaja. Mika Miettinen puheenjohtaja

Toteutusvaihe T2 Edistymisraportti

TYÖOHJEET VR-HYVINKÄÄ

S11-09 Control System for an. Autonomous Household Robot Platform

Tarjoussuunnitteluun työkalu

Gumenius Sebastian, Miettinen Mika Moottoripyörän käynnistysalusta

Visma Nova Webservice Versio 1.1 /

OHJ-3010 Ohjelmistotuotannon perusteet. Ohjelmistoprojektin hallinta

TKK: Shibboleth toteutuksia ja projekteja. Markus Melin

Projektisuunnitelma. Palvelujen siirto Palvelutietovarantoon (PTV) Harri Nevala 1

PROJEKTIN SUDENKUOPAT. f JOUNI HUOTARI PÄIVITETTY

PROJEKTISUUNNITELMA Virtuaaliyhteisöjen muodostaminen Versio 1.0 (Luonnos 5)

Harjoitustyö Case - HelpDesk

Projektisuunnitelma. Laitteiston ja kalusteiden hankinta, versio WEB MAGIA OY Laatija Oula Kangas

TIETOJENKÄSITTELYTIETEIDEN LAITOS

Facta palvelimien uusiminen Helsingin kaupunki

S Portaalinosturi AS Projektisuunnitelma Oleg Kovalev

MS Project 2016 perusteet projektiarkkitehdeille ja -insinööreille ver Hannu Hirsi 2018

Scrumin käyttö ketterässä sovelluskehityksessä

Integrointi. Ohjelmistotekniikka kevät 2003

PS-vaiheen edistymisraportti Kuopio

SOVELLUSPROJEKTIN ARVIOINTILOMAKE

Testidatan generointi

Projektisuunnitelma. Asdf. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

ohjelman arkkitehtuurista.

T Testiraportti - integraatiotestaus

SALAKIRJOITUKSEN VAIKUTUS SUORITUSKYKYYN UBUNTU käyttöjärjestelmässä -projekti

Dokumentin nimi LOGO:) Tampereen teknillinen yliopisto. Ryhmä XXX: Projektiryhmän nimi Projektin nimi

UCOT-Sovellusprojekti. Testausraportti

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Toteutusvaihe T3 Digi-tv: Edistymisraportti

Lego Mindstorms anturit

FuturaPlan. Järjestelmävaatimukset

CSE-C2610 Software Project I ja Accenture Luento

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Matematiikan oppifoorumi Projektisuunnitelma

Hybridivalvomon tilatiedon hallinnan kehittäminen

Test World Oy. Ohjelmistoprojekti 2004 T

Verkkopokerijärjestelmä. Loppuraportti Ryhmä Kanat Ohjelmistotuotantoprojekti, syksy 2008

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Santeri Saarinen Korjattu testaustasoja ja tehty tarkennuksia I1-testaukseen

Helia Ohjelmointitaito Tuomas Kaipainen Mermit Business Applications Oy Mermit Business Applications

Ylläpitodokumentti. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie

Hankesuunnitelma. Novus-Hanke. Novus-Hanke. YYL:n tietojärjestelmien kokonaisuudistus HANKESUUNNITELMA. LIITE 1

Ylläpito. Ylläpito. Ylläpidon lajeja Ohjelmistotuotanto, syksy 1998 Ylläpito

T Testiraportti - järjestelmätestaus

Visual Basic -sovelluskehitin Juha Vitikka

Tietosuojaseloste. Trimedia Oy

Tietojärjestelmän osat

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

xxx avoimen rajapinnan hallintasuunnitelma (VALMIS 1.4)

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

ESITUTKIMUS. Polku Versio 0.1. Projektiryhmä

Orientaatio ICT-alaan. Projekti

Transkriptio:

Tik-76.115 Projektisuunnitelma Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä Päivitetty October 16, 2000 Tomas Björnfot, 46538J Jussi Isotupa, 47131N

Projektiryhmällä tarkoitetaan opiskelijoiden muodostamaa työryhmää, jonka vastuulla on projektin toteutus. Asiakkaalla tarkoitetaan projektin lopputuotteen vastaanottajaa, eli A-Ware Oy:tä. Tiivistelmä Asiakkaan projektit koostuvat usein palvelinpuolen sovelluksista, jotka toteutetaan räätälöidysti A-Ware Oy:n asiakkaan tarpeisiin. Sovellukset julkistavat usein palveluita Internetiin, Intranetiin tai Extranetiin. Näillä sovelluksilla on lähes aina liityntöjä tietokantoihin, tapahtumankäsittelyjärjestelmiin tai muihin olemassaoleviin tietovarastoihin ja järjestelmiin. Johtuen järjestelmien ja käyttäjätietojen eroista projektien väleillä, on perinteisesti käyttäjien ja käyttöoikeuksien hallinta jouduttu toteuttamaan projektikohtaisesti. Projektin tavoitteena on kehittää sovelluskehikko, joka tarjoaa rajapintoja ja valmiiksi toteutettuja toimintoja käyttäjien autentikointiin sekä käyttäjätietojen ja käyttöoikeuksien hallintaan. Kehitettävän sovelluskehikon tulee toimia modulaarisena ja laajennettavana, jolloin ei sitouduta tiettyihin tietolähteisiin tai tietoihin. Tämä dokumentti sisältää projektisuunnitelman, joka kuvaa projektiryhmän käytännöt, resurssit, käytettävät menetelmät, aikataulun sekä projektin tavoitteet ja sen riskit. 2

Sisällysluettelo Tik-76.115 Projektisuunnitelma...1 Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä...1 Tiivistelmä...2 Sisällysluettelo...3 1. Johdanto...4 2. Termit ja määritelmät...6 3. Asiakkaan nykyinen ratkaisu...7 4. Projektin toteutusperusteet...8 5. Projektin organisaatio...9 6. Projektin tavoitteet ja päättäminen...14 7. Projektin resurssit...17 8. Projektissa käytettävät menetelmät ja työkalut...18 9. Projektin ositus, vaiheistus ja resurssointi...21 10. Seuranta ja ohjaus...23 11. Standardit, direktiivit ja määräykset...24 12. Riskienhallintasuunnitelma...25 13. Projektiryhmän sisäinen koulutussuunnitelma...26 Lähdeluettelo...27 Liiteluettelo...27 3

1. Johdanto 1.1 Projektin tarkoitus ja kattavuus Ryhmä suunnittelee ja toteuttaa geneerisen sovelluskehikon, joka tarjoaa palveluita käyttäjien autentikointiin ja käyttöoikeuksien hallintaan hajautetuissa ympäristöissä. Kehikon ajatus on tarjota sovelluskehitystä helpottava ja nopeuttava abstraktio alla oleville käyttäjätietolähteille siten, että samoja komponentteja voidaan käyttää riippumatta allaolevasta käyttäjätietovarastosta (esim. LDAP, tietokannat jne.). Arkkitehtuuriin tulee voida liittää rajapintoja mahdollisesti myös myöhemmin lisättäviin käyttäjätietovarastoihin. Sovelluskehikon itse toteutus ei ole ensisijaisen tärkeä, vaan malli siitä, kuinka käyttäjätiedoista muodostuvan kokonaisuuden hallinta on helppoa ja järkevää hajautetussa ympäristöissä. Ryhmän mahdollisesti löytämä ratkaisu toteutetaan Javalla ja mallia pilotoidaan esimerkkisovelluksella. Esimerkkisovelluksena käytetään yksinkertaista Webiin toteutettavaa projektin tuntiseuranta sovellusta. Myös tämä toteutetaan Java-pohjaisesti. 1.2 Asiakas Projektin asiakas on A-Ware Oy, joka on Espoossa sijaitseva itsenäinen internet-talouden ratkaisuja kehittävä ohjelmisto- ja asiantuntijayritys, jonka asiakaskunta koostuu muutamasta valitusta, oman alansa johtavasta kansainvälisesti toimivasta telekommunikaatio-, media-, pankki-, rahoitus- ja vakuutusalan yrityksestä. A-Ware Oy on uuden teknologian luotettava kumppani ja sen menestys perustuu vankkaan osaamiseen ja asiantuntemukseen niin Java- /internet- ja olioteknologioiden kuin myös tietoturvan alueella. A-Ware Oy tekee yhteistyötä muun muassa sellaisten merkittävien teknologiatoimittajien kanssa kuten BEA Systems, IBM, Oracle ja Sun Microsystems. A-Ware Oy:llä on henkilökuntaa kirjoittamisen hetkellä noin 20 työntekijää, ja uuden yksikön käynnistyttyä vuoden vaihteessa tulee olemaan noin 30 työntekijää. [1] Asiakkaan yhteyshenkilönä toimii toimitusjohtaja Nina Kesälä ja ohjaajana Arto Laurila. 1.3 Oikeudet työn tuloksiin Oikeudet lähdekoodiin jäävät asiakkaalle. Projektin pääasiallinen tarkoitus on kuitenkin löytää malli käyttäjätietojen käyttöön, eikä asiakas puutu asiaan, jos projektiryhmän jäsenet hyödyntävät löydettyä mallia ja projektin aikana saavutettua tietoutta. Projektiryhmän tuottama dokumentaatio on julkista ja sen tekijänoikeudet kuuluvat asiakkaalle. Jos asiakas yksipuolisesti haluaa keskeyttää projektin, voi projektiryhmä jatkaa projektia. Tällöin asiakas menettää oikeutensa projektin tuotoksiin ja kaikki oikeudet siirtyvät projektiryhmälle. 4

1.4 Projektisuunnitelman rakenne Projektisuunnitelman 1. luku sisältää lyhyen kuvauksen asiakkaasta, toteutettavasta sovelluskehikosta ja projektin luonteesta. Luku sisältää myös ohjeet projektisuunnitelman ylläpitoon. 2. luvussa käydään läpi projektisuunnitelmassa käytetyt termit ja lyhenteet. Kolmas ja neljäs luku kuvaavat asiakkaan tämän hetkisen ratkaisun ja motiivin sovelluskehikon kehittelylle, sekä projektista koituvat kustannukset ja haitat asiakkaalle. Viidennessä luvussa esitellään projektiorganisaatio, projektiryhmän jäsenet sekä sidosryhmät intresseineen. Kuudennessa luvussa esitellään projektin tavoitteet eri sidosryhmien näkökulmista katsoen ja seitsämäs luku listaa projektin käytettävissä olevat resurssit. Kahdeksas luku käy läpi projektiryhmän käyttämät menetelmät ja työkalut, joilla sovelluskehikko suunnitellaan ja toteuteaan. Yhdeksännessä luvussa projekti ositetaan ja osat esitellään. Lisäksi luvussa käydään läpi käytettävät resurssit vaiheittain, ja luvussa kymmenen käsitellään projektin vaiheiden seurantaan ja ohjaukseen käytettävät menetelmät. Luvussa 11 käydään läpi projektia koskevat direktiivit ja määräykset sekä projektin noudattamat standardit. Luku 12 esittelee projektiin kohdistuvat riskit ja menetelmät niiden välttämiseksi ja vahinkojen korjaamiseksi. Kolmastoista luku käsittelee ryhmän sisäisen koulutussuunnitelman. Projektiryhmä ei järjestä koulutusta asiakkaalle. 1.5 Projektisuunnitelman päivittäminen Projektisuunnitelma pidetään jatkuvasti projektin aikana ajantasalla. Projektisuunnitelma toimii eräänlaisena sopimuksena asiakkaan ja projektiryhmän välillä sekä tiedotuskanavana projektin käytännöistä. 5

2. Termit ja määritelmät asiakas A-Ware Oy. Asiakkaan ollessa yritys, yrityksen edustajana toimii toimitusjohtaja Nina Kesälä. EJB Enterprise Java Beans, Javan komponenttiarkkitehtuuri. [2] katselmus J2EE projektiryhmä ohjaaja tarkastus tilaaja sovelluskehikko projektin vaiheen loppuessa pidettävä tilaisuus, johon osallistuu asiakkaan edustaja, kurssin assistentti ja projektiryhmä. Java 2 Enterprise Edition, sovelluskehitysrajapinta Javalla toteutettuihin hajautettuihin sovelluksiin. [3] opiskelijoiden muodostama työryhmä, katso projektiryhmän kokoonpano Ohjaa projektiryhmän työskentelyä ja auttaa projektiryhmää asiakkaan näkökulmasta. projektiryhmän osan sisäinen tarkastus, jossa projektiryhmän jäsenet tarkastavat keskenään omaa työtään laadun varmistamiseksi. Asiakkaan edustaja, joka on tilannut tuotteen. toteutettava rajapinnoista rakentuva malli, jolla mallinnetaan käyttäjätietoja ja käyttöoikeuksia. 6

3. Asiakkaan nykyinen ratkaisu A-Ware Oy toteuttaa asiakkailleen räätälöityjä sovellusratkaisuja asiakkaiden tarpeisiin. Sovellukset lähes aina sisältävät jonkinasteista käyttäjän tunnistamista ja profilointia. Tällä hetkellä käyttäjien hallinta ja oikeuksien valvontaan ei ole yleiskäyttöistä ratkaisua, ja suuri osa käyttäjäinformaatioon liittyvästä toiminnallisuudesta joudutaan rakentamaan tai sovittamaan projektikohtaisesti. Tämä on aikaa ja resursseja vievä prosessi, jonka toistaminen jokaisessa projektissa on turhaa. Lisäksi tämä johtaa siihen, että ratkaisussa helposti sitoudutaan voimakkaasti johonkin suunnittelun ja toteutuksen aikana käytössä olleeseen teknologiaan, jolloin ratkaisu on riippuvainen tästä teknologiasta. Esimerkkinä voisi olla sitoutuminen johonkin tiettyyn tietokantaan, esimerkiksi DB2:en, jolloin sovelluksen käyttämän tietokannan vaihtaminen esimerkiksi Oracleen voi aiheuttaa mittavia muutoksia sovelluksessa. 7

4. Projektin toteutusperusteet Projektista ei aiheudu asiakkaalle suoranaisia kustannuksia projektin vuoksi poislukien kurssin ilmoittautumismaksu. Asiakas antaa projektin toteuttamista varten projektiryhmälle mahdollisuuden erinäisten työkalujen käyttöön. Projektia varten ei hankita uutta laitteistoa tai ohjelmistoa. Projektiryhmään kuuluu kaksi asiakkaan työntekijää, joiden käyttämä aika projektiin on poissa muusta työnteosta asiakkaalle. Lisäksi ohjaaja sitoutuu käyttämään aikaansa projektin katselmuksiin ja projektiryhmän ohjaukseen ja neuvomiseen. Asiakkaan tavoitteena on tuoda lisää joustavuutta sovelluskehitykseen ja saavuttaa kustannussäästöjä helpottamalla sovelluskehitystä jatkossa sekä mahdollisia muutoksia sovelluskehikon pohjalta toteutettuihin sovelluksiin. 8

5. Projektin organisaatio Nina Kesälä Asiakas A-Ware Oy Arto Laurila Ohjaaja A-Ware Oy Kristian Rautiainen Kurssiassistentti TKK arvioi Projektiryhmä Tomas Björnfot Projektipäällikkö Projektiryhmä Jussi Isotupa Tietolähdepäällikkö Projektiryhmä Timo Lämsä Laatupäällikkö Projektiryhmä Janne Kankaanpää Dokumentointipäällikkö Projektiryhmä Mickey Shroff Käytettävyyspäällikkö Projektiryhmä Opponentti - ryhmä TKK Mikko Viljainen Testauspäällikkö Projektiryhmä 5.1 Projektiryhmä Jotta yksittäiset projektiryhmän jäsenet eivät olisi korvaamattomia, on jäsenille sovittu varahenkilöt. Varahenkilöt voivat hoitaa ryhmän jäsenen tehtäviä sairauden tai muun työkyvyttömyyden sattuessa. Varahenkilöiden tulee olla perillä tuurattavansa tehtävistä ja asioista tasolla, että korvaaminen todella on mahdollista. 9

Tomas Björnfot, Projektipäällikkö Tomas vastaa projektiryhmän johtamisesta sekä A-Waren työntekijänä yhteydenpidosta asiakkaaseen. Tomaksen varahenkilönä toimii Jussi Isotupa. Puhelin: 040-584 4830 E-mail: tbjornfo@cc.hut.fi, tomas.bjornfot@aware.fi Kiinnostus- ja osaamisalueet: Java Server Programming Opiskelu- ja työkokemus: 5. vuosikurssi TKK:lla tietotekniikan osastolla 1,5v. 0,5v. Hairstore Oy, Ohjelmoija -Java -pohjaisen verkkokaupan suunnittelu ja toteutus -Sekalaista Windows-ohjelmointia -Linux-ylläpitoa A-Ware Oy, Java programmer (työsuhde voimassa) -Hajautettujen Java-sovellusten suunnittelua ja toteutusta -WAP -Henkilökohtainen kiinnostus projektia kohtaan työnantajan kautta Jussi-Pekka Isotupa, tietolähdepäällikkö Jussi vastaa tietolähdemodulien suunnittelusta ja toteutuksesta. Lisäksi hän hoitaa projektin ohjausta Tomaksen varahenkilönä. Puhelin: 040-587 0686 E-mail: jisotupa@cc.hut.fi, jussi@weppihiiri.com Kiinnostus- ja osaamisalueet: Windows DNA arkkitehtuuri, hajautetut sovellukset, tietokannat Opiskelu- ja työkokemus: 5. vuosikurssi TKK:lla konetekniikan osastolla. 1,5v. WM-Data Faci Oy, Asentaja -Laitteiston ja ohjelmistojen esiasennukset -Turvamerkinnät 2v. Tielaitoksen tuotanto, tiedonhallinta, Suunnittelija 10

-Intranet-sovelluskehitys käyttäen Microsoftin tuotteita -Asiakas/Alihankkija/Kilpailija rekisterin suunnittelu ja toteutus -Tarjous- ja sopimusrekisterin suunnittelu ja toteutus 0,5v. Weppihiiri Oy, Tekninen johtaja (työsuhde voimassa) -WWW-sovelluskehitys Microsoft-tuotteilla, businesslogiikka ja tietokannat Janne Kankaanpää, dokumentointipäällikkö Janne vastaa dokumenttien laadusta, yhtenäisyydestä ja versionhallinnasta. Jannen varahenkilönä toimii Mikko Viljainen. Puhelin: 050-548 0899 E-mail: jjkankaa@cc.hut.fi, janne.kankaanpaa@aware.fi Kiinnostus- ja osaamisalueet: Java programming Opiskelu- ja työkokemus: 2,5 vuotta Vaasan yliopistossa tietotekniikkaa 1. vuosikurssi TKK:lla 0,5v. 0,5v. 0,5v. ICL, Vaasa, harjoittelija -sekalaista WWW-ohjelmointia Vaasan yliopisto, Assistentti -Tietorakenteet ja olio-ohjelmointi A-Ware Oy, Java programmer (työsuhde voimassa) -Hajautettujen sovellusten toteutus Java-tuotteilla Timo Lämsä, Laatupäällikkö Timo vastaa sovelluskehikon laadusta ja pyrkii luomaan systemaattista toimintatapaa ryhmän sisälle. Timon varahenkilönä toimii Mickey Shroff. Puhelin: 040-501 6084 E-mail: tlamsa@cc.hut.fi, timo@weppihiiri.com Kiinnostus- ja osaamisalueet: tietokannat, komponenttiohjelmointi, www-sovellusten ohjelmointi, MS:n työkalut edellämainittuissa Opiskelu- ja työkokemus: 5. vuosikurssi TKK:lla tietotekniikan osastolla 11

1½v. Tielaitoksen tuotanto -Intranet-sovellukset 1v. Hewlett-Packard -Intranet-sovellukset ½v. 2kk Weppihiiri Oy, Toimitusjohtaja (työsuhde voimassa) Kirahvi-domainit Oy, Toimitusjohtaja (työsuhde voimassa) Mickey Shroff, Käytettävyyspäällikkö Mickey vastaa siitä, että sovelluskehikko on käyttökelpoinen, helppo ja mukava. Sovelluskehikon tarkoituksena kuitenkin on helpottaa sovelluskehitystä eikä tehdä siitä monimutkaista ja vaikeaa. Mickeyn varahenkilönä toimii Timo Lämsä. Puhelin: 050-302 7187 E-mail: mshroff@cc.hut.fi Kiinnostus- ja osaamisalueet: c, c++, java, sulautetut järjestelmät, reaaliaikakäyttöjärjestelmät, tietokannat, WWW-sovellukset ja tietoturvallisuus Opiskelu- ja työkokemus: Aikaisempia opintoja Vaasassa 1. vuosikurssi TKK:lla tietotekniikan osastolla Työkokemusta c:n, c++:n, sulautettujen järjestelmien, reaaliaikakäyttöjärjestelmät, ja salausalgoritmien parissa. Mikko Viljainen, Testauspäällikkö Testauksen erikoismiehenä Mikko suunnittelee ja osittain toteuttaa järjestelmän kuormitus- ja toiminnallisuustestauksen, sekä ohjaa moduulitestausta. Mikon varahenkilönä toimii Janne Kankaanpää. Puhelin: 040-747 0222 E-mail: mviljain@cc.hut.fi Kiinnostus- ja osaamisalueet: Testaus Opiskelu- ja työkokemus: 5. vuosikurssi TKK:lla konetekniikan osastolla 12

5.2 Sidosryhmät 5.2.1 Asiakas, A-Ware Oy Nina Kesälä, Asiakas E-mail: nina.kesala@aware.fi Puhelin: 09-4520 8822 GSM: 050-380 0044 Arto Laurila, Ohjaaja E-mail: arto.laurila@aware.fi Puhelin: 09-4530 8816 GSM: 050-548 0894 Sovelluskehikon käyttäjät Sovelluskehikon käyttäjäkuntaa tulevat olemaan asiakkaan ohjelmoijat, sekä mahdollisesti myös asiakkaan asiakkaat. 5.2.2 TKK, Ohjelmatyökurssin edustajat Kristian Rautiainen, Projektiryhmän kurssiassistentti Kristian toimii ohjelmatyökurssin edustajana ja ohjaajana sekä osallistuu katselmuksiin. E-mail: Kristian.Rautiainen@hut.fi WWW: http://mordor.cs.hut.fi/~kqr/ GSM: 050-501 4099 Puhelin: 451 5063 Fax: 451 4958 5.2.3 Opponenttiryhmä Kurssin muista projektiryhmistä yksi valitaan projektiryhmän opponenttiryhmäksi. Opponenttiryhmät arvioivat toistensa työtä. 5.2.4 Weppihiiri Oy Projektiryhmään kuuluu Weppihiiri Oy:n työntekijöitä. Vaikka Weppihiiri ei yrityksenä ole mukana projektissa, voi Weppihiiri Oy luovuttaa projektiryhmän käyttöön palvelintiloja sekä ohjelmistoja. 13

6. Projektin tavoitteet ja päättäminen 6.1 Projektiryhmän tavoitteet 1. Projektiryhmän ensisijainen tavoite on hyvän projektityöskentelyn opetteleminen. Tämä sisältää käytetyt menetelmät ja työkalut. Tavoitteeseen kuuluu myös se, että projektiryhmä hahmottaa kaikkien osapuolien tasaisen työpanoksen merkityksen. 2. Tyytyväinen asiakas. Tämä saavutetaan hyvällä lopputuotteella, joka taas on seurausta hyvästä suunnittelusta, dokumentoinnista ja laadunvalvonnasta. 3. Oppia käytettäviä Java-tekniikoita. 4. Viisi opintoviikkoa. Tämä ei luonnollisesti kuitenkaan ole se, josta ensimmäisenä tingitään, sillä opintoviikot on seurausta projektin läpiviennistä. 6.2 Asiakkaan tavoitteet Asiakkaan tarkemmat vaatimukset on määritelty vaatimusmäärittelyssä. Top-10 on asiakkaan pääasialliset tavoitteet, joiden avulla mitataan projektin onnistumista. 6.2.1 TOP-10 Sovelluskehikko tarjoaa HTML-lomakkeella tapahtuvat käyttäjän identifioinnin/autentikoinnin ja HTTP standardien mukaisen Basic autentikoinnin Sovelluskehikon avulla voi suorittaa operaatioita vain käyttäjän käyttöoikeuksien rajoissa (verifiointi vaikeaa; sovelluskehikko voidaan todistaa aukolliseksi, ei aukottomaksi!) Projektiryhmä toteuttaa valmiit rajapinnat SQL92- ja LDAP tietolähteisiin, joita voi periyttämällä muokata sovelluskohtaisiin tarkoituksiin. Sovelluskehikko on asiakkaan arvion mukaan riittävän modulaarinen ja laajennettava Sovelluskehikko on geneerinen, ei saa sitoutua tiettyihin tietolähteisiin Riittävä suorituskyvyltään, ts. se ei saa hidastaa sovelluksen toimintaa LIIKAA. Suorituskykyrajoitteet ovat AINA sovelluskohtaisia, joten tarkkoja rajoa SOVELLUSKEHYKSELLE ei voida määrittää. Projektiryhmän tulee selvittää, kuinka voimakas sovelluskehikon suorituskykyvaikutus on. Riittävän helppokäyttöinen, että sovelluskehikon käyttäminen on mukavaa ja kannattavaa Käytön helppous ja kannattavuus kokeillaan esimerkkisovelluksella. Sovelluskehikon tulee tarjota myös mahdollisuus käyttöoikeuksien valvontaan sovelluksessa, jolloin sovelluskehikko toimii vain rajapintana käyttäjätietolähteeseen. Sovelluskehikko tulee dokumentoida niin hyvin, että sen käyttöönotto asiakkaan omissa projekteissa on asiakkaan arvion mukaan riittävän helppoa ja tehokasta. Sovelluskehikon tulee toimia J2EE standardeja noudattavissa sovelluspalvelimissa. Tämä varmistetaan. 14

Projektiryhmä toteuttaa myös esimerkkisovelluksen työn osana. Esimerkkisovelluksen tarkoitus ei ole olla valmis tuote, vaan sen tarkoitus on kokeilla sovelluskehikon käyttöä tositilanteessa. Asiakas EI ole kiinnostunut esimerkkisovelluksesta. Esimerkkisovelluksen toteutus ei saa siis viedä liikaa aikaa, ja sen toiminnoista tingitään ensimmäiseksi. Esimerkkisovellus esitellään vaatimusmäärittelyssä. Esimerkkisovelluksena toteutetaan yksinkertainen projektien tuntiseurantasovellus. 6.3 Projektin tavoitteet Projektin tavoitteena on toteuttaa käyttäjien tunnistamiseen ja käyttöoikeuksien hallintaan sovelluskehikko, joka tarjoaa valmiita palveluja ja ratkaisumallin näiden toimintojen toteuttamiseen. Sovelluskehikko toteuttetaan siten, että se on helposti laajennettavissa ja mukautettavissa erillaisten sovellusten tarpeisiin. 6.4 Projektin keskeyttämiskriteerit Projekti keskeytetään mikäli Asiakas keskeyttää projektin Mikäli projektia ei pystytä viemään loppuun kurssin puitteissa tai hiukan yli. Työmäärä saa ylittää 25% projektiryhmän yhteenlasketun työmäärän (6*200h=1200h), eli saa olla maksimissaan 1500h. Mikäli todetaan asiakkaan kanssa, että sovelluskehikon toteuttaminen ei ole mahdollista Mikäli todetaan asiakkaan kanssa yhteisesti, että sovelluskehikon käytöstä ei saada riittävää hyötyä Microsoft julkaisee kaiken kattavan ilmaisen ratkaisun, joka toimii jokaisella laitealustalla Projektin keskeyttämiseksi tarvitaan asiakkaan päätös tai projektiryhmän enemmistön päätös. Jos asiakas keskeyttää projektin, voi projektiryhmä halutessaan jatkaa kehitystä ja saa samalla täydet oikeudet projektin tuotoksiin. Projektiryhmän keskeyttäessä projektin se laatii selvityksen keskeyttämisen syistä. 6.5 Projektin päättämiskriteerit Projekti päättyy, kun työtunteja on projektiryhmän jäseneet tehneet yhteensä riittävästi suhteessa kurssin työmäärän. Tämä tarkoittaa 75% kurssin työmäärästä, eli (6*200h*0,75) = 900h. sovelluskehikko ja esimerkkisovellus ovat vaatimusmäärittelyn mukaisia ja asiakkaan hyväksymiä lopputulos dokumentteineen on toimitettu asiakkaalle 15

on pidetty päätöspalaveri, johon osallistuvat asiakkaan edustajat (ohjaaja ja tilaaja), projektiryhmän enemmistö sekä kurssin ohjaaja Projektiryhmä toimittaa asiakkaalle sovelluskehikon käännettynä sovelluskehikon lähdekoodit dokumentaation sovelluskehikkoon, joka sisältää JavaDoc-referenssit sekä ohjeen, kuinka sovelluskehystä käytetään sovelluskehityksessä esimerkkisovelluksen lähdekoodit muun projektin aikana syntyneen dokumentaation Projektiryhmä ei kouluta asiakasta sovelluskehikon käyttöön. Projektiryhmään kuuluu kaksi asiakkaan työntekijää, joten asiakkaalle jää myös syvällisempää tietoutta sovelluskehikosta. Asiakas ja asiakkaan työntekijät sopivat keskenään koulutuksen järjestämisestä, mikäli se on tarpeellista. 16

7. Projektin resurssit 7.1 Henkilöresurssit Tomas Jussi Janne Timo Mickey Mikko Yhteensä PS 40 40 30 20 20 20 170 T1 25 25 25 25 25 20 145 T2 40 40 45 45 45 40 255 T3 30 30 35 40 40 35 210 T4 30 30 30 35 35 40 200 LU 35 35 35 35 35 45 220 Yhteensä 200 200 200 200 200 200 1200 7.1.1 Tiedossa olevat poissaolot Tomas Jussi Janne Timo Mickey Mikko 18.12.2000-2.1.2001 18.12.2000-2.1.2001 18.12.2000-2.1.2001 18.12.2000-2.1.2001 18.12.2000-2.1.2001 18.12.2000-2.1.2001 20.1.2001-8.2.2001 7.2 Ohjaaja Projektin ohjaaja on käytettävissä, jos ja kun tarvetta ilmenee ja hänet kiinni saa. 7.3 Laiteresurssit palvelin ryhmän käyttöön asiakkaalta tarvittaessa palvelintilaa ja verkkoyhteys Weppihiiri Oy:ltä tarvittaessa Jussin laitteisto käytettävissä, dynaamisella IP:llä DSL-piuhan takaa 17

8. Projektissa käytettävät menetelmät ja työkalut 8.1. Työkalut Sovelluskehikko suunnitellaan ja kuvataan UML-kuvauskielellä. UML-työkaluja ryhmällä on käytössä Rational Rose, käyttöön koululta TogetherJ, käyttöön asiakkaalta, vastuuhenkilönä Tomas Sovelluskehikon toteutukseen käytetään Jbuilder, käyttöön asiakkaalta, vastuuhenkilönä Janne J2EE, ilmainen, vastuuhenkilönä Tomas Jos aikaa jää, toteutetaan demoluonteisesti Microsoft COM-arkkitehtuurin mukainen rajapinta. Tähän tarvittavavat työkalut ovat Microsoft Visual Studio 6.0 + MS Visual J++ 6.0 sekä Sunin Proxy COM-komponentteihin. Microsoftin tuotteet on käytettävissä Weppihiiri Oy:n tiloissa. Vastuuhenkilö Jussi. Asiakkaalta saataneen palvelin ryhmän käyttöön asiakkaan tiloissa. Palvelinta varten voidaan avata palomuuriin reikä tarvittaville palveluille. Esimerkkisovelluksen toteutukseen käytettävä palvelinympäristö on kirjoitushetkellä vielä avoin. Kandidaatteja ovat Windows NT4.0/2000 + Microsoft Internet Information Server + Tomcat Windows NT4.0/2000 + Apache + IBM WebSphere Jbuilder (A-Ware Oy) J2EE Dokumentointi tehdään Microsoft Office -työkaluilla tallettaen Office 97-formaatteihin. Katselmoitavat dokumentit konvertoidaan.pdf-tiedostoiksi, jotka laitetaan ryhmän kotisivuille, jotka löytyvät osoitteesta http://www.niksula.cs.hut.fi/~jjkankaa/teamahma/index.html. Dokumentointikielenä on suomi. Referenssidokumentaatio tehdään JavaDocilla. Esimerkkisovelluksen kuormitustestaus hoidetaan Microsoftin ilmaisella Web Application Stress Tool työkalulla. Raportointiin käytetään Buranaa, Tiranaa ja tulosten tarkastaluun ViCaa. Projektin aikataulu ja resurssien allokointi tehdään MS-Project 98:lla. Projectin kanta dumpataan Tiranaa varten PMIX-ohjelmalla. 18

8.2. Versionhallinta Dokumentointipäällikkö ja VAIN dokumentointipäällikkö vastaa dokumenttien yhtenäisyydestä ja versionhallinnasta. Dokumentit tulee hyväksyttää dokumentointipäälliköllä, joka liittää ne ryhmäkohtaiseen dokumentaatioon. Ryhmäkohtainen dokumentaatio talletetaan ryhmän kotisivuille. Jokaisen suuremman muutoksen jälkeen tulee dokumenttien edellinen versio pitää tallessa projektin vaiheen ajan ja versionumero päivittää. Projektin vaiheen loputtua kun vaiheen katselmus on pidetty, voidaan vaiheen väliversiot poistaa. Projektikatselmuksissa hyväksytyt dokumentit tulee säilyttää! Koodiin pätee samat periaatteet. Laatupäällikkö valvoo koodin yhtenäistä tyyliä ja virheettömyyttä sekä huolehtii versionhallinnasta. Projektin vaiheen keston aikana suurempien muutosten jälkeen edellinen versio tulee säästää. Vaiheen loputtua versiot voidaan poistaa pl. katselmuksessa hyväksytyt koodit. Vain laatupäällikkö voi hyväksyä koodin liitettäväksi ryhmäkohtaiseen koodiin. Toisin sanoen ryhmän jäsenet koodatessaan säätävät omia kopioita, jotka laatupäällikön hyväksynnän jälkeen liitetään ryhmäkohtaiseen koodiin. 8.2.1 Versionumerointi Versionumerointi toteutetaan kaksinumeroisena. Jälkimmäinen numero kasvaa joka toimituksessa, toimitus tarkoittaen tässä yhteydessä koodin liittämistä ryhmäkohtaiseen koodivarastoon. Ensimmäinen numero kuvaa projektin vaihetta. 8.3 Seurantatyökalut Buranaa käytetään projektin tuotosten koon seurantaan, opponenttiryhmän tuotoksista löydettyihin bugeihin sekä omaan bugiraportointiin. Tiranaa käytetään tuntiseurantaan, jotta projektipäällikkö voi arvioida projektin etenemistä ja aikataulua sekä hyödyntää toteutumaa seuraavia vaiheita suunnitellessa. 8.4 Tiedonkulku Tiedonvälitys hoidetaan pääasiassa sähköpostitse. Projektiryhmällä on jakelulista, teamahma@weppihiiri.com, jonka avulla saa helposti postin kaikille. 19

8.5 Nimeämiskäytännöt 8.5.1 Javakoodi Javassa noudatetaan Java Code Conventionia, eli luokat alkavat isoilla kirjaimilla, metodit ja attribuutit alkavat pienellä kirjaimella ja sanat alkavat nimen keskellä isoilla. Sanat kirjoitetaan yhteen. [7] class ClassExample... int kokonaislukumalli; 8.5.2 Dokumentit Dokumentit nimetään kuvaavilla nimillä, esim. projektisuunnitelma.doc. 8.6 Suunnittelumenetelmät Luokkien mallinnus tehdään UML-notaatiolla. 8.7 Laadunvarmistus Laatupäällikkö valvoo koodin laatua, kommentointia ja dokumentteja. Testauksen yhteydessä järjestetään kooditarkistuksia, joissa koodin kirjoittaja esittelee koodin ydinajatukset tarkistajalle ja tärkeät kohdat voidaan käydä läpi rivi riviltä. 8.8 Muutosten hallinta Pyritään luomaan hyvä dokumentaatio, jolloin muutosten säteily järjestelmän muihin osiin on helpommin hallittavissa. Laatupäällikkö valvoo ja ohjaa. Muutokset pyritään minimoimaan hyvällä suunnittelulla, erityisesti huolellisella rajapintojen määrittelyllä, mutta sovelluskehikon rakentamisessa muutokset ovat väistämättömiä. 20

9. Projektin ositus, vaiheistus ja resurssointi Tarkka resurssointi MS-Project-liitteessä. Projektin suunnittelu 26.9. 18.10.2000 Projektin suunnittelun aikana laaditaan projektisuunnitelma ja resursoidaan projektin vaiheet. Tuotettavia dokumentteja ovat projektisuunnitelma ja vaatimusmäärittely. Projektisuunnitelma esitellään ja opponoidaan 18.10.2000 kello 10-12 TKK:n päärakennuksen J- salissa. Toteutus 1 (T1) 19.10. 10.11.2000 Vaiheen aikana tehdään toiminnallinen ja tekninen määrittely sovelluskehykselle ja toteutetaan alustava prototyyppi sovelluskehyksestä. Esimerkkisovelluksen kehittäminen aloitetaan sovelluskehyksen rinnalla. Tuotettavia dokumentteja ovat sovelluskehikon toiminnallinen ja tekninen määrittely, alustava esimerkkisovelluksen toiminnallinen ja tekninen määrittely edistysmisraportti Toteutus 1-vaiheen lopussa pidetään projektikatselmus 9. tai 10. marraskuuta Spektrin Kvintin ensimmäisessä kerroksessa huoneessa 1204. Toteutus (T2) 11.11. 15.12.2000 Jatketaan sovelluskehikon määrittelyä ja suunnittelua sekä toteutusta. Esimerkkisovellus saatetaan kuntoon, jossa sovelluskehyksen käyttöä voidaan demota oikealla sovelluksella. Vaiheen jälkeen pidetään projektikatselmus 14. tai 15. joulukuuta, jolloin järjestetään proton demo. Vaiheen aikana tuotettavat dokumentit: hiotut sovelluskehikon toiminnalliset ja tekniset määrittelyt hiotut esimerkkisovelluksen toiminnalliset ja tekniset määrittelyt edistymisraportti Toteutus (T3) 17.12.2000 16.2.2001 Jatketaan sovelluskehikon määrittelyä ja suunnittelua sekä toteutusta. Vaihe jakaantuu joulun molemmin puolin, jolloin on tenttikaudet, joululoma jne. Pitkä vaihe ajallisesti, mutta tehokasta työaikaa yllättävän vähän. Vaiheen jälkeen pidetään projektikatselmus 15. tai 16. helmikuuta, jolloin järjestetään proton demo. Vaiheen aikana tuotettavat dokumentit: 21

hiotut sovelluskehikon toiminnalliset ja tekniset määrittelyt hiotut esimerkkisovelluksen toiminnalliset ja tekniset määrittelyt edistymisraportti Toteutus (T4) 17.2.2000 23.3.2001 Jatketaan sovelluskehikon määrittelyä ja suunnittelua sekä toteutusta. Vaihe jakaantuu joulun molemmin puolin, jolloin on tenttikaudet, joululoma jne. Pitkä vaihe ajallisesti, mutta tehokasta työaikaa yllättävän vähän. Vaiheen jälkeen pidetään projektikatselmus 22. tai 23. maaliskuuta, jolloin järjestetään proton demo. Vaiheen aikana tuotettavat dokumentit: hiotut sovelluskehikon toiminnalliset ja tekniset määrittelyt hiotut esimerkkisovelluksen toiminnalliset ja tekniset määrittelyt edistymisraportti Luovutus 24.3.2000 27.4.2001 Viimeistellään sovelluskehikko kaikin puolin. Vaiheen aikana tuotettavat dokumentit: hiotut sovelluskehikon toiminnalliset ja tekniset määrittelyt hiotut esimerkkisovelluksen toiminnalliset ja tekniset määrittelyt edistymisraportti loppuraportti 22

10. Seuranta ja ohjaus 10.1. Projektipalaverit Projektin seurantaa varten pidetään viikottainen projektipalaveri projektiryhmän kesken. Projektipalaverissa valitaan sihteeri, joka kirjaa projektipalaverissa ilmenneet asiat, ja tekee palaverista muistion. Muistio tulee tehdä ja lähettää projektiryhmän jäsenille kahden päivän sisällä palaveristä, jotteivat asiat pääse unohtumaan palaverin jälkeen. Dokumentointipäällikkö laittaa palaverimuistiot ryhmän kotisivulle. Asiakas tai ohjaaja eivät ole kiinnostuneita muistioista. Palaverit pidetään ennen luentoja luentojen ollessa käynnissä. Luentojen loppuessa valitaan uusi aika, joka sopii parhaiten projektiryhmälle. Palaverissä puidaan ilmenneet ongelmat ja asiat projektipäällikkö jakaa mahdolliset uudet tehtävät ja suorittaa ohjaustoimenpiteet käydään läpi projektiryhmän jäsenten edistyminen omissa tehtävissään arvioidaan eteneminen projektissa kokonaisuutena 10.2. Asiakaspalaverit Asiakas ei halua sitoa resurssejaan kiinteään yhteydenpitoon. Asiakkaalle riittää kahvipöytäkeskustelut projektiryhmään kuuluvan A-Waren työntekijän, eli ryhmän projektipäällikön, kanssa. Asiakaspalaverejä voidaan järjestää tarvittaessa. 10.3. Kurssin toimittamat työkalut Projektiryhmä sitoutuu käyttämään tuntiseurantaan Tirana-järjestelmää ja bugiraportointiin Buranaa kurssin ohjeiden mukaisesti. [4] [5] 10.4. Kurssin vaatimukset projektin seurannalle Kurssin vaatimuksia seurannalle pyritään noudattamaan. 23

11. Standardit, direktiivit ja määräykset Toteutettava esimerkkisovellus, projektin tuntiseuranta, täyttää henkilörekisterin tunnusmerkit ja näinollen sen toteutuksessa on noudatettava henkilörekisterilakia. Testaussuunnitelma perustuu IEEE829-1983 Standard for Software Test Documentation standardiin. [6] Projektiryhmä käyttää Sunin Java Code Conventionia java-koodiin ja tekee dokumentaation luokista käyttäen Javadocia. 24