Aplica tie web social media dezvoltat a cu [627013]

Ministerul Educa¸ tiei Na¸ tionale ¸ si Cercet ˘arii ¸ Stiin¸ tifice
Universitatea "OVIDIUS" din Constan¸ ta
Facultatea de Matematic ˘a ¸ si Informatic ˘a
Specializarea Informatic ˘a
Aplica¸ tie web social media dezvoltat ˘a cu
tehnologia ASP.NET Web Forms
Lucrare de diserta¸ tie
Coordonator ¸ stiin¸ tific:
Prof. univ. dr. Popovici Dorin-Mircea
Absolvent: [anonimizat]¸ ta
2018

Cuprins
Cuprins i
Lista Figurilor 1
1 Motiva¸ tie 2
2 Starea actual ˘a a domeniului ¸ si tehnologii folosite 4
2.1 Starea actual ˘a a domeniului . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Tehnologii folosite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.1 Visual Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.2 Limbajul de programare C# (C Sharp) . . . . . . . . . . . . . . . . 6
2.2.3 ASP.NET Web Forms . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.4 Microsoft SQL Server 2017 . . . . . . . . . . . . . . . . . . . . . 8
3 Prezentarea aplica¸ tiei 9
3.1 Introducere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1.1 Structura ¸ si implementarea bazei de date . . . . . . . . . . . . . . . 12
Referin¸ te bibliografice 17
i

Lista Figurilor
3.1 Diagrama entita¸ tii-asocia¸ tii . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2 Atributele pentru fiecare entitate ¸ si asocia¸ tie în parte – 1 . . . . . . . . . . . . . 13
3.3 Atributele pentru fiecare entitate ¸ si asocia¸ tie în parte – 2 . . . . . . . . . . . . . 14
3.4 Atributele pentru fiecare entitate ¸ si asocia¸ tie în parte – 3 . . . . . . . . . . . . . 14
1

Capitolul 1
Motiva¸ tie
În ultima perioad ˘a, fenomenul de "social media" a luat o amploare semnificativ ˘a în vie¸ tile
noastre, devenint una dintre cele mai raspandite forme de interac¸ tiune social ˘a.
Informa¸ tia poate fi publicat ˘a online de oricine, cu ajutorul unor dispotivite u¸ sor de
folosit, de c ˘atre oricine, de oriunde, oric ˘and, cum ar fi telefoanele mobile, laptop-urile,
tabletele, etc., atâta timp cand exista o conexiune cu internetul, la care oricine, in mod ideal,
poate participa la randul ei cu adaugarea de informa¸ tii. Scopul ei este de a facilita crearea ¸ si
partajarea de informa¸ tii, idei, interese în carier ˘a ¸ si alte forme de exprimare prin intermediul
comunit ˘a¸ tilor ¸ si re¸ telelor virtuale. Aceasta defini¸ tie poate fi suficient ˘a daca folosim mediul
online doar pentru via¸ ta personal ˘a.
Atunci când se înregistreazâ în aceste servicii, utilizatorii pot crea platforme foarte inter-
active prin care indivizii, comunit ˘a¸ tile ¸ si organiza¸ tiile pot partaja, co-crea, discuta ¸ si modifica
con¸ tinutul generat de utilizatori sau con¸ tinutul pre-creat postat online. Utilizatorii introduc
schimb ˘ari substan¸ tiale ¸ si omniprezenteîn comunicarea dintre business-uri, organiza¸ tii, co-
munit ˘a¸ ti ¸ si persoane fizice. Social media schimb ˘a modul în care indivizii ¸ si organiza¸ tiile
mari comunic ˘a. Aceste schimb ˘ari sunt în centrul unor domenii emergente ale studiilor de
tehnologie. Social media difer ˘a de mediile pe suport de hârtie (de exemplu reviste ¸ si ziare)
sau de mijloacele electronice tradi¸ tionale, cum ar fi difuzarea TV în multe feluri, inclu-
siv calitatea, frecven¸ ta, interactivitatea, utilitatea, imediabilitatea ¸ si permanen¸ ta. Porturile
media sociale func¸ tioneaz ˘a într-un sistem de transmisie dialogic ˘a (multe surse c ˘atre mul¸ ti
receptoare). Aceasta este în contrast cu mass-media tradi¸ tional ˘a, care func¸ tioneaz ˘a sub un
model de transmisie monologic ˘a (o surs ˘a pentru mul¸ ti receptoare), cum ar fi un ziar care este
livrat mai multor abona¸ ti sau un post de radio care transmite acelea¸ si programe unui întreg
ora¸ s . Site-urile de social media, cum ar fi Facebook (¸ si asociatul s ˘au Facebook Messenger),
Google+, Myspace, Instagram, LinkedIn, Pinterest, Snapchat, Tumblr, Twitter, Viber, VK,
WhatsApp ¸ si Wikia au in prezent peste 100.000.000 de utilizatori înregistra¸ ti.[1]
În acest num ˘ar imens de peste 100.000.000 de utilizatori (Facebook având peste 2 mil-
iarder de utilizatori), m ˘a reg ˘asesc ¸ si eu, având cont pe mai multe dintre platformele de social
media enumerate mai sus, comunicând cu prieteni atât reali cat ¸ si virtuali, împarta¸ sind mo-
mente din via¸ ta mea cu ei, activez în mai multe comunit ˘a¸ ti de tipul sport ¸ si gaming, plus
2

