- •Рейтингова система оцінювання знань та умінь з ооп 2012-2013 н.Р.
- •Вимоги до звіту з лабораторних робіт
- •Класи потоків Лабораторна робота 1
- •1.1 Теоретичні відомості
- •1.1.1. Методи класів потоків
- •1.1.2. Маніпулятори
- •1.1.3. Деякі методи класів файлових потоків
- •1.2 Приклад програми Умова задачі
- •Алгоритм задачі
- •Текст програми
- •Результати виконання програми
- •1.3 Варіанти завдань
- •1.4 Контрольні запитання
- •Інкапсуляція. Інтерфейси класів . Діаграми прецедентів і класів Лабораторна робота 2
- •2.1 Теоретичні відомості Етапи об’єктно-орієнтованого проектування та моделювання
- •Діаграма варіантів використання(use-case diagram)
- •Ідентифікація класів
- •Ідентифікація атрибутів
- •Ідентифікація операцій (методів)
- •Типові схеми uml діаграм
- •2.2 Програма роботи
- •2.3 Варіанти завдань
- •2.4 Приклад виконання роботи Задача
- •Об’єктно-орієнтоване проектування Зображення класів в uml
- •Ідентифікація атрибутів
- •Структура проекту
- •Інтерфейси та реалізації класів програми
- •2.5 Контрольні запитання
- •Конструктори та деструктори класів Діаграми прецедентів і класів Лабораторна робота 3
- •3.1 Теоретичні відомості
- •3.2 Програма роботи
- •3.3 Варіанти завдань
- •3.4 Приклад виконання роботи Задача
- •Реалізація конструкторів і деструкторів деяких класів
- •3.5 Контрольні запитання
- •Методи класів: аксесори, ітератори, утілити, предикатні функції . Діаграми класів, діяльності, послідовності Лабораторна робота № 4
- •4.1 Теоретичні відомості
- •4.2 Програма роботи
- •4.3 Варіанти завдань
- •4.4 Приклад виконання роботи Задача
- •Реалізація деяких методів-аксесорів, предикатних функцій, функцій-утілит, методів, які забезпечують функціональність об’єктів
- •Результати виконання роботи
- •4.5 Контрольні запитання
- •Константні та статичні члени класів. Вбудовані функції. Діаграми класів, послідовності Лабораторна робота № 5
- •5.1 Теоретичні відомості
- •5.2 Програма роботи
- •5.3 Варіанти завдань
- •5.4 Приклад виконання роботи Задача 5_1
- •Приклади деяких константних елементів даних і методів класів
- •Фрагмент результатів виконання роботи
- •Задача 5_2
- •Приклади деяких статичних елементів даних і методів класів
- •Фрагмент результатів виконання роботи
- •5.5 Контрольні запитання
- •Перевантаження операцій та функцій. Дружні функції Діаграми класів, станів і переходів Лабораторна робота 6
- •6.1 Теоретичні відомості
- •6.2 Програма роботи
- •6.3 Варіанти завдань
- •6.4 Приклад виконання роботи
- •6.5 Контрольні запитання
- •Просте успадкування класів. Поліморфізм. Віртуальні функції Діаграма класів, кооперацій. Лабораторна робота 7
- •7.1 Теоретичні відомості
- •7.2 Програма роботи
- •9.2. Приклад програми Умова задачі 9
- •Алгоритм задачі 9
- •Текст програми 9
- •Результати роботи програми 9
- •9.3. Варіанти завдань
- •9.4. Контрольні запитання
- •Методи внутрішнього сортування (сортування масивів) Лабораторна робота 10
- •Методи зовнішнього сортування (сортування файлів) Лабораторна робота 11
1.4 Контрольні запитання
Які об’єкти зв’язані з пристроями введення, виведення та повідомленням про помилки?
Яке призначення маніпуляторів?
Які існують маніпулятори?
Які операції використовуються для введення з потоку та виведення у потік?
Як можна відкрити файл за допомогою конструктора?
За допомогою яких функцій виконується неформатоване введення та виведення?
Як перевірити стан потоку?
Що таке буферизоване введення та виведення?
Як відновити потік у нормальний стан для продовження введення-виведення даних?
Як використовуються прапори форматів?
Чим параметризовані маніпулятори відрізняються від непараметризованих?
Чи може користувач розробити власні маніпулятори потоку?
Як забезпечити зчитування символу пробіл, використовуючи класи потоків?
Як здійснити затримку зображення на екрані до натиснення клавіші клавіатури?
Як перевести число з десяткової системи числення до двійкової чи вісімкової, використовуючи маніпулятори?
Що слід зробити для введення чи виведення даних, до яких неможливо застосувати операції >>, <<?
Інкапсуляція. Інтерфейси класів . Діаграми прецедентів і класів Лабораторна робота 2
Мета роботи: здійснити об’єктно-орієнтований аналіз та об’єктно-орієнтоване проектування предметного середовища засобами UML (Unified Modeling Language)
2.1 Теоретичні відомості Етапи об’єктно-орієнтованого проектування та моделювання
Процес розробки візуальних моделей в нотації мови UML 2.0 представляється у формі послідовної деталізації модельних представлень від концептуальної моделі до логічної, а потім й до фізичної моделі програмної системи, що розглядається. Можна виділити такі етапи ООA та OOD:
Визначення типів взаємодій між користувачем та системою. Побудова діаграми прецедентів (варіантів використання).
Ідентифікація класів. Побудова діаграм класів і об’єктів.
Ідентифікація атрибутів. Доповнення діаграми класів атрибутами,
Ідентифікація операцій (методів). Доповнення діаграми класів методами.
Визначення відношень між класами. Доповнення діаграми класів відношеннями між класами.
Визначення алгоритмів методів (функцій). Побудова діаграм діяльності, послідовностей, станів і переходів, кооперації.
Діаграма варіантів використання(use-case diagram)
Вихідною моделлю, з якої починається процес моделювання в нотації UML, являється модель чи діаграма варіантів використання (діаграма прецедентів). Вона описує функціональне призначення системи в найбільш загальному вигляді з точки зору всіх її користувачів та зацікавлених осіб. Візуально діаграма варіантів використання є графом спеціального виду, який включає в себе спеціальні умовні зображення варіантів використання, акторів та відношень між ними. З формальної точки зору діаграма варіантів використання є спеціалізацією діаграми класів, для якої зображені класифікатори являються тільки акторами та варіантами використання.
При розробці діаграми варіантів використання треба:
виділити акторів (будь-які об’єкти, суб’єкти чи системи, які взаємодіють з системою, що моделюється, ззовні).
визначити сервіси, котрі система представляє різним акторам
визначити відношення між елементами діаграми:
відношення асоціації завжди є бінарним та специфікує семантичні особливості окремої взаємодії актора та варіанта використання, позначається суцільною лінією, що з’єднує актора та варіант використання, та числами, що вказують кратність;
відношення включення (include) специфікує той факт, що деякий варіант використання включає в себе поведінку, визначену в іншому варіанті використання. Семантично дане відношення означає, що поведінка чи виконання одного варіанта використання включається як складовий фрагмент в поведінці чи виконанні іншого варіанту використання. Графічно дане відношення позначається пунктирною лінією з “V”-образною стрілкою, що направлена від залежного варіанта використання до незалежного і позначається ключовим словом <<include>>.
відношення розширення (extend) визначає взаємозв’язок одного варіанта використання з деяким іншим варіантом, функціональність чи поведінка якого задіяна першим не завжди, а тільки при виконанні певних умов. Графічно дане відношення зображається пунктирною лінією з “V”-образною стрілкою, направленою від залежного варіанта використання до незалежного і з’єднаною з ним точці розширення(extension point). Лінія зі стрілкою обов’язково помічається ключовим словом <<extend>>.
відношення узагальнення (generalization) призначено для специфікації того факту, що один елемент моделі являється спеціальним чи частковим випадком іншого елемента моделі. Відношення узагальнення може зв’язувати між собою тільки елементи одного типу. Графічно відношення узагальнення позначається суцільною лінією зі стрілкою в формі незамальованого трикутника, яка вказує на загальний елемент моделі.
Рис. 2.1. Діаграма прецедентів