Proiecte Java

download Proiecte Java

of 11

Transcript of Proiecte Java

  • 7/29/2019 Proiecte Java

    1/11

    1

    Proiecte

    Aspecte prioritare privind evaluarea proiectelor ........................................................................... 1Net........................................................................................................................................................ 2Games .................................................................................................................................................. 7Misc ..................................................................................................................................................... 9

    Aspecte prioritare privind evaluarea proiectelor

    Desfurarea activitilor:

    Pentru stabilirea proiectului fiecare student se poate prezenta n ziua de consultaiistabilit n prealabil (vineri, orele 10-13, sala A15), pentru nregistrarea i eventual,precizarea mai detaliata a tematicii.

    Proiectele se dezvolt n echipe de maxim 2 persoane. Orele de consultaie (ore de proiect) se desfoar conform planificrii stabilite n ziua

    de joi (la laborator) pentru ziua de vineri a sptmnii curente.

    Evaluarea proiectului:

    pentru fiecare proiect se va prezentaprogramul funcionali o lucrare - referat. respectarea cerinelor temei alese: 25% instalarea, compilarea i funcionarea programului: 10% coninutul proiectului (program i referat): 25% verificarea cunotinelor teoretice legate de realizarea proiectului: 40%

    Aspecte grave care diminueaz rezultatul evalurii

    1. Inexistena unui meniu principal, excepie fac aplicaiile full screen.2. Lipsa interfeei grafice3. Interfa grafic confuz, inconsistent4. Tratarea superficiala a problemei5. Neacoperirea tuturor specificaiilor prezentate6. Apariia unei excepii netratate n rularea programului7. Folosirea de metode nvechite (deprecated)8. Funcionarea anormala a aplicaiei pentru diverse cazuri9. Scrierea neclara a codului sursa i lipsa comentariilor10.ntrebare fr rspuns adecvat11.Prezentare general urt12.Lipsa codului surs.

  • 7/29/2019 Proiecte Java

    2/11

    2

    Net

    1. Link Spider applicationScriei o aplicaie Java cu interfa grafic care primete ntr-un TextField o adres de site i

    afieaz toate link-urile gsite n acea pagin. Folosii un fir de execuie i furnizai posibilitateapentru abandon.

    - punei la dispoziie o modalitate de a alege adncimea cutrii. Adncimea maxims fie nivelul 3;

    - rezultatele cutrii s poat fi salvate ntr-un fiier- la vizualizarea i salvarea link-urilor gsite adoptai un mod de reprezentare care

    evideniaz ierarhie nivelelor (arborescena).

    2. Full Link Spider applicationScriei o aplicaie Java cu interfa grafic care primete ntr-un TextField o adres de site siafieaz recursiv toate link-urile gsite n acel site.

    - Cutarea link-urilor se face doar de la directorul web curent in jos. Un link spre altadres se afieaz dar nu se urmrete mai departe.

    - La afiare folosii o reprezentare care indic ierarhia link-urilor.- Dotai programul cu posibilitatea salvrii listei de link-uri ntr-un fiier.- Folosii un fir de execuie pentru a nu bloca interfaa grafic i implementai

    abandonul.

    3. Image Spider applicationScriei o aplicaie Java cu interfa grafic care primete ntr-un TextField sau fiier, o adres desite i afieaz toate imaginile gsite pe ea.

    - Nu folosii pentru ncrcarea fiecrei imagini un fir de execuie plus o conexiune.Creai un vector i apoi ncrcai ntr-un fir de execuie imaginile printr-o singurconexiune la un moment dat.

    - Implementai posibilitatea pentru abandon.- n fiier pot fi mai multe link-uri, prelucrai-le secvenial.

    4. Image Spider appletScriei un applet Java cu interfa grafic care primete ntr-un TextField sau fiier, o adres desite i afieaz toate imaginile gsite pe ea.

    - Nu folosii pentru ncrcarea fiecrei imagini un fir de execuie plus o conexiune.Creai un vector i apoi ncrcai ntr-un fir de execuie imaginile printr-o singurconexiune la un moment dat.

    - Implementai posibilitatea pentru abandon.- n fiier pot fi mai multe link-uri, prelucrai-le secvenial.

  • 7/29/2019 Proiecte Java

    3/11

    3

    5. Server File SpiderScriei o aplicaie client/server unde clientul este un applet care primete ntr-un TextField ocale i afieaz toate fiierele i directoarele de pe server din aceea locaie sau un mesaj deeroare dac nu exist pe server.

    - Folosii TCP pentru implementare.- Furnizai posibilitatea de abandon.- Implementai o modalitate de salvare a liste de directoare/fiiere la clint.- Aplicaia server are de asemenea interfa grafic i protocoleaz toate accesele i

    activitile clienilor. Informaiile protocolate despre un client cuprind:a) la conectare: data/ora/minutul/secunda conectrii, adresa client, cererea

    client,b) la deconectare: data/ora/minutul/secunda deconectrii, adresa client,

    succesul sau eecul cererii.Aceste informaii se afieazi se salveaz instantaneu ntr-un fiier log.

    - folosii fire de execuie pe server i pe client.6. Client/Server BigCalculator

    Scriei o aplicaie Java client/server care simuleaz un calculator rudimentar pentru numeremari. Toate operaiile vor fi executate de un server accesat prin TCP.

    - Implementai posibilitatea citirii/scrierii numerelor din/n fiier.- Severul este aplicaie iar clientul applet (sau tot aplicaie).- Folosii fire de execuie att pe server ct i pe client.- Aplicaia server are de asemenea interfa grafic i protocoleaz toate accesele i

    activitile clienilor. Informaiile protocolate despre un client cuprind:a) la conectare: data/ora/minutul/secunda conectrii, adresa client, cererea

    client,b) la deconectare: data/ora/minutul/secunda deconectrii, adresa client,

    succesul sau eecul cererii.Aceste informaii se afieazi se salveaz instantaneu ntr-un fiier log.

    7. Client/Server arithmetic expression calculatorScriei o aplicaie client/server care simuleaz un calculator de expresii aritmetice. Pentru

    comunicare folosii UDP Ex. (3+1)*5+1.- Punei la dispoziie posibilitatea pentru citirea expresie din fiier.- inei cont i de cazul n care o expresie nu este bine format.- Funciile calculatorului sa nu fie mai puine dect cele oferite de calculatorul din

    Windows.- Severul este aplicaie iar clientul applet (sau tot aplicaie).- Aplicaia server are de asemenea interfa grafic i protocoleaz toate accesele i

    activitile clienilor. Informaiile protocolate despre un client cuprind:a) la conectare: data/ora/minutul/secunda conectrii, adresa client, cererea client,b) la deconectare: data/ora/minutul/secunda deconectrii, adresa client, succesul

    sau eecul cererii.

    Aceste informaii se afieazi se salveaz instantaneu ntr-un fiier log.- Folosii fire de execuie att pe server ct i pe client.

  • 7/29/2019 Proiecte Java

    4/11

    4

    8. Clietn/Server TCP ChatScriei o aplicaie client/server de chat folosind comunicarea prin TCP. Ea va permitecomunicarea ntre maxim 2 utilizatori.

    - Un client poate avea ca parametru adresa serverului portul i numele clientului.- implementai faciliti pentru: legarea unui utilizator cu altul, tergerea legturii ntredoi utilizatori i pentru terminarea programului.

    - Severul este aplicaie iar clientul tot aplicaie.- Pe sever este gestionat lista de utilizatori. Clientul conectat s poat vizualiza i

    alege din lista de utilizatori.- Pentru a comunica cu mai multe persoane deschidei cte o fereastr (sau aplicaie)

    pentru fiecare.- Aplicaia server are de asemenea interfa grafic i protocoleaz toate accesele i

    activitile clienilor. Informaiile protocolate despre un client cuprind:a) la conectare: data/ora/minutul/secunda conectrii, adresa client, cererea

    client,b) la deconectare: data/ora/minutul/secunda deconectrii, adresa client,

    succesul sau eecul cererii.Aceste informaii se afieazi se salveaz instantaneu ntr-un fiier log.

    - Folosii fire de execuie att pe server ct i pe client.9. Clietn/Server UDP Chat

    Scriei o aplicaie client/server de chat folosind comunicarea prin UDP. Ea va permitecomunicarea ntre maxim 2 utilizatori.

    - Un client poate avea ca parametru adresa serverului portul i numele clientului.- implementai faciliti pentru: legarea unui utilizator cu altul, tergerea legturii ntre

    doi utilizatori i pentru terminarea programului.- Severul este aplicaie iar clientul applet.- Pe sever este gestionat lista de utilizatori. Clientul conectat s poat vizualiza i

    alege din lista de utilizatori.- Pentru a comunica cu mai multe persoane deschidei cte o fereastr (sau aplicaie)

    pentru fiecare.- Aplicaia server are de asemenea interfa grafic i protocoleaz toate accesele i

    activitile clienilor. Informaiile protocolate despre un client cuprind:

    a)

    la conectare: data/ora/minutul/secunda conectrii, adresa client, cerereaclient,b) la deconectare: data/ora/minutul/secunda deconectrii, adresa client,

    succesul sau eecul cererii.Aceste informaii se afieazi se salveaz instantaneu ntr-un fiier log.

    - Folosii fire de execuie att pe server ct i pe client.

  • 7/29/2019 Proiecte Java

    5/11

    5

    10.nregistrarea surselorScriei o aplicaie care va funciona ca un server, ce va primi, prin intermediul unui applet, unadin comenzile:

    add i urmtoarele informaii: numele autorului; coninutul unui fiier sursa java aflatlocal; un nume asociat sursei respective. Sursa va fi salvat de ctre server intr-undirector specificat, intr-un subdirector cu numele autorului, respectiv ntr-un fiier cunumele asociat sursei respective.

    load i va primi numele autorului i numele unui fiier surs i va afia coninutulfiierului specificat.

    - Att serverul ct i clientul au interfa grafic.- Aplicaia server are de asemenea interfa grafic i protocoleaz toate accesele i

    activitile clienilor. Informaiile protocolate despre un client cuprind:a) la conectare: data/ora/minutul/secunda conectrii, adresa client, cererea

    client,b) la deconectare: data/ora/minutul/secunda deconectrii, adresa client,

    rspunsul cererii.Aceste informaii se afieazi se salveaz instantaneu ntr-un fiier log.

    - Folosii fire de execuie la client i la server pentru ateptarea de rspunsuri.- Pentru comunicare putei folosit TCP sau UDP.

    11.Rezervare de locuri la hotel (JSP, JDBC)Sa se realizeze o aplicaie de rezervare a locurilor la un hotel folosind pagini JSP. Datele derezervare se vor stoca intr-o baza de date iar programele JSP vor fi gestionate de serverul de

    Web

    i vor comunica cu baza de date folosind un driver JDBC si componente JavaBeans.Clientul va opera prin intermediul unui browser.

    12.nchiriere maini (JSP, JDBC)S se realizeze o aplicaie de nchiriere maini folosind pagini JSP. Datele de nchiriere se vorstoca intr-o baza de date iar programele JSP vor fi gestionate de serverul de Web i vorcomunica cu baza de date folosind un driver JDBC i componente JavaBeans. Clientul va operaprin intermediul unui browser.

    13.Magazin onlineSa se realizeze o aplicaie Web pentru cumprturi online dintr-un magazin (de exemplu, olibrrie). Se va folosi serverul Web i un server de baze de date. Clientul va opera prinintermediul unui browser.

    14.Gestiune conturi (RMI)S se realizeze o aplicaie de gestiune a conturilor unui client al bncii folosind Java RMI.Fiecare client al bncii deine mai multe conturi administrate de serverul bncii. Conturile sememoreaz pe server intr-o forma simpla (ca fiier care conine numrul contului i valoareadisponibila in cont) sau ca o baza de date. Clientul prezint o interfaa grafic (AWT sau Swing)

    si poate opera modificri n propriile conturi (transferuri, pli ctre ali clieni), dup ce a fost

  • 7/29/2019 Proiecte Java

    6/11

    6

    identificat printr-o parola introdusa printr-un dialog. La client se va implementa si o comandaprin care acesta va obine de la server ntreaga situaie a conturilor sale.

    15.Gestiunea stocurilor uni depozit (RMI)S se realizeze o aplicaie de meninere a gestiunii stocurilor unor depozite folosind Java RMI.Stocurile se memoreaz pe server intr-o forma simpla (ca fiier care conine numele produselorsi stocul disponibil) sau ca o baza de date. La fiecare depozit se executa un program client(aplicaie Java cu interfa grafica AWT sau Swing) care transmite serverului orice modificareintervenita in depozit (consumul anumitor produse, intrarea unor produse noi). La client se vaimplementa si o comanda prin care acesta va obine de la server ntreaga situaie a stocurilor (pe

    ntreaga reea de depozite).

  • 7/29/2019 Proiecte Java

    7/11

    7

    Games

    16.Turnurile din HanoiScriei o aplicaie Java care s vizualizeze ntr-un mod sugestiv problema turnurilor din Hanoi.

    Aplicaia s ruleze n dou moduri: modul manual n care utilizatorul mut discurile pe tije; in modul automat n care calculatorul rezolv problema.

    - Lucrai n modul full screen folosind FullScreen API de la Sun.- Punei algoritmul din modul automat ntr-un fir de execuie pentru a nu bloca

    interfaa.- Furnizai pentru modul manual/automat un contor care msoar timpul necesar

    utilizatorului pentru a rezolva problema.- Implementai posibilitatea abandonului.- Permitei specificarea numrului de discuri.- Insistai asupra reprezentrii grafice, s fie ct mai sugestiv. Setai viteza de lucru n

    modul automat adecvat percepiei umane. S fie uor sesizabil fiecare micarefcut. Afiai discul mutat i pe drumul fcut n timpul micrii.

    17.BingoScriei o aplicaie n regim client-server. Serverul ateapt conectarea unor clieni, pornete

    jocul - trimite clienilor un set de 15 numere, intre 1 si 90, generate aleator, dup care, laintervale regulate de timp, genereaz cte un numr intre 1 si 90 pe care l transmite tuturorclienilor (numrul respectiv nu va mai fi transmis din nou). Fiecare client recepioneaznumerele transmise de server i le compar cu numerele primite iniial.

    Jocul se termina cnd unul dintre clieni face bingo i transmite aceasta serverului. Serverultrebuie s verifice daca bingo-ul este corect i s reiniializeze jocul sau sa-l continue, n cazuln care nu e corect. Daca un client transmite de 3 ori incorect ca a fcut bingo, acesta va fiexclus din joc.

    - Att clientul ct i serverul au interfa grafic.- Clientul poate fi i applet.- Aplicaia server are de asemenea interfa grafic i protocoleaz toate accesele i

    activitile clienilor. Informaiile protocolate despre un client cuprind:a) la conectare: data/ora/minutul/secunda conectrii, adresa client, cererea

    client,

    b) la deconectare: data/ora/minutul/secunda deconectrii, adresa client,rspunsul cererii.Aceste informaii se afieazi se salveaz instantaneu ntr-un fiier log.

    - Folosii fire de execuie la client i la server pentru ateptarea de rspunsuri.- Pentru comunicare putei folosit TCP sau UDP.

  • 7/29/2019 Proiecte Java

    8/11

    8

    18.Calul pe tabla de ahScriei o aplicaie Java care s determine toate modalitile ca un cal s parcurg toate ptrateletabelei de ah de dimensiune NxN (4

  • 7/29/2019 Proiecte Java

    9/11

    9

    Misc

    25.Afisaj electronic26.Calendar27.BigCalculator applet

    Scriei un applet care simuleaz un calculator de numere mari.

    - Punei la dispoziie posibilitatea pentru citirea/scrierea numerelor mari din/n fiier.- Funciile calculatorului sa nu fie mai puine dect cele oferite de calculatorul din

    Windows.

    28.Arithmetic expression calculator appletScriei un applet care simuleaz un calculator de expresii aritmetice. Ex. (3+1)*5+1.

    - Punei la dispoziie posibilitatea pentru citirea expresie din fiier.- inei cont i de cazul n care o expresie nu este bine format.- Funciile calculatorului sa nu fie mai puine dect cele oferite de calculatorul din

    Windows.

    29.Calculator CloneScriei o aplicaie care s poat funciona i ca applet i care reprezint un clon al calculatoruluidin Windows.

    - Punei la dispoziie posibilitatea ca toate operaiile executate s fie reinute n formtext ntr-un fiier log.- Funciile calculatorului sa nu fie mai puine dect cele oferite de calculatorul din

    Windows.

    30.Notepad CloneScriei o aplicaie Java care reprezint un clon al Notepad-ului din Windows.

    - Funcionalitatea aplicaiei s fie cel puin egal cu Notepad.- Folosii fire de execuie pentru a nu bloca interfaa la texte lungi.

    31.File BrowserScriei o aplicaie de tip navigator de directoare/fiiere. Din punct de vedere al interfeei grafices fie asemntor lui Norton Commander sau Total Commander (dou Panel-uri). Aplicaia spermit navigarea prin directoarele discurilor din sistem i s vizualizeze directoarele/fiierele

    n manier arborescenti list.

    - Furnizai operaiunile standard pe fiiere i directoare, de exemplu: tergere,redenumire, creare, copiere, proprieti, cutare etc.

    - Folosii fire de execuie pentru operaii care pot necesita timp de calul ndelungat. Deexemplu: cutarea sau popularea liste de directoare/fiiere.

    - Permitei ntreruperea aciunilor de durat lung.

  • 7/29/2019 Proiecte Java

    10/11

    10

    32.Image BrowserScriei o aplicaie Java de tip browser de imagini car se permit navigarea prin structura dedirectoare de pe discurile accesibile.

    - Vizualizai fiierele cu extensiile png, jpg, gif.- Crearea unor albume (seturi de imagini) cu posibilitatea salvrii/ncrcrii lor.- Vizualizarea unui album (slide-show).- Folosii fire de execuie pentru a nu bloca interfaa i furnizai opiunea de abandon.

    33.SlideShow appletScriei un applet de tip Slide Show care s permit deschiderea/ncrcarea unui director deimagini. Imaginile s fie derulate pe ecran la un interval de timp variabil, specificat de utilizator.

    - Pentru fiecare imagine se afieaz i unele proprieti, de exemplu, numele,dimensiunea etc.

    - Folosii un fir de execuie pentru ncrcarea imaginilor nainte de a le vizualiza.- Furnizai posibilitatea de abandon.

    34.Test grilScriei o aplicaie Java care s implementeze un sistem pentru teste gril. Ea s permitcrearea/ncrcarea unor fiiere cu teste gril. Un test gril este compus din: mai multe ntrebricu rspuns simplu; variantele posibile de rspuns la fiecare ntrebare; varianta corecti timpulmaxim de rspuns la fiecare ntrebare.

    - Permitei lansarea unui test gril cu urmrirea corectitudinii i a timpului pentrurspuns la fiecare ntrebare.

    - Fiierele pot fi n modul text sau octet cu o structur fix aleas de programator.- Afiai rezultatul final (1=rspuns corect, 0=lips rspuns, -1=rpsuns greit)- Afiai un raport cu ntrebrile i rspunsurile greite/corecte. Raportul s poat fi

    salvat ca fiier text sau html.- Eventual criptai fiierele cu testele pentru a nu permite manipularea datelor. n

    momentul utilizrii lor n aplicaie ele pot fi decriptate instantaneu prin stream.

    35.Evidenta angajailor unei companiiScriei o aplicaie Java care s in evidena angajailor unei companii. Informaiile care vortrebui memorate pentru fiecare angajat sunt: cod, nume, salar, data angajrii, adresa, telefon.Codul trebuie sa fie unic pentru fiecare persoana si nu poate fi null.

    - Programul trebuie sa permit: salvarea/ncrcarea angajailor pe/de pe un suportextern; actualizarea angajailor, operaiuni de cutare, listare, ordonare dup oricaredin primele patru atribute, tiprire.

    - Punei operaiile costisitoare de timp n fire de execuie.- Pentru reprezentarea informailor folosii liste sau tabele.

  • 7/29/2019 Proiecte Java

    11/11

    11

    36.BibliotecarScriei o aplicaie Java care va implementa o bibliotec de cri. Pentru fiecare carte vor fimemorate informaiile cot, titlu, autor, raft, stare, cititor, unde stare poate avea una din valorile:raft, sala, afara si va descrie locul unde se gsete cartea. Daca o carte nu este in raft va fi reinut

    cititorul cruia i-a fost mprumutata. Cota unei cri trebuie sa fie unic.

    - Implementai: salvarea/ncrcarea crilor pe/de pe un suport extern,actualizarea bibliotecii, operaiuni de cutare, listare, tiprire pentru cri.

    - Modul de organizare a fiierelor este la atitudinea programatorului.- Folosii fire de execuie pentru operaii de durat lung.- Eventual realizai o criptare pentru a asigura securitatea informailor.- Furnizai posibilitatea salvrii unor rapoarte in format text sau html.

    37.Gestionar de CD-uriScriei o aplicaie Java pentru gestionarea CD-urilor. Aplicaia trebuie s permit: scanareaunui CD i memorarea tuturor fiierelor de pe el; memorarea CD-urilor scanate i a fiierelorconinute pe suport extern, tergerea unui anumit CD (i a fiierelor coninute) din list;operaiuni de listare, respectiv cutare a unui anumit fiier/text; crearea unui document HTMLsau text cu coninutul tuturor CD-urilor.

    - Organizarea fiierelor este la atitudinea programatorului.- Folosii fire de execuie la citiri complexe i cutri.

    38.Gestionar Internet CafeScriei o aplicaie pentru gestionarea unui numr de n calculatoare, fiecare avnd doua tarifespecificate, reprezentnd costul pe ora pentru navigare Internet, respectiv jocuri. Programultrebuie sa permit: specificarea tarifelor pentru fiecare calculator i salvarea lor intr-un fiier deiniializare, de unde vor fi ncrcate la fiecare lansare, cu posibilitatea modificrii lor; evidena

    nchirierii fiecrui calculator utilizatorilor; stabilirea cuantumului ce trebuie achitat de unutilizator, n funcie de numrul de minute i de tipul activitii (internet/jocuri); afiarea npermanen a totalului ncasrilor din ziua curent; salvarea totalurilor din fiecare zi pe suportextern.

    - Folosii fire de execuii pentru operaii costisitoare de timp.-

    Implementai generarea de rapoarte sub form text sau html.39.Gestionar prezent/activitate

    Scriei o aplicaie Java care va gestiona prezenta si activitatea la laboratoare pentru o mulimede studeni pe o perioada de n sptmni. Fiecare student va fi identificat prin nume, an, grup.Programul va permite introducerea ntr-o maniera facil a prezenei i activitii de la fiecarelaborator. Trebuie memorate informaiile: prezena, absena, recuperare, numrul deprobleme/exerciii prezentate, bonus pentru soluii deosebite, minus pentru frauda.

    - Programul va genera un fiier HTML cu situaia curent a prezenei/activitiisimilar cu acesta.

    - Principala facilitate a programului trebuie sa fie uurina n exploatare.- Folosii fire de execuii pentru operaii costisitoare de timp.