Sistem Client-Server pentru administrarea la distanţă a calculatoarelor

Автор работы: Пользователь скрыл имя, 14 Марта 2011 в 12:34, курсовая работа

Описание работы

Pascal este unul dintre limbajele de programare de referinţă în ştiinţa calculatoarelor, fiind cel care a definit programarea calculatoarelor. Pascal a fost dezvoltat de elveţianul Niklaus Wirth în 1970 pentru a pune în practică programarea structurată, aceasta fiind mai uşor de compilat. Unul din marile sale avantaje este asemănarea cu limbajul natural limba engleză, ceea ce îl face limbajul ideal pentru cei care sunt la primul contact cu programarea. Pascal este bazat pe limbajul Algol şi a fost denumit astfel în onoarea matematicianului Blaise Pascal, creditat pentru construirea primelor maşini de calcul numeric. Wirth a mai dezvoltat limbajele Modula-2 şi Oberon, similare cu Pascal.

Содержание работы

1.Introducere şi concepte de bază..............................................................................3
2.Modul de funcţionare al aplicaţiei.........................................................................10
2.1 Opţiunile disponibile din meniul de conexiune................................................10

2.2 Opţiunile disponibile din meniul de interacţiune cu sistemul de fişiere..........12

2.3 Opţiunile disponibile din meniul de căutare a fişierelor..................................19

2.4 Opţiunile disponibile din meniul de obţinere a ecranului calculatorului aflat la distanţă..................................................................................................................21

2.5 Opţiunile disponibile din meniul de obţinere/manipulare a proceselor calculatorului aflat la distanţă...............................................................................23

2.6 Opţiunile disponibile din meniul de obţinere/manipulare a ferestrelor deschise pe calculatorul aflat la distanţă...............................................................27

2.7 Opţiunile disponibile din meniul de distracţie (fără o folosinţă practică deosebită)..............................................................................................................34

3.Detalii despre implementare.................................................................................43
4.Concluzii si dezvoltări ulterioare............................................................................64
5.Bibliografie.............................................................................................................65

Файлы: 1 файл

documentatie proiect diploma.doc

— 1,003.50 Кб (Скачать файл)

Universitatea Politehnica Bucureşti

Facultatea de Automatică  şi Calculatoare 
 
 
 
 

Sistem Client-Server pentru administrarea la distanţă a calculatoarelor 
 
 
 
 
 

Coordonator Ştiinţific

Prof. Dr. Ing. Florian Moraru

Absolvent

Ciucă Mihai Andrei 
 
 
 

Cuprins 

  1. Introducere şi concepte de bază..............................................................................3
  2. Modul de funcţionare al aplicaţiei.........................................................................10

    2.1 Opţiunile disponibile din meniul de conexiune................................................10

    2.2 Opţiunile disponibile din meniul de interacţiune cu sistemul de fişiere..........12

    2.3 Opţiunile disponibile din meniul de căutare a fişierelor..................................19

    2.4 Opţiunile disponibile din meniul de obţinere a ecranului calculatorului aflat la distanţă..................................................................................................................21

    2.5 Opţiunile disponibile din meniul de obţinere/manipulare a proceselor calculatorului aflat la distanţă...............................................................................23

    2.6 Opţiunile disponibile din meniul de obţinere/manipulare a ferestrelor deschise pe calculatorul aflat la distanţă...............................................................27

    2.7 Opţiunile disponibile din meniul de distracţie (fără o folosinţă practică deosebită)..............................................................................................................34

  1. Detalii despre implementare.................................................................................43
  2. Concluzii si dezvoltări ulterioare............................................................................64
  3. Bibliografie.............................................................................................................65
 
 
 
 
 

1. Introducere si concepte de baza

Limbajul de programare Pascal :

      Pascal este unul dintre limbajele de programare de referinţă în  ştiinţa calculatoarelor, fiind cel care a definit programarea calculatoarelor. Pascal a fost dezvoltat de elveţianul Niklaus Wirth în 1970 pentru a pune în practică programarea structurată, aceasta fiind mai uşor de compilat. Unul din marile sale avantaje este asemănarea cu limbajul natural limba engleză, ceea ce îl face limbajul ideal pentru cei care sunt la primul contact cu programarea. Pascal este bazat pe limbajul Algol şi a fost denumit astfel în onoarea matematicianului Blaise Pascal, creditat pentru construirea primelor maşini de calcul numeric. Wirth a mai dezvoltat limbajele Modula-2 şi Oberon, similare cu Pascal.

      Cele mai populare implementări a acestui limbaj au fost Turbo Pascal şi Borland Pascal, ambele ale firmei Borland cu versiuni pentru Macintosh şi DOS, care i-au adăugat limbajului obiecte şi au fost continuate cu versiuni destinate programării vizuale pentru Microsoft Windows (limbajul Delphi) şi pentru Linux (Kylix).

      În prezent există şi alte implementări mai mult sau mai puţin populare, dar gratuite, printre care se remarcă Free Pascal şi GNU Pascal.