Motiva¸ tie Motiva¸ tie
multe altele.
Datorit ˘a toate celor men¸ tionate mai sus, am decis s ˘a nu îmi mai creez conturi de uti-
lizatori, ci s ˘a îmi fac propria platfom ˘a social media , s˘a descopar ce presupune acest lucru,
nivelul lui de dificultate, tehnologia ¸ si logica din spatele display-ului unui dispozitiv, într-un
cuvant, cum se na¸ ste o ma¸ sin ˘arie social media.
3

Capitolul 2
Starea actual ˘a a domeniului ¸ si
tehnologii folosite
2.1 Starea actual ˘a a domeniului
Social media are o istorie care dateaz ˘a din anii 1970.[2] ARPANET , care a intrat prima
dat˘a online în 1969, a dezvoltat pân ˘a la sfâr¸ situl anilor 1970 un schimb cultural bogat de
idei ¸ si comunic ˘ari neguvernamentale / de afaceri, a îndeplinit pe deplin defini¸ tia actual ˘a a
termenului "social media". Usenet , care a sosit în 1979, a fost depa¸ sit de un precursor al
sistemului electronic de buletine de bord (Buletin Board System – BBS) cunoscut sub nu-
mele de Community Memory (Memoria comunitar ˘a) în 1973. Un Bulletin Board System,
adeseori cunosct sub acronimul BBS, este un computer sau un tip de computere, pe care se
folose¸ ste un anumit tip de software care permite utilizatorilor sistemului s ˘a se conecteze ¸ si
s˘a se logheze într-un sistem utilizând un program de terminal. Ini¸ tial, aceste sisteme erau
accesibile doar printr-o linie telefonic ˘a utilizând un modem, dar la inceputul anilor 90, un-
ele dintre acestea au devenit accesibile via Telnet sau unde radio. Adevaratele sistemele de
buletine informative au sosit împreun ˘a cu Computer Bulletin Board System din Chicago,
Februarie 1978. Pân ˘a nu de mult, cele mai importante ora¸ se aveau mai multe BBS care ru-
lau pe TRS-80, Apple II, Atari, IBM PC, Commodore 64, Sinclair ¸ si computere personale
similare.
Modemurile multiple, urmate de hardware-ul de specialitate telco (telecomunica¸ tii), au
permis simultan mai multi utilizatori online. Compuserve ¸ siAOL au fost dou ˘a dintre cele
mai mari companii BBS ¸ si au fost primele care au migrat pe Internet în anii 1990. între
mijlocul anilor 1980 ¸ si mijlocul anilor 1990, BBSes aveau un numar de zeci de mii numai
în America de Nord[3]. Forumurile de mesaje (o structur ˘a specific ˘a de social media) au
ap˘arut cu fenomenul BBS pe parcursul anilor 1980 ¸ si începutul anilor 1990. Când Internetul
a sosit la mijlocul anilor 1990, forumurile de mesaje au migrat online, devenind forumuri
pe internet, în primul rând datorit ˘a accesului la persoan ˘a mai ieftin, precum ¸ si abilit ˘a¸ tii de a
gestiona mult mai mul¸ ti oameni simultan decât b ˘ancile cu modem telco.
Classmates a fost unul dintre cele mai vechi site-uri de socializare ale re¸ telelor de
4

