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

Визначення та застосування фракталів. Огляд предметної області, вибір засобів розробки програмного забезпеченя. Побудова діаграми варіантів використання, послідовності дій, класів та компонентів, математичної моделі. Тестування програмного продукту.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык украинский
Дата добавления 24.05.2015
Размер файла 1,9 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Зміст

Перелік позначень та скорочень

Вступ

1. Огляд предметної області

1.1 Опис вирішуваної проблеми. Актуальність

1.2 Огляд аналогів. Виділення особливостей свого ПП

1.3 Постановка задачі

1.4 Технічне завдання

1.5 Вибір засобів розробки

1.6 Вибір моделі життєвого циклу

2. Алгоритмічне забезпечення

2.1 Діаграма варіантів використання

2.2 Діаграма послідовності дій

2.3 Структура класів

2.4 Файлова структура проекту

3. Математичний апарат

3.1 Математична модель

3.2 Логічне проектування

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

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

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

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

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

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

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

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

5.3 Розрахунок витрат на заробітну плату та єдиного соціального внеску

5.4 Розрахунок витрат на матеріали

5.5 Витрати на електроенергію для технологічних потреб

5.6 Розрахунок амортизаційних відрахувань

5.7 Накладні витрати

5.8 Розрахунок кошторисної вартості та ціни програмного продукту

5.9 Аналіз постійних і змінних витрат

5.10 Визначення точки беззбитковості

5.11 Обґрунтування використання програмного продукту

5.12 Висновок

6. Охорона праці та навколишнього середовища

6.1 Загальні положення охорони праці

6.2 Аналіз умов праці

6.2.1 Вимоги до приміщення при експлуатації ПК

6.2.2 Вимоги до мікроклімату

6.2.3 Вимоги до освітлення робочих місць користувачів ПК

6.2.4 Електробезпека

6.3 Пожежна безпека

6.4 Охорона навколишнього середовища

Висновки

Перелік джерел інформації

Перелік позначень та скорочень

ЖЦ - життєвий цикл;

ІС - інформаційна система;

ОЗП - оперативний запам'ятовуючий пристрій;

ОНПС - охорона навколишнього природного середовища;

ООП - об'єктно-орієнтоване програмування;

ОС - операційна система;

ПВЗ - пристрої захисного відключення;

ПЗ - програмне забезпечення;

ПП - програмний продукт;

MSF (англ. Microsoft Solution Framework) - методологія розробки програмного забезпечення, запропонована корпорацією Microsoft;

PDCA (англ. Plan - Do - Check - Act) - циклічно повторюваний процес прийняття рішення, використовуваний в управлінні якістю;

RUP (англ. Rational Unified Process) - методологія розробки програмного забезпечення , створена компанією Rational Software;

STL (англ. Standard Template Library) - бібліотека шаблонів;

VS (англ. Visual Studio) - інтегроване середовище розробки програмного забезпечення.

Вступ

Поняття фрактал і фрактальна геометрія, що з'явилися в кінці 70-х, з середини 80-х міцно увійшли в ужиток математиків і програмістів. Слово фрактал утворено від латинського fractus і в перекладі означає що складається з фрагментів. Воно було запропоновано Бенуа Мандельбротом в 1975 році для позначення нерегулярних, але самоподібних структур, якими він займався. Народження фрактальної геометрії прийнято пов'язувати з виходом в 1977 році книги Мандельброта The Fractal Geometry of Nature. У його роботах використані наукові результати інших вчених, які працювали в період 1875-1925 років в тій же області (Пуанкаре, Фату, Жюліа, Кантор, Хаусдорф). Але тільки в наш час вдалося об'єднати їх роботи в єдину систему.

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

  • У першому розділі буде проведений огляд предметної області та розглянуті такі питання: опис вирішуваної проблеми, актуальність, огляд аналогів, постановка задачі, технічне завдання, обґрунтовано вибір засобів розробки ПП та вибір моделі ЖЦ. Другий розділ містить інформацію стосовно алгоритмічного забезпечення, а сама діаграми варіантів використання, послідовності дій, класів та компонентів. У третьому розділі буде розглянуто математичний апарат, а саме математичну модель, логічне та фізичне проектування. Четвертий розділ складається з опису програмного продукту - керівництво користувача, тестування програмного забезпечення, монетизацію та просування.

1. Огляд предметної області

1.1 Опис вирішуваної проблеми. Актуальність

