Sunteți pe pagina 1din 12

Ministerul Educației al Republicii Moldova

Universitatea Tehnică a Moldovei

Departamentul ISA

RAPORT
Lucrarea de laborator
Poiectare Sisteme Informaționale
Tema: Sistem informațional de inițiere în c++.

A efectuat: st. gr. TI-173


Rosca Florin

A verificat: lect. univ. ,


Lisnic Inga

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.

Interfața aplicațiilor pe platforma Windows sunt relizate pe tehnologia windows form ce


ofera un standart de creare a GUI (interfețe grafice pentru utilizator) care ușurează crearea
sistemului prin generare de cod a elementelor grafice și prin oferirea unei biblioteci optimizate.
Iar limbajul Java are o tehnologie asemănătoare de creare a GUI sub denumirea de Jframe
(Swing) cu bibliotecile sale și elemente grafice maxim apropiat de cele oferite de
Windows Form, figura 1.1.  

Fig1.1 Exemplu de GUI realizat prin Jframe

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

Fig. 1.2 Procesul atractiv de studiere.[1]

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.

În finele acestui compartiment voi spune că inportanța temei “ Sistem informațional de


inițiere în c++” are ca esență nu numa automatizare procesului de studii dar și modernizarea
acestuia ca un utilizator sa poată obține acele cunoștințe de care are nevoie intrun mod mai specific
de cel oferit de instituțiile de învățămînt.

[2] https://ro.wikipedia.org/wiki/Automatizare
1.3 Studiul sistemelor deja existente și compararea sistemelor.

Există o mulțime de aplicații de predare a diferitor limbaje de programare dar eu


voi menționa doar 3 cele mai populare de utilizatori si anume Scratch , Programming
hub și SoloLearn fig.1.3.

Fig.1.3 Sistemele Scratch , Programming hub și SoloLearn

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:

- Predare informației într-un mod de joacă.


- O mulțime de obiecte gata făcute.
- Tot comportamentul obiectului este setat folosind comenzi (scripturi).
- Programul este gratuit, în limba rusă.
- Sunt demult pe piață deci au un content mult mai mare și mai echilibrat.

Dezavantaje:

- Sugestii chiar sunt doar în limba engleză.


- Sunt aplicații mobile, Programming hub și SoloLearn.
- Este orientată doar pentru uilizatori pînă la 8 ani, Scratch.

1.4Scopurile și obiectivele sistemului informațional.


Scopul acestui sistem este de a oferi tutoriale, programe c++ cu comentarii și teste care va
permite utilizatorilor să însușească în mod atractiv acest limbaj. Prin intermediul funcționalului
adăugat in aplicație se va realiza o mulțime de obiective care vor face aplicația efectivă în realizarea
scopului propus mai sus.

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.

- Crearea aplicației desktop.Sa ales această platforma deoarece majoritatea utilizatorilor o


socot ca cea mai confortabila pentru lucru și studii , dar și majoritatea din posibilii
utilizatori dispun macar de un lăptop.

- 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.

- Dezvoltarea subsistemelor de testare a cunoștințelor obținute și clasificarea temelor.


Aceste teste vor fi elaborate pe tipul nivelelor, adica cu fiecare test creste si
complexitatea lor dar si punctajul necesar pentru a debloca nevelele următoare.

- 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.

Fig.1.4 Analiza unui sistem informațional.

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]

2.1 Despre cazurile de utilizare .

Entitățile folosite de diagramele Use Cases


 Un actor (actor, actor) este orice entitate care interacționează cu sistemul din exterior. Poate
fi o persoană, un dispozitiv tehnic, un program sau orice alt sistem care poate servi drept
sursă de influență asupra sistemului simulat, figura 1. Un caz de utilizare este un element
folosit pentru a descrie capacitățile pe care sistemul le oferă unui actor. Cu alte cuvinte,
fiecare caz de utilizare definește un anumit set de acțiuni efectuate de sistem în timpul unui
dialog cu un actor, figura 2.1.

Fig.2.1 Diagrama use case actor –Acțiune

 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.

Fig.2.2 Diagrama use case Interfață – Acțiune

Relațiile privind diagrama cazurilor de utilizare:

 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

Implementarea ac? Administrarea bazei Creare


crearea IMenu de date
iunulor «extend» «extend» implementare

«include»

«extend»
Formarea tabelului Creare tip
Creare Id cu context «include»
Logarea «include»

Alege testul pentru Implementarea


Niv elu 1 designului

«extend»

Afisarea bazei de Adaugarea structurii


Alege unul din teste date «extend»
Formarea Interfetei
pentru Teme
«i nclude»
Utilizator

«extend»

Alege Niv elu 1 Alege Niv elu de


«extend» cunostinte Adaugarea
Alege Tema Formarea tabelului Adaugarea Id
statisticii
«extend» Utilizatorului «extend»

«extend»
«extend»
«extend»

Alege Niv elu 3 Alege testul pentru Adaugarea parolei


Alege testul pentru Alege Niv elu 2 «include» Niv elu 3
Niv elu 2 «include»

Fig.2.3 Diagrama cazurilor de utilizare pentru crearea aplicaței.


2.3 Diagrama de secvență.

2.4 Realizare diagramei de secvență.


sd Use Case Model

Test Specificatorul de Baza de date


corectitudine
Utilizator

1.Acceseaza Testul()

2.Verifica starea()
3.Preia informatia()

4.Transmite informatia()

5.Afiseaza Testul()

6.Transmite testul rezolvat()

7.Transmite testul spre verificare()

8.Cere rezultatele corecte()

9.Transmite datele()

10.Trimite datele verificate()

11.Afiseaza testul()

12.Acceseaza dsalvarea rezultatelor()

13.Salveaza datele()

14.Confirma salvsarea datelor()

Fig.6 Diagrama de secvențe a procesului de logare


Fig.7 Diagrama de secvențe a procesului de testare
Fig.8 Diagrama de secvențe a procesului de actualizare
2.5 Diagrama de colaborare.
2.6 Realizarea diagramei de colaborare.

2.7 Diagrama de clase.


2.8 Realizarea diagramei de clase.
class Actors

«interface» Tema
IMenu
Curs - IdTema: int StatutCurs
- StatusCurc: char
+ getTema(int): int - Title: char - Status: char

+ getStat(): char
+ getTema(double): int
+ setTema(): int

Meniu

- TipMenu: char Profil


BD DB_Rezerv a
+ getElementMenu(char): char - IdProfil: int
+ getRequest()
+ generateProfile(int): int + getRequest()
+ getTable() + setRequest()
+ setRequest()

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

2.9 Codul generat de diagram.

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