190 likes | 360 Views
Instrument CASE pentru măsurarea complexității produselor software. Instrument CASE pentru măsurarea complexității produselor software. Agenda Noțiuni de măsurarea complexității software Descrierea instrumentului CASE Exemple și studii de caz Concluzii.
E N D
Instrument CASE pentrumăsurareacomplexitățiiproduselor software
Instrument CASE pentrumăsurareacomplexitățiiproduselor software • Agenda • Noțiuni de măsurareacomplexității software • Descriereainstrumentului CASE • Exempleșistudii de caz • Concluzii
Instrument CASE pentrumăsurareacomplexitățiiproduselor software • 1. Noțiuni de măsurareacomplexității software • La elaborarea si întreținerea produselor software, resursele consumate ajung să reprezinte 70-80% din costul total al sistemului (hardware si software) • Pentru a învinge concurenta produsele trebuie să coste cât mai puțin, să fie de calitate si să apară pe piață cât mai repede • Unul din primii pași realizați atunci când se ia decizia de elaborare a unui nou produs este evaluarea calitativă si cantitativă a acestuia pentru a stabili în mod corect necesarul de resurse umane, materiale și de timp • Lucrarea își propune sa realizeze o descriere a celor mai recente metode de evaluare, impuse pe scara largă • Atenția se va concentra în special asupra metodelor de evaluare dimensională si funcțională
Instrument CASE pentrumăsurareacomplexitățiiproduselor software • 1. Noțiuni de măsurareacomplexității software • Un proces de măsurare al produselor software reprezintă o metodă sistematică de măsurare, analiză si ajustare a procesului de dezvoltare folosind date obiective • Motivele principale pentru care produsele software sunt măsurate și analizate sunt: • pentru a caracteriza • pentru a evalua • pentru a previziona • pentru a îmbunătăți
Instrument CASE pentrumăsurareacomplexitățiiproduselor software • Metode propuse • Produsul software poate fi evaluat în mod direct fie indirect • Prin evaluarea directă a procesului de inginerie software se înțelege determinarea costurilor și a eforturilor asociate • Evaluarea indirectă a produsului reprezintă în fapt o analiză a funcționalității și complexității • Trei metrici propuse: • Măsurarea codului sursă - LOC ( Lines of Code) – directă • Complexitatea ciclomatică McCabe – indirectă • Gradul de acoperire al funcționalităților ( Scor Funcțional ) - indirectă
Instrument CASE pentrumăsurareacomplexitățiiproduselor software • Măsurarea codului sursă – LOC (Lines of Code) • LOC reprezintă numărul de linii sursă ale unui program, fără includerea comentariilor sau a elementelor de documentare • Măsurarea pe baza linilor de cod sursă LOC este dependentă de limbajul de programare • Este folosită pentru a măsura dimensiunea unui produs software și pentru a previziona efortul necesar pentru a dezvolta produsul • LOC este ineficient în compararea produselor scrise in diferite limbaje de programare • Există numeroase metrici care depind de LOC ca parametru de intrare: metrici de cost și efort, COCOMO, PRICE, SEER-SEM etc.
Instrument CASE pentrumăsurareacomplexitățiiproduselor software • Complexitatea ciclomatică McCabe • Definită ca fiind gradul de complicare a unui sistem, determinată de factori cum sunt numărul și complexitatea ramurilor condiționale, gradul de imbricare și tipurile structurilor de date • Este cea mai utilizată metrică software a complexităţii • Definiție matematică CM = na – nn + 2p • O aplicaţie frecventă a complexităţii ciclomatice este compararea rezultatului obţinut cu o valoare standard
Instrument CASE pentrumăsurareacomplexitățiiproduselor software • Gradul de acoperire al funcționalităților ( Scor Funcțional ) • Scorul funcțional (SF) este obținut utilizând o relație empirică bazată pe estimări calculabile ale domeniului de informație al produsului precum si pe evaluări ale complexității aplicației • Pentru a calcula scorul funcțional, este utilizata următoarea relație: SF = totalul-de-calcul * 0.65 + 0.01 * SUM (Fi); • totalul-de-calcul este suma rezultatelor parțiale obținute prin ponderarea valorilor domeniului de informație • Sunt aplicați coeficienți de corecție Fi, i=1..14 • Poate fi estimat pe baza LOC prin introducerea unui coeficient empiric LOC/FP ( număr de linii sursă necesar pentru a dezvolta o unitate Scor Funcțional )
Instrument CASE pentrumăsurareacomplexitățiiproduselor software • 2. Descrierea instrumentului CASE • Instrument CASE (Computer-Aided System Engineering) – instrument software care ajută la dezvoltarea produselor software de calitate înaltă, fără defecte și ușor de întreținut • Aplicație desktop dezvoltată folosind limbajul de programare Java 1.5 • Ajută la măsurarea produselor software, utilizând cele trei metrici prezentate: • Măsurarea codului sursă - LOC ( Lines of Code) • Complexitatea ciclomatică McCabe • Gradul de acoperire al funcționalităților ( Scor Funcțional )
Instrument CASE pentrumăsurareacomplexitățiiproduselor software • 2. Descrierea instrumentului CASE • Datele de intrare: codul sursă al produsului software ce urmează a fi analizat, dezvoltat folosind limbajul de programare Java • Compus din cinci componente principale:
Instrument CASE pentrumăsurareacomplexitățiiproduselor software • 2. Descrierea instrumentului CASE • Interfața grafică a instrumentului este una ergonomică, axată exclusiv pe funcționalitățile de analiză a datelor de intrare • Analizele LOC si McCabe pot fi studiate în detaliu, de la pachete pana la clase si metode Java – funcționalitate de drill-down. • Posibilitate de analiză a distribuțiilor LOC pe pachete și metode, dar și o distribuție a metodelor per pachet • Interfața grafică este structurată pe trei pagini, corespuzătoare celor trei tipuri de analize • Fiecare pagină conține informații detaliate, dar și valorile parametrilor pentru întregul produs
Instrument CASE pentrumăsurareacomplexitățiiproduselor software • 2. Descrierea instrumentului CASE
Instrument CASE pentrumăsurareacomplexitățiiproduselor software • Date de ieșire • Analiza LOC: • Medii clase: LOC, clase imbricate, număr metode, comentarii • Medii metode: LOC, comentarii • LOC produs • Analiza McCabe • Valoare CCN Produs • Analiză Funcțională • Scor Funcțional • LOC/PF • Efort estimat
Instrument CASE pentrumăsurareacomplexitățiiproduselor software • 3. Exemple și studii de caz • S-au analizat trei produse de dimensiuni mari: • CNAS-SIUI Romania • NHIF Bulgaria • IACS Romania • Toate cele trei produse sunt aplicații web, dezvoltate folsiind limbajul de programare Java • Deoarece sunt similare din punct de vedere a arhitecturii și platformei folosite și au împarțit resurse în procesul de dezvoltare, ne așteptăm să obținem rezultate comparative
Instrument CASE pentrumăsurareacomplexitățiiproduselor software • Studiu de caz - CNAS-SIUI Romania Analiza LOC Analiza McCabe CCN Produs = 1,94 Analiza Funcțională Scor Funcțional = 42.662 Efort (om/lună) = 6.932,51
Instrument CASE pentrumăsurareacomplexitățiiproduselor software • Studiu de caz – NHIF Bulgaria Analiza LOC Analiza McCabe CCN Produs = 1,85 Analiza Funcțională Scor Funcțional = 32.169 Efort (om/lună) = 4.624,3
Instrument CASE pentrumăsurareacomplexitățiiproduselor software • Studiu de caz – IACS Romania Analiza LOC Analiza McCabe CCN Produs = 1,9 Analiza Funcțională Scor Funcțional = 11.815 Efort (om/lună) = 1.772,31
Instrument CASE pentrumăsurareacomplexitățiiproduselor software • 4. Concluzii
Instrument CASE pentrumăsurareacomplexitățiiproduselor software • 4. Concluzii