Sunteți pe pagina 1din 18

Academia de Studii Economice București

Facultatea de Informatică Economică

Proiect Proiectarea Sistemelor Informatice

Florescu Roxana Elena


Grupa 1069
1. Prezentarea sistemului informatic
1.1 Descrierea generală a sistemului informatic
1.2 Specificarea cerințelor
1.2.1 Diagrame detaliate ale cazurilor de utilizare
1.2.2 Descrierea textuală a cazurilor de utilizare.
2. Analiza sistemului informatic
2.1 Diagrame de activitate
2.2 Diagrame de clase
2.3 Diagrame de interacţiune (3 diagrame)
2.4 Diagrame de stare (2 diagrame)
2.5 Rafinarea diagramelor UML??
2.6 Diagrame de procese şi colaborare în BPMN (1 diagrama procese, o diagrama
colaborare)
3. Proiectarea sistemului informatic
3.1 Diagrama de clase detaliată
3.2 Proiectarea bazei de date
3.3 Proiectarea interfeţelor utilizator
3.4 Diagrama de componente
3.5 Diagrama de desfăşurare
4. Implementarea sistemului informatic
4.1 Tehnologii utilizate în implementare
4.2 Prezentarea pe scurt a funcţionalităţii sistemului

1. Prezentarea sistemului informatic


1.1 Descrierea generală a sistemului informatic
Stilul de viață actual este unul dinamic. Se poate observa acest lucru și în stilul de viață al studențior
care caută tot mai des alternative la modalitățile tradiționale de învățare astfel încât să aibă parte de un
proces mai optim, care să permită mobilitate și dinamism. Din acest motiv se poate observa o creștere în
popularitate a aplicațiilor de mobile learning. Lucrarea de față își propune dezvoltarea unei aplicații de
mobile learning în care procesul de învățare să se desfășoare prin interemdiul întrebărilor.

Aplicația avută în vedere oferă posibilitatea utilizatorilor să acceseze cursuri familiare pentru ei,
prezente în curricula de la facultate, permite evaluarea cunoștințelor prin intermediul testelor predefinite
sau customizarea acestora în funcție de nevoile utilizatorului.

Aplicația va stoca într-o bază de date informațiile oferite în cadrul cursurilor online , dar și o serie de
teste predefinite. Va fi permisă introducerea de informatii noi în baza de date de către utilizator pentru
customizarea propriilor teste. Aplicația trebuie să permită modificarea testelor customizate. Toate aceste
activități vor fi accesibile prin intermediul contului de utilizator.

Un utilizator care dorește să acceseze aplicația va avea nevoie de un cont de utilizator pentru care va
trebui să specifice un nume și o parolă sistemului. O dată ce s-a autentificat acesta are posibilitatea să
aleagă cursuri deja existente fie prin cautarea manuală într-o lista cu toate cursurile, fie prin filtrarea
rezultatelor specificând numele cursului sau categoria din care face parte. Acesta poate alege să-și
evalueaze cunoștințele fie prin intermediul unui test predefinit din sistem, fie prin creare unui test
customizat în care utilizatorul își scrie singur întrebările cu variante de răspuns.

1.2 Specificarea cerințelor


Aplicația avută în vedere în lucrarea de față, denumită „Challenge IT” are obiectivul de a oferi
utilizatorului un instrument util pentru învățare și evaluare a cunoștințelor de IT prin intermediul testelor
interactive. Utilizatorul are posibilitatea de a-și vizualiza datele din contul de utilizator, de a accesa
cursurile din baza de date încărcate anterior în sistem și de a accesa teste predefinite din baza de date,
sau crearea unor noi teste care se vor salva in baza de date la care va avea acces imediat după ce se va
finaliza procesul de salvare.
Capitolul acesta are rolul de a detalia cerințele funcționale pe care trebuie să le îndeplinească software-
ul pentru a atinge obiectivele principale amintite în paragraful anterior și de a prezenta metodologia de
proiectare după care se va ghida realizarea sistemului informatic.

