Програм хангамж нь тоглоом тоглох, мессеж илгээх, бүр шинэ зүйл сурах зэрэг олон зүйлийг хийхэд тусалдаг хэрэгсэлтэй адил юм. Бид програм хангамж бүтээхдээ эхлэхээсээ өмнө юу хийх ёстойгоо шийдэх хэрэгтэй. Хийх зүйлсийн жагсаалтыг програм хангамжийн шаардлага гэж нэрлэдэг. Энэ хичээлээр бид програм хангамжийн шаардлагууд гэж юу болох, тэдгээр нь яагаад чухал болох, тэдгээр нь програм хангамж бүтээх үйл явцад хэрхэн нийцэж байгааг олж мэдэх болно. Бид өдөр тутмын амьдралтай холбоотой энгийн үг, жишээг ашиглах болно.
Програм хангамжийн шаардлага нь програм хангамжид байх ёстой функц эсвэл функцийг тодорхойлсон мэдэгдэл юм. Үүнийг хүслийн жагсаалт эсвэл компьютерийн программын хийх ажлын жагсаалт гэж бодоорой. Жишээлбэл, хэрэв та тоглоомыг өнгөлөг дүрүүдтэй, жигд хөдөлгөөнтэй, хөгжилтэй дуу чимээтэй байхыг хүсч байвал эдгээр санаанууд нь тоглоомын шаардлага болдог.
Та төрсөн өдрийн үдэшлэгээ төлөвлөж байна гэж төсөөлөөд үз дээ. Та "Би бялуу, бөмбөлөг, тоглоом хүсч байна" гэж хэлж болно. Яг үүнтэй адил хүмүүс программ хангамж бүтээхдээ тухайн программ юу хийх ёстойг жагсааж бичдэг. Энэхүү жагсаалт нь эцсийн бүтээгдэхүүн ямар байх, хэрхэн ажиллах ёстойг ойлгоход хүн бүрт тусалдаг.
Програм хангамж бүтээх үйл явц нь хэд хэдэн үе шатанд хуваагддаг. Бид энэ процессыг Програм хангамж хөгжүүлэлтийн амьдралын мөчлөг буюу товчоор SDLC гэж нэрлэдэг. Програм хангамжийн шаардлагууд хамгийн эхэнд ирдэг. Програм хангамжийн шаардлага хаана ашиглагдаж байгааг харахын тулд SDLC дээрх алхмуудыг харцгаая.
Програм хангамжийн шаардлагууд нь алхам бүрийг чиглүүлдэг. Тэд бүгд хамтдаа жигд ажиллахад тусалдаг бөгөөд эцсийн программ хангамж нь хийх ёстой зүйлээ хийх ёстой.
Програм хангамжийн шаардлага нь олон шалтгааны улмаас маш чухал юм. Тэд төсөл дээр ажиллаж байгаа бүх хүмүүст зориулсан тодорхой гарын авлага эсвэл газрын зураг болдог. Эдгээр нь яагаад чухал болохыг энд дурдъя:
Өдөр тутмын амьдралдаа жигнэмэг хийхэд ямар найрлага хэрэгтэйг хэлж өгдөг жорыг бодоорой. Жор байхгүй бол та ямар нэг найрлагыг алдах эсвэл хэт их зүйл нэмж болно. Үүний нэгэн адил програм хангамжийн шаардлага нь хамгийн сайн програм хангамжийн бүтээгдэхүүнд яг юу хэрэгтэйг хөгжүүлэгчдэд хэлж өгдөг.
Програм хангамжийн шаардлагуудыг цуглуулна гэдэг нь тухайн программ хангамжийг ашиглах хүмүүстэй ярилцаж, тэдэнд хэрэгтэй зүйлээ бичих үйл явц юм. Энэ нь найз нөхөд эсвэл гэр бүлийнхээ төлөө юу хийж чадахаа мэдэхийн тулд ярилцлага хийхтэй адил байж болно. Хөгжүүлэгчид олон асуулт асуудаг, тухайлбал:
Жишээлбэл, орон нутгийн номын сан компьютерийн шинэ системтэй болохыг хүсч байвал холбогдох хүмүүс "Бидэнд номыг хурдан хайж олох арга хэрэгтэй байна", "Бид номыг хялбархан шалгах системийг хүсч байна", "Бидэнд шинэ ном нэмэх арга хэрэгтэй байна" гэж хэлж болно. Эдгээр нь тус бүр нь шаардлага юм. Хөгжүүлэгчид эдгээрийг бичиж, системийг бүтээхдээ төлөвлөгөө болгон ашигладаг.
Үйл явцын энэ хэсэг нь найзынхаа үгийг анхааралтай сонсохтой адил юм. Найз чинь төрсөн өдрөөрөө юу хүсч байгаагаа хэлэхэд та тэдний санааг бичээрэй. Үүний нэгэн адил, хөгжүүлэгчид програм хангамжийн шаардлага болох санааг сонсож, бүртгэдэг.
Програм хангамжийн шаардлагыг янз бүрийн төрөлд хувааж болно. Хамгийн түгээмэл хоёр төрөл нь:
Та унадаг дугуй унаж байна гэж төсөөлөөд үз дээ. Функциональ шаардлага нь дөрөө хэрхэн жолоодох, жолоодох, тоормослохыг мэддэгтэй адил юм. Функциональ бус шаардлага нь бат бөх хүрээ, гөлгөр дугуй, тав тухтай суудалтай байх явдал юм. Хөгжилтэй, аюулгүй дугуй унахын тулд эдгээр хоёр төрөл нь зайлшгүй шаардлагатай. Үүний нэгэн адил функциональ болон функциональ бус програм хангамжийн шаардлагууд нь програм хангамжийг зөв ажиллаж, хэрэглэгчдэд таашаал авахад хялбар байхыг баталгаажуулдаг.
Шаардлагуудыг цуглуулсны дараа дараагийн алхам бол тэдгээрийг ойлгомжтой, энгийн байдлаар бичих явдал юм. Энэ жагсаалт нь програм хангамжийг бүтээх заавартай адил юм. Хөгжүүлэгчид шаардлага бүрийг бичихдээ ойлгомжтой хэллэг, ойлгоход хялбар үгс ашигладаг.
Сайн програм хангамжийн шаардлагуудыг бичих зарим энгийн зөвлөгөө энд байна:
Эдгээр удирдамж нь багийг илүү жигд ажиллахад тусалдаг. Хүн бүр шаардлагыг ойлгож чадвал хамгийн сайн программ хангамжийг бүтээх нь илүү хялбар болно. Энэ нь шошготой зураг зурахтай адил юм. Шошго нь зургийн хэсэг бүр юуг илэрхийлж байгааг мэдэхэд хялбар болгодог.
Програм хангамжийн шаардлагыг дэлгэрэнгүй тайлбарлахын тулд энгийн жишээг ашиглацгаая. Нимбэгний ундааны тавиур хийх талаар бодоорой. Хэрэв та нимбэгний ундааны тавиур нээх гэж байгаа бол танд хийх ёстой зүйлсийн жагсаалт байх болно:
Таны хийх алхам бүр програм хангамжийн шаардлага юм. Эхний алхам нь эхлээд юу хийхийг танд хэлэх болно. Хоёр дахь алхам нь танд юу хэрэгтэй байгааг харуулж байна. Хэрэв та нэг алхамаа мартвал нимбэгний ундааны тавиур сайн ажиллахгүй байж магадгүй юм. Програм хангамжийн хувьд хэрэв шаардлагыг орхигдуулсан эсвэл тодорхойгүй бол програм нь санаснаар ажиллахгүй байж магадгүй юм. Нимбэгний ундааны тавиур болон програм хангамжийн төсөл хоёулаа амжилтанд хүрэхийн тулд тодорхой төлөвлөгөө хэрэгтэй.
Програм хангамжийн шаардлага нь багт чухал шийдвэр гаргахад тусалдаг. Багийн бүх гишүүд программ хангамж юу хийх ёстойг мэддэг бол түүнийг бүтээх, турших хамгийн сайн арга замыг шийдэж чадна. Жишээлбэл, хэрэв тоглоом нь өнгөлөг графиктай байх ёстой гэж заасан бол баг нь тод дүрс үүсгэхийн тулд тусгай хэрэгсэл ашиглахаар шийдэж болно. Хэрэв өөр шаардлага нь хурдан ачаалах хугацааг шаарддаг бол баг нь зорилгодоо хүрэхийн тулд хамгийн сайн кодын туршлагыг сонгох ёстой.
Энэ нь сургуулийн төслийг төлөвлөхтэй адил юм. Хэрэв багш тань танд хангамж, даалгаврын жагсаалтыг өгвөл ангийнхантайгаа хэрхэн хамтран ажиллахаа шийдэж болно. Нэг оюутан зурахдаа, нөгөө нь бичихдээ сайн бол та ажлыг хувааж болно. Үүний нэгэн адил програм хангамжийн тодорхой шаардлагууд нь хөгжүүлэгчид, дизайнерууд, тестерүүд багаар сайн ажиллахад тусалдаг.
Програм хангамжийн шаардлагыг өдөр бүр харж байдаг олон газарт ашигладаг. Таныг таблет эсвэл компьютер дээр ямар нэгэн програм ашиглах бүрт програм хангамжийн шаардлагын төлөвлөгөөг дагаж мөрддөг баг байдаг. Энд хэдэн жишээ байна:
Компьютер, утсан дээрх тооцоолуур зэрэг энгийн төхөөрөмжүүдэд ч програм хангамжийн шаардлага байдаг. Тооцоологч нь зөв нэмэх, хасах, үржүүлэх, хуваах ёстой. Тооцоологч нь хэрэглэгчдэд сайн ажиллахын тулд эдгээр бүх боломжуудыг урьдчилан төлөвлөсөн байдаг.
Програм хангамжийн шаардлагыг бичсэний дараа тэдгээрийг хянаж үзэх нь чухал юм. Багийнхан "Бид хэрэгцээ бүрийг ойлгож байна уу?" гэх мэт асуултуудыг тавьдаг. болон "Сайжруулах зүйл бий юу?" Заримдаа тэд ирээдүйн хэрэглэгчдээс санал хүсэлтээ асууж магадгүй юм. Санал хүсэлт нь шаардлагыг илүү боловсронгуй болгож, улам сайжруулахад тусалдаг.
Та зураг зурж, найздаа үзүүлэв гэж төсөөлөөд үз дээ. Найз чинь "Магадгүй илүү олон өнгө эсвэл том нар нэмээрэй" гэж хэлж магадгүй. Дараа нь та зургуудаа илүү сайхан болгохын тулд эдгээр санааг нэмж болно. Үүний нэгэн адил санал хүсэлт нь хөгжүүлэгчдэд програм хангамжийг бүтээж эхлэхээс өмнө шаардлагын жагсаалтыг сайжруулахад тусалдаг.
Сонсох, хянан үзэх, эцэслэх энэ үйл явц нь маш чухал юм. Энэ нь төсөл маш сайн эхлэх бөгөөд хүн бүр яг юу бүтээхээ мэддэг байх баталгаа болдог. Урьдчилан төлөвлөх нь замбараагүй тоглолтоос зайлсхийхэд тусалдагтай адил энэ нь дараа нь программ хангамжийг бүтээхэд асуудал гарахаас зайлсхийхэд тусалдаг.
Хэдийгээр програм хангамжийн шаардлагууд нь маш их тустай боловч бичихэд хэцүү байх үе байдаг. Гол сорилтуудын нэг бол жагсаалтыг хүн бүр адилхан ойлгох явдал юм. Заримдаа үг хэллэг нь төөрөгдөл, санааг буруугаар ойлгоход хүргэдэг.
Та найзуудтайгаа утсаар тоглож байна гэж төсөөлөөд үз дээ. Нэг хүн мессеж шивнэдэг бөгөөд энэ нь сүүлчийн найздаа хүрэхэд энэ нь өөрчлөгдсөн байж магадгүй юм. Програм хангамжийн төслүүдэд, хэрэв нэг шаардлага нь тодорхойгүй байвал баг шаардлагатай байснаас өөр зүйлийг бүтээж болно. Үүнээс урьдчилан сэргийлэхийн тулд баг хамтран ажиллаж, асуулт асууж, шаардлага бүрийг ойлгомжтой, энгийн байлгахад анхаардаг.
Өөр нэг бэрхшээл бол хэрэгцээг өөрчлөх явдал юм. Заримдаа хэрэгцээтэй зүйл нь цаг хугацааны явцад өөрчлөгддөг. Жишээлбэл, хэрэв сургууль сургалтын шинэ аргыг ашиглахаар шийдсэн бол тухайн сургуулийн компьютерийн программ нь шинэ боломжуудыг шаарддаг. Програм хангамжийн шаардлага уян хатан байх ёстой. Тэдгээр нь шаардлагатай бол шинэчлэгддэг тул эцсийн програм хангамж нь хүн бүрт зориулалтын дагуу тусалдаг.
Програм хангамжийн шаардлагыг цуглуулна гэдэг нэг хүний хийх ажил биш. Програм хангамжийг ашиглах хүн бүрийг оруулах нь чухал юм. Үүнд эцсийн хэрэглэгчид, үйлчлүүлэгчид, хөгжүүлэгчид, тэр ч байтугай тестерүүд орно. Хүн бүр өөрийн санаа, хэрэгцээгээ хуваалцах үед шаардлагын жагсаалт илүү бүрэн дүүрэн, хэрэгцээтэй болно.
Гэр бүлээрээ зугаалга хийх талаар бодож үзээрэй. Гэр бүлийн гишүүн бүр сэндвич авчрах, тоглоом тоглох, цэцэрлэгт хүрээлэнд зочлох зэрэг санаанууд байж болно. Хэрэв та эдгээр санааг нэгтгэвэл пикник төлөвлөгөө нь хүн бүрт илүү сайн, илүү хөгжилтэй болно. Програм хангамжийн төслүүд ижил төстэй байдлаар ажилладаг. Илүү олон санааг хуваалцах тусам програм хангамжийн шаардлагууд илүү тодорхой, илүү сайн болдог.
Энэхүү багаар ажиллах нь итгэлцлийг бий болгоход тусалдаг. Багийн бүх гишүүд санаагаа үнэлдэг гэдгийг мэдсэнээр тэд илүү их урам зоригтой болж, төслийн төлөө хариуцлага хүлээдэг. Энэхүү эерэг ажлын сэтгэл санаа нь эцсийн программ хангамжийг нарийн ширийн зүйлийг анхааралтай, анхааралтайгаар хийх боломжийг олгодог.
Програм хангамжийг бүтээсний дараа баг бүх шаардлагыг хангаж байгаа эсэхийг шалгадаг. Энэ нь Програм хангамжийн хөгжлийн амьдралын мөчлөгийн туршилтын үе шатанд хийгддэг. Туршилтынхан программ хангамжийг шаардлагын жагсаалттай харьцуулж, бүх зүйл төлөвлөсний дагуу ажиллаж байгаа эсэхийг шалгадаг.
Та загвар өмсөгч онгоц хийсэн гэж төсөөлөөд үз дээ. Багшдаа үзүүлэхээсээ өмнө бүх эд анги нь байрандаа байгаа эсэх, онгоц нисч чадах эсэхийг шалгаж болно. Програм хангамжийн ертөнцөд тестер бол байцаагчтай адил юм. Тэд програм хангамжийг ажиллуулж, жагсаалтын шаардлага бүрийг шалгадаг. Хэрэв ямар нэг зүйл дутуу эсвэл зөв ажиллахгүй байвал програм хангамжийг хэрэглэгчидтэй хуваалцахаас өмнө засдаг.
Энэхүү шалгалтын үйл явц нь програм хангамжийн найдвартай, аюулгүй байдлыг хангахад тусалдаг. Энэ нь хэрэглэгчдэд сайн туршлагатай байх боломжийг олгодог. Уг программ хангамж нь бүх шаардлагыг хангасан бол сайн бүтээгдсэн тоглоомыг хүүхдүүдэд таашаахад бэлэн байдаг шиг хүн бүр ашиглахад бэлэн болно.
Програм хангамжийн тодорхой шаардлагыг дагаж мөрдөх нь төсөлд олон ашиг тусыг авчирдаг. Энд хамгийн чухал давуу талууд байна:
Эдгээр давуу талууд нь хөгжилтэй арга хэмжээг төлөвлөхтэй адил юм. Та болон таны найз нөхөд юу хүсч байгаагаа тодорхой төсөөлж үдэшлэг зохион байгуулахаар төлөвлөж байгаа бол бүх зүйл хэвийн болно. Хүн бүр тусалж, үдэшлэг илүү сайхан болж хувирдаг. Програм хангамжийн хувьд сайн шаардлага нь илүү найдвартай, хэрэглэгчдэд ээлтэй бүтээгдэхүүнийг бий болгодог.
Програм хангамжийн шаардлагуудыг бидний өдөр тутмын амьдралтай холбож ойлгоход хэцүү биш юм. Дараах өдөр тутмын жишээг авч үзье.
Програм хангамж хөгжүүлэгчид ижил санааг ашигладаг. Тэд програм хангамж юу хийх ёстойг, яаж хийх ёстойг бичдэг. Энэхүү тодорхой төлөвлөгөө нь хүн бүр програм хангамжийг амжилттай бүтээх, ашиглахад хялбар болгодог.
Програм хангамжийн шаардлагууд нь хөгжүүлэгчдэд ирээдүйгээ төлөвлөхөд тусалдаг. Техник технологи өөрчлөгдөхийн хэрээр шинэ хэрэгцээ гарч ирдэг. Тодорхой шаардлагуудтай бол програм хангамжийн төсөл нь эдгээр өөрчлөлтөд амархан дасан зохицож чадна. Хөгжүүлэгчид шаардлагатай үед шинэ боломжуудыг нэмж эсвэл хуучин функцийг өөрчлөх боломжтой. Энэхүү уян хатан байдал нь програм хангамжийг илүү урт хугацаанд ашиглах боломжийг олгодог.
Өөрийн дуртай тоглоомынхоо талаар бод. Удаан тоглосон ч гэсэн заримдаа шинэ санаа нэмж эсвэл ашиглах арга барилаа өөрчилдөг. Програм хангамж нь ижил аргаар ажилладаг. Шинэ санаа гарч ирвэл шаардлагын жагсаалтыг шинэчилнэ. Ингэснээр програм хангамж нь хэрэглэгчдийнхээ хэрэгцээ шаардлагад нийцүүлэн өсдөг.
Өдөр бүр шинэ технологи нэвтэрч буй дэлхийд ирээдүйгээ бодох энэхүү арга нь маш чухал юм. Энэ нь програм хангамж нь тогтсон бүтээгдэхүүн биш харин цаг хугацааны явцад сайжирч болох амьд төсөл гэсэн үг юм.
Програм хангамжийн шаардлагууд нь компьютерийн програмын хүслийн жагсаалттай адил юм. Тэд програм хангамж юу хийх ёстойг бидэнд хэлдэг. Тэд програм хангамжийг бий болгох үйл явцын алхам бүрийг удирдан чиглүүлэхэд тусалдаг.
Энэ хичээлээр бид програм хангамжийн шаардлага нь сайн програм хангамжийн үндэс болдог гэдгийг олж мэдсэн. Төлөвлөлтөөс эхлээд барилга барих хүртэлх алхам бүрийг тодорхой, сайтар бодож боловсруулсан байхыг тэд анхаардаг. Энгийн дүрмийг дагаж, хүн бүрийг оролцуулснаар програм хангамж нь бүх хэрэглэгчдэд найдвартай, тааламжтай болдог.
Тодорхой төлөвлөгөө нь илүү сайн үр дүнд хүргэдэг гэдгийг санаарай. Та тоглоом, үдэшлэг хийхээр төлөвлөж байгаа эсвэл компьютерийн программ зохиож байгаа эсэхээс үл хамааран өөрт хэрэгтэй зүйлээ бичих нь амжилтанд хүрэх эхний алхам юм. Програм хангамжийн шаардлагууд нь багийн бүх гишүүдийг хамтдаа хөгжилтэй, хэрэгцээтэй, хэрэглэхэд хялбар зүйлийг бүтээхэд тусалдаг.