Софтверот е како алатка што ни помага да правиме многу работи, како што се играње игри, испраќање пораки или дури и учење нови работи. Кога градиме софтвер, треба да одлучиме што треба да прави пред да започнеме. Оваа листа на работи што треба да се направат се нарекува барања за софтвер. Во оваа лекција ќе научиме што се барања за софтвер, зошто се важни и како се вклопуваат во процесот на создавање софтвер. Ќе користиме едноставни зборови и примери што се однесуваат на секојдневниот живот.
Софтверски услов е изјава што опишува карактеристика или функција што софтверот мора да ја има. Замислете го како список на желби или список на задачи за компјутерска програма. На пример, ако сакате играта да има шарени ликови, мазни движења и забавни звуци, овие идеи стануваат барања на играта.
Замислете дека ја планирате вашата роденденска забава. Можеби ќе кажете: „Сакам торта, балони и игри“. На ист начин, кога луѓето креираат софтвер, тие наведуваат што треба да прави софтверот. Оваа листа им помага на сите да разберат како треба да изгледа конечниот производ и како треба да функционира.
Процесот на создавање софтвер е поделен на неколку чекори. Овој процес го нарекуваме Животен циклус на развој на софтвер, или скратено SDLC . Софтверските барања се појавуваат на самиот почеток. Да ги погледнеме чекорите во SDLC за да видиме каде се користат софтверските барања:
Софтверските барања го водат секој чекор. Тие им помагаат на сите да работат заедно непречено и се осигуруваат дека конечниот софтвер го прави она што треба да го прави.
Софтверските барања се многу важни од многу причини. Тие служат како јасен водич или мапа за секој што работи на проект. Еве неколку причини зошто се важни:
Во секојдневниот живот, замислете рецепт кој ви кажува кои состојки ви се потребни за да направите колачиња. Без рецептот, може да пропуштите некоја состојка или да додадете премногу од нешто. Слично на тоа, барањата за софтвер им кажуваат на програмерите точно што е потребно за најдобриот софтверски производ.
Собирањето на барањата за софтвер е процес на разговор со луѓе кои ќе го користат софтверот и запишување што им е потребно. Ова може да биде како интервјуирање пријатели или семејство за да знаете што можете да направите за нив. Програмерите поставуваат многу прашања, како што се:
На пример, ако локална библиотека сака нов компјутерски систем, вклучените луѓе би можеле да кажат: „Ни треба начин брзо да пребаруваме книги“, „Ни треба систем што лесно може да проверува книги“ и „Ни треба начин да додаваме нови книги во системот“. Секое од овие е услов. Програмерите ги запишуваат овие и ги користат како план при градењето на системот.
Овој дел од процесот е како внимателно да слушате пријател. Кога вашиот пријател ќе ви каже што сака за неговата роденденска забава, вие ги запишувате неговите идеи. На ист начин, програмерите ги слушаат и ги запишуваат идеите што ќе станат барања за софтверот.
Софтверските барања можат да се поделат на различни типови. Два од најчестите типови се:
Замислете дека возите велосипед. Функционалните барања се како да знаете како да вртите педали, да управувате и да сопирате. Нефункционалните барања се како да имате цврста рамка, мазни гуми и удобно седиште. И двата вида се неопходни за забавно и безбедно возење велосипед. Слично на тоа, и функционалните и нефункционалните софтверски барања гарантираат дека софтверот работи правилно и е лесен за користење од страна на корисниците.
Откако ќе ги соберете барањата, следниот чекор е да ги запишете на јасен и едноставен начин. Оваа листа е како упатство за изработка на софтверот. Програмерите користат јасен јазик и лесно разбирливи зборови за да го напишат секое барање.
Еве неколку едноставни совети за пишување добри барања за софтвер:
Овие упатства му помагаат на тимот да работи полесно. Кога сите можат да ги разберат барањата, полесно е да се изгради најдобриот можен софтвер. Тоа е како кога цртате слики со етикети. Етикетите им олеснуваат на сите да знаат што претставува секој дел од цртежот.
Да употребиме едноставен пример за подетално да ги објасниме барањата за софтвер. Замислете да направите штанд за лимонада. Ако отворите штанд за лимонада, ќе имате список на работи што треба да ги направите:
Секој чекор што го преземате е како софтверски услов. Првиот чекор ви кажува што прво да направите. Вториот чекор ви покажува кои работи ви се потребни. Ако заборавите еден чекор, вашиот штанд за лимонада можеби нема да работи добро. Во софтверот, ако некој услов е пропуштен или не е јасен, програмата можеби нема да работи како што се очекува. И штандот за лимонада и софтверскиот проект имаат потреба од јасен план за да бидат успешни.
Софтверските барања му помагаат на тимот да донесува важни одлуки. Кога сите членови на тимот знаат што треба да прави софтверот, тие можат да одлучат за најдобрите начини за негово градење и тестирање. На пример, ако барањето наведува дека играта треба да има шарена графика, тимот може да одлучи да користи специјални алатки за да создаде светли слики. Ако друг услов бара брзо време на вчитување, тимот мора да ги избере најдобрите практики за кодирање за да ја постигне таа цел.
Ова е слично на планирањето училишен проект. Ако вашиот наставник ви даде список на материјали и задачи, можете да одлучите како да соработувате со вашите соученици. Ако еден ученик е добар во цртање, а друг во пишување, можете да ја поделите работата. На ист начин, јасните барања за софтвер им помагаат на програмерите, дизајнерите и тестерите да работат добро како тим.
Софтверските барања се користат на многу места што ги гледате секојдневно. Секој пат кога користите апликација на таблет или компјутер, зад неа стои тим кој следел план за софтверски барања. Еве неколку примери:
Дури и едноставните уреди, како што е калкулаторот на компјутер или телефон, имаат софтверски барања. Калкулаторот мора правилно да собира, одзема, множи и дели. Сите овие функции се испланирани однапред за да може калкулаторот да работи добро за корисникот.
Откако ќе ги напишете барањата за софтверот, важно е да ги разгледате. Тимот поставува прашања како што се: „Дали ги разбираме сите потреби?“ и „Дали има простор за подобрување?“ Понекогаш, тие може да побараат повратни информации од идните корисници. Повратните информации помагаат да се усовршат барањата и да се направат уште подобри.
Замислете дека сте нацртале слика и му ја покажале на вашиот пријател. Вашиот пријател може да каже: „Можеби додадете повеќе бои или поголемо сонце“. Потоа можете да ги додадете овие идеи за да ја направите вашата слика уште поубава. На ист начин, повратните информации им помагаат на програмерите да го подобрат списокот со барања пред да почнат да го градат софтверот.
Овој процес на слушање, ревидирање и финализирање е многу важен. Тој гарантира дека проектот започнува со силна нота и дека секој точно знае што да создаде. Исто така, помага да се избегнат проблеми подоцна кога се гради софтверот, исто како што планирањето однапред помага да се избегне неред во играта.
Иако барањата за софтвер се многу корисни, има моменти кога може да биде тешко да се напишат. Еден од главните предизвици е да се осигураме дека сите го разбираат списокот на ист начин. Понекогаш, зборовите можат да бидат збунувачки или идеите може да бидат погрешно разбрани.
Замислете дека играте телефонска игра со вашите пријатели. Едно лице шепоти порака, и додека стигне до последниот пријател, можеби веќе е променето. Во софтверските проекти, ако еден услов не е јасен, тимот може да изгради нешто различно од она што било потребно. За да се спречи ова, тимот работи заедно, поставува прашања и се осигурува дека секој услов е јасен и едноставен.
Друг предизвик се променливите потреби. Понекогаш, она што е потребно се менува со текот на времето. На пример, ако едно училиште одлучи да користи нов метод на учење, компјутерската програма за училиштето може да има потреба од нови функции. Софтверските барања мора да бидат флексибилни. Тие се ажурираат по потреба, така што конечниот софтвер ќе им помогне на сите како што е предвидено.
Собирањето на барања за софтвер не е работа за едно лице. Важно е да се вклучат сите што ќе го користат софтверот. Ова ги вклучува крајните корисници, клиентите, програмерите, па дури и тестерите. Кога сите ги споделуваат своите идеи и потреби, листата на барања станува поцелосна и покорисна.
Замислете планирање семеен пикник. Секој член на семејството може да има идеи како што се носење сендвичи, играње игри или посета на парк. Кога ќе ги комбинирате овие идеи, планот за пикник станува многу подобар и позабавен за сите. Софтверските проекти функционираат на сличен начин. Колку повеќе идеи се споделуваат, толку појасни и подобри стануваат софтверските барања.
Оваа тимска работа помага да се изгради доверба. Кога сите членови на тимот знаат дека нивните идеи се вреднуваат, тие се чувствуваат повозбудени и поодговорни за проектот. Овој позитивен работен дух гарантира дека конечниот софтвер е направен со грижа и внимание на деталите.
Откако софтверот ќе биде изграден, тимот проверува дали се исполнети сите барања. Ова се прави за време на фазата на тестирање од животниот циклус на развој на софтвер. Тестерите го споредуваат софтверот со листата на барања и потврдуваат дека сè функционира според планот.
Замислете дека сте изградиле модел на авион. Пред да му го покажете на вашиот наставник, можете да проверите дали сите делови се на место и дали авионот може да лета. Во светот на софтверот, тестерите се како инспектори. Тие го стартуваат софтверот и го проверуваат секое барање на листата. Ако нешто недостасува или не работи правилно, тоа се поправа пред софтверот да се сподели со корисниците.
Овој процес на проверка помага да се осигури дека софтверот е сигурен и безбеден. Исто така, се осигурува дека корисниците имаат добро искуство. Ако софтверот ги исполнува сите барања, тој е подготвен за употреба од сите, исто како што добро изработена играчка е подготвена да ја користат децата.
Следењето на јасни софтверски барања носи многу придобивки за еден проект. Еве некои од најважните предности:
Овие придобивки се слични на планирањето забавен настан. Кога вие и вашите пријатели планирате забава со јасна идеја што сакате, сè оди непречено. Сите помагаат и забавата излегува подобро. Во софтверот, добрите барања водат до посигурни и поедноставни производи за користење.
Софтверските барања не се тешки за разбирање кога ги поврзуваме со нашиот секојдневен живот. Разгледајте ги следниве секојдневни примери:
Развивачите на софтвер ја користат истата идеја. Тие запишуваат што софтверот мора да прави и како треба да го прави тоа. Овој јасен план им олеснува на сите успешно да го градат и користат софтверот.
Софтверските барања им помагаат на програмерите да планираат за иднината. Како што се менува технологијата, се појавуваат нови потреби. Со јасни барања, софтверскиот проект може лесно да се прилагоди на овие промени. Програмерите можат да додаваат нови функции или да ги менуваат старите кога е потребно. Оваа флексибилност го прави софтверот корисен подолго време.
Размислете за вашата омилена играчка. Дури и ако играте со неа долго време, понекогаш додавате нови идеи или го менувате начинот на кој ја користите. Софтверот работи на ист начин. Листата на барања се ажурира ако се појават нови идеи. На овој начин, софтверот расте заедно со потребите на неговите корисници.
Овој пристап кон иднината е многу важен во свет каде што секој ден се открива нова технологија. Тоа значи дека софтверот не е фиксен производ, туку жив проект што може да се подобрува со текот на времето.
Софтверските барања се како листа на желби за компјутерска програма. Тие ни кажуваат што софтверот мора да направи. Тие помагаат во водењето на секој чекор од процесот на креирање софтвер.
Во оваа лекција, научивме дека софтверските барања се основа на добриот софтвер. Тие се грижат секој чекор, од планирање до градење, да биде јасен и добро осмислен. Со следење на едноставни правила и вклучување на сите, софтверот станува сигурен и пријатен за сите корисници.
Запомнете, јасниот план води до подобри резултати. Без разлика дали планирате игра, забава или креирате компјутерска програма, запишувањето на она што ви треба е првиот чекор кон успехот. Софтверските барања им помагаат на сите во тимот да работат заедно за да изградат нешто што е забавно, корисно и лесно за употреба.