Ce este Delphi?

      Delphi este un limbaj de programare, produs iniţial de firma americană  Borland, iar apoi de CodeGear, o firmă deţinută de Borland. Pe data de 7 mai 2008 a fost anunţată vânzarea CodeGear către Embarcadero Technologies pentru suma de 23 de milioane de dolari.

      Limbajul Delphi este varianta celor de la Borland de Object Pascal1 (Pascal cu obiecte), care este evoluţia limbajului Pascal, creat în 1970 de Niklaus Wirth ca limbaj de programare cu scop didactic. Iniţial a fost produs pentru sistemele de operare Microsoft Windows, apoi a urmat o perioadă în care se producea şi o versiune pentru GNU/Linux (denumită Kylix). Până în anul 2008, versiunile existente au fost cea pentru aplicaţii native Microsoft Windows şi cea pentru Microsoft .NET Framework.

      Lansat în al treilea trimestru al anului 2008, Delphi Prism a înlocuit Delphi.NET, versiunea de Delphi pentru platforma Microsoft.NET.

      Echipa care dezvoltă Delphi a fost condusă iniţial de Anders Hejlsberg, tot el conducând şi echipa care se ocupa de dezvoltarea Turbo Pascal-ului. În 1996 Anders Hejlsberg a fost angajat de Microsoft, unde, printre altele, a condus echipa care a dezvoltat limbajul C#, având totodată un rol important în dezvoltarea platformei Microsoft .NET.

La ce este bun?

      Scopul principal pentru care Delphi a apărut a fost crearea rapidă a aplicaţiilor pentru Microsoft Windows. Un important atu de care Delphi a beneficiat de la început a fost IDE2-ul (Integrated Development Environment) cu care era distribuit. Acesta, fiind de tip RAD (Rapid Application Development), permitea crearea unei aplicaţii grafice minimale pentru Microsoft Windows cu doar câteva clicuri de maus, depaşind la acest capitol toate aplicaţiile de pe piaţă la ora aceea. Principalul său competitor surclasat era Microsoft Visual Basic, motiv pentru care a fost poreclit Visual Basic Killer. Cu timpul, numele “Delphi” a început să fie folosit şi pentru IDE, nu doar pentru limbaj.

      Tipul de aplicaţie pentru care Delphi este folosit cel mai des este VCL Forms Application, bazată pe Visual Component Library, un set de librării create de Borland pentru dezvoltarea de aplicaţii Microsoft Windows.

Cum arată  codul? :

Delphi permite crearea mai multor tipuri de proiecte:

  • Aplicaţie VCL Forms
  • Aplicaţie pentru consolă
  • DLL3 4 Dynamic-Link Library
  • Delphi Package (componente pentru IDE-ul Delphi-ului şi pentru aplicaţiile scrise în Delphi)
  • Aplicaţie serviciu
  • Aplicaţie pentru Control Panel

Structura unui proiect VCL Forms :

      Un proiect VCL Forms tipic este format din 3 fişiere. Presupunând că se folosesc numele predefinite de IDE, aceste fişiere sunt:

  • Project1.dpr – conţine iniţializarea aplicaţiei, crearea form-ului principal şi apelul de rulare a aplicaţiei
  • Unit1.pas – conţine form-ul principal
  • Unit1.dfm – conţine valori pentru iniţializarea form-ului principal (poziţie, dimensiuni, etc)

      La crearea unui proiect nou, Delphi creează cele 3 fişiere şi scrie în ele codul necesar pentru o aplicaţie minimală, dar gata de rulare imediat după compilare, fără a fi nevoie să se scrie manual cod. 

