Sunteți pe pagina 1din 20

PROIECT PSI

Aplicație pentru monitorizarea


opiniei publice în mediul online

Student:
Staicu Andreea Laura
Seria D, grupa 1074
Cuprins
1. Prezentarea sistemului informatic ......................................................................................................... 3
1.1 Descrierea generală a sistemului informatic................................................................................... 3
1.2 Specificarea cerinţelor ...................................................................................................................... 3
1.2.1 Diagrama general + Diagrame detaliate ale cazurilor de utilizare ........................................ 3
1.2.2 Descrierea textuală a cazurilor de utilizare ............................................................................. 3
2. Analiza sistemului informatic ................................................................................................................ 8
2.1 Diagrame de activitate ...................................................................................................................... 8
2.1.1 Diagrama de activitate pentru alcatuirea unei liste de articole ............................................. 8
2.1.2 Diagrama de activitate pentru realizarea unui cont nou de utilizator .................................. 8
2.1.3 Diagrama de activitate pentru generare document .PDF ....................................................... 8
2.2 Diagrama de clase ............................................................................................................................. 9
2.3 Diagrame de stare ............................................................................................................................. 9
2.3.1 Diagrama de stare pentru logare utilizator ............................................................................. 9
2.3.2 Diagrama de stare pentru analiza articol ................................................................................ 9
2.4 Diagrame de interactiune ............................................................................................................... 10
2.4.1 Diagrama de secventa realizare autentificare ....................................................................... 10
2.4.2 Diagrama de secventa realizare analiza articol de catre utilizator...................................... 11
2.5 Rafinarea diagramelor UML ......................................................................................................... 11
2.6 Diagrame de procese şi colaborare în BPMN (minim 1 diagrama procese, o diagrama
colaborare) ............................................................................................................................................. 12
2.6.1 Diagrama de procese ................................................................................................................ 12
2.6.2 Diagrama de colaborare .......................................................................................................... 13
3. Proiectarea sistemului informatic........................................................................................................ 14
3.1 Diagrama de clase detaliată ........................................................................................................... 14
3.2 Proiectarea bazei de date................................................................................................................ 14
3.3 Proiectarea interfeţelor utilizator .................................................................................................. 17
3.4 Diagrama de componente ............................................................................................................... 17
3.5 Diagrama de desfăşurare................................................................................................................ 18
4. Implementarea sistemului informatic ................................................................................................. 18
4.1 Tehnologii utilizate în implementare............................................................................................. 18
4.2 Prezentarea pe scurt a funcţionalităţii sistemului ........................................................................ 19
1. Prezentarea sistemului informatic
1.1 Descrierea generală a sistemului informatic
Acest proiect are ca scop dezvoltarea unei aplicații web pentru monitorizarea opiniei
publice în mediul online, realizând o analiză a sentimentelor asupra publicațiilor.
Știm cu toți faptul că, în ultimul timp, cantitatea de publicații, ziare, precum și cititul din
mediul online a resimțit o creștere predonderentă. Toată această informație trebuie analizată într-
un timp destul de scurt, astfel încât utilizatorul să își poată alege ceea ce dorește să citească.
Aplicația este destinată tuturor cititorilor din mediul online, care iși doresc să parcurga un
articol, publicație ce se află în concordanță cu nevoile lor. Un cititor poate primi informații despre
mai multe articole, în final având posibilitatea să îl aleagă pe cel mai potrivit.
Aplicația preia astfel un articol introdus din unul dintre ziarele actuale, parcurge întreaga
informație cuprinsă în acesta și oferă un raport al sentimentelor transmise de către articolul
analizat.
Astfel, accesul în cadrul aplicației este realizat de către un utilizator care solicită sau
introduce informații.
Pentru a se realiza logarea în aplicație, utilizatorul se logează folosind email-ul, precum și
o parole. În cazul în care acel utilizator nu are un cont, atunci acesta și-l va crea. În urma logării în
aplicație, utilizatorul urmează să introducă articolele asupra cărora dorește să efectueze analizele.
De asemenea, un utilizator are posibilitatea de a vedea istoricul articolelor sale, asupra cărora s-au
realizat analize.
1.2 Specificarea cerinţelor
1.2.1 Diagrama generală + Diagrame detaliate ale cazurilor de utilizare
1.2.2 Descrierea textuală a cazurilor de utilizare
Pentru a putea modela cerințele sistemului informatic prezentat, vom folosi diagramele
cazurilor de utilizare, astfel încât să prezentăm contextul în care funcționează sistemul dat. O astfel
de diagramă conturează un set de cazuri de utilizare și actori, oferind o descriere de ansamblu
asupra modului în care sistemul interacționează cu unul sau mai mulți actori, precum și felul în
care va fi utilizat sistemul.
Figura 1 – Diagrama generala a cazurilor de utilizare
Element al cazului de utilizare Descriere
Cod CU01
Stare -
Nume Interacțiunea utilizatorilor cu aplicația de
monitorizare a opiniei publice
Actor principal Utilizatorul administrator care introduce articolul
preluat dintr-un ziar pentru a se realiza asupra lui
o analiză a sentimentelor și efectuează generearea
documentelor în care se regasește analiza
articolului.
Descriere Analiza sentimentelor asupra articolelor preluate
dintr-un ziar
Precondiții Acces la o conexiune la Internet si accesarea intr-
un browser web
Postcondiții -
Declanșator Accesarea aplicației de către unul din cele 2 tipuri
de utilizator.
Flux de bază 1. Deschiderea aplicației
2. Alegerea unui articol
3. Introducerea articolului
4. Generarea unui document cu analiza
completă a articolului
5. Salvarea modificărilor efectuate
6. Utilizarea de către utilizator a analizei
realizate
Fluxuri alternative -
Relații -
Frecvența utilizării Frecvent
Reguli ale afacerii Existența unei ziar
Diagrama cazului de utilizare analiza articol preluat dintr-un ziar online

