Відсікання відрізка на площині прямокутним вікном

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 04.11.2016
Размер файла 937,2 K

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

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

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

КУРСОВА РОБОТА

ВІДСІКАННЯ ВІДРІЗКА НА ПЛОЩИНІ ПРЯМОКУТНИМ ВІКНОМ

Зміст

Перелік умовних позначень

Вступ

1. Передпроектні дослідження

1.1 Опис предметної області

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

1.3 Опис алгоритму Сазерленда-Коена

1.4 Огляд алгоритмів відсікання

1.5 Аналіз аналогів

1.6 Маркетингове дослідження інновацій

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

2. Технічний проект

2.1 Опис обраного підходу

2.2 Блок схема алгоритму

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

3. Робочий проект

3.1 Інструкції програмісту

3.2 Інструкції користувачеві

3.3 План тестування

4. Охорона праці

Висновки

Перелік джерел

Додатки

Перелік умовних позначень

ПЕОМ - персональна електронно-обчислювальна машина

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

ІТ - інформаційні технології

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

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

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

КГ - комп'ютерна графіка

Вступ

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

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

Об'єктом дослідження в процесі дипломного проектування є алгоритм відсікання лінії на площині прямокутник вікном. Предметом дослідження є можливості об'єктно-орієнтованої системи візуального програмування для реалізації даного алгоритму.

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

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

1. Передпроектні дослідження

1.1 Опис предметної області

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

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

Часто графічні зображення складаються із сукупності відрізків. Розглянемо більш конкретно проблему відсікання лінії на площині, причому в простішому випадку прямокутного вікна. Для задачі відсікання можна було б розрахувати ті частини відрізків, які знаходяться зовні вікна. Однак це потребує виконання великої кількості відповідних обчислень. Графічні об'єкти складаються з відрізків трьох типів: цілком видимі, цілком невидимі і частково видимі (див. рис. 1.1)

Рис. 1.1. Двовимірне відсікання прямокутним вікном

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

Нехай дані координати кінців відрізка (x1, y1) і (x2, y2). А також дані координати верхній лівій вершини прямокутного вікна (TopLeftX, TopLeftY) і координати нижньої правої вершини (BottomRightX, BottomRightY). Необхідно визначити місце розташування відрізка щодо прямокутного вікна.

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

(X - x1) / (x2 - x1) = (y - y1) / (y2 - y1) (1.1)

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

1.3 Опис алгоритму Сазерленда-Коена

Часто виникає необхідність відсікти виведене зображення по межі області, область зазвичай має вигляд прямокутника. Розглянемо алгоритм Сазерленда-Коена. Даний алгоритм дозволяє для деякого відрізка заданого координатами початку і кінця ((x1, y1), (x2, y2)), і деякою прямокутної області, визначити координати початку і кінця частини відрізка лежить всередині області.

Алгоритм розділяє площину на 9 частин, і кожній з них ставить у відповідність 4-х бітний код наступним чином: включений біт 0 означає, що точка лежить лівіше прямокутника, включений біт 1 означає, що точка лежить правіше прямокутника, включений біт 2 означає, що точка лежить вище прямокутника, включений біт 3 означає, що точка лежить нижче прямокутника, Таким чином, отримуємо наступне схематичне зображення (див. рис. 1.2)

Рис. 1.2 - Схема включення бітів у частинах площини

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

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

більшість примітивів міститься цілком в великому вікні,

більшість примітивів лежить цілком поза відносно маленького вікна.

Але даний алгоритм можна застосувати тільки в тих випадках, коли сторони прямокутного вікна паралельні осям координат.

1.4 Огляд алгоритмів відсікання

Задачу відсікання можна розв'язувати різними методами.

За способом розв'язування цієї задачі всі алгоритми відсікання поділяються на 2 класи [7]:

- алгоритми, що використовують коди кінців відрізка або самого відрізка;

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

До першого класу алгоритмів належить алгоритми Сазерленда-Коена, FC-алгоритм, до другого класу - алгоритм Кіруса-Бека, Ейлера-Азертона і більш пізній алгоритм Ліанга-Барскі та ін. [Маценко]

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

Алгоритм Сазерленда-Коена є стандартом для алгоритмів відсікання. Розглянемо тепер FC-алгоритм.

В цьому алгоритмі кодуються не кінці відрізка, а весь відрізок цілком. Схема кодування близька до тієї, що використовується в алгоритмі Сазерленда-Коена.

Площина з вікном розбивається на 9 областей і вони кодуються цифрами від 1 до 9 (рис. 1.3). Область з вікном має код 5.

1

2

3

4

5

6

7

8

9

Рис. 1.3 _ Коди областей для FC-алгоритму

Відрізок кодується наступним чином:

LineCode(ab) = Code(a)* 10 + Code(b),

Code(a) - код області з початковою точкою відрізка,

Code(b) - код області з кінцевою точкою відрізка,

LineCode(ab) - код відрізка.

Оскільки кожний код може набувати дев'ять значень, то існує 81 можливий варіант розміщення відрізка і для кожного варіанту, тобто для кожного коду відрізка необхідно мати свій набір обчислень для відсікання відрізка.

Якщо Code(a) = Code(b), то LineCode(ab) = LineCode(ba). Існує 9 таких випадків: (1 - 1), (2 - 2), …, (9 - 9).

У випадку (5 - 5) (код відрізка 55) відрізок повністю видимий, у решті випадків - частково або повністю невидимий.

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

