Утилітарні програми. Програмні продукти та їх характеристики Для чого призначені пп

Головна / Усунення несправностей

8.1. ПРОГРАМНІ ПРОДУКТИ ТА ЇХНІ ОСНОВНІ ХАРАКТЕРИСТИКИ

ОСНОВНІ ПОНЯТТЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ

Основні поняття

Можливості комп'ютера як технічної основи системи обробки даних пов'язані з програмним забезпеченням (програмами).

Програма( program ,routine )- впорядкована послідовність команд (інструкцій) комп'ютера на вирішення задачи.

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

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

Завдання( problem ,task )- Проблема, що підлягає вирішенню. додаток( application )- Програмна реалізація на комп'ютері розв'язання задачі.

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

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

Існує велика кількість різноманітних класифікацій задач. З позицій специфіки розробки та виду програмного забезпечення розрізнятимемо два класи задач - технологічні та функціональні.

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

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

перевезенням вантажів тощо. Функціональні завдання у сукупності утворюють предметну область і повністю визначають її специфіку.

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

Процес створення програм можна як послідовність дій, представлених на рис. 8.1.

Рис. 8.1.Схема процесу створення програм

Постановка задачі ( problemdefinition )- це точне формулювання розв'язання задачі на комп'ютері з описом вхідної та вихідної інформації.

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

До основних характеристик функціональних завдань, що уточнюються у процесі її формалізованої постановки, відносяться:

мету або призначення завдання, її місце та зв'язки з іншими завданнями;

умови вирішення задачі з використанням засобів обчислювальної техніки;

вимоги до періодичності розв'язання задачі;

обмеження за термінами та точністю вихідної інформації;

склад та форма подання вихідної інформації;

джерела вхідної інформації для вирішення задачі;

користувачі завдання (хто здійснює її розв'язання та користується результатами розв'язання).

Вихідна інформація За завданням може бути представлена ​​у вигляді документів (типу лістингу або машинограми), сформованих кадрів - відеограми на екрані монітора, файлу бази даних, вихідного сигналу пристрою управління (рис. 8.2).

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

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

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

Рис.8.2. Схема взаємозв'язку вхідної та вихідної інформації для вирішення задачі

Алгоритм розв'язання задачі має ряд обов'язкових властивостей:

дискретність - розбиття процесу обробки інформації на простіші етапи (кроки виконання), виконання яких комп'ютером або людиною не викликає труднощів;

визначеність алгоритму – однозначність виконання кожного окремого кроку перетворення інформації;

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

масовість - придатність алгоритму на вирішення певного класу завдань.

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

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

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

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

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

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

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

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

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

У зв'язку зі зростанням потреби у різноманітних програмах обробки даних дуже актуальним є питання застосування ефективних технологій програмування та їх переведення на промислову основу. Це означає:

стандартизованість, що тиражується та відтворення різними розробниками методів програмування;

використання прогресивних інструментальних засобів розробки програм;

використання спеціальних методів та прийомів організації робіт з розробки програм.

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

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

Прикладний програміст ( applicationprogrammer )здійснює розробку та налагодження програм на вирішення функціональних завдань.

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

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

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

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

Рис. 8.3.Схема взаємодії фахівців, пов'язаних із створенням та експлуатацією програм

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

ХАРАКТЕРИСТИКА ПРОГРАМНОГО ПРОДУКТУ

Всі програми за характером використання та категоріями користувачів можна розділити на два класи (рис.8.4) – утилітарні програми та програмні продукти (вироби).

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

Програмні продукти (вироби) призначені для задоволення потреб користувачів, широкого розповсюдження та продажу.


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

Рис. 8.4. Класифікація програм за категоріями користувачів

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

shareware - некомерційні (умовно-безкоштовні) програми, які можуть використовуватись, як правило, безкоштовно. За умови регулярного використання таких продуктів здійснюється внесок певної суми.

Ряд виробників використовуєOEM-програми(Original Equipment Manufac turer ), тобто. вбудовані програми, що встановлюються на комп'ютери або поставляються з обчислювальною технікою.

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

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

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

Програмні продукти можуть створюватися як:

індивідуальна розробка на замовлення;

розробка для поширення серед користувачів.

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

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

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

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

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

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

Основними характеристиками програм є:

алгоритмічна складність (логіка алгоритмів обробки інформації);

склад та глибина опрацювання реалізованих функцій обробки;

повнота та системність функцій обробки;

