Веб-система тестування знань з мови SQL

Розробка автоматизованої інформаційної системи тестування запитів до бази даних що базується на інструментах розробки веб-застосувань на платформі .NET, протоколу передачі даних HTTP, фреймворку ASP.NET MVC для створення веб-застосунків декількох СУБД.

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

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

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

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

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

Харківський національний університет радіоелектроніки

АТЕСТАЦІЙНА РОБОТА (ПРОЕКТ)

Веб-система тестування знань з мови SQL

2016 р.

ВСТУП

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

Інформаційні технології - вельми широке визначення, під яке потрапляє ряд окремих технічних засобів і прийомів роботи з інформацією. Дедалі більшої популярності набувають веб-системи. Такі системи мають певні переваги, а саме: доступність за рахунок мережі Internet, швидкість розповсюдження, менші вимоги до пам'яті комп'ютерів та іншої техніки, і т.д. Для даної роботи ці переваги мають ключове значення, тому була обрана саме веб-система тестування запитів до бази даних. До того ж веб-система дозволяє використовувати більшу кількість СУБД, як наприклад, найбільш популярні - MS SQL Server [1] та Oracle.

На сьогоднішній день підготовка фахівців в напрямку комп'ютерних наук практично неможлива без вивчення різних СУБД і написання запитів до бази даних. Запити відрізняються в залежності від використовуваних СУБД, також виділяють запити, які впливають на дані, а не просто зчитують. Таким чином дана система буде задовольняти вимогам до підготовки і тестування студентів для швидшого вивчення основних запитів до бази даних та використання мови SQL для цих запитів.

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

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

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

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

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

1. АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ та постановка задачі

1.1 Аналіз предметної області

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

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

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

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

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

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

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

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

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

До предметної області також відноситься мова запитів - SQL. SQL (англ. Structured query language -- мова структурованих запитів) -- декларативна мова програмування для взаємодії користувача з базами даних, що застосовується для формування запитів, оновлення і керування реляційними БД, створення схеми бази даних і її модифікації, системи контролю за доступом до бази даних. Сам по собі SQL не є ні системою керування базами даних, ні окремим програмним продуктом. SQL може формувати інтерактивні запити або, бувши вбудованою в прикладні програми, виступати в якості інструкцій для керування даними. Стандарт SQL, крім того, вміщує функції для визначення зміни, перевірки і захисту даних.

SQL -- це діалогова мова програмування для здійснення запиту і внесення змін до бази даних, а також управління базами даних [1]. Багато баз даних підтримує SQL з розширеннями до стандартної мови. Ядро SQL формує командна мова, яка дозволяє здійснювати пошук, вставку, оновлення, і вилучення даних, використовуючи систему управління і адміністративні функції.

Microsoft SQL Server -- комерційна система керування базами даних, що розповсюджується корпорацією Microsoft [9]. Мова, що використовується для запитів -- Transact-SQL, створена спільно Microsoft та Sybase. Transact-SQL є реалізацією стандарту ANSI/ISO щодо структурованої мови запитів (SQL) із розширеннями. Microsoft SQL Server як мову запитів використовує версію SQL, що отримала назву TRANSACT-SQL (скорочено T-SQL), яка є реалізацією SQL-92 (стандарт ISO для SQL) з багатьма розширеннями. T-SQL дозволяє використовувати додатковий синтаксис процедур, що зберігаються і забезпечує підтримку транзакцій (взаємодія бази даних з керуючим застосунком). Microsoft SQL Server та Sybase ASE для взаємодії з мережею використовують протокол рівня застосунка під назвою Tabular Data Stream (TDS, протокол передачі табличних даних).

Microsoft SQL Server також підтримує Open Database Connectivity (ODBC) -- інтерфейс взаємодії застосунків з СУБД. Версія SQL Server 2005 надає можливість підключення користувачів через веб-сервер-сервіси, що використовують протокол SOAP. Це дозволяє клієнтським програмам, не призначеним для Windows, кроссплатформенно з'єднуватися з SQL Server. Microsoft також випустила сертифікований драйвер JDBC, що дозволяє застосункам під керування Java (таким як BEA і IBM Websphere) з'єднуватися з Microsoft SQL Server 2000 і 2005.

SQL Server підтримує дзеркалювання та кластеризацію баз даних. Кластер серверу SQL -- це сукупність однаково конфігурованих серверів; така схема допомагає розподілити робоче навантаження між декількома серверами. Усі сервери мають одне віртуальне ім'я, а дані розподіляються за IP-адресами машин кластеру протягом робочого циклу. Також у разі відмови або збою на одному з серверів кластеру доступне автоматичне перенесення навантаження на інший сервер.

SQL Server підтримує надлишкове дублювання даних за трьома сценаріями: знімок, історія змін, синхронізація з іншими серверами.

SQL Server 2005 має вбудовану підтримку .NET Framework. Завдяки цьому, процедури бази даних, що зберігаються, можуть бути написані на будь-якій мові платформи .NET з використанням повного набору бібліотек, доступних для .NET Framework. На відміну від інших процесів, .NET Framework виділяє додаткову пам'ять і будує засоби керування SQL Server, не використовуючи вбудовані засоби Windows. Це підвищує продуктивність порівняно із загальними алгоритмами Windows, оскільки алгоритми розподілу ресурсів спеціально налагоджені для використання у структурах SQL Server.

СУБД Oracle - це сучасна система управління реляційними базами даних, що підтримує роботу в різних операційних середовищах. Система Oracle реалізує найсучасніші технології і підтримує багато можливостей, що дозволяє характеризувати її як досить потужну систему. Архітектура СУБД Oracle [3] включає дві важливих частини - ядро, яке є програмним забезпеченням, і словник даних, який складається з структур даних системного рівня, які використовуються ядром, керуючим базою даних. СУБД можна розглядати як операційну систему, розроблену спеціально для управління доступом до даних; її основні функції - зберігання, вибірка та забезпечення безпеки даних. Подібно операційній системі СУБД Oracle управляє доступом одночасно працюючих користувачів БД до деякого набору ресурсів. Підсистеми СУБД дуже схожі з відповідними підсистемами операційної системи і сильно інтегровані з сервісними функціями базової ОС доступу на машинному рівні до таких ресурсів, як пам'ять, центральний процесор, пристрої введення-виведення і файлові структури. Підсистеми СУБД підтримують власний список авторизованих користувачів і їх привілеїв; управляють кешем пам'яті і сторінковим обміном; блокуванням поділюваних ресурсів; використанням табличного простору; приймають і планують виконання запитів користувача.

При тестуванні запитів до бази даних потрібно мати на увазі особливості запитів до різних СУБД. Також різні запити виконують різну роботу з даними. Найбільш безпечні просто зчитують и повертають деяку інформацію. Ці запити важливо перевіряти на помилки та перевіряти отримані дані з потрібними. Такі запити, як Insert, Update, Delete, Create, Drop, вже впливають на дані, змінюючи їх, тому такі запити більш небезпечні при виникненні помилки. При роботі з запитами до бази даних потрібно розділити обробку помилок різних запитів і передбачити різний порядок рядків у отримуваних даних при виконанні запиту.

Перш ніж відправляти запит на виконання також має місце перевірка запита на наявність основних ключових слів мови SQL [4].

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

Окремо слід розглянути запити Insert, Update, Delete, Create, Drop, які впливають на дані та змінюють їх. Такі запити слід виконувати більш обережно, при помилці необхідно виконувати відкат транзакції для відновлення та захисту даних. Такі запити потрібно виконувати і оброблювати окремо, приділяючи захисту даних більше уваги, тому що такі запити більш небезпечні і можуть викликати пошкодження або навіть знищення даних.

1.2 Огляд аналогів програмного забезпечення

На даний момент існує безліч різних онлайн сервісів з подібним функціоналом, але вони вимагають реєстрації, працюють тільки з певними SQL запитами, і часто використовують свої специфічні тестові бази даних. Наприклад, sql-ex.ru, www.codecademy.com. Дані послуги не передбачають виставлення оцінки і, так як потрібне підключення до інтернету, складно перевірити самостійність виконання завдань. До того ж ці сервіси часто використовують свої стандартні бази даних, деякі з цих баз складні для швидкого зрозуміння. Дуже багато онлайн сервіси тестують запити тільки по синтаксису, і не порівнюють вибірку, що отримується запитом з необхідною за завданням.

