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 apo 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 për të bërë quhet kërkesat e softuerit. Në këtë mësim, do të mësojmë se cilat janë kërkesat e softuerit, pse janë të rëndësishme dhe si përshtaten në procesin e krijimit të softuerit. Do të përdorim fjalë të thjeshta dhe shembuj që lidhen me jetën e përditshme.
Një kërkesë e softuerit është një deklaratë që përshkruan një veçori ose funksion që duhet të ketë softueri. Mendoni 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ë qetë dhe tinguj argëtues, këto ide bëhen kërkesat e lojës.
Imagjinoni që po planifikoni festën tuaj të ditëlindjes. Ju mund të thoni, "Unë dua tortë, balona 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ës i Zhvillimit të Softuerit, ose shkurt SDLC. Kërkesat e softuerit vijnë 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. Ata 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. Ata veprojnë si një udhëzues ose hartë e qartë për të gjithë ata që punojnë në një projekt. Këtu janë disa arsye pse ato kanë rëndësi:
Në jetën e përditshme, mendoni për një recetë që ju tregon se çfarë përbërësish ju nevojiten për të bërë biskota. Pa recetën, mund të humbisni një përbërës ose të shtoni shumë 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ë të softuerit.
Mbledhja e kërkesave të softuerit është procesi i të folurit me njerëzit që do të përdorin softuerin dhe të shkruajnë atë 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ë: "Ne kemi nevojë për një mënyrë për të kërkuar libra shpejt", "Ne duam një sistem që mund t'i kontrollojë librat me lehtësi" dhe "Ne kemi nevojë për një mënyrë për të shtuar libra të rinj në sistem". Secila prej 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 shoku juaj ju thotë se çfarë dëshiron për festën e ditëlindjes, ju shkruani idetë e tyre. Në të njëjtën mënyrë, zhvilluesit dëgjojnë dhe regjistrojnë idetë që do të bëhen kërkesa softuerike.
Kërkesat e softuerit mund të ndahen në lloje të ndryshme. Dy nga llojet më të zakonshme janë:
Imagjinoni që jeni duke ngarë një biçikletë. Kërkesat funksionale janë si të dish të pedalosh, të drejtosh dhe të frenosh. Kërkesat jofunksionale janë si të kesh një kornizë të fortë, goma të lëmuara dhe një ndenjëse të rehatshme. Të dy llojet janë të nevojshme për një udhëtim argëtues dhe të sigurt me biçikletë. Në mënyrë të ngjashme, kërkesat e softuerit funksional dhe jofunksional 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ë mënyrë të qartë dhe të thjeshtë. Kjo listë është si një manual udhëzimi 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ë.
Këtu janë disa këshilla të thjeshta për të shkruar kërkesat e mira të softuerit:
Këto udhëzime ndihmojnë ekipin të punojë më mirë. Kur të gjithë mund të kuptojnë kërkesat, është më e lehtë të ndërtohet softueri më i mirë i mundshëm. Është si kur vizatoni fotografi 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 të bërë një qëndrim me limonadë. Nëse do të hapnit një stendë limonade, do të kishit një listë të gjërave që duhet të bëni:
Çdo hap që bëni është si një kërkesë softuerike. Hapi i parë ju tregon se çfarë të bëni së pari. Hapi i dytë ju tregon se cilat gjëra ju nevojiten. Nëse harroni një hap, stendati juaj me limonadë mund të mos funksionojë mirë. Në softuer, nëse një kërkesë mungon ose nuk është e qartë, programi mund të mos funksionojë siç pritej. Si stendat 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 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ë që 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 këtë qëllim.
Kjo është e ngjashme me planifikimin e një projekti shkollor. Nëse mësuesi juaj ju jep një listë të furnizimeve dhe detyrave, ju mund të vendosni se si të punoni së bashku me shokët e klasës. Nëse një student ë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 ndihmojnë zhvilluesit, projektuesit dhe testuesit të punojnë mirë si ekip.
Kërkesat e softuerit përdoren në shumë vende që shihni çdo ditë. Sa herë që përdorni një aplikacion në një tablet ose një kompjuter, ka një ekip pas tij që ka ndjekur një plan të kërkesave të softuerit. Këtu janë disa shembuj:
Edhe pajisjet e thjeshta, si një kalkulator në kompjuter ose telefon, kanë kërkesa softuerike. Llogaritësi duhet të mbledhë, zbresë, shumëzojë dhe pjesëtojë saktë. Të gjitha këto veçori janë planifikuar paraprakisht në mënyrë që kalkulatori të funksionojë mirë për përdoruesit.
Pasi të keni shkruar kërkesat e softuerit, është e rëndësishme t'i rishikoni ato. Ekipi shtron pyetje të tilla si: "A e kuptojmë ne çdo nevojë?" dhe "A ka vend për përmirësim?" Ndonjëherë, ata mund të kërkojnë nga përdoruesit e ardhshëm komente. Reagimet ndihmojnë për të përmirësuar kërkesat dhe për t'i bërë ato edhe më të mira.
Imagjinoni që keni vizatuar një fotografi dhe ia keni treguar mikut tuaj. Miku juaj mund të thotë: "Ndoshta shtoni më shumë ngjyra ose një diell më të madh". Më pas mund t'i shtoni këto ide për ta bërë fotografinë tuaj 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 i dëgjimit, rishikimit dhe finalizimit është shumë i rëndësishëm. Siguron që projekti të fillojë me një notë të fortë dhe të gjithë e 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 përpara ndihmon në shmangien e një date të çrregullt të luajtjes.
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ë ta kuptojnë listën në të njëjtën mënyrë. Ndonjëherë, fjalët mund të jenë konfuze, ose idetë mund të keqkuptohen.
Imagjinoni që po luani një lojë telefonike me miqtë tuaj. Një person pëshpërit një mesazh dhe në momentin që ai arrin te shoku i fundit, ai mund të ketë ndryshuar. Në projektet softuerike, nëse një kërkesë nuk është e qartë, ekipi mund të ndërtojë diçka ndryshe nga ajo që duhej. 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ë fleksibël. Ato përditësohen sipas nevojës, në mënyrë që softueri përfundimtar t'i ndihmojë të gjithë sipas synimit.
Mbledhja e kërkesave të softuerit nuk është punë për një person. Është e rëndësishme të përfshihen të gjithë ata që do të përdorin softuerin. Kjo përfshin përdoruesit përfundimtarë, 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 kombinoni këto ide, plani i piknikut bëhet shumë më i mirë dhe më argëtues për të gjithë. Projektet softuerike funksionojnë në të njëjtën mënyrë. Sa më shumë ide të ndahen, aq më të qarta dhe më të mira bëhen kërkesat e softuerit.
Kjo punë ekipore 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ë emocionuar dhe më përgjegjës për projektin. Kjo 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 siç është planifikuar.
Imagjinoni të keni ndërtuar një model avioni. Përpara se t'ia tregoni mësuesit tuaj, mund të kontrolloni nëse të gjitha pjesët janë në vend dhe nëse aeroplani mund të fluturojë. Në botën e softuerit, testuesit janë si inspektorët. Ata 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 siguron që përdoruesit të kenë një përvojë të mirë. Nëse softueri 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. Këtu janë disa nga avantazhet më të rëndësishme:
Këto përfitime janë të ngjashme me planifikimin e një ngjarjeje argëtuese. 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 softuerit 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 e suksesshëm të softuerit.
Kërkesat e softuerit ndihmojnë gjithashtu zhvilluesit të planifikojnë për të ardhmen. Ndërsa teknologjia ndryshon, lindin nevoja të reja. Me kërkesa të qarta, një projekt softuerësh mund t'u përshtatet lehtësisht këtyre ndryshimeve. Zhvilluesit mund të shtojnë veçori të reja ose të ndryshojnë të vjetrat kur nevojitet. Ky fleksibilitet e bën softuerin të dobishëm për një kohë më të gjatë.
Mendoni për lodrën tuaj të preferuar. Edhe nëse luani me të për një kohë të gjatë, ndonjëherë shtoni ide të reja ose ndryshoni mënyrën se si e përdorni. 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 e të menduarit për të ardhmen është shumë e rëndësishme në një botë ku teknologjia e re zbulohet çdo ditë. Do të thotë që softueri nuk është një produkt fiks, 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. Ata 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 softuerit të mirë. Ata sigurohen që çdo hap nga planifikimi në ndërtim 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. Nëse jeni duke planifikuar një lojë, një festë ose duke ndërtuar 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.