обсяг файлів програм;

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

програмного засобу;

об'єм дискової пам'яті;

розмір оперативної пам'яті запуску програм;

тип процесора;

версія операційної системи;

наявність обчислювальної мережі та ін.

Програмні продукти мають різноманітність показників якості,які відображають такі аспекти:

наскільки добре (просто, надійно, ефективно) можна використати програмний продукт;

наскільки легко експлуатувати програмний продукт;

можна використовувати програмний продукт при зміні умови його застосування та ін.

Дерево параметрів якості програмних продуктів представлене на рис. 8.5.


Рис. 8.5. Дерево характеристик якості програмного продукту


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

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

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

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

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

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

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

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

У разі існування ринку програмних продуктів важливими характеристиками є:

вартість;

кількість продажів;

час перебування над ринком (тривалість продажів);

популярність фірми-розробника та програми;

наявність програмних продуктів аналогічного призначення.

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

формування політики цін завоювання ринку;

створення торгової мережі для реалізації програмного продукту (так звані дилерські та дистриб'юторні центри);

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

навчання користувачів програмного продукту

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

Життєвий цикл програмного продукту

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

a) маркетинг ринку програмних засобів, специфікація вимог до програмного продукту;

b) проектування структури програмного продукту;

c) програмування (створення програмного коду), тестування, автономне та комплексне налагодження програм;

d) документування програмного продукту, підготовка експлуатаційної та технологічної документації;

e) вихід ринку програмних засобів, поширення програмного продукту;

f) експлуатація програмного продукту користувачами;

g) супровід програмного продукту;

h ) Зняття програмного продукту з продажу, відмови від супроводу. На рис. 8.6 зображено етапи життєвого циклу та показано їх тимчасову відповідність один одному. Розглянемо зміст окремих етапів життєвого циклу.

Рис. 8.6.Етапи життєвого циклу програмного продукту

Маркетингі специфікаціяпрограмного продукту призначені для вивчення вимог до створюваного програмного продукту, а саме:

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

встановлення вимог користувача до характеру взаємодії з програмним продуктом, типу інтерфейсу користувача (система меню, використання маніпулятора миша, типи підказок, види екранних документів тощо);

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

На цьому етапі необхідно виконати формалізовану постановку завдання.

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

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

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

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

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

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

На машинному рівні програмного продукту, як правило, створюються:

автоматизована контекстно-залежна допомога ( HELP);

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

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

Потрібна постійна програма маркетингових заходів та підтримки програмних продуктів. Як правило, для кожного програмного продукту існує своя форма кривої продажу, яка відображає попит (рис. 8.7).

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

Рис. 8.7. Крива продажів програмного продукту

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

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

Тривалість життєвого циклу для різних програмних продуктів неоднакова. Для більшості сучасних програмних продуктів тривалість життєвого циклу вимірюється у роках (2-3 роки). Хоча досить часто трапляються на комп'ютерах і давно зняті з виробництва програмні продукти.

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

1. Поняття та класи програмного продукту.

2. Життєвий цикл програмного продукту.

3. Основні поняття захисту програмних продуктів.

4. Програмні системи захисту від несанкціонованого копіювання.

5. Правові методи захисту програмних продуктів та баз даних.

6. Характеристика класів програмних продуктів, залежно від сфери їх використання.

7. Класифікація пакетів прикладних програм.

Питання №1.Поняття та класи програмного продукту.

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

Всі програми за характером використання та категоріями користувача можна розділити на два класи:

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

2. Програмні продукти (вироби) призначені для задоволення потреб користувачів, широкого розповсюдження та продажу.

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

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

2. shareware – некомерційні (умовно-безкоштовні) програми, які можуть використовуватись, як правило, безкоштовно. За умови регулярного використання таких продуктів здійснює внесок певної суми.

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

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

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

Питання №2.Життєвий цикл програмного продукту.

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

1) маркетинг ринку програмних засобів, специфікація вимог до програмного продукту;

Маркетинг та специфікація програмного продукту призначені для вивчення вимог до створюваного програмного продукту, а саме:

· Визначення складу та призначення функцій обробки даних ПП.

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

· Вимоги до комплексу технічних та програмних засобів для експлуатації ПП тощо.

На цьому етапі необхідно виконати формалізовану постановку завдання.

2) проектування структури програмного продукту;

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

3) програмування (створення програмного коду), тестування, автономне та комплексне налагодження програм;

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

