Documente Academic
Documente Profesional
Documente Cultură
LUCRARE DE LICEN
Aplicaie Java de file-sharing
COORDONATOR TIINIFIC:
Conf. Univ. Dr. George Carutasu
STUDENT:
BUCURETI
2014
CUPRINS :
Introducere
. 3
Capitolul 1. Studiul i analiza sistemului actual al firmei
4
1.1. Prezentarea succint a firmei
.. 4
1.2. Activitatile desfasurate in unitatea economica
4
1.3. Studiul sistemului de conducere
8
1.4. Studiul sistemului condus
..
9
1.5. Studiul sistemului informational
9
1.5.1. Schema fluxului informaional aferent temei
.. 9
1.5.2. Descrierea circuitului informaional aferent temei
.. 10
1.5.3. Documente utilizate
11
1.5.4. Analiza critic a sistemului actual i identificarea neajunsurilor existente
.. 14
1.5.5. Directii de perfecionare a sistemului actual
. 14
Capitolul 2. Tehnologii informatice utilizate.
15
2.1. Notiuni generale despre programare si limbajele de programare
15
2.2. Notiuni generale despre limbajul de programare Java
. 18
23
2.3.3. Interfee grafice cu ajutorul Java.Swing
.. 23
2.4. Medii de dezvoltare integrate
. 24
2.5. Java: un limbaj compilat si interpretat
. 25
Capitolul 3. Proiectarea de detaliu a aplicaiei informatice
.. 27
3.1 Definirea obiectivelor aplicaiei
informatice 27
3.1.1 Tehnologii
utilizate
. 27
3.1.2 Privire de ansamblu asupra
modelului 28
3.2 Schema de sistem a
aplicaiei
29
3.3 Clasele principale ale
aplicaiei
. 33
3.3.1 Clasa Log
In
. 33
3.3.2 Clasa
Mesaje
. 33
3.3.3 Clasa
Client
. 34
3.3.4 Clasa Fereastra
Principala
35
3.3.5 Clasa
Server
.. 35
3.4 Secvene de testare ale
aplicaiei.
36
3.5 Proiectarea interfeei aplicaiei
informatice. 38
3.6 Proiectarea bazei de
date
.. 42
3.7 Propuneri de dotare cu echipamente IT i costuri
aferente. 45
Capitolul 4. Prezentarea produsului
software. 46
4.1 Cerinele platformei hardware i software ale produsului
program. 46
4.2 Descrierea funciunilor aplicaiei
.. 49
Capitolul 5. Eficiena i utilitatea aplicaiei
informatice. 52
5.1 Condiii privind implementarea
aplicaiei 52
3
Indic
Venituri
Cheltuieli
Pierderi
Numr de
totale
totale
totale
salariai
2009
141590
123838
5238
10
2010
153310
135039
7580
10
2011
176614
168091
11398
12
2012
121320
105938
8105
12
atori
Anii
2010
2011
2012
Mobilul activitii economice este profitul, fiind considerat cea de-a patra
form de venit. Profitul se definete ca fiind ctigul realizat n form
bneasc dintr-o activitate, aciune sau operaie economic i se determin
ca fiind diferena ntre venituri i cheltuieli.
2010
2011
2012
2010
2011
2012
2010
2011
2012
Administrator
Director tehnic
Contabil
Departamentul
tehnic
Figura 1.3.1 Organigrama sistemului de conducere
10
condus
al
societii
economice
este
alctuit
doar
din
departamentul tehnic.
Directorul
tehnic
rspunde
de
coordonarea
buna
funcionare
Primire solicitare
de la client
Receptare
solicitare
Rezolvare
solicitare
Raportarea
solicitrii n sistem
11
DEPARTAMENTU
L TEHNIC
SISTEM
CLIENT
12
ANGAJAT
DEPARTAMENT
TEHNIC
13
clauze
ale
14
acestuia;
15
16
17
18
19
20
o
main)
o
Dupa vechime
Limbaje din secolul trecut; ex. LISP i FORTRAN din anii '50
TEO (Basic)
Alen (variant modificat a limbajului TEO)
BASIC (QuickBasic, GW-BASIC, Visual Basic)
C
C++
C#
Clips
Cobol
Fortran
Haskell
Java
JavaScript
LISP
Pascal (i ObjectPascal, folosit de Borland Delphi)
PHP
Prolog
Python
Ruby
Scriptol
Tcl/TK
XHTML
MATLAB
Borland Delphi
Algol
Simula
Limbaje specifice:
23
26
distan
este compatibil cu mediile de lucru n reea (poate fi
utilizat n reele complexe) i accept direct
protocoalele de reea obisnuite cum ar fi FTP si HTTP
(applet viewer).
aplicatie (app) = program Java care poate fi rulat independent
28
Ca orice alt obiect Java, un fir de execuie este o instan a unei clase.
Firele de execuie definite de o clas vor avea acelai cod i prin urmare
aceeai secven de instruciuni.
Crearea unei clase care s defineasc fire de execuie poate fi fcut prin
dou modaliti:
1. Prin extinderea clasei Thread
2. Prin implementarea interfeei Runnable
29
Orice clas ale crei instane vor fi executate ntr-un fir de execuie
trebuie declarat ca fiind Runnable. Aceasta este o interfa care conine o
singura metod, i anume run.
Aadar, orice clas ce descrie fire de execuie va conine o metod run
n care este implementat codul ce va fi executat de firul de execuie.
2.3.2 Socketuri Java
Combinaia dintre adresa IP i numrul de port este ntrebuinat pentru
crearea unui termen abstract, numit socket. Acesta se mai numete si canal
de comunicaie sau conexiune.
Un client caut serverul, stabilete o conexiune prin care informaia
poate fi trimis iar la final se va deconecta, lasnd liber socketul pentru o
utilizare ulterioar.
Un socket furnizeaz faciliti pentru crearea de fluxuri de intrare i ieire,
care permit datelor s fie schimbate ntre client i server.
Atunci cnd se stabilete o conexiune, att clientul ct i serverul vor avea
cte un socket. Comunicarea efectiva se va realiza ntre socketuri.
2.3.3 Interfee grafice cu ajutorul Java.Swing
Interfeele grafice (Graphical User Interfaces) reprezint ferestre ce
conin elemente grafice ce permit interaciunea dintre aplicaie i utilizator.
Limbajul java pune la dispoziia programatorului dou biblioteci pentru
realizarea interfeelor grafice: java.awt i java.swing.
30
Jcreator gratuit
Eclipse gratuit
NetBeans gratuit
BEA Workshop gratuit
BlueJ gratuit
Codeguide comercial
32
DrJava gratuit
Jbuilder comercial
Jdeveloper comercial, platform multipl
Kdevelop gratuit (platform GNU/Linux, Cygwin)
33
35
Fereastra
Principal
LogIn
Client
Client
Message
Server
Client
creat de ctre consoriul Object Management Group (OMG) care a mai produs
printre altele i limbajul de programare CORBA. UML a fost la baz dezvoltat
pentru reprezentarea complexitii programelor orientate pe obiect, al cror
fundament este structurarea programelor pe clase, i instanele acestora
(numite i obiecte). Cu toate acestea, datorit eficienei i claritii n
reprezentarea unor elemente abstracte, UML este utilizat dincolo de domeniul
IT. Aa se face c exist aplicaii ale UML-ului pentru management de
proiecte, pentru business Process Design etc.
Diagrama secvenei de transfer a unui fiier
37
Diagrama secvenei de
cutare a
unui
fiier
Fig. 3.2.4
de cutare a
Diagarma secvenei
unui fiier
Diagrama
UML
a
aplicaiei
39
40
un mesaj de autentificare.
LogIn-ul va avea event listeners pentru mouse si tastatur.
LogIn Class:
logInLabel: javax.swing.JLabel
okButton: javax.swing.JButton
cancelButton:
javax.swing.JButton
username:
javax.swing.JTextField
password:javax.swing.JPasswor
dField
submitAuth():
41
Un obiect de
din programul
simultan ntravea alocat
pentru
client,
serverului
Message Class:
priority:Integer
type: Message type
username: String
password: String
confirmation: Boolean
searchWord:String
filename:String
sizeOfFile:Integer
userList:List
Client Class:
status:
portNo: Integer
ipAddr:String
serverPortNo: Interger
messageQueue: Queue
connectToClient()
connectToServer()
disconnectFromServer()
disconnectFromClient()
sendFile()
getOnlineUsers()
getUserData()
sendFileInfo()
sendFileToUser()
implementrii din
problemelor ce pot
optimizrii.
42
multiplexat.
Serverul va avea de asemenea o list de utilizatori i parolele acestora.
Acestea vor exista ntr-un document situat n acelai folder ca i
aplicaia.
43
Server Class:
3.4 Secvene de
portNo: Integer
ipAddr: String
userList: List
messageQueue:Queue
respondToLogInReq()
disconnectResponse()
sendOnlineUsers()
sendFileToUser()
returnSearchResults()
returnUserData()
testare ale
aplicaiei
o Testarea ar trebui fcuta innd cont de diferitele posibile utilizri ale
sistemului. Trebuie testate att folosirea corect a sistemului ct i o
folosire incorect a acestuia.
o Testri suplimentare trebuiesc fcute pentru utilizri improbabile, cum
ar defeciuni aleatoare cauzate de client sau opriri neanunate ale
serverului
Scenarii de test
Testul 1: Log-in
a) Serverul este online, interfaa grafic a clientului este pornit, fereastra
de pop-up pentru log-in apare i se trimit datele de log-in (username i
parol).
b) Rezultatul dorit: Serverul recunoate userul, l adaug n lista de useri
aflai online i retrimite lista tuturor celorlali clieni (actualizarea listei).
Dispare fereastra de pop-up de pe ecranul userului, bara de status l
indic ca fiind online i se populeaz lista de useri online. Ceilali
utilizatori din sistem vor primi noua list de utilizatori de la server dup
ce aceasta se reactualizeaz.
Testul 2: Log-of
a) Utilizatorul face click pe butonul de log-of.
44
Deoarece interfaa grafic este singurul mod prin care un utilizator poate
folosi o aplicaie informatic, am ales un design ct mai simplist si mai uor
de utilizat, fcnd mai uoar interacionarea utilizatorilor cu aceasta.
Fereastra principal:
47
48
51
Outlook
Dup cum se poate observa i in figura de mai sus, baza de date este
alctuita din 6 tabele:
Angajai
Clieni
Documente
Departamente
Echipamente
Servicii
2) Tabela Clieni
52
3) Tabela Departamente
4) Tabela Documente
5) Tabela Echipamente
6) Tabela Servicii
53
CHEIE PRIMAR
Cod Angajat
Cod Client
Cod Departament
Cod Document
CHEIE EXTERN
Cod Angajat
C.Serviciu, C.Client,
C.Angajat
Echipamente
Servicii
Cod Echipament
Cod Servicii
Cod Echipament
Cod Departament
Cod Client
Rapoarte
Raportul Clieni i da utilizatorului posibilitatea de a vedea toi clienii
actuali ai firmei
54
55
56
57
Contextul hardware
Din punct de vedere al arhitecturii sistemului, acesta va fi alctuit din
computere ce sunt conectate la server prin interfaa de client. Toate
computerele trebuie s fac parte din aceeai reea LAN.
Pentru o performan ct mai ridicat i o securitate ct mai bun,
serverul va rula pe un sistem dedicat (n acest caz, pe o main virtual).
Computerele trebuie s aibe n permanen un minim de memorie
disponibil pentru a putea permite aplicaiei s salveze informaii despre
statusul curent la momentul nchiderii acesteia. Necesarul minim de memorie
poate varia n funcie de numrul de utilizatori aflai
online i de numrul de fiiere trimise.
Un exemplu de configurare a unui sistem pe care aplicaia ar rula fr
probleme:
Cerine non-funcionale
1) Cerine pentru interfaa grafic a utilizatorilor (GUI Graphical User
Interface)
2) Cerine de performan i siguran
o Sistemul trebuie s aib un timp ct mai rapid de rspuns
o Sistemul trebuie s fie sigur iar orice defeciune cauzat de condiii
externe (precum o cdere de curent) trebuie s fie prevenit astfel
nct condiia optim de rulare a sistemului s fie ct mai puin
afectat
o Sistemul trebuie s aibe cel puin un server i doi clieni
58
60
Cazuri de utilizare
1) Log-in
Pentru a folosi aplicaia, toi utilizatorii trebuie s se logheze folosind o
metod clasic de autentificare, insernd un username i o parol valide.
Precondiii:
o Aplicaia trebuie s fie n funciune
o Utilizatorul trebuie s fie nregistrat n sistem
Scenariu principal:
o
o
o
o
Alternative:
o Serverul nu recunoate utilizatorul i afieaz acestuia un mesaj de
eroare
Postcondiie:
o Utilizatorul poate accesa programul
2) Log-of
Aciunea de log-of poate fi iniiat de ctre administrator sau de ctre
utilizator.
Precondiii:
63
5) Oprire/Exit
64
Precondiii:
o Utilizatorul trebuie s fie delogat de la sistem (vezi Log-of)
Scenariu principal:
o Utilizatorul va nchide aplicaia
Scenariu alternativ:
o Utilizatorul nc este logat
o Un mesaj pentru delogare va fi afiat
o Utilizatorul se va deloga i programul se va nchide
Postcondiii:
o Utilizatorul nu mai are acces la aplicaie
5.2 Consideraii privind eficiena aplicaiei informatice
n urma studiului realizat, am concluzionat c implementarea aplicaiei
informatice n firma descris va aduce numeroase beneficii. Prin folosirea
aplicaiei, se va spori eficiena comunicrii dintre angajai prin simplu fapt c
transferul de fiiere dintre acetia va fi facilitat de utilizarea aplicaiei, lucru
ce va reduce din timpul de lucru si creterea calitii serviciilor. De
asemenea, solicitrile primite de la clieni vor fi rezolvate mai rapid, atrgnd
astfel o cretere a numrului de clieni satisfcui de serviciile firmei, lucru ce
va duce si la o cretere a profitului firmei.
65
Bibliografie
Articole
accountid=35090
O'REILLY: The efficient way to develop, debug, and deploy java code;
O'reilly releases "NetBeans: The definitive guide". (2002, Nov 12). M2
Presswire Retrieved
from http://search.proquest.com/docview/445884559?accountid=35090
Hayes, B. (1997). The java programming language / the java tutorial /
the java language specification / the java virtual machine
specification / and others. American Scientist, 85(4), 389-390.
Retrieved from http://search.proquest.com/docview/215263785?
accountid=35090
Cheung, J Y - Basics of computer networking
http://search.proquest.com/pqcentral/docview/1022702429/AAEA4678F
3CA46F2PQ/70?accountid=35090
66
Cri
Matrixrom
Cornelia Botezatu Proiectarea sistemelor informatice. Metode sistemice.
Editura ProUniversitaria, Buc, 2007
Ionel Iacob ORACLE 10g Proiectarea i realizarea aplicaiilor cu
baze de date utiliznd limbajul SQL*PLUS, Ed. ProUniversitaria 2009
Alte resurse
Java Threads, 2nd Edition, Scott Oaks and Henry Wong (O'Reilly &
Associates, January 1999):
http://www.oreilly.com/catalog/jthreads2
Wikipedia www.wikipedia.com
67
68