351 likes | 900 Views
Sigurimi i Cilesise se Software (Software Quality Assurance). Inxhinieri Software Leksion 13. Hyrje. Disiplina e Inxhinierisë Software punon për të arritur një qëllim final: prodhimin e produkteve software me cilësi të lartë.
E N D
Sigurimi i Cilesise se Software (Software Quality Assurance) Inxhinieri Software Leksion 13 Iralda Mitro
Hyrje • Disiplina e Inxhinierisë Software punon për të arritur një qëllim final:prodhimin e produkteve software me cilësi të lartë. • Sigurimi i cilësisë së software si një aktivitet çadër i ciklit jetësor e shoqëron projektin gjatë gjithë skedulës së tij • Ështëi gabuar mendimi se ky aktivitet fillon me gjenerimin e kodit. • Jo të gjithë kanë të njëjtin mendim mbi cilësinë dhe mënyrat e arritjes së saj. • Nqs një pjesë e software nuk realizohet me cilësinë e duhur, kjo pjesë duhet të ripunohet ose në rastin më të keq mund të çojë në dështimin e projektit. • Nqs një skuadër software e vendos theksin mbi cilësinë gjatë gjithë aktiviteteve inxhinierikë, zvogëlohet ndjeshëm sasia e punës që duhet të ribëhet çka rezulton në kosto më të ulët dhe nxjerrje të hershme të produktit në treg Iralda Mitro
Qellimi • Nuk është e mjaftueshme vetëm të theksosh se sa e rëndësishme është cilësia në një sistem/produkt software. Ajo që duhet është: • Të përcaktohet në mënyrë eksplicite se çfarë kuptohet me “cilësi të software”. • Të përcaktohen një grup aktivitetesh të cilët ndihmojnë në sigurimin e cilësisë. • Të zbatohen aktivitetet e paracaktuar në çdo projekt software. • Të përdoren metrika për përmirësimin e procesit software dhe për pasojë cilësinë e tij. IraldaMitro
CfareperfshinSigurimi i Cilësisë? • Metoda dhe mjete efektivë të Inxhinierisë Software. • Rishikime teknike formale gjatë gjithë procesit software. • Një strategji të ndërlidhur testimi të software. • Kontroll të dokumentacionit të software dhe të ndryshimeve të bëra në të. • Procedura të cilat sigurojnë përputhjen e software-it me standardet e zhvillimit. • Matje dhe mekanizma raportues. • Të gjitha finalizohen në një plan SQA. Ky plan ndërtohet për të përcaktuar strategjinë që do të përdorë skuadra software për sigurimin e cilësisë. Iralda Mitro
Koncepte të Sigurimit të Cilësisë Iralda Mitro
1. KontrolliiCilësisëdheKontrolliivariacionit • Fabrikimi i produkteve identikë është një ndër sfidat me të cilat duhet të përballen industritë prodhuese të shumë produkteve. • Nuk është e lehtë që të gjithë produktet t’i përputhen me të njëjtën saktësi standarteve të paracaktuar për zhvillim. • Dy qarqe elektronikë ndonëse mund të jenë të prodhuar nga e njëjta fabrikë, paraqesin ndryshime nga pikëpamja gjeometrike e vendosjes së transistorëve dhe e organizimit të tyre. Një dukuri e tillë njihet si ndryshimi midis mostrave. • Kontrolli i variacionit është zemra e kontrollit të cilësisë. Iralda Mitro
1. KontrolliiCilësisëdheKontrolliivariacionit • Në kontekstin e software kontrolli i variacionit aplikohet mbi procesin e përdorur, burimet e shpenzuar dhe cilësinë e atributeve të produktit përfundimtar. • Ajo që synohet është minimizimi i diferencave midis burimeve të shpenzuar dhe atyre të parashikuar për shpenzim duke përfshirë këtu stafin, pajisjet, kohën kalendarike etj. • Përveç minimizimit të numrit të defekteve synohet edhe kontrolli i variacionit të numrit të bug-eve nga një lëshim në tjetrin. Iralda Mitro
1. KontrolliiCilësisëdheKontrolliivariacionit • Kontrolli i cilësisë (i cili shpesh barazohet me Kontrollin e variacionit) përfshin një sërë inspektimesh, rishikimesh dhe testimesh që përdoren gjatë procesit software për tu siguruar që çdo produkt i punës përputhet me kërkesat që i janë caktuar. • Kontrolli i cilësisë përbën një cikël feedback ndaj procesit software që ka prodhuar produktin nën shqyrtim. • Aktivitetet e kontrollit të cilësisë mund të kryhen në mënyrë manuale, të automatizuar ose si një kombinim i këtyre të dyjave. • Në çdo rast është e rëndësishme që paraprakisht të specifikohen standarde të matshme për çdo produkt të pritur në mënyrë që të mundësohet krahasimi. Iralda Mitro
2. Cilesia • Pavarësisht nga çfarë kuptojnë njerëz të ndryshëm me cilësi gjithmonë i referohen tipareve të “shkëlqyer” të produktit që presin. • Për qëllimet që interesohemi cilësia e software përkufizohet si: • Shkalla e konformancës ndaj kërkesave të parapërcaktuara funksionale dhe të performancës , standardeve të zhvillimit të dokumentuara në mënyrë eksplicite dhe karakteristikave implicite që priten prej një produkti të zhvilluar në mënyrë profesionale. • Cilësia e një produkti në përgjithësi lidhet me atribute të matshme dhe tekrahasueshme të tij. • Atribute të tillë për një produkt software janë • kompleksiteti ciklomatik • Kohezioni • numri i pikave funksionale dhe i rreshtave kod etj; • Të gjithë këta koncepte janë çështje të matjeve dhe metrikave software-ike(Software measurement and metrics). Iralda Mitro
2. Cilesia • Kur ekzaminohen atributet e matshëm të një njësie software, merren në konsideratë dy lloj cilësish: • Cilësinëdizenjim. Cilësia në dizenjim i referohet karakteristikave që dizenjuesi specifikon për një njësi software. Sa më të mira të specifikohen karakteristikat në dizenjim aq më e lartë është vetë cilësia e software. • Cilësinëkonformancë. Cilësia në konformancë është shkalla e respektimit të specifikimeve të Dizenjimit gjatë prodhimit të software. Sa më e lartë të jetë shkalla e konformancës aq më e lartë pritet të jetë cilësia e software. • Gjatë zhvillimit të software, cilësia në dizenjim përfshin kërkesat, specifikimin dhe dizenjimin e sistemit. • Ndërsa cilësia në konformancë kryesisht fillon gjatë implementimit. Nqs implementimi ndjek dizenjimin dhe sistemi rezultant kënaq kërkesat e tij + qëllimet e performancës atëherë cilësia e konformancës është e lartë. Iralda Mitro
3. Kostoja e cilësisë • Kostoja e cilësisë përfshin të gjitha shpenzimet e kryer në kërkim të cilësisë ose gjatë kryerjes së aktiviteteve të lidhur me cilësinë. Të tillë shpenzime janë: • Shpenzime parandalimi. Shembuj: Planifikim cilësie, rishikime teknike formale, testim pajisjesh, trajnim. • Shpenzime vlerësimi. Shembuj: Inspektime të procesit, mirëmbajtja dhe përshtatja e pajisjeve, testimi. • Shpenzime dështimi. Shembuj: Rikryerja e punëve, riparimi, analiza dështimi. • Shpenzime të jashtëm dështimi. Shembuj: Zgjidhje të pakënaqësive, kthim i produkteve, zëvendësim i produkteve, punë që përfshihen në garanci, suport & ndihmë. Iralda Mitro
Sigurimiicilësisë Iralda Mitro
Sigurimi i cilësisë • Sigurimi i cilësisë konsiston në funksione auditues dhe raportues të menaxhimit. • Qëllimi është ta pajisë menaxhimin me të dhënat e nevojshme për tu informuar rreth cilësisë së produktit për tu siguruar se ai po përmbush qëllimet e tij. • Sigurisht që nqs të dhënat e përftuara gjatë sigurimit të cilësisë identifikojnë probleme, është detyrë e menaxhimit t’i adresojë dhe të aplikojë burimet e nevojshëm për të zgjidhur çështjet e cilësisë. Iralda Mitro
Aktivitetetësigurimittëcilësisë • Inxhinierët software, menaxherët e projektit, klientët, agjentët e shitjes, grupi SQA; të gjithë këta kanë përgjegjësi për sigurimin e cilësisë. • Grupi SQA shërben si përfaqësues i brendshëm i klientit në projekt, çka do të thotë se grupi SQA duhet ta shikojë projektin nga këndvështrimi i klientit. • Qëllimi i grupit SQA është të ndihmojë skuadrën software të arrijë nivele të lartë të cilësisë. Iralda Mitro
Aktivitetetësigurimittëcilësisë • Instituti i Inxhinierisë Software(SEI-Software Engineering Institute) propozon një sërë aktivitetesh SQA të cilët kryhen ose ndërmjetësohen prej grupit SQA: • Përgatit një plan SQA për projektin. • Merr pjesë në zhvillimin e përshkrimit të procesit të projektit software. • Rishikon aktivitetet e inxhinierisë software për të verifikuar përputhjen e tyre me procesin software të përcaktuar. • Auditon produktet e punës për të kontrolluar përputhjen e tyre me produktet e punës të përcaktuar si pjesë e procesit software. • Sigurohet se deviacionet gjatë punës në software dhe trajtimi i tyre janë të dokumentuar. • Regjistron çdo mospërputhje dhe e raporton atë tek instancat kryesore të menaxhimit. Iralda Mitro
Rishikimi i software • Rishikimi i software punon si një filtër ndaj procesit të Inxhinierisë Software. • Ky aktivitet aplikohet në momente të ndryshëm të zhvillimit të software dhe shërben për të zbuluar defektet dhe gabimet e tij të cilët mund të ndreqen më vonë. • Rishikimi i software purifikon aktivitetet e analizës, dizenjimit dhe kodimit. • Rishikimet mund të jenë informalë ose formalë. • Një rishikim informal mund të jetë një diskutim i thjeshtë për problemet teknikë të software. • Rishikimet formale janë filtra më efektivë dhe më sistematikë për përmirësimin e cilësisë së software. Iralda Mitro
Rishikimetteknikeformale • Janë aktivitete që kryhen prej inxhinierëve software(dhe të tjerëve) për inxhinierët software. • Objektivat e FTR(Formal Technical Reviews) janë: • Të zbulojë gabimet funksionalë, logjikë ose të implementimit të software. • Të verifikojë nqs software-i plotëson kërkesat e tij. • Të sigurohet nqs software- është paraqitur sipas standardeve. • Të mundësojë zhvillimin uniform të software. • T’i bëjë projektet më të menaxhueshëm. Iralda Mitro
Rishikimetteknikeformale • Pavarësisht nga formati i tyre, rishikimet teknike formale janë të kufizuar në njerëz, kohë dhe objektiva. • Në to marrin pjesë jo më tepër se 5-6 njerëz detyrimisht të përgatitur dhe trajnuar në avancë. • Një FTR nuk duhet të zgjatë më shumë se dy orë. • Qëllimi është të gjenden defektet dhe jo të zgjidhen në moment. • Diskutimet e zgjatur nuk janë shumë dobiprurës për çështje të cilat mund të zgjidhen më mirë në mënyrë të pavarur. • Eshtë mirë që fokusi i takimit të jetë ngushtë(psh disa komponentë dhe jo i gjithë dizenjimi) pasi kështu ka më tepër gjasa që të zbulohen gabimet. • Takimi dhe përfundimet e tij mbahen shënim. • Gjatë takimeve FTR duhet të shmangen diskutimet brutale dhe tendencat për fajësim dhe për adresim të përgjegjësive. • Në fund të takimit merret një vendim nqs produkti i marrë në shqyrtim do të pranohet ose jo dhe nqs pranohet, vlerësohet nevoja për një takim tjetër FTR për të. Iralda Mitro
Metoda statistikore për sigurimin e cilësisë • Edhe në aktivitetet SQA reflektohet tendenca e industrisë për të vendosur terma sasiorë ndaj cilësisë. • Për sa i përket software, sigurimi statistikor i cilësisë përmban hapat e mëposhtëm: • Mbledhja dhe kategorizimi i informacionit mbi defektet software. • Përpjekja për të gjetur shkakun që fshihet pas secilit defekt. Disa shkaqe të mundshëm të gabimeve janë: • Specifikim i gabuar ose jo i plotë. • Keqinterpretim i komunikimit me klientin. • Devijim i qëllimshëm nga specifikimi. • Shkelje e standardeve të programimit. • Gabim në paraqitjen e të dhënave. • Ndërfaqe inkonsistente e komponentëve. • Gabim në logjikën e Dizenjimit. • Testim i gabuar ose jo i plotë. • Dokumentim i pakujdesshëm ose jo i plotë. • Gabim gjatë përkthimit të Dizenjimit në gjuhë programimi. • Ndërfaqe jokonsistente ose me dykuptimësi. • Përdorimi i parimit Pareto: “80% e defekteve mund të gjenden në 20% të rasteve”. Izolimi i pjesës së rëndësishme 20%. • Ndreqja e problemeve që kanë shkaktuar defektet. Iralda Mitro
Metoda statistikore për sigurimin e cilësisë • Përdorimi i metodave statistikore dhe parimit Pareto në SQA mund të përmblidhet si: • Shpenzoje kohën duke u fokusuar në gjërat që kanë me të vërtetë rëndësi, por paraprakisht sigurohu që e ke kuptuar mirë se çfarë është vërtet e rëndësishme. Iralda Mitro
Besueshmëria dhe Siguria e software Iralda Mitro
Besueshmëria • Besueshmëria e software përkufizohet në terma statistikor si “probabiliteti i dështimit të operimit të një programi kompjuterik në një mjedis të caktuar, në një kohë të caktuar”. • Pra, lidhet me operimin/vënien në punë apo jo korrektësisht të programit. • Nqs marrim në konsideratë një sistem kompjuterik, një matje e thjeshtë e besueshmërisë së tij është koha e destinuar për dështimin(mean-time-between-failure): • MTBF = MTTF + MTTR ku: • MTTF: Mean-time-to-failure • MTTR: Mean-time-to-repair Iralda Mitro
Siguria • Siguria e Software është një aktivitet i SQA që fokusohet në identifikimin dhe vlerësimin e problemeve potenciale që mund ta ndikojnë s/w negativisht dhe/ose të shkaktojnë një sistem te gjithin të dështojë. • Ndonëse midis besueshmërisë dhe sigurisë ekziston një lidhje e ngushtë është rigoroze të qartësohet diferenca midis tyre. • Besueshmëria e Software përdor analiza statistikore për të përcaktuar shanset që një dështim të ndodhë. • Sidoqoftë, ndodhja e këtij dështimi nuk çon domosdoshmërisht në probleme fatalë. • Siguria e Software ekzaminon mënyrat në të cilat dështimi çon në ato kushte që sjellin probleme fatale (mishap,hazard). • Dështimet nuk konsiderohen në vakum, por vlerësohen në kontekst te gjithë sistemit. Iralda Mitro
PlaniSQA • Një plan SQA shërben si udhëzues dhe drejtues gjatë realizimit të sigurisë së software;prodhohet dhe mirëmbahet nga grupi SQA. Përmban disa seksione: • Seksioni fillestar i cili përshkruan qëllimin e dokumentacionit dhe tregon aktivitetet që do të kryhen në kuadrin e SQA. • Në seksionin e menaxhimit tregohet se cili është vendi i SQA në strukturën organizative dhe në procesin software. • Seksioni i dokumentimit tregon me anë të referencave secilin prej produkteve të punës të prodhuar si pjese e procesit software. • Seksioni i standardeve, praktikave dhe konvencioneve liston të gjitha praktikat, matjet dhe standardet që janë aplikuar gjatë procesit software. • Seksioni i auditivit dhe rishikimeve identifikon historikun e rishikimeve të kryer nga grupi SQA, skuadra software dhe klienti. • Seksioni i testimit i referohet planit dhe procedurave të testimit. • Pjesa tjetër e planit SQA identifikon mjetet dhe metodat e përdorur në aktivitetet dhe detyrat SQA si edhe ofron informacionin e nevojshëm për procedurat e menaxhimit të konfigurimt. Iralda Mitro
Përcaktimiikërkesavetëpërdoruesit • SQA duhet të bëhet pjesë e punës së stafit që në fazat e hershme të inxhinierimit. • Aktivitetet e SQA duhet të sigurohen se puna e zhvillimit të software të mos fillojë pa përfunduar specifikimi i kërkesave software. • Kërkesat kontrollohen për konsistencë, dykuptimësi, etj. • Për më tepër hapi i Validimit të Kërkesave është pjesë e Sigurimit të Cilësisë në këtë fazë Iralda Mitro
Kontrolliiplanevetëmenaxhimit • Planet e menaxhimit rishikohen dhe modifikohen gjatë gjithë projektit. • Rifreskimi dhe vlerësimi i tyre në kohë është pjesë e kontrollit të cilësisë. • Edhe përkufizimi i procesit i nënshtrohet rishikimit. • Në këtë mënyrë skuadra software sigurohet se procesi dhe hapat e tij po ecin sipas planifikimit(përputhje në kohë dhe në përmbajtje) dhe sipas standardeve të parashikuar. Iralda Mitro
Modelimiiarkitekturës • Qëllimi i modelimit të arkitekturës është ndërtimi i një modeli fizik i cili tregon se si punon software-i. • SW dekompozohet në module dhe komponentë sipas një këndvështrimi top-down (nga lart poshtë). • Gjatë kësaj faze SQA kontrollon çështje si: • A po përdoret metoda e duhur dizenjuese? • Zhvilluesit e kanë përdorur këtë metodë diznjuese më parë apo nevojitet trajnim? • A suportohet metoda dizenjuese nga mjetet CASE? • A është specifikuar modelimi i arkitekturës deri në nivelet më të ulët? Iralda Mitro
Modelimiidetajuardhelëshimi • Modelimi i detajuar analizohet në çdo nivel të tij nga grupi SQA. • Modelimi i detajuar duhet të jetë një zgjerim logjik i modelimit të arkitekturës dhe të vazhdojë idenë dhe qëllimet e arkitekturës së sistemit. • Më tej kontrollohen kodimi, ripërdorimi dhe testimi. • SQA kujdeset që për secilin aktivitet dhe detyrë të bëhet dokumentimi përkatës. Iralda Mitro
Kodimi • SQA inspekton kodin për sa i përket shkallës së respektimit të standardeve të kodimit. • Ky proces mund të vijë si pjesë e një procesi tjetër ose mund të kryhet si një proces më vete. • Në cilësinë e kodit trajtohen pika kyçe si përmasat e moduleve, shkalla e komentimit, kompleksiteti. Iralda Mitro
Testimi • Një software i patestuar ka shumë të ngjarë që të mos jetë korrekt. • SQA luan një rol vital për ta siguruar skuadrën zhvilluese dhe menaxhuese se testimi është kryer ashtu siç duhet. • SQA kontrollon nqs: • Aktivitetet testues janë të përshtatshëm për shkallën e sigurisë që i nevojitet software-it. • Aktivtetet testues përputhen me kërkesat për testim dhe pranim të software-it. • Aktivitetet testues janë dokumentuar mirë në Planin e Testimit. • Me anë të testimit SQA kontrollon progresin e projektit dhe shikon se si varion numri i gabimeve nga një testim në tjetrin dhe nga një cikël testimi në tjetrin. • SQA gjithashtu interesohet edhe mbi shkallën e përfshirjes së të gjitha kërkesave në testim. • Për këtë zhvillohen disa lloj testimesh:testim njësi, testim komponenti, testim integrimi. Iralda Mitro