Sisällys
Projektiryhmään kuuluu 6 henkilöä. Jokaisen työntekijän työmäärä projektiin on 20h/vk. Projektin kesto on 14 vk:a, joten kokonaistyömäärä on 10,5 henkilötyökuukautta. Eri henkilöiden kokemus ja osaaminen on listattu alla.
Laitokselta varataan kaksi konetta ryhmää varten. Lisäksi jokaisella on käytössä oma kone kotona. Tarvitaan lähinnä Java-kehitystyökalu, joka saadaan tarvittaessa ilmaiseksi, jos joltakin sellainen vielä puuttuu. Versionhallintaan käytetään WinCVS ohjelmaa. Lisäksi käytössä on UML ja XML työkaluja. Käytettävä tietokanta päätetään myöhemmin.
Ryhmän rakenteeksi on valittu demokraattinen hajautettu. Mallia on kuitenkin muokattu hiukan ryhmän jäsenten toiveiden mukaan niin, että Petri on valittu toimimaan puheenjohtajana. Tarvittaessa varapuheenjohtajana toimii Janne. Äänestettäessä kaikilla on yksi ääni. Jos äänestystulos menee tasan puheenjohtajan ääni ratkaisee. Lisäksi eri tehtäviin jaetaan vastuualueita ryhmän jäsenille, kaikki ryhmän jäsenet ovat kuitenkin yhtä paljon vastuussa kokonaisuudesta ja kaikilla on samanlaiset oikeudet tehdä projektiin ja ohjelmistoon liittyviä ehdotuksia.
Ryhmän kokouksissa Anu toimii sihteerinä. Puheenjohtaja tekee kokouksiin esityslistat. Sihteeri laatii projektikokokousten pöytäkirjat ja lähettää ne sähköpostitse kaikille mahdollisimman pian kokouksen jälkeen tai antaa ne Terolle kotisivuille laitettaviksi.
Aikataulussa pysymistä seurataan tarkasti ja viivästymiset pyritään saamaan ajantasalle mahdollisimman nopeasti karsimalla ohjelmiston ominaisuuksia tai mahdollisuuksien mukaan tehostamalla ajankäyttöä tai ohjaamaan sitä enemmän kiireellisiin tehtäviin. Poikkeustilanteissa noudatetaan riskinhallintasuunnitelmaa ja pyritään pitämään laatu hyvänä.
Laatua valvotaan FTR-kokouksilla. Näitä kokouksia pidetään mahdollisuuksien mukaan. Kaikki kriittiset ohjelmapätkät ja dokumentit pyritään käymään läpi ja hyväksymään näissä kokouksissa. Kaikkien ei ole välttämätöntä olla paikalla kaikissa näissä kokouksissa vaan jo puoli ryhmää eli 3 henkilöä voi joko hyväksyä tai hylätä jonkin ohjelmapätkän tai dokumentin.
Projektin tavoitteena on suunnitella ja toteuttaa tarjouskonfiguraattori, jolla voidaan tietokannassa olevien tuote-, asiakas- ja myyjätietojen pohjalta muodostaa tarjouksia esimerkiksi PDF- ja HTML-muodossa. Tuotetietojen tulee olla hierarkisesti järjestetty, niin että tuotteilla voi olla riippuvuussuhteita toisiinsa. Tietokannan käsittelytyökalujen toteutus ei kuulu projektin piiriin.
Sovelluksella tulee pystyä myös tallettamaan luodut tarjoukset tietokantaan. Sovelluksen tulisi olla mahdollisimman geneerinen, esimerkiksi sen käyttöliittymä ja tarjouksen muoto määritellään XML-kielellä ja ne ovat näin ollen helposti muokattavissa tarpeiden mukaan. Sovellusta käyttävät lähinnä myyjät ja sen tulisi soveltua kannettavissa tietokoneissa käytettäväksi.
Sovelluksesta pyritään tekemään mahdollisimman toimiva ja sitä tulee pystyä tarvittaessa myöhemmin myös laajentamaan.
Projektin loppuun saattamiselle suurimman uhan aiheuttaa työntekijöiden sairastuminen tai kurssin kesken jättäminen. Toinen suuri uhka on se, että ohjelmistosta yritetään tehdä liian suuri, jotta se pystytään annetussa ajassa saattamaan loppuun.
Poissaoloihin varaudutaan jakamalla projektin osa-alueet siten, ettei yhden ihmisen tilapäinen poissaolo pysäytä projektin etenemistä vaan silloin voidaan tehdä muita osia.
Jos joku jättää kurssin kesken tulisi kaikille tehtäville olla olemassa myös varahenkilö. Kesken jättäneen henkilön tekemät tehtävät voidaan näin jakaa jollekin muulle eikä pääse syntymään tilannetta, jossa jollekin osa-alueelle ei olisi tekijää.
Ohjelmiston koon paisuminen liian suureksi pyritään estämään tarkalla suunnittelulla ja jakamalla projekti pieniin osiin, joiden koon laskeminen on helpompaa. Näin pysytään karsimaan jo suunnitteluvaiheessa projektia, jos alkaa näyttää siltä, että aika ei riitä koko tuotteen valmiiksi saamiseksi.
Jos toteutusvaiheessa huomataan jonkin osa-alueen vievän enemmän aikaa kuin on laskettu voidaan tuotteesta tarvittaessa karsia ominaisuuksia. Tällaiseen tilanteeseen ei pitäisi hyvän suunnittelun jälkeen olla tarvetta.
Käyttäjän antamien syötteiden lukumäärä. Tähän lasketaan kaikki sellaiset syötteet, jotka tuottavat uutta dataa. Käyttäjä valitsee omat tietonsa, tuotteen ja asiakkaan. =3
-Tarjous tallentuu varastoon; se siis lakettaneen uudeksi dataksi.
Käyttäjän saamien tulosteiden lukumäärä. Tähän lasketaan kaikki sellaiset tulosteet, jotka antavat käyttäjälle sovelluskohtaista tietoa. Tähän lasketaan siis kaikki raportit, näytöt, virheilmoitukset jne=9
-html, pdf ja mail ja noin 6 käyttöliittymäsivua
Käyttäjän järjestelmään antamien kyselyiden lukumäärä. Kyselyksi lasketaan sellainen syöte, jonka tuloksena saadaan jokin käyttäjän tuloste. Käyttäjän antamista syötteistä taas syntyy uutta dataa järjestelmään.=3
-Käyttäjä valitsee omat tietonsa, tuotteen ja asiakkaan.
Käsiteltävien tiedostojen lukumäärä. Jokainen looginen tiedosto lasketaan tähän. Jos käytetään tietokantaa, lasketaan relaatioita.=8
-Tuoterelaatio, asiakasrelaatio, myyjärelaatio, käyttöliittymäpohjarelaatio, ja varastorelaatio sekä html, pdf ja mail -tiedostot .
Ulkoisten liittymien lukumäärä. Tähän lasketaan liittymät oheislaitteisiin, käyttöjärjestelmään ja muihin järjestelmiin.=2
-Graafinen käyttöliittymä sekä tiotakantayhteys.
Jokaiseen kysymykseen voi vastata a) Ei koskaan (No influence) (0p), b) Harvoin (Incidental) (1p), c) Toisinaan (Moderate) (2p), d) Keskimääräisesti (Average) (3p), e) Merkittävästi (Significant) (4p) ja f) Oleellisesti (Essential) (5p).
--------------------------------------------------------------------------------
Kompleksisuukerroin on siis 36
Taulu 6.1. Lasketaan function points -arvo (valittu kerroin merkattu tähdellä)
Mitattu attribuutti | Määrä | x | Yksinkertainen | Keskimääräinen | Vaikea | Tulos | |
---|---|---|---|---|---|---|---|
Syötteitä | 3 | x | 3 | 4 * | 6 | = | 12 |
Tulosteita | 9 | x | 4 | 5 * | 7 | = | 45 |
Kyselyitä | 3 | x | 3 | 4 * | 6 | = | 12 |
Tiedostoja | 8 | x | 7 * | 10 | 15 | = | 56 |
Ulkoisia liittymiä | 2 | x | 5 | 7 * | 10 | = | 14 |
Yhteissumma | = | 139 |