Ілюстрації можливих варіантів розміщення відрізка для перших п'яти випадків наведені на рисунку 1.4, для шостого випадку - на рисунку. 1.5.

Рис. 1.4 _ Варіанти розміщення відрізка для некутових областей

Рис. 1.5. Варіанти розміщення відрізка для кутових областей

Випадок 1 - початкова точка відрізка знаходиться в області 4, а кінцева - в області 1 (відрізок AB, LineCode = 41). Відрізок не перетинає видиму область і відкидається.

Випадок 2 - початкова точка відрізка знаходиться в області 4, кінцева - в області 2. Це відрізки AC і AD, LineCode = 42. Вони перетинають ліву межу вікна. Знайдемо точки перетину відрізків AC і AD з лівою межею вікна - (xлів, yn). Якщо yn > yверхн, то це відрізок AC, він не перетинає відрізка з лівим ребром видимої області й відкидається.

Якщо yn < yверхн, то це відрізок AD, що перетинається також з верхньою межею вікна. Тому необхідно обчислити точку перетину відрізка AD з верхньою межею вікна й зобразити видиму частину відрізка.

Випадок 3 - початкова точка відрізка знаходиться в області 4, кінцева - в області 3 (відрізки AE, AF і AG, LineCode = 43). Обчислюємо точки перетину відрізків з лівим ребром вікна (xлів, yn). Якщо yn > yверхн, то це відрізок AE. Він не перетинає видиму область і відкидається, інакше це відрізки AF і AG. Для них обчислюємо точку перетину з правим ребром (xпр, yn). Якщо yn > yверхн, то це відрізок AF, тому необхідно обчислити точку перетину з верхнім ребром вікна і зобразити видиму частину відрізка. Інакше це відрізок AG, для нього вже точки перетину з ребрами вікна знайдені, залишається зобразити лише видиму частину відрізка.

Випадок 4 - початкова точка відрізка знаходиться в області 4, кінцева - в області 6 (відрізок AH, LineCode = 46). Обчислюємо точки перетину відрізка з лівим і правим ребрами вікна і зображаємо видиму частину відрізка.

Випадок 5 - початкова точка - в області 4, кінцева - в області 5 (відрізок AL, LineCode = 45). Обчислюємо точку перетину відрізка з лівим ребром і зображаємо видиму частину відрізка.

Випадок 6 - початкова точка знаходиться в області 7, кінцева - в області 3 (відрізки RW, SX, SY, TX, TY, UV, LineCode = 73). Обчислюємо точку перетину відрізка з лівим ребром (xлів, yn1). Якщо yn1 > yверхн, то це відрізок RW і він відкидається. Обчисляємо точку перетину з правим ребром (xпр, yn2). Якщо yn2 < yнижн, то це відрізок UV, він теж відкидається. При yn1 > yнижн це або відрізок SX, або SY. Далі, якщо yn2 < yверхн, то це відрізок SY і можемо зобразити його видиму частину. Інакше це відрізок SX, тому необхідно обчислити точку перетину з верхнім ребром вікна і зобразити його видиму частину. Залишилося розглянути відрізки TX, TY. Якщо yn2 < yверхн, то це відрізок TY і ми можемо зобразити його видиму частину. Інакше це відрізок TX, тому обчисляємо для нього точку перетину з верхньою стороною вікна і теж відображаємо його видиму частину.

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

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

Розглянемо опуклу двовимірну область P, тобто опуклий многокутник. Внутрішньою нормаллю n до сторони вікна називається нормаль, яка направлена в бік області, що складає вікно відсікання. Як видно з рисунка 1.6, внутрішня нормаль n у точці a, що лежить на границі, задовольняє умову

(n (b - a)) ? 0, (1.2)

де b - будь-яка інша точка границі опуклої області P.

Рис. 1.6. Визначення місцезнаходження точки відносно вікна відсікання в алгоритмі Кіруса-Бека

Скалярний добуток в (1.2) для внутрішньої нормалі n невід'ємний тому, що и ? [0,2р ], тобто cosи ? 0.

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

Нехай ni - внутрішня нормаль до i-ї граничної лінії многокутного вікна, а V = b - a - вектор, що визначає орієнтацію відрізка ab, який відсікається вікном P. Тоді орієнтація відрізка ab відносно i-ї сторони вікна визначається знаком скалярного добутку ri = (ni V):

при ri < 0 відрізок ab направлений з внутрішньої сторони на зовнішню сторону i-ї граничної лінії вікна (рис. 1.7, а).

при ri = 0 точки a, b або збігаються (відрізок вироджується в точку) або відрізок ab паралельний i-й стороні вікна (рис. 1.7, б).

при ri > 0 відрізок ab направлений із зовнішньої сторони на внутрішню сторону i-ї граничної лінії вікна (рис. 1.7, в).

Рис. 1.7. Орієнтація відрізка ab відносно сторони вікна: а - зсередини назовні; б - паралельно границі; в - ззовні всередину

Для визначення розміщення точки V(t) відрізка ab відносно i-ї сторони вікна розглянемо скалярний добуток внутрішньої нормалі ni на вектор

Qi = V (t) - Pi, (1.3)

що починається в початковій точці Pi ребра вікна і закінчується в деякій точці V(t) відрізка ab, а саме

qi = (ni Qi ), i =1, 2, … (1.4)

Аналогічно попередньому маємо (рис. 1.8):