VCL :

      VCL (Visual Component Library) sau Biblioteca de Componente Vizuale este scheletul folosit pentru construirea de aplicaţii Microsoft Windows, oferit de Borland pentru utilizarea în mediile integrate de programare (IDE) Delphi şi C++ Builder. Este scris în Object Pascal.

      Echivalentul acestei biblioteci pentru alte platforme se numeşte CLX (Component Library for Cross Platform) şi a fost construit pentru folosirea acesteia în Delphi, C++ Builder şi Kylix.

      Cu o abordare orientată spre obiecte, toate obiectele incluse în VCL moştenesc direct sau indirect clasa TObject. Aceasta este necesară pentru că Delphi nu suportă moştenire multiplă, spre deosebire de C++. Abordarea folosită în VCL este uşor de utilizat pentru ca a fost folosită de Smalltalk, primul limbaj de programare cu adevărat orientat spre obiecte. Aceasta apropie Delphi de Java, care la fel foloseşte o clasă de bază numită Object.

Principiul DLL :

      Principiul DLL reprezintă o facilitate de gestionare a memoriei prin care se pot introduce toate funcţiile de bază, care sunt necesare tuturor programelor în module care conţin seturi de funcţii utilizate în comun de către aplicaţii.

      Principiul DLL constă în faptul că un program care se află în execuţie "ştie" dinainte ce funcţie trebuie să folosească pentru a executa o anumită prelucrare şi comunică astfel incă de la lansare ce DLL trebuie să utilizeze. Dacă Windows găseşte DLL-ul căutat, îl încarcă şi-l execută, după care, la terminare redă controlul programului apelant.

      Avantajul incontestabil pe care îl dau fişierele DLL este economiserea memoriei necesare aplicaţiilor care prin punerea în comun a funcţiilor de bază, ocupă mai puţină memorie. Un fişier DLL se introduce o singură dată în memorie indiferent cîte programe îi accesează funcţiile. Toate facilităţile noi proprii aplicaţiilor (OLE, multimedia) sunt introduse prin fişiere tip bibliotecă de funcţii: DLL

Notiunea de obiect. Caracteristici. 

      Ideea OOP este de a pune la un loc, într-un singur container, atât datele cât şi partea de

cod(proceduri şi funcţii, care poartă denumirea de metode) . Containerul se numeşte obiect. 

      Obiectul relevă utilizatorului (programatorului care utilizează obiectul) doar ceea ce

este necesar, astfel încât utilizarea obiectului să fie cât mai uşoară. Toate mecanismele interne

pe care utilizatorul nu are nevoie să le cunoască sunt ascunse. OOP permite o abordare

modulară a programării, ceea ce ne fereşte de necesitatea rescrierii unor părţi de cod. 

      O altă caracteristică importantă a obiectelor este moştenirea. Prin moştenire se înţelege

acea proprietate a obiectelor prin care un obiect nou construit preia datele şi metodele unui alt

obiect, părinte. Această caracteristică ne permite scrierea rapidă şi uşoară a unor obiecte

asemănătoare, care au unele date şi metode comune. 

      Se poate întâmpla ca anumite metode a unei clase să fie rescrise, astfel încât, chiar

dacă o clasă descendentă are metode cu acelaşi nume, să facă cu totul altceva. Această

caracteristică poartă denumirea de polimorfism. 

Noţiunea de clasă. Caracteristici. 

      O clasă sau un tip de clasă definesc o structură ce conţine câmpuri, metode şi

proprietăţi. Instanţa unui tip de clasă poartă denumirea de obiect1. 

      Un câmp este de fapt o variabilă care face parte dintr-un obiect. La fel ca şi câmpurile

unui record, câmpul unei clase reprezintă o dată care există în fiecare instanţă a unei clase. 

      O metodă este o procedură sau o funcţie asociată cu o clasă. Majoritatea metodelor

operează asupra obiectelor, care sunt instanţe ale claselor. 

      O proprietate este o interfaţă pentru data asociată unui obiect(dată care de obicei este

stocată într-un câmp). Proprietăţile au specificatori de acces care determină modul în care

datele pot fi citite sau modificate. Din program, din afara obiectului, o proprietate apare cel

mai adesea la fel ca un câmp. 

      Pentru obiecte se alocă dinamic blocuri de memorie a căror structură este determinată

de tipul de clasă. Fiecare obiect are o copie unică a fiecărui câmp definit în clasă, dar toate

instanţele unei clase împart aceleaşi metode. Obiectele sunt create şi distruse cu ajutorul unor

metode speciale numite constructori şi destructori. 

      Constructorul este o metodă utilizată pentru crearea unei instanţe a unei clase. Are

