3.5. Принципові рішення початкових етапів проектування

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

• вибір архітектури програмного забезпечення;

• вибір типу інтерфейсу користувача та технології роботи з документами;

• вибір підходу до розробки (структурного чи об'єктного);

• вибір мови та середовища програмування.

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

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

Вибір архітектури програмного забезпечення. Архітектурою програмного забезпечення

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

з однією його копією. Розрізняють:

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

• розрахована на роботу в локальній або глобальній мережі.

Крім того, в рамках однокористувацької архітектури розрізняють:

Розрахована на багато користувачів архітектуру реалізують системи, побудовані за принципом «клієнт-

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

це деяка бібліотека програм.

Програмні комплекси є сукупністю програм, спільно

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

Програмні системи є організовану сукупність програм (підсистем), що дозволяє вирішувати широкий клас завдань з деякої прикладної області. У

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

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

Вибір типу інтерфейсу користувача. Розрізняють чотири типи інтерфейсів користувача:

• примітивні – реалізують єдиний сценарій роботи, наприклад, введення даних – обробка – виведення результатів;

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

• зі вільною навігацією – реалізують безліч сценаріїв, операції яких не прив'язані

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

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