You are on page 1of 8

3.

ПРАКТИЧНА ЧАСТИНА
3.1. Визначення потоків даних та процесів, що оперують над потоками,
вибір шаблону, розробка метрик тестування
Функціональна схема прикладної програми для заповнення сайту
інформацією наведена на рисунку 1.3.
Фреймворк, який розробляє веб-ресурси для осіб з вадами зору згідно
функціонального наповнення включає наступний перелік модулів:
– Модуль створення уроку граматика в якому заповнюється інформація з
конкретної теми з граматики; задаються дані такі як заголовок,
контекст та фото.
– Модуль створення уроку говоріння в якому заповнюється інформація з
конкретної теми з говоріння; задаються дані такі як заголовок, контекст
та фото.
– Модуль створення слів для словника в якому ми створюємо переклад
слів. Вводимо слово на українській мові, а потім переклад на
англійській.
– Модуль виведення інформації.
Рисунок 3.1 – Функціональна схема
3.2. Розробка блок-схеми модуля
Одним із найважчих модулів наповнення прикладної програми є створення
слів для словника. Блок-схема наведена на рисунку 3.2.

Рисунок 3.2 – Блок-схема модуля створення слів для словника


Ще модуль це прикладної програми це модуль створення уроку граматика.
Рисунок 3.3 – Блок-схема модуля створення уроку граматика
Рисунок 3.4 – Блок-схема модуля створення уроку граматика
3.3. Кодування модуля
<?PHP
public function store(Request $request)
{
foreach ($request->word as $key => $w) {
foreach ($request->translate_word as $key1 => $tw)
if ($key == $key1 ){
$dictionary = new Dictionary();
$dictionary->word = $w;
$dictionary->translate_word = $tw;
$dictionary->save();
}
}
return redirect('/admin/english');
}
Лістинг 3.1 – Фрагмент коду модуля створення слів для словника програми

public function store(Request $request)


{
$grammar = new Grammar();
$grammar->title = $request->title;
$file = $request->file('image');
$destinationPath = 'upload';
$file->move($destinationPath, $file-
>getClientOriginalName());
$grammar->image = $file->getClientOriginalName();
$detail = $request->input('detail');
$dom = new DomDocument();
$dom->loadHtml($detail, LIBXML_HTML_NOIMPLIED |
LIBXML_HTML_NODEFDTD);
$images = $dom->getElementsByTagName('img');
foreach ($images as $k => $img) {
$data = $img->getAttribute('src');
list($type, $data) = explode(';', $data);
list(, $data) = explode(',', $data);
$data = base64_decode($data);
$image_name = "/upload/" . time() . $k . '.png';
$picture = $image_name;
$path = public_path() . $image_name;
file_put_contents($path, $data);
$img->removeAttribute('src');
$img->setAttribute('src', $image_name);

}
$grammar->content = $detail;
$grammar->save();
return redirect('/admin/english');
}
Лістинг 3.2 – Фрагмент коду модуля створення уроку граматика програми
3.4. Опис процесу тестування
Тестування програмного забезпечення – техніка контролю якості, що
перевіряє відповідність між реальною та очікуваною поведінкою програми
завдяки кінцевому набору тестів, що обираються певним чином.
Тестування модулів і компонентів складається в забезпеченні на тестах
наступних критеріїв: виконання програми не менше одного разу на
сукупності тестів, що включають в себе набори вхідних і вихідних даних;
тестування функцій хоча б один раз; тестування міжмодульних інтерфейсів.
Спочатку виконується автономне тестування окремих модулів ПС нижнього
рівня без виклику інших модулів, потім вибирається черговий модуль,
безпосередньо викликає вже перевірені. Виконується збірка модулів, а потім
їх тестування в комплексі. Потім проводиться тестування інтерфейсів, тобто
перевірка правильності викликів модулів і передачі експортованих та
імпортованих значень параметрів. Багато тестів, які використовувалися при
тестуванні окремих компонентів, можуть використовуватися при тестуванні
інтерфейсів.
При тестуванні об'єднаних модулів можуть бути знайдені помилки в
інтерфейсних посередників. Завершальним процесом тестування є
тестування функцій і їх комплексні випробування.

You might also like