Главная страница

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


Скачать 14.87 Mb.
НазваниеКонспект лекцій з дисципліни 07 технологія створення програмних продуктів напряму 050101 Компютерні науки
Анкорконспект лекцій (ТСПП).docx
Дата15.12.2017
Размер14.87 Mb.
Формат файлаdocx
Имя файлаконспект лекцій (ТСПП).docx
ТипКонспект
#11579
страница45 из 62
1   ...   41   42   43   44   45   46   47   48   ...   62

11.2. Стандарти в області програмного забезпечення.


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

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

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



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

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

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

У Тлумачному словнику після інформатика В. І. Першикова і В. М. Савинкова [52] поняття стандартизація визначається як прийняття угоди по специфікації, виробництву і використанню апаратних і програмних засобів обчислювальної техніки; встановлення і застосування стандартів, норм, правив і тому подібне

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

Такі стандарти регламентують взаємодію між різними програмами. Для цього призначені стандарти міжпрограмного інтерфейсу, наприклад OLE (Object Linking and Embedding - зв'язування і вбудовування об'єктів). Без таких стандартів програмні продукти були б "закритими" один для одного.

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

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

З точки зору користувача, усе різноманіття ПО повинне управлятися однаково. Має бути однакова навігація - переміщення за програмою, однакові органи управління ПО і єдина реакція програмного забезпечення на дії користувача. Для цього розроблені стандарти на призначений для користувача інтерфейс - GUI (Graphical User Interface). Усе це регламентується стандартами, діючими у сфері інформаційних технологій.

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

Спробуємо внести порядок в різноманіття стандартів, діючих у сфері ИТ, і класифікувати їх (мал. 1.3).

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

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

Одна з головних причин значущості сучасної програми стандартизації - усвідомлення небезпеки зловживання стандартами "де-факто". У 60-і і 70-і роки XX століття створення стандартів "де-факто" ставило користувачів в залежне від виробників положення при використанні основних засобів обробки даних і телекомунікацій. Важливий аспект сьогоднішньої роботи по стандартизації - подолання цієї залежності через просування стандартних інтерфейсів. Довгий час такими стандартами були SQL (Structured Query Language) і мова діаграм Д. Роса SADT (Structured Analysis and Design Technique).




Мал. 1.3. Схема класифікації стандартів в області інформаційних технологій
Стандарт "де-юре" створюється формально визнаною стандартизующей організацією. Він розробляється при дотриманні правил консенсусу в процесі відкритої дискусії, в якій кожен має шанс взяти участь. Жодна група не може діяти незалежно, створюючи стандарти для промисловості. Якщо какая- або група постачальників створить стандарт, що не враховує вимоги користувачів, вона потерпить невдачу. Те ж саме відбувається, якщо користувачі створюють стандарт, з яким не можуть або не погоджуватимуться постачальники, - цей стандарт також не буде успішним. Стандарти "де-юре" не можуть бути змінені, не пройшовши процес узгодження під контролем організації, розробляючої стандарти. Стандарти OSI (Open Systems Interconnection reference model), Ethernet, POSIX, SQL і більшість стандартів мов - приклади такого роду стандартів.

Як приклад переходження стандарту "де-факто" в стандарт "де-юре" розглянемо історію розвитку і стандартизації мови SQL.

Роботи із створення мови SQL були початі в 70-х роках минулого століття в дослідницьких лабораторіях компанії IBM. Нині він став одним з головних стандартів в області інформаційних систем і забезпечив технологію базової мови для цілого покоління СУБД, заснованих на реляційній моделі. Не дивлячись на те, що він був комерційно реалізований на початку 80-х років лише для невеликої групи програмних продуктів, SQL, безперечно, отримав визнання з прийняттям ANSI і ISO стандарту SQL - 86. Пізніше, при підготовці стандарту SQL - 89, в мову були включені ряд додаткових можливостей.

Витоки SQL слід віднести до періоду народження реляційної моделі даних (описаною в статті Э.Ф. Кодда)[65]. Оскільки протягом декількох наступних років не з'явилося ніяких мов, подібних SQL, в дослідницьких проектах, ініційованих компанією IBM після публікації статті Э.Ф. Кодда, надавалося особливе значення необхідності створення мов інтерфейсу створюваних СУБД для перевірки можливостей реляційної моделі. Історію розробки мови SQL ілюструє мал. 1.4.



У дослідницьких лабораторіях IBM на початку 70-х років 20 віків одночасно з роботою над майбутньою мовою SQL розроблялися і інші проекти по створенню і експериментальній реалізації реляційних мов. Ймовірно, найбільш відомим з них є створений М. Злуфом з лабораторії IBM в Йорктаун-Хейтс приблизно в один і той же час з SEQUEL (ранньою версією SQL) реляційна мова Query - By - Example (QBE). Ця мова використовується нині в багатьох комерційних програмних продуктах разом з SQL.

У 1974 р. Дональд Д. Чамберлин з Дослідницької лабораторії IBM в Сан-Хосе запропонував специфікації реляційної мови, названого SEQUEL (Structured English QUEry Language). Переглянута версія цієї мови (SEQUEL/2) була розроблена в 1976-1977 роках, і він придбав свою остаточну назву - SQL (Structured Query Language).

Eще перед тим, як комерційні продукти IBM на початку 80-х років 20 віків вийшли на ринок програмного забезпечення, компанія Relation Software Inc. (що називається тепер Oracle Corporation) оголосила про випуск реляційної СУБД, заснованої на мові SQL. Ця система в результаті її еволюції стала однією з домінуючих комерційних систем і носить назву ORACLE.

Продукт ORACLE з його мовою SQL зіткнувся з конкуренцією у сфері середніх ЕОМ і МІНІ-ЕОМ з боку продуктів ряду інших розробників, зокрема СУБД Ingres з мовою QUEL компанії Relation Technology Inc., а також продукту Rdb/ VMS з мовою RDML компанії Digital Equipment Corporation.

Однією з причин досягнення успіху SQL послужило формування Американським національним інститутом стандартів (American National Standards Institute, ANSI) комітету X3H2, заснованого для розробки стандартів мов баз даних. Представник IBM запропонував використовувати як попередні специфікації реляційної мови результати раніше проведеної IBM роботи над SEQUEL/2, і розробники стандарту приступили до роботи. Документ, озаглавлений "SQL", був здебільшого трактатом про різні форми SQL, використовувані в комерційних програмних продуктах.

Міжнародна організація по стандартизації (International Standards Organization, ISO) у рамках технічного комітету ТС97 (званого тепер як ISO/IEC JTC1) також вела роботу із створення стандарту мов реляційних баз даних. В середині 80-х років як ANSI, так і ISO схвалили стандарти SQL (ANSI - в 1986 р., a ISO - на початку 1987 р.).

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

Проте ще до 1989 р. як в ANSI, так і в ISO почалася робота по радикальних розширеннях SQL. Ця робота, спочатку ідентифікована як "SQL2", почалася в 1987 р., і її результати були через п'ять років прийняті як стандарт SQL - 92.

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

1   ...   41   42   43   44   45   46   47   48   ...   62


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