Documente Academic
Documente Profesional
Documente Cultură
Obiectivele i principiile ingineriei software. Ciclul de via. via. Civa termeni Misiunea inginerilor software Abordri specifice Obiective Principii Produse pentru dezvoltare software, procese si resurse Modele ale procesului de dezvoltare software Standarde
IP- Vasile Stoicu-Tivadar IPStoicu1 / 53
Civa termeni
(industrial) process control)
Sistem de calcul utilizat pentru conducerea unor pri sau n totalitate unor pri sau n totalitate a unui proces n sens larg (sau numai proces tehnologic) cu scopul realizrii i meninerii unor performane tehnice i economice i care prezint anumite cerine specifice obligatorii (rspuns rapid, siguran n funcionare).
Echipament
Interfee de proces
Operator uman
Proces
Proceduri de operare
IP - Vasile Stoicu-Tivadar Stoicu-
Software
2 / 53
de proces) Civa termeni Def.: un sistem on-line (legatprescris a caracterizat printr-o valoare timpului de rspuns (de cele mai multe ori de ordinul secundelor sau fraciuni de secund) fiind capabil s urmreasc i s rspund n timp util la solicitrile din exterior. Este vorba de acele sisteme la care o abatere de la limita maxim a timpului de rspuns s nsemne incidente grave n mediul controlat.
3 / 53
Civa termeni
Stil de programare
modul de aplicare a tehnicilor de programare, mod de documentare a programului, de aezare n pagin a textului surs, n general totalitatea atributelor care confer unui program o anumit personalitate urmrind realizarea unor anumite performane.
4 / 53
Demn de atenie !
Programarea nu este o art ci o activitate inginereasc pretenioas:
nu poate fi realizat dect n echip programele obinute trebuie s fie userfriendly i nu pentru specialiti trebuie s poat fi nelese si modificate de ctre alte persoane dect proiectanii
5 / 53
Civa termeni
Ingineria programrii (Software Engineering)
Domeniu al informaticii ce se ocup cu determinarea celor mai adecvate soluii, procedee i instrumente care s conduc n condiii optime la elaborarea unui produs program astfel ca acesta s satisfac toate cerinele impuse de specificaiile de definire. Proiectarea i dezvoltarea aplicaiilor software
6 / 53
Cteodat problema e din domeniul calculatoarelor dar de multe ori e din alte domenii este esnial s nelegem nti natura problemei, apoi vom folosi tehnologia ca o unealt pentru a implementa soluia.
7 / 53
8 / 53
Sintez-
punem mpreun punem o structurp mare din blocuri constructive mai mici
Important: Compunerea unor soluii individuale poate s fie la fel de provocatoare ca i gsirea soluiei nsei. (a se vedea scrierea unui roman: dicionarul cuprinde toate cuvintele care vor fi folosite n roman, dar partea dificil a scrisului const n a decide cum s fie compus i organizat cartea ntreag)
9 / 53
DA
NU
Cum era nainte de a exista procesoarele de text, pota electronic, , INTERNET etc. ?
Exemple punctuale pentru lipsa calitii: 1. United States Internal Revenue Service sistemul Creterea federal de calcul al taxelor un fiasco de 4 miliarde nepermis a din cauza proastei planificri costurilor 2. Un sistem SDI (Initiavtiav de Aparare Strategica Razboiul Stelelor) ar necesita cel puin 10 miloane linii de cod (unii estimeaz chiar 00 mil.) -> testarea unui asemenea volum de cod este aproape imposibil 3. Software-ul pentru Therac 25 X-ray machine - > utilizarea neateptat , neobinuit a tastelor sgei -> a omort civa pacieni
Probleme de testare
Pericol n utilizare Exist cteva tehnici de a crete calitatea software (testare cu date de test, revizia colegial 10 / 53 peer review etc.)
rspunsul
Calitatea produsului
Urmtorul
11 / 53
Model care leag perspectiva proiectantului (perspectiva intern) de cea a utilizatorului (perspectiva extern)
Modelul de calitate al lui McCall napoi IP - Vasile Stoicu-Tivadar Stoicu12 / 53
14 / 53
ABORDAREA SISTEMIC
Often, the hardware and software we put toghether must interact with users, with other software tasks, with other pieces of hardware, with of existing databases, with other computer systems -> with the boundaries of the project.
Example: a program for printing paychecks for the employees; we must know whether the program simply reads hours worked from another system and calculate the results or also calculate taxes, pensions etc.
Where does the project begin and end ? The same question -> applies to any system A system - a collection of objects and activities
plus a description of the relationships that tie the objectives and activities together. Typically: for each activity, a list of inputs required, actions taken, outputs produced.
Any collection of component elements that work together to perform a task. Examples are a hardware system consisting of a microprocessor, its allied chips and circuitry, input and output devices, and peripheral devices; an operating system consisting of a set of programs and data files; or a database management system used to process specific kinds of information
16 / 53
Elemente: Activiti i obiecte activitate ceva ce ce ntmpl n sistem (de regul descris ca un eveniment iniiat de un trigger transform ceva n altceva schmibndu-i caracteristicile prin translatare, schimbare, combinare etc. ) obiect sau entitate elementele implicate n activiti uzual relaionate cumva (tabele, matrici, nregistrri etc. sau vzute independent, avnd asociat o list de caracteristici ex. Abordarea Orientat pe Obiecte) Relaii i marginile sistemului -unele elemente traverseaz marginile pentru a intra n sistem, altele sunt produse ale sistemului i l prsesc pentru a fi utilizate de alt sistem etc.
IP- Vasile Stoicu-Tivadar IPStoicuieiri
17 / 53
18 / 53
ABORDAREA INGINEREASC
ndat ce am neles natura unui sistem, putem s l construim. Aici, partea inginereasc a ingineriei programrii devine mai important. inginereasc programrii Proiectele software avanseaz ntr-un mod similar cu procesul de construire a unei ntrcase: case: analiza i definirea cerinelor proiectarea sistemului (descrie doar aparenele poate fi revizuit de client) proiectarea programului implementarea programului (scrierea programului) testele de modul testele de integrare testele de sistem livrarea sistemului ntreinerea n realitate, muli din aceti pai se repet (de exemplu, revizuind proiectarea sistemului, pot s apar noi cerine). Definim un proces de dezvoltare software ca orice descriere a dezvoltrii software care conine unele din activitile de mai sus, organizate astfel nct mpreun s produc cod testat. 19 / 53
Aspecte etice
n activitatea de dezvoltare soft trebuie urmrite i aspectele etice i sociale ale consecinelor utilizrii produselor proiectate. De aceea, n activitatea de proiectare trebuie s dea de gndit urmtoarele aspecte: a) nlocuirea rezolvrii de probleme ale clienilor prin alte probleme (adic le crem acestora noi probleme)
Ex: cuplu pervers: masina de tuns iarba, bicicleta ergonomic.
Un reprezentant al clasei de mijloc i cumpr main de tuns iarba (scump) pentru a ntreine gazonul; deoarece folosind aceast main nu depune efortt, este sedentar deoarece i risipete unica posibilitate de a depune efort, neavnd timp n afar de tunsul ierbii i i cumpr n consecin i o biciclet ergonomic (scump) pentru a-i menine sntatea, n loc s i cumpere o coas (ieftin) pentru a rezolva ambele probleme.
b. s nu crem false necesiti (exemplu: aparat video programabil cu prea multe i prea complicate posibiliti care nu vor fi aproape niciodat exploatate); c) din punct de vedere strategic s orientam corect resursele disponibile; d) s nu se uite nici un moment c produsul este realizat pentru a IP - Vasile Stoicu-Tivadar Stoicu21 / 53 fi utilizat de oameni.
Exemplul 2
Implementarea prin: parametrizari Structuri de date potrivite, Tehnici speciale de programare, Scrierea codului pentru refolosire etc.
IP- Vasile Stoicu-Tivadar IPStoicu23 / 53
Fiabilitatea
se refera la evitarea, gasirea si repararea greselilor cat de repede permite procesul de proiectare, si restabilirea functionarii corecte daca apar erori de functionare. Nu putem impune aceasta prin adaugarea, mai tarziu, de componente speciale pentru a creste siguranta; - este foarte important pentru procesul de control software Exista cateva tehnici pentru a creste siguranta (redundanta statica si dinamica, etc.). Eficienta si siguranta sunt puternic influentate de catre tehnicile ingineriei software folosite. Statisticile arata ca 60% din erori apartin etapei de analiza si doar 40% apar in conceperea propriu-zisa (adica de fapt nu s-a inteles bine ce trebuie facut) 24 / 53
De asemenea, gestionarea unui proiect soft este posibila doar daca inginerii soft din cadrul echipei de programare asigura o forma standard usor accesibila a produsului lor. O proiectare soft buna, care tine cont de toate aceste obiective, este influentata puternic de catre metode, tehnici si unelte descrise si impuse de catre inginerul soft. Obiectivele pot fi atinse prin imprimarea in practica curenta a principiilor ingineriei soft.
25 / 53
Starea semnalelor
Semnalizare avarie
Masuratori
26 / 53
4. Ascunderea
accentuarea elementelor esentiale si ascunderea detaliilor care nu afecteaza alte componente ale sistemului Exemplu: abordarea orientata pe obiecte - incapsularea Observatie: diferenta dintre abstractizare si ascundere: amandoua accentueaza aspecte esentiale dar ascunderea defineste restrictiile de acces. 5. Uniformitatea - asigura consistenta programelor, este specifica fiecarui Uniformitatea inginer in programare Examplu: conventiile proprii ale fiecarui programator in notatii
6. Completitudinea Completitudinea
omise.
uniformitate)
7. Confirmabilitatea
fie formulate explicit si de asemenea disponibile . Exemplu: necesitatea procedurilor de testare (ca document)
O serie de sarcini cerute: O serie de pasi implicand activitati, constrangeri, resurse care produc un produs dorit.
Cand procesul implica crearea unui anume produs, ne referim la proces ca la un ciclu de viata. . Totusi, procesul de dezvoltare soft este numit ciclu de viata soft, deoarece descrie viata unui produs soft de la conceptie la implementare, livrare, folosire si intretinere.
28 / 53
Motive pentru modelarea unui proces: Cand un grup scrie o descriere a procesului sau Fiecare proces de dezvoltare a de dezvoltare, formeaza o intelegere comuna a modelului soft include cerintele sistemului ca intrare si livrarea activitatilor, resurselor si constrangerilor produsului ca iesire. Ajuta la gasirea discordantelor si a omisiunilor Multe asemenea modele au fost Modelul trebuie sa reflecte scopurile dezvoltarii propuse de-a lungul anilor. (calitate ridicata, gasirea de erori, incadrarea in buget); pe masura ce aplicatia este finalizata, echipa evalueaza cerintele necesare pentru o apropiere de obiectivului propus Fiecare proces trebuie creat pentru situatia speciala in care va fi folosit; crearea unui model al procesului ajuta echipa de programatori sa inteleaga unde este folosita aplicatia lor.
IP- Vasile Stoicu-Tivadar IPStoicu-
29 / 53
31 / 53
32 / 53
dar (inconveniente)
nu reflecta intotdeauna modul in care este implementeat codul Modelul nu asigura ghidarea sefilor de proiecte referitor la cum sa faca fata schimbarilor si activitatilor care probabil vor aparea neasteptat in timpul implementarii (nu ne pregateste pentru surprize ) Lipsa tratarii soft a ,,procesului de ,,procesului rezolvare a problemelor (producerea problemelor (producerea softului nu este o rutina ci un proces de creatie) creatie)
33 / 53
PROTOTIPURILE
Procesul de implementare soft poate ajuta pentru a controla caderile prin includerea de activitati si subactivitati care sporesc intelegerea; prototipul este un asemenea subproces Un prototip este un produs partial finalizat care face posibila o examinare a unor aspecte ale sistemului propus de catre cumparator si producator pentru a decide daca este convenabil sau se apropie de produsul final. Adesea, interfata cu utilizatorul este construita si testata ca un prototip, de aceea utilizatorul intelege cum va arata noul sistem si designerii au o imagine mai clara despre cum doreste utilizatorul sa interactioneze cu sistemul.
Asigura ca sistemul are implementate toate cerintele Prototipul este folositor pentru verificare si validare. Asigura ca fiecare functie functioneaza corect
IP- Vasile Stoicu-Tivadar IPStoicu34 / 53
MODELUL V
Este o variatie a modelului Cascada care demonstreaza cum activitatile de testare sunt legate de analiza si proiectare (Ministerul de Aparare German, 1992) Forma ciclului de viata dupa modelul V este cu analiza si proiectarea in stanga, iar testarea si intretinerea in dreapta. Sugereaza ca testele de integrare vor fi folosite de asemenea pentru a verifica continutul programului --> in timpul testelor, programatorii si echipa de testare trebuie sa se asigure ca toate aspectele conceperii programului au fost implementate corect cu ajutorul codului. De asemenea, testarea sistemului trebuie sa verifice proiectarea sistemului. Testul de acceptanta, care este efectuat mai degraba de client decat de programator(i), valideaza cerintele prin asocierea unor pasi de testare cu fiecare element din lista de cerinte (inainte ca sistemul sa fie acceptat sau platit).
Partea dreapta a modelului V poate fi reexecutata pentru a repara si imbunatati cerintele, designul si codul inainte ca pasii de testare din partea dreapta sa fie finalizati . Focus -> documente & produse (Waterfall) -> activitati & corectitudine (V Model)
35 / 53
MODELUL DE PROTOTIPIZARE
Prototipizarea poate fi ea insasi baza pentru un model efectiv. Prototipizarea permite partilor sistemului sa poata fi construite repede pentru a intelege sau clarifica problemele aparute. Cerinta de repetare a investigatiilor asigura ca programatorul, utilizatorul si clientul ajung la un acord comun atat in ceea ce este necesar cat si in ceea ce este propus. Una sau mai multe bucle pentru cerintele prototipului, designului sau sistemului pot fi eliminate, asta depinzand de cerintele prototipului. Oricum, toate cerintele raman aceleasi: reducerea riscului si incertitudinea in programare IP- Vasile Stoicu-Tivadar IPStoicu36 / 53
PROTOTIPIZAREA - continuare
Caile: Prototipul facut pe hartie (schite, desene, tabele, rapoarte) Construirea unui prototip functional (exemplu: interfete construite in Visual Basic doar acestea, fara prelucrari) Folosirea altor programe existente ca modele de referinta
Avantaje:
Dezavantaje:
Putem evita riscul unui model cascada identificand neintelegerile despre cerinte, dintre programator si client Imbunatatirea dialogului cu clientul
Clientul crede ca aplicatia finala nu este departe de prototip deoarece acesta nu stie deaspre partile ascunse ale aplicatiei Programatorul are tendinta sa neglijeze sau sa uite parti ale aplicatiei care lipsesc in prototip
37 / 53
SPECIFICARILE OPERATIONALE
Pentru multe sisteme, nesiguranta in privinta cerintelor duce la schimbri si probleme mai tarziu n aplicatia respectiva. Aceasta abordare( Zave, 1984) permite programatorilor si clientilor sa examineze cerintele si implicrile lor n dezvoltare, unde ei pot s discute si sa rezolve unele dintre probleme. Cerintele sunt evaluate ntr-un mod care demonstreaz comportarea sistemului - se poate incepe evaluarea folosind un pachet de soft, astfel incat implicarea lor s poata fi evaluata naintea nceperii proiectului (dar se foloseste un alt mediu si limbaj decat cel de implementare). Exemplu: Dac specificatia cere ca sistemul propus sa poata fi manipulat de catre 20 utilizatori, o forma executabila a specificatiei poate s ajute analistii pentru a determina dac acest numr de utilizatori solicita prea mult sistemul.
Acest tip este foarte diferit de modelele traditionale. Modelul cascada desparte functionalitatea sistemului de proiectare( ''ce'' este separat de ''cum''), intentionnd s pstreze clientii departe de implementare. Specificatia operational permite ca functionalitatea si proiectarea sa fie unite. Specificatia operational este asemntoare cu prototipul. Procesul permite utilizatorului si programatorului sa examineze cerintele mai devreme. IP- Vasile Stoicu-Tivadar IPStoicu38 / 53
MODELUL TRANSFORMATIONAL
ncearc s reduc posibilitatile de eroare eliminnd ctiva pasi de dezvoltare majori (Balzer, 1981). Folosind suportul de automatizare, procesul transformational aplica o serie de transformri pentru a schimba o specificatie ntr-un sistem gata de livrare. Exemple de transformri: - Schimbnd reprezentarea de date selectnd algoritmii - optimiznd - compilnd. Un dezavantaj major este nevoia pentru o specificatie formala realizata cu precizie.
IP- Vasile Stoicu-Tivadar IPStoicu39 / 53
40 / 53
Incrementari si iteratii
Abordari : Dezvoltarea incrementala Sistemul este impartit n subsisteme dupa functionalitate iar varianta finala este la nceput dintr-un subsistem de mici dimensiuni, si dup aceea cu fiecare noua imbunatatire i se adauga functionalitatati noi. Dezvoltarea iterativ - livreaz un sistem intreg la nceput si dup aceea schimb functionalitatea fiecarui subsistem cu fiecare varianta nou (o imbunatateste)
Exemplu: Un program de procesare de text, cu trei tipuri de functionalitate (creare de text, organizare - taie & lipeste, formare fonturile). Pentru incrementarea programului, 'varianta 1' contine doar functiile de creare a textului apoi crearea si organizarea, apoi toate functiile. Pentru dezvoltarea iterativ, 'varianta 1' contine toate functiile ntr-o forma primitiva ( exemplu taie & lipeste este lenta), pe cand 'varianta 2' sporeste calitatea functiilor etc. Fiecare noua versiune mbuntteste una anterioara ntr-un anume fel.
41 / 53
MODELUL SPIRALA
Combin activitatea de dezvoltare cu managementul de risc pentru a minimiza si controla riscul (Boehm, 1988). Modelul acesta este ntr-un fel asemenea dezvoltarii iterative. ncepnd cu o schit initial, procesul insereaz un pas pentru a evalua riscul si o alternativa de prototip naintea ca un document de ''concept al operatiilor'' sa fie creat pentru a descrie la un nivel nalt cum ar trebui s functioneze procesul de dezvoltare al sistemul. Apoi, cu fiecare iteratie, analiza riscurilor cantareste diferitele alternative din punct de vedere al cerintelor si constrangerilor, iar prototipizarea verifica fezabilitatea inainte ca o anumita alternativa sa fie aleasa. Cnd riscurile sunt identificate, managerii de proiect trebuie s se hotrasc cum sa-l elimine sau sa-l minimizeze.
Exemplu: Proiectantii nu pot s fie siguri dac utilizatorii vor prefera un tip de interfat sau altul; pentru a minimaliza riscul, ei pot produce o interfata pentru fiecare prototip si sa efectueze testele pentru a vedea care este cea preferata.
IP- Vasile Stoicu-Tivadar IPStoicu43 / 53
44 / 53
Acest model este folosit pentru proiecte la scara mare, care implica un risc deosebit (adica resurse financiare mari).
45 / 53
Accent pe cod mai degrab dect pe un proiect predefinit Dezvoltare iterativ Livrare rapid i flexibilitate pentru a ndeplini cerine n schimbare Manifesto AGILE
Mai degrab indivizi i interaciuni dect procese i unelte Software care funcioneaz mai degrab dect o bun documentaie Colaborare cu clientul mai degrab dect negociere contractual Rspuns la schimbri mai degrab dect urmrirea unui plan
46 / 53
DOD-STDDOD-STD-2167 un standard
Exist multe standarde pentru dezvoltarea software, dar multe din acestea sunt neoficiale sau specifice companiilor respective. Unul din primele este standardul DOD-STD-2167 A sau MIL-STD-2167 de la US Dept. of DOD-STDMIL-STDDefense (Dod).
Specific un model ca si cel cascad: Analiza/proiectarea cerintelor de sistem Analiza cerintelor Proiectarea preliminara Codarea si testarea (CSU) Computer Software Component (CSC) integrare si testare Computer Software Configuration Item (CSCI) testare Integrarea si testarea de sistem
Standardul este permis de asemenea pentru 8 verificari sau treceri n revist si 17 tipuri de rapoarte oficiale si documentaie.
Lista de verificari:
inspectia cerintelor soft inspectia proiectarii soft inspectia specificatiilor soft inspectia proiectarii preliminare inspectia proiectarii finale revizuirea configuratiei functionale revizuirea configuratiei fizice inspectia variantei oficiale
48 / 53
49 / 53
Lista rapoartelor si documentatiei: continutul documentului sistem/segment plan de dezvoltare soft specificatiile cerintelor soft specificatia cerintelor interfetei documentul de concepere a interfetei Specificatiile de producere soft Documentul de descriere a versiunii Planul de testare a soft-ului Planul de descriere a soft-ului Raportul de testare soft Manualul operatorului Manualul programatorului Manualul suportului tehnic Propunerea de eventuale schimbari Notificarea specificatiilor de schimbare
In USA multe aplicatii dificile sunt dezvoltate folosind 2167 A, dar multe sisteme sunt implementate folosind un subset mult mai mic al modelului. Acest standard a fost partial depasit de catre standardul IEEE 839 si ISO 9000.
50 / 53
51 / 53
ISO 9000
ISO 9000 (International Standard Organisation), este un standard international pentru imbunatatirea calitatii, care a fost adoptat in Europa, SUA, Asia.
Standardul a fost conceput pentru aplicarea sa pentru o larga varietate de producatori. ISO 9001 -9003 se aplica intreprinderilor, in conformitate cu scopul activitatilor lor. Familia ISO 9004 si ISO 9000-X sunt documente care asigura indrumarea pentru aplicatiile specifice anumitor domenii.
Pentru dezvoltarea soft ISO 9000-3 este documentul de interes. ISO 9000 este mai bine situata decat 2167 A pentru dezvoltare produselor comerciale. Chiar unele unitati ingineresti soft de aparare au trecut la ISO 9000 in echivalent militar, MIL-STD-498. Standardele ISO sunt orientate pe proces, ele ajutand companiile sa-si creeze un mediu care sa garanteze o anumita calitate a produselor sale. Principalele campuri ale calitatii care intereseaza:
responsibilitatea managementului Calitatea sistemului Revizia contractelor controlul proiectarii Controlul documentelor si datelor Identificarea si trasabilitatea produselor Controlul proceselor Inspectie si testare Controlul inspectiei, masurarea si testarea echipamentelor Inspectia si nivelul testarii Controlul non-conformitatii produselor Actiuni de corectare si prevenire manipulare, stocare, impachetare, pastrare si livrare Controlul inregistrarilor de calitate calitatea interna a contabilitatii instruire Service (intretinere) tehnici statistice
Pentru a obtine certificarea ISO standard, este cerut un volum semnificativ de documente. Pentru a implementa intr-o companie acest standard, este necesara in prealabil o analiza a beneficiilor, pentru a nu cheltui mai mult decat poate fi obtinut.
52 / 53
IEEE 830
IEEE 830-1993 contine recomandarile practice pentru Software Design Descriptions (SDDs).
Ghidul este descris ca si o coperta a activitatilor de-a lungul proiectarii. Aspectul recomandat al continutului proiectului include combinatii de decompozitii, dependenta, interfata, si descriere a detaliilor. Descrierea decompozitiei este folosita pentru a incadra entitatile de proiectare in sistem. Fiecare entitate de acest fel este descrisa de catre identificarea sa, tip, scop, functie si subordonare. Sectiunea dependentelor este o descriere a relatiilor dintre entitati si resurse sistem. Atributele entitatii includ identificare, tip, scop, dependente si resurse (structuri, diagrame de date, etc)
Descrierea interfetei asigura o lista cu tot ceea ce proiectantul trebuie sa stie despre folosirea entitatilor (fiecare inregistrare cu identificare, functie sau interfetedictionare de date, liste cu parametri, etc.) Descrierea detaliata este folosita pentru a arata detaliile interne ale fiecarei entitati a sistemului ale caror atribute includ identificarea, descrierea procesarilor si descrierea detaliata a datele Standardul este incomplet (el specifica doar cererile legate de proiectare si descriere. Sunt necesare informatii suplimentare.
53 / 53
Modelele prezentate sunt doar cateva din cele folosite Alte modele ale proceselor pot fi definite si concepute pentru nevoile utilizatorilor, clientului si proiectantilor. Ar trebui sa percepem procesul de dezvoltare software ca o colectie a modelelor proceselor, mai degraba decat a unui singur model. Indiferent de modelul procesului folosit, multe activitati sunt similare. Adesea, modelul procesului este impus de catre organizatiile soft (in functie de cultura interna, uneltele software disponibile, instruire etc).
IP- Vasile Stoicu-Tivadar IPStoicu54 / 53
ca echip echip un model bun arata fiecarui membru al echipei ce activitati apar intr-un proiect intrpentru a si le putea imparti managerul proiectului poate folosi tehnicile specifice procesului pentru a imbunatati procesul, simuland activitati si urmarind resurse pentru procesul, determinarea echipei optime si activitatile pentru a se incadra in bugetul si termenele stabilite
IP- Vasile Stoicu-Tivadar IPStoicu55 / 53