Розробка програмного забезпечення: відмінності між версіями

[перевірена версія][перевірена версія]
Вилучено вміст Додано вміст
Немає опису редагування
Рядок 54:
* Недостатня [[Надійність|надійність]]. Найскладніший [[Процес|процес]] — пошук і виправлення помилок у програмах на ЕОМ. Оскільки число помилок у програмах заздалегідь невідомо, то заздалегідь невідома і тривалість налагодження програм і відсутність гарантій відсутності помилок в програмах. Слід зазначити, що залучення доказового підходу до проектування ПЗ дозволяє виявити помилки в програмі до її виконання. У цьому напрямку багато працювали [[Кнут Лундмарк|Кнут]], [[Дейкстра Едсгер|Дейкстра]] і [[Вірт Юрій Миколайович|Вірт]]. Професор Вірт при розробці [[Паскаль Блез|Паскаля]] і [[Оберон]]а за рахунок строгості їх синтаксису домігся математичної доказовості виконання і правильності програм, написаної на цих мовах.
Дана проблема виникає при неправильному виборі засобів розробки. Наприклад, при спробі створити програму, що вимагає коштів високого рівня, за допомогою засобів низького рівня. Наприклад, при спробі створити засоби автоматизації з СУБД на асемблері. У результаті вихідний код програми виходить занадто складним і погано піддається структуруванню.
* Неправильний вибір методології розробки програмного забезпечення. Процес вибору необхідної методології може проблемно відбитися на всіх показниках програмного забезпечення — це його гнучкість, вартість і функціональність. Так звані гнучкі методології розробки допомагають вирішити основні проблеми, однак, варто відзначити, що і [[Водоспадна модель|каскадна модель]] (waterfall) так само має свої переваги. У деяких випадках найбільш доцільним буде застосування гібридних методологій у зв'язці Agile + каскадна модель + MSF + RUP і т. д.
* Відсутність гарантій якості і надійності програм через відсутність гарантій відсутності помилок в програмах аж до формальної здачі програм замовникам.
Дана проблема не є проблемою, що відноситься виключно до розробки ПЗ. Гарантія якості — це проблема вибору постачальника товару (продукту).