Departamentul ISA
RAPORT
Lucrarea de laborator
Poiectare Sisteme Informaționale
Tema: Sistem informațional de inițiere în c++.
Chisinău 2020
1. Descrierea domeniului;
Domeniul studiat in acest proiect este utilizarea tehnologii informaționale în sfera educației
cu scopul de a ușura procesul de studii. Pentru a atinge acest scop au fost folosite mai multe
tehnologii de proiectare a unui sistem de acest tip care va putea realiza toate condițiile cerute de
utilizatori. Deoarece majoritatea utilizatorilor de soft folosesc platforma Windows pentru lucrul
de zi cu zi a fost luată decizia de a crea o aplicatie care va putea fi rulată pe majoritatea
platformelor windows .
Cel mai mare procentaj de aplicații distribuite sunt scrise în limbajul Java, iar noile evoluții
tehnologice permit utilizarea sa și pe dispozitive mobile, spre exemplu telefon, agenda
electronică, lăptop etc. Deci acest limbaj este ideal pentru realizarea scopului propus de acest
proect. Cu toate că java nu este limbajul de sistem Windows, orientarea aplicației va fi pentru
această ploatforma iar pe parcurs aceasta va permite de a o adapta pe alte platforme. Windows
este acea platforma ce se dezvoltă continuu dar și oferă o interfață confortabilă pentru toate
tipurile de utilizatori: începători, medii și avansați.
JFrame face parte din setul de instrumente Swing, biblioteca Swing face implementarea
MVC mai confortabilă prin realizarea a modelelor de proiectare, care decuplează conceptual
datele fiind privite de utilizator ca controale de interfață prin care este vizualizat acel GUI. Din
această cauză, majoritatea componentelor Swing au modele asociate (care sunt specificate în
termeni de interfețe Java), iar programatorii pot folosi diverse implementări implicite sau pot
oferi propriile.[1]
[ 1] https://en.wikipedia.org/wiki/Swing_(Java)
1.2 Importanța temei
Automatizarea este o ramură a tehnicii, al cărei scop este ca mașinile și instalațiile să lucreze automat,
deci independente de o continuă sau directă intervenție a factorului umane.[2] Această definiție a
automatizări este redată cea mai importantă cauză de creare a unui sistem informațional, și anume
simplificarea procesului de însușire a studiilor, unde aplicația va lua asupra sa toate procesele ce pot fi
automatizate, astfel reducind efortul depus pentru studii și va crea un mod atractiv de studiu a limbajului ca
în figura 1.2
Primul domeniu care va fi automatizat este căutarea informației necesare pentru studii. Care va fi
oferită de sistem întrun criteriu sub denumirea de „Studii”. Iar acestă informatie nu numa va fi suficientă
pentru a trece testele din acest sistem dar și de a însuși bazele limbajului c++. Iar în caz că utilizatorului
acestă informație nu va fi deajuns vor fi oferite surse cu informație mai extinsă.
Iar continuând cele expuse mai sus trecem la al doilea domeniu sub denumirea de „Testare” unde
se vor oferi modalitați de testare a cunoștințelor primite la fiecare etapa de studiu. Iar ca acest proces să
devina mai atractiv pentru fiecare test vor fi oferite puncte care vor fi necerare pentru a debloca testul final
unde si trecerea lui va însemna finalizarea cursului.
[2] https://ro.wikipedia.org/wiki/Automatizare
1.3 Studiul sistemelor deja existente și compararea sistemelor.
Scratch este un program excelent pentru a ajuta copiii să învețe elementele de bază ale
programării și matematicii de la vârsta de 8 ani. Esența sa este de a transmite elementele de bază ale
științelor de mai sus copiilor într-un mod ludic și distractiv.
Programming hub este o aplicație care învață să programezi, ea are la dispoziție: cursuri, teste,
exemple și compilator. Aplicația conține și toate limbajele de programare populare: Java, C, C ++,
HTML, JS, Python.
SoloLearn : sloganul lor: „Conținut proaspăt în fiecare zi” este pe deplin justificat. În aplicație,
este posibilă familiarizarea cu limbaje de programare populare , algoritmii populari și învățarea
automată.
Avantaje:
Dezavantaje:
Obiectivele:
- Analiza domeniului de studii. Care va permite aplicației sa corespundă standartelor
actuale de elaborare a unui sistem, dar și ca el sa îndeplinească majoritate cerințelor
viitorilor utilizatori.
- Elaborare unui curs în limba română. Din studiul analizat sa ajuns la faptul ca pe piața
este un neajuns de astfel de sistem în limba română.
- Indentificarea metodelor cele mai bune de predare. Aceste metode sunt atât clasice ca
context ce este nevoit de al citi , cât și context oferit pe metoda jocurilor.
- Indentificarea sistemelor asemănătoare.Aceste sisteme fiind unele din cele mai populare,
studierea lor na va oferi o modalitate de a selecta contentul necesar aplicației, dar si ne va
oferi unele idei de creare a unui design confortabil utilizatorilor.
- Evaluarea și gestionarea riscurilor.Este unul din cele mai importante obiectrive deoarece
el ne va oferi informații despre ce nu le este pe plac utilizatorilor dar și informație despre
ce nu le ajunge sau chiar le este necesar fig.1.4.
2 Modelarea sistemului.
Unified Modeling Language (prescurtat UML) este un limbaj standard pentru descrierea
de modele și specificații pentru software. Limbajul UML a fost la bază dezvoltat pentru
reprezentarea complexității programelor orientate pe obiect, al căror fundament este structurarea
programelor pe clase, și instanțele acestora (numite și obiecte). [1]
Interfața este utilizată pentru a specifica parametrii modelului care sunt vizibili din exterior
fără a specifica structura lor internă. Interfața nu numai că separă specificațiile operațiilor
sistemului de la implementarea lor, ci definește și limitele generale ale sistemului proiectat,
figura 2.2.
Asociația (asociere) servește pentru a indica rolul specific al actorului într-un caz de utilizare
separată. Cu alte cuvinte, această relație stabilește rolul specific pe care îl joacă un actor
atunci când interacționează cu o instanță a unui caz de utilizare;
Extinderea relației definește relația instanțelor unui caz de o singură utilizare cu o versiune
mai generală, ale cărei proprietăți sunt determinate pe baza metodei de asociere comună a
acestor instanțe;
Generalizarea (relația de generalizare) indică faptul că un caz de utilizare A poate fi
generalizat pentru a folosi cazul B. În acest caz, opțiunea A va fi o specializare a opțiunii B.
În acest caz, B este numit strămoș sau părinte A, iar opțiunea A este descendent în ceea ce
privește cazul de utilizare B;
2.2 Elaborarea diagramei cazurilor de utilizare pentru crearea aplicaței.
uc Use Case Model
«include»
«extend»
Formarea tabelului Creare tip
Creare Id cu context «include»
Logarea «include»
«extend»
«extend»
«extend»
«extend»
«extend»
1.Acceseaza Testul()
2.Verifica starea()
3.Preia informatia()
4.Transmite informatia()
5.Afiseaza Testul()
9.Transmite datele()
11.Afiseaza testul()
13.Salveaza datele()
«interface» Tema
IMenu
Curs - IdTema: int StatutCurs
- StatusCurc: char
+ getTema(int): int - Title: char - Status: char
+ getStat(): char
+ getTema(double): int
+ setTema(): int
Meniu
Logare Test
# Name: char Tabel_Utilizator
+ getTest(): char Tabel_Context
# Password: char
- IdTable: int
+ Acces(char, char): boolean - IdTable: int
+ getTable()
+ getTable()
+ settable()
+ setTable()
Utilizator
- ID: int
- Name: char
- Password: char Specificator de
acces Teste_Curs Teste_Niv el TestFinal
- Points: int
+ IdUtilizator: i nt + getTest(int): int + getTest(int): int + getTest(int): int
+ get(): boolean
+ set() + getId(): boolean