1.2.1 Diagrama generală a cazurilor de utilizare

1.2.2 Descrierea textuală a cazului de utilizare creare cont

Element al Descriere
cazului de utilizare
Cod CU01
Stare Schiță
Nume Creare Cont
Actor principal Vizitator
Descriere Presupune posibilitatea unui vizitator de a-și crea un cont care să-I permit
acestuia accesul la toate facilitătile aplicației
Precondiții Vizitatorul să aibă conexiune la internet pentru a se realiza conxiunea cu baza
de date, va introduce un nume de utilizator unic.
Postcondiții
Declanșator
Flux de bază 1. Vizitatorul dorește crearea unui cont de utilizator
2. Vizitatorul completează câmpurile din aplicație
3. Sistemul va verifica în baza de date dacă numele de utlizator este
unic.
4. Se afișează un mesaj de success sau un mesaj în care se cere un
nou nume de utilizator.
Fluxuri -
alternative
Relații -
Frecvența Rar- un vizitator își va face un cont de utilizator o singură dată, pentru a se
utilizării loga.
Reguli ale
afacerii

Descrierea textuală a cazului de utilizare Autentificare.

Element al Descriere
cazului de utilizare
Cod CU02
Stare Schiță
Nume Autentificare
Actor principal Utilizator
Descriere Presupune posibilitatea utilizatorului de a accesa funcționalitătile aplicației
prin intermediul contului de utilizator.
Precondiții Utilizatorul trebuie să aibă conexiune la internet pentru a se realiza conxiunea
cu baza de date, anterior acesta trebuie să-și fi creat un cont de utilizator.
Postcondiții Informații completate să se regăsească în baza de date
Declanșator
Flux de bază 1. Utilizatorul dorește să acceseze aplicația
2. Completează câmpurile pentru logare
3. Sistemul va verifica datele introduce în baza de date.
4. În cazul în care căutarea este reușită utilizatorul va ajunge în
pagina principală a aplicației, altfe va primi un mesaj de eroare
Fluxuri -
alternative
Relații -
Frecvența Des- de fiecare data când va dori să acceseze funcționalitățile aplicației.
utilizării
Reguli ale
afacerii

Următoarele cazuri de utilizare vor fi accesibile doar după ce utilizatorul s-a autentificat cu succes în
contul de utilizator. Pentru simplificarea diagramelor vom considera că utilizatorul s-a autentificat cu
succes.

Descrierea textuală a cazului vizualizafre informații cont


Element al Descriere
cazului de utilizare
Cod CU03
Stare Schiță
Nume Vizualizare informații cont
Actor principal Utilizator
Descriere Presupune posibilitatea utilizatorului de a-și vizualiza și modifica informațiile
personale, inclusiv parola.
Precondiții Utilizatorul trebuie să aibă conexiune la internet pentru a se realiza conxiunea
cu baza de date și trebuie să fie autentificat
Postcondiții
Declanșator
Flux de bază 1. Utilizatorul dorește să vizualizeze informațiile personale
2. Va accesa zona din aplicație care să-I ofere această posibilitate
3. Dacă dorește poate modifica datele personale și parola
Fluxuri -
alternative
Relații -
Frecvența Rar- în funcție de nevoile utilizatorului
utilizării
Reguli ale
afacerii

Descrierea textuală a cazului accesare cursuri

Element al Descriere
cazului de utilizare
Cod CU04
Stare Schiță
Nume Accesare cursuri
Actor principal Utilizator
Descriere Presupune posibilitatea utilizatorului de a accesa cursuril din baza de date
sortate dupa un anumit criteriu
Precondiții Utilizatorul trebuie să aibă conexiune la internet pentru a se realiza conxiunea
cu baza de date și trebuie să fie autentificat.
Postcondiții
Declanșator
Flux de bază 1. Utilizatorul dorește să vizualizeze cursurile
2. Va accesa zona din aplicație care să-I ofere această posibilitate
3. Dacă dorește poate alege să filtreze cursurile după un anumt
criteriu
4. Pentru a filtra rezultatele va trebui să specifice ori categoria ori
numele parțial al cursului
Fluxuri -
alternative
Relații -
Frecvența Des
utilizării
Reguli ale
afacerii
Descrierea textuală a cazului de utilizare evaluare

