Підтримка життєвого циклу програмного забезпечення

Процес розробки програмного забезпечення, орієнтований на життєвий цикл програмного продукту. Терміни виконання, запланований бюджет, якість готового продукту. Архітектура програмної системи, документування всіх процесів розробки програмного забезпечення.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык украинский
Дата добавления 20.04.2021
Размер файла 14,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Підтримка життєвого циклу програмного забезпечення

Майер Ілля Сергійович, студент кафедри автоматизації та управління в технічних системах факультету інформатики та обчислювальної техніки Національного технічного університету України «Київський політехнічний інститут імені Ігоря Сікорського»

Хмелюк Марина Сергіївна

асистент кафедри автоматизації та управління в технічних системах факультету інформатики та обчислювальної техніки Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського»

Анотація

програмне забезпечення життєвий цикл

Процес сучасної розробки програмного забезпечення орієнтований на життєвий цикл програмного продукту. Всі існуючі в даний час технології, методики та стандарти безпосередньо або опосередковано стосуються або регламентують етапи життєвого циклу, як за функціональним наповненням, так і за змістом. Процес розробки програмних систем тісно пов'язаний з областю управління проектами, тому що будь-який програмний продукт є унікальним результатом. Від організації цього процесу безпосередньо залежать основні характеристики виконання програмного проекту - терміни виконання, запланований бюджет, якість готового продукту. Але професійне управління проектами саме по собі не може забезпечити досягнення зазначених характеристик. Важливу роль у цьому відіграє архітектура програмної системи, досвід і кваліфікація учасників команди розробки, а також правильне документування всіх процесів розробки програмного забезпечення.

Ключові слова: програмний сервіс, життєвий цикл програмного забезпечення.

Аннотация

ПОДДЕРЖКА ЖИЗНЕННОГО ЦИКЛА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Майер Илья Сергеевич

студент кафедры автоматизации и управления в технических системах факультета информатики и вычислительной техники Национального технического университета Украины «Киевский политехнический институт имени Игоря Сикорского»

Хмелюк Марина Сергеевна

ассистенткафедрыавтоматизации и управления в технических системах факультетаинформатики и вычислительнойтехникиНациональныйтехническийуниверситетУкраины «КиевскийполитехническийинститутимениИгоряСикорского»

Процесс современной разработки программного обеспечения ориентирован на жизненный цикл программного продукта. Все существующие в настоящее время технологии, методики и стандарты непосредственно или косвенно касаются или регламентирующих этапы жизненного цикла, как по функциональному наполнению, так и по содержанию.

Процесс разработки программных систем тесно связан с областью управления проектами, потому что любой программный продукт является уникальным результатом.

От организацииэтого процесса напрямую зависят основные характеристики выполнения программного проекта - сроки выполнения, запланированный бюджет, качество готового продукта. Но профессиональное управление проектами само по себе не может обеспечить достижения указанных характеристик. Важную роль в этом играет архитектура программной системы, опыт и квалификация участников команды разработки, а также правильное документирование всех процессов разработки программногоо беспечения.

Ключевые слова: программный сервис, жизненный цикл программного обеспечения.

Summary

SOFTWARE LIFE CYCLE SUPPORT

Maier Illia Student of the Department of Automation and Control in Technical Systems of the Faculty of Computer Science and Computer Engineering of the National Technical University of Ukraine «Igor Sikorsky Kyiv Polytechnic Institute»

KhmeljukMarina

AssistantoftheDepartmentofAutomationandControlinTechnicalSystemsoftheFacultyofComputerScienceandComputerEngineeringNationalTechnicalUniversityofUkraine «IgorSikorskyKyivPolytechnicInstitute»

