Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л01_Надійний ПЗ як продукт технології програмув...doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
93.7 Кб
Скачать

9. Стандартизація мов програмування

Концепція мови програмування невідривно пов'язана з його реалізацією. Для того, щоб компіляція однієї і тієї ж програми різними компіляторами завжди давала однаковий результат, розробляються стандарти мов програмування. Існує ряд організацій, що цілеспрямовано займаються питаннями стандартизації. Це Американський національний інститут стандартів ANSI (American National Standards Institute), Інститут інженерів по електротехніці і електроніці IEEE (Institute of Electrical and Electronic Engineers), Організація міжнародних стандартів ISO (International Organization for Standardization).

Як правило, при створенні мови випускається приватний стандарт, визначуваний розробниками мови. Якщо мову отримує широке розповсюдження, то з часом з'являються різні версії компіляторів, які не точно слідують приватному стандарту. В більшості випадків йде розширення зафіксованих спочатку можливостей мови. Для приведення найбільш популярних реалізацій мови у відповідність один з одним розробляється погоджувальний стандарт. Дуже важливим чинником стандартизації мови програмування є своєчасність появи стандарту – до широкого розповсюдження мови і створення безлічі несумісних реалізацій. В процесі розвитку мови можуть з'являтися нові стандарти, що відображають сучасні нововведення. Так, мова FORTRAN спочатку була стандартизована в 1966 році. В результаті був виданий стандарт FORTRAN 66. Далі цей стандарт кілька разів переглядався (у 1977 році був випущений FORTRAN 77, потім з'явився і FORTRAN 90).

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

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

10. Середовище проектування

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

Компілятор мови програмування виступає як складова частина середовища проектування. Сама програма разом з конструкціями, передбаченими стандартом, як правило, використовує бібліотечні функції і класи, проектування, що надаються середовищем. Так, інтегроване середовище розробки VisualStudio.NET містить бібліотеку класів MFC (Microsoft Foundation Classes), що значно спрощує процес розробки застосувань, що використовують віконний інтерфейс.

Інтегроване середовище проектування VisualStudio.NET дозволяє створювати і компілювати застосування на мовах C++, C#, Visual Basic і VISUALJ. Для розробки застосувань на мові С++ призначається також середовище CBuilder.

Для проектування застосувань на мові Object Pascal використовується інтегроване середовище проектування Delphi.

Найбільш зручним середовищем розробки програм на мові Java є інтегроване середовище проектування Jbuilder

Вправи до лекції 1.

    1. Що розуміють під даними та інформацією при конструюванні програми?

    2. В чому полягає процес обробки даних?

    3. Що таке носій та інформаційне середовище програми?

    4. Що називають процесом при створенні програми? Що означає описати процес?

    5. Що таке програма? Що називається програмним засобом (ПЗ)?

    6. Що таке помилка в ПЗ?

    7. Що таке надійність ПЗ?

    8. Що таке технологія програмування?

    9. Навести області застосування мов програмування (навести приклади).

    10. Види мов програмування залежно від вживаної обчислювальної моделі.

Література до лекції 1.

1.1. И.Г.Гоулд, Дж.С.Тутилл. Терминологическая работа IFIP (Международная федерация по обработке информации) и ICC (Международный вычислительный центр) // Журн. вычисл. матем. и матем. физ., 1965, #2. - С. 377-386.

1.2. Г.Майерс. Надежность программного обеспечения. - М.: Мир, 1980.

1.3. Ian Sommerville. Software engineering. - Addison-Wesley Publishing Company, 1992.

1.4. Э. Дейкстра. Заметки по структурному программированию / У. Дал, Э. Дейкстра, К. Хоор. Структурное программирование. - М.: Мир, 1975. - С. 7-97.

1.5. Criteria for evaluation of software. - ISO TC97/SC7 #367 (Supersedes Document #327).

1.6. С.И. Ожегов. Словарь русского языка. - М.: Советская энциклопедия, 1975.

1.7. Ф.Я. Дзержинский, И.М. Калиниченко. Дисциплина программирования Д: концепция и опыт реализации методических средств программной инженерии. - М.: ЦНИИ информации и технико-экономических исследований по атомной науке и технике, 1988.

1.8. В. Турский. Методология программирования. - М.: Мир, 1981.

1.9. Г. Буч. Объектно-ориентированное проектирование с примерами применения. - М.: Конкорд, 1992.

1.10. Е.А. Жоголев. Система программирования с использованием библиотеки подпрограмм / Система автоматизация программирования. - М.: Физматгиз, 1961. - С. 15-52.

1.11. Ф.П. Брукс, мл. Как проектируются и создаются программные комплексы. - М.: Наука, 1979.

1.12. R.C. Holt. Structure of computer programs: A Survey // Proceedings of the IEEE, 1975, 63(6). - P. 879-893.

1.13. Дж. Хьюз, Дж. Мичтом. Структурный подход к программированию. - М.: Мир, 1980.

1.14. Е.А. Жоголев. Технологические основы модульного программирования // Программирование, 1980, #2. - С. 44-49.

1.15. Б. Боэм, Дж. Браун, Х. Каспар и др. Характеристики качества программного обеспечения. - М.: Мир, 1981.

1.16. В.В. Липаев. Качество программного обеспечения. - М.: Финансы и статистика, 1983.

1.17. Б. Шнейдерман. Психология программирования. - М.: Радио и связь, 1984.

1.18. Revised version of DP9126 - Criteria of the evaluation of software quality characteristics. ISO TC97/SC7 #610. Part 6.

1.19. В.Ш. Кауфман. Языки программирования. Концепции и принципы. - М.: Радио и связь, 1993.

1.20. Требования и спецификации в разработке программ. - М.: Мир, 1984.

1.21. В.Н. Агафонов. Спецификация программ: понятийные средства и их организация. - Новосибирск: Наука (Сибирское отделение), 1987.

1.22. В.В. Липаев, Е.Н Филиппов. Мобильность программ и данных в открытых информационных системах. - М.: Научная книга, 1997.