0% found this document useful (0 votes)
4 views7 pages

Muhammaddiyor

The document provides an overview of practical exercises related to the architecture of the MOODLE system and the 'Free Dekan's office' extension. It covers the modular architecture, MVC pattern, database structure, installation procedures, security settings, and optimization techniques. The aim is to develop practical skills in working with MOODLE and its extensions.

Uploaded by

komilupwork
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views7 pages

Muhammaddiyor

The document provides an overview of practical exercises related to the architecture of the MOODLE system and the 'Free Dekan's office' extension. It covers the modular architecture, MVC pattern, database structure, installation procedures, security settings, and optimization techniques. The aim is to develop practical skills in working with MOODLE and its extensions.

Uploaded by

komilupwork
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

Amaliy mashg'ulot

Mavzu: "Dasturiy ta'minot arxitekturasi" fanidan amaliy ishlarning


borishi haqida kirish va dastlabki ma'lumotlar. MOODLE tizimining
arxitekturasi bilan tanishish. "Free Dekan's office" kengaytirish blokining
2.x versiyasi arxitekturasi va funksionalligi bilan tanishish.

Ishdan maqsad: MOODLE tizimining arxitekturasi, "Free Dekan's


office" kengaytmasi va ularning o'rnatilishi bo'yicha amaliy ko'nikmalarni
shakllantirish.

Kerakli jihozlar: Kompyuter, Internet tarmog'i, lokal server


(XAMPP/WAMP).

1. Kirish

MOODLE (Modular Object-Oriented Dynamic Learning Environment) -


bu ochiq kodli ta'lim boshqaruv tizimi bo'lib, dunyo bo'ylab ta'lim
muassasalarida keng qo'llaniladi. Tizim PHP dasturlash tilida yozilgan
bo'lib, MySQL/MariaDB ma'lumotlar bazasidan foydalanadi.

2. MOODLE tizimining asosiy arxitektura tamoyillari

2.1 Modulli arxitektura

MOODLE tizimi modulli arxitekturaga asoslangan bo'lib, bu uning asosiy


afzalliklaridan biridir:

 Core (yadro) - asosiy funksionallik


 Plugins (плагинлар) - qo'shimcha funksionallik
 Themes (mavzular) - tashqi ko'rinish
 Language packs (til paketlari) - ko'p tilli qo'llab-quvvatlash

2.2 MVC arxitektura pattern

MOODLE tizimi Model-View-Controller (MVC) arxitektura patterniga


asoslangan:

 Model - ma'lumotlar bazasi bilan ishlash


 View - foydalanuvchi interfeysi
 Controller - biznes mantiq

2.3 Ma'lumotlar bazasi arxitekturasi


MOODLE tizimining ma'lumotlar bazasi 250 dan ortiq jadvallardan
iborat:

 Foydalanuvchilar ma'lumotlari
 Kurslar ma'lumotlari
 Baholash tizimi
 Plugins ma'lumotlari
 Tizim sozlamalari

3. MOODLE tizimining asosiy komponentlari

3.1 Core (ядро) komponenti

 Asosiy funksionallik
 Xavfsizlik tizimi
 Foydalanuvchilarni boshqarish
 Kurslarni boshqarish
 Baholash tizimi

3.2 Plugin arxitekturasi

Plugin turlari:

 Activities (faoliyatlar)
 Blocks (bloklar)
 Course formats (kurs formatlari)
 Authentication (autentifikatsiya)
 Enrollment (ro'yxatdan o'tish)
 Repository (fayl ombori)

3.3 Theme arxitekturasi

 Bootstrap asosidagi mavzular


 Responsive dizayn
 CSS/SCSS qo'llab-quvvatlash
 Javascript/jQuery integratsiyasi

4. "Free Dekan's office" kengaytmasi arxitekturasi

4.1 Asosiy funksionallik

 Talabalar ma'lumotlarini boshqarish


 Akademik guruhlarni boshqarish
 Baholash tizimini boshqarish
 Hisobotlarni shakllantirish

4.2 Arxitektura tuzilishi

 Core integration
 Database tables
 API endpoints
 User interface

4.3 Ma'lumotlar modeli

 Students
 Groups
 Grades
 Reports
 Settings

5. Mahalliy serverni o'rnatish va sozlash

5.1 XAMPP o'rnatish

1. XAMPP ni rasmiy saytdan yuklab olish


2. O'rnatish jarayoni
3. Xavfsizlik sozlamalari
4. Virtual hostlarni sozlash

5.2 Apache sozlamalari

apache
Copy
<VirtualHost *:80> ServerName moodle.local DocumentRoot
"C:/xampp/htdocs/moodle" <Directory "C:/xampp/htdocs/moodle">
Options Indexes FollowSymLinks AllowOverride All Require
all granted </Directory></VirtualHost>

5.3 PHP sozlamalari

ini
Copy
max_execution_time = 300memory_limit = 256Mpost_max_size =
50Mupload_max_filesize = 50Mmax_input_vars = 5000

5.4 MySQL sozlamalari


