Для яких цілей потрібне інструментальне програмне забезпечення. Інструментальні системи. Сутність та поняття інструментального програмного забезпечення

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

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

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

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

З розвитком апаратного забезпечення комп'ютерів збільшувалася швидкість обробки та ємність пам'яті. Це призвело до змін у мовах програмування – вони стали простішими та зрозумілішими для людей. Мови програмування у розвитку пройшли майже самі стадії, як і самі комп'ютери. Діаграма на рис.4.1 показує, як відбувався розвиток мов програмування разом із поколіннями комп'ютерів протягом останніх 50 років. Основна тенденція – збільшення простоти взаємодії користувача з апаратним та програмним забезпеченням комп'ютерів.


Рис. 4.1.

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

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

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

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

У 1954 році в корпорації IBM групою розробників на чолі з Джоном Бекусом (John Backus) було створено мова програмування Fortran. Значення цієї події важко переоцінити. Це перший мова програмуваннянайвищого рівня. Вперше програміст міг по-справжньому абстрагуватися від особливостей машинної архітектури. Ключовою ідеєю, що відрізняє нову мову від асемблера, була концепція підпрограм.

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

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

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

Другою в історії високорівневою мовою програмування став Lisp. Він використовувався і до цього часу використовується в основному для вирішення складних завдань. Датою народження Ліспа був 1958, популярність до нього прийшла трохи пізніше. У 1960 році в журналі Communications of the ACM вийшла стаття Джона Маккарті (автора Ліспа) з докладним описомнової мови. Він став батьком не тільки Лиспа, а й основоположником всього функціонального програмування. Мова Lisp – мова для обробки списків. Набув досить широкого поширення в системах штучного інтелекту. Має кілька нащадків: Planner (1967), Scheme (1975), Common Lisp (1984). Багато його рис успадковані сучасними мовами функціонального програмування.

У 1960 році в США було створено мова програмування Cobol. Він був розрахований спеціально для створення комерційних програм. На Кобол написані тисячі прикладних комерційних систем. Відмінною особливістю мови є можливість ефективної роботиз великими масивами даних, що притаманно саме комерційних додатків. Популярність Кобола настільки висока, що навіть зараз, при всіх його недоліках (за структурою та задумом Кобол багато в чому нагадує Фортран), з'являються нові його діалекти та реалізації. Так, нещодавно з'явилася реалізація Кобола, сумісна з Microsoft. NET , що вимагало, мабуть, внесення у мову деяких характеристик об'єктно-орієнтованої мови.

В 1960 командою на чолі з Петером Науром (Peter Naur) був створений мова програмування Algol. Ця мова дала початок цілій родині алголоподібних мов (найважливіший представник – Pascal). 1968 року з'явилася Нова версіямови – Algol 68. Вона знайшла настільки широкого практичного застосування, як перша версія, але була дуже популярна серед теоретиків. Мова була досить цікава, тому що мала багато унікальних на той момент характеристик.

До середини 60-х років минулого століття США різко зросла потреба в навчанні програмування не тільки фахівців у галузі обчислювальної техніки, а й широкого кола користувачів. Це було з різким збільшенням кількості комп'ютерів у бізнесі. Два професори Дартмутського коледжу – Томас Курт та Джон Кемені – для навчання студентів програмуванню створили мову Бейсік (BASIC). Свою назву мова отримала за першими буквами англійських слів "Beginner"s All-purpose Symbolic Instruction Code" - універсальний код символічних інструкцій для початківців.

Є й інший переклад – базовий, основний, що добре відповідало становищу справ, що склалося, у програмуванні для бізнесу. Мова призначалася для навчання програмування і набула широкого поширення у вигляді різних діалектів, насамперед, як мова для домашніх мікрокомп'ютерів. Згодом більша частина критики цієї мови будувалася на тому, що після Basic "а нормально програмувати людина не може, і виправити це вже не вдасться. Як би там не було, в 1963 р. мова була створена і отримала ім'я Dartmouth BASIC".

Справжню популярність ця мова отримала у 1975 році. Тоді Microsoft (тоді лише дві людини – Білл Гейтс і Пол Аллен) написали інтерпретатор бейсика для комп'ютерів Altair 8800, названий Altair BASIC. Мова стрімко розгалужилася на безліч діалектів. Наприклад, Apple II базувався на одній із його версій, а для операційної системи CP/M було написано BASIC -80. Зауважимо, що друге (або навіть третє) дихання розвитку Basic дав знову ж таки Microsoft. Сталося це на початку 90-х років минулого століття, коли був випущений Visual Basic, вже зовсім не схожий на свого предка.

