• Dasturiy taminotni ishlab chiqish
  • Admin Login




    Download 0,62 Mb.
    bet1/2
    Sana21.12.2023
    Hajmi0,62 Mb.
    #125982
      1   2
    Bog'liq
    Nodirbek Ismoilov


    1. Kirish

      1. Masalaning qoʻyilishi.

      2. Predmed sohani tasvirlash.

    2. Ma'lumotlar bazasini ishlab chiqish

      1. Relyatsion ma'lumotlar bazasi tushunchalari. Ma'lumotlar bazasini loyihalash.

      2. Ma'lumotlar bazasi va ma'lumotlar bazasi strukturasini amalga oshirish.

    3. Dasturiy ta'minotni ishlab chiqish

      1. Dasturni ma'lumotlar bazasiga ulash.

      2. Dasturning funksionalligi. Dastur xususiyatlari.

    4. Xulosa

    5. Adabiyotlar



    1. Kirish

    Xizmat ko'rsatish bo'yicha davom etayotgan majburiyatimizga ko'ra, biz qimmatbaho mehmonlarimiz uchun xonalarni qulay band qilishlari uchun foydalanish uchun qulay onlayn platformani ishlab chiqdik. Ushbu tizim bron qilish jarayonini soddalashtirish va mehmonlarimiz va ma'murlarimiz uchun uzluksiz tajribani ta'minlash uchun mo'ljallangan.

    Ish safari, oilaviy ta'til yoki romantik dam olishni rejalashtirgan bo'lsangiz, bizning mehmonxonamiz sizning ehtiyojlaringizga mos keladigan qulay xonalar qatorini taklif etadi. Ushbu platforma mavjud xonalarni ko'rib chiqish, band qilish va hatto band qilingan xonalarning joriy holatini ko'rish imkonini beradi.

    Bizning administratorlarimiz uchun ushbu asboblar paneli xona inventarini boshqarish, bandlovlarni nazorat qilish va har qanday aniq so'rovlar yoki bekor qilishlarni hal qilish uchun markazlashtirilgan markazni taqdim etadi.

    1.1 Muammo tavsifi:

    Mehmondo'stlik sanoati rivojlanib borar ekan, mehmonlarimizning talablari va ehtiyojlari ham o'sib bormoqda. Telefon qo'ng'iroqlari yoki joyida bron qilishni o'z ichiga olgan xonani bron qilishning an'anaviy usullari ko'p vaqt talab qilishi isbotlangan va xona inventarini boshqarishda samarasizlikka olib kelishi mumkin. Ushbu muammolarni tan olgan holda, biz quyidagi asosiy muammolarni aniqladik:

    1. Qo'lda band qilish jarayonlari: Xonani band qilishda qo'lda ishlash jarayonlariga tayanish nafaqat xodimlarning qimmatli vaqtini sarflaydi, balki xato va nomuvofiqliklarga ham olib kelishi mumkin.

    2. Cheklangan imkoniyatlar: Mehmonlar ko‘pincha xona mavjudligi, turlari va narxlari haqidagi real vaqt ma’lumotlariga kirishda cheklovlarga duch kelishadi. Shaffoflikning yo'qligi ularning qaror qabul qilish jarayoniga ta'sir qilishi mumkin.

    3. Ma'muriy qo'shimcha xarajatlar: Administratorlar uchun real vaqt rejimida bron qilish, bekor qilish va xona inventarini boshqarish murakkab vazifa bo'lib, potentsial operatsion muammolarga olib kelishi mumkin.

    4. Mijozlarga qulaylik: Raqamli transformatsiya davrida mehmonlarga bron qilish va o‘z tezligida o‘z bandlovlarini boshqarish imkonini beruvchi qulay va foydalanuvchilar uchun qulay yechimlarga talab ortib bormoqda.

    Onlayn bron qilish tizimimizning rivojlanishi mehmonlarimiz va ma'muriy xodimlarimizga foyda keltiradigan samarali, qulay va foydalanuvchilarga qulay platformani taqdim etish orqali ushbu muammolarni hal qilishga qaratilgan.

    1.2 Mavzu sohasini aniqlash:

    Onlayn bron qilish tizimining ko'lami va yo'nalishini har tomonlama tushunish uchun u qamrab oladigan mavzu sohasini aniqlash juda muhimdir. Mavzu sohasi turli xil komponentlar va funktsiyalar bilan belgilanadi. Mana bir misol:

    Onlayn bron qilish tizimimizning mavzu sohasi quyidagi asosiy komponentlarni o'z ichiga oladi:

    1. Xona inventarini boshqarish:
    - real vaqt rejimida xonalarning mavjudligini kuzatish va boshqarish.
    - Xonalarni turlari, xususiyatlari va narxiga qarab toifalarga ajratish.

    2. Mehmonlar bilan muloqot va bronlash:


    - Mehmonlar mavjud xonalarni ko'rib chiqishlari uchun qulay interfeysni ta'minlash.
    - Mehmonlarga bron qilish uchun ruxsat berish, to'liq ism va aloqa ma'lumotlari kabi kerakli ma'lumotlarni kiritish.

    3. Rezervatsiyani tasdiqlash va aloqa:


    - Avtomatik ravishda bronlarni tasdiqlash va mehmonlarga bronlash tafsilotlarini taqdim etish.
    - Mehmonlarga ularning bandlik holati va tegishli ma'lumotlar to'g'risida bildirishnomalar yuborish.

    4. Maʼmuriy boshqaruv paneli:


    - Xona inventarini kuzatish va boshqarish uchun ma'murlar uchun markazlashtirilgan markaz.
    - Rezervasyonlarni qayta ishlash, bekor qilish va maxsus so'rovlarni hal qilish uchun vositalar.

    5. Bekor qilish va to‘lovni qaytarish jarayonlari:


    - Mehmonlarga bronlarni bekor qilishga ruxsat berish va tegishli to'lovni qaytarish siyosatini belgilash.
    - Administratorlar uchun soddalashtirilgan bekor qilish jarayonini osonlashtirish.

    6. Xavfsizlik va maʼlumotlarni himoya qilish:


    - Mehmonlar ma'lumotlari va to'lov ma'lumotlarini himoya qilish uchun mustahkam xavfsizlik choralarini qo'llash.
    - Ma'lumotlarni himoya qilish qoidalariga rioya qilish va mehmonlarning shaxsiy hayotini ta'minlash.

    7. Hisobot va tahlil:


    - Xona bandligi, mashhur xona turlari va bron qilish tendentsiyalari haqida hisobotlarni yaratish.
    - Strategik qarorlar qabul qilish va xona taqsimotini optimallashtirish uchun tahlillardan foydalanish.

    Ushbu asosiy komponentlarni belgilash orqali biz onlayn bron qilish tizimi qamrab olgan mavzu bo'yicha aniq tushunchani o'rnatamiz. Ushbu ta'rif mehmonlar va mehmonxona ma'murlarining ehtiyojlarini qondirish uchun tizimni keyingi ishlab chiqish, amalga oshirish va doimiy takomillashtirish uchun asos bo'lib xizmat qiladi.

    2. Ma'lumotlar bazasini ishlab chiqish:

    2.1 Relyatsion ma’lumotlar bazasi tushunchalari. Ma'lumotlar bazasini loyihalash:



    Onlayn bron qilish tizimi uchun ma'lumotlar bazasini loyihalashda biz ma'lumotlarni samarali tashkil qilish va tuzish uchun asosiy aloqador ma'lumotlar bazasi tushunchalaridan foydalanamiz. Tizimimizdagi asosiy ob'ektlar "Xonalar" va "Rezervatsiyalar" bo'lib, biz ular o'rtasida aloqalarni o'rnatamiz. Bu erda dizaynni tasvirlash uchun asosiy sxema:

    - Xonalar jadvali:


    - `xona_raqami` (asosiy kalit): har bir xona uchun noyob identifikator.
    - `xona_turi`: xonaning turi yoki toifasi (masalan, bitta, ikki kishilik, suit).
    - `narx`: xona uchun bir kechalik narx.

    - Rezervasyonlar jadvali:


    - `reservation_id` (asosiy kalit): har bir bandlov uchun noyob identifikator.
    - `xona_raqami` (xorijiy kalit): Xonalar jadvalidagi tegishli xonaga havolalar.
    - `to'liq_ism`: band qilgan mehmonning to'liq ismi.
    - `elektron pochta`: mehmonning elektron pochta manzili.
    - `reservation_date`: bandlov qachon amalga oshirilganligini ko'rsatadigan vaqt tamg'asi.

    2.2 Ma'lumotlar bazasi va ma'lumotlar bazasi tuzilmasini joriy etish:

    Amalga oshirish uchun biz MySQL kabi relyatsion ma'lumotlar bazasini boshqarish tizimidan (RDBMS) foydalanishimiz mumkin. Quyida yuqoridagi dizayn asosida jadvallarni yaratish uchun soddalashtirilgan SQL skripti keltirilgan:


    CREATE TABLE `reservations` (
    `id` int(11) NOT NULL,
    `room_number` int(11) DEFAULT NULL,
    `full_name` varchar(255) DEFAULT NULL,
    `email` varchar(255) DEFAULT NULL,
    `reservation_date` timestamp NOT NULL DEFAULT current_timestamp()
    );

    CREATE TABLE `rooms` (


    `id` int(11) NOT NULL,
    `room_number` int(11) DEFAULT NULL,
    `room_type` varchar(255) DEFAULT NULL,
    `price` decimal(10,2) DEFAULT NULL
    );


    Ushbu skript tegishli maydonlar va munosabatlarga ega ikkita jadval, “xonalar” va “bandlar”ni yaratadi. 'Bozlovlar' jadvalidagi 'xona_raqami' chet el kaliti bo'lib, 'xonalar' jadvalidagi 'xona_raqamiga' ishora qiladi.

    Iltimos, skriptni maxsus talablaringizga, jumladan qo'shimcha maydonlar, cheklovlar va kerak bo'lganda ma'lumotlar turlariga moslashtiring. Ma'lumotlar bazasini boshqarish tizimingiz to'g'ri sozlanganligiga ishonch hosil qiling va ma'lumotlar bazasi strukturasini yaratish uchun skriptni bajaring.

    3. Dasturiy ta'minotni ishlab chiqish:






    3.1 Dasturni ma'lumotlar bazasiga ulash:

    Dasturni ma'lumotlar bazasiga ulash uchun siz server tomonidagi skript tilidan foydalanishingiz kerak. Siz PHP va MySQL haqida gapirganingiz uchun men PHPni MySQL maʼlumotlar bazasiga ulash misolini keltiraman. To'ldiruvchi qiymatlarni haqiqiy ma'lumotlar bazasi hisob ma'lumotlari bilan almashtirganingizga ishonch hosil qiling.




    $host = "localhost";
    $username = "root";
    $password = "";
    $database = "hotels";

    $conn = new mysqli($host, $username, $password, $database);


    if ($conn->connect_error) {


    die("Connection failed: " . $conn->connect_error);
    }
    ?>


    Ushbu ulanish skriptini ma'lumotlar bazasi bilan ishlashingiz kerak bo'lgan fayllarga qo'shing.

    3.2 Dasturning funksionalligi. Dastur xususiyatlari:

    Dasturning funksionalligi foydalanuvchilarga bron qilish tizimi bilan o'zaro aloqada bo'lish imkonini beruvchi xususiyatlarni yaratishni o'z ichiga oladi. Mana bir nechta asosiy dastur xususiyatlari:

    a. Foydalanuvchini ro'yxatdan o'tkazish va kirish:
    - Administratorlar va mehmonlarga xavfsiz ro'yxatdan o'tish va tizimga kirishga ruxsat bering.

    b. Administrator boshqaruv paneli:


    - Xonalar qoʻshish, band qilingan xonalarni koʻrish va bandlovlarni boshqarish imkoniyatlari bilan boshqaruvchilar uchun boshqaruv panelini koʻrsating.

    c. Xonani bron qilish:


    - Mehmonlar mavjud xonalarni ko'rib chiqish va band qilish imkoniyatiga ega bo'lishi kerak.
    - Sana diapazonlari asosida xona mavjudligini tekshiring.

    d. Rezervatsiyani tasdiqlash va bekor qilish:


    - Avtomatik ravishda bandlovlarni tasdiqlang va mehmonlarga tasdiqlovchi xatlarni yuboring.
    - Mehmonlar va ma'murlarga bronlarni bekor qilishga ruxsat bering.

    e. Xona inventarizatsiyasini boshqarish:


    - Administratorlar yangi xonalarni qo'shishlari, xona tafsilotlarini yangilashlari va agar kerak bo'lsa, xonalarni mavjud emas deb belgilashlari kerak.

    f. Hisobot va tahlil:


    - Xonaning bandligi, band qilish tendentsiyalari va boshqa tegishli tahlillar bo'yicha hisobotlarni yarating.

    g. Xavfsizlik choralari:


    - Xavfsiz autentifikatsiya va avtorizatsiya mexanizmlarini joriy etish.
    - Parollar kabi nozik foydalanuvchi ma'lumotlarini shifrlash.

    h. Javob beruvchi dizayn:


    - Tizim turli qurilmalarda, jumladan, ish stoli kompyuterlari, planshetlar va mobil telefonlarda foydalanuvchilar uchun qulay bo'lishini ta'minlang.

    i. Xatolarni hal qilish:


    - Foydalanuvchilarni mazmunli xato xabarlari bilan ta'minlash uchun xatolarni samarali boshqarishni amalga oshiring.

    j. Foydalanuvchi uchun qulay interfeys:


    - Ijobiy foydalanuvchi tajribasi uchun toza va intuitiv foydalanuvchi interfeysini loyihalash.

    k. Ro'yxatga olish va audit:


    - Audit maqsadlarida muhim harakatlar va o'zgarishlar jurnallarini yuriting.

    Bu xususiyatlar birgalikda mehmonlar va ma'murlarning ehtiyojlarini qondiradigan mustahkam onlayn bron qilish tizimini yaratadi. Ushbu funksiyalarni ishlatadigan PHP skriptlari MySQL ma'lumotlar bazasi bilan ma'lumotlarni olish va saqlash uchun o'zaro ta'sir qiladi va foydalanuvchilar uchun uzluksiz tajribani ta'minlaydi.

    Butun loyihani yaratish HTML, PHP, CSS va ma'lumotlar bazasi skriptlarini o'z ichiga olgan bir nechta fayl va kataloglarni o'z ichiga oladi. Quyida asosiy fayllar bilan soddalashtirilgan tuzilma mavjud. E'tibor bering, bu asosiy misol va real stsenariyda siz xavfsizlik choralari, tekshirish va boshqalarni qo'shishingiz kerak bo'ladi.

    1. db.php: Ma'lumotlar bazasiga ulanish skripti.




    $host = "localhost";
    $username = "root";
    $password = "";
    $database = "hotels";

    $conn = new mysqli($host, $username, $password, $database);


    if ($conn->connect_error) {


    die("Connection failed: " . $conn->connect_error);
    }
    ?>

    2. admin_login.php: Administratorga kirish sahifasi.




    include 'db.php';

    session_start();


    if ($_SERVER["REQUEST_METHOD"] == "POST") {


    $username = mysqli_real_escape_string($conn, $_POST['username']);
    $password = mysqli_real_escape_string($conn, $_POST['password']);

    $sql = "SELECT * FROM admins WHERE username='$username' AND password='$password'";


    $result = $conn->query($sql);

    if ($result->num_rows == 1) {


    $_SESSION['admin_username'] = $username;
    header("Location: admin_dashboard.php");
    } else {
    $error = "Invalid username or password";
    }
    }

    $conn->close();


    ?>

    html>





    Admin Login






    Download 0,62 Mb.
      1   2




    Download 0,62 Mb.