"Геометрію часто називають холодною і сухою. Одна з причин полягає в її нездатності описати форму хмари, гори, дерева або берега моря. Хмари - це не сфери, гори - не конуси, лінії берега - це не кола, і кора не є гладкою, і блискавка не поширюється по прямій. Природа демонструє нам не просто вищий ступінь, а зовсім інший рівень складності". Так говорив американський математик Бенуа Мандельброт [1].

Визначення фрактала за Мандельбротом, звучить так: "Фракталом називається структура, що складається з частин, які в якомусь сенсі подібні цілому".

Однією з основних властивостей фракталів є самоподібність. У самому простому випадку невелика частина фрактала містить інформацію всього фракталу.

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

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

У повсякденному житті людям рідко вдається знайти цікаве та неординарне застосування математиці, оскільки вони вважають її нудною. Даний ПП досліджує можливість використання математики на основі фрактальної графіки, яка базується на фрактальній геометрії, показує, що з її допомогою можна створювати дивовижні рисунки на свій смак, які можуть бути використані як фонові зображення для будь-чого, так, наприклад, для поціновувачів ручної роботи можуть стати цікавим візерунком для вишивання. Також програма містить в собі інформацію стосовно фракталів, дає визначення новим поняттям, знайомить користувача з відкриттям французького математика Гастона Мориса Жюліа, який зробив значний внесок в розвиток фрактальної геометрії у 70-х рр. ХХ ст.

Так, наприклад, цікавим є факт: математики довели, що довільна замкнута фігура на площині може бути як завгодно близько наближена множиною Жюліа для відповідного багаточлена. Серед іншого, в якості демонстрації власної техніки, вченим вдалося побудувати досить добре наближення силуету кота. За словами вчених, їх приклад наочно демонструє, що динаміка поліноміальних (тобто задаються багаточленами) динамічних систем може бути влаштована максимально різноманітно. Вони кажуть, що запропонований ними приклад буде корисний у теорії таких систем.

Щоденно виконується дуже багато запитів в світі Інтернет для пошуку інформації стосовно тем, що відповідають зацікавленості та потребам людей. Наприкінці ХХ століття вчені зайнялись вивченням фрак талів. Актуальним є питання щодо можливостей впровадження їх в сучасні сфери людської діяльності для полегшення виконання задач. З часом все більше і більше людей долучаються до цієї ідеї.

Так за останній місяць у світі було зроблено 21740 запитів з питань фракталу (рисунок 1.1).

Рисунок 1.1 - Статистика цільової аудиторії у світі за місяць [2]

В Україні також є люди, зацікавлені цією темою, кількість їх запитів за місяць дорівнює 2 350, що становить 10,8% від світової статистики (рисунок 1.2).

Рисунок 1.2 - Статистика цільової аудиторії України за місяць [2]

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

Дослідженнями фрактальної графіки займаються переважно чоловіки, але й жінки також роблять свій внесок (рисунок 1.3).

Рисунок 1.3 - Цільова аудиторія за віком та статтю [2]

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

Також у фрактальної графіки є цілком практичне застосування: комп'ютерні художники нерідко використовують такі зображення при створенні рекламних проспектів (наприклад, у вигляді фонового шару), досягають з їх допомогою цікавих ефектів освітлення знімків, накладаючи фрактали в якості одного з шарів в потрібному режимі змішування і з бажаною прозорість, тощо. Із застосуванням фракталів можна будувати і цілком реалістичні зображення, наприклад хмари, сніг, дерева та іншу рослинність, гірські ландшафти, поверхня морів і океанів тощо. Тому фрактальні зображення використовуються в самих різних сферах, починаючи від створення звичайних текстур для веб-сторінок, фонів робочого столу, заставок, фантастичних фонових зображень для рекламної графіки і закінчуючи фантастичними ландшафтами для комп'ютерних ігор і книжкових ілюстрацій.

1.2 Огляд аналогів. Виділення особливостей свого ПП

Напевно, складно знайти людей, яких би не зачаровувало споглядання фрактальної графіки. В її таємничих елементах комусь може представлятися нічне полум'я багаття, комусь - довгі батоги коливаючихся водоростей у товщі води, комусь - ціле таїнство Всесвіту.

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

З використанням фракталів можуть будуватися не тільки ірреальні зображення, але і цілком реалістичні (наприклад, фрактали нерідко використовуються при створенні хмар, снігу, берегових ліній, дерев і кущів та ін.). Тому застосовувати фрактальні зображення можна у різноманітніших сферах, починаючи від створення звичайних текстур і фонових зображень і закінчуючи фантастичними ландшафтами для комп'ютерних ігор або книжкових ілюстрацій. А створюються подібні фрактальні шедеври (так само як і векторні) шляхом математичних розрахунків, але на відміну від векторної графіки базовим елементом фрактальної графіки є сама математична формула - це означає, що ніяких об'єктів в пам'яті комп'ютера не зберігається, і зображення будується виключно на основі рівнянь.