Справа в тому, що в інтернеті є сайти, які надають доступ до завдань та тестів запитів до бази даних. До одного із таких сайтів відноситься http://sql-ex.ru (рис. 1.1), цей сайт для проходження завдань і тестів вимагає від користувачів обов'язкової реєстрації на сайті [5].

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

наявність системи рейтингів;

– наявність учбових матеріалів, що спрощує навчання;

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

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

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

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

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

Іншим аналогічним ресурсом є сайт https://www.codecademy.com [6]. Цей сайт є більш мультифункціональний, у тому числі він надає декілька курсів вивчення і тестування запитів до бази даних.

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

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

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

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

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

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

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

Функціональні вимоги до системи:

ѕ додавання та редагування користувачів: адміністраторів, викладачів та студентів;

ѕ додавання та редагування груп студентів, які формуються з набору студентів;

ѕ додавання та редагування завдань;

ѕ додавання та редагування тестів, які формуються з набору завдань;

ѕ редагування та відновлення тестової бази даних;

ѕ проходження тестування;

ѕ збереження відповідей та оцінок;

ѕ перегляд результатів тестування;

ѕ формування звітів за результатами тестування;

ѕ перевірка правильності відповідей студентів під час проходження тестування;

ѕ відкіт транзакції при помилці запиту редагування даних.

Веб-система повинна бути розроблена з використанням платформи ASP.NET MVC [7].

На клієнтському боці для створення дизайну і динамічної роботи веб-сайту слід використовувати Jquery бібліотеку, що значно спрощує роботу з JavaScript. Клієнт являє собою WEB-додаток, створений також з використанням ASP.NET MVC.

Для зберігання даних слід використовувати базу даних. В якості СУБД слід обрати Microsoft SQL Server, що краще всього інтегрується з ASP.NET проектами, при використанні технологій Entity Framework та LINQ, та модель Code First [8]. Тестова база також використовує СУБД Microsoft SQL Server, та у майбутньому слід передбачити використання інших СУБД.

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

ѕ дані користувачів;

ѕ групи студентів;

ѕ завдання;

ѕ тести;

ѕ відповіді та оцінки;

ѕ додатково тестова база.

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

2. Архітектура системи та вибір проектних рішень

2.1 Архітектура системи, що розробляється

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

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

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

2.1.1 Діаграма прецедентів

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

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

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

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

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

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

Sequence diagram відображає взаємодії об'єктів впорядкованих за часом. Зокрема, така діаграми відображає задіяні об'єкти та послідовність відправлених повідомлень між ними [11].

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

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

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

2.1.3 Діаграма діяльності

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

Діаграма діяльності -- це візуальне представлення графу діяльностей. Граф діяльностей є різновидом графу станів скінченного автомату, вершинами якого є певні дії, а переходи відбуваються по завершенню дій [12]. Дія є фундаментальною одиницею визначення поведінки в специфікації. Дія отримує множину вхідних сигналів, та перетворює їх на множину вихідних сигналів. Одна із цих множин, або обидві водночас, можуть бути порожніми. Виконання дії відповідає виконанню окремої дії. Подібно до цього, виконання діяльності є виконанням окремої діяльності, буквально, включно із виконанням тих дій, що містяться в діяльності. Кожна дія в діяльності може виконуватись один, два, або більше разів під час одного виконання діяльності. Щонайменше, дії мають отримувати дані, перетворювати їх та тестувати, деякі дії можуть вимагати певної послідовності. Специфікація діяльності (на вищих рівнях сумісності) може дозволяти виконання декількох (логічних) потоків, та існування механізмів синхронізації для гарантування виконання дій у правильному порядку.

Розглянемо більш детально

- на першому кроці користувач має пройти авторизацію;

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

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

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

2.1.4 Діаграма компонентів

Діаграма компонентів (component diagram) - статична структурна діаграма, показує розбиття програмної системи на структурні компоненти та зв'язки (залежності) між компонентами. У ролі фізичних компонентів можуть виступати файли, бібліотеки, модулі, виконувані файли, пакети тощо [13].

