Управљање конфигурацијом софтвера у софтверском инжењерингу

Шта је управљање конфигурацијом софтвера?

У софтверском инжењерингу, Управљање конфигурацијом софтвера (СЦМ) је процес за систематско управљање, организовање и контролу промена у документима, кодовима и другим ентитетима током животног циклуса развоја софтвера. Примарни циљ је повећати продуктивност уз минималне грешке. СЦМ је део интердисциплинарног поља управљања конфигурацијом и може прецизно утврдити ко је извршио коју ревизију.

У овом водичу за софтверски инжењеринг ћете научити-

Зашто нам је потребно управљање конфигурацијом?

Примарни разлози за имплементацију система за управљање конфигурацијом техничког софтвера су:

  • Више људи ради на софтверу који се стално ажурира
  • Може се догодити да је више верзија, грана, аутора укључено у пројекат конфигурације софтвера, а тим је географски распоређен и ради истовремено
  • Потребно је прилагодити промене захтева корисника, политике, буџета, распореда.
  • Софтвер би требао радити на различитим машинама и оперативним системима
  • Помаже у развоју координације међу заинтересованим странама
  • СЦМ процес је такође користан за контролу трошкова укључених у промене система

Свака промена у ставкама конфигурације софтвера ће утицати на крајњи производ. Због тога је потребно контролисати и управљати променама ставки конфигурације.

Задаци у СЦМ процесу

  • Идентификација конфигурације
  • Полазне основе
  • Контрола промена
  • Рачуноводство статуса конфигурације
  • Ревизије и прегледи конфигурације

Идентификација конфигурације:

Идентификација конфигурације је метод одређивања обима софтверског система. Помоћу овог корака можете управљати или контролисати нешто чак и ако не знате шта је то. То је опис који садржи тип ЦСЦИ (ставка конфигурације рачунарског софтвера), идентификатор пројекта и информације о верзији.

Активности током овог процеса:

  • Идентификација ставки конфигурације као што су модули изворног кода, тест случај и спецификација захтева.
  • Идентификација сваког ЦСЦИ у СЦМ спремишту, коришћењем објектно оријентисаног приступа
  • Процес почиње са основним објектима који су груписани у збирне објекте. Детаљи о томе шта, зашто, када и ко врши промене у тесту
  • Сваки објекат има своје карактеристике које идентификују његово име које је експлицитно за све остале објекте
  • Листа потребних ресурса, као што су документ, датотека, алати итд.

Пример:

Уместо да именујете датотеку логин.пхп, требало би је назвати логин_в1.2.пхп где в1.2 означава број верзије датотеке

Уместо именовања фасцикле 'Цоде', требало би да се назове 'Цоде_Д' где Д представља код и требало би је свакодневно правити резервне копије.

Полазна основа:

Полазна основа је формално прихваћена верзија ставке конфигурације софтвера. Одређује се и фиксира у одређено време током вођења СЦМ процеса. Може се променити само формалним процедурама контроле промена.

Активности током овог процеса:

  • Олакшајте израду различитих верзија апликације
  • Дефинисање и одређивање механизама за управљање различитим верзијама ових производа за рад
  • Функционална основа одговара прегледаним системским захтевима
  • Широко коришћене основе укључују функционалне, развојне и производне основе

Једноставним речима, основно значи спремно за објављивање.

Контрола промена:

Контрола промена је процедурална метода која обезбеђује квалитет и доследност када се изврше промене у конфигурацијском објекту. У овом кораку, захтев за промену се шаље менаџеру конфигурације софтвера.

Активности током овог процеса:

  • Контролишите ад-хоц измене за изградњу стабилног окружења за развој софтвера. Промене су урезане у спремиште
  • Захтев ће бити проверен на основу техничких предности, могућих нуспојава и укупног утицаја на друге конфигурацијске објекте.
  • Он управља променама и стављањем ставки конфигурације на располагање током животног циклуса софтвера

Рачуноводство статуса конфигурације:

Рачуноводство статуса конфигурације прати свако издање током СЦМ процеса. Ова фаза укључује праћење шта свака верзија има и промене које доводе до ове верзије.

Активности током овог процеса:

  • Води евиденцију о свим променама на претходној бази да би се достигла нова основица
  • Идентификујте све ставке да бисте дефинисали конфигурацију софтвера
  • Пратите статус захтева за промену
  • Комплетан списак свих промена од последње основе
  • Омогућава праћење напретка до следеће основне линије
  • Омогућава проверу претходних издања/верзија које треба издвојити ради тестирања

Ревизије и прегледи конфигурације:

Ревизије конфигурације софтвера потврђују да сви софтверски производи задовољавају основне потребе. Он осигурава да је оно што је изграђено оно што се испоручује.

Активности током овог процеса:

  • Ревизију конфигурације спроводе ревизори проверавајући да ли се прате дефинисани процеси и осигуравајући да су циљеви СЦМ -а испуњени.
  • За проверу усклађености са стандардима за контролу конфигурације. ревизију и извештавање о учињеним променама
  • СЦМ ревизије такође осигуравају да се током процеса одржава следљивост.
  • Осигурава да су промене извршене на основној линији у складу са извештајима о статусу конфигурације
  • Потврђивање потпуности и доследности