У таблиці 1.1 наведена порівняльна характеристика двох аналогічних програмних пакетів для роботи з фрактальною графікою.

Таблиця 1.1 - Порівняльна характеристика аналогічних програм

Назва

Основні функції

Переваги

Недоліки

Ultra Fractal 5.04 [3]

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

Інтерфейс інтуїтивно зрозумілий.

Програма не безкоштовна.

Багато можливостей для перетворення фрактального зображення до унікального виду

Додаткові формули необхідно шукати завантажувати з сайту розробника.

Є вбудований браузер.

До програми входить базовий набір готових фрактальних формул.

Fractalposter[4]

Онлайн-редактор для створення яскравих та вражаючих зображень за допомогою фракталів.

Інтерфейс інтуїтивно зрозумілий.

Для створення власного фракталу необхідно зареєструватися на сайті.

Зовнішній вигляд сайту простий, не відволікаючий

Необхідно встановлювати спеціальні плагіни для браузера.

Багато засобів малювання.

Сайт зроблено англійською мовою.

Зовнішній вигляд інтерфейсу програми Ultra Fractal 5.04 зображено на рисунку 1.4.

Рисунок 1.4 - Програма Ultra Fractal 5.04

Ще один альтернативний варіант програми для побудови фракталу, з яким можна працювати в онлайн-режимі подано на рисунку 1.5.

Рисунок 1.5 - Онлайн-сервіс Fractalposter

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

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

1.3 Постановка задачі

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

програма має забезпечити:

- введення та редагування параметрів фракталу (параметри комплексного числа);

- введення та редагування параметрів зображення (число ітерацій);

- регулювання кольорів зображення;

- надання інформації стосовно фракталу Жюліа та фракталів взагалі;

- надання інструкції щодо можливостей програми;

- демонстрацію декількох прикладів побудови фракталу Жюліа;

- збереження побудованого фракталу.

Головне діалогове вікно повинно містити в собі:

- кнопку відкриття теоретичних відомостей;

- кнопку відкриття інструкції;

- кнопку на початок будування фракталу Жюліа;

- кнопку збереження отриманого результату;

- три слайдера RGB;

- три поля для введення даних.

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

1.4 Технічне завдання

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

Таблиця 1.2 - Технічні характеристики ПП

Експлуатаційне призначення

- дослідження фрактальної множини Жюліа

- всебічне використання отриманого в результаті зображення

Функціональне призначення

- розрахунок фракталу Жюліа за введеними даними

- графічне відображення фракталу

- збереження отриманого зображення

Функціональні характеристики

- введення необхідних для побудови даних користувачем;

- вибір кольорової гами зображуваної множини

- можливість збереження побудованого зображення

- надання інструкції користування ПП

- надання загальних відомостей стосовно фракталів

До основних термінів та визначень дипломного проекту можна віднести наступні терміни:

1. Фракталом називається структура, що складається з частин, які в якомусь сенсі подібні цілому.

2. Фрактальною графікою називається технологія створення зображень на основі фракталів.

3. Алгебраїчними або динамічними називаються фрактали, які виникають при дослідженні нелінійних динамічних систем.

4. Множиною Жюліа називається множина точок, динаміка в околиці яких в певному сенсі нестійка по відношенню до малих збурень початкового положення.

5. Комплексним числом називається число виду x+iy, де x та y - дійсні числа, i - уявна одиниця.

Головне вікно розроблюваної програми у макетному вигляді зображено на рисунку 1.6.

Рисунок 1.6 - Макет головного вікна

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

Вікно інструкції містить в собі назву вікна, текст, приклад можливого зображення та таблицю прикладів значень для введення користувачем (рисунок 1.7).

Рисунок 1.7 - Макет вікна інструкції

Створений програмний продукт планується здати в експлуатацію з 10 червня 2015 року.

1.5 Вибір засобів розробки

Для розробки ПП було обрано програму Microsoft Visual Studio 2010, яка відповідає всім вимогам проекту. Написання коду здійснюється на основі кістяка бібліотеки MFC, який автоматично створює вихідні рядки коду. Потрібно відзначити, що MFC AppWizard створює тексти додатків тільки з використанням бібліотеки класів MFC.

