Aplicație Pentru Învățarea Limbii Daneze
MINISTERUL EDUCAȚIEI NAȚIONALE ȘI CERCETĂRII ȘTIINȚIFICE
UNIVERSITATEA PETROL – GAZE DIN PLOIEȘTI
FACULTATEA LITERE ȘI ȘTIINȚE
DEPARTAMENTUL INFORMATICĂ, TEHNOLOGIA INFORMAȚIEI, MATEMATICĂ ȘI FIZICĂ
PROGRAMUL DE STUDII: INFORMATICĂ
FORMA DE ÎNVĂȚĂMÂNT: IF
LUCRARE DE LICENȚĂ
PLOIEȘTI
2016
Anexa 8
MINISTERUL EDUCAȚIEI NAȚIONALE ȘI CERCETĂRII ȘTIINȚIFICE
UNIVERSITATEA PETROL – GAZE DIN PLOIEȘTI
FACULTATEA: LITERE ȘI ȘTIINȚE
DEPARTAMENTUL: INFORMATICĂ, TEHNOLOGIA INFORMAȚIEI, MATEMATICĂ ȘI FIZICĂ
PROGRAMUL DE STUDII: INFORMATICĂ
FORMA DE ÎNVĂȚĂMÂNT: IF
LUCRARE DE LICENȚĂ
APLICAȚIE PENTRU ÎNVĂȚAREA LIMBII DANEZE
PLOIEȘTI
2016
Calificativele pot fi: nesatisfăcător/satisfăcător/bine /foarte bine /excelent.
Comentarii privind calitatea lucrării: ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
CUPRINS
Listă figuri 6
Introducere 8
1. Aplicații pentru învățarea unei limbi străine 11
2. Tehnologii și softuri utilizate în cadrul lucrării 18
2.1. Limbajul C# 18
2.1.1 Introducere 18
2.1.2 Mediul de lucru Visual Studio 20
2.1.3 Erori in cadrul Visual Studio 22
2.2 Baze de date 23
2.2.1 Introducere 23
2.2.2 Mediul de lucru MySQL Workbench 25
2.2.3 phpMyAdmin 27
2.2.4 Proiectarea bazei de date. Modelul entitate legătură 28
3. Proiectarea și dezvoltarea proiectului iDanska 30
3.1 Prezentare generală 30
3.2. Proiectarea aplicației 30
3.2.1. Modelarea conceptuală a bazei de date 30
3.2.2. Baza de date utilizată. Diagrama entitate legătură 31
3.2.3. Utilizarea aplicației 37
3.3. Dezvoltarea aplicației 43
4. Implementarea proiectului iDanska 51
4.1 Interfața aplicației 51
4.2 Adăugarea datelor 59
5. Concluzii și propuneri pentru dezvoltări ulterioare 60
Bibliografia 62
Listă figuri
Figura 1 Aplicația Duolingo 13
Figura 2 Aplicația Babbel 14
Figura 3 Aplicația Învață Daneza 6000 de cuvinte 15
Figura 4 Aplicația Mondly 16
Figura 5 Aplicația Mango Languages 17
Figura 6 Modelul conceptual 30
Figura 7 Tabela dictionar 31
Figura 8 Intrarile in tabela dictionar 31
Figura 9 Tabela fraze 32
Figura 10 Intrarile in tabela fraze 32
Figura 11 Tabela scoruri 33
Figura 12 Intrarile in tabela scoruri 33
Figura 13 Tabela teste 34
Figura 14 Intrari in tabela teste 34
Figura 15 Tabela users 35
Figura 16 Intrari in tabela users 35
Figura 17 Diagrama entitate legătură 36
Figura 18 Interfață pentru logare în cont 37
Figura 19 Interfață pentru creare cont 38
Figura 20 Interfața principală 39
Figura 21 Meniul Dicționar 39
Figura 22 Meniul Fraze 40
Figura 23 Meniul Pronunție 40
Figura 24 Meniul Sintaxa 41
Figura 25 Meniul Teste 42
Figura 26 Fereastra care afișează punctajul 42
Figura 27 Meniul Rezultate 43
Figura 28 Fereastra inițială pentru logarea în cont 44
Figura 29 Meniul principal în stadiul inițial 44
Figura 30 Interfața Test 45
Figura 31 Interfața Pronunție 45
Figura 32 Interfața Dicționar 46
Figura 33 Interfața Fraze 46
Figura 34 Interfața Rezultate 47
Figura 35 Interfața Înregistrare 47
Figura 37 Interfața Dicționar 48
Figura 36 Interfața Sintaxă 48
Figura 38 Interfața Pronunție 49
Figura 39 Interfața Fraze 49
Figura 40 Interfața Rezultate 50
Figura 41 Interfața Teste 50
Figura 42 Adăugare date prin metoda cod 59
Figura 43 Adăugare date prin utilizarea interfeței 59
Introducere
În această lucrare de licență voi prezenta detaliat demersul realizării unei aplicații prin care se poate învăța o limbă straină, în cazul de față, limba daneză. Domeniul în care se încadrează aplicația este unul educațional, în care sunt prezentate noțiunile de bază ale limbii daneze.
Aplicația realizată în cadrul lucrării poartă numele de iDanska și face parte din domeniul educațional, deoarece prezintă mai multe materiale educaționale pentru învățarea limbii daneze, materiale precum: o rubrică numită „Dicționar”, în care putem regăsi o multitudine de cuvinte ale limbii daneze, o altă rubrică numită „Fraze”, în care putem găsi diferite fraze folosite intens în limba daneză, respectiv o rubrică numită „Pronunție”, în care sunt prezentate modurile de pronunție ale literelor, cuvintelor și frazelor. Rubrica “Sintaxă” prezintă modul de formare a frazelor în cadrul limbii daneze, precum și ordinea așezării cuvintelor.
Nivelul cunoștințelor utilizatorilor poate fi stabilit prin formularea răspunsurilor la întrebările aflate în secțiunea „Teste”. Stabilirea nivelului de cunoștinte dobândite la completarea întrebărilor din secțiunea „Teste” se poate verifica simplu intrând în rubrica „Rezultate”.
Încadrarea aplicației în domeniul educațional îi conferă utilizatorului asigurarea dobândirii de cunoștinte după ce toți pașii aferenți au fost finalizați.
Aplicația iDanska oferă procesul prin care sunt transmise cunoștinte, se formează diverse deprinderi și se dezvoltă priceperi în vederea formării și dezvoltării unui subiect, iar toate aceste aspecte se pot regăsi în aplicația creată.
Aplicația, fiind în mare măsură un dicționar de termeni cu posibilitatea unui test final, îi conferă acesteia, astfel, categorizarea în spațiul educativ al posibilelor domenii. În viitor există posibilitatea implementării aplicației în cadrul unui site web.
Motivul alegerii acestei teme îl constituie posibilitatea lucrării la un proiect care are o finalitate practică și posibilitatea dezvoltării aplicației, astfel încât să rivalizeze cu alți concurenți cu produse similare de pe piață. Aplicația poate fi dezvoltată până la punctul în care aceasta poate rula pe mai multe tipuri de platforme (exemplu: platforme mobile).
Crearea acestei aplicații este un răspuns la migrația masivă, după terminarea studiilor, a elevilor români în țările nordice, preponderent Danemarca. Consider că această aplicație îi poate ajuta să se acomodeze cu limba daneză.
O dezvoltare ulterioară a produsului software curent poate conține și informații generale despre Danemarca, precum conduita cetățenilor danezi, programe de studii în Danemarca, gastronomia daneză și altele.
Programul Visual Studio 2013 este cel care mi-a oferit sprijin în realizarea aplicației din cadrul proiectului, iar pentru crearea bazei de date am utilizat produsul software dezvoltat de Oracle, MySQL Workbench și platforma phpMyAdmin.
Obiectivele vizate sunt de dezvoltare a cunoștintelor de lucru în limbajul de programare C#, folosind produsul software Visual Studio 2013 și lucrul cu baze de date, folosind produsele software MySQL Workbench si phpMyAdmin. În cadrul lucrării vor fi prezentate modurile în care se poate lucra cu aceste trei produse software în cadrul dezvoltării de aplicații.
Lucrarea este structurată în 5 capitole, după cum urmează.
În Capitolul 1, intitulat „Aplicații pentru învățarea unei limbi străine”, sunt prezentate și alte aplicații care au fost dezvoltate pe plan internațional, comparații cu aplicația iDanska, asemănări, diferențe și altele.
În Capitolul 2, intitulat „Tehnologii și softuri utilizate în cadrul lucrării”, vor fi abordate anumite tehnologii și softuri pe care le-am folosit în dezvoltarea aplicației. Aici este subliniată folosirea unei baze de date pentru stocarea datelor din cadrul aplicației, respectiv a utilizatorilor platformei și o prezentare a limbajului de programare folosit pentru a scrie aplicația (C#) și a softului care m-a ajutat în realizarea acestui lucru, Visual Studio 2013.
Cel de-al treilea capitol, intitulat „Proiectarea și dezvoltarea proiectului iDanska”, conține în primul rând o prezentare generală a aplicației iDanska. Capitolul conține și partea de proiectare a aplicației : baza de date utilizată, diagrama entitate-legătură.
Capitolul 4, intitulat sugestiv „Implementarea proiectului iDanska”, oferă informații despre utilizarea aplicației, mai exact modul în care se poate lucra cu aceasta, despre interfața aplicației și modul de adăugare a datelor în cadrul aplicației.
Capitolul 5, „Concluzii și propuneri pentru dezvoltări ulterioare” subliniază importanța menținerii bazei de date actualizate și dezvoltarea aplicației pentru mai multe arii de informație. Deși în ziua de azi sunt uzuale tot mouse-ul și tastatura pentru a naviga pe Internet, viitoarea formă a aplicației încerca sa fie se dorește a fi disponibilă și pentru interacțiunea prin senzori tactili, comenzi vocale și altele.
Aplicații pentru învățarea unei limbi străine
În ziua de astăzi există foarte multe aplicații care ne pot ajuta să învățăm o limbă străină. Majoritatea dintre ele sunt axate nu doar pe o limbă, ci pe mai multe limbi. Din această cauză, produsul finit s-ar putea să nu fie de cea mai bună calitate. În același timp, multe dintre aceste aplicații, la un anumit punct, vor cere ca materialele pe care le oferă să fie plătite. Din acest punct de vedere, probabil, foarte multă lume va încerca să migreze de la o anumită aplicație de acest tip la altă aplicație pentru învățarea limbii respective, pe simplul motiv că aceasta din urmă este gratis.
O parte din aplicațiile importante din ziua de astăzi, la momentul în care au fost lansate, ofereau suport pentru un număr limitat de limbi. Între timp, acestea au reușit să-și dezvolte activitatea pe mai multe ramuri, mai exact, pe mai multe limbi.
Acest lucru a fost posibil din cauza cererii imense pentru aceste aplicații de tip educațional, fie din partea studenților, fie din partea angajatorilor sau a angajaților, care vor să fie bine pregătiți pentru o eventuală călătorie de afaceri sau relaxare în altă țară.
Pe lângă această piață, care se bazează pe aplicații pentru învățarea unor limbi străine, avem există și o piață care se axează pe modul de învățare cu care ne-am obișnuit în școli, mai exact, cu ajutorul manualelor. Folosirea unui manual presupune în primul rând achiziționarea acestuia; din acest punct de vedere, majoritatea oamenilor preferă varianta mai puțin costisitoare, adică aceea în care învață folosindu-se de aplicații web sau aplicații mobile, care se pot găsi chiar (complet) gratuite.
Printre aplicațiile care ne pot ajuta să învățăm o limbă străină, regăsim următoarele.
Duolingo este o platformă gratuită de învățare a limbilor străine. Această platformă include un site web, o aplicație, precum și un examen de evaluare a competențelor lingvistice digitale. Duolingo nu conține reclame și oferă toate cursurile de limbi străine în mod gratuit; din această cauză, este cea mai folosită aplicație în domeniul respectiv.
Duolingo este disponibil în limba română.
Site-ul de învățare a limbii străine oferă 59 de cursuri de limbi străine diferite pentru 23 de limbi internaționale, cu încă 23 de cursuri suplimentare în dezvoltare.
Aplicația este disponibilă pe toate platformele mobile și are peste 120 de milioane de utilizatori înregistrați în toată lumea.
Duolingo oferă lecții ample de scriere și dictare, cu practică la nivelul conversațional pentru utilizatorii mai avansați. Aplicația are o ierarhie bazată prin pe joc, prin intermediul căreia utilizatorii pot progresa, și o secțiune de vocabular, unde cuvintele învățate pot fi repetate. (Figura 1)
Babbel este un software online pentru învățarea limbilor străine și o platformă e-learning. Babbel momentan oferă un număr de 14 limbi, acestea sunt: daneza, olandeza, engleza, italiana, franceza, norvegiana, germana, indoneziana, poloneza, portugheza, rusa, suedeza, spaniola și turca. (Figura 2)
Aplicația este disponibilă pe toate platformele mobile și are peste 20 de milioane de utilizatori înregistrați, din mai mult de 190 de țări.
Aplicația Babbel nu este disponibilă în limba română.
Cursurile Babbel pot fi finalizate în browser-ul web al persoanei respective, necesitatea instalării programului este astfel eliminată. Sunt cursuri pentru începători și partea de gramatică, lecții de vocabular, precum și cursuri în care sunt folosite zicale și cântece. Cursurile pentru o anumită limbă se pot adresa unui public specific; de exemplu, limba daneză poate fi învățată la nivel de începător sau poate fi învățată daneza folosită în marketing, totul depinzând de cererile utilizatorului.
Învață Daneza 6000 de cuvinte a celor de la FunEasy Learn este o platformă mobilă gratuită de învățare a limbilor străine. Aplicația este disponibilă pe toate platformele mobile, iar aceasta are peste 50 de mii de instalări pe platforma magazin Google Play.
Aplicația este disponibilă în limba română. (Figura 3)
Această aplicație are peste 6 mii de cuvinte în vocabular, cu imagini, înregistrări audio și traduceri. Interfața fiecărei aplicații suportă 24 de limbi diferite. Aplicația dispune de 3 nivele de dificultate, pentru începători, utilizatori intermediari și utilizatori avansați. Vocabularul aplicației este tradus în 59 de limbi.
Mondly Languages este un software online pentru învățarea limbilor străine. Mondly Languages oferă un număr de 33 de limbi dintre care putem învăța. Aplicația este disponibilă pe platforma Android și are peste 8 milioane de instalări.
Mondly Languages este disponibil în limba română.
Aplicația se bazează în mare parte pe un joc ierarhic. Fiecare capitol reprezintă o anumită categorie de cuvinte, fraze sau părți de fonetică, pe care trebuie să le cunoaștem ca să putem trece mai departe.
Mondly Languages nu are tot conținutul său gratis, ca cum sunt alte aplicații din domeniu. Ca să poți trece mai departe de un anumit nivel, va trebui achiziționat pachetul Premium al aplicației. Învățarea propriu-zisă este este structurată pe 3 mari categorii în această aplicație: partea de lecție, partea de conversație și partea de vocabular. (Figura 4)
Mango Languages este o platformă mobilă gratuită de învățare a limbilor străine. Aceasta folosește în mare parte aceleași idei ca și precedentele aplicații, lecțiile sunt structurate pe categorii de cuvinte care fac parte din vocabular, fraze și parte de fonetică, iar ca să avansezi către următoarea lecție, trebuie să dovedești că ai rămas cu un anumit minim de cunoștinte din lecția predată curent. (Figura 5)
Pe platforma Google Play, Mango Languages are peste 100 de mii de instalări. Aceasta denotă faptul că Mango Languages este una dintre cele mai utilizate aplicații în domeniul său de activitate de pe această platformă.
O mare deficiență a platformei Mango Languages o reprezintă indisponibilitatea limbii române în cadrul meniului și a lecțiilor propriu-zise.
După instalarea fiecărei aplicații în parte, pot spune că majoritatea lor aduc utilizatorii până la un anumit punct de cunoștinte, iar dupa acel punct, toate serviciile aplicațiilor respective trebuie achiziționate.
Tehnologii și softuri utilizate în cadrul lucrării
Limbajul C#
Introducere
Prima versiune de C# a fost dezvoltată de către Microsoft între anii 1999 și 2002 și a fost lansată oficial pentru public în anul 2002, ca parte a platformei .NET [ ]. Platforma .NET își propune să facă dezvoltarea de aplicații pentru Windows mult mai ușoară, prin furnizarea unei abordări de calitate a programării, bazată pe conceptul „mașină virtuală” (virtual machine) și „cod de gestiune” (managed code). La acel moment, limbajul și platforma Java aveau un succes enorm în toate domeniile de dezvoltare de aplicații. C# și .NET au fost răspunsul natural al companiei Microsoft pentru tehnologia Java.
C# este un limbaj de programare modern, orientat pe obiecte și cu scop general, creat și dezvoltat de către Microsoft împreună cu platforma .NET. Regăsim o multitudine de aplicații dezvoltate folosind limbajul de programare C# și pe care le găsim și pe platforma .NET, precum: aplicații Office, aplicații web, site-uri web, aplicații pentru desktop, aplicații pentru telefoane, jocuri și multe altele.
C# este un limbaj de nivel înalt, care este similar cu Java și C++ și într-o oarecare măsură și cu limbaje precum Delphi, VB.NET și C. Toate programele dezvoltate în C# sunt orientate pe obiecte. Ele constau dintr-un set de definiții în clase, care conțin metode, metodele conțin logica programului respectiv, adică instrucțiunile pe care le execută calculatorul. În zilele noastre, C# este unul dintre cele mai populare limbaje de programare. Este folosit de milioane de dezvoltatori din întreaga lume. Deoarece C# este dezvoltat de Microsoft ca parte a platformei lor moderne de dezvoltare și execuție a aplicațiilor – .NET Framework, limbajul de programare este răspândit mai ales între companiile orientate către Microsoft, organizații și dezvoltatori individuali.
Limbajul C# și platforma .NET sunt menținute și gestionate în întregime de către Microsoft și nu sunt deschise unor terțe părți. Din această cauză, toate celelalte corporații mari de software, cum ar fi IBM, Oracle și SAP își bazează soluțiile pe platforma Java și utilizează Java ca limbaj de programare primar pentru dezvoltarea propriilor produse software.
Spre deosebire de C# și .NET Framework, limbajul Java și platforma sa sunt proiecte open-source, pe care o întreagă comunitate de companii de software, organizații și dezvoltatori individuali iau parte. Standardele, specificațiile și toate noile caracteristici din lumea Java sunt dezvoltate de persoane formate în grupuri de lucru din întreaga comunitate Java, mai degraba decât de către o singură companie (ca în cazul C# și .NET Framework).
Limbajul C# este distribuit împreună cu un mediu special pe care el este luat în execuție, numit Common Language Runtime (CLR). Acest mediu este parte a platformei .NET Framework, platformă care include CLR, un pachet de biblioteci standard, care furnizează o funcționalitate de bază, compilatoare, debuggers și alte instrumente de dezvoltare.
Datorită framework-ului CLR, programele sunt portabile și, odată scrise, ele pot funcționa cu puține schimbări sau chiar fără schimbări pe o multitudine de platforme hardware și sisteme de operare.
Prin proiectare, C# este limbajul de programare care reflectă cel mai direct CLI (Common Language Infrastructure). Cele mai intrinseci tipuri ale sale corespund tipurilor de valoari implementate de cadrul CLI. Cu toate acestea, specificațiile nu precizează cerințele generale de cod de compilare, adică nu afirmă că un compilator C# trebuie să vizeze un Common Language Runtime (CLR) sau un Common Intermediate Language (CIL), sau de a genera un orice alt format specific. Teoretic, un compilator C# ar putea genera un cod mașină ca și compilatoarele tradiționale, C++ și Fortran.
Aplicațiile scrise în C# sunt cel mai frecvent rulate pe sistemul de operare MS Windows, dar .NET Framework și CLR pot rula de asemenea și pe telefoanele mobile și alte dispozitive portabile bazate pe Windows Mobile, Windows Phone și Windows 10. Aplicațiile pot rula însă și pe alte sisteme de operare, precum Linux, FreeBSD, iOS, Android, MacOS X.
C# este un limbaj de programare orientat pe obiecte ca mai toate limbajele de programare moderne utilizate pentru sisteme software serioase (cum ar fi Java și C++).
Avantajele programării orientate pe obiecte permite lucrul cu obiecte din lumea reală, precum elevi, școli, manuale, cărți și altele. Obiectele au proprietăți ( de exemplu: nume, culoare etc.) și se pot efectua acțiuni (exemplu: a muta, a vorbi etc.).
Unul dintre cele mai mari avantaje ale .NET Framework este built-in-ul care gestionează memoria automat. Aceasta protejează programatorii de sarcina complexă de alocare manuală a memoriei pentru obiecte și apoi să aștepte un moment potrivit pentru eliberarea memoriei. Acest lucru crește în mod semnificativ productivitatea dezvoltatorului și calitatea programelor scrise în C#.
Mediul de lucru Visual Studio
Microsoft Visual Studio© este un mediu de dezvoltare integrat (IDE- Integrated development environment) de la Microsoft. Este folosit pentru a dezvolta programe pe calculator pentru Microsoft Windows, precum și site-uri web, aplicații web și servicii web. Visual Studio utilizează platforme de dezvoltare de software Microsoft, cum ar fi Windows API, Windows Forms, Windows Presentation Foundation, Windows Store și Microsoft Silverlight. Se poate produce atât cod nativ, cât și cod de gestiune.
Visual Studio include un sprijin de editor de cod numit IntelliSense (componentă cod de finalizare), precum și cod de refactorizare. Debuggerul integrat funcționează atât ca debugger la nivel-sursă, cât și un debugger la nivel-mașină. Alte unelte încorporate includ un designer de formulare pentru construcția aplicațiilor de tip GUI, web designer, class designer și designer de scheme de baze de date.
Visual Studio acceptă plug-in-uri care îmbunătățesc funcționalitatea la aproape orice nivel, inclusiv adăugarea de suport pentru source-control systems (sistemele controlate de către sursă) și adăugarea de noi toolset-uri ca editori și designer vizual pentru limbaje specific domeniului sau toolset-uri pentru alte aspecte ale ciclului de dezvoltare de software.
Visual Studio suportă diferite limbaje de programare și permite editorului de cod și componentei de depanare să suporte aproape orice limbaj de programare, cu condiția să existe un serviciu de limbaj specific.
Limbajele de programare built-in includ C, C++ și C++/CLI (prin Visual C++), VB.NET (prin Visual Basic.net), C# (prin Visual C#) și F# (de la Visual Studio 2010). Suportul pentru alte limbi, cum ar fi Python, Ruby, Node.js și M printre altele este disponibil prin intermediul serviciilor lingvistice instalate separat.
Visual Studio permite dezvoltatorilor de aplicații să scrie extensii pentru Visual Studio pentru a extinde capacitățile sale. Aceste extensii sunt “introduse” în Visual Studio și extind funcționalitatea sa. Extensiile vin sub formă de macrocomenzi, add-in-uri și pachete. Macrocomezile reprezintă sarcini repetabile și acțiuni pe care dezvoltatorii le pot înregistra în mod programatic pentru a le salva, derula și distribui.
Cu toate acestea, macrocomenzile nu pot implementa comenzi noi sau să creeze ferestre cu tools. Ele sunt scrise folosind Visual Basic și nu pot fi compilate.
Codul sursă al Visual Studio conține peste 50 de milioane de linii de cod.
Erori in cadrul Visual Studio
La transcrierea algoritmilor în limbajul C#, pot apărea erori. Înlăturarea erorilor strecurate într-un program în faza de elaborare a acestuia, se numește depanare.
Există trei tipuri de erori care se pot strecura la elaborarea unui program, și anume, erori sintactice, erori la execuție, erori logice.
Erorile sintactice apar atunci când într-un program se utilizează construcții care nu sunt conforme cu cele existente în limbajul de programare utilizat. Aceste erori sunt depistate unele în faza de editare, iar altele în faza de compilare a programelor sursă.
Erorile care apar în faza de editare sunt subliniate. Erorile depistate în faza de compilare sunt semnalate într-o fereastră specială, cu titlul Error List. Executând un dublu-click pe un mesaj de eroare, eroarea respectivă este localizată în textul sursă, afișându-se selectat textul eronat.
Erorile logice apar atunci când aplicația, fie că se execută și se termină fără nicio eroare, dar rezultatele acesteia nu sunt cele așteptate, fie că aplicația se execută indefinit, fără a se termina sau nu-și mai poate continua execuția. Pentru a depista erorile logice, se execută aplicația în regim de depanare. Există mai multe facilități.
O primă facilitate este aceea de a lansa și executa aplicația în așa fel ca ea să se oprească după execuția unei singure instrucțiuni. Acest mod de execuție se realizează folosind comanda Step Into a meniului Debug.
În cazul în care execuția este întreruptă pe o instrucțiune de apel de metodă, putem să executăm metoda respectivă în mod automat, folosind comanda Step Over a meniului Debug. În cazul în care dorim să depanăm o metodă, vom folosi în mod obișnuit comanda Step Into când execuția este întreruptă pe o instrucțiune de apel a ei. Prin aceasta se va putea executa metoda respectivă instrucțiune cu instrucțiune.
În cazul în care se execută o metodă în regim de depanare și la un moment dat se dorește să se iasă din metoda respectivă, pentru ca execuția să continue cu instrucțiunea următoare apelului metodei respective, vom acționa comanda Step Out a meniului Debug.
Pentru a lansa în execuție o aplicație, astfel încât aceasta să se execute automat pană la o anumită instrucțiune, putem utiliza comanda Run To Cursor.
Un punct de întrerupere reprezintă o instrucțiune din textul sursă la care aplicația și-a întrerupt execuția. Execuția aplicației poate continua cu execuția acelei instrucțiuni activând una din comenzile Step Into, Step Out și altele.
Baze de date
Introducere
O bază de date este un depozit de informații gestionate de către un motor de baze de date, care trebuie să asigure integritatea datelor și accesul rapid la date. O implementare foarte frecventă a unei baze de date este un sistem de gestiune a bazelor de date (SGBD). Pentru utilizatori, informațiile din baza de date pot fi accesate utilizând Structured Query Language (SQL) – limbaj de interogare structurat, un limbaj de bază de date comun pentru majoritatea bazelor de date. Cu toate acestea, SQL oferă doar comenzi pentru a accesa și manipula datele din baza de date.
Inițial bazat pe algebra relațională și calculul relațional pe tuplu, SQL constă
într-un limbaj de definire a datelor, limbaj de manipulare a datelor, precum și date lingvistice de control. Domeniul de aplicare al SQL include inserări de date, interogări, actualizări și ștergeri, crearea și modificarea de scheme, precum și accesul la date. Deși SQL este adesea descris ca un limbaj declarativ, acesta include și elemente procedurale.
SQL este un limbaj special conceput pentru comunicarea cu bazele de date. Spre deosebire de alte limbaje (Java sau Visual Basic), SQL este alcătuit dintr-un număr redus de cuvinte. Acest fapt nu este întâmplător. SQL este proiectat pentru a face un singur lucru, dar bine, și anume, de a furniza o modalitate simplă și eficientă de a citi și a scrie date într-o bază de date.
Numeroșii producători de SGBD și-au extins suportul pentru SQL prin adăugarea de instrucțiuni la limbajul respectiv. Rolul acestor extensii constă din în a furniza funcționalități suplimentare, respectiv modalități simplificate de a efectua anumite operații. Deși sunt deseori extrem de utile, aceste extensii prezintă tendința de a fi specificate unui anumit SGBD și sunt rareori acceptate de mai mulți producători.
Limbajul SQL standard este controlat de comisia de standardizare ANSI, motiv pentru care se numește ANSI SQL. Toate sistemele importante de gestiune a bazelor de date, chiar și cele care își folosesc propriile extensii, acceptă ANSI SQL. Implementările individuale își au propriiile lor nume (PL-SQL, Transact-SQL etc.).
SQL a devenit un standard al American National Standards Institute (ANSI) în 1986 și al International Organization for Standardization (ISO) în 1987. De atunci, standardul a fost revizuit pentru a include un set mai mare de caracteristici. În ciuda existenței unor astfel de standarde, cele mai multe coduri SQL nu sunt complet portabile între diferite sisteme de baze de date, fără ajustări.
Pentru orice aplicație complexă, există în mod obișnuit o nevoie de condiții, ramificări și bucle. Niciunul dintre acestea nu se regăsește în limbajul SQL. În scopul de a umple acest gol, mai multe limbaje de programare permit integrarea cu SQL prin intermediul unei biblioteci comune, cum ar fi Open Data Base Connectivity (ODBC), Object Linking and Embedding (OLE) și, uneori, cu interfețele aplicațiilor de programare sau biblioteci furnizate cu baze de date.
În plus, cele mai multe baze de date au acum un simplu limbaj al lor, care permite un control simplu pentru aplicațiile care nu au nevoie de puterea maximă a limbajelor de programare standard, precum C++ și Pascal. Aceste limbaje simple sunt folosite pentru a scrie proceduri stocate și sunt proprietatea fiecărei baze de date.
O abordare alternativă luată de alte limbaje de programare, limbaje cum ar fi MUMPS, este de a avea un model de date care include variabile persistente care sunt partajate între mai multe procese. Această abordare ascunde operațiile din cadrul bazei de date în limbajul de programare, în loc să ascundă limbajul de programare în baza de date.
Mediul de lucru MySQL Workbench
MySQL Workbench este un instrument grafic de proiectare a bazelor de date, care integrează dezvoltarea SQL, administrarea, proiectarea bazei de date, crearea și întreținerea într-un singur mediu de dezvoltare integrat pentru sistemul de baze de date MySQL. Este succesorul lui DBDesigner 4 din fabFORCE.net și înlocuiește pachetul anterior de software, MySQL GUI Tools Bundle.
Prima versiune de MySQL Workbench a fost lansată în septembrie 2005 și nu a fost inclusă în MySQL GUI Tools Bundle. Dezvoltarea softului a început din nou în 2007 și, de atunci, MySQL Workbench a fost stabilit să devină produs aferent al MySQL GUI.
DBDesigner 4 este o aplicație open-source de procesare a datelor vizuale, care include funcționalități pentru proiectarea bazelor de date și a modelării datelor. Aceasta este destinată în primul rând utilizării împreună cu platforma de bază de date open-source, MySQL. Aceasta include funcționalități specifice pentru baze de date și de procesare a datelor, incluzând documentație, SQL, și reverse database engineering pentru orice baze de date compatibile ODBC (Open Database Connectivity) . Pentru platforma de baze de date MySQL, DBDesigner a fost înlocuit în mare parte de către MySQL Workbench, care este un mediu de dezvoltare integrat (Integrated Development Environment – IDE).
MySQL GUI Tools Bundle este o multi-platformă open-source de suite de aplicații desktop pentru administrarea bazelor de date MySQL de pe servere, precum și pentru construirea și manipularea datelor din cadrul bazelor de date MySQL. Aceasta a fost dezvoltată de către Sun Microsystems și a fost lansată sub GPL (General Public License).
Dezvoltarea privind pachetul GUI Tools s-a oprit și se mai poate găsi doar în arhivele site-ului MySQL.
MySQL Workbench suportă pe deplin versiunile MySQL Server 5.0, dar nu toate caracteristicile de pe 5.0 pot fi suportate. Versiunile 4.0, 4.x. nu mai sunt suportate.
Funcționalitatea MySQL Workbench acoperă patru mari categorii:
• Dezvoltarea SQL – Crearea și gestionarea conexiunilor la serverele bazei de date. Împreună cu permisiunea configurării parametrilor conexiunii, MySQL oferă posibilitatea executării interogărilor SQL asupra conexiunilor bazei de date folosind built-in-ul SQL Editor.
• Modelarea datelor (Design) – Crearea de modele grafice de scheme ale bazei de date, inginerie directă și inversă între o schemă și o bază de date și editarea tuturor aspectelor bazei de date folosind Table Editor. Table Editor oferă facilități ușor de utilizat pentru editarea tabelelor, coloanelor, indecșilor, trigger-urilor, partițiilor, opțiunilor, inserărilor.
• Administrarea serverelor – Permite administrarea instanțelor unui server MySQL prin administrarea utilizatorilor bazei de date, efectuarea de backup și recuperare, inspectarea datelor de audit, vizualizând funcționarea normală a bazei de date și monitorizând performanța serverului MySQL.
• Migrarea datelor – Permite transferul de la Microsoft SQL Server, Microsoft Access, Sybase ASE, SQLite, SQL Anywhere, PostreSQL, la MySQL. De asemenea, transferul se poate realiza și de la o versiune mai veche de MySQL la una mai nouă.
phpMyAdmin
phpMyAdmin este un intrument gratuit și cu sursă deschisă scris în PHP destinat să se ocupe cu administrarea MySQL sau MariaDB cu utilizarea unui browser web.
Poate efectua diverse sarcini, cum ar fi crearea, modificarea sau ștergerea bazelor de date, tabelelor, câmpurilor sau rândurilor, executarea instrucțiunilor SQL sau gestionarea utilizatorilor și permisiunilor.
Programul oferă o interfață web, administratrarea bazelor de date MySQL și MariaDB, import de date din CSV(Comma-separated values) și SQL, administrarea de servere multiple, crerea de grafice PDF ale layout-ului bazei de date, precum și lucrul cu sisteme de operare diferite.
PHP este un limbaj de generare a scripturilor pe suport Web. Acesta pune la dispoziție funcții și biblioteci care se folosesc pentru conectarea la o diversitate de baze de date, motiv pentru care programul folosit la executarea unei instrucțiuni SQL poate varia în funcție de programul SGBD utilizat.
Legăturile între phpMyAdmin și un site web sau o aplicație se pot realiza într-un mod foarte simplu față de alte aplicații din același domeniu.
Proiectarea bazei de date. Modelul entitate legătură
Proiectarea bazei de date reprezintă în fapt, proiectarea unei scheme logice care ar micșora șansele apariției problemelor în baza de date respectivă, asigurând astfel facilități și performanțe ridicate în cazul lucrului cu aceasta.
Problemele care apar în timpul lucrului cu bazele de date sunt legate în mare parte de probleme cu actualizarea datelor. Există o anumită dependență între atribute. Având în vedere problemele care pot apărea în timpul procesului creării bazei de date, putem stabili un anumit grad de perfecțiune a schemei bazei de date și o posibilă definire a unor tehnici formale de proiectare.
Normalizarea unei baze de date constă în aplicarea unor reguli predefinite asupra datelor din cadrul bazei de date, scopul principal fiind acela de a creea și de a structura baza de date într-un mod cât mai puțin complex și eficient.
Pentru ca baza de date să fie bine proiectată se începe lucrul cu relații nenormalizate și urmând mai multe etape se descompun structurile de date pentru a ajunge la schema finală a bazei de date.
Modelarea entitate legătură a fost dezvoltată pentru proiectarea bazelor de date de Peter Chen și publicat într-un document din 1976. Cu toate acestea, variante ale ideii au existat anterior, unele modele entitate legătură arată cum unele entități sunt legate prin relații de generalizare-specializare, precum și un model de entitate legătură care poate fi utilizat, de asemenea în specificarea ontologiei specifice domeniului.
Un model entitate legătură descrie lucrurile de interes legate între ele într-un anumit domeniu al cunoașterii. Un model entitate legătură este compus din tipuri de entități (care clasifică lucrurile de interes) și precizează relațiile între instanțele acelor tipuri de entități.
În ingineria software, un model entitate legătură este format în mod obișnuit pentru a reprezenta lucruri pe care o afacere are nevoie să-și amintească, în scopul de a efectua procesele de afaceri. În consecință, modelul entitate legătură devine astfel un model abstract de date sau informații care pot fi puse într-o bază de date, de obicei, o bază de date relațională.
Modelele entitate legătură pot fi construite la două sau trei niveluri de abstractizare. Ierarhia conceptuală-logică-fizică este utilizată în alte tipuri de specificații și este diferită de abordarea folosind cele trei scheme pentru ingineria software.
Cele 3 scheme sunt următoarele.
Model de date conceptual – Este cel mai înalt nivel de model entitate legătură, care conține cele mai puțin detaliate informații dar stabilește domeniul de aplicare general a ceea ce trebuie să fie inclus în modelul setului.
Model de date logic – Nu necesită un model de date conceptual de tip entitate legătură, mai ales în cazul în care domeniul de aplicare al modelului logic entitate legătură include numai dezvoltarea unui sistem informatic distinct.
Model de date fizic – Unul sau mai multe modele fizice entitate legătură pot fi dezvoltate de fiecare model logic entitate legătură. Modelul fizic entitate legătură este în mod normal dezvoltat pentru a fi ilustrat ca o bază de date.
Proiectarea și dezvoltarea proiectului iDanska
Prezentare generală
Aplicația iDanska a fost concepută în programul software Microsoft Visual Studio 2013, baza de date în phpMyAdmin utilizând Wamp Server pentru legătură, iar diagrama entitate legătură în MySQL Workbench.
Scopul aplicației este acela de a învâța limba daneză utilizând toate informațiile aflate în aplicație, respectiv urmărind toți pașii aferenți.
Proiectarea aplicației
Modelarea conceptuală a bazei de date
Modelarea conceptuală a bazei este prezentată în Figura 6.
Baza de date utilizată. Diagrama entitate legătură
Baza de date utilizată are următoare formă prezentată în figurile de mai jos.
Tabela dicționar are următoarele intrări prezentate în figura de mai jos.
Figura 9 Tabela fraze
Tabela fraze are următoarele intrări reprezentate în figura de mai jos.
Figura 11 Tabela scoruri
Tabela scoruri are următoarele intrări reprezentate în figura de mai jos.
Figura 13 Tabela teste
Tabela teste are următoarele intrări reprezentate în figura de mai jos.
Figura 15 Tabela users
Tebela users are următoarele intrări reprezentate în figura de mai jos.
Diagrama entitate legătură arată în următorul mod, așa cum se poate vedea în Figura 17.
Utilizarea aplicației
Lansăm aplicația în mod obișnuit, de exemplu executând dublu click pe pictograma acestuia.
Pentru ca aplicația iDanska să fie accesibilă, utilizatorul va trebui inițial să-și creeze un cont. Prima fereastră apărută după deschiderea aplicației este interfața pentru logare în cont (vezi Figura 18 Interfață pentru logare în cont).
Dacă utilizatorul are deja un cont creat în aplicatia iDanska, acesta trebuie să se logheze prin intermediul introducerii datelor necesare în câmpurile “Username” și “Parola”, după care trebuie finalizat dând click pe butonul “Logare”.
În cazul în care utilizatorul nu are un cont creat în aplicatiei, acesta poate să dea click pe butonul “Înregistrare”. După apăsarea butonului “Înregistrare” va apărea următoarea fereastră în care acesta trebuie să-și aleagă un nume pentru cont, respectiv o parolă (vezi Figura 19 Interfață pentru creare cont).
După completarea tuturor câmpurilor, acesta poate finaliza crearea contului prin apăsarea butonului “Creare cont”. Aplicatia se va întoarce la pasul inițial, pas în care utilizatorul va trebui să se logheze folosind contul nou creat.
După logare, utilizatorului îi va apărea următoarea interfață, în care poate accesa următoarele meniuri: “Dicționar”, “Fraze”, “Pronunție”, “Sintaxă”, “Teste”, “Rezultate”.
Toate meniurile sunt ușor accesebile din interfața principală a aplicației după cum se poate observa în Figura 20 Interfața principală.
În cadrul meniului principal găsim o scurtă introducere a aplicației, precum și toate componentele aplicației.
Dacă se apasă pe butonul “Dicționar” vom avea acces la următoarea interfață pe care o putem regăsi în Figura 21 Meniul Dicționar.
Următorul meniu pe care îl putem găsi în meniul principal este meniul “Fraze”, exemplificat în Figura 22 Meniul Fraze.
Pentru a te întoarce la meniul principal (Figura 20 Interfața principală), se execută click pe butonul “Înapoi”.
În meniul pricipal se găsește și o secțiune dedicată pronunție numită “Pronunție”, în care vom găsi un videoclip în care sunt exemplificate diferitele moduri de pronunție ale cuvintelor sau literelor din cadrul dicționarului danez. (Figura 23 Meniul Pronunție)
Un alt meniu este “Sintaxa”, meniu pe care îl regăsim în Figura 24 Meniul Sintaxa.
Utilizatorul își poate testa cunoștințele dobândite selectând din meniul principal meniul “Teste”. Meniul “Teste” este exemplificat în Figura 25.
După terminarea testului, utilizatorului îi va apărea o fereastră cu scorul obținut în cadrul testului.
Așa cum este exemplificat in Figura 26.
Meniul în care putem găsi rezultatele obținute de noi, dar și de alți utilizatori în cadrul testelor este “Rezultate”. (Figura 27)
Dezvoltarea aplicației
În stadiul inițial al proiectului iDanska am început inițial să lucrez la meniul de logare în aplicație, pentru ca aplicația să fie accesibilă utilizatorului, acesta trebuie să își creeze un cont și după să se logheze cu respectivul cont în aplicația iDanska. (Figura 28)
După meniul de logare, am început lucrul la meniul principal al aplicației, adăugând diverse butoane către meniuri, respectiv puține finisaje ale interfeței astfel încât interfața să fie clară și ușor de folosit. (Figura 29)
Figura 29 Meniul principal în stadiul inițial
Următoarele două interfețe la care am lucrat după acestea două au fost cele pentru meniurile de “Test” (Figura 30) și “Pronunție” (Figura 31), după cum se poate observa în imaginile de mai jos.
Figura 31 Interfața Pronunție
Următorul lucru după terminarea lucrului cu interfețele de mai sus menționate, a fost să mă ocup cu crearea ferestrelor/meniurilor pentru “Dicționar” (Figura 32), “Fraze” (Figura 33) și “Rezultate” (Figura 34).
După ce aplicația iDanska a fost conectată la baza de date din phpMyAdmin folosind Wamp Server, s-a continuat lucrul cu crerea de noi interfețe, precum cea pentru crearea unui cont (Figura 35), meniul pentru “Sintaxă” (Figura 36) și lucrul la cele existente deja, mai exact la “Dicționar” (Figura 37), “Pronunție” (Figura 38), “Fraze” (Figura 39), “Rezultate” (Figura 40) și “Test” (Figura 41).
Implementarea proiectului iDanska
Interfața aplicației
Meniul “Logare” a fost realizat prin următoarea secvență de instrucțiuni. Implementarea grafică îl regăsim în Figura 18 Interfață pentru logare în cont.
Codul reprezintă modul de conectare la baza de date.
Pentru logare sau creare cont este folosită următoare secvență de instruțiuni.
Pentru meniul “Inregistrare” din cadrul aplicației iDanska, s-a folosit următoarea secvență de instrucțiuni. Grafic, acest lucru este implementat în Figura 19 Interfață pentru creare cont.
Înterfața principală a aplicației conține butoane care te redirecționeză spre celelalte meniuri ale aplicației. Se poate observa acest lucru în Figura 20.
Interfața “Dicționar” conține toate intrările de cuvinte din baza de date, după cum se poate observa în Figura 21 Meniul Dicționar. Mai jos regăsim modul în care a fost implementat acest lucru.
În mod asemănător a fost realizată și interfața pentru meniul “Fraze”.
Pentru meniul “Sintaxă” am folosit metoda AppendText, după cum se poate observa mai jos. Iar interfața o găsim în Figura 24 Meniul Sintaxa.
Interfața pentru meniul “Pronunție” conține un player video cu 3 butoane în partea de jos a acestuia, butoanele Play, Pause și Stop. Interfața o putem observa în Figura 23 Meniul Pronunție.
Adăugarea datelor
Modul de adăguare al datelor în aplicație poate fi realizat doar de către administrator. Datele se adaugă prin intermediul phpMyAdmin si este posibilă în următoarele 2 moduri, prin utilizarea codului (Figura 42 Adăugare date prin metoda cod) sau prin utilizarea interfeței (Figura 43 Adăugare date prin utilizarea interfeței).
Concluzii și propuneri pentru dezvoltări ulterioare
În cadrul creării aplicației iDanska, am reușit să ating toate cerințele stabilite initial, pentru ca aplicația să fie una complet funcțională și axată pe mai multe categorii de învățare, începând de la un dicționar și până la testarea cunoștințelor dobândite de-a lungul utilizării aplicației.
Cu ocazia realizării aplicației, am aprofundat și mai mult studiul în domeniul lucrului cu bazele de date, cât și partea de design în cadrul limbajului C#, folosind produsul software Microsoft Visual Studio 2013.
Aplicația a reușit să atingă toate punctele care pot face o astfel de aplicație educațională utilă, aceasta conține o multitudine de cuvinte de bază din limba daneză, fraze uzuale, cât și o parte de sintaxă și pronunție a cuvintelor.
Singurele probleme apărute în momentul dezvoltării aplicației au fost acelea de obținere a informațiilor despre limba respectivă, pe piață nu se pot găsi ușor dicționare ale limbii daneze sau ghiduri turistice despre Danemarca.
Dicționarul conține peste 650 de cuvinte folosite des de vorbitorii nativi ai limbii daneze, precum și peste 80 de fraze uzuale, care ne pot veni în sprijin în momentul ințierii unui dialog cu un cetățean danez sau un cunoscător de limbă daneză.
Avantajul major al aplicației iDanska este reprezentat de axarea doar pe o anumită limbă și posibilitatea centralizării resurselor doar pe aceasta. iDanska oferă un design atractiv și modern. Aplicația dispune de o structură bine organizată, în care se poate observa clar conținutul acesteia.
Un posibil dezavantaj al aplicației este acela că, în momentul de față, aplicația nu oferă o aprofundare extinsă pe categoria de sintaxă sau gramatică a limbii daneze, aceasta acționează îndeosebi ca un ghid ajutător pentru învățarea unor noțiuni de bază, precum cum ar fi cuvinte, fraze uzuale, pronunție și altele.
Aplicația iDanska poate ajunge la un stadiu mai complex în viitorul apropiat, prin mărirea extinderea bazei de date și crearea de noi rubrici ajutătoare sau aprofundarea celor existente pentru cei care vor să aibă noțiuni minime când vine vorba de limba daneză.
Consider astfel că am reușit să creez o aplicație destul de utilă, cu o interfață modernă, o bază de date considerabilă pentru momentul actual al aplicației, destinată oamenilor care vor să facă primii pași în învățarea limbii daneze.
Bibliografia
Babbel. (2016, Mai 22). Preluat de pe Babbel: https://www.babbel.com
Duolingo. (2016, Mai 20). Preluat de pe Duolingo: http://www.duolingo.com
Fun Easy Learn. (2016, Mai 22). Preluat de pe funeasylearn: http://www.funeasylearn.com/ro/app/invata-daneza/
Mango Languages. (2016, Mai 21). Preluat de pe Mango: https://www.mangolanguages.com
Mondly Languages. (2016, Mai 20). Preluat de pe Mondly: https://www.mondlylanguages.com
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Aplicație Pentru Învățarea Limbii Daneze (ID: 109986)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
