Заключение. Список источников информации. Приложение 1. Листинг программных модулей
⇐ ПредыдущаяСтр 10 из 10 ЗАКЛЮЧЕНИЕ В результате выполнения дипломного проекта Спроектирована база данных, включающая таблицы: с общим описанием характеристик средств освещения автомобиля. Созданная база данных заполнена первоначальной информацией: 15 записей добавлено для каждой таблицы. Разработан функциональный прототип сопровождения данных о средствах освещения автомобиля для реализации функций редактирования данных, и управления данными. Проведено тестирование разработанного приложения: все 7 из 7 тестов, выполненных вручную прошли успешно, в соответствии с условиями. Выполнена оценка затрат на разработку приложения: 31 тыс. руб. Таким образом, в данном дипломном проекте поставлена и выполнена задача спроектировать и разработать прототип веб-приложения для программного сопровождения данных о средствах освещения автомобиля. В дальнейшем необходимо разработать web-версию приложений.
СПИСОК ИСТОЧНИКОВ ИНФОРМАЦИИ 1. Ананьева, Т. Н. Стандартизация, сертификация и управление качеством программного обеспечения: учебное пособие/Т. Н. Ананьева, Н. Г. Новикова, Г. Н. Исаев. - М.: ИНФРА-М, 2016. 2. Бабич, А. В. Введение в UML/ А. В. Бабич. - М.: Интернет-Университет Информационных Технологий (ИНТУИТ), 2016. 3. Бирюков, А. Н. Процессы управления информационными технологиями/А. Н. Бирюков. - М.: Интернет-Университет Информационных Технологий (ИНТУИТ), 2016. 4. Введение в программную инженерию: учебник / В. А. Антипов, А. А. Бубнов, А. Н. Пылькин, В. К. Столчнев. - М.: КУРС: ИНФРА-М, 2017. 5. Введение в программные системы и их разработку / С. С. В. Назаров, С. С. Н. Белоусова и др. - М.: Интернет-Университет Информационных Технологий (ИНТУИТ), 2016.
6. Вигерс К. Разработка требований к программному обеспечению /К. Вигерс, Дж. Битти. - М.: Русская редакция, 2014. 7. Вичугова А. А. Инструментальные средства разработки компьютерных систем и комплексов: учебное пособие для СПО/ А. А. Вичугова. - Саратов: Профобразование, 2017. 8. Гагарина, Л. Г. Технология разработки программного обеспечения: учебное пособие / Л. Г. Гагарина, Е. В. Кокорева, Б. Д. Виснадул; под ред. проф. Л. Г. Гагариной - М.: ФОРУМ: Инфра-М, 2017. 9. Долженко, А. И. Технологии командной разработки программного обеспечения информационных систем/А. И. Долженко. – М.: Интернет-Университет Информационных Технологий (ИНТУИТ), 2016. 10. Котляров, В. П. Основы тестирования программного обеспечения/ В. П. Котляров. - М.: Интернет-Университет Информационных Технологий (ИНТУИТ), 2016. 11. Лаврищева, Е. М. Программная инженерия. Парадигмы, технологии и CASE-средства: учебник для вузов/Е. М. Лаврищева. – М.: Юрайт, 2016. 12. Леоненков А. В. Объектно-ориентированный анализ и проектирование с использованием UML и IBM Rational Rose: курс лекций: учебное пособие / А. В. Леоненков. - М.: Саратов: Интернет-Университет Информационных Технологий (ИНТУИТ): Вузовское образование, 2017. 13. Назаров, С. В. Архитектура и проектирование программных систем/С. С. В. Назаров. – М.: Инфра-М, 2015. 14. Орлов, С. А. Технологии разработки программного обеспечения: учебник для вузов /С. А. Орлов, Б. Я. Цилькер. - СПб. : Питер, 2012. 15. Тепляков, С. В. Паттерны проектирования на платформе. NET/С. В. Тепляков. - СПб.: Питер, 2015. ПРИЛОЖЕНИЕ 1. Листинг программных модулей login. php <? php // Initialize the session (создаем новую сессию) session_start();
// Check if the user is already logged in, if yes then redirect him to welcome page // (проверяем, были ли установлены переменные входа в систему) if(isset($_SESSION[" loggedin" ]) & & $_SESSION[" loggedin" ] === true) { // если да, перенаправляем на страницу приветствия header(" location: login_welcome. php" );
exit; } if(array_key_exists('guest', $_POST)){ $_SESSION[" role_name" ] = " guest"; $_SESSION[" loggedin" ] = true; header(" location: login_welcome. php" ); exit; }
// Include config file (подключаем файлы) require_once " login_config. php"; require_once " login_role. php";
// Define variables and initialize with empty values // (очищаем переменные) $username = $password = " "; $username_err = $password_err = " ";
// Processing form data when form is submitted // (выполняем обработку, когда пользователь отправил данные формы) if($_SERVER[" REQUEST_METHOD" ] == " POST" ) { // Check if username is empty (проверка поля " username" ) if(empty(trim($_POST[" username" ]))) { $username_err = " Please enter username. "; } else { $username = trim($_POST[" username" ]); }
// Check if password is empty (проверка поля " пароль" ) if(empty(trim($_POST[" password" ]))) { $password_err = " Please enter your password. "; } else { $password = trim($_POST[" password" ]); }
// Validate credentials (проверка логин-пароля) if(empty($username_err) & & empty($password_err)) { // Prepare a select statement (формируем строку запроса пароля) $sql = " SELECT password FROM users_Dashcam WHERE username = '". $username. " '"; if($rows = mysqli_query($link, $sql)) // считываем строки ответа { if( $row = mysqli_fetch_row($rows)) // получаем 0ю строку ответа { // 0й элемент 0й строки должен содержать пароль if($row[0] === $password) // если равен введенному, авторизуемся { // 1й строки быть не должно, т. к. другого пароля не полагается if(empty(mysqli_fetch_row($rows))) { mysqli_free_result($rows); // очищаем результаты //$thread_id = mysqli_thread_id($link); //echo " login. php: ". $thread_id. " < br/> "; //лог потока БД
// Store data in session variables (запоминаем переменные сессии) $_SESSION[" loggedin" ] = true; $_SESSION[" id" ] = $id; $_SESSION[" username" ] = $username; $_SESSION[" link" ] = $link;
// считываем роль: возвращаемого значения нет, если ОК echo setrole_by_username($username, $link); echo " login. php: ". $_SESSION[" username" ]. " < br/> "; echo " login. php: ". $_SESSION[" role_id" ]. " < br/> "; echo " login. php: ". $_SESSION[" role_name" ]. " < br/> ";
// Password is correct, so start a new session (начинаем новую сессию) session_start(); // Redirect user to welcome page (перенаправляем на страницу приветствия) // строку можно временно закомментить, если раскомментировать echo!!! header(" location: login_welcome. php" ); } else { // заполняем переменную ошибки, если пароль неправильно считан $password_err = " Ошибка считывания пароля из базы данных! "; } } else { // переменная ошибки для отображения на форме $password_err = " Введен неправильный пароль! "; } } else { // переменная ошибки для отображения на форме $username_err = " Введено несуществующее имя пользователя"; } } else { echo " login. php: Запрос к базе данных не выполнен!! (("; } } // Close connection (закрываем соединение к БД) mysqli_close($link); } ? >
<! DOCTYPE html> < html lang=" en" > < head> < meta charset=" UTF-8" > < title> Login page< /title> < link rel=" stylesheet" href=" https: //maxcdn. bootstrapcdn. com/bootstrap/3. 3. 7/css/bootstrap. css" > < style type=" text/css" > body{ font: 14px sans-serif; } . wrapper {width: 350px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); border: 2px solid #555; box-shadow: 3px 3px 5px #999; width: 350px; text-align: center; margin: 20px; padding: 20px;
} < /style> < /head> < body background=" 5.jpg" > < div class=" wrapper" > < h2> Login< /h2> < p> Заполните данные логин-пароля< /p> < form action=" <? php echo htmlspecialchars($_SERVER[" PHP_SELF" ]); ? > " method=" post" > < div class=" form-group <? php echo (! empty($username_err))? 'has-error': ''; ? > " > < label> Имя пользователя (логин)< /label> < input type=" text" name=" username" class=" form-control" value=" <? php echo $username; ? > " > < span class=" help-block" > <? php echo $username_err; ? > < /span> < /div> < div class=" form-group <? php echo (! empty($password_err))? 'has-error': ''; ? > " >
< label> Пароль< /label> < input type=" password" name=" password" class=" form-control" > < span class=" help-block" > <? php echo $password_err; ? > < /span> < /div> < div class=" form-group" > < input type=" submit" class=" btn btn-primary" value=" Login" > < input type=" submit" name=" guest" class=" btn btn-primary" value=" Guest" > < /div> < /form> < /div> < /body> < /html>
Login_role. php <? php function setrole_by_username($username, $link) { //include_once " login_config. php"; $ferror = " "; // очищаем переменную ошибок $role_id = " "; // очищаем переменную роли $sql = " SELECT role_id FROM users_Dashcam WHERE username = '". $username. " '"; $thread_id = mysqli_thread_id($link); if(empty($thread_id)) // коннектим к БД, если не было установлено соединение { include('. /login_config. php'); echo " login_role. php: вызван файл login_config. php!! "; } else { echo " login_role. php: соединение с БД было установлено thread_id=". $thread_id; }
if($frows = mysqli_query($link, $sql)) { //echo " login_role. php: query executed!!! "; if( $frow = mysqli_fetch_row($frows)) { //echo " login_role. php: found row!!! "; $role_id = $frow[0]; if($role_id === " 0" ) // 0 - пользователь { if(empty(mysqli_fetch_row($frows))) { // запоминаем в текущей сессии имя роли $_SESSION[" role_name" ] = " User"; } else { $ferror = " Ошибка чтения роли: считано более 1й строки! "; } } else if($role_id === " 1" ) // 1 - пользователь {// запоминаем в текущей сессии имя роли $_SESSION[" role_name" ] = " AuthorizedUser"; } else if($role_id === " 2" ) // 2 - админ {// запоминаем в текущей сессии имя роли $_SESSION[" role_name" ] = " Admin"; } else {// запоминаем в текущей сессии имя роли $_SESSION[" role_name" ] = " guest"; }
//echo " role_id=". $role_id; // запоминаем в текущей сессии идентификатор роли $_SESSION[" role_id" ] = $role_id; mysqli_free_result($frows); // очищаем результаты запроса } else { $ferror = " Ошибка чтения роли: считано 0 строк! ("; } } else { $ferror = " Ошибка чтения роли: запрос не выполнен! (". $sql; } mysqli_close($link); // закрываем запрос return $ferror; // возвращаем ошибку, если произошла } ? >
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|