Administratie | Alimentatie | Arta cultura | Asistenta sociala | Astronomie |
Biologie | Chimie | Comunicare | Constructii | Cosmetica |
Desen | Diverse | Drept | Economie | Engleza |
Filozofie | Fizica | Franceza | Geografie | Germana |
Informatica | Istorie | Latina | Management | Marketing |
Matematica | Mecanica | Medicina | Pedagogie | Psihologie |
Romana | Stiinte politice | Transporturi | Turism |
UML - Studiu de caz
Aplicatie securizata pentru gestiunea conturilor de utilizator
Etapele urmarite in modelarea sistemului
Specificarea cerintelor - descrierea cerintelor functionale si nefunctionale
Analiza
Modelarea cazurilor de utilizare - se realizeaza diagrama Use Case generala si descrierea cazurilor de utilizare
Analiza domeniului claselor
Static:
diagrama claselor: sunt schitate clasele din domeniul Business (al aplicatiei) fara atribute si operatii
pentru clasele care au un comportament dinamic se realizeaza diagrama de stare
Dinamic- se realizeaza (optional) pentru domeniul Business (al aplicatiei):
Diagrama de activitati
Diagrama de colaborare
Diagrama de secventa
Proiectarea
Construierea solutiei - Use Case detaliate
Proiectarea arhitecturala - se identifica principalele pachete ale aplicatiei, se grupeaza clasele in pachete si se realizeaza diagrama de pachete
Proiectarea detaliata
Static:
diagrama claselor: clasele din domeniul Business (al aplicatiei) cu specificarea atributelor si operatiilor
optional: diagrama claselor din domeniile User (interfata) si Data (accesul la BD)
pentru clasele care au un comportament dinamic se realizeaza diagrama de stare
Dinamic - se realizeaza integrand elementele din Business (aplicatie), User (interfata) si Data (accesul la BD):
Diagrama de colaborare
Diagrama de secventa
Proiectarea interfetei cu utilizatorul - se detaliaza diagrama claselor din User Services (interfata
Implementarea - diagrama componentelor
Desfasurarea - diagrama de desfasurare
Cerinte
Se doreste realizarea unei aplicatii destinata sa ruleze pe un PC - aplicatie de tip standalone - care sa gestioneze conturile de utilizator a mai multor persoane care au acces pe acel PC.
Accesul fiecarui utilizator la aplicatie se face pe baza unui nume de utilizator si unei parole. Este permisa adaugarea de noi utilizatori. Fiecare utilizator isi gestioneaza contul, nu exista un superuser (administrator) care sa aiba dreptul de a sterge alti utilizatori.
Un utilizatorul detine numeroase conturi asociate diferitelor siteuri web, numite aici inregistrari. Conturile sunt informatii personale, ele se stocheaza datorita numarului si diversitatii lor, pentru reducerea efortului de memorare si pentru reducerea riscului pierderii sau utilizarii de catre altor persoane in urma pierderii suportului pe care au fost stocate.
Un cont, numit in continuare inregistrare se descrie prin:
adresa siteului
numele de utilizator
parola de acces
descrierea siteului
Un utilizator isi poate modifica ulterior parola
Aplicatia permite unui utilizator:
- adaugarea de noi inregistrari
- stergerea de inregistrari
vizualizarea detaliilor unei inregistrari
Cerintele de securitate se refera la stocarea in forma criptata atat a parolelor utilizatorilor cat si a informatiilor referitoare la inregistrarile utilizatorilor.
Se utilizeaza StarUML pentru realizarea analizei si proiectarii.
Se alege File->New Project by Approach si se alege Default Approach.
In fereastra Model Explorer se afiseaza o structura de modelare organizata pe faze:
Pentru fiecare etapa se construiesc modelele corespunzatoare.
Analiza
Modelarea cazurilor de utilizare
se realizeaza intr-o maniera top-down
initial se indentifica doar cazurile de utilizare generale
detaliile pentru fiecare modelandu-se separat
In general:
Acces sistem: utilizatorul se autentifica sau se inregistreaza
Vizualizare conturi: utilizatorul parcurge lista de conturi
Actualizare conturi: utilizatorul adauga, sterge sau editeaza conturi
Se identifica persoana care acceseaza functionalitatea aplicatiei. Avem un singur actor, utilizatorul.
Diagrama cazurilor de utilizare
Caz de utilizare |
Autentificare |
Descriere |
Permite utilizatorului accesul in sistem |
Fluxul principal de evenimente: Utilizatorul se autentifica cu nume de utiliator si parola valide |
|
Preconditii |
Numele de utilizator si parola se regasesc in baza de date |
Cursul evenimentelor |
Utilizatorul furnizeaza numele de utilizator si parola. Sistemul verifica corectitudinea datelor. Utilizatorul este autentificat si este permis accesul. |
Postcondititii |
Utilizatorul este autentificat si se afiseaza pagina de vizualizare |
Curs alternativ de evenimente: Nume de utilizator sau parola gresite |
|
Preconditii |
|
Cursul evenimentelor |
Utilizatorul furnizeaza nume de utilizator si parola gresite Sistemul decopera date invalide . Sistemul anunta utilizatorul ca a comis o greseala. |
Postcondititii |
Se afiseaza mesaj de eroare |
Caz de utilizare |
Adaugare utilizator |
Descriere |
Permite utilizatorului adaugarea unui nou cont de utilizator |
Fluxul principal de evenimente: Utilizatorul se inregistreaza cu nume de utilizator si parola valide |
|
Preconditii |
Numele de utilizator si parola nu se regasesc in baza de date |
Cursul evenimentelor |
Utilizatorul furnizeaza numele de utilizator si parola. Sistemul inregistreaza noul utilizator. Utilizatorul este autentificat si este permis accesul. |
Postcondititii |
Utilizatorul este autentificat si se afiseaza pagina de vizualizare |
Curs alternativ de evenimente: Utilizatorul renunta la a-si face cont |
|
Preconditii |
|
Cursul evenimentelor |
1. Utilizatorul furnizeaza nume de utilizator si parola gresite 2. Utilizatorul renunta . 3. Sistemul afiseaza fereastra de LogIn. |
Postcondititii |
|
Caz de utilizare |
Actualizare inregistrari |
Descriere |
Permite utilizatorului adaugarea, modificarea si stergerea de inregistrari |
Fluxul principal de evenimente: Utilizatorul actualizeaza cu succes inregistrari |
|
Preconditii |
Utilizatorul este autentificat |
Cursul evenimentelor |
Utilizatorul alege o optiune de actualizare. Sistemul afiseaza fereastra corespunzatoare. Utilizatorul specifica informatiile de actualizat. |
Postcondititii |
Se actualizeaza lista de inregistrari |
Curs alternativ de evenimente: Utilizatorul adauga o inregistrare |
|
Preconditii |
Utilizatorul este autentificat |
Cursul evenimentelor |
1. Utilizatorul furnizeaza nume de utilizator, parola, url si descriere 2. Sistemul adauga noua inregistrare. 3. Sistemul afiseaza lista de inregistrari. |
Postcondititii |
Inregistrarea apare in lista |
Caz de utilizare |
Vizualizare inregistrari |
Descriere |
Permite utilizatorului vizualizarea detaliilor unei inregistrari |
Fluxul principal de evenimente: Utilizatorul vizualizeaza o inregistrare |
|
Preconditii |
Utilizatorul este autentificat |
Cursul evenimentelor |
Sistemul afiseaza lista de inregistrari. Utilizatorul alege o inregistrare. Sistemul afiseaza detaliile inregistrarii. |
Postcondititii |
|
Clasele din domeniul Business
acele clase care modeleaza domeniul de prelucrare
pe langa acestea exista clase referitoare la accesul la date si interfata cu utilizatorul: acestea tin de un model de proiectare
Modelarea dinamica
Se construiesc Diagrame de Secventa pentru cazurile de utilizare identificate.
Pentru cazul de utilizare Autentificare
Pentru cazul de utilizare Adaugare Inregistrare
Diagrama de stare pentru clasa Utilizator
Proiectarea
Diagrama de activitate pentru cazul de utilizare Autentificare
Diagrama de activitate pentru cazul de utilizare Adaugare Inregistrare
In ansamblu
Avem clase pentru domeniul studiat: Utilizator, Inregistrare
Clase de acces la date: UtilizatorManager, InregistrareManager
Clase pentru securitate: Criptografie
UtilizatorManager, InregistrareManager, Criptografie - clase utilitare
Clase de interfata
In detaliu
Diagrama de clase detaliata cu atribute si operatii
Proiectarea interfetelor
Formularul de autentificare
Formularul de vizualizare date
Formularul de introducere utilizator nou
Formularul de introducere inregistrare noua
Proiectarea accesului la date
Se utilizeaza un fisier mdb Microsoft Access pentru stocarea informatiilor despre utilizatori si a inregistrarilor acestora.
Se construieste tabela Utilizatori cu structura
Se construieste tabela Inregistrari, cu structura
Proiectarea aspectelor de securitate
In baza de date informatiile fiecarui utilizator se pastreaza in forma criptata. Parola de acces in aplicatie se retine ca hash(parola introdusa). Aceasta impiedica identificarea parolei unui utilizator chiar daca se acceseaza baza de date.
Pentru cazul de fata, informatia confidentiala criptata este parola dintr-o inregistrare a unui utilizator restul campurilor fiind pastrate ca atare pentru comparatie. Criptarea se face cu ajutorul unui algoritm cu cheie secreta generata pe baza parolei de utilizator. La salvarea unei inregistrari, campul parola se cripteaza. Pentru a fi lizibil pentru un utilizator autentificat, la afisare, campul se decripteaza tot pe baza parolei de utilizator. Mecanismul este transparent pentru utilizator, dar asigura confidentialitatea datelor.
Generarea de cod din StarUML
Se urmareste generarea de cod in limbajul c#. Se stabileste profilul c# din meniul Model->Profiles
De la meniul Tools->C# se alege optiunea Generate Code. Se selecteaza modelul de translatat in cod (in acest caz, diagrama de clase detaliata se regaseste in modelul de proiectare). Se bifeaza clasele ce se doresc a fi translatate in cod. Se alege apoi directorul in care sa se faca exportul fisierelor rezultate.
Fisierele .cs obtinute pe baza diagramei de clase se includ intr-un proiect C# de tip Windows Application realizat cu ajutorul Visual Studio.
Implementarea
Scheletul de cod se populeaza cu implementari pentru metodele definite. Se obtine un prototip de aplicatie functionala.
Diagrama de componente arata dependenta intre elementele aplicatiei.
Acest document nu se poate descarca
E posibil sa te intereseze alte documente despre:
|
Copyright © 2024 - Toate drepturile rezervate QReferat.com | Folositi documentele afisate ca sursa de inspiratie. Va recomandam sa nu copiati textul, ci sa compuneti propriul document pe baza informatiilor de pe site. { Home } { Contact } { Termeni si conditii } |
Documente similare:
|
ComentariiCaracterizari
|
Cauta document |