Распрацоўка праграмнага забеспячэння

Распрацоўка праграмнага забеспячэння — гэта працэс стварэння праграмнага забеспячэння, які уключае ў сябе не толькі праграмаванне, але і пастаноўку задачы, аналіз патрабаванняў, праектаванне, тэставанне і выпуск. Гэты працэс з’яўляецца часткай інжынерыі праграмнага забеспячэння, якая таксама ўключае ў сябе кіраванне арганізацыяй, кіраванне праектамі і іншыя аспекты.[1]

Распрацоўка праграмнага забеспячэння патрабуе шэрагу навыкаў, сярод якіх — праграмаванне, тэставанне, стварэнне дакументацыі, графічны дызайн, падтрымка карыстальнікаў і маркетынг.

У распрацоўцы праграмнага забеспячэння выкарыстоўваецца шэраг інструментаў, такіх як кампілятар, рэдактар зыходнага кода, сістэма кіравання версіямі і тэкставы працэсар.

Дэталі працэсу распрацоўкі кожнай асобнай праграмы могуць значна адрознівацца. Працэс можа быць як абмежаваны фармальным стандартам, так і можа быць адаптаваны ў адпаведнасці з патрабаваннямі каманды і кліента.

Мадэлі распрацоўкі

[правіць | правіць зыходнік]

У залежнасці ад тыпу праекта і патрабаванняў да яго выкарыстоўваюцца розныя мадэлі і метадалогіі распрацоўкі.

У прасцейшай сітуацыі, калі невялікая праграма ствараецца адным праграмістам, можа выкарыстоўвацца мадэль «code and fix» («пішы код і выпраўляй»), у якой праграміст сам ставіць мэту, стварае код, правярае яго і выпускае праграму. Гэтая мадэль можа выкарыстоўвацца для прататыпаў, але не падыходзіць для складаных праграм.

У каскаднай мадэлі усе этапы распрацоўкі — ацэнка мэтазгоднасці, аналіз, праектаванне, праграмаванне, тэставанне і выпуск — выконваюцца паслядоўна адзін за адным. Гэты падыход можа прыводзіць да затрымак і не дазваляе адаптаваць праграму на пазнейшых этапах.

Так званыя гнуткія метадалогіі былі распрацаваныя для павышэння эфектыўнасці распрацоўкі. Многія з іх выкарыстоўваюць ітэрацыйны падыход, у якім кожная ітэрацыя ўключае ўсе этапы распрацоўкі і звычайна займае некалькі тыдняў.

Некаторыя кампаніі сумяшчаюць аперацыі абслугоўвання праграм з іх распрацоўкай, што прывяло да стварэння мадэлі DevOps.

Ацэнка мэтазгоднасці

[правіць | правіць зыходнік]

Ідэі праграмных прадуктаў звычайна спачатку ацэньваюцца маркетынгавымі спецыялістамі на прадмет эканамічнай мэтазгоднасці, адпаведнасці існуючым каналам распаўсюджвання, магчымага ўплыву на існуючыя прадукты і адпаведнасці маркетынгавым мэтам кампаніі. У аналізе мэтазгоднасці праекта ацэньваецца прыбытковасць інвестыцый, кошт яго распрацоўкі і тэрміны рэалізацыі. На падставе гэтага аналізу кампанія можа прыняць рашэнне аб інвеставанні ў далейшае развіццё праекта.[2]

Этап аналізу пачынаецца з збору патрабаванняў да праграмнага забеспячэння.[3] Вынікам з’яўляецца падрабязная спецыфікацыя прадукту, з якой могуць працаваць распрацоўшчыкі. Акрамя тэкставага апісання патрабаванняў спецыфікацыя можа уключаць дыяграмы, псеўдакод і слоўнікі тэрміналогіі.[4]

Аналітыкі часта падзяляюць праект на больш дробныя кампаненты, якія можна выкарыстоўваць паўторна.

Этап праектавання прадугледжвае выбар сродкаў і форм рэалізацыі пэўнага функцыянала ад глабальных, такіх як мова праграмавання і сістэма кіравання базамі даных, да больш простых, такіх як структура модуляў. Падчас праектавання шукаюцца заканамернасці ў функцыянальнасці праграмнага забеспячэння, каб стварыць асобныя модулі, па якіх будзе разнесена логіка праграмы. У гэтым працэсе дапамагаюць ужо існуючыя патэрны і прынцыпы праектавання, такія як DRY, SOLID, GRASP і іншыя.

Праграмаванне

[правіць | правіць зыходнік]

Стварэнне кода з’яўляецца асноўным этапам у распрацоўцы праграмнага забеспячэння. З ім звязаныя пэўныя стандарты і практыкі індустрыі, накіраваныя на атрыманне эфектыўнага і зразумелага кода, які было б лёгка падтрымліваць. Сярод такіх практык — агляд кода калегамі (англ.: peer code review), распрацоўка праз тэставанне (англ.: test-driven development, TDD) і рэфактарынг кода (англ.: code refactoring).

Тэставанне — гэта працэс забеспячэння таго, каб код выконваўся правільна і без памылак. Тэставанне можа быць як аўтаматызаваным, так і ручным. У залежнасці ад выбранай мадэлі распрацоўкі тэставанне праграмы можа ажыццяўляцца як самімі распрацоўшчыкамі, так і асобнымі спецыялістамі па забеспячэнні якасці (англ.: quality assurance specialist).

На этапе выпуску праграмнае забеспячэнне дастаўляецца да канчатковага карыстальніка. Падчас выпуску і далейшага суправаджэння праекта важна мець сэрвісы тэхнічнай падтрымкі кліентаў для атрымання зваротнай сувязі аб прадукце і своечасовага выпраўлення дэфектаў.

  1. Dooley 2017, p. 1.
  2. Langer 2016, p. 7.
  3. Langer 2016, p. 8.
  4. Langer 2016, pp. 117, 127, 131, 137, 141.
  • Dooley, John F. (2017). Software Development, Design and Coding: With Patterns, Debugging, Unit Testing, and Refactoring(англ.). Apress. ISBN 978-1-4842-3153-1.
  • Langer, Arthur M. (2016). Guide to Software Development: Designing and Managing the Life Cycle(англ.). Springer. ISBN 978-1-4471-6799-0.