
- •1. Основні терміни технології програмування
- •2. Класифікація програмного забезпечення
- •Поняття життєвого циклу розробки програмного забезпечення.
- •Етапи розробки
- •Базові моделі розробки програмних продуктів.
- •Вимоги до методології та технології розробки пп
- •Каскадна модель
- •3. Модель прототипування програмного продукту
- •4. Спіральна модель
- •5. Модель rad
- •6. Модель екстремального програмування (xp)
- •7. Модель msf (Microsoft Solutions Framework)
- •Принципи й види налагодження.
- •Аксіоми налагодження.
- •Автономне налагодження модуля.
- •Комплексне налагодження програмного засобу.
- •Інструменти розробки програмних засобів.
- •Інструментальні середовища розробки й супроводу програмних засобів.
- •Інструментальні середовища програмування.
- •Поняття комп'ютерної технології розробки програмних засобів і її робочі місця.
- •Інструментальні системи технології програмування.
- •Приклад реалізації класу Log.
- •Розробка програмного продукту з двома потоками
- •Визначення крапок контролю програмного продукту.
- •Визначення кількості викликів
- •Визначення ступеня покриття
- •Фундаментальні проблеми профілювання.
- •Причини рефакторингу
- •Підстави для проведення рефакторингу
- •Прийоми рефакторингу
- •Автоматизований рефакторинг
- •1. Принципи повторного використання елементів програм
- •2. Створення шаблонів форм у вигляді файлів
- •3. Використання шаблонів форм у новому проекті
- •4. Збереження шаблонів форм в депозитарії
- •5. Використання шаблонів форм із депозитарію
- •Шаблони класів на мові програмування с#.
- •Приклади шаблонів (класів шаблонів).
- •1. Використання підпрограм в оброблювачах подій
- •2. Звертання до активного компонента не за ім’ям
- •2. Обробка групи компонентів
- •4. Обробка компонентів як масиву
- •5. Сортування даних у компонентах
- •1. Принципи модульного програмування
- •2. Принцип «приховання даних»
- •3. Поняття модуля в Object Pascal
- •4. Структура модульного файлу
- •5. Створення модуля в Object Pascal
- •6. Створення модуля з переліком стандартних діалогів
- •7. Використання текстових констант у модулях
- •8. Створення підпрограм для обробки компонентів
- •1. Поняття dll
- •2. Створення dll бібліотеки в Delphi
- •3. Внесення форм в dll
- •4. Використання dll бібліотеки
- •Питання для самоконтролю
- •Використання регулярних виразів у програмах.
- •1. Призначення зовнішніх компонентів
- •2. Установка й видалення зовнішніх компонентів
- •3. Установка й видалення бібліотек компонентів
- •4. Запуск зовнішніх програм і файлів
- •Питання для самоконтролю
- •1. Загальні принципи технології com
- •2. Робота з com-сервером Microsoft Word
- •Робота з документами в Microsoft Word
- •Використання шаблону для формування документів
- •Робота з таблицями
- •Вставка малюнків і їх форматування
- •1. Операції з Com-Сервером Microsoft Excel
- •Робота із книгами в Microsoft Excel
- •Робота з аркушами книги в Microsoft Excel
- •Використання шаблону для формування книги
- •Формування таблиці
- •6. Форматування чарунок
- •Види довідкових систем
- •Інші засоби підтримки користувача
- •2.Формати довідників
- •3.Створення довідки у форматі html Help
- •4.Створення контекстної довідки
- •5.Інтеграція довідкового файлу в додаток
- •Перелік шаблонів, що породжують
- •Перелік структурних шаблонів
- •Перелік шаблонів поведінки
- •Призначення патерну Singleton
- •Реалізація патерну Singleton
- •Результати застосування патерну Singleton
- •Призначення патерна Observer
- •Постановка проблеми, що вирішується за допомогою патерна
- •Структура патерна Observer
- •Приклад патерна Observer
- •Реалізація патерна Observer
- •Реалізація патерну Observer: до та після
- •Призначення патерну Strategy
- •Опис патерну Strategy
- •Реалізація патерну Strategy
- •Призначення патерна Factory Method
- •Опис патерну Factory Method
- •Реалізація патерна Factory Method
2. Класифікація програмного забезпечення
Можна виділити три класи ПЗ:
Системне ПЗ (System Software)
Сукупність програм і програмних комплексів для забезпечення роботи комп'ютера й обчислювальних мереж.
Системне ПЗ спрямоване:
на створення операційного середовища функціонування інших програм;
забезпечення надійної й ефективної роботи самого комп'ютера й обчислювальної мережі;
проведення діагностики й профілактики апаратури комп'ютера й обчислювальних мереж;
виконання допоміжних технологічних процесів (копіювання, архівація, відновлення файлів програм і БД і т.і.).
У складі системного ПЗ можна виділити дві складові:
базове ПЗ;
сервісне ПЗ.
Базове ПЗ – мінімальний набір програмних засобів, що забезпечують роботу комп'ютера.
У базове ПЗО входять:
операційна система;
операційні оболонки (текстові, графічні);
мережні операційні системи.
Сервісне ПЗ – програми й програмні комплекси, які розширюють можливості базового ПЗ й організують більш зручне середовище роботи користувача. Їх можна класифікувати за функціональною ознакою в такий спосіб:
програми діагностики працездатності комп'ютера;
антивірусні програми, що забезпечують захист комп'ютера, виявлення й відновлення заражених файлів;
програми обслуговування дисків, що забезпечують перевірку якості поверхні магнітного диска, контроль схоронності файлової системи на логічному й фізичному рівнях, стиск дисків, резервне копіювання даних на зовнішні носії й ін.;
програми архівування даних, які забезпечують процес стиску інформації з метою зменшення обсягу пам'яті для її зберігання;
програми обслуговування мережі.
Ці програми часто називають утилітами. Утиліти – програми, що служать для виконання допоміжних операцій обробки даних або обслуговування комп'ютерів.
Інструментальні засоби для розробки ПЗ
Інструментарій технології програмування забезпечує процес розробки програм і включає спеціалізоване ПЗ, яке є інструментальним засобом розробки. ПЗ даного класу підтримує всі технологічні етапи процесу проектування, програмування, налагодження й тестування створюваних програм. Користувачами даного ПЗ є системні й прикладні програмісти.
Прикладне ПЗ (Application Software)
Прикладне ПЗ служить програмним інструментарієм розв'язку функціональних завдань і є самим численним класом ПЗ. У даний клас входять програмні продукти, що виконують обробку інформації різних предметних областей.
Проблемно-орієнтовані ППП. Для деяких предметних областей можлива типізація функцій керування, структури даних і алгоритмів обробки. Це викликало розробку значної кількості ППП однакового функціонального призначення:
ППП автоматизованого бухгалтерського обліку;
ППП фінансової діяльності;
ППП керування персоналом;
ППП керування виробництвом;
банківські інформаційні системи й т.п.
ППП автоматизованого проектування призначені для підтримки роботи конструкторів і технологів, пов'язаних з розробкою креслень, схем, графічним моделюванням і конструюванням. Відмінними рисами цього класу ППП є високі вимоги до апаратного забезпечення, наявність бібліотек вбудованих функцій, об'єктів, інтерфейсів із графічними системами й БД (AutoCAD).
До ППП загального призначення відносять:
системи управління базами даних (СУБД);
сервери баз даних;
генератори звітів;
текстові процесори;
табличні процесори;
засобу презентації;
Методо-орієнтовані ППП. Даний клас охоплює програмні продукти, що забезпечують незалежно від предметної області й функції інформаційних систем математичні, статистичні й інші методи розв'язку завдань. Найпоширеніші методи математичного програмування, розв'язку диференціальних рівнянь, імітаційного моделювання, дослідження операцій (Storm, SYSTAT, SAS і інші).
Офісні ППП. Даний клас охоплює програми, що забезпечують керування діяльністю офісу:
органайзери (планувальники) – ПЗ для планування робочого часу, складання протоколів зустрічей, розкладів, ведення записів і телефонної книжки. До складу входять: калькулятор, записна книжка, годинник, календар і т.і.
програми-перекладачі, засоби перевірки орфографії, розпізнавання тексту;
браузери, засоби створення WWW-сторінок;
засоби електронної пошти).
Настільні видавничі системи. Даний клас ПЗ включає програми (Pagemaker, Coreldraw, Photoshop for Windows і т.д.), що забезпечують інформаційну технологію комп'ютерної видавничої діяльності:
форматування й редагування текстів;
автоматичну розбивку тексту на сторінки;
комп'ютерну верстку друкованої сторінки;
монтування графіки;
підготовку ілюстрацій і т.п.
Програмні засоби мультимедіа. Основне значення даних програмних засобів – створення й використання аудио- і відеоінформації для розширення інформаційного простору користувача (різні БД комп'ютерних творів мистецтва, бібліотеки звукових записів і т.д.).
Системи штучного інтелекту:
програми-оболонки для створення експертних систем шляхом наповнення баз знань і правил логічного висновку;
готові експертні системи для прийняття рішень у рамках певних предметних областей;
системи аналізу й розпізнавання мови, тексту й т.п.
Питання для самоконтролю
1. Які види програмних продуктів ви знаєте?
2. Що таке програма, програмне забезпечення, додаток?
3. Дайте визначення технології розробки ПЗ.
4. Приведіть основні завдання конструювання ПЗ.
5. Які види користувачів ПЗ ви знаєте?
6. Які показники якості програм ви знаєте?
7. Приведіть основні типи програм з погляду їх ліцензування, дайте їхню характеристику.
8. Що таке системне ПЗ?
9. Дайте повний опис усіх його елементів
10. Що таке прикладне ПЗ? Опишіть його види.
Лекція №2
Тема: Поняття життєвого циклу розробки програмного забезпечення. Етапи створення програмного продукту. Поняття моделі розробки програмного забезпечення. Загальні вимоги до методології та технології.
Мета: Ознайомлення з життєвим циклом розробки програмного забезпечення. Вивчення базових моделей розробки програмного продукту.
Перелік питань, що розглядаються на лекції:
1. Поняття життєвого циклу розробки програмного забезпечення.
2. Базові моделі розробки програмних продуктів.
3. Базові моделі розробки програмного продукту.
4. Вимоги до методології та технології розробки пп.