Proiect Bursa

Proiect: Bursa

Se cere să se proiecteze şi să se implementeze un sistem software care să modeleze o bursă electronică de valori, în sistemul de cerere şi ofertă libere. Sistemul va oferi facilităţi investitorilor şi brokerilor înregistraţi în sistem să tranzacţioneze acţiuni.

La activare, aplicaţia va crea un număr arbitrar de investitori (fiecare cu un stoc arbitrar de acţiuni la diferite companii şi cu un fond monetar suplimentar), cel puţin un broker, şi un obiect „bursă”.

Elementele sistemului

Investitorii pot transmite mesaje de vânzare şi cumpărare de acţiuni către bursă, sau către un broker care le transmite mai departe către bursă.

Obiectul „bursă” gestionează întâlnirea ofertei şi cererii pentru un anumit tip de acţiune, şi efectuează vânzarea.

Obiectul „broker” este disponibil pentru obiectele „investitor” prin aceeaşi interfaţă ca şi obiectul „bursă”; acţionează ca un intermediar între investitori şi bursă

Utilizatorul sistemului

Utilizatorul va interacţiona cu sistemul astfel:

  • Poate configura sistemul înainte de activarea lui pentru a stabili configuraţia investitori-brokeri-bursă şi distribuţia de acţiuni disponibile pentru tranzacţionare

  • Din perspectiva investitorului, va putea să cumpere un număr N acţiuni ale companiei C, oferind preţul P (în limita fondului monetar propriu)

  • Tot din perspectiva investitorului, va putea să vândă un număr N2 acţiuni ale companiei C2, oferind preţul P2 (în limita stocului propriu)

  • Din perspectiva brokerului, va putea să vizualizeze jurnalul tranzacţiilor intermediate de broker, şi cursurile acţiunilor tranzacţionate prin acesta

Implementare

Implementarea este lăsată complet la alegerea studentului, cu excepţia următoarelor cerinţe:

  • Limbajul de programare ales trebuie să permită abstractizarea (conceptualizarea şi implementarea) şi modularizarea soluţiei sistemului software

  • Se vor crea diagrame UML structurale pentru ansamblul de obiecte ale sistemului şi relaţiile dintre ele

  • Se vor crea diagrame UML comportamentale pentru contextele de utilizare (use cases) şi diagrame UML de secvenţă (sequence diagram) pentru ordonarea în timp a mesajelor schimbate de obiecte

  • Mesajele asincrone (semnalele) dintre obiectele sistemului vor fi încapsulate în formatul XML

Se fac următoarele recomandări:

  • Etapizarea procesului de dezvoltare a aplicaţiei: modelare, analiză, proiectare, implementare, testare

  • Mesajele sincrone (apelurile) dintre obiectele sistemului pot fi încapsulate în formatul XML