4) документування програмного продукту, підготовка експлуатаційної та технологічної документації;

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

5) вихід ринку програмних засобів, поширення програмного продукту (пов'язані з організацією продажів масовому користувачеві);

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

6) експлуатація програмного продукту користувачами;

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

7) супровід програмного продукту;

8) зняття програмного продукту з продажу, відмови від супроводу.

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

Тривалість життєвого циклу для різних ПП не однакова. Для більшості сучасних ПП тривалість життєвого циклу вимірюється у роках (2-3 роки). Хоча досить часто зустрічаються на комп'ютерах та давно зняті з виробництва ПП.

Питання №3.Основні поняття захисту програмних продуктів (ПП).

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

Захист програмного забезпечення має на меті:

1. обмеження несанкціонованого доступу до програм або їх навмисне руйнування та розкрадання;

2. виключення несанкціонованого копіювання (тиражування) програм.

Програмний продукт та бази даних повинні бути захищені за декількома напрямками від впливу:

1) людини– розкрадання машинних носіїв та документації програмного забезпечення; порушення працездатності програмного продукту та ін;

2) апаратури– підключення до комп'ютера апаратних засобів для зчитування програм та даних або їх фізичної руйнації;

3) спеціалізованих програм– приведення програмного продукту або бази даних у непрацездатний стан (наприклад, вірусне зараження), несанкціоноване копіювання програм та бази даних тощо.

Найпростіший і найдоступніший спосіб захисту ПП та бази даних – обмеження доступу.Контроль доступу до програмного продукту та бази даних будується шляхом:

1. парольного захисту програм під час їх запуску;

2. використання ключової дискети для запуску програм;

3. обмеження програм чи даних, функцій обробки, доступних користувачам, та інших.

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

Питання №4.Програмні системи захисту від несанкціонованого копіювання.

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

Таким ключовим елементом можуть бути:

дискета, на якій записаний ключ, що не підлягає копіюванню;

· Певні характеристики апаратури комп'ютера;

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

Програмні системи захисту від копіювання ПП:

· Ідентифікують середовище, з якого запускатиметься програма;

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

· Виробляють реакцію на запуск з несанкціонованого середовища;

· реєструють санкціоноване копіювання;

· Протидіють вивченню алгоритмів та програм роботи системи.

Питання №5.Правові методи захисту програмних продуктів та баз даних.

Правові методи захисту включають:

· Патентний захист;

· Закон про виробничі секрети;

· Ліцензійні угоди та контракти;

· Економічні права, що дають їх власникам право на отримання економічних вигод від продажу та використання ПП та баз даних;

· Моральні права, що забезпечують захист особистості автора у його творі.

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

Питання №6.Характеристика класів програмних продуктів, залежно від сфери їх використання.

Залежно від сфери (області) використання ПП це:

· апаратна частина автономних комп'ютерів та мереж ЕОМ;

· функціональні завдання різних предметних областей;

· технологія розробки програм

для підтримки інформаційних технологій виділяють три класи ПП:

· Системне програмне забезпечення;

· Пакети прикладних програм;

· Інструментарій технології програмування.

Системне програмне забезпеченняспрямовано:

1. створення операційної середовища функціонування інших програм;

2. на забезпечення надійної та ефективної роботи самого комп'ютера та обчислювальної мережі;

3. для проведення діагностики та профілактики апаратури комп'ютера та обчислювальних мереж;

4. виконання допоміжних технологічних процесів (копіювання, архівування тощо.).

Системне програмне забезпечення –сукупність програм та програмних комплексів для забезпечення роботи комп'ютера та мереж ЕОМ.

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

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

Пакет прикладних програм– комплекс взаємозалежних програм на вирішення завдань певного класу конкретної предметної області.

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

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

Питання №7.Класифікація пакетів прикладних програм (ППП).

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

Усі програми за характером використання та категоріями користувачів можна розділити на два класи (рис.8.4) – утилітарні програми та програмні продукти (вироби).

Рис. 8.4.Класифікація програм за категоріями користувачів

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

Програмні продукти(вироби) призначені для задоволення потреб користувачів, широкого розповсюдження та продажу.

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

§ freeware – безкоштовні програми, що вільно розповсюджуються, підтримуються самим користувачем, який правомочний вносити в них необхідні зміни;

§ shareware – некомерційні (умовно-безкоштовні) програми, які можуть використовуватись, як правило, безкоштовно. За умови регулярного використання таких продуктів здійснюється внесок певної суми.

