Інтерактивна система 'проектор-лектор'

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Украинский
    ,
    Формат файла:
    MS Word
    233,81 Кб
  • Опубликовано:
    2016-05-21
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Інтерактивна система 'проектор-лектор'

Анотація

програмний інтерфейс проектор лектор

Пояснювальна записка до курсової роботи на тему «інтерактивна система "проектор-лектор"» складається з вступу, двох основних розділів, висновків, списку літератури та додатку.

Програмний продукт здійснює формування інтерактивної системи «лектоор-проектор».

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

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

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

У висновках підведені підсумки виконання курсової роботи.

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

В додатку наведений текст програмного продукту.

 

Вступ


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

Застосування мультимедійних засобів на заняттях дозволяє підвищити не тільки інтерес до майбутньої спеціальності, але і успішність по даній дисципліні. Навчальні комп’ютерні програми і електронні підручники дають можливість кожному студенту незалежно від рівня його підготовки брати активну участь у навчальному процесі, індивідуалізувати свій процес навчання, здійснювати самоконтроль. Бути не пасивним спостерігачем, а активно одержувати знання і оцінювати свої можливості. Інтерактивна система «лектор-проектор» має сучасний дизайн і відповідає ергономічним вимогам до комп'ютерних засобів навчання, допомагає викладачам чітко сформувати структуру уроку і доцільно викласти навчальний матеріал. Перше, це можливість включати в них сучасні (у тому числі мультимедійні) способи подання інформації, у вигляді навчальних програм, що використовують у тому числі засоби анімації. Друге, можливість включати інтерактивні засоби контролю знань для перевірки, у тому числі і для самоперевірки, і третє, при сьогоднішньому складному стані з підручниками, електронну версію легко "скинути" на диск або флешку і користуватися ним на домашньому комп'ютері. Якщо при цьому підручник покласти на сервер, то до нього може бути забезпечений необмежений доступ. Студенти починають одержувати задоволення від самого процесу навчання, незалежно від зовнішніх мотиваційних факторів. Цьому сприяє і той факт, що при застосуванні інформаційних технологій на заняттях з іноземної мови комп'ютеру на час передані окремі функції викладача. А комп'ютер може виступити в ролі терплячого педагога - репетитора, що здатний показати помилку і дати правильну відповідь, і повторювати завдання знову і знову, не виражаючи при цьому ні роздратування, ні досади.

У наш час до інтерактивних систем пред'являються наступні вимоги:

·              Структурованість;

·              Зручність в обігу;

·              Наочність викладеного матеріалу.

Основними завданнями інтерактивної системи є:

·        Подання інформації з певного предмета в цифровому вигляді

·        Полегшення пошуку і засвоєнню інформації з лекційних матеріалів

·        Полегшення ведення занять

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

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

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

Структура курсової роботи. Курсова робота складається з вступу, двох основних розділів, висновків, списку використаних джерел та літератури та додатку.

 

1. Технічне завдання

 

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


Програмний продукт призначений для формування інтерактивної системи «лектор-проектор». Дана система повинна опомагати вчителю підготуватися до лекції. Здійснюватись це повинно наступним чином:

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

.        Налаштовує порядок і час відображення певного файлу

.        Система автоматично відображає файл в заданий користувачем час

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

 

.2 Функціональні вимоги до програмного продукту


Програмний продукт повинен виконувати такі функціональні задачі:

·        Завантаження файлів в програму

·        Формування заняття

·        Можливість задавати проміжки часу для відкриття файлів

·        Сортування файлів по відповідним полям:

-           Номер

-           Тема

-           Предмет

-           Час

·        Відображення лекційного матеріалу.

1.3 Кваліфікаційні вимоги до програмного продукту


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

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

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

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

-       Головне меню для вибору та виконання функціональних задач;

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

-       Введення часу відкриття

-       Відображення матеріалів;

 

1.4 Вимоги до умов експлуатації програмного продукту


Реалізація програмного продукту повинна здійснюватись в інтегрованому середовищі програмування netbeans 8.1.

Програмний продукт повинен бути виконаний у вигляді додатку та функціонувати в операційній системі windows xp на будь-яких комп’ютерах.

В разі відсутності потреби в модифікації програмного продукту середовище програмування netbeans 8.1 може бути відсутніми на комп’ютері.

Встановлення програмного продукту на комп’ютер повинно здійснюватися шляхом копіювання папки з exe-файлом.

 

2. Документи техно-робочого проекту

 

2.1 Інформаційне забезпечення програмного продукту


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

 

.2 Структура програмного продукту


До складу програмного продукту входять модулі main.java, dovidka.java, які містять:

-       Реалізації подій стандартних компонентів інтегрованого середовища netbeans, використаних під час візуального проектування програмного продукту;

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

Тексти програмних модулів наведені в додатку a.

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

Таблиця 1. Склад та призначення програмних компонентів модуля unit1.cpp Головний модуль

Процедура

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

1

Private void jmenuitem1actionperformed(java.awt.event.actionevent evt)

Завантаження файлів

2

Private void jmenuitem2actionperformed(java.awt.event.actionevent evt))

Вихід з програми

3

 private void formwindowopened(java.awt.event.windowevent evt)

Відкриття головного вікна

Private void jbutton1actionperformed(java.awt.event.actionevent evt)

Запуск інтерактивної системи

5

Private void jmenu2mouseclicked(java.awt.event.mouseevent evt)

Відкриття вікна довідки

6

Public static void main(string args[])

Головна функція прогами

7

Public void run()

Функція, яка запускає таймер

3.Опис компонентів програми і створення проекту

 

3.1 Опис компонентів програми


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

.наша програма буде створюватись на основі мви програмування високого рівня java, використовуючи компоненти java swing/

Java (вимовляється джава; інколи - ява) - об'єктно-орієнтована <https://uk.wikipedia.org/wiki/%D0%9E%D0%B1%27%D1%94%D0%BA%D1%82%D0%BD%D0%BE-%D0%BE%D1%80%D1%96%D1%94%D0%BD%D1%82%D0%BE%D0%B2%D0%B0%D0%BD%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F>мова програмування <https://uk.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B2%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F>, випущена компанією sun microsystems <https://uk.wikipedia.org/wiki/Sun_Microsystems> у1995 <https://uk.wikipedia.org/wiki/1995> році як основний компонент платформи java <https://uk.wikipedia.org/wiki/%D0%9F%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D0%B0_Java>. Зараз мовою займається компанія oracle <https://uk.wikipedia.org/wiki/Oracle_Corporation>, яка придбала sun microsystems <https://uk.wikipedia.org/wiki/Sun_Microsystems> у2009 <https://uk.wikipedia.org/wiki/2009> році. Синтаксис мови багато в чому схожий на <https://uk.wikipedia.org/wiki/C_(%D0%BC%D0%BE%D0%B2%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F)> та c++ <https://uk.wikipedia.org/wiki/C%2B%2B>. У офіційній реалізації java-програми компілюються <https://uk.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D1%96%D0%BB%D1%8F%D1%82%D0%BE%D1%80> у байт-код <https://uk.wikipedia.org/wiki/%D0%91%D0%B0%D0%B9%D1%82-%D0%BA%D0%BE%D0%B4>, який при виконанні інтерпретується віртуальною машиною <https://uk.wikipedia.org/wiki/%D0%92%D1%96%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0_%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D0%B0_Java> для конкретної платформи.надає компілятор java та віртуальну машину java <https://uk.wikipedia.org/wiki/%D0%92%D1%96%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0_%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D0%B0_Java>, які задовольняють специфікації java community process <https://uk.wikipedia.org/wiki/Java_Community_Process>, під ліцензією gnu general public license <https://uk.wikipedia.org/wiki/GNU_General_Public_License>.

Мова значно запозичила синтаксис із <https://uk.wikipedia.org/wiki/C_(%D0%BC%D0%BE%D0%B2%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F)> і c++ <https://uk.wikipedia.org/wiki/C%2B%2B>. Зокрема, взято за основу об'єктну модель с++, проте її модифіковано. Усунуто можливість появи деяких конфліктних ситуацій, що могли виникнути через помилки програміста та полегшено сам процес розробки об'єктно-орієнтованих програм. Ряд дій, які в с/c++ повинні здійснювати програмісти, доручено віртуальній машині. Передусім java розроблялась як платформо-незалежна мова, тому вона має менше низькорівневих можливостей для роботи з апаратним забезпеченням. За необхідності таких дій java дозволяє викликати підпрограми, написані іншими мовами програмування- інструментарій для створення графічного інтерфейсу користувача (gui <https://uk.wikipedia.org/wiki/GUI>) мовою програмування java <https://uk.wikipedia.org/wiki/Java>. Це частина бібліотеки базових класів java <https://uk.wikipedia.org/w/index.php?title=JFC&action=edit&redlink=1> (jfc, java foundation classes).розробляли для забезпечення функціональнішого набору програмних компонентів для створення графічного інтерфейсу користувача <https://uk.wikipedia.org/wiki/%D0%93%D1%80%D0%B0%D1%84%D1%96%D1%87%D0%BD%D0%B8%D0%B9_%D1%96%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81_%D0%BA%D0%BE%D1%80%D0%B8%D1%81%D1%82%D1%83%D0%B2%D0%B0%D1%87%D0%B0>, ніж у ранішого інструментарію awt <https://uk.wikipedia.org/wiki/AWT>. Компоненти swing підтримують специфічні look-and-feel <https://en.wikipedia.org/wiki/Look_and_feel>модулі, що динамічно підключаються. Завдяки ним можлива емуляція графічного інтерфейсу платформи (тобто до компоненту можна динамічно підключити інші, специфічні для даної операційної системи вигляд і поведінку). Основним недоліком таких компонентів є відносно повільна робота, хоча останнім часом це не вдалося підтвердити через зростання потужності персональних комп'ютерів. Позитивна сторона - універсальність інтерфейсу створених програм на всіх платформах

Опишемо основні компоненти java swing, що будуть використовуватись в нашій програмі:

1.      Мітки

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

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

Import javax.swing.icon;javax.swing.imageicon;javax.swing.jframe;javax.swing.jlabel;javax.swing.jpanel;javax.swing.swingconstants;class labels {static void main(string[] args) {frame = new labelframe();.setsize(150, 200);.setdefaultcloseoperation(jframe.exit_on_close);.setvisible(true);

}

}labelframe extends jframe{

//створюємо панельpanel=new jpanel();(){

// вирівнювання за замовчуванням (center)label1 = new jlabel("багато левів, ");

// вирівнювання влівоlabel2 = new jlabel("тигрів з тигрицями", swingconstants.left);

// мітка без тексту, вирівнювання за замовчуваннямlabel3 = new jlabel();

// створюємо іконку

icon icon = new imageicon("icon.gif");

// створюємо мітку із зображеннямlabel4 = new jlabel(icon);

// задаємо текст для label3.settext("і ведмедів");

// встановлюємо вирівнювання.sethorizontalalignment(swingconstants.right);

//додаємо мітки в панель.add(label1);.add(label2);.add(label3);.add(label4);

//додаємо панель у фрейм

this.add(panel);

}

}

2.      Кнопки

Кнопки вже застосовувалися раніше у прикладах. У swing їх реалізовує компонент jbutton. Кнопка генерує подію actionevent, коли на неї натискають. Щоб обробити цю подію в програмі реєструється відповідний обробник actionlistener, який повинен реалізовувати метод actionperformed(). Метод actionperformed отримує в якості аргумента подію, що відбулася. Крім мітки на кнопці може бути розміщене зображення. Клас jbutton має відповідний конструктор для задання напису, зображення або обох зразу. Завантаження зображення здійснює зручний у використанні клас imageicon. Наступний приклад демонструє створення кнопки із зображенням та обробки події натиснення кнопки.

java.awt.flowlayout;java.awt.event.actionevent;java.awt.event.actionlistener;javax.swing.icon;javax.swing.imageicon;javax.swing.jbutton;javax.swing.jframe;javax.swing.jlabel;class picturebutton {static void main(string[] args) {frame = new buttonframe();.setsize(300, 100);.setdefaultcloseoperation(jframe.exit_on_close);.setvisible(true);

}

}buttonframe extends jframe{label=new jlabel();i=0;(){icon = new imageicon("icon.gif");button = new jbutton(icon);

// додаємо обробник подій, що визначається у внутрішньому класі.addactionlistener(new actionlistener( ) {void actionperformed(actionevent ae) {++;.settext("натиснуто разів: "+ i);

}

});

//встанолюємо менеджер розташування(new flowlayout( ));(button);(label);

}

}

3.      Таблиця

Дуже часто виникає необхідність в додатках показати дані у вигляді таблиці з певною кількістю рядків і стовпців. У java swing для відображення табличних даних використовується комопнент jtable. Jtable всередині себе не містить дані, а служить тільки для їх відображення.

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

Існує кілька способів того, як сказати jtable, які дані і стовпці відображувати. Тут ми розглянемо найпростіший спосіб. Для початку визначимо, які стобци ми хочемо показувати в таблиці. Для прикладу я взяв стовпці провідника windows - name (ім'я файлу або папки), last modified (дата останньої модифікації), type (тип) і size (розмір).

Створення проекту

Розібравшись з основними компонентами нашої майбутньої програми можна приступити до її програмування. Як було сказано вище програма буде створюватись за допомогою мови програмування java. Середовище для програмування було використано netbeans ide 8.1. Для початку програмування потрібно запустити дане середовище і за допомогою вкладок файл-> cоздать проекти, створити новий прект. Після вибраних дій перед нами з'явиться вікно де ми вибираєм приложение java. Після цього перед нами відкриється середовище програмуваня де ми можемо вводити код програми(див рис 4.2.1). Лістинг програми наведений у додатку а

Рис.3.2.1 вікно середовища програмування netbeans ide 8.1

4.Опис програми і тестування програми


4.1 Опис програми. Тестовий запуск


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

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

Рис.4.1.1. Головне вікно програми

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

Рис.4.1.2. Вікно завантаження нового файлу

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

Рис.4.1.3. Вікно програми із завантаженими файлами

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

Рис.4.1.4. Вікно cортування даних

Як ми бачимо у нас змінився порядок розташування рядків. Отже сортування даних спрацювало. Тепер щоб наша програма працювала і слідкувала за часом та відкривала файли потрібно запустити таймер. Для цього необхідно натиснути кнопку «запустити». Після цього з’явиться вікно з попередженням, що інтерактивна система «лектор-проектор» запущена(див рис.4.1.5).

Рис.4.1.5. Вікно-повідомлення


Рис.4.1.6. Вікно-довідка

Після завершення роботи з програмою натискаємо кнопку файл->вийти і виходимо з прогами.

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

 

.2 Тестування програмного продукту та його результати


Тестування програмного забезпечення (англ. <https://uk.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D1%96%D0%B9%D1%81%D1%8C%D0%BA%D0%B0_%D0%BC%D0%BE%D0%B2%D0%B0> Software testing) - це процес технічного дослідження, призначений для виявлення інформації про якість продукту відносно контексту, в якому він має використовуватись. Техніка тестування також включає як процес пошуку помилок <https://uk.wikipedia.org/wiki/%D0%91%D0%B0%D2%91> або інших дефектів, так і випробування програмних складових з метою оцінки. Може оцінюватись:

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

·              Правильна відповідь для усіх можливих вхідних даних

·              Виконання функцій за прийнятний час

·              Практичність

·              Сумісність з програмним забезпеченням та операційними системами

·              Відповідність задачам замовника.

Оскільки число можливих тестів навіть для нескладних програмних компонент практично нескінченне, тому стратегія тестування полягає в тому, щоб провести всі можливі тести з урахуванням наявного часу та ресурсів. Як результат програмне забезпечення (пз) тестується стандартним виконанням програми з метою виявлення баґів <https://uk.wikipedia.org/wiki/%D0%91%D0%B0%D2%91> (помилок або інших дефектів).

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

Тестування може проводитись, як тільки створено виконуваний код (навіть частково завершено). Процес розробки <https://uk.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%BB%D0%BE%D0%B3%D1%96%D1%8F_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F> зазвичай передбачає коли та як буде відбуватися тестування. Наприклад, при поетапному процесі, більшість тестів відбувається після визначення системних вимог і тоді вони реалізуються в тестових програмах. На противагу цьому, відповідно до вимог гнучкої розробки пз <https://uk.wikipedia.org/wiki/%D0%93%D0%BD%D1%83%D1%87%D0%BA%D0%B0_%D1%80%D0%BE%D0%B7%D1%80%D0%BE%D0%B1%D0%BA%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B7%D0%B0%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8F>, програмування і тестування часто відбувається одночасно.

Тестування - це одна з технік контролю якості, що включає в себе

·              Планування робіт (test management)

·              Проектування тестів (test design)

·              Виконання тестування (test execution)

·              Аналіз отриманих результатів (test analysis).

верифікація (verification) <https://uk.wikipedia.org/wiki/%D0%92%D0%B5%D1%80%D0%B8%D1%84%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%8F_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B7%D0%B0%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8F> - це процес оцінки системи або її компонентів з метою визначити чи задовольняють результати поточного етапу розробки умовам, сформованим на початку цього етапу. Тобто чи виконуються цілі, терміни, завдання з розробки проекту, визначені на початку поточної фази. Валідація (validation) <https://uk.wikipedia.org/wiki/%D0%92%D0%B0%D0%BB%D1%96%D0%B4%D0%B0%D1%86%D1%96%D1%8F_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B7%D0%B0%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8F> - це визначення відповідності розроблюваного програмного забезпечення між очікуваннями і потребами користувача, вимогам до системи.

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

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

Тестовий випадок (test case) - це документ, що описує сукупність кроків, конкретних умов і параметрів, необхідних для перевірки реалізації тестованої функції або її частини.

Баг/дефект репорт (bug report) - це документ, що описує ситуацію або послідовність дій (steps), що призвела до некоректної роботи об'єкта тестування (misbehavior), із зазначенням причин та очікуваного результату (expected result).

Тестове покриття (test coverage) - це одна з метрик оцінки якості тестування, що представляє із себе щільність покриття тестами вимог або коду, що виконується.

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

Час проходження тест кейса (test case pass time) - це час від початку проходження кроків тест кейса до отримання результату тесту.

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

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

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

-       Перевірка виконання критеріїв безпеки;

-       Доведення його працездатності, стійкого виконання та коректного завершення всіх операцій незалежно від дій користувача.

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

.        Контроль коректності керування станом інтерфейсу головного вікна.

.        Контроль коректності відображення лекційного матеріалу.

.        Контроль коректності формування уроку.

.        Контроль коректності відображення результатів уроку

.        Контроль коректності моніторингу під керуванням користувача.

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

 

Висновки


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

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

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

Додаток

 

Лістинг main форми

Import static com.sun.xml.internal.fastinfoset.alphabet.builtinrestrictedalphabets.table;java.io.file;java.sql.connection;java.sql.resultset;java.sql.statement;java.text.dateformat;java.text.simpledateformat;java.util.date;java.util.timer;java.util.timertask;javax.swing.table.defaulttablemodel;javax.swing.jfilechooser;javax.swing.joptionpane;javax.swing.rowsorter;javax.swing.table.tablemodel;javax.swing.table.tablerowsorter;class main extends javax.swing.jframe {i;rowcount;connection;stmt;rs;model = new defaulttablemodel();[] row = new object[6];main() {();

}

@suppresswarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="generated code"> void initcomponents() {= new javax.swing.jfilechooser();= new javax.swing.jscrollpane();= new javax.swing.jtable();= new javax.swing.jbutton();= new javax.swing.jmenubar();= new javax.swing.jmenu();= new javax.swing.jmenuitem();= new javax.swing.jmenuitem();= new javax.swing.jmenu();.setname("filechooser"); // noi18n(javax.swing.windowconstants.exit_on_close);(new java.awt.event.windowadapter() {void windowopened(java.awt.event.windowevent evt) {(evt);

}

});.setmodel(new javax.swing.table.defaulttablemodel(object [][] {

{null, null, null, null},

{null, null, null, null},

{null, null, null, null},

{null, null, null, null}

},string [] {

"title 1", "title 2", "title 3", "title 4"

}

));.setviewportview(jtable1);.settext("запустити");.settooltiptext("");.addactionlistener(new java.awt.event.actionlistener() {void actionperformed(java.awt.event.actionevent evt) {actionperformed(evt);

}

});.settext("файл");.settext("додоти файл");.addactionlistener(new java.awt.event.actionlistener() {void actionperformed(java.awt.event.actionevent evt) {actionperformed(evt);

}

});.add(jmenuitem1);.settext("вийти");.addactionlistener(new java.awt.event.actionlistener() {void actionperformed(java.awt.event.actionevent evt) {actionperformed(evt);

}

});.add(jmenuitem2);.add(jmenu1);.settext("довідка");.addmouselistener(new java.awt.event.mouseadapter() {void mouseclicked(java.awt.event.mouseevent evt) {mouseclicked(evt);

}

});.addactionlistener(new java.awt.event.actionlistener() {void actionperformed(java.awt.event.actionevent evt) {actionperformed(evt);

}

});.add(jmenu2);(jmenubar1);.swing.grouplayout layout = new javax.swing.grouplayout(getcontentpane());().setlayout(layout);.sethorizontalgroup(.createparallelgroup(javax.swing.grouplayout.alignment.leading)

.addcomponent(jscrollpane1, javax.swing.grouplayout.default_size, 537, short.max_value)

.addgroup(javax.swing.grouplayout.alignment.trailing, layout.createsequentialgroup()

.addcontainergap(javax.swing.grouplayout.default_size, short.max_value)

.addcontainergap())

);.setverticalgroup(.createparallelgroup(javax.swing.grouplayout.alignment.leading)

.addgroup(javax.swing.grouplayout.alignment.trailing, layout.createsequentialgroup()

.addcomponent(jscrollpane1, javax.swing.grouplayout.default_size, 357, short.max_value)

.addpreferredgap(javax.swing.layoutstyle.componentplacement.related)

.addcomponent(jbutton1))

);();

}// </editor-fold>

void jmenuitem1actionperformed(java.awt.event.actionevent evt) { returnval = filechooser.showopendialog(this);(returnval == jfilechooser.approve_option) {file = filechooser.getselectedfile();path=file.getabsolutepath();name= filechooser.getname(filechooser.getselectedfile());=path.replaceall("\\\\", "\\\\\\\\");++;[2]=path;[1]=name;.addrow(row);

}

} void jmenuitem2actionperformed(java.awt.event.actionevent evt) { .exit(0); // todo add your handling code here:

} void formwindowopened(java.awt.event.windowevent evt) { [] columns ={"номер","назва","шлях","предмет","тема","час"};.setcolumnidentifiers(columns);.jtable1.setmodel(model);<tablemodel> sorter = new tablerowsorter<tablemodel>(model);.jtable1.setrowsorter(sorter);// todo add your handling code here:

} void jmenu2actionperformed(java.awt.event.actionevent evt) {

// todo add your handling code here:

} void jbutton1actionperformed(java.awt.event.actionevent evt) { .showmessagedialog(null, "інтерактивна система\"лектор-проектор\" - запущена");timer time = new timer();.schedule(new timertask() {i = 0;j=0;

@overridevoid run() { //перезагружаем метод run в котором делаете то что вам надо= model.getrowcount(); .out.println(rowcount);now = new date();formatter = new simpledateformat("hh:mm:ss");time = formatter.format(now);.out.println(time);(j<rowcount){strpath = model.getvalueat(j, 2).tostring();strtime = model.getvalueat(j, 5).tostring();.out.println(strpath);(time.contains(strtime)){{.getruntime().exec("rundll32 url.dll, fileprotocolhandler "+strpath);.out.println("файл відкрито");

} catch (exception e)

{.showmessagedialog(null, "error");

} ++;;

}

}= i + 1;

}

}, 1000, 1000);

