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

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

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

У распрацоўцы праграмнага забеспячэння выкарыстоўваецца шэраг інструментаў, такіх як кампілятар, рэдактар зыходнага кода, сістэма кіравання версіямі, сістэма кіравання праектам (англ.: project management system), сістэма адсочвання праблем (англ.: issue-tracking system) і тэкставы працэсар.

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

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

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

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

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

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

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

Этапы

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

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

Аналіз

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

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

Праектаванне

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

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

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

Тэставанне

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

Выпуск

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

Гл. таксама

Крыніцы

  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.
Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia

Kembali kehalaman sebelumnya