Ряд виробників використовує ОЕМ-програми(Original Equipment Manufacturer), тобто. вбудовані програми, що встановлюються на комп'ютери або поставляються з обчислювальною технікою.

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

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

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

Програмні продукти можуть створюватися як:

§ індивідуальна розробка на замовлення;

§ розробка для поширення серед користувачів.

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

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

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

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

Супровід програмного продукту– підтримка працездатності програмного продукту, перехід на нові версії, внесення змін, виправлення виявлених помилок тощо.

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

Основними характеристиками програм є:

§ алгоритмічна складність (логіка алгоритмів обробки інформації);

§ склад та глибина опрацювання реалізованих функцій обробки;

§ повнота та системність функцій обробки;

§ обсяг файлів програм;

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

§ обсяг дискової пам'яті;

§ розмір оперативної пам'яті для запуску програм;

§ тип процесора;

§ версія операційної системи;

§ наявність обчислювальної мережі та ін.

Програмні продукти мають різноманітність показників якості,які відображають такі аспекти:

§ наскільки добре (просто, надійно, ефективно) можна використовувати програмний продукт;

§ наскільки легко експлуатувати програмний продукт;

§ можна використовувати програмний продукт при зміні умови його застосування та ін.

Дерево параметрів якості програмних продуктів представлене на рис. 8.5.

Рис. 8.5.Дерево характеристик якості програмного продукту

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

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

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

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

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

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

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

У разі існування ринку програмних продуктів важливими характеристиками є:

§ вартість;

§ кількість продажів;

§ час перебування на ринку (тривалість продажів);

§ популярність фірми-розробника та програми;

§ наявність програмних продуктів аналогічного призначення.

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

§ формування політики цін для завоювання ринку;

§ створення торгової мережі для реалізації програмного продукту (так звані дилерські та дистриб'юторні центри);

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

§ навчання користувачів програмного продукту.

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

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

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

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

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

Життєвий цикл програмного продукту

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

Для виробника життєвий цикл програмного продукту складається із трьох фаз:

3. Продовження розробки.

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

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

Існують різні способи поділу процесу розробки програмного забезпечення на етапи. За деяких із них виділяють більшу кількість етапів, за інших - меншу. Очевидно, неминучими є шість етапів. Розробка програмного забезпечення: Визначення вимог Проектування

Написання команд -- програми Компонування Тестування Документування

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

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

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

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

Характеристика програмного продукту

Всі програми за характером використання та категоріями користувачів можна розділити на два класи - утилітарні програми та програмні продукти (вироби).

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

Програмні продукти (вироби) призначені для задоволення потреб користувачів, широкого розповсюдження та продажу.

Freeware - безкоштовні програми, що вільно розповсюджуються, підтримуються самим користувачем, який правомочний вносити в них необхідні зміни;

Shareware – некомерційні (умовно-безкоштовні) програми, які можуть використовуватись, як правило, безкоштовно. За умови регулярного використання таких продуктів здійснюється внесок певної суми.

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

Програмні продукти можуть створюватися як:

Індивідуальна розробка на замовлення;

Розробка для поширення серед користувачів.

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

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

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

Алгоритмічна складність (логіка алгоритмів обробки інформації);

Склад та глибина опрацювання реалізованих функцій обробки;

Повнота та системність функцій обробки;

Об'єм файлів програм;

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

Об'єм дискової пам'яті;

розмір оперативної пам'яті для запуску програм;

версія операційної системи;

Наявність обчислювальної мережі та ін.

Програмні продукти мають різноманіття показників якості, які відображають такі аспекти:

Наскільки добре (просто, надійно, ефективно) можна використати програмний продукт;

Наскільки легко експлуатувати програмний продукт;

Чи можна використовувати програмний продукт у разі зміни умови його застосування та ін.

Дерево характеристик якості програмних продуктів

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

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

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

У разі існування ринку програмних продуктів важливими характеристиками є:

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

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

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

Всі програми за характером використання та категоріями користувачів можна розділити на два класи:

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

2) програмні продукти(вироби), призначені для виконання завдань користувачів, широкого розповсюдження та продажу.

Крім продажу існують інші способи легального поширення програмних продуктів (ПП), як правило, через Інтернет:

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