З неї видно, що у системі є компонент серверу та його база даних, компонент «веб-клієнт». Компонент «база даних» використовує DbContext, що потрібен для роботи EntityFramework. Компонент «Сервер» використовує «Controller» для формування сторінок та обробки запитів від клієнта і обробки потрібних для відображення даних, а також використовує бібліотеку EntityFramwork. Веб-клієнт, в свою чергу, використовує бібліотеку jQuery.

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

2.2 Інформаційне забезпечення та структура БД

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

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

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

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

Таблиця Students буде зберігати дані студентів, а саме ім'я, групу навчання та курс. Ці дані будуть використовуватися при вході студентів у систему, при керуванні студентами (додавання, редагування, видалення), а також при формуванні груп студентів, та перегляді результатів.

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

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

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

Інші таблиці використовуються для зв'язку таблиць, які мають відношення «множина до множини», та використовуються для формування і отримання даних з таблиць, які пов'язують. Це такі таблиці як TaskTests, TestGroups та StGroups. Вони пов'язують відповідно таблиці Tasks і Tests, Tests і Groups та Students і Groups. Таким чином за логікою структури тести можуть включати декілька завдань, так само як і завдання можуть бути додані у декілька тестів. Також тести можуть проводитися у декількох групах студентів, а групи студентів мають у доступі декілька тестів. Так само студенти можуть бути включені у декілька груп, а групи можуть включати деяку кількість студентів.

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

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

2.3 Вибір мов програмування, фреймів

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

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

- набір клієнтів, які використовують сервіси, що надаються серверами;

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

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

Для реалізації серверної частини було вирішено використовувати принципи проектування SOLID[15].

S (The Single Responsibility Principle) - принцип єдиної відповідальності. Головний сенс принципу: боротьба зі складностями, важливість яких різко зростає при розвитку логіки додатку. Короткий опис: будь-який складний клас повинен бути розбитий на кілька простих складових, що відповідають за певний аспект поведінки, що спрощує як розуміння, так і майбутній розвиток. Типові приклади порушення принципу:

- змішування логіки та інфраструктури: бізнес-логіка змішана з поданням, шаром персистентності, знаходиться всередині WCF або windows-сервісів і т.п.;

- клас/модуль вирішує завдання різних рівнів абстракції: обчислює CRC і відправляє повідомлення по електронній пошті; розбирає json-об'єкт і аналізує його вміст і т.п.

O (The Open-Closed Principle) - принцип відкритості та закритості. Визначення: програмні сутності (класи, модулі, функції і т.п.) повинні бути відкритими для розширення, але закритими для модифікації. Головний сенс принципу: обмежити поширення змін мінімальним числом класів/модулів; дозволити вести паралельну розробку шляхом фіксації інтерфейсів класів та відкритості реалізацій. Короткий опис: закритість модулів означає стабільність інтерфейсу і можливість використання класів/модулів клієнтами. Відкритість модулів означає можливість внесення змін у поведінці, шляхом зміни реалізації або ж шляхом перевизначення поведінки в спадкоємцях. Боротьба зі змінами полягає в обмеженні кількості змін мінімальним числом класів/модулів і не має на увазі можливість зміни поведінки без перекомпіляції. На практиці необхідна «гнучкість» забезпечується за рахунок успадкування та зіставлення із зразком (pattern matching), залежно від того, яку операцію ми хочемо спростити - додавання нового підтипу в ієрархію спадкування або додавання нової операції в сімейство типів. Типові приклади порушення принципу: розмазування інформації про ієрархію типів по всьому додатку.

L (The Liskov Substitution Principle) - принцип заміщення Барбари Лісков. Визначення: повинна бути можливість замість базового типу підставити будь-який його підтип. Головний сенс принципу: реалізуйте спадкування підтипів правильно. Короткий опис: для коректної реалізації відносини «Являється», спадкоємець може послаблювати передумову і посилювати постумову (вимагати менше і гарантувати більше), при цьому інваріанти базового класу повинні виконуватися спадкоємцем. При порушенні цих правил підстановка екземплярів спадкоємця в метод, який приймає базовий клас буде призводити до непередбачуваних наслідків. Типові приклади порушення принципу: неузгоджена поведінка спадкоємців призводить до необхідності приводити екземпляри базового класу до конкретних типів спадкоємців.

I (Interface Segregation Principle) - принцип поділу інтерфейсів. Визначення: клієнти не повинні вимушено залежати від методів, якими не користуються. Головний сенс додатку: клас повинен надавати зручний інтерфейс з точки зору його різноманітних клієнтів. Короткий опис: інтерфейс класу повинен бути цілісним і узгодженим, не залежно від кількості клієнтів. Кілька різних клієнтів цілком можуть використовувати лише підмножину методів класу, до тих пір, поки інтерфейс класу залишатиметься узгодженим. Проблеми виникають тоді, коли інтерфейс класу починає розпухати або з'являються різні методи зі схожою семантикою лише для того, щоб ними було зручно користуватися певним клієнтам. Типові приклади порушення принципу:

- клас або інтерфейс містить кілька методів зі схожою семантикою, які використовуються різними клієнтами;

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

D (The Dependency Inversion Principle) - принцип інверсії залежностей. Визначення: модулі верхнього рівня не повинні залежати від модулів нижнього рівня. І ті й інші повинні залежати від абстракцій. Головний сенс принципу: зробити ключові та/або мінливі залежності класу явними. Короткий опис: занадто велике число залежностей класу говорить про проблеми в дизайні. Можливо клас робить занадто багато, або ж поточний клас не вдалий, що призводить до необхідності смикання одного методу у занадто великого числа залежностей. Будь-який об'єктний дизайн являє собою деякий граф взаємодіючих об'єктів, при цьому деякі залежності є частиною реалізації і повинні створюватися безпосередньо (композиція), а деякі - передаватися йому ззовні (агрегація). Виділяти залежності особливо корисно, коли вони є мінливими (зав'язані на оточення), або ж являють собою деяку форму «стратегій». Типові приклади порушення принципу: використання Singlton, сервіс-локаторів або ж створення ключових залежностей класу в закритих методах.

Усі ці принципи дуже важливі для побудови сучасного, надійного та масштабованого програмного продукту. Саме тому проектування та розробка веб-сервісу визначення локації для спілкування відбувалися з використанням принципів SOLID.

Для веб-серверу, який реалізує сервіс було обрано технологію ASP.NET MVC. Цю. технологію було обрано, тому що вона наразі являється однією з найбільш функціональних та зручних для розробки веб-програм, актуальною і популярною серед розробників. Технологія ASP.NET MVC базується на шаблоні проектування MVC[16].

Паттерн архітектури Model-View-Controller (MVC) поділяє програму на три основні частини: модель, уявлення і контролер. Розділення це здійснюється як на фізичному так і на логічному рівнях.

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

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

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

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

MVC також полегшує тестування проектів в порівнянні з веб-проектами ASP.NET на основі веб-форм. Платформа MVC поділяє компоненти й активно використовує інтерфейси, що дозволяє тестувати окремі елементи поза решти структури.

ASP.NET MVC визнає важливість отримання чистої, відповідної стандартам розмітки. Вбудовані методи HTML помічника надають відповідні стандартам вихідні дані. Разом з платформою ASP.NET MVC можна використовувати існуючі функції ASP.NET [17], наприклад вкладені головні сторінки, вбудовані вирази, декларативні серверні елементи управління, шаблони, прив'язку даних, локалізацію та багато інших аспектів.

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

Для розробки БД за допомогою Entity Framework було обрано стратегію Code First («спочатку код»). Підхід Code First дозволяє визначити модель з використанням C# [18] класів, яка буде використана для створення схеми бази даних або для зіставлення з існуючою базою даних.

Для зберігання інформації користувачів, завдання, тести, групи студентів, відповіді і оцінки, а також зберігання тестової бази даних використовується база даних Microsoft SQL Server. Мова, що використовується для запитів -- Transact-SQL [19], що дозволяє використовувати додатковий синтаксис процедур, що зберігаються і забезпечує підтримку транзакцій (взаємодія бази даних з керуючим застосунком).

SQL Server підтримує дзеркалювання та кластеризацію баз даних. Кластер серверу SQL -- це сукупність однаково конфігурованих серверів; така схема допомагає розподілити робоче навантаження між декількома серверами. Усі сервери мають одне віртуальне ім'я, а дані розподіляються за IP-адресами машин кластеру протягом робочого циклу. Також у разі відмови або збою на одному з серверів кластеру доступне автоматичне перенесення навантаження на інший сервер. SQL Server підтримує надлишкове дублювання даних за трьома сценаріями: знімок, історія змін, синхронізація з іншими серверами.

SQL Server має вбудовану підтримку .NET Framework. Завдяки цьому, процедури бази даних, що зберігаються, можуть бути написані на будь-якій мові платформи .NET з використанням повного набору бібліотек, доступних для .NET Framework. На відміну від інших процесів, .NET Framework виділяє додаткову пам'ять і будує засоби керування SQL Server, не використовуючи вбудовані засоби Windows. Це підвищує продуктивність порівняно із загальними алгоритмами Windows, оскільки алгоритми розподілу ресурсів спеціально налагоджені для використання у структурах SQL Server.

3. ОПИС системи

3.1 Програмні рішення

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

Для розробки серверної частини використовувалась технологія створення веб-застосувань ASP.NET MVC. База даних будується на базі MS SQL Server. Для роботи з базою даних використовувалась технологія Entity Framework Code First [20]. Відповідно, мова програмування C# 4.5, яка вибрана через велику популярність і надійність .NET технологій та особисте бажання розробника. Для роботи з JSON (пакування запитів та розпакування відповідей) для використання Ajax, використовувалась технологія API Controller, що присутня в у збірці ASP.NET починаючи з MVC 4.

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

– HTML та CSS для розмітки та налаштування виду сторінок [21];

– JavaScript для динамічної роботи та інтерактивної взаємодії клієнта зі змістом сторінок;

– JavaScript бібліотека Jquery, що полегшує взаємодію з DOM сторінок;

– Bootstrap - набір CSS та JavaScript бібліотек, що надає способи для створення гнучких (Responsive) сайтів та містить набір іконок та елементів інтерфейсу.

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

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

Як вже було зазначено вище, серверна части складається з трьох шарів: Дані, Подання та Контролер (Model, View, Controller).

Прикладом метода звичайного контролера може бути метод Login контролера StartController, що повертає шаблон сторінки. Метод контролера збирає всі необхідні для формування сторінки дані та повертає веб-сторінку. Після введення даних виконується метод контроллера позначений [HttpPost], він оброблює введені дані та авторізує користувача або повертає помилку, якщо введені дані некоректні або користувача з такими даними не знайдено.

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

Логіка клієнтської частини створена на JavaScript. В клієнтському коді відбувається відгук на дії користувача. Тож JavaScript допомагає сконцентрувати деякі обчислення на клієнті, а також зробити веб-клієнт інтерактивним. Для взаємодії з DOM веб-сторінки було обрано JavaScript бібліотеку jQuery. Вона значно полегшує й оптимізує роботу з DOM.

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

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

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

3.2 Тестування системи та її вдосконалення

Тестування є дуже важливим етапом створення проекту. Воно дозволяє вчасно знайти і усунути помилки реалізації, які не повинні потрапити до кінцевого користувача [22].

Види тестування:

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

– димове тестування (Smoke testing). Перший запуск програми (після написання або після внесення суттєвих змін). Було проведено кілька разів при додаванні нових модулів в програму. Тестування виявило, що в переважній більшості випадків (12 з 15) після впровадження нового функціоналу в робочому стані було 76-87% функціоналу. Винятком стали перша і остання зміни: при першій в робочому стані було 60% функціоналу, при останній - 90%;

– функціональне тестування (Functional testing). Під даним типом тестування мається на увазі перевірка відповідності продукту функціональним вимогам і специфікаціям. Було проведено власноруч після закінчення розробки програмного продукту;

– регресійне тестування (Regression testing). Повторне тестування після внесення змін до програмного забезпечення або до його оточення (у новій версії програми), яке використовується для того, щоб переконатися в тому, що функції, які працювали у попередній версії системи, як і раніше працездатні. Було проведено за допомогою ручного тестування. Шляхом регресійного тестування було виявлено декілька помилок в роботі системи, які були пріоритезовані залежно від впливу на основний функціонал програми. Всі критичні помилки і помилки з високим пріоритетом були виправлені;

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

– тестування графічного інтерфейсу користувача (User Interface testing). Тестування інтерфейсу - сторінок, кнопок і т.д. Було проведено після завершення розробки ПЗ. Тестування показало працездатність веб-клієнта, адекватну поведінку при зміні розширення екрану. Інтерфейс інтуїтивно зрозумілий;

– тестування продуктивності (Performance testing). Перевірка швидкості роботи системи (час відгуку, частота транзакцій та інші залежать від часу) в імітаційному і реальному середовищах . Було проведено на ПК, на якому проводилася розробка. Тестування показало прийнятні показники продуктивності (відгук сервісу протягом 1 секунди);

– стрес тестування (Stress testing). Є одним з різновидів тестування на продуктивність, при якій перевіряється, що система адекватно реагує на ті або інші стресові ситуації, наприклад, при нестачі ресурсів (дискового простору, обривів мережі і т.д.).

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

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

4. Опис роботи з системою

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

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

4.1 Інтерфейс адміністратора

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

...

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

  • Розробка структури бази даних. ER-моделі предметної області. Проектування нормалізованих відношень. Розробка форм, запитів, звітів бази даних "Автосалон". Тестування роботи бази даних. Демонстрація коректної роботи форми "Додавання даних про покупців".

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

  • Проблеми розробки сучасних баз даних. Моделювання предметної області "Адміністратор готелю". Застосування СУБД Microsoft ACCESS для реалізації системної архітектури бази даних. Результати тестування та рекомендації щодо удосконалення розробленої системи.

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

  • База даних як організована структура, призначена для зберігання інформації. Проектування та реалізація в СУБД MS Access інформаційної системи "База даних Internet-ресурсів тестів з психології". Розробка логічної системи даних, інструкції користувача.

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

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

    контрольная работа [29,4 K], добавлен 06.10.2010

  • Основні відомості про реляційні бази даних, система управління ними. Основні директиви для роботи в середовищі MySQ. Визначення та опис предметної області. Створення таблиць та запитів бази даних автоматизованої бази даних реєстратури в поліклініці.

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

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

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

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

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

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

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

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

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

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

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

  • Тестування програмного забезпечення як процес його дослідження для отримання інформації про якість. Автоматизація тестування програми Join It - Jigsaw Puzzle. Методика тестування, структура пакету та його модулів. Вимоги до програмного забезпечення.

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

  • Створення баз даних з використанням платформи Microsoft Access 2010 та структурованих запитів SQL. ER-діаграма бази даних з описом кожної сутності та її атрибутів. Розробка інтерфейсу, елементів навігації та макросів для автоматичного виконання запитів.

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

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

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

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

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

  • Побудова інформаційної системи "Магазин товарів для настільного тенісу" з автоматизації роботи магазину. Концептуальне моделювання бази даних. Обґрунтування вибору СУБД. Логічне проектування бази даних. Схема бази даних. Створення таблиць в конструкторі.

    курсовая работа [8,8 M], добавлен 16.12.2015

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

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

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

    курсовая работа [433,7 K], добавлен 27.03.2016

  • Даталогічне проектування баз даних та концептуальне (інфологічне) проектування (побудова ER-діаграми та нормалізація даних) інформаційної системи. Фізичне проектування інформаційних систем (СУБД Access: об’єкти бази, створення таблиць, запитів та форм).

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

  • Проектування інформаційної системи для супроводу баз даних. Моделі запиту даних співробітником автоінспекції та обробки запиту про машини та їх власників. База даних за допомогою SQL-сервер. Реалізація запитів, процедур, тригерів і представлення.

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

  • Використання баз даних та інформаційних систем у сучасному житті. Основні відомості про реляційні бази даних. Зв'язування відносин. Структурована мова запитів SQL. Сутність та загальний опис бази даних "Архітектурна компанія". Приклад створення таблиці.

    курсовая работа [320,7 K], добавлен 19.06.2015

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