AHAProjekti Asiakashallinnan tietojrjestelm Projektiryhm Vuorela Maaret projektipllikk Remes
- Slides: 29
AHA-Projekti Asiakashallinnan tietojärjestelmä
Projektiryhmä § § § Vuorela Maaret, projektipäällikkö Remes Hanne, suunnittelupäällikkö Rissa Timo, ohjelmistopäällikkö Saloila Heidi, laatu- ja prosessipäällikkö Tammelin Jarno, tukipalvelupäällikkö
Sisällysluettelo § § Sovelluksen esittely Sovelluksen rakenne ja koodaus Asiakkaan käsittelyn testaus Toimipisteen lisäyksen suunnittelu § Käyttöliittymä, luokkakaavio, relaatiokaavio, käyttötapauskuvaus § Paketointi § Toimipisteen lisäyksen testaus § Projektiryhmän kokemuksia
Sovelluksen esitys § Verkkokäyttöliittymä § IE & vastaavat § Sovelluksen toiminnan esitys § § Aloitussivun sisältö Lisäys Haku Muutos
Järjestelmän rakenne § Web -pohjainen järjestelmä § Käytetään Front Controller – suunnittelumallia (Desing Pattern) § Java Servlet toimii järjestelmän ohjaavana kontrollerina § MVC Model 2 –mallin mukainen § 3 –tasoarkkitehtuuri
MVC Model 2 - malli § Lähde: Käyttöliittymän totetuttaminen Jukka Juslin / luento
Paketit § 3 –tasoarkkitehtuurin mukainen pakettirakenne
Lähdekoodin esittely § Lähdekoodi on tehty helppoa ylläpitoa silmällä pitäen § Nimeämissääntöjen mukainen § Runsas kommentointi helpottamaan ylläpitoa ja uudelleenkäytettävyyttä § Runsas tulostus lokiin seurantaa varten
Esimerkkejä lähdekoodista – Nimeämissäännöt /** *Metodi, joka käsittelee kaikki GET-tyyppiset pyynnöt. * Metodi käyttää seuraavia parametrejä: * create Parametrillä tunnistetaan luodaanko uutta asiakasta. * customer Asiakasnumero. * action Käyttöliittymässä olevia toimintoja ohjaava parametri. * kirjautuminen Ohjelmiston kirjautumisen parametri. Ei käytössä tällä hetkellä. * muokkaa Toimii muokkauksen tunnistavana parametrinä, jos käyttöliittymässä valittu tietojen muokkaus. * paluu Toimii parametrinä jolla tunnistetaan palataanko käyttöliittymässä edelliseen sivuun. * *@param request *@param response *@throws Servlet. Exception *@throws IOException */ public void do. Get(Http. Servlet. Request request, Http. Servlet. Response response) throws Servlet. Exception, IOException { Http. Session session = request. get. Session(); System. out. println("Kontrolleri. do. Get() - toiminta aloitetaan");
Esimerkkejä lähdekoodista - kommentointi // suorita. Paivitys-metodia varten määritetään paluuarvo int tarkistus = 1; // Default 1 = ok. Jos arvo on jotain muuta niin virheellinen tarkistus int lisatyt. Rivit = 0; // Käsiteteltyjen rivien määrä konsoliin tulostusta varten //tehdään lisäys tietokantaan try { kanta. avaa(); kanta. aloita. Transaktio(); // Tehdään lisäykset tietokantaan. Jos kaikki lisäykset onnistuvat, tehdään commit(), muuten rollback(). if(tarkistus == 1) { // Aloitetaan tietojen lisäys // Lisätään asiakkaan käyntiosoite (pakollinen) tarkistus = kanta. suorita. Paivitys(sql. Ask); if(tarkistus == 1) { lisatyt. Rivit++; // Lisää as. osoiteen lisäyksen System. out. println("Tietokanta. Ohjaus. luo. Asiakas() - lisätty asiakkaan käyntiosoite. Lisätyt rivit yhteensä: " +lisatyt. Rivit); // Lisätään asiakkaan postiosoite vain jos se on olemassa if (as. Postiosoite != null) { // Postiosoite on tarkistus = kanta. suorita. Paivitys(sql. Asp); } else if (as. Postiosoite == null) { // Postiosoitetta ei ole System. out. println("Tietokanta. Ohjaus. luo. Asiakas() - asiakkaan postiosoitetta ei lisätty, " + "koska sitä ei ole syötetty. Lisätyt rivit yhteensä: " +lisatyt. Rivit); }
Esimerkkejä lähdekoodista - tulostus lokiin // Kysely, joka palauttaa lisätyn asiakkaan id: n tietokannasta. sql. Lisatty. Id = "SELECT max(as. Nro) as numero FROM SYSSI 9. asiakas"; //tulostetaan insert-lauseet seurantaa varten System. out. println("Tietokanta. Ohjaus. luo. Asiakas() - as-kayntiosoite: " + sql. Ask); System. out. println("Tietokanta. Ohjaus. luo. Asiakas() - as-postiosoite: " + sql. Asp); System. out. println("Tietokanta. Ohjaus. luo. Asiakas() - yh-osoite-sql: " + sql. Yh. Osoite); System. out. println("Tietokanta. Ohjaus. luo. Asiakas() - yhteyshenkilö -insert: " + sql. Yh); System. out. println("Tietokanta. Ohjaus. luo. Asiakas() - as -insert: " + sql. As); // suorita. Paivitys-metodia varten määritetään paluuarvo int tarkistus = 1; // Default 1 = ok. Jos arvo on jotain muuta niin virheellinen tarkistus int lisatyt. Rivit = 0; // Käsiteteltyjen rivien määrä konsoliin tulostusta varten
Asiakkaan testaus § Asiakkaan haku, lisäys ja muokkaus testattu omina lomakkeinaan § Testitapauksia yhteensä on noin 60. § Testit ajettu sitä varten luodulla testitietokannalla § Näin testit voidaan toteuttaa uudestaan samalla tietokannalla § Testausta suoritettiin useaan otteeseen ohjelman eri kehitysvaiheissa
Asiakkaan testaus § Esimerkkejä testitapauksista:
Asiakkaan testaus § SQL-testitietokanta, skriptit tallessa jotta kanta voidaan luoda uudestaan mikäli testi halutaan toistaa:
Toimipisteen suunnittelu § Suunnittelukuvasto on jatkoa aikaisemmalle AHA-projektissa käytetylle suunnittelukuvastolle. § Toimipisteen suunnittelukuvastossa kuvataan toimipisteen lisäämisen suunnittelu.
Toimipisteen suunnittelu Suunnittelukuvaston sisällys § 1 Johdanto § 2 Käyttöliittymät § 2. 1 Etusivun näkymä § 2. 2 Asiakkaan ylläpidon näkymä § 2. 3 Toimipisteen lisäyksen näkymä § 3 Luokkamalli § 4 Relaatiotietokanta § 4. 1 Relaatiokaavat § 4. 2 Tietokannan luontilauseet § 4. 3 Pääavainten automaattinen kasvatus § 5 Yhteistyökaaviot § 5. 1 Toimipisteen lisäyksen yhteistyökaaviot § 6 Viestiyhteyskaaviot § 6. 1 Toimipisteen lisäyksen viestiyhteyskaaviot § 7 Paketit § 7. 1 Servlet-paketti § 7. 2 Liiketoiminta-paketti § 7. 3 Tarkistus-paketti § 7. 4 Tietokanta-paketti
Toimipisteen suunnittelu Käyttöliittymät § Toimipisteen lisäys suoritetaan asiakkaan ylläpitonäkymän kautta. Toimipisteen lisäykseen pääsee kahdella eri tavalla: § 1. suoritetaan asiakkaan haku ja valitaan haluttu asiakas, jolloin järjestelmä avaa haetun asiakkaan tiedot näytölle § 2. lisätään uusi asiakas ja tallennetaan asiakkaan tiedot, jolloin järjestelmä avaa lisätyn asiakkaan tiedot näytölle. § Avautuvassa lomakkeessa on valittavissa painike ”Lisää toimipiste”, josta päästään toimipisteen lisäys –näyttöön.
Rakenne
Luokkakaavio
Relaatiokaavio
Toimipisteen lisäys § Esiehdot: § Halutaan lisätä uusi toimipiste. 1. Järjestelmä avaa toimipisteen lisäys-näytön. 2. Toimija syöttää toimipisteen tiedot järjestelmään. 3. Toimija varmistaa, että tiedot ovat oikein ja tallentaa ne. 4. Järjestelmä tarkistaa ja tallentaa tiedot.
Toimipisteen lisäys
Toimipisteen lisäys
Toimipisteen lisäys
Toimipisteen testaus § Toimipisteen käsittelylle on luotu vastaavia testitapauksia kuin asiakkaan tapauksille § Testejä ei kuitenkaan ole ajettu koska toimipisteen käsittelyä ei ole toteuttu toimivaksi ollenkaan.
Toimipisteen testaus § Toimipisteen testauksen testitapaus:
Toimipisteen testaus § Toimipisteen testaukselle on myös tehty testitietokanta.
Kokemukset ja ongelmat § Suurimman ongelman muodosti ohjelmointiympäristöt Eclipse, Lomboz ja Apache § Ympäristöjä ei oltu asennettu valmiiksi § Työaikaa kului käyttöönottoon ja opetteluun § Tästä kuitenkin selviydyttiin kun ohjelmat lopulta saatiin asennettua usean yrityksen jälkeen. § Käytetyn JSP-tekniikan riittämätön tuntemus aiheutti ongelmia. § Projektiryhmä on saanut yhdessä tuntea onnistumisen tunteen ja kokee valmiiden tulosten katselun varsin palkitsevana. § Projektiryhmällä on saanut tilaisuuden toimia projektiorganisaatiossa ja kokea, miten yhteistyö organisaatioissa toimii.
LSD kiittää ja toivottaa hyvää kesää