Theprocessofmodernsoftwaredevelopmentfocusesonthelifecycleof a softwareproduct. Allcurrentlyexistingtechnologies, techniquesandstandardsdirectlyorindirectlyrelateorregulatethestagesofthelifecycle, bothintermsoffunctionalcontentandcontent. Theprocessofdevelopingsoftwaresystemsiscloselylinkedtotheprojectmanagementarea, becauseanysoftwareproductis a uniqueresult. Fromtheorganizationofthisprocessdirectlydependonthemaincharacteristicsoftheimplementationoftheprogramproject - thetiming, theplannedbudget, thequalityofthefinishedproduct. Butprofessionalprojectmanagementalonecannotachievetheachievementofthesecharacteristics. Animportantroleinthisisplayedbythearchitectureofthesoftwaresystem, theexperienceandqualificationsoftheteamdevelopmentteam, aswellastheproperdocumentationofallsoftwaredevelopmentprocesses.

Keywords: softwareservice, softwarelifecycle.

Постановка проблеми

Комп'ютеризація в світі збільшує свою швидкість з кожним днем, а кількість розроблюваного програмного забезпечення збільшується з ще більшою швидкість, що створює велике навантаження на керуючі гілки відповідних підрозділів.

Аналіз останніх досліджень і публікацій. Дослідження базується на працях таких видатних авторів у галузі розробки програмного забезпечення як К. Петерсона [1], Д. Шора [2], Л. Марка [3], К. Бека [4], Б. Бохема [5].

Формулювання цілей статті (постановка завдан¬ня). Аналіз різнобічних наукових праць та досліджень. Виділення найсильніших рис різних підходів до розробки програмного забезпечення.

Виклад основного матеріалу

В реальних умовах проектування інформаційних систем -- це пошук способу, який забезпечить необхідну функціональність системи засобами існуючих технологій з урахуванням встановлених обмежень.

Під методологією розробки розуміють набір методів та критеріїв оцінки, які використовуються для постановки задачі, планування, контролю та в кінцевому підсумку -- для досягнення поставленої цілі. Сам процес розробки описується моделлю, котра визначає послідовність найбільш загальних етапів та очікуваних результатів.

Зараз існує досить багато методологій управління проектами та відповідного програмного забезпечення. Всі вони мають свої переваги та недоліки. Розглянемо деякі основні методологій, які довели свою ефективність при розробці ПЗ.

1.Каскадна модель («WaterfallModel») Каскадна модель одна з найбільш традиційних та загально використовуємихметодологій для програмної розробки. Ця модель життєвого циклу, зазвичайвважається як класичний стиль програмної розробки. Вона висвітлює процес програмної розробки як лінійну послідовну течію -- під цим розуміють, що будь-яка фаза в процесі розробки починається тільки якщо попередня фаза завершена. Цей підхід не надає можливості повертатися назад до попередньої фази, щоб внести зміни в вимогах. Цю методологію застосовують коли вимоги вже обговорені, немає проблем з кваліфікованими фахівцями, у відносно невеликих проектах.

Переваги:

-каскадна модель дуже просто та легка для розуміння та використання, що дійсно добре для но- вачків-розробників;

-в цій моделі фази виконуються та завершуються лише один раз -- це суттєво зберігає велику кількість часу;

-цей підхід до розробки більш ефективен на невеликих проектах, де вимоги дуже добре сформульовані;

Недоліки:

-ця модель може використовуватися тільки коли чітко визначені попередні вимоги;

-ця модель не прийнятна для підтримки проектів;

-головний недолік цього методу якщо додаток знаходиться в стадії тестування немає можливості повернутуся до попереднього етапу, щоб внести деякі зміни;

-немає можливості показувати працюючий додаток доки не досягнуто останньої стадії циклу;

-не ідеальна для проектів, де вимоги недостатньо визначені та мають багато місць для зміни.

2.Гнучка методологія розробки («Agilemodel») Гнучка методологія використовується для проектування впорядкованого управління процесомрозробки котрий дозволяє вносити постійні зміни в розробку проекту. Ця модель використовується для максимального зменшення ризику при розробці продукту в короткі часові проміжки котрі називаються ітераціями і зазвичай тривають від одного тижня до одного місяця.

Цю модель слід застосовувати коли потреби користувачів постійно змінюються в динамічному бізнесі. Зміни на Agile реалізуються за меншу ціну із-за постійних спринтів. На відміну від каскадної моделі, в гнучкій моделі для старту проекту досить лише невеликого планування.

Переваги:

гнучка методологія має адаптивний підхід котрий дозволяє змінювати вимоги клієнтів;

безпосередній зв'язок та постійні відгуки замовників або їх представників не залишає місця для невизначенностей.

Недоліки:

ця методологія зосереджена на створенні програмного забезпечення раніше, ніж документації, звідси може бути нестача документації;

процес розробки може вийти з під контролю, якщо замовник чітко не представляє кінцевий результат проекту.

Спіральна модель («Spiralmodel»)

Спіральна модель є досить комплексною моделлю що зосереджується на ранньому виявленні та зменшенні ризиків проектів. В цій методології розробники починають з малих масштабів потім виявляють можливі ризики в проекті, складаються план для запобігання їх і в завершенні вирішують чи варто переходити до наступної стадії проекту, щоб зробити наступну ітерацію спіралі. Успіх будь-якого життєвого циклу спіральної моделі залежить від надійного, уважного та грамотного керівництва проекту.

Ця модель не підійде для малих проектів, вона резонна для складних і дорогих, наприклад, таких, як розробка системи документообліку для банку, коли кожен наступний крок вимагає більшого аналізу для оцінки наслідків, ніж програмування.

Переваги:

об'ємний аналіз ризиків звичайно ж зменшує можливість провалу

ця модель досить добре підходить для великих та ризикованих проектів;

в спіральній моделі, додаткову функціональність можна додати пізніше;

більш задовільна для високоризикованих проектів, де бажання та потреби замовника можуть змінюватися час від часу.

Недоліки:

досить витратна модель з точки зору розробки;

в цілому успіх проекту залежить від фази аналізу ризиків, невдача в цій фазі може спричинити провал проекту;

не підходить для низькоризикованих проектів;

Екстремальне програмування («ExtremeProgramming»)

Екстремальне програмування -- гнучка методологія розробки програмного забезпечення. Ця методологія, відома ще як «ХР», в основному використовується для створення додатків в дуже нестабільному середовищі. Це додає великою гнучкості під час процесу моделювання. Головна перевага цієї методології -- це те, що вона досить малозатратна. В моделі ХР доволі часто буває, що вартість змін вимог на більш пізній стадії проекту може бути досить високою.

Переваги:

методологія екстремального програмування робить акцент на залученості замовника;

ця модель допомагає визначити доцільні плани і графіки та дає можливість розробникам самостійно зафіксувати їхні графіки що є безумовно найбільшою перевагою;

Недоліки:

ця методологія ефективна лише якщо розробники повністю зосереджені та захоплені розробкою;

ця модель вимагає занадто багато змін в розробці, що дуже трудозатратно для розробника;

в цій методології, як правило, неможливо визначити точні трудозатрати тому, що на початку проекту ніхто не уявляє цілий об'єм робіт та вимог.

Порівняння методологій

Найбільш популярними та одними із батьків усіх інших є каскадна та Agile методології. З однієї сторони (каскадна) ми плануємо все до найменших деталей, визначаємо жорсткі терміни, маємо фіксований бюджет, але проблеми приходять коли потрібно зробити якісь правки або взагалі змінити русло куди йде розробка програмного продукту. З іншої сторони (Agile) маємо гнучку систему спринтів, замовник платить за спринти, досить легко вносити зміни, але досить складно встановлювати терміни для випуску продукту та важко прорахувати бюджет. У таблиці 1 проведено порівняння вищезгаданих методологій за певними критеріями.

Висновки з даного дослідження і перспективи подальших розвідок у даному напрямі

програмне забезпечення життєвий цикл

Зростаючи кожного дня попит на програмне забезпечення створює необхідність правильної постановки процесів в підрозділах розробки, аби вони могли задовольняти потреби бізнесу та створювати якісний, підтримуваний та функціональний продукт. Існуючі методології розробки були створені та перевірені часом, але їх недоліки інколи є критичними для їх користувачів, що відкриває простір для покращення та створення новий підходів до розробки програмного забезпечення.

Таблиця 1. Порівняння методологій

Каскадна

Agile

Спіральна

XP

Детермінованість вимог

повністю

основні