? якщо qi < 0, то точка V(t) лежить із зовнішньої сторони границі;

? якщо qi = 0, то точка V(t) лежить на лінії границі вікна;

? якщо qi > 0, то точка V(t) лежить із внутрішньої сторони i-ї границі

вікна.

Рис. 1.8. Розміщення точки відносно границі вікна

Згадаємо векторно-параметричне рівняння відрізка ab

V(t) = a + (b - a) t, t ? [0, 1]. (1.5)

Оскільки многокутник опуклий, то може бути дві точки перетину відрізка ab із вікном P і нам необхідно знайти два значення параметра t, що відповідають початковій і кінцевій точкам видимої частини відрізка.

З умови належності точки V(t) границі вікна, тобто з умови qi = 0, враховуючи (9.5) та (9.6), маємо

(ni (a + (b - a)t - Pi))) = 0,

або

(ni (a - Pi)) + (ni (b - a)t) = 0.

Звідки

(1.6)

Алгоритм Кіруса-Бека має наступний вигляд. Шукані значення параметрів t0, t1 точок перетину відрізка з вікном ініціалізуємо значеннями 0, 1, що відповідають початку і кінцю відрізка ab.

В циклі по i для кожної сторони вікна відсікання обчислюємо значення скалярних добутків

ri = (ni (b - a)). (1.7)

Якщо ri = 0, то відрізок ab або вироджується в точку, або паралельний i-й стороні вікна. При цьому проаналізуємо значення

qi = (ni (a - Pi)). (1.8)

Якщо qi < 0, то відрізок знаходиться зовні вікна і відсікання закінчено, інакше переходимо до наступної сторони вікна.

Якщо ri ? 0, то за формулою (1.7) обчисляємо значення t для точки перетину відрізка ab з i-ю границею вікна. Оскільки точки відрізка ab відповідають значенням t ? [0, 1], то t [0, 1] відкидаємо.

При ri < 0 лінія ab направлена з внутрішньої сторони і-граничної лінії на зовнішню і знайдені значення t визначатимуть кінцеву точку видимої частини відрізка ab. В цьому випадку визначається min t серед всіх одержаних t (рис. 1.9). Воно дає значення t1 для кінцевої точки шуканого відрізка

Якщо поточне значення t1 стане меншим за t0, то відрізок ab відкидається, оскільки не виконується умова t0 ? t1.

При ri > 0 лінія ab направлена із зовнішньої сторони граничної лінії на внутрішню, тому знайдені значення t визначатимуть початкову точку видимої частини відрізка ab. В цьому випадку визначається max t серед всіх одержаних t. Воно дає значення t0 для початкової точки видимої частини відрізка

Якщо поточне значення t0 стане більшим за t1, то відрізок відсікається.

Рис. 1.9 _ Визначення кінцевої точки V(t1)

На заключному етапі алгоритму значення t0, t1 використовуються для знаходження координат точок перетину відрізка ab з вікном P, тобто для побудови видимої частини відрізка. При цьому, якщо t0 = 0, то початкова точка залишається та сама й обчислення V(t0) не потрібні. Аналогічно при t1 = 1 кінцева точка - b. Обчислення V(t1) теж не потрібні.

1.5 Аналіз аналогів

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

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

наступний крок - побудова багатокутника, потрібно спочатку натиснути кнопку вибору багатокутника, потім побудувати за допомогою мишки прямокутник (тільки прямокутне вікно за алгоритмом Сазерленда-Коена може відсікти відрізки), причому сторони прямокутника повинні бути паралельні осям координат, тобто горизонтальні або вертикальні;

якщо введені за допомогою мишки точки не є вершини прямокутника, їх координати можна відредагувати у полях введення і натиснути кнопку «Принять изменения»;

якщо вершини відрізків та вершини прямокутного вікна задані вірно, то стає доступною кнопка відсікання.

Рис. 2.10 - Вікно аналогічного програмного продукту

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

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

1.6 Маркетингове дослідження інновацій

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

На дане ПЗ очікується окупність продукту протягом 3 місяців. Продаж ПЗ буде реалізований через мережу Інтернет. Сервісне обслуговування (продажного та після продажного) періоду буде проводитись до того часу як вийде наступна версія. Можливими обсягами ПЗ може бути 100 копій. Головним конкурентом на ринку аналогічної продукції є AlgLib. Продукт конкурентів AlgLib 2.6 надає комерційну ліцензію на за 1 рік з додатковою розширеною підтримкою. Продукт конкурентів коштує 570 USD на 1 розробника плюс 170 USD за розширену підтримку програмного продукту. Найсуттєвішими ознаками конкурентних переваг вважають:

якість ПЗ та його надійність;

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

цінова політика (знижки, бонуси).

Можливий життєвий цикл нового ПЗ включає стадії розробки та тестування.

Усе це, узяте разом, забезпечує прийняття рішення про доцільність виготовлення нового (модернізованого) ПЗ.

Оцінка конкурентоспроможності ПЗ

Визначення основних параметрів базового і нового варіантів ПЗ

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

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

№ з/п

Назва параметру

Одиниця виміру

Варіант

Характеристика параметра нового варіанта відносно базового

(^,v чи =)

базовий

(аналог)

новий

1.

Вартість ПЗ

грн

14800

9032

^

2.

Результати дослідження інтерфейсу методом GOMS

бали

5,2

5,2

=

3.

Кількість функцій ПЗ

шт.

6

7

^

4.

