Implementare si testare
De realizat :
Interfata grafica a aplicatiei
Baza de date a aplicatiei populata cu date
Clasele aplicatiei (inlusiv clasele de tip Exceptie)
Documentatie JavaDoc
Aceasta etapa este compusa din urmatorii pasi :
La sfarsitul acestei etape aplicatia dumneavoastra va trebui sa fie "vizbila" dar nu functionala. Aceasta inseamna ca va trebui sa construiti interfata grafica a aplicatiei : meniurile, butoanele, etc. Acum va trebui sa se vada cum va arata apl 12112n1312m icatia, chiar daca butoanele sau meniurile aplicatiei nu raspund inca la nici o comanda.
Rezultatul acestui pas in realizarea aplicatiei este crearea bazei de date pornind de la modelul acesteia. Datorita faptului ca in realizarea aplicatiei sunt implicati mai multi studenti care de cele mai multe ori sunt aflati la distanta unul de altul se recomanda sa creati baza de date pe serverul de la universitate. Pentru aceasta va rog sa discutati acest amanunt cu responsabili de retea din cadrul facultatii ( Radu Ciorba si Adrian Dinis), asistentii care tin laboratoarele de Baze de date 2 si eventual cu asistentul care tine laboratoarele de inginerie software. Incercati sa rezolvati aceasta problema a crearii bazei de date din timp,datorita faptului ca administatorii de retea au un program destul de incarcat. De asemeni la sfarsitul acestei etape va trebui sa aveti populata si baza de date a proiectului dumneavoastra. Se recomanda ca pentru fiecare tabel al bazei de date sa existe cel putin 10 inregistrari.
Pornind de la specificarea OCL sau JML a claselor aplicatiei dumneavoastra construiti toate clasele de tip Exception care vor fi necesare pentru buna functionare a aplicatiei.
Conform cu speificatia UML - OCL a aplicatiei dumneavoastra se recomanda sa implementati corpul metodelor tuturor claselor. La sfarsitul primei etape de lucru s-a obtinut cu ajutorul utilitarelor software specializate,prin generare de cod corpul claselor dumneavoastra. Pornind de la acest cod generat, folositi mai departe mediul de dezvoltare Eclipse. Cu ajutorul acestuia va puteti de asemeni genera mult cod sursa pentru clasele dumneavoastra cum ar fi : constructori , metodele get si set, metoda equals, metoda hashcode ( in Eclipse utilizati meniul Source -> Generate ... ). De asemeni pentru rapiditate va recomand sa folositi clasa ObiectPersistent din tutorialul "Modelarea bazelor de date". Se recomanda sa cititi cu atentie si sa intelegeti mecanismele si princiipiile expuse in acest tutorial. (Nota : acest tutorial nu este inca posibil sa fie lecturat fiind inca in lucru ).
Pentru fiecare clasa a aplicatiei va trebui de asemeni sa realizati teste unitare folosind Junit. Este recomandabil ca pentru fiecare clasa, persoana care s-a ocupat de scrierea codului sursa al acesteia sa realizeze si testele unitare. Realizati testele unitare numai dupa scrierea codului sursa complet al clasei si al claselor dependente.
Cāteva recomandari cu privire la organizarea si executia testelor:
Stilul de redactare a programelor va trebui sa respecte recomadarile de aici(pentru limbajul C++) sau aici (pentru limbajul Java).
5. Structurarea in pachete a aplicatiei
Pentru clasele aplicatiei anterior create ganditi un mod in care doriti sa le structurati. Incercati sa va ghidati dupa diagrama de package-uri din modelul UML. Modificati continutul claselor dumneavoastra astfel incat sa respecte structurarea in package-uri astfel realizata.
6. Documentatia JavaDoc / Doxygen
Pentru clasele aplicatiei dumneavoastra realizati o documenatie in format HTML. Pentru programele realizate in Java realizati o documentatie de tip JavaDoc. Detalii cu privire la documtatia JavaDoc gasiti pe site-ul laboratorului. Va trebui sa comentati :
toate atributele claselor (semnificatia si utilitatea atributelor si de asemeni ce fel de valori posibile poate sa ia acel atribut. De asemeni trebuie explicat si ce se intampla daca valoarea acelui atribut este nula);
toate metodele claselor :
Ce fel de parametrii primesc aceste metode si care este semnificatia lor ?Ce fel de valori posibile pot lua parametrii metodelor si ce se poate intampla in fiecare din aceste cazuri ?Ce se intampla in situatia in care valoarea parametrului este null sau similar ?
Ce returneaza aceste functii si care este semnificatia valorii returnate ?Ce fel de valori posibile poate lua valoarea returnata ? Care este semnificatia valorii null sau similar returnata ?
Ce fel de exceptii poate arunca acea metoda, si de ce,care sunt cauzele care genereaza acele exceptii? Care este semnificatia exceptiilor aruncate ?
Preconditiile de intrare in metoda, postconditii de iesire din metoda
Explicati algoritmul folosit in interiorul acelor metode. Este necesar descrierea algoritmilor pentru metode cu mai mult de 10 linii de cod.
Pentru amanunte a ceea ce trebui sa cuprinda documentatia JavaDoc cititi informatiile prezentate aici : https://java.sun.com/j2se/javadoc/writingapispecs/index.html
Pentru informati suplimentare privind Doxygen vezi site-urile :
https://www.yolinux.com/TUTORIALS/LinuxTutorialC++CodingStyle.html
https://www-scf.usc.edu/~peterchd/doxygen/
|