Sunteți pe pagina 1din 47

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

1.1 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.

Istoria instrumentelor software a nceput odat cu primele


calculatoare (anii 50 sec. XX).
n afara limbajelor de programare avem la dispoziie o
multitudine de alte instrumente software:
SGBD-urile,
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 - 4LG (limbaje de nivel


foarte nalt),
limbaje naturale.

Limbaje 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.

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.
Asambloarele 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
sunt utilizate pentru dezvoltarea software-ului de sistem.

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.

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.

Avantajele limbajelor de nivel nalt:


creterea productivitii muncii de programare;
portabilitatea programelor;
posibilitatea scrierii de programe de ctre persoane mai
puin calificate dect n cazul limbajelor de ansamblare.
Dezavantajele limbajelor de nivel nalt
sunt mai puin eficiente dect limbajele de asamblare, din
punctul de vedere al utilizrii resurselor calculatorului;

necesit mai mult timp de execuie.

Caracteristici comune limbajelor 4GL


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).

Avantajele limbajelor 4GL


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 LISP.

1.2. 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:
1. Microanaliz
2. Analiz
3. Proiectare logic
4. Proiectare fizic
5. Implementare
6. Exploatare i ntreinere

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.

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 de prezentare
a acestora n rapoarte.

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 formularele, limbajul SQL.

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.

e. Etapa de implementare
Principalele activiti care se desfoar n cadrul 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.

f. 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).

1.3. 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.
Ex.: 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++.

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.

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.

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).

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.

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.

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 FrontPage.

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.

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.

1.4. 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 cunotine 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.

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
Office

Lotus
SmartSuite

Corel
WordPerfect
Office

Calcul tabelar
SGBD
Gestiunea
informaiilor
personale

Excel
Access
Outlook

Lotus 1-2-3
Approach
Organizer

QuatroPro
Paradox
Corel Central

1.5. TENDINE N INSTRUMENTELE SOFTWARE


Ca o tendin general se observ 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.

Avantajele soluiilor ERP:


reducerea costurilor produciei i a stocurilor,
planificarea integral a resurselor ntreprinderii,
mbuntirea productivitii globale,

maximizarea profitului prin flexibilitate i reactivitate sporit


la cerinele pieei.
Neajunsurile soluiilor ERP:
preul foarte 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.

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.

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.

n ceea ce privete strict limbajele de programare,


reinem tendinele:

limbajele orientate-obiect,
limbajele orientate-Internet,

limbajele naturale.

Limbajele 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.

Ex. Contul de card al unui client reprezint un obiect.


Numele clientului, adresa sa, numrul contului, numrul
cardului, soldul contului, limita de credit reprezint
datele, referite i ca proprieti, iar retragerea de
numerar, depunerea, transferul bancar, schimbarea
cardului reprezint aciuni, numite metode, care descriu
comportamentul obiectului.

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 de programare orientate-obiect au influenat i
alte domenii ale sistemelor informaionale: exist metode
de analiz i proiectare orientate-obiect, sisteme de
gestiune a bazelor de date orientate obiect (SGBDOO),
instrumente CASE orientate-obiect.

Limbajele orientate-Internet 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) - nu este un limbaj
de descriere a formatului unei pagini Web, ci 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. Este derivat tot din standardul SGML.

S-ar putea să vă placă și