Вага ПЗ

Мб

0,84

0,86

v

5.

Кількість інформації, що передається

біт

0,3

4,9

=

6.

Можливість нарощування функціональних характеристик

бали

3

3

=

7.

Кількість людей, необхідних для обслуговування

чол.

3

2

v

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

За одним параметром новий і базовий варіанти ПЗ є ідентичними (2 - Результати дослідження інтерфейсу методом GOMS), а за параметром (3- Кількість функцій ПЗ) новий варіант продукту поступається базовому.

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

Конструювання еталону конкурентоспроможності ПЗ

Еталоном - це міра для відтворення, зберігання і передачі одиниць будь-якої величини, що утворена за таким правилом: серед показників-стимуляторів (здійснюється позитивний вплив на конкурентоспроможність) відбираємо дані з максимальним значенням, а серед показників дестимуляторів (чинить негативний плив на конкурентоспроможність) відбираємо дані з мінімальним значенням. Визначення еталонного значення наведено в табл. 2 (колонки 3, 4).

Розрахунок інтеґрального показника конкурентоспроможності ПЗ

Інтеґральний показник конкурентоспроможності відносно еталона () визначається за формулою 1.1:

, (1.1)

де , - величини за і-тим параметром відповідно базового, нового варіанта ПЗ та еталона.

Результати розрахунків заносимо до таблиці 2.1 (колонки 5, 6).

Проведені розрахунки будуть свідчити про те, що базове та нове ПЗ може переважати еталон за параметрами. Результатом буде одна із наступних умов:

якщо , то базове ПЗ перевищує новий зразок за конкурентоспроможністю;

якщо , то поступається йому;

при , нове ПЗ знаходиться на одному рівні з базовим.

Таким чином, базове ПЗ переважає за еталон параметрами на «25,92», а новий - на «3,62». Тобто новий ПЗ є безперечно конкурентоспроможним порівняно з базовим.

Визначення ефективності нового ПЗ порівняно з базовим

Загальна ефективність розробки нового ПЗ порівняно з базовим визначається за формулою 1.2:

, (1.2)

, (1.3)

де , - величини за і-тим параметром відповідно нового та базового варіанту ПЗ.

Проте, якщо серед параметрів є такі, для яких максимальне значення є найбільш ефективним, то має місце рівність (1.4):

, (1.4)

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

Розраховуємо ефективність окремого параметра нового ПЗ за формулами 1.3 та 1.4, результати розрахунків заносимо до таблиці 1.2 (колонки 8, 9):

1-й параметр: оскільки в новому ПЗ вдалось зменшити його загальну вартість, виграш від цього склав: 1 - 0,3 = 0,9.

2-й параметр: вдалося покращити інтерфейс (вдосконалення призвело до спрощення та зручності користування), тому виграш нового ПЗ складає: 1 - 1 = 0.

3-й параметр: кількість функцій розробленого ПЗ є такою ж, як і в аналога, тобто залишилась незмінною: 1 - 0,3 = 0,7.

4-й параметр: за рахунок скорочення ваги розробленого ПЗ отримали виграш в розмірі: 1 - 1=0.

5-й параметр: незважаючи на проведені вдосконалення ПЗ, не вдалось покращити (збільшити) кількість інформації, що передається на 0,5: 1 - 1 = 0.

6-й параметр: вдалось підвищити можливість нарощення функціональних характеристик, виграш склав: 2 - 1 = 1.

7-й параметр: незважаючи на проведені вдосконалення, не вдалось зменшити кількість людей, необхідних для обслуговування і, тому програш складає: 1 - 0,08 = -0,92.

Таблиця 1.2 - Визначення параметрів конкурентоспроможності ПЗ та показника його ефективності.

Назва параметра

Еталонне значення

Варіант

maxабоmin

1

2

3

4

5

6

7

8

9

Вартість ПЗ

min

10

10

-0,1

0,1

0,9

Результати дослідження інтерфейсу методом GOMS

max

5,2

1

1

1

0

Кількість функцій ПЗ

max

20

1

-0,3

0,3

0,7

Вага ПЗ

min

824

1

1

1

0

Кількість інформації, що передається

max

0,3

1

1

1

0

Можливість нарощування функціональних характеристик

max

10

-0,5

2

2

1

7.

Кількість людей, необхідних для обслуговування

min

4

12,5

-0,08

0,08

0,92

Разом:

25,92

3,62

3,52

Відповідно до цього, загальна економічна ефективність складе:

Ефзаг = 0,9+0+0,7+0+0+1+0,92=3,52

Таким чином, ефективність виробництва нового (розробленого) програмного забезпечення відносно базового (аналогу) складає 0,8 або у відсотковому виразі: 103,52 %.

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

Найменування: Відсікання відрізка на площині прямокутним вікном.

Підстава до виконання програмного забезпечення (ПП): Підставою для виконання даної розробки є завдання керівника дипломного проекту.

Терміни розробки:

початок - 23.04.2015;

закінчення - 20.06.2015.

Характеристика об'єкту, що створюється

Програмне забезпечення реалізує алгоритм Сазерленда-Коена відсікання відрізка на площині прямокутним вікном. Новизною програмного забезпечення буде простота інтерфейсу та додаткові можливості.

До складу об'єкту, що створюється повинно входити:

програмний продукт, що розробляється;

документи на супроводження програмного забезпечення.

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

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

Призначення ПП, що створюється