бажано основні

початкові

Розмір проекту

нижче середн.

великий

великий

нижче середн.

Контроль витрат

високий

низький

нижче середн.

низька

Гарантія успіху

невисока

висока

висока

середня

Рівень ризику

високий

низький

низький

вище середн.

Залученість замовника

низька

вище середн.

середня

висока

Простота використання

висока

вище середн.

нижче середн.

низька

Повернення до попередньої фази

-

+

-/+

+

Література

1. Петерсон К. TheWaterfallModelinLarge-ScaleDevelopment / Кай Петерсон. -- 386 с.

2. Шор Д. TheArtofAgileDevelopment / Джеймс Шор., 2007. -- 440 с.

3. Марк Л. Agile Project ManagementForDummies / Лейтон Марк. -- Хобокен, NJ: ForDummies, 2012. -- 360 с.

4. Бек К. ExtremeProgrammingExplained: EmbraceChange / К. Бек, К. Андрес. -- 224 с.

5. Бохем Б. TheIncrementalCommitmentSpiralModel: PrinciplesandPracticesforSuccessfulSystemsandSoftware / Б. Бохем, Д. Лейн, С. Кулманойвонг, Р. Тьорнер., 2014. -- 336 с.

References

1. Peterson K. TheWaterfallModelinLarge-ScaleDevelopment / CayPeterson. -- 386 p.

2. Shore D. TheArtofAgileDevelopment / JamesShore, 2007. -- 440 p.

3. Mark L. Agile Project ManagementForDummies / LeytonMark. -- Hoboken, NJ: ForDummies, 2012. -- 360 p.

4. Beck K. ExtremeProgrammingExplained: EmbraceChange / K. Beck, C. Andres. -- 224 p.

5. Boehm B. TheIncrementalCommitmentSpiralModel: PrinciplesandPracticesforSuccessfulSystemsandSoftware / B. Boehm, J. Lane, S. Koolmanojwong, R. Turner, 2014. -- 336 p.

Размещено на Allbest.ru

...