Figura 2 – Diagrama cazului de utilizare analiza articol preluat dintr-un ziar online
Element al cazului de utilizare Descriere
Cod CU02
Stare Finalizat
Scop Generare documente analiza articol
Nume Analiza articol preluat dintr-un ziar online
Actor principal Utilizator
Descriere Introducere articolului necesar in vederea
realizării analizei sentimentelor
Precondiții Autentificarea utilizatorului în aplicație.
Selectia unei ziar online.
Selectarea articol din ziarul online ales.
Conexiune la Internet.
Postcondiții -
Declanșator Utilizatorul declanșează după introducerea
articolului, realizarea analizei de sentimente
asupra acestuia.
Flux de bază 1. Selectare ziar
2. Selectare articol din ziar
3. Introducere articol
4. Efectuare analiză asupra articolului
5. Salvare analiză și generare .pdf
Fluxuri alternative 1. Anularea generării documentului
2. Anulare analiză

Relații 1. Selectare articol ziar


2. Efectuare analiza asupra articolului
Frecvența utilizării Frecvent
Reguli ale afacerii Existenta unei conexiuni la Internet
Diagrama cazului de utilizare selectare articole din ziar

Figura 3 – Diagrama cazului de utilizare selectare articole din ziar

Element al cazului de utilizare Descriere


Cod CU03
Stare Finalizat
Scop Analiza sentimente articol din ziar online
Nume Alcatuirea listei de articole
Actor principal Utilizator
Descriere Alcatuirea listei cu articole pe care utilizatorul
vrea sa le analizeze
Precondiții Autentificarea utilizatorului in aplicatie.
Alegerea unui ziar online din cele disponibile.
Conexiune la internet.
Postcondiții -
Declanșator Utilizatorul specifica articolele dorite dupa
alegerea ziarului online si eventual consultarea
categoriilor de articole din ziar.
Flux de bază 1. Selectia ziarului dorit
2. Completarea listei de articole
Fluxuri alternative -
Relații 1. Analiza asupra articolului selectat
2. Alegerea unui ziar
Frecvența utilizării Frecvent
Reguli ale afacerii Existenta unei conexiuni la internet
Diagrama cazului de utilizare istoric analize

Figura 4 – Diagrama cazului de utilizare istoric analize

Element al cazului de utilizare Descriere


Cod CU04
Stare Finalizat
Scop Analiza sentimente articol din ziar online
Nume Istoric analize
Actor principal Utilizator
Descriere Salvarea in istoria aplicatiei, tuturor analizelor
realiztae asupra articolelor preluate din ziarul
online
Precondiții Autentificarea utilizatorului in aplicatie.
Alegerea unui istoric present.
Conexiune la internet.
Postcondiții -
Declanșator Utilizatorul se autentifica in aplicatie si alege un
istoric valabil.
Flux de bază 1. Autentificarea in aplicatie
2. Selectare istoric
Fluxuri alternative -
Relații 3. Vizualizare istoric
4. Stergere analiza
5. Descarcare docuemnt
Frecvența utilizării Frecvent
Reguli ale afacerii Existenta unei conexiuni la internet
2. Analiza sistemului informatic
2.1 Diagrame de activitate
2.1.1 Diagrama de activitate pentru alcatuirea unei liste de articole

