Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Самостоятельные работы с прграмной инженерии.docx
Скачиваний:
5
Добавлен:
25.11.2019
Размер:
89.85 Кб
Скачать

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

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

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

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

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

Корисність. Програмний продукт має властивість корисності, якщо він зручний для практичного застосування.Ця властивість має дві сторони:

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

2. Необхідна належна опрацювання питань забезпечення

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

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

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

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

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

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

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

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

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

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

Ефективність. Програмний продукт має властивість ефективності, якщо він виконує необхідні функції без зайвих витрат ресурсів і часу.Термін «ресурси» тут розуміється в широкому сенсі: ця може бути оперативна пам'ять, загальна кількість виконуваних команд на одну ітерацію розв'язуваної задачі або на один прогін, зовнішня пам'ять, пропускна здатність каналу і т.п.Часто эффективностьприобретается ціною погіршення інших характеристик, так як нерідко є машінозавісімой характеристикою і визначається властивостями конкретного використовуваної мови програмування.Необхідність забезпечення ефективності за рахунок погіршення інших характеристик програмного забезпечення повинна особливо відзначатиметься в завданні на проектування ПО.

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

SUM: = TIIN/100; SUM: = SUM + TIIN/100;

В результаті їхніх дій при деяких значеннях змінних (TIIN = 20 і TIIN = 81) відбувається небажана втрата цілого сума (в результаті виходить SUM = 0).

Для забезпечення необхідної точності це обчислення можна виконати оператором

SUM: = (TIIN1 + TIIN2) / 100;

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

Негативним прикладом може служити запис

GRVITY: = 1.40764548Е16 / R ** 2;

Тут GRVITY - змінна, що позначає гравітаційну постійну.

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

Для забезпечення широкої доступності програми доцільна наступна форма вираження:GRVITY = GCONST / R ** 2;

де змінної GCONST за умовчанням при запуску програми привласнюється значення 1.4076548 * 1016, але користувач може задавати і / або змінити це значення на нове.

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

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

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

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

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

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