Призначення: Розробка програмного забезпечення що реалізує алгоритм Сазерленда-Коена.

Основні критерії ефективності:

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

можливість введення даних за допомогою мишки та полів введення;

можливість налаштування елементів графічного інтерфейсу;

отримання необхідних результатів відсікання;

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

Основні функції користувача:

запустити програмний продукт;

обрати спосіб введення координат вікна та відрізка;

зображення прямокутного вікна та відрізка за координатами;

виведення на екран результатів відсікання;

налаштування кольору лінії та фону робочої області;

налаштування товщини лінії;

очистка області зображення та полів введення координат;

отримання довідки по програмі.

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

Основні вимоги до ПП, що створюється

Загальні вимоги:

програмний продукт працює під керівництвом операційної системи WINDOWS 7;

вимоги до апаратного забезпечення персонального комп'ютеру - не передбачаються та можуть встановлюватися розробником програмного забезпечення;

використання програмного забезпечення не потребує додаткового навчання;

програмний продукт повинен мати зручний інтерфейс;

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

Додаткові вимоги:

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

вимоги до мови програмування не передбачаються;

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

Вимоги до якості та надійності:

програмне забезпечення повинно надійно працювати;

розробник обирає технічні характеристики персонального комп'ютера, налаштовує системне програмне забезпечення;

розробник гарантує роботу програмного комплексу протягом 12 годин без збоїв та переналоштувувань.

Техніко-економічні вимоги до програмного забезпечення

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

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

Етапи розробки ПП

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

Таблиця 1.1 - Етапи виконання робіт

Етапи виконання роботи

Термін виконання та приблизний обсяг робіт

Звітні матеріали

Аналіз розробки програмного забезпечення та розробка першої версії

6.05

Частковий програмний продукт на ЕОМ замовника, що виконує всі основні функції

Розробка остаточної версії програмного комплексу та його опрацювання

05.06

Готовий програмний продукт на ЕОМ замовника з бібліотекою графічних елементів

Доопрацювання окремих модулів, доробка бібліотеки графічних елементів та навчання користувачів

20.06

Звітні матеріали згідно пункту 11.1

Прийняття програмного забезпечення

Необхідні вимоги для впровадження ПП та завершення робіт.

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

встановлений програмний комплекс на ЕОМ замовника;

перелік файлів на резервному носії;

стислий опис роботи ПП та опис всіх файлів, які необхідні для роботи ПП.

Перелік документів:

технічне завдання;

пояснювальна записка;

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

керівництво програміста.

Перелік звітних документів, необхідних для прийняття етапів роботи:

стислий опис результатів етапу у вигляді анотованого звіту (для І та ІІ етапів);

частковий програмний комплекс на ЕОМ замовника згідно календарного плану робіт;

акт приймання продукції.

Звітні матеріали подаються у вигляді звітів на папері по ГОСТ 7.32-91.

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

Перелік нормативних документів, що використані під час розробки:

ДСТУ 2873-94. Системи оброблення інформації. Програмування. Терміни та визначення;

ДСТУ 2941-94. Системи оброблення інформації. Розроблення систем. Терміни та визначення;

ДСТУ ISO/IEC 2382-15:2005. Інформаційні технології. Словник термінів. Частина 15. Мови програмування

2. Технічний проект

2.1 Опис обраного підходу

Ідея алгоритму полягає в наступному.

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

Дві кінцеві точки відрізка отримують 4-х бітні коди, які відповідають областям, в які вони потрапили. Значення бітів коду:

0 біт = 1 - точка лівіше прямокутного вікна;

1 біт = 1 - точка правіше прямокутного вікна;

2 біт = 1 - точка вище прямокутного вікна;

3 біт = 1 - точка нижче прямокутного вікна.

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

якщо коди обох кінців відрізка рівні 0 то відрізок цілком всередині вікна, відсікання не потрібне, відрізок при приймається як тривіально видимий;

якщо логічне & кодів обох кінців відрізка не дорівнює нулю, то відрізок цілком поза вікном, відсікання не потрібне, відрізок відкидається як тривіально невидимий;

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

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

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

В цілому схема алгоритму Сазерленда-Коена наступна:

1) Розрахувати коди кінцевих точок відрізка, що відсікається. У циклі повторювати пункти 2-6:

2) Якщо логічне & кодів кінцевих точок не дорівнює 0, то відрізок цілком поза вікном. Він відкидається і відсікання закінчено.

3) Якщо обидва коди дорівнює 0, то відрізок цілком бачимо. Він приймається і відсікання закінчено.

4) Якщо початкова точка всередині вікна, то вона міняється місцями з кінцевою точкою.

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

6) Визначення нового коду початкової точки.

2.2 Блок схема алгоритму

Далі на рисунку 2 представлена схема алгоритму визначення бітового коду будь-якого кінця відрізка.

Рисунок 2.1 _ Схема алгоритму завдання бітового коду будь-якого кінця відрізка

Далі на рисунку 2.2 представлена блок-схема алгоритму відсікання відрізка прямокутним вікном за допомогою алгоритму Сазерленда-Коена.

Рисунок 2.2 _ Схема алгоритму відсікання відрізка прямокутним вікном за допомогою алгоритму Сазерленда-Коена

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

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

Для реалізації програми був використане середовище об'єктно-орієнтованого програмування Delphi 7.0, основа якого - мова Object Pascal. Обрана система програмування дозволяє швидко створювати додатки різного ступеня складності. програмний відсікання інтерфейс користувач

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