Перевагами MS VS 2010 є:

- легкість створення проектів;

- зручний інтерфейс;

- підвищена швидкість компіляції;

- підвищена швидкість зборки проекту;

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

Мовою розробки було обрано мову програмування С++, яка приділяє багато уваги підтримці об'єктно-орієнтованого програмування.

Мова С++ є удосконаленою мовою С та характеризується за такими ознаками:

- підтримка об'єктно-орієнтованого програмування через класи. C ++ надає всі чотири можливості ООП - абстракцію, інкапсуляцію, успадкування (у тому числі і множинне) і поліморфізм.

- підтримка узагальненого програмування через шаблони функцій і класів;

- стандартна бібліотека C ++ складається з стандартної бібліотеки C (з деякими модифікаціями) і бібліотеки шаблонів STL, яка надає великий набір узагальнених контейнерів і алгоритмів;

- додаткові типи даних;

- обробка виключень;

- віртуальні функції;

- простір імен;

- вбудовані функції (inline);

- перевантаження (overloading) операторів;

- перевантаження імен функцій;

- посилання і оператори управління вільно розподіленою пам'яттю.

У другому розділі для створення діаграм варіантів використання буде застосовано програму Visual Paradigm - легку у використанні засобу візуального моделювання UML діаграм. З її допомогою можна створювати високоякісні програми швидше, краще і по більш низькій вартості, викреслювати всі типи класових діаграм, переглядати в зворотному порядку-код, генерувати код з діаграм і генерувати документацію. Сервісна програма UML CASE також надає зручні UML керівництва, інтерактивні UML демонстрації та UML проекти.

Для того, щоб скомпонувати презентаційний матеріал, використовується програма пакету Microsoft Office - PowerPoint. Матеріали, підготовлені за допомогою PowerPoint, призначені для відображення на великому екрані - через проектор, або телевізійний екран великого розміру, що є дуже зручною можливістю демонстрації програмного виробу аудиторії [5].

1.6 Вибір моделі життєвого циклу

Модель ЖЦ ПЗ залежить від специфіки, масштабу і складності проекту та особливостей умов, за яких система створюється та функціонує.

Моделлю ЖЦ ПЗ називають структуру, що визначає послідовність виконання і взаємозв'язок процесів, дій, задач протягом ЖЦ.

Модель ЖЦ конкретного ПЗ інформаційної системи визначає характер процесу створення цього ПЗ, що означає сукупність упорядкованих у часі, об'єднаних у стадії робіт [6].

В якості моделі життєвого циклу для розробки даного ПП була обрана спіральна модель, оскільки з її допомогою легко розрахувати створення цілого проекту. (рисунок 1.8). Кожний етап розробки являє собою докладну роботу над ПЗ, що полегшує роботу та позбавляє від помилок.

Рисунок 1.8 - Модель спірального процесу розроблення

Спіральна модель була розроблена у середині 1980-х років Барі Боемом. Вона ґрунтується на класичному циклі Демінга PDCA [7]. При використанні цієї моделі ІС створюється в кілька ітерацій (витків спіралі) методом прототипування.

Нині ця модель досить поширена. Найвідоміші приклади її реалізації - це RUP фірми Rational і MSF. Створення ПЗ за такої моделі має ітераційний характер і рухається по спіралі, проходячи стадії, де на кожному витку уточнюються характеристики майбутнього інформаційного продукту.

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

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

Спіральна модель не виключає використання каскадного підходу на кінцевих стадіях проекту в тих випадках, коли вимоги до системи стають цілком чіткими.

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

2. Алгоритмічне забезпечення

2.1 Діаграма варіантів використання

Діаграма варіантів використання є вихідним концептуальним уявленням або концептуальною моделлю системи в процесі її проектування і розробки (рисунок 2.1).

Рисунок 2.1 - Діаграма варіантів використання

На діаграммі зображується один актор, який виступає в ролі користувача. Він здійснює дії з програмою, серед яких:

- відкрити информацію про фрактали, натиснувши кнопку "О фракталах";

- відкрити інструкцію, натиснувши кнопку "Инструкция";

