Sunteți pe pagina 1din 49

Capitolul 1

Noiuni de baz privind instrumentele software

Agenda
Istoricul limbajelor de programare Etapele elaborrii programelor de aplicaii i rolul economitilor Instrumente pentru dezvoltarea aplicaiilor Instrumente software pentru economiti Tendine n instrumente software

Istoricul limbajelor de programare

Orice activitate dintr-o organizaie se desfoar cu ajutorul calculatorului. Programele de aplicaii s-au diversificat n permanen i, odat cu acestea, instrumentele software. Instrumentul software este un program folosit de informaticieni sau utilizatori pentru dezvoltarea programelor de aplicaii.

Istoricul limbajelor de programare

Istoria instrumentelor software a nceput odat cu primele calculatoare (anii50 sec. XX). n afara limbajelor de programare avem la dispoziie o multitudine de alte instrumente software: SGBDurile, programe de calcul tabelar, produsele CASE, programele pentru gestiunea informaiilor personale etc.

Evolutia limbajelor de programare Evoluia limbajele de programare care a fost determinat de: performanele calculatoarelor electronice, progresele din teoria i practica programrii. Limbajele de programare sunt grupate n cinci categorii: limbaje main, limbaje de asamblare, limbaje de nivel nalt, limbaje din generaia a patra (limbaje de nivel foarte nalt), limbaje naturale.