Starea actual ˘a a domeniului ¸ si tehnologii folosite Tehnologii folosite
internet, ap ˘arute în decembrie 1995, urmate de Six Degrees în mai 1997, Open Diary în
octombrie 1998, Ryze în octombrie 2001, Friendster în martie 2002, LinkedIn în mai 2003,
MySpace în august 2003, Facebook în februarie 2004, Yahoo! 360 în martie 2005 ¸ si Google+
în iulie 2011.[4, 5, 6]
2.2 Tehnologii folosite
Aplica¸ tia const ˘a într-o platform ˘a online de social media utilizând mediul de dezvoltare Visual
Studio 2017, framework-ul open-source ASP.NET Web Forms, limbajul de programare C#
¸ si sistemul de management al bazelor de date rela¸ tionale Microsoft SQL Server 2017, toate
fiind dezvoltate de Microsoft.
2.2.1 Visual Studio
Microsoft Visual Studio[7] este un mediu de dezvoltare integrat (IDE) de la Microsoft dez-
voltat in limbajele de programare C++ ¸ si C#. Este folosit pentru a dezvolta programe de
calculator pentru Microsoft Windows, precum ¸ si site-uri web, aplica¸ tii web ¸ si servicii web.
Visual Studio utilizeaz ˘a platforme de dezvoltare de software Microsoft, cum ar fi Windows
API, Windows Forms, Windows Presentation Foundation, Windows Store ¸ si Microsoft Sil-
verlight. Se poate produce atât cod nativ cat ¸ si managed code.
Visual Studio include un editor de cod suportând IntelliSense (component ˘a cod de fi-
nalizare), precum ¸ si codul refactorizare. Debugge-ul integrat fonc¸ tioneaz ˘a atât ca debugger
la nivel de surs ˘a cat ¸ si la nivel de ma¸ sin ˘a. Alte unelte încorporate includ un designer de
formulare pentru GUI, web designer, designer de clas ˘a, ¸ si designer de schem ˘a de baze de
date. El accept ˘a plug-in-uri care îmbun ˘at˘a¸ tesc func¸ tionalitatea la aproape orice nivel, in-
clusiv ad ˘augarea de suport pentru sistemele de surs ˘a de control (cum ar fi Subversion) ¸ si
ad˘augarea de noi toolset-uri precum editoarele ¸ si designuri vizuale pentru limbaje specifice
domeniului sau toolset-uri pentru alte aspecte ale ciclului de dezvoltare software (cum ar fi
clientul Team Foundation Server: Team Explorer).
Visual Studio suport ˘a diferite limbaje de programare ¸ si permite editorul de cod ¸ si debug-
ger s ˘a sprijine (în grade diferite) aproape orice limbaj de programare, cu condi¸ tia s ˘a existe
un serviciu de limbaj specific. Limbajele built-in includ C, C++ ¸ si C++ / CLI (prin Visual
C++), VB.NET (prin Visual Basic .net), C# (prin Visual C#), ¸ si F# (ca Visual Studio 2010).
Suport pentru alte limbi, cum ar fi Python, Ruby, Node.js ¸ si M, printre altele fiind disponibile
prin intermediul serviciilor lingvistice instalate separat. Aceasta sus¸ tine, de asemenea, XML
/ XSLT, HTML / XHTML, JavaScript ¸ si CSS. Java (¸ si J#) au fost suportate în trecut.
5

Starea actual ˘a a domeniului ¸ si tehnologii folosite Tehnologii folosite
2.2.2 Limbajul de programare C# (C Sharp)
C#[8] este un limbaj de programare multi-paradigm ˘a (paradigmele de programare sunt o
modalitate de clasificare a limbajelor de programare pe baza caracteristicilor acestora), cuprinzând
un limbaj de programare cu reguli stricte (strong type), imperativ, declarativ, func¸ tional,
generic, orientat pe obiecte. Acesta a fost dezvoltat de Microsoft în cadrul ini¸ tiativei .NET
¸ si ulterior a fost aprobat ca standard de c ˘atre Ecma (ECMA-334) ¸ si ISO (ISO / IEC 23270:
2006). C# este unul dintre limbile de programare concepute pentru infrastructura lingvistic ˘a
comun ˘a.
C# este un limbaj de programare orientat în general ¸ si orientat spre obiect. Echipa sa de
dezvoltare este condus ˘a de Anders Hejlsberg. Cea mai recent ˘a versiune este C# 7.2, care a
fost lansat ˘a în 2017 împreun ˘a cu Visual Studio 2017 versiunea 15.5.
2.2.3 ASP.NET Web Forms
2.2.3.1 Ce este .NET?
.NET Framework[9] (pronun¸ tat dot net) este un cadru software dezvoltat de Microsoft, care
ruleaz ˘a în primul rând pe Microsoft Windows. Acesta include o larga bibliotec ˘a de clase de-
numit ˘a Framework Class Library (FCL) ¸ si ofer ˘a interoperabilitate lingvistic ˘a (fiecare limbaj
poate folosi codul scris în alte limbaje) ˆntre mai multe limbaje de programare. Programele
scrise pentru .NET Framework se execut ˘a într-un mediu software (în contrast cu un mediu
hardware) numit Common Language Runtime (CLR), o aplica¸ tie virtual ˘a care ofer ˘a servicii
precum securitatea, gestionarea memoriei ¸ si tratarea excep¸ tiilor. FCL ¸ si CLR constituie îm-
preun ˘a .NET Framework.
FCL ofer ˘a interfa¸ t ˘a de utilizator, acces la date, conectivitate baze de date, criptografie,
dezvoltare de aplica¸ tii web, algoritmi numerici ¸ si comunica¸ tii de re¸ tea. Programatorii produc
software prin combinarea codului lor surs ˘a cu .NET Framework ¸ si alte biblioteci. Cadrul
este destinat s ˘a fie utilizat de majoritatea aplica¸ tiilor create pentru platforma Windows. De
asemenea, Microsoft produce un mediu integrat de dezvoltare în mare parte pentru software-
ul .NET numit Visual Studio.
2.2.3.2 Ce este ASP.NET?
ASP.NET[10] este in framework open-source, server-side pentru aplica¸ tii web, conceput
pentru dezvoltarea web pentru a produce pagini web dinamice. Acesta a fost dezvoltat de
Microsoft pentru a permite programatorilor s ˘a construiasc ˘a site-uri web dinamice, aplica¸ tii
web ¸ si servicii web.
A fost lansat pentru prima dat ˘a în ianuarie 2002 cu versiunea 1.0 a .NET Framework ¸ si
este succesorul tehnologiei Microsoft Active Server Pages (ASP). ASP.NET este construit pe
6

