Lab 2012

Project Section

Announcements

06.04.2012 - Penalizarea este de 0.5 puncte pe milestone intarzaiat din nota finala pe proiect

Milestone 3 - Predarea codului functional al sistemului cu toate functionalitatile necesare clientului si chelnerului dupa cum s-a detaliat in descrierea milestone 2. Se va face un demo al aplicatiei in care sa se demonstreze executarea fiecarei functionalitati (fiecare membru al echipei trebuie sa fie inclus in demonstratie). Termen saptamana saptamana 14 (23.05). Verificati daca merge si pe mai multe calculatoare.

Milestone 2 Furnizati 1) un document care sa includa diagramele de clasa si de secventa asociate functionalitatilor (use case-urilor) clientului si chelnerului (pasii pt. crearea comenzii, trimiterea ei / receptia / rezolvarea de catre chelner, cererea de plata si rezolvarea ei, calcularea pretului consumatiei (inclusiv calcul pt. prod. promotionale si discount), verificarea / updatarea stocurilor de produse, etc.); se va evidentia si impartirea entitatilor de design pe subsisteme si locul in care se realizeaza comunicarea prin retea 2) in cazul in care ati ales sa utilizati socket-uri prezentati si protocolul de comunicare 3) un mic prototip functional al sistemului (sa se poata executa o mica bucata de functionalitate nu neaparat total definitivata dar neaparat sa implice comunicare prin retea; de exemplu crearea unei comenzi, trimiterea ei catre chelner si receptia ei pe parte de chelner). Pentru diagrame folositi un editor UML pe care il doriti voi (o posibila optiune gasiti aici). Termen saptamana 11. Eventuale intrebari / nelamuriri / probleme se discuta in cadrul orelor de proiect.

Milestone 1 Furnizati un document care va include urmatoarele a) diagrama de usecase-uri pornind de la specificatiile date; descrieti in cateva propozitii interactiunile (scenariile) din cadrul a 3 usecase-uri b) precizati pe ce infrastructura de comunicatie doriti sa va bazati implementarea proiectului (sockets sau RMI) c) o scurta descriere (eventual insotita de o diagrama) a rolurilor subsistemelor pe care le va avea sistemul vostru. Pentru diagrame folositi un editor UML pe care il doriti voi (o posibila optiune gasiti aici). Atentie: nu introduceti subsisteme in diagramele de use cases. Termen saptamana 9 (11.04). Depasirile termenelor se penalizeaza. Despre use case-uri aici

28.03.2012 - Specificatiile proiectului pot fi gasite aici

16.03.2012 - Dupa cum am stabilit la inceputul semestrului orele de proiect se vor desfasura Miercuri de la 20.00 (adica dupa curs) in B426. Proiectul incepe in saptamana 7 (28.03.2012). La prima ora se dau specificatiile si apoi se discuta putin de use case-uri (care se cer la milstone 1).

16.03.2012 - In pregatirea proiectului, va trebui sa va organizati in echipe de cate 3 persoane. Apoi va veti inscrie echipa utilizand acest formular. Situatia curenta a inregistrarilor este disponibila aici (asteptati cca. 5 minute dupa inregistrare pentru ca echipa sa apara in aceasta lista). Termenul limita de inscriere este ultima zi lucratoare din saptamana 7 (ora 23.59).

15.02.2012 - Project classes will start around the middle of the semester (you will be announced)


Lab Section

Week Subgroup 1 Subgroup 2
Odd Even
1
2
3
4
5
6
7
8

Announcements

15.02.2012 - According to our discussion and your option, your unique group is split in two: Subgroup1, Subgroup2. Subgroup 1 will have labs in odd weeks, Subgroup 2 will have labs in even weeks (labs classes max 3 hours). In the table, the weeks when a subgroup has lab classes is marked with green. You must attend at least 2 lab classes.

15.02.2012 - Your current situation can be found always here. The distribution in subgroups for the lab classes can also be seen there.

15.02.2012 - Laboratory classes in B528, Friday starting at 8.00 (max. 3 hours)

Laboratorul de vineri s-a incheiat. Teme restante (la cei in cauza) mai pot fi predate pana (incluziv) in 25.04 in cadrul orelor de proiect cu penalitatile corespunzatoare.

Topic 4 (Week 7 & 8)

  • Recuperari
  • Optional (dar intra pentru examen), aceeasi problema ca la socket-uri dar punand

la dispozitie un obiect la distanta ce furnizeaza operatiile matematice cerute (tehnologia RMI).

  • Discutii legate de problema

Topic 3 (Week 5 & 6)

  • The program can be delivered during week 5/7 (subgroup 1), 6/8 (subgroup 2).
  • Problema Sockets

Sa se scrie, folosind Sockets TCP, o aplicatie care realizeaza urmatoarele pe partea de server (concurent), respectiv client:

  • Serverul pune la dispozitia clientilor servicii pentru operatiile matematice fundamentale: adunare, scadere, inmultire si impartire.
  • Clientul se conecteaza la server, si ii solicita acestuia anumite operatii, cererile realizandu-se dupa urmatorul protocol:
  1. tip operatie, codata sub forma unui intreg (1-4 pentru operatii matematice, 5 pentru terminarea conexiunii)
  2. 2 parametri de tip float

Clientul primeste un float reprezentand rezultatul care se va tipari pe ecran (impreuna cu tipul operatiei, precum si cu valorile parametrilor dati).

  • Referinte pentru Thread-uri (fire de executie)
    • C. Marinescu, P.F. Mihancea - Programarea Orientata pe Obiecte in Limbajul Java, Capitol 11 - Sectiunea 11.3.1 (here)

Topic 2 (Week 3 & 4)

  • The problem to solve is problem 1, Section 9.3 here
  • The program can be delivered during week 3/5 (subgroup 1), 4/6 (subgroup 2). A penalty of one point/week is given for NOT delivering the problem at least in week 5 (subgroup 1), week 6 (subgroup 2) respectively. The program should be delivered until week 8 (recuperare).
  • Helpful intruductory links for Exception, Packages, Basic IO Operations

Topic 1 (Week 1 & 2)

  • Java Training (no mark is given)
  • The training problem is here
  • The following video tutorials can help you (if necessary) to understand how to install Java and how to use Eclipse IDE (for Java).