Главная страница
Навигация по странице:

  • Специфікація якості програмного засобу.

  • Завершеність

  • Автономність

  • Інформативність

  • Зрозумілість

  • Структурованість

  • Розширюваність

  • Незалежність від пристроїв

  • 2.3. Функціональна специфікація програмного засобу.

  • конспект лекцій (ТСПП). Конспект лекцій з дисципліни 07 технологія створення програмних продуктів напряму 050101 Компютерні науки


    Скачать 14.87 Mb.
    НазваниеКонспект лекцій з дисципліни 07 технологія створення програмних продуктів напряму 050101 Компютерні науки
    Анкорконспект лекцій (ТСПП).docx
    Дата15.12.2017
    Размер14.87 Mb.
    Формат файлаdocx
    Имя файлаконспект лекцій (ТСПП).docx
    ТипКонспект
    #11579
    страница5 из 62
    1   2   3   4   5   6   7   8   9   ...   62

    2.3. Функціональні вимоги. Експлуатаційні вимоги.


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

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

    Специфікація якості програмного засобу.

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

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

    Функціональність: завершеність.

    Надійність: завершеність, точність, автономність, стійкість, захищеність.

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

    Ефективність: временнaя ефективність, ефективність по пам'яті, ефективність по пристроях.

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

    Изучаемость: С-документированность, інформативність (тут застосовно і до документації по супроводу), зрозумілість, структурованість, легкість для читання.

    Модифікується: розширюваність, структурованість, модульність.

    Мобільність: незалежність від пристроїв, автономність, структурованість, модульність.

    Нижче даються визначення використовуваних примітивів якості ПС.

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

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

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

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

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

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

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

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

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

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

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

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

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

    Структурованість - властивість, що характеризує програми ПС з точки зору організації взаємозв'язаних їх частин в єдине ціле певним чином (наприклад, відповідно до принципів структурного програмування).

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

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

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

    Незалежність від пристроїв - властивість, що характеризує здатність ПС працювати на різноманітному апаратному забезпеченні (різних типах, марках, моделях ЕОМ).
    2.3. Функціональна специфікація програмного засобу.

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

    Функціональна специфікація складається з трьох частин:

    • описи зовнішнього інформаційного середовища, до якого повинні застосовуватися програми ПС, що розробляється;

    • визначення функцій ПС, визначених на безлічі станів цього інформаційного середовища (такі функції називатимемо зовнішніми функціями ПС);

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

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

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

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

    1   2   3   4   5   6   7   8   9   ...   62


    написать администратору сайта