У 1964 року корпорація IBM створила мову PL/1 , який був замінити Cobol і Fortran у більшості додатків. Мова мала виняткове багатство синтаксичних конструкцій. У ньому вперше з'явилася обробка виняткових ситуацій та підтримка паралелізму. Слід зазначити, що синтаксична структура мови була дуже складною. Прогалини вже були використані як синтаксичні роздільники, але ключові слова не були зарезервовані. Через такі особливості розробка компілятора для PL/1 була виключно складною справою. Мова так і не стала популярна поза миром IBM, проте широко використовувалася в колишньому Радянському Союзі та країнах соціалістичної співдружності. Причина цього полягає у виробництві цими країнами низки програмно сумісних моделей комп'ютерів ЄС ЕОМ, які були скопійовані з комп'ютерів IBM /360.

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

У 1970 році Ніклаус Вірт створив мова програмування Pascal. Мова чудова тим, що це перша широко поширена мова для структурного програмування (першою була Алгол, але вона не отримала настільки широкого поширення). Вперше оператор безумовного переходуперестав відігравати основну роль під час управління порядком виконання операторів. У цій мові також запроваджено сувору перевірку типів, що дозволило виявляти багато помилок на етапі компіляції.

Негативною рисою мови була відсутність у ньому засобів для розбиття програми на модулі. Вірт усвідомлював це і розробив мову Modula-2 (1978), в якій ідея модуля стала однією з ключових концепцій мови. У 1988 році з'явилася мова Modula-3, в якій було додано об'єктно-орієнтовані риси. Логічним продовженням Pascal та Modula є мова Oberon та Oberon -2. Вони характеризуються рухом у бік об'єктної та компонентної орієнтованості. У цьому плані цікаво розглянути С-подібні мови.

У 1972 році Керніганом та Рітчі був створений мова програмування C. Він створювався як мова для розробки операційної системи UNIX. Мова С часто називають "перенесеним асемблером", маючи на увазі те, що він дозволяє працювати з даними практично так само ефективно, як на асемблері, надаючи при цьому структуровані керуючі конструкції та абстракції високого рівня (структури та масиви). Саме з цим пов'язана його величезна популярність і досі. І саме це є його ахіллесовою п'ятою. Компілятор C дуже слабко контролює типи, тому дуже легко написати зовні правильну, але логічно помилкову програму.

У 1986 Б'ярн Страуструп створив першу версію мови C++, додавши в мову C об'єктно-орієнтовані риси, взяті з Simula (див. нижче), і виправивши деякі помилки та невдалі рішення мови. C++ продовжує вдосконалюватися і в даний час, так в 1998 вийшла нова (третя) версія стандарту, що містить в собі деякі досить істотні зміни. Мова стала основою для розробки сучасних великих та складних проектів. У нього є, однак, і слабкі сторони, які з вимог ефективності.

У 1995 році в корпорації Sun Microsystems Кеном Арнольдом і Джеймсом Гослінгом була створена мова Java. Він успадковував синтаксис C і C++ і був позбавлений деяких неприємних рис останнього. Відмінною особливістю мови є компіляція в код абстрактної машини, для якої потім пишеться емулятор (Java Virtual Machine) для реальних систем. Крім того, Java немає покажчиків і множинного успадкування, що сильно підвищує надійність програмування.

У 1998-2001 роках у корпорації Microsoft групою інженерів під керівництвом Андерса Хейлсберга в компанії була створена мова C#. Він достатньо схожий з Java (і замислювався як альтернатива останньому), але має й відмінні риси. Мова C# орієнтована в основному на розробку багатокомпонентних інтернет-додатків. Це основна мова розробки програм для платформи Microsoft. NET. Компілятор з C# входить до стандартне встановленнясамої. NET, тому програми на ньому можна створювати та компілювати навіть без інструментальних засобів, на зразок Visual Studio.