Переваги Delphi в порівнянні з аналогічними програмними продуктами:

швидкість розробки програми (RAD);

висока продуктивність розробленого додатка;

низькі вимоги розробленого додатка до ресурсів комп'ютера;

нарощуваність за рахунок вбудовування нових компонент та інструментів у середу Delphi;

можливість розробки нових компонентів та інструментів власними коштами Delphi (існуючі компоненти та інструменти доступні у вихідних кодах);

вдале опрацювання ієрархії об'єктів.

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

Основним конкурентом Borland Delphi 7 є її рідний брат _ RAD-середовищі Borland C ++ Builder, технологія роботи з якої повністю збігається з технологією, прийнятою в Delphi 7. Тільки в Delphi програмний код пишеться мовою програмування Паскаль, точніше його об'єктно-орієнтованою версією ObjectPascal , а не мовою C ++.

Для того щоб обґрунтувати, чому наш вибір зупинився на Borland Delphi 7, досить просто перерахувати деякі недоліки мови С ++ в порівнянні з ObjectPascal:

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

2. Значно більша, порівняно з Object Pascal, складність мови, навіть, незважаючи на компактність коду, виникають складнощі в його сприйнятті.

3. Одна особливість, на наш погляд, мови С ++ дуже псує цю мову _ вона чутлива до регістру символів, тобто змінна A і змінна a _ це різні змінні.