Starea actual ˘a a domeniului ¸ si tehnologii folosite Tehnologii folosite
baza Common Language Runtime (CLR), permi¸ tând programatorilor s ˘a scrie cod ASP.NET
utilizând orice limb ˘a .NET acceptat ˘a. Cadrul extensiei ASP.NET SOAP permite componen-
telor ASP.NET s ˘a proceseze mesaje SOAP.
Succesorul ASP.NET este ASP.NET Core. Este o re-implementare a ASP.NET ca ¸ si
cadru web modular, împreun ˘a cu alte cadre ca Entity Framework. Noul cadru utilizeaz ˘a noua
platform ˘a .NET Compiler (numde de cod "Roslyn") ¸ si este platform ˘a transversal ˘a. ASP.NET
MVC, API Web ASP.NET ¸ si pagini Web ASP.NET (o platform ˘a care utilizeaz ˘a numai pagini
Razor) s-au îmbinat într-un MVC 6 unificat.
2.2.3.3 Ce este ASP.NET Web Forms?
ASP.NET Web Forms[11] face parte din cadrul aplica¸ tiei web ASP.NET ¸ si este inclus în
Visual Studio. Este unul dintre cele patru modele de programare pe care le pute¸ ti utiliza
pentru a crea aplica¸ tii web ASP.NET, celelalte fiind ASP.NET MVC, paginile Web ASP.NET
¸ si aplica¸ tiile ASP.NET Single Page.
Formularele web (web forms) sunt pagini pe care utilizatorii dvs. le solicit ˘a utilizând
browserul lor. Aceste pagini pot fi scrise folosind o combina¸ tie de cod HTML, client-script,
controale de server ¸ si cod server. Când utilizatorii solicit ˘a o pagin ˘a, acestea sunt compilate
¸ si executate pe server de c ˘atre cadru, iar apoi cadrul genereaz ˘a marcajul HTML pe care
browserul îl poate afi¸ sa. O pagin ˘a ASP.NET Web Forms prezint ˘a informa¸ tii utilizatorului în
orice browser sau dispozitiv client.
Utilizând Visual Studio, putem crea Formulare Web ASP.NET. Mediul de dezvoltare
integrat Visual Studio (IDE) ne permite s ˘a folosim optiunea de drag & drop pentru ad ˘augarea
de controale (dropbox, buton, lista, etc) pentru a creea cu u¸ surin¸ t ˘a pagini Web Forms. Putem
apoi s ˘a set ˘am cu u¸ surin¸ t ˘a propriet ˘a¸ ti, metode ¸ si evenimente pentru comenzile de pe pagin ˘a
sau pentru pagin ˘a în sine. Aceste propriet ˘a¸ ti, metode ¸ si evenimente sunt folosite pentru a
defini comportamentul paginii web, aspectul, interac¸ tiunea cu user-ul ¸ si a¸ sa mai departe.
Necesar scrierii codul pentru partea de serer, pentru a gestiona logica paginii, putem utiliza
un limbaj de programare .NET cum ar fi Visual Basic sau C#.
Formularele Web ASP.NET sunt:
– Bazate pe tehnologia Microsoft ASP.NET, în care codul care ruleaz ˘a pe server genereaz ˘a
în mod dinamic ie¸ sirea paginii Web în browser sau pe dispozitivul client. – Compatibil cu
orice browser sau dispozitiv mobil. O pagin ˘a Web ASP.NET red ˘a automat codul corect
HTML compatibil cu browserul pentru func¸ tii precum stiluri, layout-uri ¸ si a¸ sa mai departe.
– Compatibil cu orice limbaj acceptat de limbajul de rutare comun .NET, cum ar fi Microsoft
Visual Basic ¸ si Microsoft Visual C#. – Construit pe Microsoft .NET Framework. Aceasta
ofer˘a toate avantajele cadrului, inclusiv un mediu gestionat, siguran¸ t ˘a ¸ si mo¸ stenire. – Flexibil,
deoarece putem ad ˘auga controale create de utilizatori ¸ si de la ter¸ te p ˘ar¸ ti.
Formularul Web Formular ASP.NET ofer:
– Separarea codului HTML ¸ si a altor coduri UI (User Interface) din logica aplica¸ tiei. – O
suit˘a bogat ˘a de controale de server pentru sarcini comune, inclusiv acces la date. – Legarea
7

