KNOW INTUIT, Лекция, Жизнен цикъл на софтуерните системи

5.3. Спомагателни процеси от жизнения цикъл на софтуера

Процес на документиране. Предоставя формализирано описание на информацията, създадена по време на жизнения цикъл на софтуера. Този процес се състои от набор от дейности, чрез които те планират, проектират, разработват, произвеждат, редактират, разпространяват и поддържат документите, необходими за всички заинтересовани страни, като ръководство, технически специалисти и потребители на системата.

Процесът на документиране включва следните стъпки [2]:

  1. подготвителна работа;
  2. проектиране и разработка;
  3. издаване на документация;
  4. акомпанимент.

Процесът на управление на конфигурацията включва административни и технически процедури през целия жизнен цикъл на софтуера, за да се определи състоянието на софтуерните компоненти, да се опише и докладва за състоянието на софтуерните компоненти и да се изискват модификации, да се гарантира пълнотата, съвместимостта и коректността на софтуерните компоненти и да се управлява съхранението и доставката на софтуера.

Съгласно стандарта IEEE-90 под софтуерна конфигурация се разбира съвкупността от неговите функционални и физически характеристики, установени в техническата документация и внедрени в софтуера. Управлението на конфигурацията ви позволява да организирате, систематично да отчитате и контролирате промените в софтуера на всички етапи от жизнения цикъл. Общите принципи и препоръки за управление на конфигурацията на софтуера са отразени в стандарта ISO / IEC 15288 "Информационни технологии. Процес на жизнения цикъл на софтуера. Управление на конфигурацията за софтуер".

Процесът на управление на конфигурацията включва следните стъпки:

  1. подготвителната работа по планиране на управлението на конфигурацията;
  2. конфигурационна идентификация, която установява правила, по които уникалнософтуерните компоненти и техните версии са идентифицирани. В същото време набор от документация съответства уникално на всеки компонент;
  3. контрол на конфигурацията - действие, предназначено за систематична оценка на предложените модификации на софтуера и координиране на тяхното изпълнение, като се вземе предвид ефективността на всяка модификация и разходите за нейното внедряване;
  4. отчитане на състоянието на конфигурацията, което представлява регистрация на състоянието на софтуерните компоненти. Осигурява отчитане на внедрени и отхвърлени модификации на версии на софтуерни компоненти. Набор от отчети осигурява недвусмислено отразяване на текущото състояние на системата и нейните компоненти, както и предоставя история на модификациите;
  5. оценка на конфигурацията, която се състои в определяне на функционалната пълнота на софтуерните компоненти, както и съответствието на тяхното физическо състояние с текущото техническо описание;
  6. управление и доставка на издания, обхващащи производството на главни копия на програми и документация, тяхното съхранение и доставка до потребителите в съответствие с процедурата, приета от организацията.

Процесът на осигуряване на качеството трябва да гарантира, че софтуерът и процесите на неговия жизнен цикъл отговарят на определени изисквания и одобрени планове. Качеството на софтуера се разбира като набор от свойства, които характеризират способността на софтуера да отговаря на определени изисквания. За да се получат надеждни оценки за създавания софтуер, процесът на осигуряване на неговото качество трябва да се извършва независимо от субектите, пряко свързани с разработването на софтуерния продукт. Резултатите от други поддържащи процеси, като проверка, атестация, оценка с участие, одит и разрешаване на проблеми, могат да бъдат използвани.

Процесът на осигуряване на качеството включва следните дейности:

  1. подготвителна работа (координация с дрспомагателни процеси и планиране на самия процес за осигуряване на качеството на софтуера, като се вземат предвид използваните стандарти, методи, процедури и инструменти);
  2. осигуряване на качеството на продукта, което предполага гарантирано пълно съответствие на софтуера и неговата документация с изискванията на клиента, предвидени в договора;
  3. осигуряване на качеството на процеса, което предполага гарантирано съответствие на процесите от жизнения цикъл на софтуера, методите за разработка, средата за разработка и квалификацията на персонала с условията на договора, установените стандарти и процедури;
  4. осигуряване на други показатели за качество на софтуера, осъществявани в съответствие с условията на договора и стандарта за качество ISO 9001.

Процесът на проверка се състои в установяване, че софтуерът, който е резултат от някаква дейност, напълно удовлетворява изискванията или условията, дължащи се на предишни дейности. За да се подобри ефективността на целия процес на жизнения цикъл на софтуера, проверката трябва да бъде интегрирана възможно най-рано с процесите, които я използват (т.е. с доставка, разработка, експлоатация). Процесът на проверка може да включва преглед, оценка и тестване.

