- •Вп нуБіП україни
- •Тема 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. Атестація програмних засобів.
Лекція № 3
Тема 3. Теорія і методи структурного програмування .
План лекції
1. Загальна характеристика і компоненти проектування.
2. Еволюція розробки програмного продукту.
Самостійна робота
3. Структурне програмування. Об'єктно-орієнтоване проектування.
4. Збирані метрики, використовувані методи, стандарти і шаблони.
Зміст лекції
Структурне програмування
Поява перших ЕОМ ознаменувала новий етап в розвитку I техніки обчислень. Виникла ідея, що досить розробити послідовність елементарних дій, кожне з яких перетворити в зрозумілі ЕОМ інструкції, і будь-яке обчислювальне завдання може бути вирішене. Цей підхід виявився настільки життєздатним, що довгий час домінував над усіма іншими в процесі розробки програм. З'явилися спеціальні мови програмування, які дозволили перетворювати окремі обчислювальні операції у відповідний програмний код.
Основою цієї методології розробки програм стала процедурна або алгоритмічна організація структури програмного коду. Це було настільки природно для вирішення обчислювальних завдань, що не у кого не викликала сумнівів доцільність такого підходу. Початковим в цій методології було по
нятие "алгоритм", під яким в загальному випадку мається на увазі деякий припис виконати точно певну послідовність дій, спрямованих на досягнення заданої мети або рішення поставленої задачі.
З цієї точки зору уся історія математики тісно пов'язана з розробкою тих або інших алгоритмів рішення актуальних для своєї епохи завдань. Більше того, само поняття "алгоритм" стало предметом відповідної теорії - теорії алгоритмів, яка займається вивченням їх загальних властивостей. З часом зміст цієї теорії став настільки абстрактним, що відповідні результати розуміли тільки фахівці. Як данина цієї традиції якийсь період часу мови програмування називалися алгоритмічними, а перший графічний засіб документування програм дістав назву "Блок-схема алгоритму". Відповідна система графічних позначень була зафіксована в ГОСТ 19.701 - 90, який регламентував використання умовних позначень в схемах алгоритмів, програм, даних і систем.
Проте потреби практики не завжди вимагали встановлення вычислимости конкретних функцій або вирішуваної окремих завдань. У мовах програмування виникло і закріпилося нове поняття - "процедура", яке конкретизувало загальне поняття "алгоритм" стосовно рішення завдань на комп'ютерах. Так само, як і алгоритм, процедура є закінченою послідовністю дій або операцій, спрямованих на рішення окремої задачі. У мовах програмування з'явилася спеціальна синтаксична конструкція, яка дістала назву "процедура".
З часом розробка великих програм перетворилася на серйозну проблему і зажадала їх розбиття на дрібніші фрагменти. Основою для такого розбиття і стала процедурна декомпозиція, при якій окремі частини програми, або модулі, були сукупністю процедур для вирішення деякої сукупності завдань. Головна особливість процедурного програмування полягає в тому, що програма завжди має початок в часі, або початкову процедуру (початковий блок), і закінчення (кінцевий блок). При цьому уся програма може бути представлена візуально у вигляді спрямованої послідовності графічних примітивів, або блоків
Важливою властивістю таких програм є необхідність завершення усіх дій попередньої процедури для початку дій наступної процедури. Зміна порядку виконання цих дій навіть в межах однієї процедури зажадала включення в мови програмування спеціальних умовних операторів типу для реалізації галуження
''обчислювального процесу залежно від проміжних результатів рішення задачі.
Поява і інтенсивне використання умовних операторів і оператора безумовного переходу стала предметом гострих дискусій серед фахівців з програмування. Річ у тому, що безконтрольне застосування в програмі оператора безумовного переходу go to здатне серйозно ускладнити розуміння коду. [Відповідні програми стали порівнювати із спагетти, називаючи їх bowl of spaghetti, маючи на увазі численні переходи від одного фрагмента програми до іншого або, що ще гірше, [повернення від кінцевих операторів програми до це початковим операторам.
Ситуація здавалася настільки драматичною, що в літературі зазвучали заклики виключити оператор go to з мов програмування. Саме з того часу прийнято вважати хорошим стилем програмування без оператора go to.
Розглянуті ідеї сприяли становленню деякої [системи поглядів на процес розробки програм і написання програмних кодів, яка дістала назву методологія |структурного програмування. Основою цієї методології є процедурна декомпозиція програмної системи і організація окремих модулів у вигляді сукупності виконуваних процедур. У рамках цієї методології отримало розвиток низхідне проектування програм, або програмування зверху "вниз". Період найбільшої популярності ідей структурного програмування доводиться на кінець 1970-х - початок 1980-х років.
Як допоміжний засіб структуризації програмного коду було рекомендовано використання відступів на початку кожного рядка, які повинні виділяти вкладені цикли і умовні оператори. Усе це покликане сприяти розумінню або читабельності самої програми. Це правило з часом було реалізоване в сучасних інструментаріях розробки програм.