Starea actual ˘a a domeniului ¸ si tehnologii folosite Tehnologii folosite
puternic ˘a a datelor, cu un mare suport pentru unelte. – Suport pentru scripting pe partea
clientului care se execut ˘a în browser. – Sprijin pentru o varietate de alte capabilit ˘a¸ ti, in-
clusiv rutarea, securitatea, performan¸ ta, interna¸ tionalizarea, testarea, depanarea, gestionarea
erorilor ¸ si multe altele.
2.2.4 Microsoft SQL Server 2017
Microsoft SQL Server[12] este un sistem de management al bazelor de date rela¸ tionale dez-
voltat de Microsoft. Ca server de baze de date, acesta este un produs software cu func¸ tia
principal ˘a de stocare ¸ si recuperare a datelor, a¸ sa cum este solicitat de alte aplica¸ tii software,
care pot fi difuzate pe acela¸ si computer sau pe alt computer dintr-o re¸ tea (inclusiv pe Inter-
net).
Microsoft comercializeaz ˘a cel pu¸ tin o duzin ˘a de edi¸ tii diferite de Microsoft SQL Server,
destinate publicului diferit ¸ si pentru sarcini de lucru, de la aplica¸ tii mici, de la o ma¸ sin ˘a la
aplica¸ tii mari, orientate c ˘atre Internet, cu mul¸ ti utilizatori simultani.
8

