
- •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
4.Створення контекстної довідки
Контекстна довідка – це довідковий файл, у якому кожна тема довідки має унікальний ідентифікатор і номер. Цей номер дозволяє привласнювати різним елементам програми (вікнам, елементам керування й т.п.) конкретні види довідки. Що дозволяє в процесі роботи одержувати потрібну інформацію з використання конкретного елемента або виконання конкретної функції.
Для створення такого виду довідки можна використовувати створений раніше проект, у якому потрібно виконати наступні дії:
кожному розділу довідки потрібно привласнити унікальні імена. Для цього на вкладці Проект клацніть на кнопці Інформація керування HTMLHelp API. У вікні на вкладці Псевдонім за допомогою кнопки Додати привласніть кожному розділу довідки ім'я. Для цього вводять довільне ім'я латинськими буквами й указують зв'язаний HTML документ;
створюємо заголовний файл контексту. Для цього створіть новий файл за допомогою кнопки Створити, виберіть тип Текст. Даний файл має певну структуру, у якому кожний рядок оформляється так:
#define ім'я_розділу номер
Приклад.
#define Razdel1 1
#define Razdel2 2
#define Razdel3 3
#define Razdel4 4
#define Razdel5 5
Збережіть файл в одну текуку із проектом із розширенням .H;
Додайте створений заголовний файл у проект. Для цього клацніть на кнопці Інформація керування HTMLHelp API. На вкладці Карта клацніть на кнопці Ім'я файлу й укажіть створений файл;
Відкомпілюйте проект заново.
Для перевірки роботи створених контекстів виконайте команду Перевірка – HTMLHelp API. Укажіть відкомпільований файл довідки, у списку Команда виберіть рядок HH_HELP_CONTEXT, уведіть номер довідки й клацніть на кнопці Тест. Якщо все зроблене правильно, то запуститься файл допомоги з відкритим відповідним розділом.
5.Інтеграція довідкового файлу в додаток
Спочатку для проекту потрібно задати файл допомоги. Скопіюйте файл довідки в теку із проектом. У середовищі Delphi виконайте команду Project-Options. На закладці Application у полі HelpFile вкажіть ім'я файлу допомоги, вилучивши шлях до нього.
За замовчуванням Delphi 7 не підтримує роботу з файлами допомоги у форматі *.chm. Для роботи з такими файлами потрібно використовувати один із зовнішніх модулів, наприклад модуль stoHTMLHelp.pas. Даний модуль потрібно скопіювати у папку Lib, яка знаходиться в папці із установленим середовищем Delphi.
У коді програми потрібно підключити модуль stohtmlhelp. Пслі цього можна запускати як основний файл довідки, так і окремі її розділи по контексному номеру.
Виклик основного файлу довідки
Для виклику файлу довідки використовуйте команду виду:
application.helpcommand(help_contents, 0);
Дану команду можна написати для пункт меню, який відповідає за виклик системи допомоги.
Виклик роздягнула довідки по контекстному номеру
Для виклику конкретного розділу можна використовувати команду виду:
application.helpcontext(номер_розділу);
Указуючи потрібний номер розділу, довідковий файл буде автоматично відкриватися на відповідному розділі.
Кожна форма, як і компоненти на ній мають властивість HelpContext, у якій можна вказати контекстний номер потрібного розділу. Це дозволяє при проектуванні явно привласнити потрібні розділи довідки формам або компонентам. У цьому випадку при виклику довідки потрібно вказати не конкретний номер, а значення властивості HelpContext активного елемента на формі. У цьому випадку команда виклику змінить свій вид:
application.helpcontext(screen.activecontrol.helpcontext);
Даний код можна писати для події натискання на клавішу F1. Наприклад, написати виклик контекстної довідки для форми.
Спочатку включимо обробку формою натискань клавіш. Для цього для форми встановимо властивість KeyPreview=true. У події форми OnKeyDown напишемо код:
//якщо натиснута клавіша f1
if key=vk_f1 then
application.helpcontext(screen.activecontrol.helpcontext);
Питання для самоконтролю
1. Які системи допомоги ви знаєте? Дайте їхню характеристику.
2. Які види довідок вам відомі. У чому їх переваги й недоліки?
3. Опишіть принцип створення звичайної довідки у форматі *.chm (додавання файлів, створення змісту, настроювання вікна й компіляція).
4. Опишіть процедуру створення контекстної довідки?
5. Як перевірити роботу контекстної довідки у вікні HTML Help WorkShop?
6. Опишіть принцип впровадження створеного довідкового файлу в проект Delphi?
7. Як використовувати номери контекстних розділів довідки в проект Delphi?
Практична робота №18
Тема: Розробка систем допомоги та підказок у програмах.
Мета: Придбання практичніх навичок при створенні довідникових систем при розробці програмного продукту
Перелік питань, що розглядаються на практичному занятті:
Створення простого програмного продукту.
Створення форми з довідкою про програму.
Створення форми з відображенням інструкції по роботі з програмою (інструкція знакодиться повинна у файлі. (файли різних форматів)).
Створення контекстної підказки у програмах.
Хід роботи:
Уважно ознайомитися з матеріалалом лекції №17.
Створити віконній додаток за завданням викладача. Додаток повинен містити пункт меню «О программе», «Инструкция».
Додати у програму форму, на якій розташувати інформацію про розробників програмного продукту, дату виконання, та версию програми. Вівести поточну дату та статистичну інформацію, проо кількість запусків програми.
Створити 2 файла. Перший у текстовому форматі, другий у форматі сом серверів (див лекції 13,14,15,16). Файли повинні містити інструкцію по роботі з програмою.
Додати у програму форму на яку буде віводитися інструкція.
Додати на головну форму компонент ToolTip
Створити динамчні підказки у програмі по наведенні на інтерфейсні елементи програми.
Питання для самоконтролю
1. Які системи допомоги ви знаєте? Дайте їхню характеристику.
2. Які види довідок вам відомі. У чому їх переваги й недоліки?
3. Опишіть принцип створення звичайної довідки у форматі *.chm (додавання файлів, створення змісту, настроювання вікна й компіляція).
4. Опишіть процедуру створення контекстної довідки?
5. Як перевірити роботу контекстної довідки у вікні HTML Help WorkShop?
6. Опишіть принцип впровадження створеного довідкового файлу в проект?
7. Як використовувати номери контекстних розділів довідки в проект?
Лекція №19
Тема: Патерни їх призначення та види патернів.
Мета:
Перелік питань, що розглядаються на лекції:
Визначення поняття патерн.
Класифікація та призначення патернів.
Патерни - шаблони проектування програмного забезпечення (англ. software design patterns) — ефективні способи вирішення задач проектування програмного забезпечення. Шаблон не є закінченим зразком, який можна безпосередньо транслювати в програмний код. Об'єктно-орієнтований шаблон найчастіше є зразком вирішення проблеми і відображає відношення між класами та об'єктами, без вказівки на те, як буде зрештою реалізоване це відношення.
Патерни поділяють на:
Твірні
Структурні
Шаблони поведінки
Твірні патерни - шаблони, що породжують (англ. Creational patterns) — це шаблони проектування, що абстрагують процес побудови об'єктів. Вони допоможуть зробити систему незалежною від способу створення, композиції та представлення її об'єктів.
Шаблон, який породжує класи, використовує спадкування, щоб варіювати створюваний клас, а шаблон, що створює об'єкти, делегує інстанціювання іншому об'єктові.
Ці шаблони важливі, коли система більше залежить від композиції об'єктів, ніж від спадкування класів.
Таким чином, замість прямого кодування фіксованого набору поведінок, визначається невеликий набір фундаментальних поведінок, за допомогою композиції яких можна отримувати складніші.
Таким чином, для створення об'єктів з конкретною поведінкою потрібно щось більше, ніж просте інстанціювання екземпляру класу.
Шаблони, що породжують, інкапсулюють знання про конкретні класи, які застосовуються у системі та приховують деталі того, як ці класи створюються і стикуються між собою.
Єдина інформація про об'єкти, що відома системі — їхні інтерфейси.