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

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

- монітор, що управляє процесом рішення і взаємодією всіх компонентів ППП;

- транслятори з вхідних мов;

- засоби роботи з даними;

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

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

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

 

ЕТАПИ РОЗВИТКУ ППЗ

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

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

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

Як системне забезпечення пакетів першого покоління звичайно використовувалися штатні компоненти програмного забезпечення ЕОМ: компілятори з алгоритмічних мов, редактори текстів, засоби організації бібліотек програм, архівні системи і т. д. Ці пакети не вимагали скільки-небудь розвиненої системної підтримки, і для їх функціонування цілком вистачало вказаних системних засобів загального призначення. В більшості випадків розробниками таких пакетів були прикладні програмісти, які намагалися пристосувати універсальні мови програмування до своїх потреб.

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

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

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

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

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

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

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

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

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



ВИСНОВОК

 

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

Західні найбільші виробники програмного забезпечення вирішили рухатися 2-а шляхами: з одного боку, вони укупі з правоохоронними органами все частіше привертають продавців піратського ПО до кримінальної відповідальності, а з іншою прагнуть тримати ціни на свої продукти мінімально низькими, розробляючи і запускаючи різного роду партнерські програми. Так, наприклад, в травні 2000г. фірма Microsoft проводила опит керівників підприємств, що використовують від 50 ПК, на предмет реєстрації підприємств в московському офісі Microsoft для того, що б в майбутньому вони могли придбати фірмові продукти із значними знижками. Окрім цього, та ж фірма Microsoft пропонує всім охочим «викачати» її новітній браузер Microsoft Explorer 5.01 з вузла в мережі Інтернет абсолютно безкоштовно.

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

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

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

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




Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: