Ingineria Sistemelor de Programe

Previzualizare curs:

Extras din curs:

INTRODUCERE

Ingineria software a parcurs o cale lungă începând cu 1968, an în care acest termen a fost

utilizat pentru prima oară la o conferinţă NATO. Iar de atunci software-ul a pătruns în viaţa

fiecăruia dintre noi în diverse moduri, aşa cum puţini anticipaseră chiar cu un deceniu în urmă.

Aşadar cunoaşterea noţiunilor de bază legate de teoria şi practica ingineriei software este esenţială

pentru înţelegerea tehnicilor de construire a unui software performant şi de asemenea a metodelor

de evaluare a riscurilor şi oportunităţilor pe care software-ul le oferă vieţii noastre de zi cu zi.

În anul 1946 Goldstine şi von Neumann apreciau că 1000 de instrucţiuni reprezintă o limită

superioară rezonabilă pentru complexitatea problemelor ce pot fi concepute ca rezolvabile cu

ajutorul calculatorului. După ce a prevăzut că nici un program pentru calculatoare personale nu va

necesita vreodată mai mult de 64 KB de memorie RAM, Bill Gates a admis în 1995 că lucrurile sau

schimbat în ultimele două decenii.

Următoarele exemple oferă o imagine asupra gradului de complexitate la care au ajuns

programele:

• Sistemul de rezervare a biletelor pentru compania aeriană KLM conţinea, în anul 1992, două

milioane de linii de cod în limbaj de asamblare;

• Sistemul de operare System V versiunea 4.0 (UNIX) a fost obţinut prin compilarea a

3700000 linii de cod;

• Programele scrise pentru naveta spaţială NASA au circa 40 de milioane de linii de cod

obiect;

• Pentru realizarea sistemului de operare IBM OS360 au fost necesari 5000 de ani-om.

Pentru a contracara ceea ce se prefigura ca fiind o criză a programării, a fost propus în anul

1968 termenul de “ingineria software” (software engineering), într-un mod oarecum provocator. Se

dorea ca arta programării să împrumute din rigoarea stiinţelor inginereşti pentru a putea livra

programe la timp şi în mod economic.

Definiţii:

IEEE Standard Glossary of Software Engineering Terminology (1990, 1991)

Aplicarea unei abordări sistematice, disciplinate, cuantificabile la realizarea, operarea şi

întreţinerea software-ului.

Fritz Bauer (1968)

Stabilirea şi utilizarea unor principii inginereşti în scopul realizării în mod economic

produse software fiabile care funcţionează eficient pe maşini reale.

Morven Gentlemen (1990)

Utilizarea metodologiilor , instrumentelor şi tehnicilor de rezolvare a problemelor practice

care apar în construcţia , instalarea , întreţinerea şi evoluţia produselor software.

Stephen Schach (1990)

O disciplină având drept obiectiv producţia unui software de calitate, livrat la termen, cu

respectarea bugetului şi care satisface cerinţele stabilite.

Boehm (1979)

Aplicarea practică a cunoştinţelor ştiinţifice în proiectarea şi construcţia programelor şi a

documentaţiei asociate necesare pentru dezvoltarea, operarea şi întreţinerii acestora.

Dennis (1975)

Ingineria software este aplicarea principiilor, aptitudinilor şi arta proiectării si construcţiei

programelor şi sistemelor de programe.

Fairley (1985)

Ingineria software este disciplina tehnică şi managerială având ca obiect producţia

sistematică şi întreţinerea produselor informatice care sunt realizate şi modificate în timp în condiţii

economice.

O definiţie cuprinzătoare a fost prezentată de Bruegge şi Dutoit în Object-Oriented

Software Engineering [2000] conform căreia Ingineria software este:

- activitate de modelare - probleme complexe sunt tratate prin modelare, atenţia fiind

concentrată asupra detaliilor semnificative si ignorând restul.

• modelul - o abstractizare a realităţii

• analiza - construcţia unui model al domeniului problemei

• proiectarea - construirea unui model pentru domeniul soluţiei

În metodele OO, modelul domeniului soluţiei este o extensie a modelului domeniului

problemei, astfel încât structura software-ului reflectă structura problemei.

- activitate de rezolvare a problemelor - modelele folosite pentru a căuta o soluţie acceptabilă

sunt:

• efectuarea de experimente

• reutilizarea unor soluţii model (reuses pattern solutions)

• evoluţia incrementală a sistemului spre o variantă acceptată de client

• revizuirea răspunsului la schimbări

- activitate de achiziţionare de informaţie-în modelare aplicaţiei şi a domeniului soluţiei, se

colectează datele, se organizează in informaţii şi se formalizează în cunoştinţe. Această

activitate este neliniară în sensul că achiziţia de noi informaţii poate invalida cunoştinţele

precedente şi se caracterizează prin:

• dezvoltare bazata pe risc - identificarea componentelor cu risc mare pentru a evita

surprizele ulterioare

• dezvoltare pe probleme (issue-based development) - execuţia in paralel a activităţilor de

dezvoltare, organizarea făcându-se ţinând cont de problemele care sunt încă nerezolvate

• dezvoltare iterativa – proiectarea si implementarea la început a părţilor cu risc ridicat

(dificile)

- activitate raţională-logică – realizatorii de software trebuie să înţeleagă contextul în care au

fost luate deciziile şi logica ce stă in spatele lor pentru a înţelege implicaţiile unei schimbări

propuse atunci când decizia este reanalizată; utilă în cazul unor sisteme care să schimbă în mod

frecvent precum şi utilă in etapa de întreţinere

Clasificarea aplicaţiilor software

• Sisteme de operare şi software de sistem

• Software timp real – restricţii timp de răspuns

• Sisteme informatice – baze de date

• Software ştiinţific

• Software inclus (ascensoare, telefoane, aparatură casnică)

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • C1_introducere.pdf
  • C10_Proiectarea_sistemelor_software.pdf
  • C11_Implementare.pdf
  • C12_Testarea_sistemelor_software.pdf
  • C13_Estimare_costuri_curs.pdf
  • C2_Modele _de dezvoltare.pdf
  • C3_Anexa1_Exemplu_DCU.pdf
  • C3_Anexa2_Exemplu_DCU.pdf
  • C3_ingineria_cerintelor.pdf
  • C4_is_curs_4.pdf
  • C5_C6_is_curs_5_6.pdf
  • C7_C8_UML.pdf
  • C9_Exprimarea_constrangerilor_in_OCL.pdf
Alte informații:
Tipuri fișiere:
pdf
Nota:
8/10 (1 voturi)
Nr fișiere:
13 fisiere
Pagini (total):
187 pagini
Imagini extrase:
187 imagini
Nr cuvinte:
56 336 cuvinte
Nr caractere:
334 377 caractere
Marime:
4.97MB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Curs
Domeniu:
Automatică
Predat:
la facultate
Materie:
Automatică
Sus!