- ShareWare— (некомерційні) умовно-безкоштовні програми, які можуть використовуватись, як правило, безкоштовно. За умови регулярного використання таких продуктів здійснюється внесок певної суми та реєстрація. Мають різні обмеження – від нагадування про необхідність зареєструвати програму до обмежень функціональності;

- DonationWare- різновид ShareWare, де не вказується конкретна сума, яку має заплатити користувач у разі, якщо йому сподобалася програма.

- PostcardWare- для отримання офіційного права користуватися програмою, користувач повинен надіслати автору поштову картку;

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

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

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

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

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

ПП можуть створюватися як:

- індивідуальна розробкана замовлення (враховується специфіка обробки даних для конкретного користувача);

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

Програмні продукти мають різноманітність показників якості(Рис.

2.1), що відображають такі аспекти:

Наскільки добре (просто, надійно, ефективно) можна використовувати ПП;

Наскільки легко експлуатувати ПП;

Чи можна використовувати ПП при зміні умови його застосування та ін.

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

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

Рис. 2.1. Дерево характеристик якості програмних продуктів

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

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

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

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

В умовах існування ринку ПП важливими характеристиками є:

Час перебування над ринком (тривалість продажів);

Популярність фірми-розробника та програми;

Наявність програмних продуктів аналогічного призначення.

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

ПРОГРАМНІ ПРОДУКТИ ТА ЇХНІ ОСНОВНІ ХАРАКТЕРИСТИКИ.

1. Поняття та класи програмного продукту.

2. Життєвий цикл програмного продукту.

3. Основні поняття захисту програмних продуктів.

4. Програмні системи захисту від несанкціонованого копіювання.

5. Правові методи захисту програмних продуктів та баз даних.

6. Характеристика класів програмних продуктів, залежно від сфери їх використання.

7. Класифікація пакетів прикладних програм.

Питання №1.Поняття та класи програмного продукту.

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

Всі програми за характером використання та категоріями користувача можна розділити на два класи:

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

2. Програмні продукти (вироби) призначені для задоволення потреб користувачів, широкого розповсюдження та продажу.

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

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

2. shareware – некомерційні (умовно-безкоштовні) програми, які можуть використовуватись, як правило, безкоштовно. За умови регулярного використання таких продуктів здійснює внесок певної суми.

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

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

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

Питання №2.Життєвий цикл програмного продукту.

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

1) маркетинг ринку програмних засобів, специфікація вимог до програмного продукту;

Маркетинг та специфікація програмного продукту призначені для вивчення вимог до створюваного програмного продукту, а саме:

· Визначення складу та призначення функцій обробки даних ПП.

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

· Вимоги до комплексу технічних та програмних засобів для експлуатації ПП тощо.

На цьому етапі необхідно виконати формалізовану постановку завдання.

2) проектування структури програмного продукту;

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

3) програмування (створення програмного коду), тестування, автономне та комплексне налагодження програм;

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

4) документування програмного продукту, підготовка експлуатаційної та технологічної документації;

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

5) вихід ринку програмних засобів, поширення програмного продукту (пов'язані з організацією продажів масовому користувачеві);

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

6) експлуатація програмного продукту користувачами;

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

7) супровід програмного продукту;

Зняття програмного продукту з продажу, відмови від супроводу.

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

Тривалість життєвого циклу для різних ПП не однакова. Для більшості сучасних ПП тривалість життєвого циклу вимірюється у роках (2-3 роки). Хоча досить часто зустрічаються на комп'ютерах та давно зняті з виробництва ПП.

Питання №3.Основні поняття захисту програмних продуктів (ПП).

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

Захист програмного забезпечення має на меті:

1. обмеження несанкціонованого доступу до програм або їх навмисне руйнування та розкрадання;

2. виключення несанкціонованого копіювання (тиражування) програм.

Програмний продукт та бази даних повинні бути захищені за декількома напрямками від впливу:

1) людини– розкрадання машинних носіїв та документації програмного забезпечення; порушення працездатності програмного продукту та ін;

2) апаратури– підключення до комп'ютера апаратних засобів для зчитування програм та даних або їх фізичної руйнації;

3) спеціалізованих програм– приведення програмного продукту або бази даних у непрацездатний стан (наприклад, вірусне зараження), несанкціоноване копіювання програм та бази даних тощо.

Найпростіший і найдоступніший спосіб захисту ПП та бази даних – обмеження доступу.Контроль доступу до програмного продукту та бази даних будується шляхом:

1. парольного захисту програм під час їх запуску;

