Documente Academic
Documente Profesional
Documente Cultură
Introducere ............................................................................................................................................ 3
1.
2.
1.2.
1.3.
1.4.
ASP.NET .............................................................................................................................. 13
1.5.
1.6.
1.7.
1.8.
2.2.
2.3.
2.4.
2.5.
2.6.
Diagrama de secven(DDS)................................................................................................. 23
2.7.
2.8.
2.9.
2.10.
2.11.
2.12.
Concluzii ............................................................................................................................................... 35
Bibliografie ........................................................................................................................................... 36
Introducere
Aceast lucrare, ce reprezint practic de licen are ca scop descrierea amnunit a
lucrrii de diplom i a domeniul de studiu. Descrierea ncepe cu analiza domeniului i a
platformelor i limbajelor ce vor fi utilizate cu tot cu avantaje i explicarea cauzei utilizrii lor.
Internetul este o vast reea de calculatoare, care conecteaz ntre ele milioane de reele
mai mici din ntreaga lume. La reeaua Internet pot fi conectate toate tipurile de calculatoare.
Toate calculatoarele conectate la Internet fac schimb de informaii. Aceast reea uria de
calculatoare nu este controlat de nici un guvern sau organizaie, nu are un administrator unic.
Totui, anumite reele conectate la Internet sunt controlate de anumite companii. n fiecare lun
reeaua Internet se extinde cu milioane de utilizatori. Viitorul Internetului este deosebit de
promitor. Programele utilizate devin din ce n ce mai prietenoase i mai uor de folosit.
n aceast lucrare voi analiza detaliat realizarea unui sistem informaional
Monitorizare disciplinei de munca al angajailor. Sistemul de monitorizare a angajailor este
creat pentru a monitoriza i raporta datele privind efectuarea distribuiilor de pliante. Pe
parcursul lucrrii voi explica i voi aduce dovezi de necesitate a unui astfel de sistem pe piaa
noastr. Voi trece n revist modelul arhitectural dup care urmeaz a fi implementat sistemul,
clasele i interfeele. Pe parcursul lucrrii voi pune accent pe importana temei alese i a
domeniului. Voi analiza sistemele deja existenta, pe acelea de pe piaa noastr i acelea strine.
Pentru a realiza un astfel de sistem este nevoie de cunostine n domeniul dezvoltrilor
aplicaiilor WEB , a sistemelor distribuite precum i cunoaterea proiectrii bazelor de date.
Modul de interaciune al utilizatorilor cu sistemul conteaz foarte mult, acesta trebuie s fie
uor i s nu necesite cunotine avansate. Pentru utilizarea sistemului, compania va avea
nevoie de un calculator care va reprezenta serverul, dispozitive mobile Android pentru
distribuitori, iar clienii acestora vor avea nevoie doar de un calculator cu un browser Web.
i posibilitile sistemelor
Partea de administrare
Interfaa client.
nregistrarea clienilor(companiilor)
nregistrarea distribuitorilor
Start/Stop distribuire
Captare imagini
distribuiilor curente
istoricului
- Alocarea jobului echipei cele mai apropiate i preluarea statului de la locul lucrrilor cu
geolocaie, text sau mesagerie vocal;
- Calcularea orelor petrecute la serviciu i aggregarea orelor pltite;
- Estimarea timpului necesar pentru lucrri;
- Creterea productivitii cu circa 20% datorit inteligenei de monitorizare a locaiei i
statului jobului.
Este un sistem foarte complex cu multe faciliti, dar nu este gratuit. Ofer companiilor mari
gruparea lucrtorilor n echipe i stabilirea orelor lucrate.
10
11
i datele sunt incapsulate se creaz un obiect. n cadrul unui obiect, codul i datele pot fi publice
sau private. Codul i datele private sunt accesibile doar n cadrul aceluiai obiect, n timp ce
codul i datele publice pot fi utilizate i din pri ale programului care exist n afara acelui
obiect.
Unitatea fundamental de incapsulare este clasa. Clasa specific datele i codul care
opereaz asupra datelor. O clas definete forma unui obiect. Sau altfel spus, o clas reprezint
o matrice, iar un obiect reprezint o instan a clasei.
Polimorfismul
Polimorfismul este calitatea care permite unei interfee s aib acces la un grup generic
de aciuni. Termenul este derivat dintr-un cuvnt grecesc avand semnificaia cu mai multe
forme. Spre exemplu, s presupunem c avem o nevoie de o routin care sa returneze aria unei
forme geometrice, care poate fi un triunghi, cerc sau trapez. ntruct ariile celor trei forme se
calculeaz diferit, routina trebuie s fie adaptat la datele pe care le primete nct s disting
despre ce fel de form este vorba i s returneze rezultatul corect.
Conceptul de polimorfism este exprimat prin sintagma o singura interfaa mai mlte
metode.
Motenirea
Motenirea este procesul prin care un obiect poate dobndi caracteristicile altui obiect.
Analogia cu conceptul de animal este elocvent. Spre exemplu, s considerm o reptil.
Aceasta are toate caracteristicile unui animal, ns n plus are i o alt caracteristic, i anume:
sngele rece. S considerm un arpe. Acesta este o reptil lunga i subire care nu are picioare.
arpele are toate caracteristicile unei reptile, nsa posed i propriile sale caracteristici. Aadar,
un arpe motenete caracteristicile unei reptile. O reptil motenete caracteristicile unui
animal. Aadar, mecanismul motenirii este cel care face posibil ca un obiect s fie o instan
a unui caz mai general.
Reutilizarea
Atunci cnd este creat o clas, aceasta poate fi utilizat pentru a crea o mulime de
obiecte. Prin utilizarea motenirii i incapsulrii clasa amintit poate fi reutilizat. Nu mai este
nevoie s testm codul respectiv ci doar s l utlizm corect.
Exist dou moduri de a edita, compila i rula un program n C#. n primul rnd se
poate utiliza compilatorul linie de comand csc.exe. A doua posibilitate este de a utiliza
mediul Visual Studio .NET. n primul caz trebuie parcuri urmtorii pai: introducei textul
12
programului cu ajutorul unui editor de texte i salvai fiierul utiliznd extensia cs, spre
exemplu Example1.cs; apoi compilai programul preciznd numele fiierului n linia de
comand (C:\>csc Example1.cs); n final rulai programul n linia de comanda
(C:\>Example). n cel de-al doilea caz creai un nou proiect C# selectnd: File|New|Project,
apoi Visual C# Projects|Empty Project. Dup ce ai creat proiectul, executai click dreapta pe
fereastra Solution. Utiliznd meniul aprut selectai Add apoi Add New Item | Local Project
Items| C# Code File. Introducei textul, salvai proiectul, compilai proiectul selectnd Build
i n fine rulai programul selectnd Start Without Debugging din meniul Debug.
1.4. ASP.NET
ASP.NET este o tehnologie Microsoft pentru crearea de aplicaii web i servicii web.
ASP.NET este succesorul lui ASP (Active Server Pages) i beneficiaz de puterea platformei
de dezvoltare .NET, i de setul de instrumente oferite de mediul de dezvoltarea al aplicaiei
Visual Studio .NET.
Cateva dintre avantajele ASP .NET sunt:
1. ASP .NET are un set larg de componente, bazate pe XML, oferind astfel un model de
programare orientat obiect (OOP);
2. ASP .NET ruleaza cod compilat, ceea ce crete performanele aplictiei web, codul sursa
poate fi separat n dou fiiere, unul pentru codul executabil, iar un altul pentru continutul
paginii (codul HTML i textul din pagin);
3. NET este compatibil cu peste 20 de limbaje diferite, cele mai utilizate fiind C# si Visual
Basic.
1.5. Modelul arhitectural Model-View-Controller
Model-view-controller (MVC) este un model arhitectural utilizat n ingineria software.
Succesul modelului se datoreaz izolrii logicii de business fa de considerentele interfeei cu
utilizatorul, rezultnd o aplicaie unde aspectul vizual sau/i nivelele inferioare ale regulilor de
business sunt mai uor de modificat, fr a afecta alte nivele.
Model
Aceast parte a controlatorului manipuleaz operaiunile logice i de utilizare de informaie
(trimis dinainte de ctre rangul su superior) pentru a rezulta de o form uor de neles.
Viziune
13
Acestui membru al familiei i corespunde reprezentarea grafic, sau mai bine zis, exprimarea
ultimei forme a datelor: interfaa grafic ce interacioneaz cu utilizatorul final, rolul su este
de a evidenia informaia obinut pn ce ea ajunge la controlator.
Controlator
Cu acest element putem controla accesul la aplicaia noastr. Pot fi fiiere, scripts sau
programe, in general orice tip de informaie permis de interfa. n acest fel putem diversifica
coninutul nostru de o form dinamic i static, n acelai timp.
1) Controlator - acesta trebuie s fie capabil de a manipula rute, fiiere, clase, metode i
funcii;
2) Model - este asemntor unui script obinuit ntr-un server, doar c regrupat sub un
model reutilizabil;
3) Viziune - asemntor includerii unui fiier n aplicaia noastr;
b) un sistem:
1) Router - cu el putem mpri cerinele noastre fr multe condiionale;
2) Incrctor (Loader).
1.6. Baza de Date MongoDB
MongoDB este o baz de date NoSQL open-source orientat pe documente. Acest baz
de date beneficiaz de suport din partea companiei 10gen. MongoDB face parte din familia de
sistemelor de baze de date NoSQL. Diferena principal const n faptul c stocarea datelor nu
se face folosind tabele precum ntr-o baz de date relaional, MongoDB stocheaz datele sub
form de documente JSON cu scheme dinamice.
MongoDB este o baz de date open-source NoSQL scris n C++. Aceasta poate conine
mai multe baze de date, colecii i indeci. n unele cazuri (baze de date i colecii ) aceste
obiecte pot fi create implicit. Odat create, ele se gsesc n catalogul sistemului
db.systems.collection, db.system.indexes. Coleciile conin documente (BSON). Aceste
documente conin la rndul lor mai multe cmpuri. n MongoDB nu exist cmpuri predefinite
spre deosebire de bazele de date relaionale, unde exist coloanele care sunt definite n
momentul n care tabelele sunt create. Nu exist schem pentru cmpurile dintr-un document,
acestea precum i tipurile lor pot varia. Astfel nu exist operaia de alter table pentru adugare
de coloane. n practic este obinuit ca o colecie s aib o structur omogen, dei nu este o
cerin, coleciile putnd avea structuri diferite. Aceast flexibilitate presupune uurin n
migrarea i modificarea imaginii de ansamblu asupra datelor.
1.7. Team Foundation Server
Visual Studio Team Foundation Server (TFS) este produsul Microsoft pentru controlul
codului surs, de raportare i de urmrire a proiectului. Repository-ul de control al sursei este
numit Team Foundation Version Control (TFVC).
15
Cu acest produs se pot crea o mare varietate de rapoarte. De exemplu, rata de modificare a
codului surs n timp, sau o list de bug-uri care nu au scenarii de test.
Pe baza unui proiect, TFS creeaz de asemenea un site SharePoint pentru proiect, astfel
integrnd sarcini de control ale codului surs si administrare de proiect.
1.8. Visual Studio
Visual Studio include un set complet de instrumente de dezvoltare pentru generarea de
aplicaii ASP.NET, Servicii Web XML, aplicaii desktop i aplicaii mobile. Visual Basic,
Visual C++, Visual C# i Visual J# toate folosesc acelai mediu de dezvoltare integrat (IDE)
care le permite partajarea instrumentelor i faciliteaz crearea de soluii folosind mai multe
limbaje de programare. Aceste limbaje permit s beneficieze de caracteristicile .NET
Framework care ofer acces la tehnologii cheie care simplifica dezvoltarea de aplicaii web
ASP i XML Web Services cu Visual Web Developer.
16
Cerinele funcionale ale unui Sistem Informaional sunt servicii pe care sistemul trebuie s
le ofere. Ele precizeaz cum trebuie SI s reacioneze la anumite intrri i cum trebuie s se
comporte n anumite situaii particulare. De asemenea, din cerinele funcionale ale sistemului
nostru vor face parte att business cerinele, ct i cerine ale utilizatorului.
n contiuare vom specifica cerinele funcionale care au stat la baza elaborrii
proiectului:
a) vizualizarea distribuiilor curente;
b) generare alerte:
1) nceput distribuie;
2) Sfrit distribuie;
3) Fotografie nou ncrcat;
4) Distribuitorul a prsit zona de distribuie;
17
Interfaa utilizator trebuie s reprezint o aplicaie web de tip One page application
implementat n HTML utiliznd biblioteca AngularJS;
Posiblitate transmitere poze de ctre utilizaotri cu ajutorul reelei Wi-fi sau GSM;
18
19
Adauga distribuitor
Adauga dispozitiv
mobil
Adauga client
Administrator
Adauga plan de
distributie
Generare rapoarte
20
uc Client
Vizualizare distributie
trecuta
Vizualizare distributie
curenta
Vizualizare rapoarte
Client
Vizualizare simulare
distributie
Vizualizare istoric
uc Distributor
Incepe distributie
Transmite poza
Distributor
Termina distributia
21
uc Raport
extend
extend
Generare raport
extend
Generare raport
distribuitor
22
sd Autentificare
:LoginUI
:AutheticationController
userRepository:UserRepository
:User
:AuthenticationService
:DB
1.InputCredentials()
2.SubmitCredentials()
userVm:UserCredentialsVm
3.Create()
4. ValidateUserCredentials() :bool
5.GetUserCredentialsByName() :UserCredentials
6.userCredentials
:HashHelper
7.GetPasswordHash()
:string
8.passwordHash
9.ComparePasswords()
10.true
11.LogIn(userVm)
12.UserLoggedIn()
23
sd Adaugare Client
ClientRegistrationUI
ClientController
ClientRepository
:administrator
DB
inputClientInfo()
SubmitClienModel()
ValidateInputData()
AddClient() :List<ValidationErrors>
ValidateClient() :
List<ValidationError>
ClientValidator
:List<ValidationErrors>
Save(client)
:List<ValidationErrors>
Diagrama dat include actorul generic administrator, care adaug un client nou n cadrul
sistemului. Odat ce acesta a transmis datele introduse ctre sistem, acestea sunt validate la
nivel de repozitoriu, prin verificarea dac n cadrul sistemului nu mai sunt asemenea clieni.
sd Adaugare Client
ClientRegistrationUI
ClientController
ClientRepository
:administrator
DB
inputClientInfo()
SubmitClienModel()
ValidateInputData()
AddClient() :List<ValidationErrors>
ValidateClient() :
List<ValidationError>
ClientValidator
:List<ValidationErrors>
Save(client)
:List<ValidationErrors>
24
Diagrama dat include actorul generic administrator, care adaug un distribuitor nou n
cadrul sistemului. Odat ce acesta a transmis datele introduse ctre sistem, acestea sunt validate
la nivel de repozitoriu, prin verificarea dac n cadrul sistemului nu mai sunt asemenea
distribuitori.
2.7. Diagrama de colaborare (DDC)
DDC la nivel de exemplu:
sd Autentificare
:LogInUI
2: SubmitCredentials()
:AuthenticationController
1: InputCredentials()
3: Create()
userVm:
UserCredentialsVm
10: rue()
9: ComparePasswords()
10.1: LogIn()
4: ValidateUserCredentials()
:AuthenticationServ ice
userRepository:
UserRepository
7: GetPasswordHash()
:User
5: GetUserCredentialsbyName()
8: PasswordHash()
:HashHelper
6: UserCredentials()
DB
25
sd Autentificare
Distribution
Client
Distributor
Distribution
for Client X
ClientX
DistributorY
26
27
MongoReposit...
+ FindAll() : IQuerya...
MongoReposit...
28
+ PolygonVertices : L...
+ Areas : List<Distri...
+ Distributors : List<...
+ DistributorsActions...
+ DistributorsLocatio...
+ Leaflets : List<Dist...
+ Index(referenceC...
+ Language : Nullabl...
InitialAuth
Afisare pagina de
logare
[WrongUserNameOrPassword]
/SendUserCredentials
Verificare Credentiale
[CorrectUserNameAndPassword]
/AuthorizeUser
UserAuthorized
InitRegister
AfisarePaginaInregistrare
[DateInvalide]
/TransmiteDate
ProceseazaDate
[DateValide]
/InregistreazaUtilizator
Redirectioneaza la
Pagina Principala
FinalRegister
30
2.10.
act Register
RegisterController
UserRepository
UserValidator
RegisterManager
RegisterInitial
Index
AddUser(user)
ProcessUserData(user)
Validate(user)
Search(user.login)
[true]
[false]
[dbUser!=null]
[dbUser==null]
AddUser(user)
Index(errorList)
redirect
UserController.Index()
RegisterFinal
31
act Autentificare
LoginController
UserManager
UserRepository
HashHelper
InitialAutentificare
ValidateCredentials(userCredentials)
Index
GetUserByLogin(userCredentials.Login)
LogIn(userCredentials)
[dbUser==Null]
[dbUser!=null]
Index(errorList)
ComparePassw ords
[dbUser.Password!=passwordHash]
redirect to Home
[dbUser.Password==passwordHash]
AutentificareFinal
2.11.
cmp TestControlCentre
Routing Component
Controllers
View s
Models
cmp Authentication
Database
HashHelper
AuthenticationServ ice
LoginController
IUserRepository
UserRepository
IAuthenticationServ ice
33
2.12.
deployment Deployment
Serv er DB
LeafletDistributionServ ice
device
Dispozitiv Mobil
MobileTrackingApplication
Infrastructure
Statie de lucru
TrackingCentre
ControlCentre
RealTimeCommunicationServ ice
executable
Web brow ser
34
Concluzii
Elabornd aceast lucrare de practic, am studiat i analizat un business nou, cel de
monitorizare disciplinei de munc al angajailor. Am proiectat i stabilit interaciunea
componentelor acestui sistem complex format din partea Web i cea mobil. Am stabilit
cerinele funcionale i ne-funcionale pe care le va ndeplini sistemul. Scopul primordial a fost
acela de analiz a business-ului i a platformelor de lucru pentru ca n viitor s se realizarea
implementarea. Am fcut o analiz cu sistemele deja existente pentru a scoate n eviden
avantajele sistemului i a concluziona ce se poate de modificat pentru acest sistem complex.
n timpul efecturii lucrrii am stabilit funcionalitile actorilor cum ar fi: manager,
client, distribuitor i am stabilit cum va avea loc procedura de autentificare, de adugare a unui
client si proiect, de monitorizare a distribuitorului de ctre sistem i alte proceduri de care este
capabil acesta.
Sistemul are ca scop menirea ca s asigure distribuirea pliantelor la locul stabilit de
client i asigurare c acestea au ajuns n minele potenialilor beneficiari de servicii, produse
sau reducere care sunt reclamante pe pliante.
35
Bibliografie
- [Resurs
electronic]
Regim
de
acces:
www.tarunz.org/~vassilii/TAU/protocols/dhcp/
-
RFC2131
Standard
[Resurs
electronic]
Regim
de
acces:
http://tools.ietf.org/html/rfc2131
-
Curs AMSI RO
Curs PSI RO
36