Element al Descriere
cazului de utilizare
Cod CU05
Stare Schiță
Nume Evaluare
Actor principal Utilizator
Descriere Presupune posibilitatea utilizatorului de a-și evalua cunoștințele prin
interemdiul testelor predefinite sau prin customizarea propriilor teste.
Precondiții Utilizatorul trebuie să aibă conexiune la internet pentru a se realiza conxiunea
cu baza de date și trebuie să fie logat în contul de utilizator
Postcondiții
Declanșator
Flux de bază 1. Utilizatorul dorește să-și evalueze cunoștințele
2. Acesta va accesa categoria de teste
3. Va alege un test predefinit sau va alege să-și customizeze un test
care se va salva în baza de date.
Fluxuri -
alternative
Relații -
Frecvența Des
utilizării
Reguli ale
afacerii

2.1 Diagramele de activități


Diagrama de activitate a cazului creare cont CU01.
Diagrama de activitate a cazului de utilizare accesare curs CU04

Diagrma cazului de utilizare Evaluare CU05


2.2 Diagrama de clase

2.3 Diagrame de interacțiune


2.3.1 Diagrama de interacțiune(secvență) cu un test
2.3.2 Diagrama de interacțiune(comunicare) cu un test

2.3.3 Diagrama de interacțiune (secvență) în cazul introducerii unui nou cont de utilizator
2.4 Diagrame de stare

2.4.1 Diagrama de stare a unui test


2.4.2 Diagrama de stare a unui cont de utilizator

2.5 Diagrame de procese şi colaborare în BPMN


2.5.1 Diagrama de procese
2.5.2 Diagrama de colaborare

3 Proiectarea sistemului informatic


3.1 Diagrama de clase detaliată

3.2 Proiectarea bazei de date


În această etapă, pornind de la rezultatele analizei cerințelor sistemului, se realizează modelarea
cerințelor privind datele folosind un model de nivel înalt. Proiectarea conceptuală presupune
construirea unui model al informaţiilor ce urmează a fi utilizate de către aplicaţie astfel încât acest
model să nu ţină cont de resursele de ordin fizic. Această etapă presupune mai multe faze cum ar fi:
identificarea entităţilor, identificarea relaţiilor, determinarea domeniilor atributelor, determinarea
atributelor cheie, desenarea de diagrame etc.
Pornind de la diagrama de clase detaliată putem să ne dam seama mai ușor care sunt tabelele
care intră în componența bazei de date șicare sunt câmpurile aacestora. Astefl, în baza de date a
aplicației vom avea tabelele: utilizatori, intrebări, răspunsuri, evaluări, teste, cursuri.