rolul de a iniţializa unele câmpuri, de a aloca memorie, sau a face tot ceea ce este necesar

iniţializării obiectului. Nu este obligatoriu să definim un constructor, dacă acesta nu a fost

definit se utilizează constructorul implicit Create. 

      Destructorul este o metodă specială care este apelată automat la distrugerea obiectului.

De obicei destructorul este văzut ca fiind inversul constructorului, el ocupându-se de

dezalocarea memoriei alocate clasei. Nu este obligatoriu ca fiecare clasă să aibă un destructor. 

Vizibilitatea membrilor unei clase. 

      Fiecare membru a unei clase are un atribut denumit vizibilitate, care este indicată de

unul dintre cuvintele rezervate: private, protected, public, published. 

      Vizibilitatea determină modul în care membrii pot fi accesaţi:

  • Private – un membru private este invizibil în afara clasei în care este declarat, altfel

spus o metodă declarată ca fiind private nu poate fi apelată din alt modul, iar un câmp

sau proprietate nu pot fi citite sau scrise din alt modul

  • Protected – un membru protected este vizibil doar în clasa în care a fost declarat şi în

toate clasele descendente.

  • Public – un membru public este vizibil în exteriorul clasei.
  • Published – acest mod de acces este utilizat atunci când se scriu componente. Toţi

membrii declaraţi în această zonă vor fi vizibili în Object Inspector.

      În scrierea programelor Delphi este utilizată foarte mult OOP deoarece se utilizează în

special componente. Aceste componente sunt obiecte (dar nu toate obiectele sunt

componente!) care fie sunt create de utilizator, fie sunt venite împreună cu Delphi-ul, şi pot fi

reutilizate în orice alt program.

Aplicaţii dezvoltate în Delphi :

  • Skype
  • Partition Magic
  • Total Commander
  • Feed Reader
  • Ultra ISO
  • Dev-C++
  • RadLight
 
 
 
 
 

Care este scopul programului dezvoltat ?

      Sistemul client-server isi propune sa poate stabili o conexiune intre 2 calculatoare, urmand sa controleze, pe baza unui protocol peste HTTP, diverse aspecte ale functionarii calculatorului pe care este instalat serverul.

      Cu ajutorul lui un utilizator poate accesa sistemul de fisiere al calculatorului aflat la distanta, putand executa aproape toate operatiile disponibile si pe calculatorul la care tasteaza. Astfel sunt posibile urmatoarele operatii :

  • Explorarea directoarelor sistemului pe care ruleaza serverul, putand fi accesate toate partitiile disponibile
  • Copierea unui fisier de pe sistemul aflat la distanta pe sistemul pe care ruleaza clientul (cu posibilitatea de oprire inainte de terminare)
  • Uploadarea unui fisier local pe sistemul aflat la distanta (cu posibilitatea de oprire inainte de terminare)
  • Stergerea unui fisier
  • Stergerea unui director
  • Crearea unui fisier
  • Crearea unui director
  • Obtinerea de informatii despre un fisier
  • Rularea unui executabil pe sistemul gazda al serverului (executabilul trebuie sa fie localizat pe masina serverului)
  • Cautarea unui fisier :
    • Pe toate partitiile
    • Doar intr-o subcale specificata
 

    Alt set de operatii se pot efectua asupra proceselor care ruleaza pe sistem :

  • Se poate obtine o lista cu toate procesele care ruleaza pe sistemul gazda al serverului
  • Lista este afisata intr-un mod arborescent, putand fi observata ierarhia proceselor
  • Se poate actiona asupra unui proces in sensul trimiterii unei cereri de inchidere
 

    Operatii asupra ferestrelor deschise pe sistemul serverului :

  • Se poate obtine o lista cu toate ferestrele deschise pe sistemul gazda al serverului (titlu fereastra, identificator fereastra, identificator fereastra parinte)
  • Asupra acesto ferestre se pot executa diverse operatii :
    • Se poate schimba titlul ferestrei
    • Se poate incerca inchiderea programului asociat cu fereastra prin trimiterea unui mesaj normal de inchidere
    • Se poate activa fereastra
    • Se poate dezactiva fereastra
    • Se poate schimba forma ferestrei
    • Se poate minimiza/maximiza
    • Se poate inchide programul asociat cu fereastra prin inchiderea procesului asociat acestuia

Информация о работе Sistem Client-Server pentru administrarea la distanţă a calculatoarelor