Проверката може да се извърши с различни степени на независимост (от самия изпълнител до специалисти от друга организация, независима от доставчика, разработчика и т.н.). По време на процеса на проверка се проверяват следните условия:

  1. последователност на изискванията към системата и степента, в която се вземат предвид нуждите на потребителите;
  2. способността на доставчика да отговаря на определени изисквания;
  3. съответствие на избраните процеси от жизнения цикъл на софтуера с условията на договора;
  4. адекватността на стандартите, процедурите и средата за разработка за процесите от жизнения цикъл на софтуера;
  5. съответствие на спецификациите на дизайна на софтуера с определени изисквания;
  6. коректността на описанието в дизайнаспецификации на входни и изходни данни, последователност от събития, интерфейси, логика и др.;
  7. съответствие на кода с проектните спецификации и изисквания;
  8. възможност за тестване и коректност на кода, съответствието му с приетите стандарти за кодиране;
  9. правилно интегриране на софтуерни компоненти в системата;
  10. адекватността, пълнотата и последователността на документацията.

Процесът на сертифициране е предназначен да определи пълнотата на съответствие с посочените изисквания и създадения софтуер за тяхното специфично функционално предназначение (от какво се нуждае потребителят). Атестацията обикновено се разбира като потвърждение и оценка на надеждността на тестването на софтуерен продукт. Квалификацията трябва да гарантира, че софтуерът отговаря напълно на спецификациите, изискванията и документацията и че потребителят може да използва софтуера безопасно и защитено.

Атестирането, подобно на проверката, може да се извършва с различна степен на независимост (до организация, която е независима от доставчика, разработчика, оператора или сервиза за поддръжка).

Процесът на съвместна оценка е предназначен да оцени състоянието на работата по проекта и софтуерния продукт, създаден по време на изпълнението на тези работи. Фокусира се основно върху планирането и управлението на ресурсите, персонала, оборудването и инструментите на проекта.

Оценката се прилага както на ниво управление на проекта, така и на ниво техническо изпълнение на проекта и се извършва през целия срок на договора. Този процес може да се извърши от две страни, участващи в договора, като едната страна проверява другата.

Процесът на одит е определяне на съответствието на проекта и продукта с изискванията, плановете и условията на договора. Одит може да се извърши от всеки двамастрани, участващи в договора, когато едната страна проверява другата.

Одитът е одит (проверка), извършван от компетентен орган (лице) с цел предоставяне на независима оценка на степента на съответствие на софтуера или процесите с установените изисквания.

Одитът служи за установяване на съответствието на извършените работи и доклади с изискванията, плановете и договора. Одиторите не трябва да са пряко зависими от разработчиците на софтуер. Те определят състоянието на работата, използването на ресурсите, съответствието на документацията със спецификациите и стандартите, коректността на тестването и др.

Процесът на разрешаване на проблеми включва анализ и разрешаване на проблеми (включително открити несъответствия), които са открити по време на разработка, експлоатация или други процеси, независимо от техния произход или източник.

5.4. Организационни процеси на жизнения цикъл на софтуера

Контролният процес се състои от дейности и задачи, които могат да бъдат изпълнени от всяка страна, която управлява своите процеси. Тази страна (мениджър) отговаря за управлението на пускането на продукта, управлението на проекти и управлението на задачите на свързани процеси като придобиване, доставка, разработка, експлоатация, поддръжка и др.

Процесът на управление включва следните стъпки:

  1. иницииране и определяне на обхвата на управление - мениджърът трябва да гарантира, че необходимите за управление ресурси (персонал, оборудване и технологии) са на негово разположение в достатъчни количества;
  2. планирането, като действие, включва следните задачи:
  3. съставяне на работни графици;
  4. оценка на разходите;
  5. разпределяне на необходимите ресурси;
  6. разпределение на отговорността;
  7. оценка на рисковете, свързани с конкретни задачи;
  8. Създаванеуправленска инфраструктура.

Процесът на създаване на инфраструктура обхваща избора и поддръжката на технологии, стандарти и инструменти, използвани за разработване, работа или поддръжка на софтуер. Инфраструктурата трябва да се модифицира и поддържа в съответствие с промените в изискванията за съответните процеси. Инфраструктурата от своя страна е един от обектите на управление на конфигурацията.

Процесът на създаване на инфраструктура включва следните стъпки:

  • подготвителна работа;
  • създаване на инфраструктура;
  • инфраструктурна поддръжка.

Процесът на подобряване включва оценка, измерване, контрол и действително подобряване на процесите на жизнения цикъл на софтуера. Този процес включва три основни стъпки:

  • създаване на процес;
  • оценка на процеса;
  • подобряване на процеса.

Подобряването на процесите от жизнения цикъл на софтуера е насочено към повишаване на производителността на всички специалисти, участващи в тях, чрез подобряване на използваната технология, методите на управление, избора на инструменти и обучението на персонала. Подобрението се основава на анализ на силните и слабите страни на всеки процес. Този анализ се улеснява от натрупването в организацията на историческа, техническа, икономическа и друга информация за реализирани проекти.

Процесът на обучение включва първоначално обучение и последващо непрекъснато развитие на персонала и се състои от три стъпки: