Розробка програмного забезпечення

Автор работы: Пользователь скрыл имя, 23 Мая 2015 в 22:59, курсовая работа

Краткое описание

Основними областями використання данного програмного забезпечення будуть звичайні люди або певні організації чи навчальні заклади які хочуть провести оцінку знань своїх співробітників. Тобто є навчальний заклад в якому запланували провести змагання між студентами груп, і по результатах даного змагання студенти отримають певні бонуси та подарунки.
Дана програма торкаючись технічного забезпечення не потребує досить високих характеристик електронно обчислювальної машини.
Для гарної злагодженої роботи достатньо характеристик компьютера:
1. Процессор 1Ггц;
2. Відеокарта 128mb;
3. ОЗУ 256мб та вище;
4. Простору на НDD -50мб;
5. Операційна система Windows 2000-8.

Вложенные файлы: 1 файл

Diplom_zrazok.doc

— 1.27 Мб (Скачать файл)

 

УКР.ЧДБК. 02090213 – 2П-10 – 7

 

 

Міністерство освіти і науки України

Черкаський державний бізнес-коледж

Циклова комісія програмування

 

 

 

 

 

Дипломний проект

молодший спеціаліст

 

 

 

на тему

Розробка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Виконав: студент 4 курсу,

групи 1П-2009

спеціальності 5.05010301 „Розробка програмного забезпечення”

Шульгін В.В.

Керівник

Холупняк Катерина Олександрівна

 

 

 

 

 

 

 

 

 

 

Черкаси - 2013 року

 

АНОТАЦІЯ

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

АННОТАЦИЯ

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

 

ЗМІСТ

 

 

 

 

 

 

 

 

 

 

 

 

 

ВСТУП

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

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

Для гарної злагодженої роботи достатньо характеристик компьютера:

     1. Процессор 1Ггц;

      2. Відеокарта 128mb;

3. ОЗУ 256мб та вище;

          4. Простору  на НDD -50мб;

          5. Операційна  система Windows 2000-8.

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

 

 

1 ОГЛЯД МЕТОДІВ ТА ЗАСОБІВ  РЕАЛІЗАЦІЇ ІНФОРМАЦІЙНОЇ СИСТЕМИ

1.1 Характеристики досліджуваного об’єкта

 

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

 

Тому розглянемо основні з методів, на які будемо опиратись:

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

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

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

3. Безпека (англ. Information Security) — стан інформації, в якому забезпечується збереження визначених політикою безпеки властивостей інформації;

4. Продуктивність (Productivity) (рос. продуктивность, производительность, англ. productivity, production, нім. Produktivität f) — у широкому розумінні — здатність давати продукцію.

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

 

 

1.2 Огляд вже існуючих програмних засобів

 

Онлайн тестування - спосіб оцінки знань, в основі якого використання сучасних інформаційних і телекомунікаційних технологій, що дозволяють зменшити особистий контакт між викладачем та учнем. Існує багато інформаційних систем що реалізую цю ідею частково чи повністю. Серед них потрібно відзначити: Top Coder (система на основі якої проводяться змагання по програмування) , Brainbench (система перевірки теоретичних знань) а також уже існуючу в ЛНУ ім. Івана Франка систему онлайн тестування Testing Monitor.

 

1.2.1 Аналіз IUDICO

 

IUDICO – інформаційна система, що розробляється студентами ЛНУ на кафедрі програмування факультету прикладної математики та інформатики. Її основне призначення – комп’ютеризація навчального процесу. Завдяки цьому зникає суб’єктивний фактор при оцінюванні знань студентів викладачем, так як уся перевірка буде автоматично виконуватися системою.  

Дана система є веб орієнтованою і вся функціональність повинна бути доступною через веб, без необхідності скачування додаткових засобів, встановлення браузерних плагінів, аплетів Java чи ActiveX компонент. Розробка ведеться з використанням технології ASP.NET. 

Умовно реалізовану систему можна класично поділити на три наступні частини (шари, або рівні системи): 

  • Доступ до даних (робота з даними)
  • Бізнес логіка
  • Інтерфейс користувача

 
У даній системі було поставлено за мету максимально ізолювати вказані рівні системи. В основу архітектурного рішення системи було поставлено шаблон проектування MVC(Model-View-Controller). Даний шаблон проектування дає зможу на найбільш наочному рівні розділити три вищезгадані рівні системи. Повертаючись до попереднього розділення системи на три шари модель (Model) представляє шар роботи з даними, Бізнес логіка в системі представлена контролерами (Controllers), а інтерфейс користувача будується на основі Представлення (Views). При цьому два перші рівні (дані і бізнес логіка) ніяк не прив'язані до веб-платформи і в разі потреби може бути легко перенесена на стаціонарну платформу, яка звичайно повинна бути реалізована на .NET Framework. 

 

Рис. 1.1. Схема можливих дій користувача

 

1.2.2 Аналіз TopCoder 

 

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