Capitolul 3
Prezentarea aplica¸ tiei
3.1 Introducere
Aplica¸ tia web const ˘a intr-o platform ˘a de social media, dedicata firmelor sau companiilor de
orice natur ˘a, ce au puncte de lucru in mai multe ora¸ se sau ¸ t ˘ari, facilitând astfel comunicarea,
interac¸ tionarea si cunoa¸ sterea mai u¸ soara a colegilor din celelalte sedii.
Prima etap ˘a in dezvoltarea aplica¸ tiei web a fost crearea de user story-uri (povestea uti-
lizatorului).
În dezvoltarea de software ¸ si în managementul produselor, povestea unui utilizator este
o descriere informal ˘a, limbaj natural, a uneia sau a mai multor caracteristici ale unui sistem
software. Pove¸ stile utilizatorilor sunt adesea scrise din perspectiva unui utilizator final sau a
unui utilizator al unui sistem. Acestea sunt adesea înregistrate pe carduri index, pe note post-
it sau în software de management de proiect. în func¸ tie de proiect, povestile utilizatorilor
pot fi scrise de diver¸ si actori, inclusiv clien¸ ti, utilizatori, manageri sau membri ai echipei de
dezvoltare.
Acestea sunt:
1.Ca utilizator doresc sa imi creez un cont in aplicatie;
2.Ca utilizator doresc sa ma autentific in aplicatie cu un cont;
3.Ca utilizator doresc sa pot adauga poze si sa edita/sterg pe cele deja incarcate;
4.Ca utilizator doresc sa vad toate pozele incarcate de mine;
5.Ca utilizator doresc sa vad cele mai populare poze;
6.Ca utilizator doresc sa caut persoane si sa le adaug ca si prietnei. De asemenea doresc
posibilitatea sa ii elimin pe cei curenti;
7.Ca utilizator doresc sa vad pozele prietenilor si informatiile despre ei;
8.Ca utilizator doresc sa evaluez picturile de la 1 la 5 stele si sa adaug un comentariu
optional;
9.Ca utilizator doresc sa pot modifica informatiile contului;
10.Ca utilizator doresc sa pot comunica cu prietenii prin intermediul aplicatiei;
11.Ca utilizator doresc sa ma pot deconecta din aplicatie.
9

Prezentarea aplica¸ tiei Introducere
Pe baza acestor user stories, am creeat task-urile necesare dezvoltarii aplicatiei. Am
început prin abordarea strategiei de dezvoltarea Database first .
Exista 3 tipuri de abordari:
.Database first (Baza de date prima dat ˘a)
.Code first (Codul prima dat ˘a)
.Model first (Modelele prima dat ˘a)
Dintre aceste "Database first" si "Code first" sunt cele mai utilizate.
Mai întâi s ˘a în¸ telegem aceste strategii.
Code First
În prima abordare a codului, vom crea mai întâi clase de entit ˘a¸ ti cu propriet ˘a¸ ti definite în
acesta. Cadrul de entit ˘a¸ ti va crea baza de date ¸ si tabele bazate pe clasele de entit ˘a¸ ti definite.
Deci, baza de date este generat ˘a din cod. Când codul este executat, baza de date va fi creat ˘a.
Avantaje:
.Se poate crea baza de date ¸ si tabelele din obiectele aplica¸ tiei;
.Se poate specifica care dintre colec¸ tiile asociate urmeaz ˘a s˘a fie înc ˘arcate sau nu;
.Controlul versiunii bazei de date;
.Bine pentru aplica¸ tii mici.
Dezavantaje:
.Trebuie scris tot ce prive¸ ste baza de date în cod;
.Pentru procedurile stocate, trebuie stabilit ˘a conexiunea procedurii stocate utilizând
Fluent API, iar procedura stocat ˘a trebuie scris ˘a în interiorul codului surs ˘a;
.Dac˘a se dore¸ ste schimbarea a orice în tabelele bazei de date, totul trebuie modificat
în clasele de entit ˘a¸ ti din fi¸ sierul de cod ¸ si exectutat ˘a baza de date de actualizare din
consola managerului de pachete;
.Nu este preferat ˘a pentru aplica¸ tiile cu intensitate mare de date.
Database first
În aceast ˘a abordare baza de date ¸ si tabelele sunt create mai prima oara. Apoi, se incepe
dezvoltarea codului surs ˘a pe baza de date creat ˘a.
Avantaje:
.Simplu pentru a crea modelul de date;
.Interfa¸ t ˘a grafic ˘a de utilizator;
.Cartografia ¸ si crearea de chei ¸ si rela¸ tii sunt u¸ soare, deoarece nu este necesar ˘a scrierea
de cod;
.Preferat ˘a pentru aplica¸ tii de date intense ¸ si mari.
.
10

