CodeGym /Java Blog /Random /Mga pamamaraan ng pag-unlad ng software
John Squirrels
Antas
San Francisco

Mga pamamaraan ng pag-unlad ng software

Nai-publish sa grupo
Sa maraming panayam, malamang na tatanungin ka tungkol sa mga pamamaraan. Hindi ito ang pinakamahalaga o mahirap na tanong, ngunit ang pagkakaroon ng cheat sheet ay magiging maganda. Sa artikulong ito, susubukan naming ihatid kung ano ang isang pamamaraan ng pag-unlad at ihambing ang mga ito. Ang pamamaraan ng pagbuo ng software ay isang prosesong ginagamit upang bumuo ng isang partikular na produkto, iyon ay, ito ay isang paraan upang ayusin ang pag-unlad ng isang pangkat ng mga developer. Mayroong maraming iba't ibang mga modelo ng pag-unlad, na ang bawat isa ay tumutukoy sa sarili nitong diskarte. Hindi masasabing kahit sino sa kanila ay dapat gamitin sa bawat proyekto. Ang tamang diskarte ay ganap na nakasalalay sa sitwasyon. Balak kong isaalang-alang ang tatlo sa kanila nang mas detalyado.

Talon

Ang waterfall methodology ay isa sa pinakaluma at nagsasangkot ng mahigpit na sunud-sunod na pagpapatupad: dapat makumpleto ang bawat yugto bago magsimula ang susunod. Sa madaling salita, ang paglipat sa susunod na yugto ay nangangahulugan na ang gawain ng nakaraang yugto ay 100% kumpleto. Ipinapakita ng larawan kung paano ito gumagana: una, sinusuri namin ang problema (nagdodokumento ng mga gawain, tinatalakay ang mga hamon), pagkatapos ay nagdidisenyo kami (nagkakaroon ng hugis ang istraktura ng proyekto sa yugtong ito), at pagkatapos ay nagko-code at sumusubok kami. Ang pagbabalik sa mga nakaraang yugto ay hindi pinapayagan. Ang diskarte na ito ay inirerekomenda para sa maliliit na proyekto kung saan ang mga kinakailangan ay alam nang maaga at malamang na hindi magbago. Mga pamamaraan sa pagbuo ng software - 2Mga kalamangan:
  • Kumpleto at pare-parehong dokumentasyon sa bawat yugto
  • Dali ng paggamit
  • Matatag na mga kinakailangan
  • Ang mga badyet at mga deadline ay paunang natukoy
Mga disadvantages:
  • Isang malaking halaga ng dokumentasyon
  • Hindi masyadong flexible
  • Hindi makakakita ang kliyente ng demo na bersyon ng produkto
  • Walang pagpipilian upang lumipat pabalik

Scrum

Ang Scrum ay isang software development methodology na naghahati sa buong proseso sa mga pag-ulit. Sa pagtatapos ng bawat interasyon, ang koponan ay handa na magbigay ng demo na bersyon ng produkto. Ipinapakita ng larawan na ang koponan ay nagpapatuloy sa lahat ng mga yugto ng pag-unlad nang magkatulad, na ginagawang posible na magkaroon ng natapos na bahagi ng proyekto sa dulo ng bawat pag-ulit. Mga pamamaraan sa pagbuo ng software - 3Susubukan kong ipaliwanag nang maikli ang kakanyahan ng pamamaraan gamit ang mga simpleng salita, ngunit mayroong maraming terminolohiya. Sa tingin ko ang pinakamahalagang bagay ay upang maunawaan ang kakanyahan. Maaalala mo ang terminolohiya na may karanasan. Ang lahat ng pag-unlad ay nahahati sa mga sprint (madalas na 2-3 linggo). May atraso(listahan ng mga gawain) para sa buong panahon ng pag-unlad at para sa bawat hiwalay na sprint. Ang bawat gawain ay may sariling story point (pag-rate ng kahirapan). Ang bawat kalahok sa proseso ay may tungkulin:
  • Ang scrum team ay binubuo ng mga propesyonal (developer, tester, designer) na nagtatrabaho sa isang proyekto.
  • Ang scrum master ay ang taong tinitiyak na iginagalang ang mga prinsipyo ng scrum.
  • Ang may-ari ng produkto ay ang customer.