Tabela Utilizatori: gestionează datele conturilor de utilizatori. Aceasta este o tabelă independentă
întrucât nu conține restricții de tip cheie externă. Cheia tabelei este câmpul username. Acesta identifică
în mod unic un utilizator. Acest câmp împreună cu nume, prenume, parola și email sunt obligatorii.
Tabela Cursuri: gestionează cursurile găsite în aplicație. Cheia primară a tabelei este id-ul cursului.
Aceasta conține și o cheie către câmpul din tablea Teste, marcând relația dintre cele două tabele. Toate
câmpurile sunt obligatorii.
Tabela Teste: gestionează toate teste din aplicație, atât cele customizate cât și cele predefinite.
Cheia primară este id- test. Este o tabelă independentă deoarece nu conține referințe către alte tabele.
Tabela Întrebări: gestionează toate întrebările din aplicație. Fiecare întrebare aparține de un test.
Lucru marcat prin câmpul care face referință la tabela test.
Tabela răspunsuri: gestionează răspunsurile de la toate întrebările din aplicație. Fiecare răspuns
aparține de o întrebare, relație evidențiată prin referința către tabela întrebări.
Evaluări: Gestionează rezultatele la teste, și marchează care teste au fost trecute și care nu. În
tabela să face referință către utilizatorul care a dat testul , id-ul testului dat și punctajul obținut.
3.3 Proiectarea interfeţelor utilizator
3.4 Diagrama de componente
Componentele sunt module de cod de diferite tipuri. În funcţie de conţinutul lor acestea pot fi:
componente care conţin cod sursă, componente binare sau excutabile. Prezentarea componentelor are
rolul de a descrie componentele implementate de sistem şi dependenţele ce există între ele, precum şi
resursele alocate acestora şi eventual alte informaţii administrative, cum ar fi de exemplu un desfăşurător
al muncii de dezvoltare. Este folosit în special de dezvoltatorii sistemului, iar în componenţa sa intră
diagrame ale componentelor. Diagrama componentelor se referă la fişierele sistemului informatic în care
vor utiliza clasele aplicaţiei. Sistemul conceput are următoarele componente: biblioteci de sistem (.dll),
program sursă (.java), program executabil (.exe). Bibliotecile conţin funcţiile definite de programator la
care se restricţionează accesul pentru nu putea fi alterate de cei neautorizaţi. Acestea au extensia .dll
(dznamic link library) şi sunt utilizate pentru a le include în diferite programe sursă.

3.5 Diagrama de desfăşurare


4. Implementarea sistemului informatic

4.1 Tehnologii utilizate în implementare


Implementarea sistemului prezentat în lucrare se va face utilizând mediul de dezvoltare Android,
folosind o bază de date creată utilizând MySQL care va fi diponibilă pe un server creat folosind limbajul
PHP.
MySQL
MySQL este un sistem de gestiune a bazelor de date relaționale dezvoltat de compania suedeză
MySQL AB, folosit cu precădere împreună cu limbajul PHP, cu toate că poate fi folosit pentru a dezvolta
sisteme informatice în toate limbajele importante, precum C, C++, Java, C# sau Python. MySQL este un
produs informatic open-source, oferit gratuit în condițiile Licenței Generale Publice GNU. MySQL face
parte din stiva de soluții software open-source LAMP (Linux, Apache, MySQL, Perl/PHP/Python).
În comparație cu Oracle și SQL Server, două dintre cele mai populare sisteme de gestiune al
bazelor de date, MySQL are marele avantaj al accesibilității, deoarece este oferit gratuit dezvoltatorilor,
sub termenii Licenței GNU, dar și avantajul portabilității, spre deosebire de SQL Server care este compatibil
doar cu Windows sau de Oracle, care, deși poate fi folosit pe multe dintre sistemele de operare cunoscute,
nu poate fi utilizat în Symbian, BSD sau Amigo. Printre celelalte avantaje ale MySQL se numără interfața
grafică simplă și prietenoasă, dar și calitatea și metodele de suport oferite. Totuși, deși MySQL excelează
la capitolul viteză, Oracle sau SQL Server oferă o gamă mai largă de funcționalități.

Limbajul PHP
PHP (Php: Hypertext Preprocessor) este un limbaj de web-scripting open-source, orientat pe
partea de server, ce poate fi integrat în documentele HTML pentru realiza conexiunea dintre paginile web
și server, dar poate fi folosit și în crearea de aplicații independente. PHP poate fi folosit pentru a accesa
majoritatea sistemelor de gestiune a bazelor de date, cel mai frecvent fiind utilizat împreună cu MySQL,
dar oferind posibilitatea de a lucra și cu baze de date Oracle, SQL Server sau PostgreSQL [13].