Prezentarea aplica¸ tiei Introducere
Dezavantaje:
.Folosind o baz ˘a de date existent ˘a pentru a genera un fi¸ sier de tip ".edmx" ¸ si modelele
de cod asociate rezult ˘a într-o gr ˘amad ˘a de cod generat automat;
.Când trebuie ad ˘augat ˘a orice func¸ tionalitate modelului generat, trebuie extins ˘a clasa de
model generat ˘a;
.Alegerea abord ˘arii adecvate se bazeaz ˘a exclusiv pe aplica¸ tiile dezvoltate.
Model first
Aceast ˘a abordare poate fi pu¸ tin confuz ˘a pentru dezvoltatorii care nu sunt înc ˘a familiari
înc˘a cu Entity Framework ¸ si sunt obi¸ snui¸ ti cu structura MVC. Prin urmare, abordarea Model
First presupune crearea unei diagrame care va fi convertit ˘a automat la un model codificat.
Acest lucru este în contradic¸ tie cu abordarea Code First în care se creaz ˘a modelul în cod ¸ si
nu exist ˘a un model de diagrama.
Avantaje:
.Se poate utiliza un designer vizual pentru a crea o schem ˘a de baze de date¸ s;
.Modelul (diagrama) poate fi u¸ sor de actualizat când se fac modific ˘ari în baza de date;
.Nu exist ˘a pierderi de date.
Dezavantaje:
.Când se modific ˘a modelul ¸ si se genereaz ˘a SQL pentru sincronizarea bazei de date,
aceasta va duce întotdeauna la pierderea datelor, cu excep¸ tia cazului în se modific ˘a
manual scriptul.
11

Prezentarea aplica¸ tiei Introducere
3.1.1 Structura ¸ si implementarea bazei de date
Baza de date a fost dezvoltat ˘a folosind sistemul de management al bazelor de date rela¸ tionale
Microsoft SQL Server.
Aceasta este diagrama entita¸ tii-asocia¸ tii:
Figura 3.1 : Diagrama entita¸ tii-asocia¸ tii
3.1.1.1 Constrângeri
Asupra bazei de date au fost aplicate mai multe constrângeri ce împiedic ˘a introducerea
datelor necorespunz ˘atoare în tabelele de interes, aplic ˘a business logic la nivel de baz ˘a de
date, aplic ˘a regulilor de baz ˘a ale bazelor de date, aplicarea integrit ˘a¸ tii rela¸ tional ˘a între orice
num˘ar de tabele, îmbun ˘at˘a¸ te¸ ste performan¸ ta bazei de date ¸ si aplic ˘a unicitatea.
Acestea sunt:
1.Nu pot exista 2 useri cu nume de user identice;
2. Numele de cont al user-ului nu poate avea mai mult de 16 caractere;
3.Adresa user-ului nu poate dep ˘a¸ si 256 de caractere;
4.Ora¸ sul user-ului nu poate dep ˘a¸ si 64 de caractere;
5.¸ Tara user-ului nu poate dep ˘a¸ si 64 de caractere;
6.Numele afi¸ sat al user-ului nu poate dep ˘a¸ si 32 de caractere;
7.Email-ul user-ului nu poate dep ˘a¸ si 32 de caractere;
8.Numele jobului nu poate dep ˘a¸ si 64 de caractere;
12

Prezentarea aplica¸ tiei Introducere
9.Motto-ul user-ului nu poate avea mai mult de 4000 de caractere;
10.Num ˘arul de telefon al user-ului nu poate avea mai mult sau mai pu¸ tin de 10 cifre în
componen¸ ta lui;
11.Lungimea parolei nu poate avea mai mult de 16 caractere;
12.Lungimea pozei de profil al user-ului nu poate depa¸ si lungimea de 4000 de caractere;
13.Numele pozei nu poate dep ˘a¸ si 32 de caractere;
14.Detaliile pozei nu poate dep ˘a¸ si 512 de caractere;
15.Lungimea pozei înc ˘arcate de user nu poate dep ˘a¸ si lungimea de 4000 de caractere;
16.Lungimea unui comentariu nu poate dep ˘a¸ si mai mult de 4000 de caractere
17.Rating-ul unei poze trebuie sa fie cuprins intre 0 si 5.
3.1.1.2 Atributele pentru fiecare entitate ŧi asociaÅ ˇcie în parte
Figura 3.2 : Atributele pentru fiecare entitate ¸ si asocia¸ tie în parte – 1
13

Prezentarea aplica¸ tiei Introducere
Figura 3.3 : Atributele pentru fiecare entitate ¸ si asocia¸ tie în parte – 2
Figura 3.4 : Atributele pentru fiecare entitate ¸ si asocia¸ tie în parte – 3
14

