Материал: Розробка програми створення фракталу Жюліа

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Клас CJuliaDlg є головним, в ньому знаходяться всі функції, необхідні для реалізації побудування фракталу Жюліа.

Також у ньому міститься побудова графічного вікна та параметри всіх об`єктів, які містить в собі вікно.

Структура класу показана на рисунку 3.2.

Рисунок 3.2 - Структура класу CJuliaDlg

.3 Фізичне проектування


Основне призначення логічного представлення полягає в аналізі структурних і функціональних відносин між елементами моделі системи. Однак для створення конкретної фізичної системи необхідно деяким чином реалізувати всі елементи логічного представлення в конкретні матеріальні сутності. Для опису таких реальних сутностей призначений інший аспект модельного уявлення, а саме фізичне уявлення моделі.

Загальна схема фізичної структури програми відображена в якості діаграми компонентів (рисунок 2.4).

4. Опис програмного продукту


4.1 Керівництво користувача


Даний проект був виконаний на ноутбуці 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 - Збереження зображення

4.2 Тестування програмного забезпечення


Однією з невід'ємних частин процесу розробки ПЗ є його тестування. На сьогоднішній день не існує методів тестування, які б дозволили на 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 Натиснути кнопку "Сохранить изображение"

Відкривається вікно збереження

Відкривається провідник для вибору місця збереження


Тестування програмного продукту проводилось власноруч при написанні коду, виправлялись помилки після компіляції, питання дизайну головного вікна ПП було розв’язано власноруч шляхом зміни розташування елементів.

В результаті тестування була доведена працездатність та функціональність ПП. Розроблений програмний виріб для побудування фракталу Жюліа надає користувачеві достатній набір можливостей з точки зору предметної області.

4.3 Монетизація та просування


На сьогоднішній день у багатьох виникає бажання отримати дохід від власного продукту та випробувати різні напрямки. Орієнтація на один вузький сегмент ринку - це помилкова стратегія в умовах бурхливого і високо конкурентного розвитку сучасних технологій в усіх напрямках і тематичним нішах.

Розроблюваний ПП виступає в якості портфоліо, що дозволить отримати безцінний досвід розробки. Тому ПЗ поширюватиметься безкоштовно, з метою доручення найбільшої кількості активних користувачів. Однак рано чи пізно стане актуальним питання стосовно монетизації програмного виробу.

Сучасний маркетинговий ринок пропонує різні варіанти монетизації програмних виробів. І лише правильне поєднання ПП і способу заробітку на ньому можуть принести чималий дохід. Основні варіанти монетизації - це:

Розробка Premium версій або доповнень до ПП. При правильному підборі функціоналу з часом користувачі почнуть купувати додаток, щоб розширити свої можливості.

Створення Premuim версій - це не найприбутковіший, але стабільний і передбачуваний спосіб (рисунок 4.5).

Рисунок 4.5 - Лого преміям версії

фрактал програмний діаграма послідовність

- Впровадження реклами партнерських програм. Запорукою успіху цього виду реклами є вдале поєднання функціоналу програми та тематики партнерських програм. Рекламна складова повинна стати логічним доповненням ПЗ, а партнерські сервіси та інформація повинні бути корисними і тематичними (рисунок 4.6).

Рисунок 4.6 - Партнерські програми

Продаж розкрученого ПП. Якщо програма має попит і користується популярністю серед користувачів, завжди знайдеться компанія або інвестор, охочі купити цей ПП. У багатьох випадках це хороший спосіб монетизації, оскільки не завжди є можливість реалізувати стратегію, схожу на ідею клієнтів.

Заклик до добровільного внеску у розвиток ПП користувачами (Donate). Пряме і відверте прохання буде мати більш ефективний відгук у серцях користувачів і, можливо принесе дуже хороший дохід (рисунок 4.7).

Рисунок 4.7 - Лого "Donate"

Впровадження контекстної реклами в ПП. Це є прикладом одного з невдалих варіантів заробітку, оскільки нав'язлива і відверта реклама в ПП провокує масову відмову від його використання, особливо, при наявності альтернативних ПП з подібною функціональністю (рисунок 4.8).

Рисунок 4.8 - Розміщення контекстної реклами

Для просування розроблюваного проекту було обрано варіант розробки доповнень до ПЗ та планується створення сайту-візитки для поширення інформації, збору коштів, розробки та вдосконалення ПП. Для того, аби більш зацікавити аудиторію, вирішено додати ще більше можливостей, таких як:

збільшення зображення;

збереження зображень, зроблених користувачем, в галерею;

портування програми на мобільні пристрої.

5. Техніко-економічне обґрунтування проекту

.1 Загальні положення


В дипломному проекті розроблено алгоритм і програмне забезпечення з побудування та дослідження фракталу Жюліа.

Техніко-економічне обґрунтування проекту передбачає проведення аналізу показників у розробника програмного продукту і споживача.

Доцільність здійснення діяльності по розробці і реалізації спеціального ПЗ визначається собівартістю робіт, рівнем рентабельності, обсягом замовлень тощо.

Собівартість - це витрати на розробку і реалізацію ПП. В даному проекті передбачається розрахунок кошторисної собівартості продукту.

Рентабельність - це відносний показник ефективності діяльності підприємства, який у загальному вигляді визначається як відношення прибутку до витрат. В даному проекті закладено мінімальний рівень рентабельності 35% при обсязі замовлень - 1 шт.

В проекті проводиться аналіз структури витрат та визначається точка беззбитковості (в пунктах 5.2-5.10).

Обґрунтування діяльності використання програмного продукту у споживача передбачає розрахунок різниці приведених витрат при використанні базової та нової програми та строку окупності інвестицій.

5.2 Визначення трудомісткості розробки


Загальна трудомісткість розробки складається з трудомісткості виконання окремих етапів роботи, які зведені до таблиці 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.3 Розрахунок витрат на заробітну плату та єдиного соціального внеску


Заробітна плата персоналу, що безпосередньо виконує роботи з розробки програмного продукту визначається на основі штатно-окладної форми оплати за формулою 5.1:

, (5.1)

де Оі - оклад і - го працівника, грн.;

Ті - трудомісткість робіт і-го працівника (прийняти з таблиці 5.1), чоловіко-годин;

Кд коефіцієнт додаткової оплати праці;

Н - нормативна кількість годин в місяці.

Розрахунок витрат на заробітну плату виконується в таблиці 5.2. Загальні витрати на заробітну плату визначаються як сума зарплат всіх працівників, що безпосередньо виконують роботи з розробки програмного продукту (формула 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:

Вт = Цт · Рт (5.4)

де Цт - ціна m - матеріалу, грн.;

Рт - норма витрат m - матеріалу на проект.

Розрахунок виконується в таблиці 5.3.

Таблиця 5.3 - Розрахунок витрат на матеріали