Подобные документы

  • Планування програмного забезпечення автоматизованої системи бюро працевлаштування. Накопичення даних стосовно ринку праці. Проектування статичних аспектів, поведінки та архітектури програмного забезпечення. Особливості функціонування програмного продукту.

    курсовая работа [184,5 K], добавлен 05.07.2015

  • Проблеми розробки компонентного програмного забезпечення автоматизованих систем управління. Сучасні компонентні технології обробки інформації. Аналіз вибраного середовища проектування програмного забезпечення: мова програмування PHP та Apache HTTP-сервер.

    дипломная работа [2,8 M], добавлен 11.05.2012

  • Етапи розробки проекту. Вимоги до апаратного і програмного забезпечення, до користувача. Специфікація та структура даних, які мають бути розміщеними в системі. Вигляд інтерфейсу системи програмного забезпечення. Розробка бази даних косметичного салону.

    дипломная работа [1,8 M], добавлен 21.02.2015

  • Підстави для розробки програмного продукту для складання розкладу факультету вузу з використанням генетичних алгоритмів. Призначення розробленої програми, вимоги до функціональних характеристик, до програмної документації, техніко-економічні показники.

    курсовая работа [25,1 K], добавлен 12.04.2010

  • Основні завдання синоптичної метеорології. Призначення та область застосування програмного продукту "Статистика метеоспостережень", функціональні вимоги до нього. Інформаційне забезпечення, структура, опис інтерфейсу. Тестування програмного продукту.

    курсовая работа [3,6 M], добавлен 30.04.2016

  • Призначення програмного продукту. Основні функціональні можливості. Перелік розв’язуваних за допомогою програмного продукту задач. Вимоги до апаратного та програмного забезпечення. Основні прийоми.

    реферат [37,2 K], добавлен 26.10.2004

  • Проектування і реалізація навчального програмного продукту "Побудова геометричних фігур". Використання C++ Builder 6 у якості програмного середовища для реалізації даної навчальної програми. Інструкція з використання розробленого програмного забезпечення.

    курсовая работа [2,2 M], добавлен 05.05.2014

  • Призначення програмного продукту. Основні функціональні можливості. Перелік розв’язуваних за допомогою програмного продукту задач. Вимоги до апаратного та програмного забезпечення. Основні прийоми. Оновлення антивірусних баз.

    реферат [35,8 K], добавлен 26.10.2004

  • Основні поняття щодо захисту програмного забезпечення. Класифікація засобів дослідження програмного коду: відладчики, дизасемблери, діскомпілятори, трасировщики та слідкуючі системи. Способи вбудовування захисних механізмів в програмне забезпечення.

    курсовая работа [41,7 K], добавлен 14.11.2010

  • Поняття методології проектування інформаційних систем та життєвого циклу їх програмного забезпечення. Основні, допоміжні та організаційні процеси структури життєвого циклу. Планування та організації робіт по розробці і супроводу програмного забезпечення.

    контрольная работа [19,0 K], добавлен 01.02.2010

  • Проблеми процесу тестування програмного забезпечення. Розробка алгоритму автоматичної генерації тестів і тестового набору для ручного виконання. Побудова тестів для системи "Банкомат" і для баг-трекінгової системи, представленої графом із циклами.

    дипломная работа [1,2 M], добавлен 26.02.2014

  • Підстава для створення, найменування та область застосування програмного забезпечення. Дослідження теоретичних аспектів процесу проектування систем автоматизації розробки конструкторської документації. Інструкція по інсталяції програмного продукту.

    дипломная работа [2,5 M], добавлен 26.10.2012

  • Тенденції розвитку інформаційних технологій, зростання складності інформаційних систем, створюваних у різних галузях. Засоби, що реалізують CASE-технологію створення і супроводу інформаційних систем. Автоматизація розробки програмного забезпечення.

    реферат [21,5 K], добавлен 21.03.2011

  • Аналіз сучасних методів та технологій проектування програмного забезпечення. Вибір цільової мобільної платформи. Розробка екранних форм, діаграми класів. Вимоги до програмного продукту. Аналіз небезпечних факторів у відділі роботи з фізичними особами.

    дипломная работа [508,1 K], добавлен 02.12.2015

  • Аналіз методів емпіричної інженерії програмного забезпечення. Призначення та властивості програмного забезпечення та метрик проектів Openproj-1.4-src, TalendOpen Studio 3.2.1 та Рlazma-source 0.1.8, їх статистичний, кореляційний та регресійний аналіз.

    курсовая работа [2,7 M], добавлен 12.12.2010

  • Дослідження вбудованого акселерометра, розробка алгоритму автоматичного підрахунку фізичнх вправ і його практична реалізація у вигляді програмного продукту для смартфонів iPhone. Налаштування сервера. Поширення програмного продукту, його тестування.

    дипломная работа [2,6 M], добавлен 14.12.2012

  • Життєвий цикл програмного забезпечення (ЖЦ ПЗ) інформаційної системи. Нормативні документи, що регламентують ЖЦ ПЗ. Найпоширеніші сучасні моделі ЖЦ. Фази и основні принципи життєвого циклу ПЗ за методологією RAD. Бізнес-процеси складського підрозділу.

    контрольная работа [73,5 K], добавлен 18.02.2011

  • Оцінювання та засоби підвищення надійності інформаційних технологій протягом усього життєвого циклу програмного забезпечення на основі негомогенного пуасонівського процесу та обчислення її параметрів, з урахуванням сучасних тенденцій тестування.

    автореферат [52,0 K], добавлен 10.12.2010

  • Опис основних етапів розробки архітектури програмної системи: структурування системи, моделювання управління, декомпозиція підсистем. Ознайомлення із кроками створення інтерфейсу користувачів як однієї із фаз проектування програмного забезпечення.

    реферат [20,7 K], добавлен 24.11.2010

  • Характеристика об’єкта автоматизації, вимоги до системи, склад та зміст системи. Розробка функціональної схеми програмного продукту. Тестування підпрограми програмного продукту. Розробка бази даних та налаштування ECO компонент в Borland Developer Studio.

    практическая работа [1,8 M], добавлен 05.06.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.