Prezentarea aplica¸ tiei Introducere
3.1.1.3 Structura tabelelor
In aceast subcapitol se afla toate tabelele bazei si structura acestora (numele coloanei,tipul
de date, constrangerile, cheile primare, secundare si unice).
Chats Con¸ tine toate conversa¸ tiile dintre utilizatori.
ID = int (PK)
O = int
D = int
Message = nvarchar(4000)
OName = nvarchar(32)
Pictures Acest tabel con¸ tine toate pozele înc ˘arcate de utilizatori ¸ si informa¸ tiile despre
acestea.
ID = int (PK)
UserID = int (FK pe ID-ul din Users)
Name = nvarchar(32) (Constrangere cf. pct. 13)
Details = nvarchar(512) (Constrangere cf. pct. 14)
URL = nvarchar(4000) (Constrangere cf. pct. 15)
IsDeleted = bit
Ratings Con¸ tine toate comentariile ¸ si voturile pozelor.
ID = int (PK)
UserID = int (FK pe ID-ul din Users)
PictureID = int (FK pe ID-ul din Pictures)
Rating = int (Constrangere cf. pct. 17)
Comment = nvarchar(4000) (Constrangere cf. pct. 16)
Relationships în acest tabel sunt salvate rela¸ tiile de prietenie dintre utilizatori.
ID = int (PK)
UserID = int (FK pe ID-ul din Users)
FriendID = int (FK pe ID-ul din Users)
AcceptanceLevel = bit
Users Tabelul Users con¸ tine to¸ ti utilizatorii, plus informa¸ tiile despre ace¸ stia
ID = int (PK) UserName = nvarchar(16) (Constrangere cf. pct. 1 ¸ si 2)
Password = nvarchar(16) (Constrangere cf. pct. 11)
DisplayedName = nvarchar(32) (Constrangere cf. pct. 6)
Motto = nvarchar(4000) (Constrangere cf. pct. 9)
Job = nvarchar(64) (Constrangere cf. pct. 8)
Address = nvarchar(64) (Constrangere cf. pct. 3)
15

Prezentarea aplica¸ tiei Introducere
City = nvarchar(64) (Constrangere cf. pct. 4)
Country = nvarchar(4000) (Constrangere cf. pct. 5)
Email = nvarchar(64) (Constrangere cf. pct. 7)
NumberPhone = int (Constrangere cf. pct. 10)
IsAdmin = bit
ProfilePictureURL = nvarchar(4000) (Constrangere cf. pct. 12)
16

Referin¸ te bibliografice
[1] Microsoft. Most popular social networks worldwide as of april 2018, ranked by num-
ber of active users (in millions). In https://www.statista.com/statistics/272014/global-
social-networks-ranked-by-number-of-users/ .
[2] Monica Riese The Daily Dot. The definitive history of social media. In
https://www.dailydot.com/debug/history-of-social-media/ .
[3] Benj Edwards The Atlantic. The lost civilization of dial-up bulletin board sys-
tems. In https://www.theatlantic.com/technology/archive/2016/11/the-lost-civilization-
of-dial-up-bulletin-board-systems/506465/ .
[4] CBS News. Then and now: a history of social networking sites. In
https://www.cbsnews.com/pictures/then-and-now-a-history-of-social-networking-
sites/ .
[5] University of Southern California. History and different types of social me-
dia. In http://scalar.usc.edu/works/everything-you-always-wanted-to-know-about-
social-media-but-were-too-afraid-to-ask/history-and-different-types-of-social-media .
[6] Barbara Ortutay Associated Press. Beyond facebook: A look at social network his-
tory. In https://www.yahoo.com/news/beyond-facebook-look-social-network-history-
211927663–finance.html .
[7] Microsoft. Visual studio ide overview. In https://docs.microsoft.com/ro-
ro/visualstudio/ide/visual-studio-ide .
[8] Microsoft. Introduction to the c# language and the .net framework. In
https://docs.microsoft.com/en-us/dotnet/csharp/getting-started/introduction-to-the-
csharp-language-and-the-net-framework .
[9] .NET. Welcome to .net. In https://docs.microsoft.com/en-us/dotnet/welcome .
[10] Microsoft. Asp.net overview. In https://docs.microsoft.com/en-us/aspnet/overview .
[11] Microsoft. Asp.net web forms. In https://docs.microsoft.com/en-us/aspnet/web-forms .
17

Referin¸ te bibliografice Referin¸ te bibliografice
[12] Microsoft. Sql server documentation. In https://docs.microsoft.com/en-us/sql/sql-
server/sql-server-technical-documentation?view=sql-server-2017 .
18

Similar Posts