Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
dombrovsky772326l.doc
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
972 Кб
Скачать
☆

0.2.Особливості програмного забезпечення як предметної сфери управління проектами інформатизації

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

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

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

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

Даючи визначення сутності ПЗ, Ф. Брукс зазначає, що «сутністю програмного об’єкту є конструкція, що складається із поєднаних разом концепцій: наборів даних, взаємозв’язків між елементами даних, алгоритмів та викликів функцій».

Характеризуючи природу процесу розробки ПЗ, Ф. Брукс виділив дві групи труднощів, з якими зустрічаються розробники: труднощі, що витікають із сутності ПЗ, тобто такі, які внутрішньо властиві природі ПЗ, та труднощі, які супроводять розробку ПЗ на певному етапі розвитку науки і техніки, однак не є такими, що властиві його природі. Труднощами, що витікають із сутності ПЗ були названі такі як складність, узгодженість, здатність до змін, незримість.

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

Головний імператив процесу розробки ПЗ за С. МакКонеллом – боротьба зі складністю.

Г. Буч виділяє чотири головні причини, що викликають складність ПЗ:

  • складність предметної області розробки ПЗ;

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

  • необхідність забезпечення достатньої гнучкості ПЗ;

  • незадовільні способи опису великих дискретних систем [9].

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

Здатність до змін. Характеризуючи здатність ПЗ до змін у порівнянні з іншими результатами людської праці, Ф. Брукс зазначає: «…програмне забезпечення легше змінювати: це чиста думка, нескінченно податлива». Видима в теорії легкість змін ПЗ на практиці виливається у істотні витрати ресурсів, зростання складності та порушення концептуальної цілісності продукту. Об’єктивними факторами, що вимагають змін у ПЗ є необхідність усунення помилок, розширення функціональності та забезпечення сумісності із змінами середовища експлуатації.

Незримість. На відміну від карт, схем, рисунків та інших засобів візуального абстрагування, які можуть бути використані для представлення більшості об’єктів матеріального і нематеріального світу, програмні об’єкти дуже слабко піддаються наглядній візуалізації. Прийняті на практиці нотації блок-схем, моделей даних [15], мови графічного моделювання, такі як, наприклад, UML [43, 10], не здатні достатньо ефективно вирішити проблему наглядного представлення структури ПЗ і принципів його функціонування. Незримість властива природі ПЗ і призводить до складнощів під час його розуміння і осмислення, а також ускладнює процеси обміну інформацією між учасниками проекту.

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

Слід відзначити, що характерна особливість діяльності з розробки ПЗ – велика доля витрат на робочу силу у загальній суми витрат на розробку. При розробці ПЗ доля витрат на оплату робочої сили за певних умов може досягати майже 100%, в той час коли інженерні компанії з інших сфер діяльності автоматично відносять проекти до проектів з високим ризиком, коли доля витрат на оплату робочої сили перевищує 50% .

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]