Limbajele main n primii ani ai dezvoltrii programelor, fiecare procesor avea propriul set de instruciuni, care forma aa numitul limbaj main. Toate instruciunile de programare erau redactate n cod binar, formnd secvene de cifre binare pentru adrese, date i operaii. Ex. 0110 1010 0110 1011 poate semnifica operaiunea de adunare. Dezavantaje: dificultatea scrierii i, mai ales, a nelegerii programelor; lipsa portabilitii programelor (imposibilitatea executrii lor pe alte tipuri de calculatoare dect cel pentru care au fost elaborate.

Limbajele de asamblare Limbajele de asamblare au permis reducerea dificultilor specifice programrii n limbaj main, prin folosirea unor abrevieri alfabetice (mnemonice) n locul irurilor de 0 i 1. De exemplu, instruciunea ADD R1, R2, R4 semnific adunarea valorilor coninute n registrele de memorie R1 i R2, iar rezultatul este scris n registrul R4. Codurile de operaii i poziiile din memorie sunt reprezentate prin simboluri aceste limbaje se mai numesc i simbolice. Ele simplific programarea, oferind mai mult comoditate n scrierea sau citirea i nelegerea programelor.

Limbajele de asamblare (continuare) Programele scrise n limbajele de ansamblare trebuie traduse n limbajul main, pentru a putea fi executate pe calculator. Aceast operaiune este realizat prin intermediul unor programe speciale, numite ansambloare, care preiau programele surs i le convertesc n programe obiect executabile. Principalele limbaje din aceast categorie sunt: ASSIRIS, ASSEMBLER, MAGIRIS. Limbajele de asamblare permit utilizarea mai eficient a resurselor calculatorului i sunt mai rapide la execuie, motiv pentru care ele sunt utilizate pentru dezvoltarea softwareului de sistem.

Limbajele de nivel nalt

Limbajele main i cele de asamblare sunt considerate de nivel redus. O dat cu lansarea limbajului FORTRAN (1954) s-a trecut la generaia limbajelor de nivel nalt (evoluate). Din aceast categorie fac parte: COBOL, BASIC, C i C++, ADA, PROLOG etc.

Limbajele de nivel nalt (continuare)

Pentru a fi executat, programul surs, scris ntr-un limbaj de nivel nalt, trebuie convertit n program obiect.

Aceast operaiune este realizat prin intermediul unor programe speciale, numite interpretoare sau compilatoare.

Dup compilare/interpretare urmeaz editarea de legturi, n care programul obiect este completat cu module preluate din bibliotecile sistemului de operare.

Limbajele de nivel inalt (continuare) Avantaje: creterea productivitii muncii de programare; portabilitatea programelor; posibilitatea scrierii de programe de ctre persoane mai puin calificate dect n cazul limbajelor de ansamblare. Dezavantaje: sunt mai puin eficiente dect limbajele de asamblare, din punctul de vedere al utilizrii resurselor calculatorului; necesit mai mult timp de execuie.

Limbajele 4GL Caracteristici comune: sunt centrate n jurul bazelor de date, n mod deosebit a celor relaionale, oferind faciliti pentru stocarea i interogarea datelor din baz; sunt limbaje declarative /neprocedurale: accentul este pus pe ceea ce trebuie s fac aplicaia i nu cum trebuie s fac au simplificat mult procesul de programare; pun la dispoziie o interfa grafic prietenoas, GUI (Graphical User Interface Interfa grafic utilizator).

Limbajele 4GL (continuare)

Avantaje: posibilitatea dezvoltrii de noi aplicaii mai ieftine i mai rapid; uurina ntreinerii aplicaiilor; posibilitatea ca utilizatorii s-i dezvolte propriile aplicaii. Apariia acestor limbaje un nou concept utilizatorul final informatizat (end user computing).

Limbajele naturale Ultimul pas n evoluia limbajelor de programare l reprezint limbajele naturale (limbaje de programare de generaia a cincea). Ele i propun utilizarea limbajului uman n programarea calculatoarelor. Cele mai cunoscute: limbajele INTELLECT i ELF. Aceste limbaje sunt adesea folosite ca interfee pentru instrumentele 4GL. Principalul lor neajuns este legat de translatarea programelor din limbajul natural n limbaj main, o operaiune extrem de complex i costisitoare din punctul de vedere al resurselor hardware solicitate. Ele sunt integrate cu aplicaiile de inteligen artificial. Un astfel de exemplu l reprezint limbajul LISP.

Evoluia limbajelor de programare sintez


Generatia I Caracteristici Apropierea de limbajul uman Productivitate Limbaj masina II Limbaj de ansamblare III Limbaj de nivel nalt Progres IV Limbaj neprocedural V Limbaj natural

Progres

Eficienta utilizarii resurselor Portabilitate Utilizarea de macroinstructiuni Utilizarea simbolurilor Nu Nu Nu Nu Nu Da

Diminuare

Da Da Da

Da Da Da

Da Da Da

Etapele elaborrii programelor de aplicaii i rolul economitilor Dezvoltarea programelor de aplicaii presupune parcurgerea unui proces format din mai multe etape care formeaz ciclul de via al programelor de aplicaii. Exist numeroase metodologii de dezvoltare a programelor, ce difer ntre ele prin numrul etapelor, coninutul i organizarea lor. Etapele comune majoritii metodologiilor, i rolul economitilor de-a lungul procesului de dezvoltare:

Etapele elaborrii programelor de aplicaii i rolul economitilor a. Etapa de microanaliz are ca obiectiv definirea clar a problemei i a scopului urmrit. La finalul acestei etape se elaboreaz un plan de dezvoltare, care este supus spre analiz conducerii. Cel mai adesea, economitii sunt cei care iniiaz dezvoltarea de noi aplicaii. Chiar dac iniiativa aparine altor categorii de personal, rolul economitilor rmne important, deoarece ei trebuie s elaboreze planul de dezvoltare, n care se face o estimare a cheltuielilor i beneficiilor poteniale ale aplicaiei propuse.

Etapele elaborrii programelor de aplicaii i rolul economitilor b. Etapa de analiz precizeaz funciile pe care le va realiza noua aplicaie. Sunt urmrite trei obiective: descrierea sistemului informaional existent (documentele primare, fluxurile de informaii din sistem, prelucrrile i rapoartele); identificarea i definirea cerinelor pentru noua aplicaie; documentarea detaliat a tuturor cerinelor, funcionale i nefuncionale. n finalul etapei de analiz: documentaia necesar proiectrii Economitii joac un rol determinant. Ei descriu documentele primare, prelucrrile realizate n sistem, procedurile de control, modalitile de obinere a informaiilor i prezentare a lor n rapoarte.

Etapele elaborrii programelor de aplicaii i rolul economitilor c. Proiectarea logic se deruleaz prin intermediul a trei pai (subfaze): proiectarea formularelor/formatelor (pentru culegerea datelor) i a rapoartelor; proiectarea interfeelor i a dialogurilor, pentru evidenierea modului de comunicare a utilizatorului cu programele i echipamentele; proiectarea logic a bazelor de date, prin care este conceput schema relaional a bazei de date, sub forma unui ansamblu de tabele normalizate ntre care exist legturi. Economitii pot juca un rol important dar trebuie s dein cunotine suplimentare de informatic, precum: modelul relaional i normalizarea bazelor de date, tipurile de obiecte din formulare, limbajul SQL.

Etapele elaborrii programelor de aplicaii i rolul economitilor d. Proiectarea fizic are un caracter tehnic, fiind orientat spre platformele pe care va fi implementat aplicaia. Specificaiile acestei etape vor avea un pronunat caracter tehnic, economitii intervenind rareori n derularea acestor activiti. Dou dintre activitile importante ale acestei etape privesc proiectarea fizic a bazei de date i proiectarea modulelor de program. De exemplu, la proiectarea fizic a bazei de date se vor lua n considerare facilitile de stocare i accesare a datelor din SGBD-ul ales, precum tipul de organizare a fiierelor i utilizarea indecilor.

Etapele elaborrii programelor de aplicaii i rolul economitilor f. Etapa de implementare Principalele activiti care se desfoar n cadrul acestei etapei: scrierea i testarea programelor; construirea BD; conversia datelor din vechea aplicaie n formatul cerut de noua aplicaie; instalarea aplicaiei pe calculatoare; instruirea utilizatorilor; elaborarea documentaiei aplicaiei i a manualelor de utilizare, exploatare i ntreinere.

Etapele elaborrii programelor de aplicaii i rolul economitilor g. Etapa de exploatare i ntreinere n aceast etap sistemul trebuie supus revizuirilor periodice pentru a se asigura ntreinerea: corectarea eventualelor erori aprute n exploatarea lui, mbuntirea caracteristicilor sau funciilor, ca rspuns la modificarea unor cerine organizaionale. Aceast etap este, de obicei, cea mai costisitoare (timpul pe care i-l petrec specialitii din departamentele informatice reprezint 48-60% din totalul timpului alocat pentru dezvoltarea sistemului).

INSTRUMENTE PENTRU DEZVOLTAREA APLICAIILOR

Enumerarea i descrierea instrumentelor software poate porni de la componentele programelor de aplicaii: interfaa utilizator (formulare pentru introducerea datelor, ferestre de dialog, meniuri, rapoarte etc.); modulele de program, care realizeaz prelucrrile din sistem, cum ar fi calculul salariilor, ntocmirea graficelor de rambursare etc; baza de date, n care sunt organizate i stocate toate datele necesare aplicaiei.

Mediile de programare Mediile de programare - seturi de programe care includ funciile: introducerea i editarea programului surs, transformarea programului surs n programe executabile, depanarea programelor. Exemple: MS Visual Studio, Oracle JDeveloper, Oracle PowerObjects, Java, Borland Jbuilder, Borland Delphi, IBM Visual Age, Sybase PowerBuilder. n MS Visual Studio sunt incluse mai multe limbaje de programare, cum ar fi: Visual Basic, C# sau C++.

Sistemele de gestiune a bazelor de date

Pentru stocarea i gestionarea volumelor mari de date se folosesc sistemele de gestiune a bazelor de date. Majoritatea aplicaiilor stocheaz datele n BD. Bazele de date cel mai des ntlnite sunt cele organizate dup modelul relaional: Oracle, DB2, Sybase SQL Server, MS SQL Server, MS Access, MS Visual FoxPro.

Sistemele client/server n condiiile globalizrii afacerilor i a dezvoltrii reelelor de calculatoare se simte din ce n ce mai mult nevoia distribuirii resurselor informaionale ale companiei pe mai multe calculatoare. Dezvoltarea unei aplicaii distribuite impune apelarea la arhitectura client server, care presupune conceperea aplicaiei n dou categorii de componente: componente client, care solicit anumite servicii, componente server, care furnizeaz servcii.

Sistemele client/server (continuare)

Comunicarea ntre dou componente aflate pe calculatoare diferite sau mascarea eterogenitii platformelor hardware i software sunt rezolvate prin intermediul soluiilor middleware. Cele mai cunoscute modele midleware sunt RPC (Remote Procedure Call), RMI (Remote Method Invocation), ODBC (Open Database Connectivity) i CORBA (Common Object Request Broker Architecture).

Sistemele gratuite (freeware)

n cazul n care firma nu dispune de resurse financiare care s-i permit achiziionarea unor produse program, poate apela la soluii freeware. Exist instrumente de dezvoltare software gratuite. Cel mai rspndit limbaj de programare folosit n medii de programare gratuite este Java.

Sistemele gratuite (freeware) Un SGBD gratuit, care reuete s ajung la un nivel de complexitate a prelucrrii datelor comparabil cu cel al celor mai bine vndute SGBD-uri este PostgreSQL. Spre deosebire de alte SGBD-uri gratuite (MySQL), PostgreSQL este capabil s rezolve interogri complexe adresate bazelor de date pe care le gestioneaz. La capitolul SGBD-uri gratuite ncepe s concureze i unul dintre cele mai performante SGBD-uri relaionale din lume, Oracle, prin lansarea versiunii Oracle Database 10g Express Edition.

Tehnologii Web

Dezvoltarea aplicaiilor Web presupune folosirea unor platforme diferite de mediile de programare specificate anterior. Pentru realizarea rapid a unor site-uri Web se poate apela la programul MS Expression Web. Uurina n utilizarea acestui instrument software este dat de asemnarea interfeei sale cu interfeele programelor din cadrul MS Office, de faptul c utilizatorul nu este nevoit s nvee limbajul HTML i de folosirea unor abloane.

Tehnologii Web (continuare) Trecerea la site-uri mai complexe nu presupune doar folosirea resurselor unei baze de date, ci i elemente grafice care s atrag atenia utilizatorului. Pentru construirea site-urilor Web complexe: Dreamweaver, ColdFusion, Flash i RoboDemo. Aplicaiile Web pot conine elemente de limbaj mprumutate din mediile de programare tradiionale, cum ar fi VB Scripts sau Java Scripts.

INSTRUMENTE SOFTWARE PENTRU ECONOMITI Economitilor li se ofer astzi o serie de instrumente software cu ajutorul crora pot s-i dezvolte propriile aplicaii informatice (de complexitate mai redus): instrumentele CASE, programele de calcul tabelar, sistemele de gestiune a bazelor de date (SGBD), instrumentele pentru crearea de pagini Web, instrumentele pentru organizarea informaiilor personale.

CASE (Computer Aidded Software Engineering)


CASE reprezint un instrument pentru automatizarea procesului de dezvoltare a programelor. Economitii pot realiza : planificarea resurselor financiare alocate proiectelor de sisteme informaionale, redactarea cerinelor funcionale ale aplicaiei, participarea activ la ntocmirea specificaiilor de proiectare a programelor, generarea automat a programelor sau a bazei de date fr a avea cunoatine tehnice privind limbajul de programare sau SGBD-ul folosite, testarea programelor, generarea automat a documentaiei pentru aplicaia dezvoltat. Cele mai cunoscute instrumente CASE sunt Oracle Designer i Visible Analyst.

Programele pentru gestiunea informaiilor personale

au rolul de a ajuta utilizatorii n stocarea, organizarea i extragerea informaiilor privind clienii, diferite activiti, ntlniri, edine etc.

De exemplu, informaiile pot fi extrase i prezentate sub diverse forme: un calendar electronic, o list de ntlniri sau o planificare n timp a activitilor unui proiect. Cele mai cunoscute programe: Lotus Organizer i Microsoft Outlook.

Suitele de programe Furnizorii de software destinate nespecialitilor ofer astzi pachete integrate de programe sub forma unor suite de programe n care se regsesc: un SGBD, un program de calcul tabelar, un program pentru gestiunea informaiilor personale, un procesor de texte, un procesor pentru grafic.

Principalele suite de programe i componentele lor

Pachete (suite)

Microsoft Ofice Excel Access Outlook

Lotus SmartSuite Lotus 1-2-3 Approach Organizer

Calcul tabelar SGBD Gestiunea informaiilor personale

Corel WordPerfect Office QuatroPro Paradox Corel Central

TENDINE N INSTRUMENTELE SOFTWARE

Tendin general - predilecia companiilor ctre achiziia programelor de aplicaii de la furnizorii specializai, n detrimentul dezvoltrii lor n cadrul campaniei, cu fore proprii sau prin angajarea de specialiti. n acest context, dou acronime au devenit extrem de populare: ERP i ASP.

ERP (Enterprise Resource Planning)

ERP reprezint o mega-aplicaie multi-modular care integreaz


procesele economice i optimizeaz resursele disponibile ale organizaiei, reunind toate funciunile sale ntr-o singur soluie software.

ERP elimin barierele departamentale, prin integrarea tuturor


sistemelor informaionale tranzacionale ntr-o singur baz de date, accesibil oricui din organizaie.

ERP (Enterprise Resource Planning)


ERP urmrete eliminarea granielor organizaiei cu partenerii si de afaceri. Dou aplicaii, adesea incluse n soluiile ERP, stau drept mrturie: CRM (Customer Relationship Management), centrat pe gestiunea relaiilor cu clienii, SCM (Supply Chain Management), orientat spre gestiunea relaiilor cu furnizorii. ERP nu realizeaz doar integrarea funcional, ci i pe cea tehnologic. Sub egida sa sunt reunite diverse tehnologii, precum: groupware, EDI (Electronic Data Interchange), Internet, Intranet, data warehouse (depozite de date) etc.

ERP (Enterprise Resource Planning) Avantaje: reducerea costurilor produciei i a stocurilor, planificarea integral a resurselor ntreprinderii, mbuntirea productivitii globale, maximizarea profitului prin flexibilitate i reactivitate sporit la cerinele pieei. Neajunsuri: preul exorbitant de mare, timpul ndelungat de implementare, adaptabilitatea redus la condiiile particulare din firm.

ASP (Application Service Providers)

ASP a devenit cunoscut odat cu tendina de externalizare a serviciilor informaionale, n scopul reducerii costurilor i mbuntirii performanelor acestora. Externalizarea serviciilor informaionale este posibil prin apelarea la furnizorii specializai, numii ASP (Application Service Providers).

ASP (Application Service Providers) ASP reprezint o companie care dezvolt i furnizeaz servicii informaionale folosite n comun de mai muli utilizatori, care pltesc un abonament sau taxe de folosire, serviciile fiind furnizate dintr-o locaie central prin Internet sau printr-o reea privat. Un ASP permite clienilor si accesul la un mediu de aplicaii complet, preocupndu-se de investiiile necesare n licene de aplicaii, servere, angajai i alte resurse.

ASP (Application Service Providers)

Beneficiile serviciilor ASP: investiii iniiale modeste i predictibilitatea costurilor (se pltete o tax fix pe principiul plteti pe msur ce utilizezi); posibilitatea de a fi mereu n pas cu progresele tehnologice; posibilitatea nchirierii aplicaiilor scumpe; acces la suport tehnic i consultan de specialitate pentru servicii cu nalt nivel tehnologic; obinerea de aplicaii funcionale ntr-un interval de timp foarte scurt.

ASP (Application Service Providers) La ora actual: tendina extinderii serviciilor furnizate, conceptul ASP fiind nlocuit cu XSP (X semnific servicii generice). XSP nu ofer doar aplicaii, ci i tehnologii, sisteme i procese economice. Modelul XSP promite numeroase beneficii: firmele vor putea s cumpere doar funcionalitatea pe care o doresc i atunci cnd o doresc, reducnd astfel investiiile n tehnologiile informaionale; firmele pot activa pe pia nu doar pe post de consumator de servicii ci i cel de furnizor etc.

Tendine n limbajele de programare limbajele orientate-obiect, limbajele orientate-Internet, limbajele naturale.

Limbajele orientate-obiect Limabjele orientate-obiect modeleaz sistemul informaional sub forma unui set de obiecte care interacioneaz ntre ele prin schimbul de mesaje. Un obiect integreaz datele i aciunile (procedurile) care pot fi executate asupra datelor, numite metode. Astfel, spre deosebire de limbajele anterioare, datele i programele de prelucrare a acestora nu mai sunt separate.

Limbajele orientate-obiect Exemplu: Contul de card al unui client reprezint un obiect. Proprietile obiectului (datele) - numele clientului, adresa, numrul contului, numrul cardului, soldul contului, limita de credit Metodele obiectului (comportamentul) - retragerea de numerar, depunerea, transferul bancar, schimbarea cardului

Limbajele orientate-obiect Dezvoltarea limbajelor orientate-obiect a determinat apariia programrii vizuale. Limbajele vizuale dispun de un mediu grafic ce permite programatorilor s dezvolte aplicaii prin manipularea direct a unor imagini, n loc de scrierea de programe. Ex. Visual Basic (cel mai cunoscut), DELPHI, Power Objects, Visual C++.

Limbajele orientate-Internet Ele se refer la tehnologiile care stau la baza dezvoltrii aplicaiilor Web, cele mai importante fiind limbajele HTML i XML. HTML (HyperText Markup Language) - limbaj de descriere utilizat pentru crearea paginilor Web sub forma documentelor hypertext sau hypermedia. HTML este derivat din SGML (Standard Generalized Markup Language) - metod de reprezentare a limbajelor de formatare a documentelor. XML (eXtensible Markup Language) - este un limbaj de descriere a coninutului paginilor Web. De exemplu, informaiile privind zborurile aeriene de pe pagina Web a unei agenii de turism vor fi descrise prin intermediul tagurilor XML.