sql
Copy
CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;CREATE USER
'moodleuser'@'localhost' IDENTIFIED BY 'password';GRANT ALL
PRIVILEGES ON moodle.* TO 'moodleuser'@'localhost';FLUSH
PRIVILEGES;

6. MOODLE tizimini o'rnatish

6.1 Tizim talablari

 PHP 7.4 yoki undan yuqori


 MySQL 5.7 yoki MariaDB 10.2+
 Minimum 256MB RAM
 Minimum 1GB disk hajmi

6.2 O'rnatish bosqichlari

1. Moodle fayllarini yuklab olish


2. Faylllarni web-server direktoryasiga ko'chirish
3. Ma'lumotlar bazasini yaratish
4. O'rnatish skriptini ishga tushirish
5. Admin hisobini yaratish
6. Tizim sozlamalarini sozlash

6.3 Konfiguratsiya

php
Copy
<?phpunset($CFG);global $CFG;$CFG = new stdClass();$CFG->dbtype
= 'mysqli';$CFG->dblibrary = 'native';$CFG->dbhost = 'localhost';
$CFG->dbname = 'moodle';$CFG->dbuser = 'moodleuser';$CFG-
>dbpass = 'password';$CFG->prefix = 'mdl_';$CFG->wwwroot =
'http://moodle.local';$CFG->dataroot = 'C:/xamppdata/moodledata';
$CFG->admin = 'admin';$CFG->directorypermissions =
0777;require_once(__DIR__ . '/lib/setup.php');

7. "Free Dekan's office" kengaytmasini o'rnatish

7.1 Kengaytmani yuklab olish va o'rnatish

1. Kengaytma fayllarini yuklab olish


2. blocks direktoryasiga ko'chirish
3. Kengaytmani aktivlashtirish
4. Dastlabki sozlamalarni sozlash

7.2 Ma'lumotlar bazasi strukturasi

sql
Copy
CREATE TABLE mdl_block_deansoffice_students ( id BIGINT(10)
NOT NULL AUTO_INCREMENT, userid BIGINT(10) NOT NULL,
groupid BIGINT(10) NOT NULL, status TINYINT(2) NOT NULL
DEFAULT 1, timecreated BIGINT(10) NOT NULL, timemodified
BIGINT(10) NOT NULL, PRIMARY KEY (id)) ENGINE=InnoDB
DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

7.3 Asosiy klaslar strukturasi

php
Copy
class block_deansoffice extends block_base { public function init() {
$this->title = get_string('pluginname', 'block_deansoffice'); } public
function get_content() { if ($this->content !== null) { return
$this->content; } $this->content = new stdClass; $this-
>content->text = $this->get_main_content(); $this->content->footer
= ''; return $this->content; }}

8. Xavfsizlik sozlamalari

8.1 Asosiy xavfsizlik sozlamalari

 SSL sertifikatini o'rnatish


 Fayllar ruxsatlarini sozlash
 Xavfsiz parollar siyosatini o'rnatish
 Session xavfsizligini ta'minlash

8.2 Foydalanuvchilar huquqlarini boshqarish

 Role-based access control (RBAC)


 Capability-based permissions
 Context levels

8.3 Audit va monitoring

 Tizim loglarini saqlash


 Foydalanuvchilar faoliyatini kuzatish
 Xavfsizlik auditini o'tkazish

9. Testing va debugging

9.1 Unit testing

php
Copy
class block_deansoffice_test extends advanced_testcase { public
function test_block_creation() { $this->resetAfterTest(); $block
= new block_deansoffice(); $this-
>assertInstanceOf('block_deansoffice', $block); }}

9.2 Integration testing

 API testlari
 Database testlari
 Performance testlari

9.3 Debugging tools

 Moodle debugging mode


 PHP xdebug
 Browser developer tools

10. Optimization va performance

10.1 Cache optimization

 Memcached/Redis integration
 Page caching
 Session handling

10.2 Database optimization

 Index optimization
 Query optimization
 Table optimization

10.3 Frontend optimization

 Javascript bundling
 CSS minification
 Image optimization
Xulosa

Ushbu amaliy ish davomida MOODLE tizimining arxitekturasi, "Free


Dekan's office" kengaytmasi va ularning o'rnatilishi batafsil ko'rib
chiqildi. Tizimning modulli arxitekturasi, MVC pattern asosida
qurilganligi va kengaytiriluvchan arxitekturasi o'rganildi.

Foydalanilgan adabiyotlar

1. MOODLE Development Documentation (docs.moodle.org)


2. Learning PHP Design Patterns (O'Reilly Media)
3. PHP 7 Programming Blueprints (Packt Publishing)
4. Pro PHP MVC (Apress)
5. Web Application Architecture: Principles, Protocols and Practices

Glossariy

 MVC - Model-View-Controller
 API - Application Programming Interface
 RBAC - Role-Based Access Control
 SSL - Secure Sockets Layer
 XAMPP - Cross-Platform, Apache, MySQL, PHP, Perl

You might also like