У 1983 році під егідою Міністерства оборони США було створено мову Ada. Він чудовий тим, що більшість помилок може бути виявлено на етапі компіляції. Крім того, підтримуються багато аспектів програмування, які часто віддаються на відкуп операційній системі (паралелізм, обробка винятків). У 1995 році був прийнятий стандарт мови Ada 95, який розвиває попередню версію, додаючи до неї об'єктну орієнтованість та виправляючи деякі неточності. Обидві ці мови не набули широкого поширення поза військовими та іншими великомасштабними проектами (авіація, залізничні перевезення). Основною причиною є складність освоєння мови та досить громіздкий синтаксис (значно більш громіздкий, ніж Pascal).

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

У 1957 році була спроба створення мови для опису математичної обробки даних. Мова була названа APL (Application Programming Language). Його відмінною особливістю було використання математичних символів (що утруднювало застосування на текстових терміналах; поява графічних інтерфейсів зняло цю проблему) і дуже потужний синтаксис, який дозволяв робити безліч нетривіальних операцій прямо над складними об'єктами, не вдаючись до розбиття їх на компоненти. Широкому застосуванню завадило, як зазначалося, використання нестандартних символів як елементів синтаксису.

У 1962 році з'явилася мова Snobol (а в 1974 – його наступник Icon), призначений для обробки рядків. Синтаксис Icon нагадує С та Pascal одночасно. Відмінність полягає в наявності потужних вбудованих функцій роботи з рядками та пов'язана з цими функціями спеціальна семантика. Сучасним аналогом Icon і Snobol є Perl –мова обробки рядків і текстів, до якої додані деякі об'єктно-орієнтовані можливості. Вважається дуже практичною мовою, проте йому бракує елегантності.

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

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

Мова JavaScript була створена в Netscape Communications як мова для опису складної поведінки веб-сторінок. Спочатку мова називалася LiveScript, причиною зміни назви послужили маркетингові міркування. Він інтерпретується браузером під час відображення веб-сторінки, синтаксисом схожий на Java і (віддалено) на C/C++. Мова може використовувати вбудовану в браузер об'єктну функціональність, але справді об'єктно-орієнтованою мовою не є.

Інша скриптова мова VBScript була створена в корпорації Microsoft багато в чому як альтернатива JavaScript. Має подібну сферу застосування, синтаксично схожий на мову Visual Basic (є усіченою версією останнього); так само, як і JacaScript, виконується браузером при відображенні веб-сторінок і має той самий рівень об'єктної орієнтованості.

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

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

Популярність об'єктно-орієнтованого програмування принесла мова Smalltalk, створена в 1972 році. Мова призначалася для проектування складних графічних інтерфейсів і була першою по-справжньому об'єктно-орієнтованою мовою. У ньому класи та об'єкти – це єдині конструкції програмування. Недоліком Smalltalk є великі вимоги до пам'яті та низька продуктивністьотриманих програм. Причина – не дуже вдалою реалізацією об'єктно-орієнтованих особливостей. Популярність мов C++ та Ada 95 пов'язана саме з тим, що об'єктна орієнтованість реалізована без істотного зниження продуктивності.

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

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

Мова Оccam була створена в 1982 році і призначена для програмування трансп'ютерів - багатопроцесорних систем розподіленої обробки даних. Він визначає взаємодію паралельних процесів як каналів – способів передачі від одного процесу до іншого. Відзначимо особливість синтаксису мови Occam – у ньому послідовний та паралельний порядки виконання операторів рівноправні, і їх необхідно явно вказувати ключовими словами PAR та SEQ.

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

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

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

З мов з енергійною семантикою згадаємо ML і два його сучасні діалекти - Standard ML (SML) і CaML. Останній має об'єктно-орієнтованого нащадка – Objective CaML (O"CaML). Серед мов з лінивою семантикою найбільш поширені дві: Haskell і його простіший діалект Clean. Цікава мова функціонального програмування F#. Він є мовою мультипарадигменного програмування. На ньому можна писати функціональну, Імперативний і об'єктно-орієнтований код, що дозволяє бути більш прагматичним, замість того, щоб намагатися загнати будь-яке завдання, що стоїть перед розробником, у прокрустово ложі класів та інтерфейсів. для VS2008.

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

Важливо, що F# підтримує майже всі можливості, які є у C#. Тому його можна використати, не побоюючись принципу "все чи нічого". Не потрібно викидати існуючий код та перекладати все на F#. Взагалі, передбачається, що код на F# буде переважно застосовуватися як бібліотеки класів, інтегровані у великий програмний продукт.

Програми мовами логічного програмування виражені як формули математичної логіки, а компілятор намагається отримати наслідки з них. Родоначальником більшості мов логічного програмування є мова Prolog (1971). Він має ряд нащадків – Parlog (1983, орієнтований на паралельні обчислення), Delta Prolog та інших.

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

На закінчення розділу можна назвати деяку загальну тенденцію у розвитку мов програмування. Мови розвиваються у бік дедалі більшої абстракції. І це супроводжується падінням ефективності. Питання: а чи варто цього абстракція? Відповідь: стоїть, оскільки підвищення рівня абстракції спричиняє підвищення рівня надійності програмування. З низькою ефективністю можна боротися шляхом створення швидших комп'ютерів. Якщо вимоги до пам'яті занадто високі, можна збільшити обсяг. Це вимагає часу і коштів, але це можна вирішити. А от із помилками у програмах можна боротися лише одним способом: їх треба виправляти. Ще краще – не робити. А ще краще – максимально ускладнити їхнє вчинення. І саме на це спрямовані усі дослідження у галузі мов програмування.

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

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

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

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

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

Приклади інтегрованих середовищ програмування: для розробки консольних програм: Turbo Paskal, Quick Basic, Borland C++ для розробки Windows програм: Microsoft Visual C++, Microsoft Visual Basic, Embarcadero Delphi, Embarcadero JBuilder

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

Вид інструментального ПЗ

Призначення

Спеціалізовані текстові редактори

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

Транслятори:

для переведення програми до машинного коду

Асемблери

для перекладу програми мовою Ассемблер

Macro Assembler (MASM), Turbo Assembler (TASM) - для процесорів x86,

Компілятори

для перекладу програми мовою високого рівня (Паскаль, Делфі, Сі, Бейсік). Переклад здійснюється повністю одноразово. Під час перекладу створюється файл.

GNU Compiler Collection (GCC)-для Cі, С++, Java, Fortran та ін; Free Pascal Compiler (FPS) для Паскаля; Intel C++ compiler (для Сі, С++, Fortran)

Інтепретатори

для покомандного перекладу та виконання програми мовою високого рівня (усі скриптові мови: VBScript, JavaScript, PHP, Perl, Python, Ruby). Файл не створюється.

компонувальники (лінкери, редактори зв'язків)

для збирання виконуваного файлу з об'єктних файлів (двійкові коди окремих файлів програми)

відладники (дебаггери)

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

бібліотеки

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

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

Розміщено на http://www.allbest.ru/

Завдання 1

Інструментальне програмне забезпечення, його призначення та склад

Завдання 2

Перший етап - постановка задачі

Другий етап - економіко-математичний опис задачі та вибір методу її вирішення

Третій етап – алгоритмізація

Четвертий етап – програмування

П'ятий етап – налагодження

Список використаної літератури

Завдання 1

Інструментальне програмне забезпечення, його призначення та склад

Програмне забезпечення

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

Програмне забезпечення можна умовно розділити на три категорії:

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

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

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

Системне ПЗ

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

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

До системного ПЗ належать:

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

програми - оболонки (забезпечують зручніший і наочний спосіб спілкування з комп'ютером, ніж за допомогою командного рядка DOS, наприклад, Norton Commander)

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

Драйвери (програми, призначені для управління портами периферійних пристроїв, зазвичай завантажуються в оперативну пам'ятьпід час запуску комп'ютера)

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

диспетчери файлів або файлові менеджери

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

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

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

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

засоби забезпечення комп'ютерної безпеки (резервне копіювання, антивірусне програмне забезпечення).

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

Прикладне ПЗ

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

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

До прикладного ПЗ, наприклад, відносяться:

Комплект офісних програм MS OFFICE

Бухгалтерські системи

Фінансові аналітичні системи

Інтегровані пакети діловодства

CAD – системи (системи автоматизованого проектування)

Редактори HTML або Web - редактори

Браузери - засоби перегляду Web - сторінок

Графічні редактори

Інструментальне ПЗ

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

У загальному випадку для створення програми обраною мовою програмування (мові системного програмування) потрібно мати такі компоненти:

1. Текстовий редактор для створення файлу із вихідним текстом програми.

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

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

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

Найбільш популярні редактори (системи програмування програм із використанням візуальних засобів) візуального проектування:

Borland Delphi - призначений для вирішення практично будь-яких задач прикладного програмування

Borland C++ Builder - це відмінний засібдля розробки DOS та Windows додатків

Microsoft Visual Basic – це популярний інструмент для створення Windows-програм

Microsoft Visual C++ - це засіб дозволяє розробляти будь-які програми, що виконуються серед ОС типу Microsoft Windows.

Завдання 2

Сформуйте та заповніть накопичувальну відомість нарахування оплати номерів готелю "Старт" за березень 2004 року. Номери в готелі 1-місні коштують для кожного клієнта 750 руб. на день, 2-місні – 650 руб. з кожного клієнта. Номер можна забронювати. Бронь у готелі може бути двох видів: групова та індивідуальна та оплачується окремо. При бронюванні на групу оплата за перший день проживання збільшується на 25% вартості номера, в тих випадках, коли броні немає або вона індивідуальна, доплати немає.

Тип броні та кількість днів проживання у кожному номері представлені у таблиці.

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

Відомість нарахування оплати номерів готелю "Старт" заберезень 2004 р.

Номер кімнати

Тип займаного номера

Тип броні

Оплата за броню (руб.)

Кількість днів проживання

1-місний

1-місний

1-місний

2-місний

2-місний

2-місний

2-місний

Разом:

Побудуйте діаграми:

· Кругову діаграму за графою "Кількість днів проживання".

· Гістограму за графою "Оплата за дні проживання".

Відомість нарахування оплати номерів готелю "Старт" за березень 2004р.

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

Розглянемо етапи підготовки розв'язання задачі на ПК.

Перший етап - постановка задачі

Метою вирішення цього завдання є розрахунок оплати за броню та дні проживання постояльців готелю "Старт" за березень 2004 року.

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

Другий етап - економіко-математичний опис задачі та вибір методу її вирішення

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

Позначимо вихідні дані:

ПРО - оплата за броню;

ТБ – тип броні;

СНЧД - вартість номера з особи на день;

КДП – кількість днів проживання;

ОДП – оплата за дні проживання;

Оплата за броню розраховується так:

ПРО = 0,25 * СНЧД,

якщо ТБ = "група", інакше 0.

Оплата за дні проживання розраховується так:

ОДП = ПРО + СНЧД * КДП.

Для вирішення цього завдання скористаємося Microsoft Excel.

Третій етап – алгоритмізація

Запустимо програму Excel. Роботу виконуватимемо на Листі 1.

У діапазон осередків A1: G1 введемо назву граф. Для надання естетичного вигляду шапці таблиці назви граф розташуємо в центрі осередку по вертикалі та по горизонталі з перенесенням слів. Для цього виділимо діапазон осередків A1: G1, викличемо контекстно-залежне меню (на виділеній області клацнемо правою кнопкою миші), у меню виберемо команду Формат осередків. У діалоговому вікні, що з'явилося, виберемо закладку Вирівнювання, встановимо опції: По горизонталі - по центру; По вертикалі – по центру; переносити за словами та натиснемо ОК.

У стовпці A, B, C, D та F введемо дані, зазначені в завданні. Далі зробимо необхідні розрахунки з використанням формул. Нижче представлена ​​розрахункова таблиця у формульному та числовому вигляді.

Таблиця у формульному вигляді.

Номер кімнати

Тип займаного номера

Вартість номера з особи в день (руб.)

Тип броні

Оплата за броню (руб.)

Кількість днів проживання

Оплата за дні проживання (руб.)

1-місний

ЯКЩО(D2="група";0,25*C2;0)

1-місний

ЯКЩО(D3="група";0,25*C3;0)

1-місний

ЯКЩО(D4="група";0,25*C4;0)

2-місний

ЯКЩО(D5="група";0,25*C5;0)

2-місний

ЯКЩО(D6="група";0,25*C6;0)

2-місний

ЯКЩО(D7="група";0,25*C7;0)

2-місний

ЯКЩО(D8="група";0,25*C8;0)

Разом:

=СУМ(E2:E8)

= СУМ (F2: F8)

= СУМ (G2: G8)

У результаті отримаємо такі результати.

Номер кімнати

Тип займаного номера

Вартість номера з особи в день (руб.)

Тип броні

Оплата за броню (руб.)

Кількість днів проживання

Оплата за дні проживання (руб.)

1-місний

1-місний

1-місний

2-місний

2-місний

2-місний

2-місний

Разом:

537,50 грн.

18 737,50 грн.

Визначимо середню кількість днів проживання, величину максимальної та мінімальної оплати за дні проживання. Для цього скористаємося статистичними функціями СРЗНАЧ(), МАКС() та МІН() відповідно. Нижче представлена ​​таблиця з додатковими розрахунками у формульному та числовому вигляді.

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

Нижче представлені кругова діаграма за графою «Кількість днів проживання» та гістограма за графою «Оплата за дні проживання».

Четвертий етап – програмування

Для вирішення цього завдання програмування не потрібне.

П'ятий етап – налагодження

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

Розрахуємо контрольні значення кімнати 31.

ПРО = 0,25 * 750 = 187,5, оскільки ТБ = "група".

ОДП = 187,5 + 750 * 4 = 3187,5.

Розрахуємо контрольні значення кімнати 35.

ПРО = 0, тому що ТБ не дорівнює "група".

ОДП = 650 * 1 = 650.

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

Список використаної літератури

1. Ілюшечкін В., Костін А. Системне програмне забезпечення – М.: Вища школа, 2008. 127 с.

2. Руденко В.Д. Курс інформатики – К.: Фенікс, 2008. – 368 с.

3. Степанов А. Інформатика: Підручник для вишів. 3-тє видання. 2003. – 768 с.

Розміщено на Allbest.ru

Подібні документи

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

    контрольна робота , доданий 29.01.2014

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

    реферат, доданий 01.04.2010

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

    реферат, доданий 06.11.2014

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

    контрольна робота , доданий 18.01.2011

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

    реферат, доданий 03.03.2012

    Сукупність програм, які у роботі на комп'ютері. Функціональне призначення програмного забезпечення, правові норми використання. Операційна система та сервісні програми. Розробка комп'ютерних програм мовою програмування.

    презентація , доданий 10.10.2016

    Цілі та завдання програмної інженерії. Концепція програмного забезпечення. Шість принципів ефективного використання програмного забезпечення. Види програмного забезпечення: загальносистемне, мережне та прикладне. Принципи побудови програмного забезпечення.

    курсова робота , доданий 29.06.2010

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

    презентація , доданий 23.12.2010

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

    шпаргалка, доданий 19.01.2014

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

Інструментальне програмне забезпечення або системи програмування - це системи для автоматизації розробки нових програм мовою програмування. У загальному випадку для створення програми обраною мовою програмування (мові системного програмування) необхідно мати такі компоненти: 1. Текстовий редактор для створення файлу з вихідним текстом програми. 2. Компілятор чи інтерпретатор. Вихідний текст за допомогою програми компілятора переводиться в проміжний об'єктний код. Вихідний текст великої програми складається з кількох модулів(Файлів з вихідними текстами). Кожен модуль компілюється в окремий файл з об'єктним кодом, який потім треба об'єднати в одне ціле. 3. Редактор зв'язків або збирач, який виконує зв'язування об'єктних модулів і формує на виході працездатний додаток – код, що можна здійснити. Здійсненний код – це закінчена програма, яку можна запустити на будь-якому комп'ютері, де встановлено операційну систему, на яку ця програма створювалася. Як правило, підсумковий файл має розширення.ЕХЕ або.СОМ. 4. Останнім часом набули поширення візуальні методи програмування (за допомогою мов опису сценаріїв), орієнтовані на створення Windows-програм. Цей процес автоматизований серед швидкого проектування. При цьому використовуються готові візуальні компоненти, які настроюються за допомогою спеціальних редакторів. Найбільш популярні редактори (системи програмування програм із використанням візуальних засобів) візуального проектування:

 Borland Delphi - призначений для вирішення практично будь-яких задач прикладного програмування

 Borland C++ Builder – це чудовий засіб для розробки DOS та Windows додатків

 Microsoft Visual Basic – це найпопулярніший інструмент для створення Windows-програм

 Microsoft Visual C++ - це засіб дозволяє розробляти будь-які програми, що виконуються серед ОС типу Microsoft Windows

1.3.2. Файлові системи

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

 Функції для роботи з файлами (створення, видалення, перейменування файлів тощо)

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

Відомо, що файли використовуються для організації та зберігання даних на машинних носіях. Файл – це послідовність довільного числа байтів, що має унікальне власне ім'я або названа область на машинних носіях. Структурування множини файлів на машинних носіях здійснюється за допомогою каталогів, в яких зберігаються атрибути (параметри та реквізити) файлів. Каталог може включати безліч підкаталогів, внаслідок чого на дисках утворюються розгалужені файлові структури. Організація файлів у вигляді деревоподібної структури називається файловою системою. Принцип організації файлової системи – табличний. Дані про те, де на диску записаний файл, зберігається в таблиці розташування файлів (File Allocation Table, FAT). Ця таблиця розміщується на початку тому. Для захисту тому на ньому зберігаються дві копії FAT. У разі пошкодження першої копії FAT дискові утиліти можуть скористатися другою копією відновлення тома. За принципом побудови FAT схожа на зміст книги, тому що операційна система використовує її для пошуку файлу та визначення кластерів, які цей файл займає на жорсткому диску. Найменшою фізичною одиницею зберігання даних є сектор. Розмір сектора 512 байт. Оскільки розмір FAT – таблиці обмежений, то дисків, розмір яких перевищує 32 Мбайт, забезпечити адресацію кожному окремому сектору неможливо. У зв'язку з цим групи секторів умовно об'єднуються у кластери. Кластер є найменшою одиницею адресації даних. Розмір кластера, на відміну розміру сектора, не фіксований і залежить від ємності диска.

Спочатку для дискет та невеликих жорстких дисків (менше 16 Мбайт) використовувалася 12-розрядна версія FAT (так звана FAT12). Потім у MS-DOS була введена 16-розрядна версія FAT для більших дисків. Операційні системи MS DOS, Win 95, Win NT реалізують 16 – розрядні поля таблицях розміщення файлів. Файлова система FAT32 була введена у Windows 95 OSR2 і підтримується у Windows 98 та Windows 2000. FAT32 є удосконаленою версією FAT, призначеною для використання на томах, об'єм яких перевищує 2 Гбайт. FAT32 забезпечує підтримку дисків розміром до 2 Тбайт та більш ефективне витрачання дискового простору. FAT32 використовує дрібніші кластери, що дозволяє підвищити ефективність використання дискового простору. У Windows XP застосовується FAT32 та NTFS. Більш перспективним напрямком у розвитку файлових системстав перехід до NTFS (New Technology File System– файлова система нової технології) з довгими іменами файлів та надійною системою безпеки. Об'єм розділу NTFS не обмежений. У NTFS мінімізується обсяг дискового простору, який втрачається внаслідок запису невеликих файлів у великі кластери. Крім того, NTFS дозволяє заощаджувати місце на диску, стискаючи сам диск, окремі папки та файли.

За методами іменування файлів розрізняють "коротке" і "довге" ім'я. Відповідно до угоди, прийнятому в MS-DOS, методом іменування файлів на комп'ютерах IBM PC було угоду 8.3., тобто. Ім'я файлу складається з двох частин: власне імені та розширення імені. На ім'я файлу відводиться 8 символів, але в його розширення – 3 символи. Ім'я від розширення відокремлюється крапкою. Як ім'я, і ​​розширення можуть включати лише алфавітно-цифрові символи латинського алфавіту. Імена файлів, записані відповідно до угоди 8.3, вважаються "короткими". З появою операційної системи Windows 95 було запроваджено поняття “довгого” імені. Таке ім'я може містити до 256 символів. Цього цілком достатньо створення змістових імен файлів. "Довге" ім'я може містити будь-які символи, крім дев'яти спеціальних: \ / : * ? “< >|. У імені дозволяється використовувати пробіли та кілька точок. Ім'я файлу закінчується розширенням, що складається із трьох символів. Розширення використовується для класифікації файлів типу. Унікальність імені файлу забезпечується тим, що повним ім'ям файлу вважається власне ім'я файлу разом із шляхом доступу до нього. Шлях доступу до файлупочинається з імені пристрою та включає всі імена каталогів (папок), через які проходить. Як роздільник використовується символ "\" (зворотний сліш - зворотна коса риса).Наприклад: D:\Documents and Settings\ТВА\Мої документи\lessons-tva\ robots.txt Незважаючи на те, що дані про розташування файлів зберігаються в табличній структурі, користувачеві вони представляються як ієрархічної структури – людям так зручніше, проте необхідні перетворення перебирає операційна система. До функції обслуговування файлової структури відносяться такі операції, що відбуваються під керуванням операційної системи:

 створення файлів та присвоєння їм імен;

 створення каталогів (папок) та присвоєння їм імен;

 перейменування файлів та каталогів (папок);

 копіювання та переміщення файлів між дисками комп'ютера та між каталогами (папками) одного диска;

 видалення файлів та каталогів (папок);

 навігація по файлової структуриз метою доступу до заданого файлу, каталогу (папці);

 керування атрибутами файлів.

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

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

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

У загальному випадку для створення програми обраною мовою програмування (мові системного програмування) потрібно мати такі компоненти:

1. Текстовий редактор для створення файлу із вихідним текстом програми.

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

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

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

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

Найбільш популярні редактори (системи програмування програм із використанням візуальних засобів) візуального проектування:

Borland Delphi - призначений для вирішення практично будь-яких задач прикладного програмування.

Borland C++ Builder - це чудовий засіб для розробки DOS та Windows додатків.

Microsoft Visual Basic – це популярний інструмент для створення Windows програм.

Microsoft Visual C++ - це засіб дозволяє розробляти будь-які програми, що виконуються серед ОС типу Microsoft Windows

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

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

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

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

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

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

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

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

Види інструментального програмного забезпечення

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

Текстові редактори

Інтегровані середовища розробки

Компілятори

Інтерпретатори

Лінковщики

Парсери та генератори парсерів (див. Javacc)

Асемблери

Відладники

Профілювальники

Генератори документації

Засоби аналізу покриття коду

Засоби безперервної інтеграції

Засоби автоматизованого тестування

Системи управління версіями та ін.

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

Текстові редактори

Текстовий редактор – комп'ютерна програма, призначена для обробки текстових файлів, такий як створення та внесення змін.

Склад САПР

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

Структурними складовими складовими САПР є підсистеми, що володіють усіма властивостями систем та створювані як самостійні системи. Це виділені за деякими ознаками частини САПР, що забезпечують виконання деяких закінчених проектних завдань із отриманням відповідних проектних рішень та проектних документів.

За призначенням підсистеми САПР поділяють на два види: проектують та обслуговуючі.

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

· Підсистема компонування машини;

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

· Підсистема проектування деталей;

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

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

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

· Підсистема графічного відображення об'єктів проектування;

· Підсистема документування;

· Підсистема інформаційного пошуку та ін.

Залежно від відношення до об'єкта проектування розрізняють два види підсистем, що проектують:

· Об'єктно-орієнтовані (об'єктні);

· Об'єктно-незалежні (інваріантні).

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

· Підсистема проектування технологічних систем;

· Підсистема моделювання динаміки, проектованої конструкції та ін.

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

· Підсистема розрахунків деталей машин;

· Підсистема розрахунків режимів різання;

· Підсистема розрахунку техніко-економічних показників та ін.

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

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

· Методичне забезпечення - документи, в яких відображено склад, правила відбору та експлуатації засобів автоматизації проектування;

· лінгвістичне забезпечення – мови проектування, термінологія;

· Математичне забезпечення - методи, математичні моделі, алгоритми;

· Програмне забезпечення - документи з текстами програм, програми на машинних носіях та експлуатаційні документи;

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

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

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

· 64 CALS-технології.

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

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

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

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

Досвід, накопичений у процесі впровадження різноманітних автономних інформаційних систем, дозволив усвідомити необхідність інтеграції різних інформаційних технологій у єдиний комплекс, що базується на створенні в рамках підприємства або групи підприємств (віртуального підприємства) інтегрованого інформаційного середовища, яке підтримує всі етапи життєвого циклу продукції, що випускається. Професійне середовище найповніше розкриває можливості для професійного вдосконалення, використовуючи нові інформаційні технології у науці та у сфері управління виробничими процесами. Інноваційні технології в галузі індустрії переробки інформації з використанням CALS-(Continuous Acquisition and Life cycle Support) технології – безперервної інформаційної підтримки життєвого циклу проектованого об'єкта, перекладає автоматизацію управління виробничими процесами нового рівня.

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

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

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

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

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

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

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

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

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

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

Windows 7