- •1 Аналіз сучасного стану питання та обґрунтування завдання на роботу
- •Предметна область
- •1.2 Існуючі реалізації
- •1.3 Розробка технічного завдання на роботу
- •1.4 Обґрунтування вибору мови програмування
- •1.5 Висновки
- •2 Розробка інтерфейсу програми та прикладів використання
- •2.1 Розробка інтерфейсу програми
- •2.2 Приклади використання
- •3 Розробка діаграм класів, об’єктів та стану
- •4 Розробка підсистеми графічного відображення
- •4.3 Графічні процедури підсистеми графічного відображення
- •Функція LoadImage:
- •5 Використання засобів програмування winapi
- •6 Розробка підсистеми серіалізації/десеріалізації даних
- •7 Керівництво користувача
- •7.1 Встановлення програми та необхідні файли/каталоги
- •7.2 Запуск програми
- •7.3 Користувацький інтерфейс
1.3 Розробка технічного завдання на роботу
В програмі повинно бути реалізовано:
клас мікрооб’єкта
глибинне копіювання;
динамічний масив об’єктів першого типу та другого типу;
меню з команд:
Показати стан всіх об’єктів;
Показати стан одного об'єкта;
Додати об'єкт;
Видалити об'єкт;
Сортувати об'єкти;
Змінити тип динамічного масиву;
копіюючий конструктор та перевантажені оператори =, <<, <, >, ++;
friend-функцій, ініціалізатор конструктора, оператор ::, this, public private;
зображення об’єкту та активного об’єкту;
функція WndProc, в яку до обробника повідомлення WM_PAINT додані команди, які нарисують мікрооб’єкт засобами графічної бібліотеки WinAPI;
змінні, визначені в класі, int x,y – координати об’єкта;
функція void Draw(HDC hdc), в яку занесені команди рисування мікрооб’єкта відносно координат (x,y);
При натискуванні правої кнопки миші на мікрооб’єкті він повинен ставати активним/неактивним;
При натискувань клавіш-стрілок активні об’єкти повинні рухатись у вікні програми.
При натискувань клавіші Insert у випадковому місті на екрані повинен з’являтись новий об’єкт.
При натискувань клавіші Delete активні об’єкти повинні знищуватись. Якщо активного об’єкта нема – клавіша Delete ігнорується.
Клавіша Esc повинна відміняти активацію об’єкта.
Для нормального виконання програми необхідно наступне апаратне забезпечення:
комп’ютер серії IBM PC з частотою 233 МГц і вище;
64МБ оперативної пам’яті;
графічний адаптер SVGA (Super Video Graphic Adapter);
відеокарта об’ємом пам’яті не менше 4МБ;
миша, клавіатура, ОС Windows 98/NT/2К/ХР/7/8.
розмір дискового простору, що займає програма: 8 704 байт.
розмір оперативної пам’яті, що займає програма: 1 500 КБайт.
1.4 Обґрунтування вибору мови програмування
C++ (Сі-плюс-плюс) — мова програмування високого рівня з підтримкою декількох парадигм програмування: об'єктно-орієнтованої, узагальненої тапроцедурної. Розроблена Б'ярном Страуструпом (англ. Bjarne Stroustrup) в AT&T Bell Laboratories (Мюррей-Хілл, Нью-Джерсі) у 1979 році та названа «Сі з класами». Страуструп перейменував мову у C++ у 1983 р. Базується на мові С. Визначена стандартом ISO/IEC 14882:2003.
С++ стала однією з найуживаніших мов програмування загального призначення, тому, зважаючи на можливості її було обрано для реалізації данного проекту. В підтвердження вищесказаного приведемо таблицю (табл. 1.1).
Можливість |
Язык |
||||||||
Ada |
C |
C++ |
C# |
Java |
JavaScript |
PHP |
Python |
Delphi |
|
Імперативна |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
Об’єктно орієнтована |
+ |
-/+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
Функціональна |
- |
- |
+/- |
+/- |
-/+ |
+/- |
+/- |
+ |
-/+ |
Узагальнене програмування |
+ |
- |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
Розподілена |
+ |
+/- |
+/- |
-/+ |
+ |
- |
- |
-/+ |
- |
Табл. 1.1 – Порівняльна таблиця мов програмування