2. використання ключової дискети для запуску програм;

3. обмеження програм чи даних, функцій обробки, доступних користувачам, та інших.

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

Питання №4.Програмні системи захисту від несанкціонованого копіювання.

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

Таким ключовим елементом можуть бути:

дискета, на якій записаний ключ, що не підлягає копіюванню;

· Певні характеристики апаратури комп'ютера;

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

Програмні системи захисту від копіювання ПП:

· Ідентифікують середовище, з якого запускатиметься програма;

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

· Виробляють реакцію на запуск з несанкціонованого середовища;

· реєструють санкціоноване копіювання;

· Протидіють вивченню алгоритмів та програм роботи системи.

Питання №5.Правові методи захисту програмних продуктів та баз даних.

Правові методи захисту включають:

· Закон про виробничі секрети;

· Ліцензійні угоди та контракти;

· Економічні права, що дають їх власникам право на отримання економічних вигод від продажу та використання ПП та баз даних;

· Моральні права, що забезпечують захист особистості автора у його творі.

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

Питання №6.Характеристика класів програмних продуктів, залежно від сфери їх використання.

Залежно від сфери (області) використання ПП це:

· апаратна частина автономних комп'ютерів та мереж ЕОМ;

· функціональні завдання різних предметних областей;

· технологія розробки програм

для підтримки інформаційних технологій виділяють три класи ПП:

· Системне програмне забезпечення;

· Пакети прикладних програм;

· Інструментарій технології програмування.

Системне програмне забезпеченняспрямовано:

1. створення операційної середовища функціонування інших програм;

2. на забезпечення надійної та ефективної роботи самого комп'ютера та обчислювальної мережі;

3. для проведення діагностики та профілактики апаратури комп'ютера та обчислювальних мереж;

4. виконання допоміжних технологічних процесів (копіювання, архівування тощо.).

Системне програмне забезпечення –сукупність програм та програмних комплексів для забезпечення роботи комп'ютера та мереж ЕОМ.

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

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

Пакет прикладних програм– комплекс взаємозалежних програм на вирішення завдань певного класу конкретної предметної області.

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

Прикладні програми призначені на вирішення конкретних функціональних завдань користувача.

Прикладне ПЗ загального призначення- Сукупність програм для вирішення загальних універсальних завдань. Ці програми використовують більшість користувачів комп'ютера.

Види прикладного програмного забезпечення загального призначення: текстові редактори, текстові процесори, електронні таблиці, графічні редактори і т.д.

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

Види прикладного програмного забезпечення спеціального призначення: настільні видавничі системи, електронні енциклопедії та підручники, системи автоматизованого перекладу серверні СУБД, редактори тривимірної графіки тощо.

Програмні продукти Основні характеристики ПП. Класи ПП

Програмний продукт- Комплекс взаємопов'язаних програм для вирішення певного завдання масового попиту, підготовлений до реалізації.

Основними характеристиками програм є:

  • · Повнота і системність функцій обробки;
  • · Об'єм файлів програм;
  • · вимоги до операційної системи та технічних засобів обробки;
  • · Об'єм дискової пам'яті;
  • · Розмір оперативної пам'яті для запуску програм;
  • · Тип процесора;
  • · Версія операційної системи.

Класи програмних продуктів у сфері їх використання:

1. Системне програмне забезпечення

Призначений для виконання різних допоміжних функцій: управління ресурсами ЕОМ; створення копій використовуваної інформації; перевірку працездатності пристроїв ЕОМ; видачу довідкової інформації про комп'ютер.

До складу системного програмного забезпечення можна зарахувати: операційну систему; антивірусні програми; програми архівування; програми обслуговування мережі та ін.

  • 2. Пакети прикладних програм- безпосередньо забезпечують виконання необхідних користувачеві робіт. Приклади прикладних програм: текстові редактори; системи машинної графіки (навчальні, наукові, інженерні та ін.); електронні таблиці; системи управління базами даних; видавничі системи; бухгалтерські програми; системи автоматизованого проектування; експертні системи; системи штучного інтелекту (перевірка орфографії, переклад, розпізнавання тексту); браузери; навчальні програми та ін.
  • 3. Інструментарій технології програмування(Полегшують процес створення нових програм для ЕОМ конкретною мовою програмування). Приклади програмування: Quck Basic; Turbo Basic; Visual Basic; Pascal; C++; Delphi та ін.

© 2022 androidas.ru - Все про Android