Construirea Unui Model Aplicatie Tip Chestionar Auto
Cuprins
Introducere
În această lucrare am propus construirea unui model de aplicație tip chestionar auto. Aplicația este dezvoltată în mediul de programare C# în care am încercat să folosesc tehnici de programare orientate pe obiectele clasice cu efecte grafice, mai specific o aplicație pentru cei care doresc sa își testeze cunoștințele pentru examenul auto.
Lucrarea este structurată in trei capitole. In primul capitol voi analiza cerințele sistemului, legislația in vigoare pentru examenul auto cat și o structura optima de învățare pentru cel care folosește programul pentru a-si evalua cunoștințele.
Cel de-al doilea capitol va conține tehnologiile informatice utilizate. Voi prezenta limbajul de programare C# și noutățile in platforma Visual Studio 2015 și SQL cu noutățile din SQL Server 2016.
In cel de-al treilea capitol voi implementa analiza și proiecta sistemul informatic. Voi specifica cerințele sistemului informatic și îl voi analiza.
În ultimul capitol voi prezenta aplicația, programarea acesteia cat și un ghid de utilizare a programului dezvoltat.
Capitolul 1. Analiza Cerințelor Sistemului
1.1 Noțiuni Introductive
Primul permis de conducere a fost acordat în anul 1888, care nu reprezenta permisul sub forma pe care o știm noi astăzi, era mai degrabă un document ce permitea lui Karl Benz – inventatorul unui automobil – să circule în oraș cu mașină sa. În țara noastră prima reglementare în acest sens a fost introdusă în anul 1859 – „Ordonanța pentru reglementarea trăsurilor în București” – care prevedea acțiuni pe care trebuiau să le respecte birjarii.
În ultimii ani industria auto a dezvoltat funcționalități noi la mașinile produse, astfel multe dintre ele au parcare asistată, conducere automată pe drum drept, următorul pas în revoluția auto îl reprezintă mașinile care se conduc complet singure. În ciuda tuturor acestor acțiuni permisul auto va rămâne mult timp de acum încolo o necesitate pentru conducerea unui autovehicul.
Conform articolului 23 din OUG 195/2002 Dreptul de a conduce un autovehicul sau tramvai pe drumurile publice îl are numai persoana care posedă permis de conducere valabil, corespunzător categoriei ori subcategoriei din care face parte vehiculul respectiv, sau dovada înlocuitoare a acestuia cu drept de circulație.
Examenul pentru obținerea permisului de conducere constă în susținerea unei probe teoretice de verificare a cunoștințelor și a unei probe practice de verificare a aptitudinilor și comportamentului, corespunzător categoriei de permis solicitat.
Legislația rutieră este într-o continuă modificare/dezvoltare – cel mai recent proiect de lege este propunerea de a adopta sistemul american de a acorda permise de conduceri persoanelor care împlinesc 16 ani dar cu anumite restricții. Proiectul se află în discuții, acesta având avantaje și dezavantaje în opinia publică.
Foarte multe din locurile de munca din România au început să solicite ca și abilitați ale aplicantului deținerea permisului categoria B. Considerentul pentru acest lucru este dat de necesitatea patronilor de a avea angajați care se pot deplasa din punctul A in punctul B oricând fără a apela la șoferii profesioniști din firma sau la firme de taxiuri. Joburi care solicita acest permis pot fi: reprezentant vânzări, asistent marketing, negociator contracte etc.
Odată acordat permisul de conducere el conferă dreptul de a conduce pe o perioadă nedeterminată, însă nu trebuie ignorat schimbările legislative continue, de aceea este recomandat atât din partea autorităților cât și a celorlalți participanți în trafic de a fi la curent cu ultimele modificări pentru a evita situații neplăcute sau accidente.
1.2 Examenul teoretic pentru obținerea permisului de conducere
Proba teoretica pentru obținerea permisului de conducere se susține prin intermediul unei aplicații informatice, realizata și gestionata de către Direcția Regim Permise de Conducere și Înmatriculări Vehicule (DRPCIV).
Proba teoretică cuprinde un număr de 26 de întrebări particularizate pentru categoria B, timpul de soluționare fiind de 30 de minute. Pentru a promova examenul teoretic, candidatul trebuie să răspundă corect la cel puțin 22 de întrebări.
Testele cuprind noțiuni generale referitoare la toate categoriile de vehicule, care privesc:
dispozițiile legale în materie de circulație rutieră, în special cele care vizează semnalizarea rutieră, restricțiile de viteză și regulile de prioritate;
conducătorul auto:
importanța unui comportament vigilent și a unei atitudini adecvate față de alți participanți la trafic;
funcțiile de percepție, de evaluare și de decizie, în special timpul de reacție și modificările comportamentului conducătorului auto ca urmare a efectelor consumului de droguri, alcool și medicamente cu influențe negative asupra conducerii unui autovehicul, a oboselii și a stărilor emoționale;
drumul:
normele legale referitoare la respectarea distanțelor de siguranță dintre vehicule, distanței de frânare și ținutei de drum a vehiculului în funcție de starea carosabilului și în diferite condiții meteorologice;
riscurile de conducere legate de starea diferită a carosabilului și mai ales variațiile acestuia în funcție de condițiile de vizibilitate și atmosferice;
caracteristicile diferitelor tipuri de drumuri și dispozițiile legale conexe;
securitatea rutieră în tunele;
ceilalți participanți la trafic:
riscurile specifice în raport cu lipsa de experiență a celorlalți participanți la trafic și cu categoriile de participanți la trafic cu vulnerabilitate sporită, cum sunt: pietonii, bicicliștii, copiii, și persoanele cu mobilitate redusă;
riscurile inerente circulației și conducerii diferitelor tipuri de vehicule și condițiilor de vizibilitate pe care le au conducătorii acestora;
reglementări generale și diverse:
reglementări referitoare la documentele administrative necesare folosirii vehiculului;
reguli generale privind comportamentul pe care trebuie să îl adopte conducătorul auto în cazul producerii unui accident din care au rezultat victime omenești, precum prezervarea urmelor de la locul accidentului, acordarea primului ajutor, anunțarea poliției și a ambulanței și altele asemenea, sau în cazul producerii unui accident din care au rezultat doar pagube materiale, cu aplicarea corespunzătoare a procedurilor de constatare amiabilă, precum și luarea altor măsuri pentru îndepărtarea sau diminuarea efectelor accidentului;
măsuri de securitate referitoare la încărcătura vehiculului și la persoanele transportate;
precauțiile care trebuie luate la părăsirea vehiculului;
elementele mecanice legate de securitatea conducerii auto: posibilitatea de a sesiza defecțiunile curente care pot afecta îndeosebi eficacitatea mecanismului de direcție, instalației de frânare, sistemului de rulare, suspensiei, instalației de evacuare, precum și farurile, oglinzile retrovizoare, semnalizatoarele, catadioptrii, spălătoarele și ștergătoarele de parbriz, avertizorul sonor;
echipamentele de siguranță ale vehiculelor, mai ales folosirea centurilor de siguranță și a echipamentelor de siguranță pentru copii;
regulile de folosire a vehiculului referitoare la protecția mediului înconjurător: folosirea corespunzătoare a avertizorului sonor, limitarea emisiilor poluante, consumul moderat de carburant etc.
Testul de examen este precedat de 3 întrebări de acomodare. Indiferent de corectitudinea răspunsurilor la cele 3 întrebări de acomodare, candidatul va trece la soluționarea testului propriu-zis.
Testul este generat de sistemul informatic, fiecare întrebare putând conține unul sau mai multe răspunsuri corecte. Candidatul poate răspunde la fiecare întrebare afișată, în ordinea apariției acestor întrebări, sau poate amâna răspunsurile, revenind ulterior asupra lor.
Evaluarea răspunsurilor se aduce la cunoștința candidatului în mod direct, prin afișarea în timp real pe ecranul de examinare a rezultatului general și a calificativului final. Pe ecran este afișat și contorul de timp.
1.3 Pregătirea pentru examenul teoretic
Conform legislației în vigoare pregătirea teoretică și practică a persoanelor în vederea obținerii permisului de conducere se efectuează de către profesori de legislație rutiera și instructori auto atestați de autoritatea competentă.
Pregătirea în particular pentru examenul auto implică citirea legislației în vigoare referitoare la circulația pe drumurile publice cât și legile conexe. După studierea temeinică a acestor legi cât și simultan cu învățarea este recomandat efectuarea de chestionare care simulează examenul teoretic.
Examenul conține 26 de întrebări din care maxim 3 întrebări (supranumite întrebări capcană) sunt cu alegeri multiple. Majoritatea simulatoarelor îți spun la câte întrebări ai răspuns corect și la câte ai greșit cât și câte întrebări mai sunt și timpul rămas din test (în total examenul durează maxim 30 de minute).
Efectuarea a mai multor chestionare ajută la întipărirea noțiunilor legislative deja citite și ridicarea procentului de reușită la examenul propriu zis.
Exemplu întrebări:
In cazul in care, într-o intersecție, lângă semaforul in stare de funcționare este instalat indicatorul „Oprire„, sunteți obligat sa respectați:
semnificația indicatorului;
regula priorității de dreapta;
semnificația luminii semaforului.
Vă este permisa trecerea peste marcajul longitudinal din imagine?
da, deoarece linia discontinua este cea mai apropiata de
vehiculul pe care îl conduceți
nu, deoarece este un marcaj dublu;
nu, deoarece in acest caz depășirea este interzisa
Conduită ecologică în conducerea unui autovehicul înseamnă:
să fiți calm și să anticipați situațiile pentru a evita accelerarea și frânarea bruscă.
să întrețineți tot timpul autovehiculul curat, prin spălare și degresare zilnică;
să nu poluați fonic mediul înconjurător, folosind sistemul de sonorizare la intensitate maximă;
Conform noilor reglementări, înaintea începerii orelor de condus (pregătirii practice) elevii înscriși la o școala de șoferi sau la un instructor autorizat trebuie sa aibă niște cunoștințe minime legislative. In acest sens se susține un test la sediul scolii de șoferi pentru verificarea cunoștințelor teoretice.
De regulă se administrează teste de 26 de întrebări, din care elevul trebuie sa cumuleze minim 15 puncte (pentru a putea începe pregătirea practica). Dovada promovării testului cu minim 15 puncte va fi depusă la dosarul auto, alături de restul documentelor.
Un lucru uneori neglijat este faptul că multe din cunoștințele teoretice se învață cu instructorul în timpul orelor practice. Pentru că elevul să știe cum să reacționeze în privința la diferite aspecte din circulație instructorul îi explică acestuia care este modul de rezolvare a situațiilor întâlnite, de exemplu la o intersecție între o stradă principală și o stradă secundară instructorul îl atenționează pe elev să observe dacă există semnul de cedează trecerea sau stop, deoarece se pot întâmplă una din două situații: elevul oprește atât la cedează trecerea cât și la stop deși nu este necesar sau fie nu oprește la semnul stop.
1.4 Examenul practic pentru examenul de conducere
Proba practică din cadrul examenului cere ca elevul admis la examenul de pe calculator să cunoască Codul pentru a aplica practic cunoștințele acumulate. Examinatorul (polițistul) poate adresa întrebări despre indicatoarele rutiere care apar în timpul examenului.
În general se folosesc anumite trasee pe care se susține probă. Este recomandat ca să se repete aceste trasee anterior cu instructorul pentru a evita elementele surprize pe traseu.
Examenul practic poate fi trecut facil dacă elevul s-a descurcat foarte bine la examenul pe calculator, el trebuie să își înfrunte emoțiile și să evite anumite greșeli:
proceduri incorecte în intersecție: – semnalizări, poziționare în timp, priorități
ținerea incorectă a mâinilor pe volan
greșeli de parcare
adaptarea incorectă a vitezei la condițiile de mers – fie se merge prea încet pe zone în care se poate circulă cu viteză maxim legală, fie se merge cu viteze ridicate în zone cu teren accidentat.
neasigurarea în oglinzi
și pregătirea pentru a pleca pe traseu – aranjarea scaunului , oglinzii, centurii, etc.
1.5 Comparație cu alte sisteme/soluții informatice existente pe piață
In momentul de față sunt nenumărate aplicații online care oferă utilizatorului posibilitatea de a-și testa cunoștințele de legislație.
Aplicația dezvoltată de către mine este offline, in sensul ca aceasta va fi instalată pe un calculator care se va conecta la un server și nu necesita de conexiune la internet.
Aplicația are o interfață user-friendly, bifarea răspunsurilor se face rapid prin apăsarea click în căsuță, iar debifarea acestora se face în același mod ca și bifarea.
Datele personale introduse sunt accesibile doar prin folosirea unui sistem de autentificare prin user și parolă.
Avantajele aplicației Euro Driver:
multi-user. Aplicația are capacitatea de a putea fi folosită de mai mulți utilizatori cu user și parola
evolution tracking. In interfața aplicației se găsește un istoric pentru a observa evoluția personală în actul de acumulare a informațiilor pentru examenul auto
offline mode. Aplicația este dezvoltata pentru a fi instalata pe un server și pe mai multe stații sau local only și de aceea nu necesită conexiune la internet
Dezavantajele aplicației:
Multitudine de întrebări. În versiunea actuală aplicația nu are implementata întrebări cu imagini cu situații din trafic sau cu semne de circulație.
Explicații. O parte din aplicațiile care se regăsesc în mediul online oferă utilizatorului să vadă instant răspunsul corect dar și un link către răspunsul explicat.
Nu are un timer integrat pentru 30 de minute.
Mai jos redau capturi de ecran din alte aplicații dezvoltate online:
Figura 1.1 print screen pdc.ro Figura 1.2 print screen teste-carnet.ro/
Figura 1.3 print screen chestionare.auto.ro
Figura 1.4 print screen permisulauto.ro
Capitolul 2. Tehnologii informatice utilizate
2.1 Tehnologia C#
Programarea orientată-obiect este o tehnică de programare – o paradigmă pentru scrierea de programe "bune" pentru un set de probleme. Dacă termenul "limbajul de programare orientat-obiect " înseamnă ceva anume asta trebuie să însemne un limbaj de programare care prevede mecanisme care susțin bine stilul de programare orientat-obiect.
2.1.1 De ce am ales C#
C# derivă din două limbaje de programare C și C++ și este asemănător limbajului Java. C# moștenește de la C sintaxa multe din cuvintele cheie cât și operatorii iar de la C++ folosește modelul de obiecte. Java că și C# derivă din C și C++ ambele fiind dezvoltate pentru rezolvarea problemei de portabilitate existente la C și C++.
C# respectă standardul ECMA-334 4th edition (Iunie 2006) și folosește Microsoft .NET Framework care este o colecție de clase care poate fi descărcată online și este actualizată permanent de Microsoft, ultima versiune lansată este 2013, versiunea 2015 fiind în momentul redactării lucrării în Release Candidate.
C# este un limbaj de programare care are capabilități high-level(POO) și low-level (lucrul cu pointerii, adresele de memorie etc). C++ este privit ca un “mid-level language”.
C# este un limbaj simplu, modern, orientat obiect și “type-safe programming language” in tip ce in C++ declarațiile generau erori gen “Access violation”.
În urma acumulării cunoștințelor din cei 3 ani de facultate am concluzionat limbajul C# este cel mai potrivit pentru dezvoltarea proiectului de licență.
Un alt motiv a fost posibilitatea de folosi un limbaj de programare care permite implementarea interfeței într-un mod rapid fără a fi nevoit de a scrie codul pentru acestea.
Avantajele clare ale limbajului sunt:
un limbaj de programare simplu, modern, intuitiv, cu aplicabilitate generală, cu productivitate ridicată.
Este un limbaj orientat pe obiecte.
Permite dezvoltarea de aplicații robuste.
2.1.3 Tipuri de date
C# este definit din doua grupuri de tipuri de date:
tipuri valoare
tipuri referință
Tipurile valoare sunt compuse din tipurile simple (eg. Int, float), tipurile enumerare și structură, toate trei au ca caracteristici principale faptul că conțin direct datele referite și sunt alocate inline sau pe stivă într-o structură. Tipurile referință conțin tipurile clasă, interfață, tablou și delegat ele având ca proprietate că variabilele de acest tip stochează referințe către obiectele conținute.
2.1.4 Anatomia unui program C#
Programele C# pot fi alcătuite din multiple fișiere cu extensia CS. Fiecare sursă poate conține mai multe namespaces, ele putând conține la rândul lor declarații de tipuri diverse (structuri, delegați, interfețe, etc.) sau alte domenii de nume.
Spre deosebire de C++, toate elementele care constituie programul sunt definite în interiorul claselor. Metodă statică Main este punctul de intrare în program.
Mai jos este prezentat scheletul unui program C#.
Structura unei aplicatii dezvoltate in C# este formata din:
clasa de baza si clase derivate
constructori
destructor
metode
2.1.5. Noutăți limbaj C#
În Visual Studio 2015, mai multe funcții noi lingvistice C # și Visual Basic ajuta la reducerea șabloanelor și aglomerarea în codul de zi cu zi, încurajează un stil mai declarativ de programare, și aduce cele două limbaje de programare chiar mai aproape. De exemplu, există îmbunătățiri sintactice la declarații de tip și de membri și la verificarea de null. De asemenea, variabilele locale pot fi declarate în interiorul expresiilor.
Interfața codului editor și experiența de editare pentru C # și Visual Basic au fost înlocuite cu noi experiențe construite pe platforma .NET Compiler ("Roslyn").
„Light Bulbs” sunt noua locație pentru toate acțiunile rapide luate în Visual Studio Editor, inclusiv remedieri pentru problemele de cod comun și cod refactoring. Când exista probleme în cod, un „light bulb” sugerează remedieri pentru aceste probleme. Toate operațiunile Refactoring au fost mutate la „light bulb”, pe care se poate accesa oricând prin tastarea Ctrl + <punct> .
Figura 1.1 Exemplu „Light-Bulb”
Există două noi operațiuni de bază refactoring: Inline temporary variable și Introduce local.
Figura 1.2 Exemplu Introduce local
Figura 1.3 Exemplu Inline temporary variable:
Suport pentru refactoring Visual Basic a fost adăugat pentru prima dată, și a fost, de asemenea mutat la „light bulb”.
Redenumirea a fost de asemenea, îmbunătățita, acum evidențiază toate instanțele identificatorului care se redenumește, permițând tastarea direct în editor a noului nume simultan pentru toate instanțele.
Figura 1.4 Exemplu Rename
Se poate obține analiză de cod live și corectare automata pe măsură tastării, cu recomandări specifice pentru platformele Microsoft și pachetele NuGet care sunt vizate.
Figura 1.5 Exemplu Analiza Live a codului
2.2 Tehnologia SQL
Din limbajul C, accesul la surse de date se poate realiza în diferite moduri, depinzând de tehnologia pe care se bazează. DAO (Data Access Object) pune la dispoziția programatorului un set ierarhic de clase care conferă acces la bazele de date native ale motorului Microsoft JET și la orice sursa ODBC.
Principalul atu al includerii de comenzi SQL în programe C este dat de faptul ca programatorii folosesc facilitățile oferite de ambele limbaje astfel dezvolta aplicații cu baze de date mult mai performante.
2.2.1 De ce am ales limbajul SQL
În anul 1974 IBM a folosit pentru prima dată SQL în proiectul de cercetare System R care funcționa pe sisteme mainframe VS/2 sub titulatura de Structured English Query Language (sau SEQueL). În timp numele i-a fost schimbat în SQL (Structured Query Language). În 1986 ANSI (Institutul Național American pentru Standarde) a conceput și lansat standardele SQL.
Avantaje programare SQL:
Portabil: SQL rulează în programe în mainframe, PC-uri, laptop-uri, servere si chiar telefoane mobile
SQL Standard: Primul standard pentru SQL a fost pus în 1986 de ANSI
Ușor de învățat și de a înțelege: SQL constă în principal din declarații în engleză și este foarte ușor de învățat și de a înțelege o interogare SQL.
Limbaj interactiv: SQL poate fi folosit pentru a comunica cu bazele de date și a obține răspunsuri la întrebări complexe în câteva secunde.
Limbaj complet pentru o bază de date: SQL este folosit pentru a crea baze de date, gestionarea securității unei baze de date. Poate fi de asemenea utilizat pentru actualizarea, extragerea și schimbul de date cu utilizatorii.
Suportă programare bazat pe obiecte: SQL suportă ultima programare pe obiect și este foarte flexibil.
Suportă aplicații enterprise: SQL este limbajul de bază de date care este utilizat de către afaceri și întreprinderi în întreaga lume. Pentru o aplicație enterprise este un limbaj perfect pentru o bază de date.
Pe lângă avantajele programării in SQL mai sunt si avantajele conferite de serverul SQL:
Performanță ridicată și scalabilitate. SQL Server oferă suport pentru baze de date foarte mari, de până la un terabyte
Disponibilitate crescută – Bazele de date Microsoft SQL Server, pot fi copiate, fie incremental sau complet, în timp ce baza de date este în uz.
Securitate îmbunătățită – Microsoft SQL Server se poate integra cu securitatea sistemului de operare Windows Server pentru a oferi un singur jurnal pe rețea și pe baza de date.
Recuperare imediată – în caz de defecțiune a sistemului (cum ar fi un accident de sistem de operare sau a unei pene de curent), Microsoft SQL Server are un mecanism de recuperare automat care recuperează o bază de date la ultima starea de consistență într-o chestiune de minute, cu nici o intervenție din partea unui administrator de baze de date.
Date fiabile distribuite și tranzacții – Procesarea tranzacțiilor este o cerință esențială pentru un sistem care este conceput pentru a sprijini aplicații critice, cum ar fi cel bancar și cele cu comenzi online.
Prelucrări bazate pe server – Microsoft a proiectat Microsoft SQL Server de la început ca o bază de date client / server. Datele și indexurile sunt pe un singur calculator server care este de multe ori accesat prin rețea de mai multe calculatoare client
Cotinuă dezvoltare – SQL Server este o parte integrantă a componentei de bază Microsoft și se regăsește in strategiile viitoare.
2.2.2 Atribute SQL
SQL poate:
crea noi baze de date
crea noi tabele în baza de date
stabili permisiuni asupra entităților din baza de date
executa interogări la baza de date
extrage date din baza de date
insera înregistrări în baza de date
actualiza înregistrări în baza de date
șterge înregistrări în baza de date
crea proceduri stocate, funcții, triggere
crea vizualizări în baza de date
2.2.3 Tipuri de date
În limbajul SQL sunt predefinite mai multe tipuri de date: numeric, șir de caractere, timp, dată etc. Denumirile tipurilor de date și limitele acestora (valoare minimă, valoare maximă) prezintă diferite variații în funcție de implementare (versiunea sistemului de gestiune a bazei de date), în general se aseamănă.
Tipurile generale de date sunt:
BINARY
BIT
TINYINT
MONEY
DATETIME
UNIQUEIDENTIFIER
REAL
FLOAT
SMALLINT
INTEGER
DECIMAL
TEXT
IMAGE
Caracter
2.2.4. Noutăți SQL Server
Microsoft SQL Server este sistemul de gestiune a bazelor de date relaționale multi-utilizator dezvoltat de firma Microsoft pentru sistemele de operare Windows.
SQL Server 2016 oferă perspective mai profunde asupra datelor atât local cat și cloud. Capabilități de top pentru noua versiune includ: „Always Encrypted” – o nouă capacitate care protejează datele în repaus și în mișcare, „Stretch Database” – noua tehnologie care va permite întinderea dinamică a datelor tranzacționale calde și reci la Microsoft Azure, îmbunătățiri in tehnologii de memorie pentru analiză în timp real cu privire la performanța tranzacționala și noi de analiză în baza de date cu integrare „R”.
Alte noutăți in versiunea SQL Server 2016 includ:
PolyBase
AlwaysOn Enhancements
Row Level Security
Dynamic Data Masking
Native JSON support
Temporal Database support
Query Data
MDS enhancements
Enhanced hybrid backup to Azure
Capitolul 3. Analiza și proiectarea sistemului informatic
Proiectarea unei baze de date cuprinde proiectarea structurii:
conceptuale
logice
si fizice.
Uneori sunt necesare reveniri la activitățile nivelurilor anterioare. Procesul de proiectare a oricărei baze de date trebuie privit ca un proces neliniar, neuniform, în care pot apărea deseori reluări ale unor etape anterioare.
Proiectarea unei baze de date este un proces în care sunt folosite o multitudine de modele, tehnici și instrumente pentru a transla un domeniu din lumea reală, în termenii organizării datelor aferente, în lumea virtuală. Pornind de la lumea reală se identifică și specifică necesitățile aplicației prin diverse modalități chestionare, documentare, terminologie, comparații etc.
Rezultatul identificării este obținerea componentelor necesare pentru structurarea informației din sectorul respectiv. Acest lucru se obține cu ajutorul unor concepte și instrumente bine definite:
Schemele BD:
Schema conceptuală enunță structura organizațională și conținutul informațional al sistemului și este un mod de comunicare între cei care dezvoltă baza de date și utilizatorii acesteia;
Schema logică determină informația într-o manieră care poate fi folosită pentru crearea bazei de date. Schema externă structurează informația într-o succesiune care permite accesul utilizatorilor la baza de date.
Schema fizică specifică reprezentarea informației în PC în termeni fizici
Obiectele din lumea reală se exprimă prin entități care au atribute.
Obiectele din lumea reală au legături de diverse tipuri cu alte obiecte, fiecare fiind definit cu un anumit rol in aceste legături.
3.1. Specificarea cerințelor sistemului informatic
Ingineria cerințelor este procesul de stabilire a serviciilor pe care clientul le dorește de la sistem și constrângerile de dezvoltare și operare.
Aplicația este folosită în cadrul unei școli auto unde este instruit elevul pentru examenul practic. Ea va fi instalată pe 20 de stații și un server.
Scopul aplicației este testarea cunoștințelor elevilor necesare examenului auto.
Programul va avea ca opțiuni:
Logare user și creare
Efectuarea chestionarului propriu-zis
Vizualizare istoric chestionare per utilizator
3.2 Analiza sistemului existent
UML reprezintă un limbaj de modelare vizual, orientat obiect. El reprezintă atributele structurale și dinamice ale unui program (bază de date sau un modul de cod).
UML este o colecție de tehnici de modelare, utilizate pentru soluționare multor aspecte ale procesului de concepere și dezvoltare a programului, de la proiectarea bazei de date până la interacțiunea modulelor dezvoltate .
3.3 Proiectarea noului sistem – structura SQL
Datele de intrare vor fi pentru logare – prima interacțiune a unui utilizator: nume, prenume, user și parolă, ulterior pentru logare folosind doar user și parolă.
După logare input-ul utilizatorului va fi răspunsul a, b sau c pentru fiecare întrebare. In structura inițială a aplicației sunt definite 141 de întrebări.
Baza de date contine 3 tabele:
Users
Test_history
Si questions
Tabela users are ca și cheie primara user_id care se coreleaza cu user_id din tabele test_history.
Tabela users mai contine: username, password, first_name, last_name.
Tabela test_history mai contine: id – cheie primara, category, score.
Tabela questions contine: id care este și cheie primara, category, question, answer_a, answer_b, answer_c, correct
Capitolul 4. Realizarea aplicației informatice
4.1 Implementarea aplicației
Pentru dezvoltarea aplicatiei am folosit Visual Studio 2015, am inceput prin crearea paginei principale a aplicatie.
Am creat forma cu specificatiile 700 px lungime și 420 px inaltime. Am continuat prin inserarea campului text: Intrebare și campul text variante de raspuns . Apoi am definit campul questions care afiseaza intrebarea cat și variantele de raspuns cu check boxes.
Iar pentru trimiterea raspunsului corect și trecerea la urmatoarea intrebare am inserat butonul Raspunde la care am adaugat o icoana.
In partea dreapta am folosit un … pentru a insera Categoriile. La apasarea radio-button din dreapta intrebarile din stanga se vor schimba in functie de categoria aleasa.
Tot in partea dreapta am introdus și Statistici.
Aici folosesc mai multe contoare. Prima valoarea din Statistici este o valoare fixa care nu se modifica. Intrebari ramase se calculeaza ca diferenta intre intrebari initiale (26) și numarul de raspunsuri date. Tot in acest camp am creat un contor pentru raspunsurile corecte cat și unul pentru raspunsurile gresite.
4.2 Prezentarea aplicației
La deschiderea aplicației apare interfața de intrare în program.
Se cere utilizator și parolă pentru accesarea aplicație. Utilizatorul fie folosește credențialele existente sau își creează un user nou folosind „creează cont nou”.
În fereastra nou apărută pentru crearea unui user nou trebuie completate următoarele câmpuri:
nume
prenume
utilizator
parolă
confirmă parola
Apoi pentru finalizare trebuie apăsat buton creează.
Ca rezultat va apare următorul ecran.
Daca se apasă ieșire la creare utilizator va apărea următoarea notificare.
Tot la creare cont daca un user folosește același nume la utilizator aplicația va arata următorul mesaj de eroare.
De asemenea daca parola nu este introdusă de doua ori la fel următoarea eroare va apărea.
Daca nu se completează user-ul și parola pentru logare in sistem următoarea eroare apare.
După intrarea in aplicație apare interfața cu doua taburi, tabul principal denumit test ce conține chestionarul propriu zis.
Chestionarul se regăsește in acest tab, pentru a da testul trebuie ales un răspuns pentru întrebare a, b, c așa cum sunt definite in baza de date.
Daca nu se alege nici un răspuns va apărea eroarea de mai sus.
De asemenea în acest tab în partea dreaptă se poate alege categoria din care se pun întrebările, categoriile sunt:
B, B1, Tr
C, C1
D, D1, Tb, Tv
BE, CE, DE
Chestionarul se termină în trei posibilități:
s-a răspuns la mai mult de cinci întrebări incorect, atunci apare următoarea notificare.
s-a promovat examenul și atunci va apărea următoarea notificare.
Prin apăsarea CTR+D sau apăsarea butonului din meniu Ca urmare a folosirii a uneia din cele două opțiuni de mai sus va apare următoarea celulă de informație.
În cel de-al doilea tab al interfeței denumit istoric va apărea o evidența a notelor luate de către user ce conține pe lângă categorie și scorul luat.
Pentru a evita ieșirea accidentală din aplicație în momentul apăsării butonului X, va apare următorul mesaj de avertizare.
4.3 Software improvements
Ca îmbunătățiri care pot fi aduse sistemului pot enumera:
Introducerea de întrebări cu imagini
Opțiunea de a printa rezultatul testului, impreuna cu explicatia fiecarui raspuns corect aferent intrebarii din test
Interconectarea cu rețele de socializare – share la scor
Creare grafice pentru a arată liniar evoluția cursantului.
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: Construirea Unui Model Aplicatie Tip Chestionar Auto (ID: 149655)
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.