Figura 5 – Diagrama de activitate pentru alcatuirea unei liste de articole


2.1.2 Diagrama de activitate pentru realizarea unui cont nou de utilizator

Figura 6 – Diagrama de activitate pentru realizarea unui cont nou de utilizator

2.1.3 Diagrama de activitate pentru generare document .PDF

Figura 7 – Diagrama de activitate pentru generare document .PDF


2.2 Diagrama de clase

Figura 8 – Diagrama de clase

2.3 Diagrame de stare


2.3.1 Diagrama de stare pentru logare utilizator

Figura 9 – Diagrama de stare pentru logare utilizator

2.3.2 Diagrama de stare pentru analiza articol

Figura 10 – Diagrama de stare pentru analiza articol


2.4 Diagrame de interactiune
2.4.1 Diagrama de secventa realizare autentificare

Figura 11 – Diagrama de secventa realizare autentificare


2.4.2 Diagrama de secventa realizare analiza articol de catre utilizator

Figura 12 – Diagrama de secventa realizare analiza articol de catre utilizator

2.5 Rafinarea diagramelor UML

Figura 13 – Rafinarea diagramelor UML


2.6 Diagrame de procese şi colaborare în BPMN (minim 1 diagrama procese,
o diagrama colaborare)
2.6.1 Diagrama de procese
Se crează o diagrama BPMN pentru procesul de autentificare al unui utilizator.
Informații: Pentru a intra în aplicație utilizatorul trebuie să se logheze. Logarea se
realizează cu ajutorul unui email si a unei parole. Se verifică dacă datele sunt valide pentru accesul
în aplicație. Dacă nu sunt valide accesul este respins. Dacă credențialele folosite nu sunt
inexistente, se poate crea un cont nou.

Figura 14 – Diagrama de process


2.6.2 Diagrama de colaborare
• Diagrama de colaborare pentru solicitare acces articole din ziar

Figura 15 – Diagrama de colaborare pentru solicitare acces articole din ziar


• Diagrama de colaborare pentru autentificare user

Figura 16 – Diagrama de colaborare pentru autentificare user


3. Proiectarea sistemului informatic
3.1 Diagrama de clase detaliată

Figura 17 – Diagrama de clasa detaliata

3.2 Proiectarea bazei de date


Rolul bazei de date construite este acela de a centraliza și supraveghea datele ce ne sunt
necesare realizării analizei asupra publicațiilor online. Prin intermediul acestor tabele se pot afla
informații despre utilizatorii platformei, despre ziare și articolele astora, precum și despre
analizele ce se efectuează articolelor.
Relații între tabele:
• Un utilizator poate realiza mai multe analize, iar o analiză este vizibilă mai
multor utilizatori deci este o relație one:many.
• Un utilizator alege unul sau mai multe ziare din care iși poate prelua articolul
destinate către analiză, relație one:many.
• Un ziar poate avea unul sau mai multe articole, iar articolul depinde de un singur
ziar, deci avem relație one:many.
• Asupra unui articol se aplica o analiză
Atribute și restricții:
• Utilizator: idUtilizator(PK), username, email, image_file, password
• Ziar: idZiar(PK), idUtilizator(FK), denumire, tipZiar
• Analiza: idAnaliza(PK), idUtilizator(FK), continutArticolInitial, continutAnaliza,
timpArticolAnalizat, timpArticolInitial, tipAnaliza
• Articol: idArticol(PK), idZiar(FK), continut

În etapă de identificare a atributelor fiecărei entități se descriu entitățile împreună cu


atributele lor care vor reprezenta modalitatea prin care aplicația va interacționa cu baza de date.
Atributele obligatorii la momentul creării unei instanțe sunt cele marcate cu simbolul “*”, iar
cele cheie (ce identifică unic o entitate) sunt subliniate cu o linie. Se observă în figura următoare
entitățile și atributele:

Figura 18 – Identificarea atributelor entitatilor