- ввести вихідні дані комплексного числа, заповнивши поля "Вещественная часть" та "Мнимая часть" (обов'язкова дія);

- ввести число ітерацій, заповнивши поле "Число итераций" (обов'язкова дія);

- обрати кольорову гаму для побудування фракталу Жюліа за допомогою трьох слайдерів RGB;

- побудувати фрактал згідно з введеними даними, натиснувши кнопку "Начать построение";

- зберегти отримане зображення, натиснувши кнопку "Сохранить".

2.2 Діаграма послідовності дій

На діаграмі послідовності зображуються виключно ті об'єкти, які безпосередньо беруть участь у взаємодії і не показуються можливі статичні асоціації з іншими об'єктами. Для діаграми послідовності ключовим моментом є саме динаміка взаємодії об'єктів у часі (рисунок 2.2).

Рисунок 2.2 - Діаграма послідовності

З діаграми послідовності зрозуміло, що для початку потрібно запустити ПЗ.

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

2.3 Структура класів

Структура класів служить для представлення статичної структури моделі системи в термінології класів ООП. Структура класів являє собою певний граф, вершинами якого є елементи типу "класифікатор", які пов'язані різними типами структурних відносин. Слід зауважити, що діаграма класів може також містити інтерфейси, пакети, відносини і навіть окремі екземпляри, такі як об'єкти і зв'язку. Тому структуру класів прийнято вважати графічним представленому таких структурних взаємозв'язків логічної моделі системи, які не залежать або інваріантні від часу. Структура класів складається з безлічі елементів, які в сукупності відображають декларативні знання про предметну область (рисунок 2.3).

Рисунок 2.3 - Структура класів

Структура містить в собі перелік всіх класів та їх базових типів, а саме: карти, глобальні змінні, макроси та константи, CAboutDlg з його базовим типом CDialogEx, CJuliaApp з його базовим типом CWinApp, CJuliaDlg з його базовим типом CDialogEx.

2.4 Файлова структура проекту

Файлова структура описує особливості фізичного представлення системи та дозволяє визначити архітектуру системи, встановивши залежності між програмними компонентами. У багатьох середовищах розробки модуль або компонент відповідає файлу. Основними графічними елементами структури є компоненти, інтерфейси і залежності між ними (рисунок 2.4).

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

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

Рисунок 2.4 - Файлова структура проекту

Файлова структура пректу містить в собі заголовні файли, файли початкового коду, файли ресурсів та файл ReadMe.txt.

3. Математичний апарат

3.1 Математична модель

Множина Жюліа будується для функції виду (формула 3.1)

, (3.1)

де p і q - комплексні поліноми.

Для спрощення задачі, будуватиметься множина Жюліа лише для квадратичного полінома. Квадратичний комплексний поліном у загальній формі виглядає наступним чином (формула 3.2)

. (3.2)

Також існує поняття унітарної (a=1) центрованої (b=0) форми квадратичного полінома (формула 3.3)

(3.3)

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

Множина Жюліа збігається з A (?), іншими словами з множиною тих точок z, для яких траєкторії йдуть у нескінченність, тобто не сходяться до якоїсь нерухомої точки, а так само не коливаються між двома або більше періодичними точками (нерухома точка - це періодична точка з періодом рівним одиниці), яка є замкнутою і обмеженою підмножиною всіх комплексних чисел. Звідси, множина Жюліа теж замкнена і обмежена. Позначимо наступним чином ту підмножину комплексних чисел, яка генерується ітераціями функції f і залишається обмеженою.

Назвемо таку множину заповненою множиною Жюліа (формула 3.4):

(3.4)

Теорема, яка знадобиться для розрахунків формулюється наступним чином:

- нехай дано деякий квадратичний поліном виду (формула 3.5)

f(z) = z2 + c; (3.5)

- позначимо (формула 3.6)

; (3.6)

- тоді для певної точки та n>0 виконується наступна умова (формула 3.7)

, (3.7)

тобто якщо модуль n-ої ітерації більше R, то ітерації функції f розходяться, це еквівалентно тому, що точка входить в басейн аттрактора до нескінченності A(?). Звідси вибігає, що не являється точкою заповненої множини Жюліа [7].

Крім самого алгоритму, з цієї теореми можна зробити висновок, що вся множина Жюліа знаходиться всередині кола з радіусом R та центром на початку координат. Приблизно тут поціновувачі дизайну і золотих перетинів, містики і окультики, помітять, якщо у формулі 3.5 с прийняти рівною 1, поріг R дорівнює золотому перетину.

Алгоритм побудови фракталу Жюліа:

1. обираємо с для того, аби задати поліном (формула 3.5);

2. обчислюємо R для вихідного полінома (формула 3.5);

3. обираємо параметр maxIter для позначення максимальної ітерації (чим він вищий, тим краще точність, тим повільніше алгоритм);

4. генеруємо масив кольорів, всього maxIter штук, таким чином, що більш яскрава точка розташована ближче до множини Жюліа, та навпаки, менш яскрава точка - далі від множини Жюліа;

5. для кожної точки з'ясовуємо чи є вона частиною заповненої множини Жюліа чи ні, а також номер ітерації, на якій поріг був перевищений;

6. якщо |z |>R, то використовуємо менш яскравий колір, далі використовуємо той колір, на якому номері ітерації був перевищений поріг [7].

3.2 Логічне проектування

Опираючись на умови поставленого завдання були використані стандартні класи бібліотеки MFC. Діаграма класів відображає логічну структуру проектування (рисунок 2.4).

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

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

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

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

3.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. Техніко-економічне обґрунтування проекту

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

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

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

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

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

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

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

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

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

Загальна трудомісткість розробки складається з трудомісткості виконання окремих етапів роботи, які зведені до таблиці 5.1. Трудомісткість робіт (Т) визначається за допомогою експертних оцінок і вимірюється в годинах (або в інших одиницях: днях, місяцях тощо).

Таблиця 5.1 - Етапи робіт і їх трудомісткість

№ з/п

Етапи робіт

Виконавець, посада

Трудомісткість робіт, Ті чоловіко-годин

1

2

3

4

1

Отримання технічного завдання

Інженер-програміст

5

2

Вивчення предметної області та постановка задачі

Технік-програміст

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 - Розрахунок витрат на матеріали

№ з/п

Найменування матеріалів

Одиниця

Цт , грн.

Р

Вт , грн.

1

2

3

4

5

6

1

Папір

Аркушів

0.50

200

100

2

Диски

шт.

10

2

20

3

Картридж для принтера

шт.

160

1

160

4

Прошивання ПЗ до ДП

шт.

60

1

60

5

Друк плакату

шт.

20

1

20

Разом

ВМ =360

Загальні витрати на матеріали складуть:

(5.5)

5.5 Витрати на електроенергію для технологічних потреб

Витрати на електроенергію при експлуатації технічних засобів визначаються за формулою 5.6:

, (5.6)

де Nn - потужність n - го обладнання, кВт;

Цел - ціна 1 кВт/год електроенергії, грн.;

(Т ? Кв) - час роботи n - го обладнання, годин;

Кв.п. - коефіцієнт використання n - го обладнання протягом періоду розробки проекту.

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

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

№ з/п

Обладнання

N, кВт

Т, годин

Кв.п.

Цел, грн.

Еn,

грн.

1

2

3

4

5

6

7

1

Комп'ютер

0.4

225

0.8

0.2802

20.17

2

Принтер

0.5

225

0.2

0.2802

6.31

Разом

Е=26,48

Загальні витрати на електроенергію складуть (формула 5.7):

(5.7)

5.6 Розрахунок амортизаційних відрахувань

Амортизаційні відрахування визначаються окремо для таких груп основних фондів: приміщення (площі), обладнання за формулою 5.8:

, (5.8)

де Nа - норма амортизації основних фондів. (Для приміщення Nа=5%, устаткування Nа=25%);

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

С - вартість основних фондів, грн.;

Fд - річний фонд часу роботи основних фондів. (Прийняти 1870 годин).

Вартість основних фондів, приміщення, розраховується за формулою 5.9:

Спл = Цпл ? R ? f, (5.9)

де Ц - вартість 1 м2 площі, прийняти 800 грн.;

R - кількість працівників, осіб;

f - площа службово-побутових приміщень на одного працівника, прийняти 7 м2.

грн

Вартість основних фондів - комп'ютера, принтера, програмного забезпечення та іншого устаткування, - визначається за формулою 5.10:

, (5.10)

де Цуст - ціна кожного виду устаткування (складається з Цпр - ціни принтера, Цк - ціни комп'ютера, грн., Цпз - загального системного програмного забезпечення та ін.), грн.;

S - кількість устаткування кожного виду, шт;

К - коефіцієнт, що враховує витрати на доставку, монтаж, налаштування, тощо, прийняти 1,1;

в - кількість видів устаткування.

грн.

Загальні амортизаційні відрахування визначаються як сума амортизаційних відрахувань від вартості обладнання (комп'ютерів, принтерів, ПЗ) та амортизаційних відрахувань від приміщень (площі) (формула 5.11):

Азаг = Апл + Ауст (5.11)

5.7 Накладні витрати

Накладні витрати враховують витрати на опалення, освітлення, охорону, рекламу, управління, організацію, загальногосподарські потреби та ін.

Розмір накладних витрат визначається пропорційно фонду заробітної плати за формулою 5.12:

(5.12)

де Пн.в. - процент накладних витрат.

5.8 Розрахунок кошторисної вартості та ціни програмного продукту

Загальна кошторисна вартість визначається як сума витрат за статтями, що розраховані в розділах 5.2 - 5.6 за формулою 5.13:

К = З + С + ВМ + Е + А + НВ (5.13)

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

Цв = К + Пн (5.14)

де Пн - нормативний прибуток, грн.

Пн = К ? Рн (5.15)

де Рн - нормативна рентабельність, прийняти 0,35.

Ціна з врахуванням податку на додану вартість складе (формула 5.16):

, (5.16)

де ППДВ - процент податку на додану вартість.

Розрахунок кошторисної вартості і ціни провести в таблиці 5.5.

Таблиця 5.5 - Розрахунок кошторисної вартості і ціни

№ з/п

Найменування статті

Позначення

Сума, грн.

Питома вага в кошторисі, %.

1

2

3

4

5

1

Витрати на заробітну плату

З

11565

66,45

2

Єдиний соціальний внесок

С

4255,92

24,45

3

Витрати на матеріали

ВМ

360

4,7

4

Витрати на електроенергію

Е

26,48

0,35

5

Амортизаційні відрахування

Азаг

1043,23

4,05

6

Накладні витрати

НВ

2891,25

16,6

7

Разом кошторисна вартість

К

20141,88

100

8

Нормативний прибуток

Пн

7049,66

-

9

Відпускна ціна

ЦВ

27191,54

-

10

Ціна з врахуванням податку на додану вартість

ЦПДВ

32629,85

-

На підставі виконаних розрахунків будується діаграма (рисунок 5.1).

Рисунок 5.1 - Діаграма кошторисної вартості та ціни

5.9 Аналіз постійних і змінних витрат

При збільшенні кількості замовників даного програмного продукту (більше, ніж один) з'являються додаткові витрати:

- витрати на тиражування;

- витрати на адаптацію програмного продукту до вимог споживача.

Витрати на тиражування (Вт) можна прийняти 25ч50 грн. на кожну одиницю замовленого програмного продукту.

Витрати на адаптацію (ВА) згідно з експертними оцінками і з врахуванням середнього рівня уніфікації розробленої програми прийняти 10-15% від витрат на заробітну плату (формула 5.17):

ВА = (5.17)

де ПА - процент витрат на адаптацію.

грн

Вказані витрати є умовно-змінними, тобто такими, що прямо залежать від обсягу замовлених програм, або кількості замовників.

Витрати, які вказані в колонці 2 з 1 по 6 пункти в таблиці 5.5, є умовно-постійними, тобто такими, що не змінюються при збільшенні кількості замовлень даного програмного продукту.

Відпускна ціна програмного продукту при обсязі продажу N штук визначається за формулою 5.18:

(5.18)

Ціна з врахуванням податку на додану вартість складе (формула 5.19):

(5.19)

Розрахунки виконуються в таблиці 1.6 для декількох варіантів обсягів замовлень N1 = 1 шт.; N2 = 5 шт.; N3 = 10 шт. Значення показників при N1 = 1 шт. прийняти з таблиці 5.5.

Таблиця 5.6 - Розрахунок загальних витрат і ціни при різних обсягах замовлень.

№ з/п

Показники

Позначення

При обсязі замовлення N шт.

1 шт.

5 шт.

10 шт.

1

2

3

4

5

6

1

Постійні витрати на 1 програму

20141,88

4028,38

2014,19

2

Змінні витрати на 1 програму

- на тиражування

- на адаптацію

Разом змінні витрати на 1 програму

ВТ

ВА

ВТ +ВА

0

0

0

50

4047,75

4097,75

50

4047,75

4097,75

3

Загальні витрати на 1 програму

ЗВ

20141,88

8126,13

6111.94

*

Випускна ціна одиниці програмного продукту

27191,54

10970,28

8251,12

*

Ціна з врахуванням податку на додану вартість одиниці програмного продукту

32629,85

13164,34

9901,34

5.10 Визначення точки беззбитковості

Для визначення обсягу реалізації програмного продукту, що забезпечує рентабельну діяльність проводиться аналіз зв'язку витрат, обсягу та прибутку.

Точка беззбитковості - це такий обсяг продажу, коли доходи (без ПДВ) від реалізації продукту дорівнюють витратам, а його подальше збільшення приведе до появи прибутку.

Точка беззбитковості визначається за формулою 5.20:

, (5.20)

де К - постійні витрати, грн.;

ЦВ.Б. - відпускна ціна за одиницю продукції без ПДВ, грн.;

(ВА + ВТ) - змінні витрати на одиницю продукції.

Значення постійних витрат (К) прийняти з таблиці 5.6 для N = 1 шт.

Відпускна ціна, для якої виконується розрахунок (ЦВ.Б.) враховує ємність ринку, купівельну спроможність замовників, рівень конкуренції та інші фактори. В розрахунку приймаємо відпускну ціну одиниці програмного продукту для N = 5 шт. = 10970,28 грн. (таблиця 5.6).

Змінні витрати (ВА + ВТ) прийняти з таблиці 5.6 для N = 5шт., або N = 10 шт.

Точка беззбитковості може бути визначена графічно, на підставі вихідних даних, що наведені в таблиці 5.7.

Таблиця 5.7 - Вихідні дані для визначення точки беззбитковості

Показник

Позначення, розрахунок

Значення і розрахунок показника, в грн.

При обсязі замовлення N шт.

1 шт.

5 шт.

10 шт.

Постійні витрати на весь обсяг замовлення

К

20141,88

20141,88

20141,88

Змінні витрати на весь обсяг замовлення

NЧ(ВА + ВТ)

0

20488,75

40977,5

Валові витрати

NЧ(ВА + ВТ) +К

20141,88

40630,63

61119,38

Виручка від реалізації при ціні ЦВ.Б.1 _____ грн.

NЧЦВ.Б.

10970,28

54851,4

109702,8

Виручка від реалізації при ціні ЦВ.Б.2 _____ грн.

NЧЦВ.Б.

8251,12

41255,6

82511,2

Отримані вихідні дані подано у вигляді графіка (рисунки 5.1, 5.2).

Рисунок 5.1 - Графік точки беззбитковості при ціні Цв.б. 10970,28 грн.

Рисунок 5.2 - Графік точки беззбитковості при ціні Цв.б. 8251,12 грн.

5.11 Обґрунтування використання програмного продукту

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

Річний економічний ефект визначається за формулою 5.21:

Ер = Впр.б. - Впр.н (5.21)

де Впр.б. - приведені витрати при використанні базового ПЗ(або взагалі без ПЗ), грн.;

Впр.н. - приведені витрати при використанні нового ПЗ, грн.;

Впр = С + Ен ? Кпр (5.22)

де С - собівартість використання ПЗ з розв'язання задачі, грн.;

Ен - нормативний коефіцієнт економічної ефективності;

К - сума капітальних вкладень.

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

Бажаний термін окупності вкладень до 2-х років.

Для виконання таких розрахунків в даному дипломному проекті відсутні вихідні дані.

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

- скоротити терміни виконання робіт;

- усунути помилки в роботі;

- зменшити навантаження на працівників;

- підвищити загальну культуру виконання робіт;

- скоротити окремі види ресурсів.

5.12 Висновок

Трудомісткість проекту 205 годин.

Кількість виконавців 3 осіб.

Кошторисна вартість розробки при замовленні 1 шт. 20141,88грн.

Кошторисна вартість розробки при замовленні 5 шт. 8126,13 грн.

Кошторисна вартість розробки при замовленні 10 шт. 6111.94 грн.

Ціна програмного продукту(без ПДВ) 27191,54 грн. при замовленні 1 шт.

Ціна програмного продукту(без ПДВ) 10970,28 грн. при замовленні 5 шт.

Ціна програмного продукту(без ПДВ) 8251,12 грн. при замовленні 10 шт.

Точка беззбитковості 3 шт. при ціні 10970,28 грн.

Точка беззбитковості 5 шт. при ціні 8251,12 грн.

6. Охорона праці та навколишнього середовища

6.1 Загальні положення охорони праці

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

В цьому розділі по охороні праці було розпочато з аналізу небезпечних та шкідливих чинників, які можуть діяти на техніка-програміста відповідно до класифікації шкідливих та небезпечних виробничих факторів, наведеної в ГОСТ 12.0.003-74 ССБТ "Вредные и опасные производственные факторы. Классификация", ці фактори і джерела їх виникнення перелічені у таблиці 6.1.

Відомо, що одним із принципових напрямків захисту від дії шкідливих та небезпечних факторів виробничого середовища є нормування за відповідними нормативно-технічними актами, тому надалі для кожного з приведених у таблиці 6.1 виробничих факторів указано нормативні регламентуючі документи, джерела виникнення.


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.