Етапи розробки програми – як створюються і проектуються програми?

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

Навіщо потрібно проектувати програму і дотримуватися етапи розробки?

Ви можете запитати, навіщо потрібно дотримуватися якісь там етапи, адже розробка програми – це просто сів і написав код. Однак це не так, з таким підходом створити нормальне додаток не вийде.

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

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

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

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

Чим раніше будуть виявлені помилки або виявлено неправильних підхід в реалізації того чи іншого дії, тим ціна цих помилок буде менше. Іншими словами, в залежності від етапу виявлення помилки її ціна може змінюватися від 10 до 100 разів. Наприклад, якщо на самому початковому етапі ціна виправлення помилки буде дорівнювати 100 гривень, то на етапі тестування вона може вилитися в 10000. Тому етапи розробки ПО дуже важливі, і розробник повинен їх дотримуватися і спробувати донести це бачення до менеджерів, яким завжди потрібен тільки результат . Так як вони або відводять на це занадто мало часу або і зовсім не вважають це за необхідне, наприклад, навіщо при програмуванні виробляти якісь вимоги чи щось там проектувати.

Основні етапи розробки ПО

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

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

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

Етап 1 – Визначення проблеми

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

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

визначення проблеми – це фундамент всього процесу програмування!

Етап 2 – Вироблення вимог

Що таке вимоги і навіщо їх потрібно виробити?

Вимоги до програми – це докладний опис всіх можливостей програми і дій, які повинна виконувати програма. Такі вимоги іноді також називають «Функціональної специфікацією» або просто «Специфікацією».

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

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

Етап 3 – Створення плану розробки

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

Етап 4 – Розробка архітектури системи або високорівневе проектування

архітектура системи – це каркас програми, це високорівневе проектування програми.

Даний етап також дуже важливий, так як, не маючи хорошою архітектури, Ви можете вирішувати правильну проблему, але прийти до неправильного вирішення. Гарна архітектура програми спрощує програмування, а погана архітектура ускладнює його.

Архітектура системи зазвичай включає:

  • Загальний опис системи;
  • Основні компоненти;
  • Формат і спосіб зберігання даних;
  • Специфічні бізнес-правила;
  • Спосіб організації призначеного для користувача інтерфейсу;
  • Підхід до безпеки системи;
  • Оцінки продуктивності;
  • Можливості масштабування;
  • Моменти, пов’язані з інтернаціональністю, тобто чи буде система інтернаціональною.

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

Етап 5 – Детальне проектування

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

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

Але при реалізації великих проектів даного процесу відводиться окремий етап і проектування в цьому випадку проводиться з дуже високим ступенем детальності.

Етап 6 – Кодування та налагодження

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

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

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

Етап 7 – Тестування компонентів

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

Етап 8 – Інтеграція компонентів

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

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

Етап 9 – Тестування всієї системи

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

Етап 10 – Супровід, внесення змін, оптимізація

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

Якщо Ви хочете зануритися глибше в світ проектування і конструювання програмного забезпечення, то рекомендую почитати книгу Стіва Макконнелла «Досконалий код», в якій дуже детально розповідається про те, як потрібно розробляти програму, і як правильно писати код. За допомогою неї Ви не навчитеся якомусь мові програмування, але Ви навчитеся писати правильний код, іншими словами, вона для тих, хто вже володіє базовими знаннями в програмуванні.

Якщо Ви ще не вмієте програмувати, і навіть не знаєте, з чого почати, то в цьому випадку я рекомендую Вам почати з книги «Як стати програмістом? 14 порад по досягненню поставленої мети », в ній наведено поради та розглянуто конкретний план дій, які допоможуть Вам стати програмістом.

У мене на це все, сподіваюся, стаття була Вам цікава.

Ссылка на основную публикацию