Realizarea programelor şi programe suport
Obiectivele specifice: Prezentarea noţiunilor specifice activităţii de programare Prezentarea tehnicilor de realizare a programelor Prezentarea funcţiilor unui sistem de operare Prezentarea interfeţelor utilizator Rezultatele aşteptate: Însuşirea termenilor specifici obiectivelor enumerate Înţelegerea şi însuşirea tehnicilor de realizare a unui program Competenţe dobândite Manevrarea corectă a interfeţelor utilizator Utilizarea corectă a funcţiilor uzuale ale unui sistem de operare Utilizarea corectă a programelor utilitare uzuale
13 aprilie 2010
1
Realizarea programelor şi programe suport
Notiuni prezentate in acest curs
Tehnici şi instrumente de realizare a programelor
Tipuri şi structuri de aplicaţii
Aplicaţii Aplicaţii de Baze de Date Aplicaţii client-server Miniaplicaţii
Instrumente software de dezvoltare a aplicaţiilor
13 aprilie 2010
Interfeţe, biblioteci şi pachete de programare Medii de programare Medii pentru Baze de Date Instrumente de asistare a dezvoltării software
Lect. ing. Florin Postolache
2
Realizarea programelor şi programe suport
Notiuni introductive Funcţionarea unui sistem de calcul presupune existenţa pe suportul fizic (echipament) a secvenţei de comenzi (program) care indică ce prelucrări suportă valorile de interes (date). Anterior s-a discutat cele trei entităţi, privind:
structura constructivă şi funcţională a echipamentului de calcul; reprezentarea datelor referitoare la diverse tipuri de informaţii; comenzile elementare (instrucţiuni) şi modalităţile de soluţionare generică a problemelor (algoritmi).
Rezolvarea completă a unei probleme noi (necunoscute) presupune abordarea tuturor aspectelor ce apar în situaţii reale şi presupune elaborarea unei soluţii generice pentru toate problemele similare fiind necesară o:
Analiză a problemei (sau clasei de probleme) şi elaborarea unei soluţii generale adecvate (analiza şi soluţionarea problemei); înscrierea comenzilor de găsire a soluţiei cu prevederea tuturor situaţiilor ce pot apare, apoi furnizarea acestora calculatorului (proiectarea şi realizarea programului); validarea soluţiei şi utilizarea ei pentru situaţii concrete din clasa de probleme .
13 aprilie 2010
Lect. ing. Florin Postolache
3
Realizarea programelor şi programe suport Tehnici si instrumente de realizare a programelor
În evoluţia proiectării aplicaţiilor şi a programării, au existat următoarele abordări:
Proiectarea / programarea nestructurată
Proiectarea / programarea structurată
aplicaţia nu este gândită şi realizată modular ci ca un tot, cu salturi interne greu de controlat şi urmărit. aplicaţia este divizată în module specializate pentru anumite operaţii, asamblate apoi (mai precis apelate) de către aplicaţia „principală”.
Proiectarea / programarea orientată obiect
13 aprilie 2010
aplicaţia se construieşte din obiecte care încapsulează proprietăţi şi metode – adică informaţii (date) şi prelucrări (operaţii asupra datelor). Lect. ing. Florin Postolache
4
Realizarea programelor şi programe suport Tehnici si instrumente de realizare a programelor
Abordări:
Proiectarea / programarea cu componente
aplicaţia se construieşte prin componente gata fabricate.
Proiectarea / programarea cu agenţi
13 aprilie 2010
aplicaţia (ca agent) evoluează de sine stătător şi comunică cu alte aplicaţii (alţi agenţi) pentru a-şi îndeplini misiunea.
Lect. ing. Florin Postolache
5
Realizarea programelor şi programe suport Tehnici si instrumente de realizare a programelor
Abordări:
Proiectarea aplicaţiilor cu Baze de Date
datele se structurează în tabele, adică mulţimi de articole. De fapt, un articol (ca linie din tabel) reprezintă un obiect iar tabelul colecţia de obiecte de acelaşi fel din problema de rezolvat – adică tabelul reprezintă o entitate (o categorie conceptuală de obiecte). Structura de entităţi cu relaţii între ele formează modelul problemei de rezolvat, iar aplicaţia manipulează datele din tabele cu comenzi specifice acestei reprezentări.
Proiectarea aplicaţiilor Web (servicii Internet)
13 aprilie 2010
datele sunt, de obicei, pagini cu informaţii ce trebuie vizionate de utilizatori prin Internet sau datele provin de la utilizatori prin formulare completate de către aceştia, iar prelucrările sunt operaţii de navigare, afişare şi actualizare a datelor (stocate adesea în baze de date).
Lect. ing. Florin Postolache
6
Realizarea programelor şi programe suport Caracteristici ale programarii orientate obiect (POO)
POO vizează, în principal, următoarele aspecte: Crearea şi manipularea de obiecte – prin care se modularizează acţiunile programului încă din faza de analiză, atunci când se identifică obiectele în problema reală; Refolosirea codului – prin care obiecte odată codificate se pot reutiliza ori de câte ori este necesar, fiind grupate în colecţii (denumite biblioteci sau pachete).
13 aprilie 2010
Lect. ing. Florin Postolache
7
Realizarea programelor şi programe suport Caracteristici ale programarii orientate obiect (POO)
Caracteristici ale programării obiectuale:
Abstractizarea – prin care un obiect devine modelul unui „actor” ce
prezintă o stare (şi o poate modifica), execută acţiuni sau comunică cu alte obiecte din sistem. Încapsularea – prin care accesul la proprietăţile obiectului se poate face numai prin metodele definite. Obiectul prezintă o interfaţă către alte obiecte, prin care se specifică modalităţile sale de manipulare. Moştenirea – prin care o clasă de obiecte poate fi baza altor clase (denumite clase derivate), proprietăţi şi metode esenţiale ale primei fiind preluate în întregime de celelalte. Se realizează astfel specializarea claselor (şi obiectelor). Polimorfismul – prin care o metodă a unui obiect din clasă derivată produce o comportare diferită faţă de cea a clasei de bază.
13 aprilie 2010
Lect. ing. Florin Postolache
8
Realizarea programelor şi programe suport Tipuri si structuri de aplicatii
Aplicaţia cuprinde un program principal care are rol de „dispecer”
asupra prelucrărilor efective ale aplicaţiei. Lansarea aplicaţiei se realizează la iniţiativa utilizatorului, care înscrie o comandă (în forma text) sau accesează o pictogramă întro interfaţă grafică. Execuţia aplicaţiei începe, în general, cu prezentarea unei interfeţe de interacţiune cu omul (printr-un interpretor de comenzi sau a un meniu). Structura generică a unei aplicaţii cuprinde două părţi generice:
colecţiile de date („data” - adică valori cu care se lucrează) logica de prelucrare („business logic” - adică acţiunile asupra datelor)
13 aprilie 2010
Lect. ing. Florin Postolache
9
Realizarea programelor şi programe suport
Aplicatii de Baze de Date
Sunt create şi funcţionează prin intermediul Sistemelor de Gestiune a Bazelor de Date. Conceptual, o aplicaţie cu baze de date manipulează „obiecte” de tipurile:
Tabel – structura de linii (articole) şi coloane (câmpuri ale articolelor) ce stochează datele, cu mijloace de modificare şi control a valorilor acestora; Interogare – exprimarea cererii de extragere, după condiţii impuse, folosind un limbaj (ex. SQL) Raport – document text generat automat, conţinând date sintetice şi analitice obţinute din tabele sau interogări, Formular – machetă de încărcare şi consultare a datelor, pentru interacţiunea comodă cu utilizatorul (în mod grafic, prin câmpuri şi indicaţii pe loc); Modul – secţiune de program (scris în limbajul de manipulare a datelor) care realizează prelucrări complexe, eventual combinaţii de interogări, formulare şi rapoarte generate conform logicii de prelucrare a aplicaţiei
13 aprilie 2010
Lect. ing. Florin Postolache
10
Realizarea programelor şi programe suport
Aplicatii Client-Server
Există aplicaţii în reţele de calculatoare care trebuie să asigure transferul de date şi prelucrarea acestora la distanţă. Datele sunt stocate la un punct central, pe un calculator care le gestionează printr-un program denumit server pentru că oferă servicii (de acces şi prelucrare date), rulând în permanenţă şi aşteptând cereri de la utilizatori. Pe maşina locală a fiecărui utilizator, există un program denumit client prin intermediul căruia utilizatorul poate solicita servicii serverului distant; datele „coboară” („download”) de la server pe maşina utilizatorului, unde sunt prelucrate local şi afişate (prin interfaţa utilizator) de către programul client. Structura de aplicaţie cu două părţi este denumită, în jargonul informatic, 2-tier.
13 aprilie 2010
Lect. ing. Florin Postolache
11
Realizarea programelor şi programe suport
Aplicatii Client-Server
Primele aplicaţii în reţea realizau toate prelucrările pe o maşina centrală (numită gazdă) iar maşina locală era folosită doar pentru afişare text şi preluarea datelor de la utilizator (terminal), adică aveau „o parte” 1-tier. Avantajele modului de lucru 2-tier provin din faptul că datele pot fi gestionate şi asigurate mai bine într-un singur punct (nu distribuite în mai multe puncte) dar prelucrările nu încarcă doar maşina centrală ci şi maşinile locale (ele fiind mai multe şi încărcate temporar).
13 aprilie 2010
Lect. ing. Florin Postolache
12
Realizarea programelor şi programe suport
Aplicatii Client-Server
Pentru creşterea siguranţei accesului la date, se poate ca partea server să fie scindata în alte două părţi: una ce conţine logica de prelucrare (SERVER-P) şi este legată direct cu clienţii, alta ce conţine datele (SERVER-D) şi la care are acces doar logica de prelucrare centrală. Arhitecturile, în acest caz, sunt de tip 3-tier (dacă există doar un singur server SERVER-D1), respectiv n-tier (dacă există mai multe servere SERVER-D1... SERVER-Dn-2).
13 aprilie 2010
Lect. ing. Florin Postolache
13
Realizarea programelor şi programe suport
Miniaplicatii
O categorie specială de program o constituia miniaplicaţia („applet”) – ca program ce nu există de sine stătător ci doar în cadrul unei (alte) aplicaţii – de exemplu o aplicaţie web cu pagini conţinând text şi imagini. Miniaplicaţia „applet”, ca program, este descărcată de pe maşina server pe maşina client şi rulează (de obicei în mod interpretat) pe clientul web (navigatorul Internet). Complementar miniaplicaţiilor „applet” există „servlet”, ce rulează pe maşina server spre a asigura: acces securizat la baze de date, facilităţi pe maşini de căutare în Internet, generarea de pagini web dinamice.
13 aprilie 2010
Lect. ing. Florin Postolache
14
Realizarea programelor şi programe suport Instrumente software de dezvoltare a aplicatiilor
Programarea constă în scrierea textului sursă într-un limbaj de programare ales, prin care se descrie un algoritm de prelucrarea a datelor. Această activitate este foarte laborioasă şi necesită dese reveniri în scrierea textului (pentru corectura sintactică, pentru optimizare sau chiar refacerea codului). Ingineria programării indică metode şi paşi sistematici prin care erorile în soluţia problemei şi în realizarea codului se reduc la minim. Pentru a obţine o productivitate rezonabilă în munca de programare sunt necesare instrumente software de asistare a programatorului.
13 aprilie 2010
Lect. ing. Florin Postolache
15
Realizarea programelor şi programe suport Instrumente software de dezvoltare a aplicatiilor
Cele mai importante categorii de instrumente sunt:
Interfeţe, biblioteci şi pachete de programare Medii de programare Medii pentru Baze de Date Instrumente de asistare a dezvoltării software (Dezvoltare Rapidă a Aplicaţiilor -RAD ) Instrumentele CASE
13 aprilie 2010
Lect. ing. Florin Postolache
16
Realizarea programelor şi programe suport
Cu ce notiuni ne-am confruntat astazi ?
Problematica programării
Etape în ciclul de viaţă ale unui produs program Limbaje de programare Ingineria programării
Tehnici şi instrumente de realizare a programelor
Tipuri şi structuri de aplicaţii Instrumente software de dezvoltare a aplicaţiilor
13 aprilie 2010
Lect. ing. Florin Postolache
17
Realizarea programelor Ĺ&#x;i programe suport
Intrebari ?
Multumesc ! 13 aprilie 2010
Lect. ing. Florin Postolache
18