Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow Гнучка система інформаційної підтримки підвищення кваліфікації персоналу ДП №9

Логіко-функціональна схема роботи системи

Далі наводиться загальний вигляд (рис. 5.3) логіко-функціональної схеми роботи системи.

Рис. 5.3 Логіко-функціональна схема роботи системи тестування

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

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

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

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

Процедура авторизації:

<?php

session_start();# початок роботи в системі

if($_SESSION['user_id']){ # якщо користувач зареєстрований, то вінheader("Location: index.php"); # переходить до своєї сторінки

exit;

}

if ( $_POST['login'] && $_POST['pass'] ) {

# за наявності заповнених полів форми з'єднатися з базою даних

mysql_connect("localhost","root","");

mysql_query("SET character_set_client = cp1251");

mysql_query("SET character_set_connection = cp1251");

mysql_query("SET character_set_results = cp1251");

mysql_select_db("tests");

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

#на період дії сесії (потрібно для роботи з багато-сторінковим

# інтерфейсом)

@$result = mysql_query("SELECT id,name from users where login='".$_POST['login']."' and pass='".$_POST['pass']."'");

@$user_id = mysql_result($result,0,"id");

@$user_name = mysql_result($result,0,"name");

if($user_id){

$_SESSION['user_id'] = $user_id;

$_SESSION['user_name'] = $user_name;

header("Location: index.php");

exit;

}else{

$msg="Логин или пароль заданы неверно!";

}

}

?>

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

Важливим елементом системи є й обов'язкова процедура завершення роботи:

<?php

session_start();

session_destroy();

header("location: index.php");

exit();

?>

Базові процедури роботи з користувачами системи тестування:

# додання користувача у базу

if ($_REQUEST['do'] == "add_user") {

if ($_REQUEST['name'] && $_REQUEST['tabnum']) {

mysql_query("INSERT into users set name='$_REQUEST[name]', tabnum='$_REQUEST[tabnum]', date=NOW()");

header("Location: users.php");

exit();

}

}

# генерація пари «логін-пароль»

if ($_REQUEST['gen']) {

$chars="qazxswedcvfrtgbnhyujmkiolp1234567890QAZXSWEDCVFRTGBNHYUJMKIOLP";

$loginmax=6;

$passmax=12;

$size=StrLen($chars)-1;

$setlogin = null;

$setpass = null;

while($loginmax--) $setlogin.=$chars[rand(0,$size)];

while($passmax--) $setpass.=$chars[rand(0,$size)];

mysql_query("UPDATE users set login='$setlogin', pass='$setpass', testid='$_REQUEST[testid]' where id='$_REQUEST[gen]'");

header("Location: users.php");

exit();

}

Процедури генерації тестових завдань:

if($_REQUEST['do'] == 'add_test'){

if($_REQUEST['testname']){

mysql_query("INSERT INTO tests SET testname='".$_REQUEST['testname']."', cnt='".$_REQUEST['cnt']."', done='".$_REQUEST['done']."'");

$test_id = mysql_insert_id();

if($test_id){

#тест добавлен

header("location: generator.php");

exit();

}else{

#тест не добавлен

}

}else{

}

}elseif($_REQUEST['do'] == 'add_quest'){

if($_REQUEST['testid'] && $_REQUEST['quest']){

mysql_query("INSERT INTO questions SET testid='".$_REQUEST['testid']."', quest='".$_REQUEST['quest']."'");

$qwid = mysql_insert_id();

if($qwid){

#вопрос добавлен

$_SESSION['view_last_test'] = $_REQUEST['testid'];

header("location: generator.php");

exit();

}else{

#вопрос не добавлен

}

}else{

#не задан тест айди или имя вопроса

}

}elseif($_REQUEST['do'] == 'add_ans'){

if($_REQUEST['qwid'] && $_REQUEST['ans']){

mysql_query("INSERT INTO answers SET qwid='".$_REQUEST['qwid']."', `right`=0, ans='".$_REQUEST['ans']."'");

$ansid = mysql_insert_id();

#ответ добавлен

$_SESSION['view_last_quest'] = $_REQUEST['qwid'];

$_SESSION['view_last_test'] = $_REQUEST['last_test'];

header("location: generator.php");

exit();

}else{

#не задан вопрос найди или имя ответа

}

}

Більш докладно усі процедури наведені в додатку.

 
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
< Предыдущая   СОДЕРЖАНИЕ   Следующая >
 
СКАЧАТЬ ОРИГИНАЛ
Гнучка система інформаційної підтримки підвищення кваліфікації персоналу ДП №9
ВСТУП1. ПОСТАНОВКА ЗАВДАННЯ1.1 Найменування та галузь використання1.2 Підстава для створення1.3 Характеристика розробленого програмного забезпечення1.4 Мета й призначення1.5 Загальні вимоги до розробки1.6 Джерела розробки2. ОСНОВИ ТЕХНОЛОГІЇ КЛІЄНТ-СЕРВЕР2.1 Основні поняття2.2 Клієнт та сервер2.3 Обов'язки та взаємодія2.4 Трирівнева архітектура2.5 Веб-сервер2.6 APACHE2.7 Можливості3. ТЕОРЕТИЧНЕ ДОСЛІДЖЕННЯ PHP І MYSQL ТА ОСНОВ РОБОТИ З НИМИ3.1 Вступ у PHP та MySQL3.2 Можливості PHP3.3 Можливості MySQL3.4 Приклади використання PHP та MySQL4. РОЗРОБКА ГНУЧКОЇ КЛІЄНТ-СЕРВЕРНОЇ СИСТЕМИ ЗАВДЯКИ ПОЄДНАННЮ ВІДКРИТИХ WEB ТЕХНОЛОГІЙ4.1 Модуль PHP4.1.1 Особливості4.1.2 Докладний опис мови4.2 База даних4.2.1 Термін4.2.2 Структуровані та неструктуровані БД4.2.3 Характеристика БД4.3 Системи керування базами даних4.4 Мова SQL4.4.1 Термін4.4.2 Історія4.4.3 Питання сумісності4.4.4 Процедурні розширення4.5 MySQL4.5.1 Термін4.5.2 Ліцензування4.5.3 Історія4.5.4 Критика4.6 HTML4.6.1 Термін4.6.2 Історія розвитку HTML4.6.3 Версії4.6.4 Документ HTML4.6.5 Семантичний HTML4.6.6 Проект специфікації HTML 54.6.7 XHTML4.7 JavaScript4.7.1 Термін4.7.2 Про мову4.7.3 Використання в HTML4.7.4 Зневадження4.7.5 Статистика використання5. ОПИС ФУНКЦІОНАЛЬНИХ МОЖЛИВОСТЕЙ ТА ПРОГРАМНОЇ РЕАЛІЗАЦІЇ ПРОЕКТОВАНОЇ СИСТЕМИ5.1 Функціональне призначення та технологічні особливості розробки5.2 Логіко-функціональна схема роботи системи5.3 Розробка алгоритмів та програмна реалізація основних процедур системи5.4 Опис інтерфейсу користувача6. ЕКОНОМІЧНЕ ОБҐРУНТУВАННЯ ДОЦІЛЬНОСТІ РОЗРОБКИ ПРОГРАМНОГО ПРОДУКТУ7. ОХОРОНА ПРАЦІ7.1 Аналіз шкідливих і небезпечних виробничих факторів при роботі на комп'ютері7.2 Заходи щодо нормалізації небезпечних і шкідливих факторів7.3 Пожежна безпекаВИСНОВКИСПИСОК ЛІТЕРАТУРИ