Entitățile observate în urma analizei cerințelor funcționale sunt prezentate în figura
anterioară. Entitățile stabilite sunt: Utilizator, Ziar, Articol și Analiză.
Schema logica globala realizata in faza de proiectare logica a bazei de date porneste de la
schema conceptuala de nivel inalt, fiind independenta de SGBD. Aceasta a fost proiectata in faza
precedenta. Schema logica o sa contina: tipurile si relatiile entitatilor, domeniile, atributele, cheile
primare si secundare precum si constrangerile de integritate.
Transformarea modelului conceptual entitate-asociere in modelul logic se face prin
transformarea entitatilor in tabele. Entitatile independente nu vor contine o cheie straina si se vor
transforma in tabele independente, iar cele slabe vor deveni tabele dependente si vor contine o
cheie externa ce face referire la tabela dependenta. Pasul urmator dupa transformarea entitatilor in
tabele este transformarea relatiilor in chei externe, urmand ca atributele sa devina campuri in
tabelul de provenienta a entitatii respective.
3.3 Proiectarea interfeţelor utilizator

Figura 19 – Proiectarea interfețelor utilizator

3.4 Diagrama de componente


Diagramele de componente redau relațiile de dependență între diferite componente ale unui
sistem.
Diagramele de componenete sunt importante deoarece:
• Modelează sistemul software real în mediul de implementare;
• Evidențiază probleme de configurare prin relațiile de dependență;
• Reprezintă o imagine a sistemului existent, înainte de a fi modificat:
• Pot evidenția probleme de implementare fără a fi necesar să se citească tot codul sursa.
3.5 Diagrama de desfăşurare
Diagrama de desfășurare este diagrama ce descriere structura sistemului în momentul
execuției. Astfel, componentele care trebuie să interacționeze pentru a executa programul sunt:
• Browser-ul
• Serverul de baze de date
• Rețeaua

Figura 19 – Diagrama de desfășurare

4. Implementarea sistemului informatic


4.1 Tehnologii utilizate în implementare
Solutia prezentata este formata din urmatoarele tehnologii: un server ce contine modulele
de comunicație precum si baza de date si o aplicatie web. Dezvoltarea sistemului informatic a fost
realizata prin intermediul mediului de dezvoltare PyCharm în care se utilizează limbajul Python.
• Python
Python este un limbaj de programare dinamic multi-paradigma, fiind considerat în ziua de
astăzi limbajul principal folosit de către programatori. În cadrul acestui limbaj se pune accentual
pe simplitatea și curățenia codului, iar sintaxa permite dezvoltatorilor să exprime ideile într-o
manieră mult mai clară decât în alte limbaje.
Un alt mare avantaj al acestui limbaj îl reprezintă existența unei amble librării standard de
metode.
o Flask
Flask este un micro-framework web folosit pentru a dezvolta aplicații web în Python.
Flask faciliteaza librării și tehnologii care permit construirea aplicațiilor web.
* micro-framework adica nu depind de alte librării externe
o SQLAlchemy
SQLAlchemy este un instrument Python care ofera dezvoltatorilor de aplicații o
flexibilitate completă asupra bazei de date. Ofera o suită completă de modele persistente la nivel
de aplicație, concepute pentru acces eficent si performant la baza de date, adaptate în limbajul
Python.
o SpaCy
SpaCy este o librarie open-source pentru analiza limbajului în Python. SpaCy este
conceput special pentru utilizarea în producție și ajută la să construirea aplicaților care
procesează și "înțeleg" volume mari de text. Poate fi utilizat pentru a construi sisteme de
extragere a informațiilor sau de înțelegere a limbilor străine sau pentru a preprocesa textul pentru
învățare profundă.

4.2 Prezentarea pe scurt a funcţionalităţii sistemului


Aplicația dezvoltată în acest proiect are ca scop facilitarea unei înțelegeri mai bune a
publicațiilor online prin analizele efectuate asupra textelor preluate din ziare, precum și
reducerea timpului de parcurgere a articolelor și reluarea ideilor principale.
Aplicația este destinată tuturor iubitorilor de lectură, precum și celor care care citesc
articole din ziar în mod constant.
Astfel, în cardul aplicației, parcursul este realizat de utilizator care solicit sau introduce
informații.
Logarea utilizatorului în aplicație se realizează cu ajutorul unui email și a unei parole.
În cazul în care utilizatorul nu are un cont, și-l va crea. Tipul utilizatorului poate fi editor sau
administrator. După logarea în aplicație utilizatorul administrator își alege textul asupra căruia
doreste să realizeze analiza și apoi îl introduce, realizând astfel analiza. Analizele realizate pot fi
modificate doar de către administrator, nu și de editor. Utilizatorul editor nu are drepturile
necesare creării unei analize.
Odata alese articolele, se realizează analize asupra acestora, iar acestea vor fi vizibile
apoi în secțiunea home și accesibile tuturor utilizatorilor. De asemenea, aceste analize pot fi
generate sub forma de .PDF.

S-ar putea să vă placă și