Типи змагань

  • Алгоритми : учаснику пропонується розв'язати три алгоритмічні задачі за 75 хвилин. Алгоритмічний матч поділяється на 4 фази. Впродовж кодінгу учасники пишуть розв'язки на одній з дозволених мов програмування. Ці розв'язки можна перевірити на кількох доступних прикладах тестів. Якщо учасник вважає, що його розв'язок правильний, то він може здати задачу і отримати за це певну кількість балів. Бали за задачу залежать від її складності та часу, який учасник витратив на розв'язування. Після цієї фази настає перерва. За ці декілька хвилин учасники можуть обговорити задачі чи просто відпочити і підготуватись до останньої фази змагання, де від них ще щось залежить. У сленгу кодерів ця фаза носить ім'я «челендж-фаза». Оскільки розв'язки, відправлені впродовж кодінгу, не перевіряються на повному наборі тестів, то серед них можуть бути неправильні. Основне завдання «челенджу» — пошук таких розв'язків. Учасникам стають доступними для перегляду розв'язки інших. Якщо хтось вважає, що побачив помилку в певному розв'язку, то він може його «челенджити» — перевірити на певному тесті. Якщо розв'язок дасть на тесті правильний результат — 25 балів втратить той, хто «челенджив», в протилежному випадку він отримає додаткові 50 балів, а автор розв'язку втратить всі бали за задачу. Розв'язок, що не проходить «челендж», перестає бути доступним для повторних «челенджів».Остання фаза — системні. Впродовж системних тестів всі розв'язки, помилки в котрих не були виявлені на попередній фазі, перевіряються на максимально повному наборі тестів. Якщо розв'язок дає результат, що не збігається з правильним, хоч на одному тесті — його автор втрачає всі бали за дану задачу.
  • Марафон : на відміну від попереднього типу змагань, учаснику пропонується розв'язати одну, значно складнішу задачу. Тривалість змагання істотно довша — як правило 1-2 тижні. В більшості випадків, задача передбачає евристичне рішення, яке не може бути єдиноправильним.
  • Концептуалізація : учасник працює із замовниками програмного забезпечення з метою створення бізнес-вимог для аплікації.
  • Специфікація: учасник із документів, отриманих від клієнта і змагань з концептуалізації, створює формальну TopCoder Requirements Specifications документацію.
  • Архітектура : учасник, отримавши всю потрібну документацію з ранніх змагань, створює архітектуру аплікації. Під час цього виду змагань іде виділення функціональних блоків (компонент) додатку, що дає можливість проводити паралельні змагання по кожній з компонент.
  • Дизайн: учасники створюють дизайн компоненти, продюсуючи потрібні UML-діаграми та специфікацію компоненти. Переможець змагань, як правило, надає інформаційну підтримку учасникам наступного етапу — девелопменту.
  • Девелопмент : учасник розробляє компоненту згідно з отриманою документацією від дизайнера.
  • Зведення : на даному етапі відбувається зведення аплікації учасниками згідно з архітектурою, використовуючи вже готові компоненти із проведених змагань.
  • Тестування: учасникам ставиться завдання, яке полягає у тестуванні розробленого додатку.
  • Виловлення помилок : Швидкі змагання для виправлення помилок, знайдених у готових продуктах. На відміну від інших типів змагань, виграє той, хто зробить швидше за інших і вірно.

 

Рис. 1.2. Робоче вікно TopCoder 

 

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

 

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

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

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

Вимоги до апаратного забезпечення: персональний комп’ютер на базі процесора IntelPentium (або сумісного).

Вимоги до операційної системи: WindowsXP/Vista/7/8.

Вхідні дані:графічні елементи , щовідповідають нормам .

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

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

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

 

2 ПРОЕКТУВАННЯ ТА РОЗРОБКА ПРОГРАМНОГО КОМПЛЕКСУ

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

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

 

2.1 Аналіз вимог до програмного продукту

 

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

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

  1. Максимальна контрасність між текстом та фоном зображення ;
  2. Літери повинні буту написани чітко і без  наклонів у сторони;
  3. .Також вітаеться невелика відстань між літерами.

 

2.2 Аналіз попіксельного методу  розпізнавання

 

У нашому проекті буде використовуватись найпростіший метод порівняння — попіксельно. Суть — почергове порівняння двох відповідних пікселів двох чорно-білих картинок. Оскільки два пікселя повинні бути відповідними, то картинки повинні бути однакові за розміром.

 Порівняння дуже довгий алгоритм, тому потрібно оптимізувати роботу нашої програми на порівняння не двох картинок скажімо 100х100 пікселів (10 000 операцій порівняння), а щось менше, але все також актуальне (порівнюючи картинки 8х8 пікселів, розрізнити в них букву досить складно навіть людині, тому, чим більше пікселів буде взято, тим більше вірогідність правильності розпізнавання і тим більший час вимагає даний алгоритм). Експериментальним шляхом було обрано оптимальний розмір — 16х16 пікселів. Але перед зміною розміру необхідний ще знайти те, що буде змінюватись.

Всі розрахунки будуть спиратись в суто математичний характер

формули (2.1) – обрахунок у лічильник.

                                                                                        (2.1)

 

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

Значення, отримане в результаті порівняння, отримало назву «відстань Хеммінга».

Потім формуємо масив результатів обчислень по цій формулі для різних порівнянь (наша картинка з усіма еталонами). Беремо максимальне значення масиву і відповідний йому символ. Що і буде нашим результатом в кінці обрахувань.

 

2.2.1 Заповнення масиву образами

 

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

У коді програми цей процем занесення символу у масив програми віглядає наступним чином :

Var

myarray:array of record //задамо наш масив

  ch:char; //символ

bmp:TBitmap; //належне йому зображення

Информация о работе Розробка програмного забезпечення