Ang pamamaraang ito ay umaasa sa komunikasyon, kaya mayroong isang malaking bilang ng mga pagpupulong:
  • Stand-up - Ito ay isang maikling pagpupulong, na ginaganap araw-araw, kung saan nakikilahok ang lahat ng miyembro ng koponan. Sinasagot ng bawat kalahok ang 3 tanong: Ano ang ginawa ko? Ano ang gagawin ko? At anong mga isyu sa pag-block ang mayroon?
  • Pagpupulong sa pagpaplano - Ang pulong na ito ay gaganapin sa simula ng sprint. Ang mga gawain na dapat gawin sa susunod na sprint ay natukoy sa pulong na ito.
  • Retrospective - Ang pagpupulong na ito ay gaganapin sa pagtatapos ng sprint at ang layunin nito ay tukuyin kung ano ang nagawa nang maayos at kung ano ang maaaring mapabuti.
Mga kalamangan:
  • Maaaring makita ng customer ang mga resulta sa panahon ng proseso ng pagbuo
  • Araw-araw na pagsubaybay sa proseso ng pag-unlad
  • Kakayahang gumawa ng mga pagsasaayos sa panahon ng pag-unlad
  • Itinatag ang mga komunikasyon sa lahat ng miyembro ng koponan
  • Isang maliit na halaga ng dokumentasyon
Mga disadvantages:
  • Mahirap suriin ang paggawa at iba pang mga gastos na kinakailangan para sa pag-unlad
  • Mahirap matukoy ang mga bottleneck bago magsimula ang pag-unlad
  • Ang pangangailangang isali ang lahat sa gawain ng iba pang miyembro ng pangkat.

Kanban

Ang Kanban ay isang paraan batay sa pag-visualize sa progreso na ginawa sa pagkumpleto ng mga gawain ng team. Ang pangunahing ideya ay upang bawasan ang bilang ng mga gawain na kasalukuyang ginagawa (sa column na "Isinasagawa"). Sa scrum, ang koponan ay nakatuon sa matagumpay na pagkumpleto ng mga sprint. Sa Kanban, ang gawain ay sumasakop sa pangunahing posisyon. Ito ay mabuti para sa mga proyekto sa yugto ng pagpapanatili, kung saan ang pangunahing pag-andar ay naipatupad na, at kaunting pagpapabuti at pag-aayos ng bug ay nananatili. Sa Kanban, ang mga gawain ay itinalaga nang paisa-isa. Ang isang gawain ay dumaan sa lahat ng mga yugto sa board, na independiyente sa iba pang mga gawain, at kapag ito ay nakumpleto, maaari itong ipakita sa customer. Ang isang Kanban board ay binubuo ng mga column, na ang bawat isa ay kumakatawan sa isang hiwalay na proseso ng pag-unlad. Ilang column (halimbawa, "In Progress" ) limitahan ang bilang ng mga gawain na maaari nilang hawakan. Nakakatulong ito upang mabilis at madaling mahanap ang mga lugar ng problema sa pamamahagi ng mga gawain. Ang larawan ay nagpapakita ng isang halimbawa ng tulad ng isang board. Maaaring mag-iba ang bilang ng mga column at ang kanilang mga pangalan. Ipapakita ko ang pinakakaraniwan: Mga pamamaraan sa pagbuo ng software - 4
  • Gagawin – Ang listahan ng mga gawain na dapat gawin
  • In Progress – Mga gawaing kasalukuyang ginagawa
  • Pagsusuri ng Kodigo – Mga gawain na tapos na at naisumite na para sa pagsusuri
  • Sa Pagsubok - Mga gawain na handa para sa pagsubok
  • Tapos na – Tapos na ang mga gawain
Mga kalamangan:
  • Dali ng paggamit
  • Visibility (tumutulong sa paghahanap ng mga bottleneck, pinapasimple ang pag-unawa)
  • Mataas na paglahok ng koponan sa proseso mismo
  • Highly flexible development
Mga disadvantages:
  • Isang hindi matatag na listahan ng gawain
  • Mahirap mag-apply sa mga pangmatagalang proyekto
  • Kakulangan ng mahirap na mga deadline

Isang huling salita tungkol sa mga pamamaraan ng pagbuo ng software

Ang mga taong humahawak o naghahangad ng mga posisyon sa pamamahala ay dapat na maunawaan nang lubusan ang mga pamamaraan ng pagbuo ng software, ngunit kailangan ng lahat na maunawaan ang hindi bababa sa mga pangunahing kaalaman. Ang mga pamamaraan ay isang mahalagang bahagi ng proseso ng pag-unlad at ginagamit hindi lamang sa IT-sphere. Salamat sa paglalaan ng oras upang basahin ang aking artikulo. Sana nakatulong ito sa iyo. Sinubukan kong ilarawan lamang ang mga pangunahing punto bilang madaling ma-access at maigsi hangga't maaari. Bilang resulta, ang artikulong ito ay hindi kumpleto. Natutuwa akong marinig ang iyong opinyon tungkol dito at sagutin ang iyong mga katanungan. Lahat ng pinakamahusay!
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION