- •Вп нуБіП україни
- •Тема 1. Життєвий цикл програмних продуктів та архітектура, теорія і методи програмування. 7
- •Тема 7. Corba - технологія . 70
- •Тема 12. Тестування та налагодження програмних застосувань. 120
- •Поняття життєвого циклу програмного продукту.
- •Основні процеси життєвого циклу програмного продукту.
- •1.3. Допоміжні основні процеси (що підтримують) процеси життєвого циклу програмного продукту
- •1.4. Організаційні процеси життєвого циклу програмного продукту
- •1.5. Взаємозв'язок між процесами життєвого циклу програмного продукту
- •Лекція № 2
- •2.2. Визначення вимог до програмних продуктів.
- •2.3. Функціональні вимоги. Експлуатаційні вимоги.
- •2.3. Функціональна специфікація програмного засобу.
- •2.4. Вибір архітектури програмного забезпечення. Структура і формат даних.
- •2.5. Вертифікація -статичні, напівстатичні і динамічні структури. Класифікація структур даних.
- •2.6. Прості структури даних.
- •2.7. Статичні структури даних. Напівстатичні структури даних.
- •2.8. Динамічні структури даних
- •Лекція № 3
- •3.1. Загальна характеристика і компоненти проектування.
- •3.2. Еволюція розробки програмного продукту.
- •3.3. Структурне програмування. Об'єктно-орієнтоване проектування.
- •3.4. Збирані метрики, використовувані методи, стандарти і шаблони.
- •Лекція № 4
- •Зародження об' єктної моделі.
- •4.2. Об' єктно - орієнтований аналіз, дизайн і проектування.
- •4.3. Парадигми програмування.
- •4.4. Нові концепції програмування.
- •4.5. Об'єктно-орієнтоване програмування.
- •4.6. Уніфікована мова моделювання. Мови і платформи розробки.
- •4.7. Засоби розробки програмного забезпечення. Оптимальний порядок вивчення топ.
- •4.8. Об'єктно-орієнтований підхід. Характеристики об'єктно-орієнтованих мов
- •Лекція № 5
- •5.1. Особливості моделі клієнт сервер в sql Server.
- •5.2. Архітектура sql Server. Огляд компонентів і можливостей sql Server 7.0
- •5.3. Transact - sql. Додатки командного рядка. Додатки з графічним інтерфейсом
- •5.4. Архітектура баз даних. Реляційні особливості sql Server
- •Лекція № 6
- •План лекції
- •Самостійна робота
- •Зміст лекції
- •6.1. Вступ до компонентного програмування.
- •6.2. Основні поняття com технологій.
- •6.3. Інтерфейс com - об' єктів.
- •6.4. Ідентифікатори, використовувані в сом технології
- •Лекція № 7
- •7.1. Технологія corba.
- •7.2. Середовище Delphi. (смирнов 67)
- •7.3. Corba технології при програмуванні в середовищі Delphi.
- •7.4. Елементи ActiveX, що управляють.
- •Лекція № 8
- •8.1. Деякі теоретичні відомості про uml - уніфіковану мову моделювання.
- •8.2. Призначення мови uml.
- •8.3. Загальна структура мови uml.
- •8.4. Загальні відомості про пакети в мові uml. Основні пакети метамоделі мови uml.
- •8.5. Специфіка опису метамоделі мови uml.
- •8.6. Особливості зображення діаграм мови uml
- •Лекція № 9
- •9.1. Саsе - технології та саsе -засоби проектування.
- •9.2.Класифікація case -засобів.
- •9.3.Етапи створення інформаційних систем.
- •9.4.Моделі життєвого циклу програмного забезпечення іс
- •9.5.Особливості проектування інформаційних систем
- •Лекція № 10
- •10.1.Основні поняття про надійність програмних продуктів і методи її забезпечення.
- •10.2. Методи забезпечення надійності на різних етапах життєвого циклу розробки програмного продукту.
- •10.3. Інструменти, що забезпечують надійність програмних продуктів. План забезпечення надійності.
- •10.4. Основні поняття і показники надійності програмних засобів.
- •10.5. Дестабілізуючі чинники і методи забезпечення надійності функціонування програмних засобів.
- •Лекція № 11
- •11.1. Нормативні документи по стандартизації і відіа стандартів.
- •11.2. Стандарти в області програмного забезпечення.
- •11.3. Загальна характеристика стану в області документування програмних засобів.
- •11.4. Єдина система програмної документації гост 19.101-77 еспд.
- •11.5. Види програм і програмних документів.
- •11.6.Стадії розробки. Загальні вимоги до програмних документів. Технічне завдання.
- •11.7.Опис програми. Записка пояснення.
- •11.8.Керівництво системного програміста. Вимоги до змісту і оформлення.
- •11.9.Керівництво програміста. Керівництво оператора. Опис мови.
- •Лекція № 12
- •12.1. Основні визначення. Економіка тестування.
- •12.2. Тестування програми як "чорного ящика". Тестування програми як "білого ящика".
- •12.3. Аксіоми (принципи) тестування.
- •12.4. Філософія тестування.
- •12.5. Тестування модулів.
- •12.6.Покрокове тестування. Висхідне тестування. Низхідне тестування.
- •12.7.Метод "великого стрибка". Метод сандвіча. Модифікований метод сандвіча.
- •12.8.Комплексне тестування. Проектування комплексного тіста. Виконання комплексного тіста.
- •Лекція № 13
- •13.2. Серия стандартов isо 9000
- •13.4. Процес сертифікації програм на базі інформації про їх використання.
- •13.5. Супровід програм.
- •13.6.Види програмних документів. Записка пояснення.
- •13.7.Посібник користувача.
- •13.8.Керівництво системного програміста.
- •13.9. Атестація програмних засобів.
4.3. Парадигми програмування.
Парадигма програмування - це система ідей і зрозуміти, які визначають стиль написання комп'ютерних програм, а також спосіб мислення програміста . Це спосіб концептуалізації, що визначає організацію обчислень і структурування роботи, виконуваної комп'ютером.
Важливо відзначити, що парадигма програмування не визначається однозначно мовою програмування; практично всі сучасні мови програмування в тій чи іншій мірі допускають використання різних парадигм ( мультипарадигмальной програмування). Так на мові Сі, який не є об' єктно - орієнтованим, можна працювати відповідно до принципів об' єктно - орієнтованого програмування, хоча це і пов'язане з певними складнощами; функціональне програмування можна застосовувати при роботі на будь-якому імперативний мовою, в якому є функції (для цього достатньо не застосовувати присвоювання ), і т. д.
Прихильність певної людини якоїсь однієї парадигмі іноді носити настільки сильний характер, що суперечки про переваги і недоліки різних парадигм відносяться в навколокомп' ютерні колах до розряду так званих "релігійних" воєн - холіваров.
Різні визначення
Далеко не всі автори, що використовують термін "парадигма програмування", вирішуються дати інтенсіональних визначення даного терміну. Однак і ті визначення, які вдається знайти, серйозно відрізняються один від одного.
Діомідіс Спінелліс дає наступне визначення:
Слово "парадигма" використовується в програмуванні для визначення сімейства позначень (нотацій), які поділяють загальний спосіб (методику) реалізацій програм. (У оригіналі: The word paradigm is used in computer science to talk about a family of notations that share a common way for describing program implementations)
Для порівняння тій же автор наводити визначення з інших робіт. У статті Деніела Боброва парадигма визначається як "стиль програмування як опису намірів програміста". Брюс Шрайвер (Bruce Shriver) визначає парадигму програмування як "модель або підхід до вирішення проблеми", Лінда Фрідман (Linda Friedman) - як "підхід до вирішення проблем програмування".
Памела Зейв (Pamela Zave) дає визначення парадигми як "способу роздуми про комп'ютерних системах" (у оригіналі "way of thinking about computer systems").
Пітер Вегнер (Peter Wegner) пропонує інший підхід до визначення терміна парадигми програмування. У його роботі "Concepts and paradigms of object - oriented programming" [8]парадигми визначаються як "правила класифікації мов програмування відповідно з деякими умовами, які можуть бути перевірені".
Тімоті Бадд пропонує розуміти термін "парадигма" як "спосіб концептуалізації того, що означати" робити обчислення ", і як завдання, що підлягають вирішенню на комп' ютері, повинні бути структуровані й організовані".
Парадигма програмування як вихідна концептуальна схема постановки проблем і їх вирішення є інструментом граматичного опису фактів, подій, явищ і процесів, можливо, не існують одночасно, але інтуїтивно поєднуваних у загальне поняття.
Основні моделі програмування
Імперативне програмування
Структурне програмування
Функціональне програмування
Логічне програмування
Об' єктно - орієнтоване програмування
Програмування, засноване на класах
Програмування, засноване на прототипах
Суб' єктно - орієнтоване програмування
Підходи та прийоми
Структурне програмування
Процедурне програмування
Декларативне програмування
Апплікатівное програмування
Узагальнене програмування
Доказове програмування
Породжує програмування
Аспектно- орієнтоване програмування
Агентно- орієнтоване програмування
Рекурсія
Автоматні програмування
Подієво - орієнтоване програмування
Компонентно- орієнтоване програмування
Літературне програмування