Softueri është si një mjet që na ndihmon të bëjmë shumë gjëra, të tilla si të luajmë lojëra, të dërgojmë mesazhe ose edhe të mësojmë gjëra të reja. Kur ndërtojmë softuer, duhet të vendosim se çfarë duhet të bëjë ai përpara se të fillojmë. Kjo listë e gjërave që duhen bërë quhet kërkesa për softuer. Në këtë mësim, do të mësojmë se çfarë janë kërkesat për softuer, pse janë të rëndësishme dhe si përshtaten në procesin e krijimit të softuerit. Do të përdorim fjalë dhe shembuj të thjeshtë që lidhen me jetën e përditshme.
Një kërkesë softueri është një deklaratë që përshkruan një veçori ose funksion që softueri duhet ta ketë. Mendojeni si një listë dëshirash ose një listë detyrash për një program kompjuterik. Për shembull, nëse dëshironi që një lojë të ketë karaktere shumëngjyrëshe, lëvizje të lëmuara dhe tinguj argëtues, këto ide bëhen kërkesat e lojës.
Imagjinoni sikur po planifikoni festën tuaj të ditëlindjes. Mund të thoni: "Dua tortë, tullumbace dhe lojëra". Në të njëjtën mënyrë, kur njerëzit krijojnë softuerë, ata rendisin se çfarë duhet të bëjë softueri. Kjo listë i ndihmon të gjithë të kuptojnë se si duhet të duket produkti përfundimtar dhe si duhet të funksionojë.
Procesi i krijimit të softuerit ndahet në disa hapa. Ne e quajmë këtë proces Cikli Jetësor i Zhvillimit të Softuerit, ose shkurt SDLC . Kërkesat e softuerit shfaqen që në fillim. Le të shohim hapat në SDLC për të parë se ku përdoren kërkesat e softuerit:
Kërkesat e softuerit udhëzojnë çdo hap. Ato i ndihmojnë të gjithë të punojnë së bashku pa probleme dhe sigurohen që softueri përfundimtar të bëjë atë që duhet të bëjë.
Kërkesat e softuerit janë shumë të rëndësishme për shumë arsye. Ato veprojnë si një udhëzues ose hartë e qartë për këdo që punon në një projekt. Ja disa arsye pse ato kanë rëndësi:
Në jetën e përditshme, mendoni për një recetë që ju tregon se cilët përbërës ju nevojiten për të bërë biskota. Pa recetën, mund të humbisni një përbërës ose të shtoni shumë nga diçka. Në mënyrë të ngjashme, kërkesat e softuerit u tregojnë zhvilluesve saktësisht se çfarë nevojitet për produktin më të mirë softuerik.
Mbledhja e kërkesave të softuerit është procesi i të folurit me njerëzit që do ta përdorin softuerin dhe shënimi i asaj që u nevojitet. Kjo mund të jetë si intervistimi i miqve ose familjes për të ditur se çfarë mund të bëni për ta. Zhvilluesit bëjnë shumë pyetje, të tilla si:
Për shembull, nëse një bibliotekë lokale dëshiron një sistem të ri kompjuterik, njerëzit e përfshirë mund të thonë: "Na duhet një mënyrë për të kërkuar shpejt libra", "Na duhet një sistem që mund t'i kontrollojë librat lehtësisht" dhe "Na duhet një mënyrë për të shtuar libra të rinj në sistem". Secila prej këtyre është një kërkesë. Zhvilluesit i shkruajnë këto dhe i përdorin si plan kur ndërtojnë sistemin.
Kjo pjesë e procesit është si të dëgjosh me kujdes një mik. Kur miku yt të thotë se çfarë dëshiron për festën e ditëlindjes, ti i shkruan idetë e tij. Në të njëjtën mënyrë, zhvilluesit i dëgjojnë dhe i regjistrojnë idetë që do të bëhen kërkesa për softuer.
Kërkesat e softuerit mund të ndahen në lloje të ndryshme. Dy nga llojet më të zakonshme janë:
Imagjinoni sikur po ngisni një biçikletë. Kërkesat funksionale janë si të dini si të pedaloni, të drejtoni dhe të frenoni. Kërkesat jofunksionale janë si të keni një kornizë të fortë, goma të lëmuara dhe një ndenjëse të rehatshme. Të dyja llojet janë të nevojshme për një udhëtim argëtues dhe të sigurt me biçikletë. Në mënyrë të ngjashme, kërkesat funksionale dhe jofunksionale të softuerit sigurojnë që softueri të funksionojë siç duhet dhe të jetë i lehtë për t'u shijuar nga përdoruesit.
Pas mbledhjes së kërkesave, hapi tjetër është t'i shkruani ato në një mënyrë të qartë dhe të thjeshtë. Kjo listë është si një manual udhëzimesh për ndërtimin e softuerit. Zhvilluesit përdorin gjuhë të qartë dhe fjalë të lehta për t'u kuptuar për të shkruar çdo kërkesë.
Ja disa këshilla të thjeshta për të shkruar kërkesa të mira për softuer:
Këto udhëzime e ndihmojnë ekipin të punojë më mirë. Kur të gjithë mund t'i kuptojnë kërkesat, është më e lehtë të ndërtohet softueri më i mirë i mundshëm. Është si kur vizaton figura me etiketa. Etiketat e bëjnë të lehtë për të gjithë të dinë se çfarë përfaqëson secila pjesë e vizatimit.
Le të përdorim një shembull të thjeshtë për të shpjeguar më tej kërkesat e softuerit. Mendoni për ndërtimin e një stende limonade. Nëse do të hapnit një stendë limonade, do të kishit një listë me gjërat që duhet të bëni:
Çdo hap që ndërmerrni është si një kërkesë e softuerit. Hapi i parë ju tregon se çfarë duhet të bëni së pari. Hapi i dytë ju tregon se cilat gjëra ju nevojiten. Nëse harroni një hap, stenda juaj e limonadës mund të mos funksionojë mirë. Në softuer, nëse një kërkesë nuk është e qartë ose nuk është e qartë, programi mund të mos funksionojë siç pritet. Si stenda e limonadës ashtu edhe projekti i softuerit kanë nevojë për një plan të qartë për të qenë të suksesshëm.
Kërkesat e softuerit e ndihmojnë ekipin të marrë vendime të rëndësishme. Kur të gjithë anëtarët e ekipit e dinë se çfarë duhet të bëjë softueri, ata mund të vendosin mënyrat më të mira për ta ndërtuar dhe testuar atë. Për shembull, nëse një kërkesë thotë se një lojë duhet të ketë grafikë shumëngjyrëshe, ekipi mund të vendosë të përdorë mjete speciale për të krijuar imazhe të ndritshme. Nëse një kërkesë tjetër kërkon kohë të shpejta ngarkimi, ekipi duhet të zgjedhë praktikat më të mira të kodit për të arritur atë qëllim.
Kjo është e ngjashme me planifikimin e një projekti shkollor. Nëse mësuesi/ja juaj ju jep një listë me materiale dhe detyra, mund të vendosni se si të punoni së bashku me shokët/shoqet e klasës. Nëse një nxënës është i mirë në vizatim dhe një tjetër në shkrim, mund ta ndani punën. Në të njëjtën mënyrë, kërkesat e qarta të softuerit i ndihmojnë zhvilluesit, dizajnerët dhe testuesit të punojnë mirë si ekip.
Kërkesat e softuerit përdoren në shumë vende që i shihni çdo ditë. Sa herë që përdorni një aplikacion në një tablet ose kompjuter, ekziston një ekip pas tij që ndoqi një plan të kërkesave të softuerit. Ja disa shembuj:
Edhe pajisjet e thjeshta, si një kalkulator në kompjuter ose telefon, kanë kërkesa softuerike. Kalkulatori duhet të mbledhë, zbritë, shumëzojë dhe pjesëtojë saktë. Të gjitha këto funksione janë planifikuar paraprakisht në mënyrë që kalkulatori të funksionojë mirë për përdoruesin.
Pas shkrimit të kërkesave të softuerit, është e rëndësishme t'i rishikoni ato. Ekipi bën pyetje të tilla si: "A i kuptojmë të gjitha nevojat?" dhe "A ka vend për përmirësim?" Ndonjëherë, ata mund t'u kërkojnë përdoruesve të ardhshëm reagime. Reagimet ndihmojnë në përsosjen e kërkesave dhe në përmirësimin e tyre.
Imagjino sikur ke vizatuar një figurë dhe ia ke treguar shokut tënd. Shoku yt mund të thotë: "Ndoshta shto më shumë ngjyra ose një diell më të madh". Pastaj mund t'i shtosh këto ide për ta bërë figurën tënde edhe më të bukur. Në të njëjtën mënyrë, reagimet i ndihmojnë zhvilluesit të përmirësojnë listën e kërkesave përpara se të fillojnë ndërtimin e softuerit.
Ky proces dëgjimi, rishikimi dhe finalizimi është shumë i rëndësishëm. Ai siguron që projekti të fillojë me një notë të fortë dhe të gjithë të dinë saktësisht se çfarë të krijojnë. Gjithashtu ndihmon në shmangien e problemeve më vonë kur softueri është duke u ndërtuar, ashtu si planifikimi paraprak ndihmon në shmangien e një takimi të çrregullt për lojë.
Edhe pse kërkesat e softuerit janë shumë të dobishme, ka raste kur ato mund të jenë të vështira për t'u shkruar. Një nga sfidat kryesore është të siguroheni që të gjithë e kuptojnë listën në të njëjtën mënyrë. Ndonjëherë, fjalët mund të jenë konfuze ose idetë mund të keqkuptohen.
Imagjinoni sikur po luani një lojë telefonike me miqtë tuaj. Një person pëshpërit një mesazh dhe, kur të arrijë te miku i fundit, mund të ketë ndryshuar. Në projektet e softuerëve, nëse një kërkesë nuk është e qartë, ekipi mund të ndërtojë diçka të ndryshme nga ajo që nevojitej. Për ta parandaluar këtë, ekipi punon së bashku, bën pyetje dhe sigurohet që çdo kërkesë të jetë e qartë dhe e thjeshtë.
Një sfidë tjetër është ndryshimi i nevojave. Ndonjëherë, ajo që nevojitet ndryshon me kalimin e kohës. Për shembull, nëse një shkollë vendos të përdorë një metodë të re mësimi, programi kompjuterik për shkollën mund të ketë nevojë për veçori të reja. Kërkesat e softuerit duhet të jenë fleksibile. Ato përditësohen sipas nevojës në mënyrë që softueri përfundimtar t'i ndihmojë të gjithëve siç është menduar.
Mbledhja e kërkesave të softuerit nuk është një punë për një person të vetëm. Është e rëndësishme të përfshihen të gjithë ata që do ta përdorin softuerin. Këtu përfshihen përdoruesit fundorë, klientët, zhvilluesit dhe madje edhe testuesit. Kur të gjithë ndajnë idetë dhe nevojat e tyre, lista e kërkesave bëhet më e plotë dhe e dobishme.
Mendoni të planifikoni një piknik familjar. Çdo anëtar i familjes mund të ketë ide të tilla si të sjellë sanduiçe, të luajë lojëra ose të vizitojë një park. Kur i kombinoni këto ide, plani i piknikut bëhet shumë më i mirë dhe më argëtues për të gjithë. Projektet e softuerëve funksionojnë në mënyrë të ngjashme. Sa më shumë ide të ndahen, aq më të qarta dhe më të mira bëhen kërkesat e softuerit.
Kjo punë në grup ndihmon në ndërtimin e besimit. Kur të gjithë anëtarët e ekipit e dinë se idetë e tyre vlerësohen, ata ndihen më të entuziazmuar dhe përgjegjës për projektin. Ky frymë pozitive pune siguron që softueri përfundimtar të bëhet me kujdes dhe vëmendje ndaj detajeve.
Pasi të ndërtohet softueri, ekipi kontrollon nëse plotësohen të gjitha kërkesat. Kjo bëhet gjatë fazës së testimit të Ciklit Jetësor të Zhvillimit të Softuerit. Testuesit e krahasojnë softuerin me listën e kërkesave dhe verifikojnë që gjithçka funksionon sipas planit.
Imagjinoni sikur keni ndërtuar një model aeroplani. Përpara se t’ia tregoni mësuesit/mësueses suaj, mund të kontrolloni nëse të gjitha pjesët janë në vendin e tyre dhe nëse aeroplani mund të fluturojë. Në botën e softuerëve, testuesit janë si inspektorë. Ata e ekzekutojnë softuerin dhe kontrollojnë çdo kërkesë në listë. Nëse diçka mungon ose nuk funksionon siç duhet, ajo rregullohet përpara se softueri të ndahet me përdoruesit.
Ky proces kontrolli ndihmon për të siguruar që softueri është i besueshëm dhe i sigurt. Gjithashtu, ai siguron që përdoruesit të kenë një përvojë të mirë. Nëse softueri i plotëson të gjitha kërkesat, ai është gati për t'u përdorur nga të gjithë, ashtu si një lodër e ndërtuar mirë është gati për t'u shijuar nga fëmijët.
Ndjekja e kërkesave të qarta të softuerit sjell shumë përfitime për një projekt. Ja disa nga avantazhet më të rëndësishme:
Këto përfitime janë të ngjashme me planifikimin e një eventi argëtues. Kur ju dhe miqtë tuaj planifikoni një festë me një ide të qartë se çfarë dëshironi, gjithçka shkon mirë. Të gjithë ndihmojnë dhe festa del më mirë. Në softuer, kërkesat e mira çojnë në produkte më të besueshme dhe më miqësore për përdoruesit.
Kërkesat e softuerit nuk janë të vështira për t'u kuptuar kur i lidhim ato me jetën tonë të përditshme. Merrni parasysh shembujt e mëposhtëm të përditshëm:
Zhvilluesit e softuerëve përdorin të njëjtën ide. Ata shkruajnë se çfarë duhet të bëjë softueri dhe si duhet ta bëjë atë. Ky plan i qartë e bën më të lehtë për të gjithë ndërtimin dhe përdorimin me sukses të softuerit.
Kërkesat e softuerit i ndihmojnë gjithashtu zhvilluesit të planifikojnë për të ardhmen. Ndërsa teknologjia ndryshon, lindin nevoja të reja. Me kërkesa të qarta, një projekt softueri mund t'i përshtatet këtyre ndryshimeve lehtësisht. Zhvilluesit mund të shtojnë veçori të reja ose të ndryshojnë ato të vjetrat kur është e nevojshme. Kjo fleksibilitet e bën softuerin të dobishëm për një kohë më të gjatë.
Mendo për lodrën tënde të preferuar. Edhe nëse luan me të për një kohë të gjatë, ndonjëherë shton ide të reja ose ndryshon mënyrën e përdorimit të saj. Softueri funksionon në të njëjtën mënyrë. Lista e kërkesave përditësohet nëse dalin ide të reja. Në këtë mënyrë, softueri rritet së bashku me nevojat e përdoruesve të tij.
Kjo qasje që synon të shohë nga e ardhmja është shumë e rëndësishme në një botë ku teknologjia e re zbulohet çdo ditë. Kjo do të thotë që softueri nuk është një produkt i fiksuar, por një projekt i gjallë që mund të përmirësohet me kalimin e kohës.
Kërkesat e softuerit janë si një listë dëshirash për një program kompjuterik. Ato na tregojnë se çfarë duhet të bëjë softueri. Ato ndihmojnë në udhëheqjen e çdo hapi të procesit të krijimit të softuerit.
Në këtë mësim, mësuam se kërkesat e softuerit janë themeli i një softueri të mirë. Ato sigurohen që çdo hap, nga planifikimi deri te ndërtimi, të jetë i qartë dhe i menduar mirë. Duke ndjekur rregulla të thjeshta dhe duke përfshirë të gjithë, softueri bëhet i besueshëm dhe i këndshëm për të gjithë përdoruesit.
Mos harroni, një plan i qartë çon në rezultate më të mira. Pavarësisht nëse po planifikoni një lojë, një festë apo po ndërtoni një program kompjuterik, të shkruani atë që ju nevojitet është hapi i parë drejt suksesit. Kërkesat e softuerit i ndihmojnë të gjithë në ekip të punojnë së bashku për të ndërtuar diçka që është argëtuese, e dobishme dhe e lehtë për t’u përdorur.