Клас CJuliaDlg є головним, в ньому знаходяться всі функції, необхідні для реалізації побудування фракталу Жюліа.
Також у ньому міститься побудова графічного вікна та параметри всіх об`єктів, які містить в собі вікно.
Структура класу показана на рисунку 3.2.
Рисунок 3.2 - Структура класу CJuliaDlg
Основне призначення логічного представлення полягає в аналізі структурних і функціональних відносин між елементами моделі системи. Однак для створення конкретної фізичної системи необхідно деяким чином реалізувати всі елементи логічного представлення в конкретні матеріальні сутності. Для опису таких реальних сутностей призначений інший аспект модельного уявлення, а саме фізичне уявлення моделі.
Загальна схема фізичної структури програми відображена в
якості діаграми компонентів (рисунок 2.4).
Даний проект був виконаний на ноутбуці Lenovo B580 з такими характеристиками:
процесор Intel(R) Core(TM) i-3210M CPU @ 250GHz;
ОЗП DDR3 4.00 ГБ;
відеокарта дискретна nVidia GeForce GT610M;
HDD 750 ГБ.
Розроблений ПП функціонує на ПК з ОС Microsoft Windows 98/2000/XP/Vista/7/8.
Для початку роботи з ПЗ, необхідно запустити ехе-файл
"Julia". Після чого на екрані з'явиться вікно програми (рисунок 4.1).
Рисунок 4.1 - Вікно програми
Перед тим, як почати побудову фрактала, користувач має
можливість ознайомитись з загальними поняттями стосовно фракталів, натиснувши
кнопку "О фракталах" (рисунок 4.2)
Рисунок 4.2 - Вікно "О фракталах"
Також, для зручності у використанні програми, програма
містить в собі інструкцію, яку можна відкрити, натиснувши кнопку
"Инструкция" (рисунок 4.3).
Рисунок 4.3 - Вікно "Инструкция"
У вікні з інструкцією користувач може докладно ознайомитися з можливостями програми та всією необхідною інформацією для коректної роботи з ПП. А в самому кінці інструкції в таблиці наведено приклади найоптимальніших пар значень для комплексного числа.
Після того, як користувач ознайомиться з поняттям
"фрактал" та з інструкцією, необхідно заповнити поля даних у
головному вікні згідно з примітками праворуч, обрати кольорову гаму, в якій
буде виконано побудування, та натиснути кнопку "Начать построение" (рисунок
4.1). Як тільки побудування буде закінчено, натиснувши кнопку "Сохранить
изображение", користувач може зберегти зображення на комп'ютер у форматі
*.bmp. За допомогою провідника обрати місце збереження отриманого зображення
(рисунок 4.4)
Рисунок 4.4 - Збереження зображення
Однією з невід'ємних частин процесу розробки ПЗ є його
тестування. На сьогоднішній день не існує методів тестування, які б дозволили
на 100% виявити всі дефекти і помилки роботи аналізованого продукту. Тому всі
сучасні методи діють в рамках формального процесу тестування. Декілька кроків
тестування наведено у таблиці 4.1 у вигляді тест-кейсів.
Таблиця 4.1 - Кроки тестування ПП.
|
Тест-кейс |
Кроки для відтворення тестового випадку |
Очікуваний результат |
Фактичний результат |
|
1 Кнопка "О фракталах" |
1 Натиснути кнопку "О фракталах" |
Відкривається вікно з теоретичними відомостями |
Відкривається вікно з теоретичними відомостями |
|
2 Кнопка "Инструкция" |
1 Натиснути кнопку "Инструкция" |
Відкривається вікно інструкції |
Відкривається вікно інструкції |
|
3 Введення даних в поле "Вещественное часть" |
1 Ввести літери |
Повідомлення про помилку |
Повідомлення про помилку "Введите число" |
|
|
2 Ввести числа, що не належать до проміжку [0.0;0.4] |
|
Повідомлення про помилку "Введите число из области допустиміх значений в поле "Вещественная часть" |
|
|
3 Ввести числа, що належать до проміжку [0.0;0.4] |
|
Програма будує фрактал |
|
4 Введення даних в поле "Вещественная часть" |
1 Ввести літери |
Повідомлення про помилку |
Повідомлення про помилку "Введите число" |
|
|
2 Ввести числа, що не належать до проміжку [0.0;0.8] |
|
Повідомлення про помилку "Введите число из области допустиміх значений в поле "Вещественная часть" |
|
|
3 Ввести числа, що належать до проміжку [0.0;0.8] |
|
Програма будує фрактал " |
|
5 Введення даних в поле "Число итераций" |
1 Ввести значення, що дорівнює 20 |
Програма будує фрактал |
Фрактал не чіткий |
|
|
2 Ввести значення, що дорівнює 100 |
Програма будує фрактал |
Фрактал чіткий |
|
6 Слайдери RGB |
1 Пересунути бігунки на слайдерах |
Програма будує фрактал |
Колір зображення змінюється |
|
7 Кнопка "Начать построение" |
1 Натиснути кнопку " Начать построение" |
Програма будує фрактал |
З'являється вікно ліворуч, в якому будується фрактал |
|
8 Кнопка "Сохранить изображение" |
1 Натиснути кнопку "Сохранить изображение" |
Відкривається вікно збереження |
Відкривається провідник для вибору місця збереження |
Тестування програмного продукту проводилось власноруч при написанні коду, виправлялись помилки після компіляції, питання дизайну головного вікна ПП було розв’язано власноруч шляхом зміни розташування елементів.
В результаті тестування була доведена працездатність та
функціональність ПП. Розроблений програмний виріб для побудування фракталу
Жюліа надає користувачеві достатній набір можливостей з точки зору предметної
області.
На сьогоднішній день у багатьох виникає бажання отримати дохід від власного продукту та випробувати різні напрямки. Орієнтація на один вузький сегмент ринку - це помилкова стратегія в умовах бурхливого і високо конкурентного розвитку сучасних технологій в усіх напрямках і тематичним нішах.
Розроблюваний ПП виступає в якості портфоліо, що дозволить отримати безцінний досвід розробки. Тому ПЗ поширюватиметься безкоштовно, з метою доручення найбільшої кількості активних користувачів. Однак рано чи пізно стане актуальним питання стосовно монетизації програмного виробу.
Сучасний маркетинговий ринок пропонує різні варіанти монетизації програмних виробів. І лише правильне поєднання ПП і способу заробітку на ньому можуть принести чималий дохід. Основні варіанти монетизації - це:
Розробка Premium версій або доповнень до ПП. При правильному підборі функціоналу з часом користувачі почнуть купувати додаток, щоб розширити свої можливості.
Створення Premuim версій - це не найприбутковіший, але
стабільний і передбачуваний спосіб (рисунок 4.5).
Рисунок 4.5 - Лого преміям версії
фрактал програмний діаграма послідовність
- Впровадження реклами партнерських програм. Запорукою успіху
цього виду реклами є вдале поєднання функціоналу програми та тематики
партнерських програм. Рекламна складова повинна стати логічним доповненням ПЗ,
а партнерські сервіси та інформація повинні бути корисними і тематичними
(рисунок 4.6).
Рисунок 4.6 - Партнерські програми
Продаж розкрученого ПП. Якщо програма має попит і користується популярністю серед користувачів, завжди знайдеться компанія або інвестор, охочі купити цей ПП. У багатьох випадках це хороший спосіб монетизації, оскільки не завжди є можливість реалізувати стратегію, схожу на ідею клієнтів.
Заклик до добровільного внеску у розвиток ПП користувачами
(Donate). Пряме і відверте прохання буде мати більш ефективний відгук у серцях
користувачів і, можливо принесе дуже хороший дохід (рисунок 4.7).
Рисунок 4.7 - Лого "Donate"
Впровадження контекстної реклами в ПП. Це є прикладом одного
з невдалих варіантів заробітку, оскільки нав'язлива і відверта реклама в ПП провокує
масову відмову від його використання, особливо, при наявності альтернативних ПП
з подібною функціональністю (рисунок 4.8).
Рисунок 4.8 - Розміщення контекстної реклами
Для просування розроблюваного проекту було обрано варіант розробки доповнень до ПЗ та планується створення сайту-візитки для поширення інформації, збору коштів, розробки та вдосконалення ПП. Для того, аби більш зацікавити аудиторію, вирішено додати ще більше можливостей, таких як:
збільшення зображення;
збереження зображень, зроблених користувачем, в галерею;
портування програми на мобільні пристрої.
В дипломному проекті розроблено алгоритм і програмне забезпечення з побудування та дослідження фракталу Жюліа.
Техніко-економічне обґрунтування проекту передбачає проведення аналізу показників у розробника програмного продукту і споживача.
Доцільність здійснення діяльності по розробці і реалізації спеціального ПЗ визначається собівартістю робіт, рівнем рентабельності, обсягом замовлень тощо.
Собівартість - це витрати на розробку і реалізацію ПП. В даному проекті передбачається розрахунок кошторисної собівартості продукту.
Рентабельність - це відносний показник ефективності діяльності підприємства, який у загальному вигляді визначається як відношення прибутку до витрат. В даному проекті закладено мінімальний рівень рентабельності 35% при обсязі замовлень - 1 шт.
В проекті проводиться аналіз структури витрат та визначається точка беззбитковості (в пунктах 5.2-5.10).
Обґрунтування діяльності використання програмного продукту у
споживача передбачає розрахунок різниці приведених витрат при використанні
базової та нової програми та строку окупності інвестицій.
Загальна трудомісткість розробки складається з трудомісткості
виконання окремих етапів роботи, які зведені до таблиці 5.1. Трудомісткість
робіт (Т) визначається за допомогою експертних оцінок і вимірюється в годинах
(або в інших одиницях: днях, місяцях тощо).
Таблиця 5.1 - Етапи робіт і їх трудомісткість
|
№ з/п |
Етапи робіт |
Виконавець, посада |
Трудомісткість робіт, Ті чоловіко-годин |
|||
|
1 |
2 |
3 |
4 |
|||
|
1 |
Отримання технічного завдання |
Інженер-програміст |
5 |
Вивчення предметної області та постановка задачі |
Технік-програміст |
40 |
|
3 |
Побудова математичної моделі |
Технік-програміст |
10 |
|||
|
4 |
Розробка алгоритму |
Інженер-програміст |
20 |
|||
|
5 |
Розробка програми |
Інженер-програміст |
60 |
|||
|
6 |
Налагодження та тестування програми |
Технік-програміст |
30 |
|||
|
7 |
Оформлення пояснювальної записки |
Технік-програміст |
25 |
|||
|
8 |
Інші роботи |
Консультант |
15 |
|||
|
|
Разом |
|
Т = 205 |
До виконання етапів робіт може бути залучений як один
працівник, так і декілька: технік-програміст, інженер-програміст, керівник
проекту, старший науковий співробітник, консультанти та інші. Кількість
виконавців залежить від складності і обсягу робіт можливості і необхідності
паралельного виконання етапів проекту.
Заробітна плата персоналу, що безпосередньо виконує роботи з
розробки програмного продукту визначається на основі штатно-окладної форми
оплати за формулою 5.1:
,
(5.1)
де Оі - оклад і - го працівника, грн.;
Ті - трудомісткість робіт і-го працівника (прийняти з таблиці 5.1), чоловіко-годин;
Кд коефіцієнт додаткової оплати праці;
Н - нормативна кількість годин в місяці.
Розрахунок витрат на заробітну плату виконується в таблиці
5.2. Загальні витрати на заробітну плату визначаються як сума зарплат всіх
працівників, що безпосередньо виконують роботи з розробки програмного продукту
(формула 5.2):
З =
(5.2)
|
№ з/п |
Виконавець |
Оі , грн. |
Ті , чоловіко-годин |
Н, годин |
Кд |
ЗПі, грн. |
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
|
1 |
Технік-програміст |
6000 |
105 |
150 |
1,35 |
5670 |
|
2 |
Інженер програміст |
7000 |
85 |
|
|
5355 |
|
3 |
Консультант |
4000 |
15 |
|
|
540 |
|
|
Разом |
|
|
|
|
З =11 565 |
Єдиний соціальний внесок визначається за формулою 5.3:
,
(5.3)
де Пс - процент єдиного соціального внеску, 36,8%.
грн
Витрати на матеріали визначаються згідно з нормами витрат та
ціною на них за формулою 5.4:
Вт = Цт · Рт (5.4)
де Цт - ціна m - матеріалу, грн.;
Рт - норма витрат m - матеріалу на проект.
Розрахунок виконується в таблиці 5.3.
Таблиця 5.3 - Розрахунок витрат на матеріали