Учесници СЦМ процеса:

Следе кључни учесници СЦМ -а

1. Цонфигуратион Манагер

  • Цонфигуратион Манагер је руководилац који је одговоран за идентификацију ставки конфигурације.
  • ЦМ осигурава да тим прати СЦМ процес
  • Он/она треба да одобри или одбије захтеве за промену

2. Девелопер

  • Програмер мора да промени код према стандардним развојним активностима или захтевима за промену. Он је одговоран за одржавање конфигурације кода.
  • Програмер треба да провери промене и реши сукобе

3. Ревизор

  • Ревизор је одговоран за СЦМ ревизије и прегледе.
  • Потребно је осигурати доследност и потпуност издања.

4. Руководилац пројекта:

  • Уверите се да је производ развијен у одређеном временском оквиру
  • Прати напредак развоја и препознаје питања у процесу СЦМ
  • Генеришите извештаје о статусу софтверског система
  • Уверите се да се поштују процеси и смернице за креирање, промену и тестирање

5. Корисник

Крајњи корисник треба да разуме кључне СЦМ услове како би био сигуран да има најновију верзију софтвера

План управљања конфигурацијом софтвера

Планирање процеса СЦМП -а (планирање управљања конфигурацијом софтвера) почиње у раним фазама кодирања пројекта. Исход фазе планирања је СЦМ план који би се могао проширити или ревидирати током пројекта.

  • СЦМП може слиједити јавни стандард попут ИЕЕЕ 828 или стандард специфичан за организацију
  • Он дефинише врсте докумената за управљање и именовање докумената. Пример Тест_в1
  • СЦМП дефинише особу која ће бити одговорна за читав процес СЦМ -а и стварање основних линија.
  • Исправите смернице за управљање верзијама и контролу промена
  • Дефинишите алате који се могу користити током СЦМ процеса
  • База података за управљање конфигурацијом за снимање информација о конфигурацији.

Алати за управљање конфигурацијом софтвера

Сваки софтвер за управљање променама треба да има следеће 3 кључне карактеристике:

Управљање паралелношћу:

Када се два или више задатака дешавају истовремено, то је познато као истовремена операција. Паралелност у контексту СЦМ -а значи да исту датотеку уређује више особа истовремено.

Ако се истовременом контролом не управља правилно помоћу алата СЦМ, то може створити многа хитна проблема.

Контрола верзија:

СЦМ користи метод архивирања или чува сваку промену направљену у датотеци. Уз помоћ функције архивирања или чувања, могуће је вратити се на претходну верзију у случају проблема.

Синхронизација:

Корисници могу да провере више од једне датотеке или целу копију спремишта. Корисник затим ради на потребној датотеци и проверава промене назад у спремиште. Они могу да синхронизују своју локалну копију како би били у току са променама које су унели други чланови тима.

Следе популарни алати

1. Иди: Гит је бесплатан алат отвореног кода који помаже у контроли верзија. Дизајниран је за брзо и ефикасно руковање свим врстама пројеката.

Линк за скидање: хттпс://гит-сцм.цом/

2. Сервер за Теам Фоундатион: Теам Фоундатион је група алата и технологија који тиму омогућавају сарадњу и координацију при изради производа.

Линк за скидање: хттпс://азуре.мицрософт.цом/ен-ус/сервицес/девопс/сервер/

3. Ансибле : То је алат за управљање конфигурацијом софтвера отвореног кода. Осим управљања конфигурацијом, нуди и имплементацију апликација и аутоматизацију задатака.

Линк за скидање: хттпс://ввв.ансибле.цом/

Проверите још алата за конфигурацију СВ -а: хттпс://ввв.гуру99.цом/софтваре-цонфигуратион-манагемент-тоолс.хтмл

Закључак:

  • Најбоље праксе управљања конфигурацијом помажу организацијама да систематски управљају, организују и контролишу промене у документима, кодовима и другим ентитетима током животног циклуса развоја софтвера.
  • Примарни циљ процеса СЦМ је повећање продуктивности уз минималне грешке
  • Главни разлог за процес управљања конфигурацијом је то што више људи ради на софтверу који се стално ажурира. СЦМ помаже у успостављању истовремености, синхронизације и контроле верзија.
  • Полазна основа је формално прихваћена верзија ставке конфигурације софтвера
  • Контрола промена је процедурална метода која обезбеђује квалитет и доследност када се изврше промене у конфигурацијском објекту.
  • Рачуноводство статуса конфигурације прати свако издање током СЦМ процеса
  • Ревизије конфигурације софтвера потврђују да сви софтверски производи задовољавају основне потребе
  • Руководилац пројекта, менаџер конфигурације, програмер, ревизор и корисник су учесници у СЦМ процесу
  • Планирање СЦМ процеса почиње у раним фазама пројекта.
  • Гит, Теам Фоундатион Север и Ансибле су неколико популарних СЦМ алата.