4. У Delphi класи (об'єкти) можуть розташовуватися тільки в динамічної пам'яті, а в C ++ в будь пам'яті (статична, стек, динамічна). Це додає безпеки програмування в Delphi.

3. Робочий проект

3.1 Інструкції програмісту

Проект програмного забезпечення «Відсікання відрізка прямокутним вікном» розроблено в середовищі Delphi 7. Процедури реалізації інтерфейсу користувача описані в модулі Main_unit.pas. Процедури що призначені для реалізації алгоритму відсікання. описані в модулі CutLength.pas.

Структура модуля CutLength

Константи LeftBit=$1; RightBit=$2; AboveBit=$4; BelowBit=$8; призначені для маскування координат кінців відрізка.

Для перевірки коректності введення даних використовується процедура

procedure Check (ast,bst,cst,dst:string; var a,b,c,d:integer; var h:boolean);

яка присвоює логічній змінній h значення true у випадку коректних даних та false, якщо хоч одне з введених чисел введено некоректно. Процедура використовує функцію TryStrToInt(var s string, i integer); стандартного модуля SysUtils.

Процедура Swapping міняє місцями значення двох цілих змінних.

Процедура BitCode визначає бітові коди кінців відрізка (див. блок-схему на рис.2.1).

Процедура Processing здійснює процес відсікання.

Реалізація інтерфейса користувача

Проект містить одну форму Form_main: TForm, яка є головною формою проекту (див. рис. 3.1). На формі розташовані наступні компоненти.

Рисунок 3.1 - Головна форма проекту

Заголовок форми Caption= «Відсікання відрізка прямокутним вікном». Піктограму форми, задану властивістю Icon було розроблено у вбудованому графічному редакторі Tools-Image Editor. Форма має фіксований розмір Height=600, Width=915. За допомогою значення властивості Autosize=True; форма автоматично приймає мінімальний розмір, що дозволяє вмістити всі дочірні компоненти без їх зсуву. Окрім цього, форма втрачає здатність змінювати свій розмір навіть за бажанням користувача. Отже, немає потреби змінювати властивість BorderStyle та керувати видимістю системних кнопок управління вікном.

Розташування форми на екрані після запуску програми задана за допомогою властивості Position= poScreenCenter, що означає «по центру екрана».

Головне меню форми MenuDraw: TMainMenu, структура якого зображена на рисунку 3.2, забезпечує реалізацію всіх функцій програми.

Рисунок 3.2 - Структура головного меню проекту

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

Рисунок 3.3 - Гарячі клавіші, що відповідають командам пунктів меню: а - «Виконати»; б - «Довідка»; в - «Налаштування»

Контейнер зображення Iminitial: TImage призначений для виведення зображення прямокутного вікна відсікання та відрізку, що відсікається цим вікном. Даний компонент визначає робочу область програмного забезпечення, в якій відбуваються всі побудови. Розміри контейнера фіксовані 737 х 394.

З правого боку від робочої області розташовано набір кнопок, що відповідають основним командам меню: ButDraw (Caption=«Відсікання»), ButClearImage (Caption=«Очистити рисунок»), ButClear (Caption=«Очистити координати»), ButClose (Caption=«Вийти»). Дублювання функцій за допомогою кнопок дозволило покращити інтерфейс. Кнопки є об'єктами класу TBitBtn, отже їх призначення демонструють відповідні піктограми, визначені властивістю Kind. Розташування піктограм вгорі над написом задано властивістю Layout= blGlyphTop.

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

Поля введення EdTopLeftX, EdTopLeftY: TEdit призначені для введення або відображення лівої верхньої вершини прямокутного вікна.

Поля введення EdBottomRightX, EdBottomRightY: TEdit призначені для введення або відображення правої нижньої вершини прямокутного вікна.

Поля редагування EdBeginingX, EdBeginingY, EdEndX, EdEndY: TEdit призначені для відображення або введення координат початкової та кінцевої точки відрізка. Всі поля редагування мають відповідні текстові позначки, задані об'єктами класу TLabel.

Невізуальні компоненти ColorBrush, ColorPen: TColorDialog потрібні для реалізації вибору кольору фону робочої області та кольору лінії зображення (див. рис. 3.4).

Компонент RGWayDraw: TRadioGroup призначений для надання користувачеві можливості вибрати спосіб побудови зображення - за допомогою мишки або введення координат. Змінені наступні значення його властивостей:

Caption= «Оберіть спосіб побудови вікна та відрізка»;

Columns=2:

Items= Ввести координати

Зобразити мишкою

Для вибору кольору лінії та фону використані стандартні діалоги вибору кольору - невізуальні компоненти ColorBrush, ColorPen: TColorDialog (див. рис. 3.4).

Рисунок 3.4 - Вікно стандартного діалогу вибору кольору

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

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

3.2 Інструкції користувачеві

Дана програма здійснює відсікання відрізка прямокутним вікном за допомогою алгоритму Сазерленда-Кохена.

Основні функції програми:

зображення прямокутного вікна;

зображення відрізка прямої;

виконання відсікання частини відрізка, яка опинилась за межами вікна;

повідомлення користувача про розташування відрізка відносно вікна;

фіксування координат вершин прямокутного вікна та кінців відрізка при зображенні їх за допомогою мишки;

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

очистка поля зображення та полів введення;

налаштування кольору фону;

налаштування кольору лінії;

налаштування товщини лінії;

отримання довідкової інформації щодо алгоритму відсікання.

Програма призначена для експлуатації на IBM-сумісних персональних комп'ютерах. Для використання програми необхідно мати таку апаратну та програмну конфігурацію:

32- або 64-розрядний процесор архітектури х86 зі швидкодією не менше 533 МГц;

оперативна пам'ять - не менше 500 МБ;

жорсткий диск з обсягом вільного дискового простору не менше 500 МБ;

кольоровий графічний дисплей - 16 млн. кольорів, 800х600 або вище;

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

принтер (у разі необхідності друку результатів);

комп'ютерна миша;

операційна система Microsoft Windows XP, Microsoft Windows 2003 Server, Microsoft Windows Vista або Windows 7.

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

У разі невідповідності ПК цим вимогам коректна робота програми не гарантується.

Для запуску програми двічі клацніть мишкою на файлі «Vidsikannya.exe» (розширення exe може не відображатись). Ніяких додаткових файлів немає і не потрібно.

Спочатку потрібно вибрати спосіб завдання прямокутного вікна і відрізка. Для цього використовуйте перемикач способу завдання координат справа внизу вікна (див. рис. 3.1).

Рисунок 3.1 - Головне вікно програми відсікання відрізка

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

Рисунок 3.2 - Зображення прямокутного вікна та відрізка

Якщо ви вибрали спосіб введення координат за допомогою клавіатури, то введіть необхідні дані у відповідні поля введення. При некоректному вводі програма виведе повідомлення про помилку (рис. 3 3).

Рисунок 3.3 - Повідомлення про некоректність введення

Для відсікання частин відрізка, що вважаються невидимими, тобто залишаються поза вікном натисніть кнопку «Відсікання», або вибрати пункт меню «Виконати»-«Відсікання». Можна скористатись комбінацією «гарячих» клавіш Ctrl+A.

Результати роботи програми з'являться у вигляді інформаційного повідомлення та побудови обробленого зображення (рис. 3.4)

Рисунок 3.4 - Результат виконання команди відсікання

У програмі є можливість очищати поля введення даних шляхом натискання кнопки «Очистити координати» і стерти намальоване зображення шляхом натиснення кнопки «Очистити рисунок».

Програма має меню, за допомогою якого можна здійснювати раніше перераховані дії.

Для завершення роботи програми натисніть кнопку «» або виберіть у меню пункт «Виконати»_«Вихід», можна також скористатись комбінацією клавіш Ctrl+F3.

3.3 План тестування

Розробка тестів

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

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

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

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

Для контрольного прикладу скористаємось аналогом та оберемо наступні вхідні дані:

Координати вершин прямокутного вікна (10;15), (100;15), (100;200), (10;200). Координати кінців відрізка (15;25), (300,150). При заданих значеннях координат пряма частково лежить в прямокутній області, причому перетин прямої з прямокутним вікном відбувається лише в одній точці. Тобто один кінець прямої лежить всередині прямокутної області, а для іншого кінця прямої потрібно знайти перетин зі стороною прямокутника. Після введення таких даних аналогічний програмний продукт дає наступні результати (див. рис. 3.5).

Рис. 3.5 - Результати контрольного прикладу з використанням аналогу:

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

Аналіз результатів

Для виконання тесту було скопійовано програму на робочий диск комп'ютера, який має характеристики, що відображені на рисунку 3.5.

Рис. 3.6 - Властивості комп'ютера для тестування ПП

Запустили програму «Vidsikannya.exe». Обрали спосіб побудови «Ввести координати». Налаштували товщину лінії 3, колір фону сірий, колір лінії темно-синій. Ввели вхідні дані:

координати лівої верхньої вершини (10,15);

координати правої нижньої вершини (100,200);

координати початку відрізка (15,25);

координати кінця відрізка (300,150).

Для отримання результату натиснули кнопку «Відсікання», при повторному експерименті вибрали команду меню «Виконати» «Відсікання», при наступній перевірці скористались комбінацією клавіш Ctrl+A. У всіх трьох тестах отримали однаковий результат, який збігається з результатом, отриманим за допомогою аналогічного програмного забезпечення. Результати тестування зображені на рисунку 3.7.

...

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

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

    дипломная работа [2,5 M], добавлен 26.10.2012

  • Особливості системи онлайн-агрегаторів новин, універсальної програмної платформи Microsoft Window. Використання мови програмування C#, створення бази даних. Розробка програмного продукту, алгоритм його створення. Вихідний код та інструкція користувача.

    дипломная работа [730,9 K], добавлен 21.01.2016

  • Характеристика об’єкта автоматизації, вимоги до системи, склад та зміст системи. Розробка функціональної схеми програмного продукту. Тестування підпрограми програмного продукту. Розробка бази даних та налаштування ECO компонент в Borland Developer Studio.

    практическая работа [1,8 M], добавлен 05.06.2014

  • Об’єктно-орієнтоване програмування мовою С++. Основні принципи об’єктно-орієнтованого програмування. Розробка класів з використанням технології візуального програмування. Розробка класу classProgressBar. Базовий клас font. Методи тестування програми.

    курсовая работа [211,3 K], добавлен 19.08.2010

  • Логарифмічна спіраль у координатній площині та її властивості. Математичне розв’язання задачі на основі теоретичного матеріалу з аналітичної геометрії. Створення Windows-додатка в середовищі візуального програмування Delphi. Розробка алгоритмів процедур.

    курсовая работа [1,4 M], добавлен 30.10.2009

  • Розробка програми для моделювання роботи алгоритму Дейкстри мовою C# з використанням об’єктно-орієнтованих принципів програмування. Алгоритм побудови робочого поля. Програмування графічного інтерфейсу користувача. Тестування програмного забезпечення.

    курсовая работа [991,4 K], добавлен 06.08.2013

  • Концепції об'єктно-орієнтованого програмування. Методи створення класів. Доступ до методів базового класу. Структура даних, функції. Розробка додатку на основі діалогових вікон, програми меню. Засоби розробки програмного забезпечення мовами Java та С++.

    курсовая работа [502,5 K], добавлен 01.04.2016

  • Методи первинної обробки даних - згладжування та характеристика сплайнів. Загальна характеристика об'єктно-орієнтованої мови Java. Принципи побудови графічного інтерфейсу. Розробка алгоритму програми та інтерфейсу користувача програмного продукту.

    дипломная работа [3,3 M], добавлен 10.10.2013

  • Аналіз сучасного стану технологій програмування. Засоби реалізації об'єктів в мові C++, структура даних і функцій. Розробка програмного продукту - гри "трикутники", з використовуванням моделей, класів і функцій об’єктно-орієнтованого програмування.

    курсовая работа [117,8 K], добавлен 14.03.2013

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

    курсовая работа [2,5 M], добавлен 24.12.2011

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

    курсовая работа [1,6 M], добавлен 25.04.2015

  • Розроблення додатка за допомогою об'єктно-орієнтованого візуального проектування Delphi для виконання арифметичних операцій або з використанням меню. Створення інтерфейсу користувача з використанням компонентів SYSTEM і WIN32. Обробка двовимірного масиву.

    методичка [326,1 K], добавлен 13.01.2010

  • Реалізація, за допомогою технології Windows Forms, програми обліку даних про волонтерів та подій, на які вони зареєстровані. можливості об'єктно-орієнтованого програмування. Створення класів. Методи, властивості. Використання Multiple Document Interface.

    курсовая работа [1,5 M], добавлен 02.12.2015

  • Дослідження та аналіз об’єкту програмування. Основні архітектурні риси JavaScript. Переваги CSS розмітки. Структура HTML-документа. Вимоги до апаратного та програмного забезпечення. Опис програми та її алгоритмів. Оцінка вартості програмного продукту.

    дипломная работа [1,0 M], добавлен 01.09.2016

  • Концепції об'єктно-орієнтованого програмування. Спеціалізовані засоби розробки програмного забезпечення мовою Delphi. Загальні питання побудови та використання сучасних систем об’єктно-орієнтованного та візуального проектування програмних засобів.

    курсовая работа [201,4 K], добавлен 01.04.2016

  • Дослідження класифікації автоматизованих інформаційних систем. Обґрунтування вибору мови і системи програмування. Програмне забезпечення та опис компонентів середовища. Інтерфейс програмного комплексу. Розрахунок повної собівартості програмного продукту.

    дипломная работа [584,1 K], добавлен 26.06.2015

  • Основні принципи об’єктно-орієнтованого програмування. Типові середовища програмування та особливості мови С++. Етапи проектування БД. Розробка програмного забезпечення для реалізації створення бази відеофільмів. Основні положення та моделі БД.

    курсовая работа [2,7 M], добавлен 24.03.2011

  • Принципи об'єктно-орієнтованого підходу. Розробка програмного комплексу з використанням цього алгоритму і користувальницьких класів на мові програмування С++. Реалізація простого відкритого успадкування. Тестування працездатності системи класів.

    курсовая работа [98,0 K], добавлен 06.05.2014

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

    курсовая работа [45,8 K], добавлен 06.06.2011

  • Аналіз навігаційних технологій у сучасних AVL системах. Структура системи і вимоги до апаратного забезпечення, розробка алгоритмів функціонування окремих програмних модулів. Вибір мови програмування і СУБД. Тестовий варіант програмного забезпечення.

    дипломная работа [1,8 M], добавлен 17.12.2015

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