Tipurile de date utilizate de acest limbaj de programare pot fi logice (Boolean), numerice întregi
(Integer) în baza 10, 2 sau 16, ce pot fi cu semn sau fără semn, numerice reale (Float), șiruri de caractere
(String), vectori (Array) sau obiecte.

Unul dintre avantajele PHP este acela că limbajul este unul multi-paradigmă, putând fi utilizat atât
în stil procedural, cât și în stil orientat pe obiecte sau într-o combinație a acestor stiluri. Un alt avantaj
foarte important este că limbajul este unul de tip open-source, ceea ce permite o detectare și o remediere
rapidă a erorilor, dat fiind faptul că orice dezvoltator poate contribui la îmbunătățirea funcționalităților
acestuia, ceea ce duce la o stabilitate ridicată a limbajului. De asemenea, ținând cont de faptul că PHP este
un limbaj multi-platformă, dezvoltatorii pot îl pot utiliza indiferent de sistemul de operare în care lucrează.
Alt avantaj pe care îl oferă limbajul PHP este relaționarea facilă cu bazele de date relaționale și cu serverele
web, printre care putem aminti Apache sau Microsoft IIS.

În același timp, însă, caracterul open-source al PHP poate deveni un mare dezavantaj, deoarece le
poate oferi posibilitatea persoanelor rău intenționate să afle vulnerabilitățile limbajului. Alt dezavantaj îl
constituie faptul că variabilelelor nu li se specifică un anumit tip de date la declarare, ceea ce poate duce
la erori în cadrul conversiei implicite.

În comparație cu alte limbaje de programare, avantajele PHP ar fi acelea că poate fi integrat mai
ușor decât Java în documentele HTML și conectarea la baza de date se face într-un mod mai facil, iar
dezavantajele sunt, în primul rând, viteza de execuție față de Java sau C, limitarea în ceea ce privește
seturile de caractere (Java are o colecție mai bogată de caractere) dar și faptul că în limbaje precum Java
sau C# există un management al memoriei mai bine dezvoltat.
Android
Android este o platformă software și un sistem de operare pentru dispozitive și telefoane mobile
bazată pe nucleul Linux, dezvoltată inițial de compania Google, iar mai târziu de consorțiul comercial Open
Handset Alliance. Android permite dezvoltatorilor să scrie cod gestionat în limbajul Java, controlând
dispozitivul prin intermediul bibliotecilor Java dezvoltate de Google. Aplicațiile scrise în C și în alte limbaje
pot fi compilate în cod mașină ARM și executate, dar acest model de dezvoltare nu este sprijinit oficial de
către Google.

Lansarea platformei Android la 5 noiembrie 2007 a fost anunțată prin fondarea Open Handset
Alliance, un consorțiu de 48 de companii de hardware, software și de telecomunicații, consacrat
dezvoltării de standarde deschise pentru dispozitive mobile. Google a lansat cea mai mare parte a codului
Android sub licența Apache, o licență de tip free-software și open source.

4.2 Prezentarea pe scurt a funcționalității sistemului.


La rularea aplicației se va deschide fereastra de home în care utilizatorul are opțiunile de
autentificare sau creare cont nou. O dată creat contul utilizatorul poate să se autentifice și să aibă acces
la meniul principal unde sunt disponibile alte 3 opțiuni: Accesare cursuri, Evaluare, Vizualizare Cont.
În fereastra de accesare cursuri utilizatorul are la
dispoziție 2 modalităti de a filtra cursurile disponibile: căutare
după nume, sau selectare cursuri conform categoriei din care
face parte cursul. O dată selectat cursul, acesta va fi afișat într-
o activitate nouă.

În fereastra de Evaluare, utilizatorul poate să acceseze


lista cu teste predefinite, să customizeze un test nou sau să
acceseze un test din cele customizate de el.

În fereastra de Vizualizare date cont , utilizatorul are


posibilitatea de a-și modifica datele sau parola.

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