// todo add your handling code here:

} void jmenu2mouseclicked(java.awt.event.mouseevent evt) { dovidka().setvisible(true); // todo add your handling code here:

}

/**

* @param args the command line arguments

*/static void main(string args[]) {

/* set the nimbus look and feel */

//<editor-fold defaultstate="collapsed" desc=" look and feel setting code (optional) ">

/* if nimbus (introduced in java se 6) is not available, stay with the default look and feel.

* for details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/{(javax.swing.uimanager.lookandfeelinfo info : javax.swing.uimanager.getinstalledlookandfeels()) {("nimbus".equals(info.getname())) {.swing.uimanager.setlookandfeel(info.getclassname());;

}

}

} catch (classnotfoundexception ex) {.util.logging.logger.getlogger(main.class.getname()).log(java.util.logging.level.severe, null, ex);

} catch (instantiationexception ex) {.util.logging.logger.getlogger(main.class.getname()).log(java.util.logging.level.severe, null, ex);

} catch (illegalaccessexception ex) {.util.logging.logger.getlogger(main.class.getname()).log(java.util.logging.level.severe, null, ex);

} catch (javax.swing.unsupportedlookandfeelexception ex) {.util.logging.logger.getlogger(main.class.getname()).log(java.util.logging.level.severe, null, ex);

}

//</editor-fold>

//</editor-fold>

/* create and display the form */.awt.eventqueue.invokelater(new runnable() {void run() {main().setvisible(true);

}

});

}

// variables declaration - do not modify javax.swing.jfilechooser filechooser;javax.swing.jbutton jbutton1;javax.swing.jmenu jmenu1;javax.swing.jmenu jmenu2;javax.swing.jmenubar jmenubar1;javax.swing.jmenuitem jmenuitem1;javax.swing.jmenuitem jmenuitem2;javax.swing.jscrollpane jscrollpane1;javax.swing.jtable jtable1;

// end of variables declaration

}

Похожие работы на - Інтерактивна система 'проектор-лектор'

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!