| Ce se face la TEP? |
La TEP sunt prezentate tehnologiile necesare pentru a crea un proiect
intr-un limbaj orientat-obiect (C++, Java, C#, Python). Scopul este crearea
unui proiect cu o arhitectura clara,
implementat folosind un stil de programare elegant si
care foloseste unitati de testare automata.
|
| Ce nu se face la TEP? |
La TEP nu se preda un limbaj de programare (C++, Java),
o biblioteca de dezvoltare (MFC, wxWindows, Swing) sau un IDE
(Visual Studio, NetBeans). Invatarea acestor lucruri cade in sarcina studentului, functie
de tipul de proiect pe care si l-a ales.
La curs si la laborator vor fi oferite resurse pentru a indruma invatarea.
Scop: "invat sa invat" (o constanta a meseriei de programator).
|
| Ce sa fac pentru a nu promova? |
Nu discut proiectul cu conducatorul de lucrari astfel incat atunci cand
se fac prezentarile finale acesta nu stie cine sunt si cu ce ma ocup.
|
| Ce sa fac pentru a lua o nota (foarte) mica? |
Imi proiectez programul ca si cum nu as fi aflat nimic de la curs, scriu
codul la intamplare si nu fac unitati de testare automata. Daca excelez,
se poate chiar ca nota foarte mica sa nu fie de trecere!
|
| Alegerea platformei de dezvoltare |
Windows, Linux (distributions), FreeBSD, Apple
Costuri si beneficii (termen scurt, mediu, lung). Portabilitate.
|
| Alegerea licentei de distributie a programului |
Closed-source, open-source (GNU (L)GPL, Apache licence, BSD licence).
Strategii de "marketing".
|
| Stil de programare |
Cod auto-documentat, doxygen, javadoc.
|
| Organizarea proiectului |
Modularitate, crearea de biblioteci, folosirea make/ant.
|
| Scrie cod de test inainte de a scrie cod |
Prezentare concepte unitati testare automata, exemplificare cppunit.
|
| Testare structurala si testare functionala |
Ideei generale.
|
| XML |
XML: ce este, la ce e bun, Xerces C++
|
| Baze de date |
Sisteme de gestiune a bazelor de date (MS SQL, Oracle, PostgreSQL, mySQL, FOX).
Avantaje/dezavantaje. Accesarea datelor dintr-un limbaj OO (ODBC, JDBC).
|
| Ce e mai bun pentru mine? |
Cand folosesc: XML, baze de date, format proprietar.
|
| Modele de dezvoltare |
Etapele realizarii programelor, modelul in cascada, extreme programming.
|
| Analiza cerintelor |
Exprimarea cerintelor prin scenarii.
|
| Folosirea instrumentelor de control al versiunilor |
CVS, subversion, SourceSafe. Exemplu subversion.
|