Diplomnii etsii huvilbar

81
ШИНЖЛЭХ УХААН, ТЕХНОЛОГИЙН ИХ СУРГУУЛЬ ҮЙЛДВЭРЛЭЛИЙН ТЕХНОЛОГИ, ДИЗАЙНЫ СУРГУУЛЬ БАКАЛАВРЫН ДИПЛОМ БАЯРСАЙХАН ЭНХМАНДАХ “ПРОГРАМЧЛАГДАХ ЛОГИК УДИРДЛАГА” ХИЧЭЭЛИЙГ Е- СУРГАЛТАНД БЭЛТГЭХ

Transcript of Diplomnii etsii huvilbar

Page 1: Diplomnii etsii huvilbar

ШИНЖЛЭХ УХААН, ТЕХНОЛОГИЙН ИХ СУРГУУЛЬҮЙЛДВЭРЛЭЛИЙН ТЕХНОЛОГИ, ДИЗАЙНЫ СУРГУУЛЬ

БАКАЛАВРЫН ДИПЛОМ

БАЯРСАЙХАН ЭНХМАНДАХ

“ПРОГРАМЧЛАГДАХ ЛОГИК УДИРДЛАГА” ХИЧЭЭЛИЙГ Е- СУРГАЛТАНД БЭЛТГЭХ

Page 2: Diplomnii etsii huvilbar

Улаанбаатар хот 2013 он

ШИНЖЛЭХ УХААН, ТЕХНОЛОГИЙН ИХ СУРГУУЛЬҮЙЛДВЭРЛЭЛИЙН ТЕХНОЛОГИ, ДИЗАЙНЫ СУРГУУЛЬ

Баг: Хөнгөн үйлдвэрийн машин судлал, хэвлэлийн технологийн профиссорын багМэргэжлийн нэр: Хөнгөн үйлдвэрийн

автоматжуулалтМэргэжлийн код: D525500

БАКАЛАВРЫН ДИПЛОМ

СЭДЭВ: “Программчлагдах логик удирдлага” хичээлийг Е-сургалтанд бэлтгэх

Гүйцэтгэсэн: /Б.Энхмандах/Удирдсан: /Д.Пүрэвмагнай/Зөвлөсөн: / /Шүүмж: /Д.Пүрэвмагнай/

Page 3: Diplomnii etsii huvilbar

Улаанбаатар хот 2013 он

ДИПЛОМЫН АЖИЛ, ТӨСЛИЙН ДААЛГАВАР, СЭДЭВЧИЛСЭН ТӨЛӨВЛӨГӨӨ

“Хөнгөн үйлдвэрийн автоматжуулалт” мэргэжлээр төгсөхОюутнуудын дипломын үзлэг болон хамгалаах хуваарь

2013,09,14

Үзлэг Гүйцэтгэл Үзлэгийн оноо Хугацаа

Удирдагчийн үзлэгСудалгааны материалуудыг бэлэн болгох,

зорилго, зорилтуудаа тогтоосон байх3 IX/23

Нэгдүгээр үзлэг Онол, судалгааны хэсэг 7 X/14

Хоёрдугаар үзлэгЗохион бүтээлтийн хэсэг

/бичвэр, зураг/10 X/28

Гуравдугаар үзлэгУдирлагийн төсөл тооцоо

бичвэр, зураг/10 XI/11

Дөрөвдүгээр үзлэгPID контроплерийн төсөл тооцоо, эдийн

засаг, дүгнэлт5 XII/2

Урьдчилсан хамгаалалтанд орох эрх

Диплом дууссан байна XII/20

Урьдчилсан хамгаалалт

Диплом 100% дууссан байна +-20 XII/23

Page 4: Diplomnii etsii huvilbar

Удирдагчийн дүгнэлт тодорхойлолт

+-15 I/4

Дипломын хамгаалалт +-30 I/6

Page 5: Diplomnii etsii huvilbar

ГАРЧИГ

ОршилНэгдүгээр бүлэг: Дипломын сэдвийн тухай

1. Сэдвийг хэрэгжүүлэх үндэслэл2. Зорилтууд3. Үүрэг, ач холбогдол4. Бүлгийн дүгнэлт

Хоёрдугаар бүлэг: СудалгааПрограмыг хөгжүүлэх арга болон технологийн судалгаа2. Вэб сайт хийх арга

2.1.1 Хүрхрээ загвар2.1.2 MySQL өгөгдлийн сангийн судалгаа

MySQL өгөгдлийн санг Ubuntu үйлдлийн систем дээр суулгахPhpMyAdmin-ийг Ubuntu үйлдлийн систем дээр суулгах

2.1.3 “Symfony” PHP фреймворкийн судалгаа“Symfony” framework-ийн түүх“Sensio Labs”-н тухай“Symfony” framework-ийн хувилбарSymfony-ийн ажиллах зарчимPHP тохиргоо“Symfony” framework-ийг суулгах“Symfony” framework болон өгөгдлийн бааз“Symfony” framework-ийн түлхүүр ойлголтуудThe MVC ArchitectureХамгаалалтВэб серверийн тохиргооОрчин- (Environment)

2.1.4 “Jquery” жаваскрипт сангийн судалгаа2.1.5 UML технологийн судалгаа

2.2 E-хичээл гэж юу вэ?2.2.1 E -хичээлийн давуу тал хамрах хүрээ2.2.2 E –хичээлийн стандарт

Гуравдугаар бүлэг: ВЭБ САЙТЫН АГУУЛГА, ЗАГВАР, ҮНДСЭН БҮТЭЦ 3.1 E-хичээлийн стандартын нийцэл

Вэб сайтын зорилго чиглэл Агуулга

3.2 Вэб сайтын хайлтын хэсэг3.3 Бүртгэл болон нэвтрэх хэсэг3.4 Багийн гишүүд болон багш нарын оролцоо 3.5 Admin -тай холбоо тогтоох3.6 E-хичээл бэлтгэх, байршуулах, засварлах, нийтлэх зааварчилгаа 3.7 E-хичээлийн байрших хугацаа, хязгаарлалтыг шийдвэрлэх арга замууд3.8 Бүлгийн дүгнэлт

Дөрөвдүгээр бүлэг: ХЭРЭГЛЭГЧИЙН ШААРДЛАГА

Page 6: Diplomnii etsii huvilbar

4.1 Системийн ерөнхий ойлголт4.2 Хэрэглэгчийн онцлог

Бүтээгдэхүүний эцсийн хэрэглэгчид4.3 Automatic.mn нүүр хуудасны ерөнхий харагдах байдал

Ерөнхий бүтэцийг блок схемээр харуулсан загвар.4.4 Automatic.mn вэб сайтын нүүр хуудас кодчилолын түвшинд дараах

байдалтай бичигдэнэ.4.5 Мэдээ булан кодчилолын түвшинд дараах байдалтай бичигдэнэ.

Бүртгэл болон нэвтрэх хэсэг кодчилолын түвшинд дараах байдалтай бичигдэнэ.Admin -тай холбоо тогтоох булан кодчилолын түвшинд дараах байдалтай бичигдэнэ.

4.6 E-хичээлийн байрших хугацаа, хязгаарлалтыг шийдвэрлэх арга замууд кодчилолын түвшинд дараах байдалтай бичигдэнэ.

Бүлгийн дүгнэлтТавдугаар бүлэг. САНХҮҮГИЙН ТООЦООДҮГНЭЛТАШИГЛАСАН ХУУДСЫН ЖАГСААЛТХАВСРАЛТЗУРГИЙН САН

Page 7: Diplomnii etsii huvilbar

ОРШИЛ

Бидний амьдарч буй энэ эрин зуун бол мэдээллийн технологийн эрин зуун юм. Тэр

дундаа компьтерийн програм хангамж маш хурдацтай хөгжиж байна. 10-аад жилийн

тэртээ Монгол улсад компьютер, интернэт танигдаж байсан бол өнөө үед компьютер

ашигладаггүй, интернэт ашигладаггүй хүн гэж бараг үгүй болжээ.

Мэдээллийн технологи, програм хангамж нь хүний үйл ажиллагааг маш ихээр

хялбарчилж байдаг. Мэдээллийн технологийн дэвшилтэт чанарууд бизнесийн бүх

салбаруудад ач тусаа өгч байна. Тэр ч утгаар цахим хэлбэрээр үйлчилгээ явуулдаг албан

байгууллага нэмэгдсээр байна.

Миний дипломын ажлын хийх ёстой зүйл бол танхимын сургалтын дутагдалтай

талыг нөхөж цахим хэлбэрт оруулах буюу Е хичээл бэлтгэх юм. Ингэснээр бидний цаг

хугацаа, хүч хөдөлмөр хэмнэгдэж интернетээр хичээл сонголт хийдэг байсан бол одоо

хичээл судлах боломж бүрдэж байгаа юм. Танхимын сургалтаас ялгаатай нь оюутан

хичээлийг урьдчилан судлах, хугацаа дууссан үед зөвшөөрөл авч дахин судлах, олж авсан

мэдлэгийг тухайн цагт дүгнүүлэх, хичээлд алсын зайнаас оролцох, хичээлийн ирц

бүртгүүлэх боломж бүрдэж байгаа нь уг системийн үндсэн давуу тал болж байгаа билээ.

Ингэхдээ сурч буй хугацаандаа олж авсан мэдлэгээ ашиглан бодит хэрэглэгчдийн хүртээл

болгох зорилготойгоор ажиллалаа.

Page 8: Diplomnii etsii huvilbar
Page 9: Diplomnii etsii huvilbar

НЭГДҮГЭЭР БҮЛЭГ:

ДИПЛОМЫН СЭДВИЙН ТУХАЙ

Page 10: Diplomnii etsii huvilbar

Энэхүү бүлэгт дипломын төслийн үндэслэл, зорилтууд, төслийг хэрэгжүүлсний ач

холбогдол зэргийг тодорхойлсон.

1.1 Сэдвийг хэрэгжүүлэх үндэслэл

Танхимын сургалт нь тогтсон хүгацаандаа нэг л удаа заадаг. Энэ нь удаан ойлгодог,

мөн янз бүрийн шалтгаанаар хичээлдээ сууж амжаагүй тохиолдолд тухайн хичээлийг

ойлгохгүй өнгөрөх нь бий. Тиймээс цахим сургалт нь танхимын учир дутагдалтай талыг

нөхөж автоматжуулсанаар дараах ач холбогдолтой. Үүнд:

Цаг хугацаа хэмнэнэ. Жишээлбэл:

o Хэрэглэгчид уулзах шаардлагагүйгээр интернетэд суурилсан програм

хангамж хэрэглэн харилцана.

Эдийн засгийн хувьд хэмнэлттэй. Жишээлбэл:

o Цаасгүй технологийг дэмжин цаасанд зарцуулсан мөнгийг хэмнэнэ.

Олон шат дамжлага болсон үйлүүдийг арилган хэрэглэгчид цогц үйлчилгээ

үзүүлснээр хэрэглэгчдийн сэтгэл ханамжийг нэмэгдүүлнэ. Жишээлбэл:

o Хэрэглэгч үйлийг гүйцэлдүүлэхийн тулд зөвхөн интернет буюу интернетэд

суурилсан програм хангамж байна.

Е хичээл болон дипломын хүрээнд хийгдсэн автомат систем ашигласнаар

хөдөлмөрийн бүтээмж дээшилнэ.

1.2 Зорилтууд

1. E хичээлийн стандартад нийцсэн вэб сайт хийх, турших.

2. Мэргэжлийн багш оюутан нарт E хичээл бэлтгэх, вэб хуудсанд хэрхэн байршуулах

талаар сургалт зохион байгуулах.

3. E хичээлийн стандартад нийцсэн вэб сайт хийж гүйцэтгэх, тогтмол ажиллагааг

хангах, багш оюутанд суртчилах, түгээн дэлгэрүүлэх.

4. Төлөвлөсөн хугацаанд хийж гүйцэтгэх, тэнхим болон багш нарт хүлээлгэн өгөх.

1.3 Үүрэг, ач холбогдол

E яхичээл нь интернетийн орчин нөхцөл бүхий л газарт цагын хязгааргүй үнэ

төлбөргүйгээр хэмжээ хязгааргүй олон нийтэд асар хурдтай түгээж болдгоороо бусад

төрлийн хичээл заах арга технологиос эрс ялгардаг юм. Хамрах хүрээ нь зөвхөн

Page 11: Diplomnii etsii huvilbar

мэргэжлийн ангийн оюутан багш нар болон интернет хэрэглэх чадвартай хүн бүхэнд

нээлттэй төрөл бүрээр баяжуулан судлах бүрэн боломжтой байдаг нь орчин үеийн

залуусын шаардлагад бүрэн нийцэж байгаа билээ.

Хэрэглэч үйл ажиллагаа явуулхад хялбар ойлгомжтой байх үүрэгтэй.

Систем хэрэглэгчийн бодит амьдрал дээр хийгддэг үйлдлүүдийг

автоматжуулах.

Зардал хэмнэх.

o Цаг хугацаа

o Мөнгө

o Хүч хөдөлмөр гм.

Хэрэглэгчдэд үйл ажиллагаа явуулахад ойлгомжтой, хялбар, тааламжтай

нөхцөл бүрдүүлэх.

1.4 Бүлгийн дүгнэлт

Энэ бүлэг нь дипломын төслийн сэдэв болох I.LI354 хичээлийг Е сургалтанд

бэлтгэх дипломын төслийн хүрээнд хийж гүйцэтгэсэн вэб сайтын үүрэг ач холбогдол,

дипломын зорилтууд, сэдэв хэрэгжүүлэх болсон шаардлага зэрэг ерөнхий ойлголтыг

оруулан бичсэн болно.

Page 12: Diplomnii etsii huvilbar
Page 13: Diplomnii etsii huvilbar

ХОЁРДУГААР БҮЛЭГ

СУДАЛГАА

Page 14: Diplomnii etsii huvilbar

1. Програмыг хөгжүүлэх арга болон технологийн судалгаа

Аливаа төслийг хийж гүйцэтгэхэд ижил төстэй төслүүдийн судалгаа, хийх арга

технологи нь ажлын үр дүнд нөлөөлөх хамгийн гол хүчин зүйл нь болдог. Тиймээс энэхүү

дипломын төслийг хийж гүйцэтгэхэд нэн тэргүүнд тавигдах зүйл бол судалгаа буюу тэр

дундаа хэрэгжүүлэх арга юм. Ямар процесс загвар, арга технологи ашиглах нь

хөгжүүлэгчийн сонголт байдаг боловч өөрийн хөгжүүлж буй програм хангамж, ажлын

төлөвлөгөөндөө зориулж сонгох нь маш чухал. Програм хангамжийг хөгжүүлэх маш олон

процесс загвар байдаг ба тэр дундаа хамгийн өргөн тархсан процесс загвар нь хүрхрээ

загвар юм. Миний бие дипломын төслийн ажлыг хүрхрээ загвар ашиглан гүйцэтгэхээр

болсон. Учир нь дипломын төслийн төлөвлөгөөнд үе шат бүрийг хугацаанаас хамааруулан

гаргахдаа нэг үйл ажиллагааг бүрэн дууссаны дараа удирдагч багшдаа шалгуулан

дүгнүүлээд дараагийн үеийг хэрэгжүүлж байхаар гаргасан. Энэ нь хүрхрээ загварын үе

шат бүр асуудлаа сайн тодорхойлж бүрэн шийдвэрлэсний дараа, дараагийн үе рүү орох

зарчимтай тохирч байгаа юм.

1. Вэб сайт хийх арга

Вэб хуудас хийх олон арга технологи байдаг мөн олон тооны програмын хэл

байдаг үүнээс хамгийн түгээмэл аргыг авч үзье.

2.1 Хүрхрээ загвар

Програм хангамжийн хөгжүүлэлтийн маш олон процесс загварууд байдаг ба

тэдгээрээс хамгийн өргөн тархсан, түгээмэл загвар нь хүрхрээ загвар юм. Энэхүү загвар нь

дотроо хэд хэдэн үе шатуудад хуваагддаг. Нэг үе шат нь бүрэн дууссаны дараа дараагийн

үе рүү ордог ба нэгэнт гүйцэтгээд дууссан үе шат руу буцаж очдоггүй.

Хүрхрээ загвар нь дараахь үндсэн таван үе шатаас бүрддэг.

1. Шаардлага тодорхойлох

2. Зохиомж

3. Кодчлол

Page 15: Diplomnii etsii huvilbar

4. Нэгтгэх болон турших

5. Нэвтрүүлэлт болон сайжруулалт

Зураг 2.1 Хүрхрээ загвар

Хүрхрээ загвар өргөн тархсан, ойлгоход хялбар, сайн бүтэцлэгдсэн гэх мэт олон

давуу талууд байдаг боловч сул талууд бас байдаг.

Үүнд:

Шаардлага бүрэн дүүрэн тодорхойлогдсон гэж эхэн үед авч үздэг нь бодит

байдал дээр нийцдэггүй

Програмын ажиллах хувилбар нь хөгжүүлэлтийн төгсгөлд гардаг

Захиалагч хөгжүүлэлтийн эхэн үе буюу шаардлага тодорхойлход оролцдог

2.2 MySQL өгөгдлийн сангийн судалгаа

Диплом ангийн ажлийн бүртгэлийн систем нь өгөгдлийн сантай тул MySQL-ийг

ашиглах шаардлага гарсан.

MySQL өгөгдлийн сан нь түгээмэл тархсан өгөгдлийн сангуудын нэг бөгөөд тэр

дундаа вэб хөгжүүлэгчид өргөнөөр ашигладаг. Function, trigger, procedure ашиглах бүрэн

боломжтой ба GNU (General Public License) буюу нээлтэй эх юм. Өөрөөр хэлбэл хүссэн

хэн бүхэн хөгжүүлэлтэд оролцож, үнэгүй хэрэглэж болно. Windows, MacOS, Unix зэрэг

үйлдлийн системүүд дээр платформын хамааралгүйгээр ажиллаж, суурилуулахад хурдан,

хэрэглэхэд хялбар гэх мэт олон давуу талтай.

MySQL өгөгдлийн санг Ubuntu үйлдлийн систем дээр суулгах

Page 16: Diplomnii etsii huvilbar

Эхлээд Terminal нээнэ.

“sudo apt-get install mysql-server” гэсэн командыг ажиллуулж суулгана.

Суулгах явцад өгөгдлийн сангийн нууц үгийг асуухад нууц үг хийнэ.

“mysql -u root -p” гэсэн командыг ажиллуулж MySQL сервер лүү нэвтрэн

орно. Ингэхдээ суулгахад хийсэн нууц үгээ ашиглана.

PhpMyAdmin-ийг Ubuntu үйлдлийн систем дээр суулгах

PhpMyAdmin нь PHP дээр суурилан хийгдсэн, MySQL өгөгдлийн сангийн

сервертэй харьцан, удирдан ажиллахад маш хялбар болгодог веб интерфэйстэй програм

юм.

Эхлээд Terminal нээнэ.

“sudo apt-get install phpmyadmin” гэсэн командыг ажиллуулж суулгана.

“sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf”

гэсэн командыг ажиллуулж PhpMyAdmin-ий тохиргооны файлын богино

холбоосыг apache-ийн тохиргооны файлуудын дунд үүсгэнэ.

“sudo /etc/init.d/apache2 restart” гэсэн командыг ажиллуулж apache серверийг

дахин ажиллуулна.

http://localhost/phpmyadmin гэсэн холбоосоор PhpMyAdmin-ийг ажиллуулна.

2.3 “Symfony” PHP фреймворкийн судалгаа

Энэхүү системийг сүүлийн үед веб тохнологи хөгжүүлэлтэд нилээд өргөн

хүрээгээр ашиглагдаж байгаа вэб хөгжүүлэлтийн фреймворк болох “Symfony”

фреймворкийг ашиглах хөгжүүлэх юм. “Symfony” фреймворк нь сүүлийн 9 жилийн

хугацаанд хөгжүүлэгдэж байгаа бөгөөд "php" хэл дээр бичигдсэн фреймворкууд дундаас

хамгийн өргөн хэрэглээтэй байгаа фреймворк юм.

“Symfony” framework-ийн түүх

“Symfony” framework нь 9 жил гаруй хөгжүүлж байгаа Нээлттэй Кодчлолын төсөл

бөгөөд одоогоор хамгийн их тархацтай РНР Framework-уудын нэг юм. “Symfony”

framework нь “Sensio Labs”-aac эрхлэн гаргадаг вэб хөгжүүлэхэд зориулагдсан нээлттэй

технологийн framework юм. “Sensio Labs”-ийг анх Фабейн Потенсейр (Fabien Potencier)

Page 17: Diplomnii etsii huvilbar

1998 онд үүсгэн байгуулсан юм. Фабейн Потенсейр анх (Perl) дээр вэб сайт хийж эхэлсэн

байна. Харин РНР 5 гарснаас хойш тэрээр санаагаа эрс өөрчлөн РНР рүу анхаарлаа

хандуулсан бөгөөд өөрийн харилцагчдад зориулж компанийх нь хөгжих гол хөшүүрэг

болсон РНР framework-ийг 2004 онд үүсгэн бий болгосон.

"Symfony" framework нь вэб програм хангамж хөгжүүлэгчдэд зориулан гаргасан

framework ба програмчлалын “php” хэл дээр бичигдсэн байдаг. “Symfony” фреймворк нь

програмын кодчилол болон цаг хугацааг багагүй хувьтайгаар хэмнэж байгаа юм. Энгийн

жишээг л хэлэхэд өмнө нь өгөгдлийн санд мэдээлэл хадгалахын тулд олон формуудын

кодыг бичин гараар үүсгэдэг байсан бол “Symfony” фреймворкийн ачаар ганц мөр кодоор

энэ бүх асуудлыг шийдэж болох юм. “Symfony” фреймворкийг хөгжүүлж эхлээд удаагүй

байгаа хэдий ч аль хэдийнээ вэб сайт хөгжүүлэгчдийн хувьд нэлээд дэлгэрээд байгаа

хүчирхэг технологи юм.

Одоогийн байдлаар “Symfony” framework-ийн албан ёсний хамгийн сүүлчийн

хувилбар "Symfony 2.0" хувилбар энэ зунаас эхлэн туршилтын хувилбар ажиллагаанд

ороод байгаа юм. "Symfony 2.0"-ийн хувьд өмнөх хувилбарын дэвшилтэт давуу талыг

өөртөө шингээсэн ба дутагталтай талыг нь сайжруулан гарч ирж байгаа юм. Одоогийн

байдлаар "Symfony 2.0" туршилтын хувилбар байдлаар гараад байгаа хэдий ч өмнөх

хувилбараасаа бараг 20 хувь хурдтай ба кодыг бичиглэлийг мөн төдий чинээ багасгаж

чадаж байгаа юм.

“Symfony” framework-ийн хамгийн дэвшилтэт давуу тал нь вэб хөгжуулэлтийн

дэвшилтэт арга болох "MVC" зарчмаар ажилладаг юм. Ингэснээр код болон ажиллагааны

логик уялдааг илүү дөхөм болгож байгаа билээ.

“Sensio Labs”-н тухай

Синсео Лаб (Sensio Labs) бол Нээлттэй кодчиллын (Open-Souce) технологи ба

интернет маркетинг дээр тулгуурласан үйлчилгээ, зөвлөгөө өгдөг компани юм.

1998 онд Фабиен Потенсейр (Fabien Potencier), Грегори Паскал (Gregory Pascal),

Самуэл Потенсейр нарын санаачлагаар байгуулагдсан Сенсио компани нь 1990 оны

сүүлээр хүчээ аван интернетийн ертөнцөд бүрэн цогц вэб урлах үйл хэрэгт гол тоглогчийн

Page 18: Diplomnii etsii huvilbar

байрлалд аваачигдсан. Синсео нь ихэнх тоглогчид бизнесийн салбарт мэргэжлийн төгс

аргачлалыг нэвтрүүлэхэд project болгоныг дахин шинээр үүсгэх шаардлагатай хэмээн

бодож байсан тэрхүү интернетийн уналтаас ялгаран гарч чадсан.

Ихэнх Синсео-гийн хэрэглэгчид нь том хэмжээний корпораци-ууд байдаг ба

тэднийг шинийг санаачлах, цаг хугацааг маркетинг руу чиглэсэн бага хэмжээний төслөөс

дунд хэмжээний хүртэл өсөн хөгжихэд нь гол хүч нь болж өгсөн. Мөн цогц интернет

application-ы аудит хийх, зөвлөгөө өгөх, сургалтын чиглэлээр интернет суурилагдсан

үйлчилгээг үзүүлдэг. Синсео Лаб нь Францад болон гадаадын бусад орнуудад төсөл

хэрэгжүүлсэн туршлагатай компани юм.

Харин гол зүйл нь бол Синсео Лаб нь Symfony framework-ийг хөгжүүлдэг ба Open-

Source project байхад нь ивээн тэтгэдэг. Энэ нь өөрөөр хэлбэл Symfony нь том

корпорацийн хэмжээний вэб application дээр ажилласан туршлаган дээр үндэслэгдэж

хөгждөг гэсэн үг. Хөгжиж ирсэн 11 жилийн өмнөөс, Синсео нь үргэлж мэргэшсэн

хүчирхэг стратеги барин хөгжин ирсэн. Нээлттэй кодчиллын (Open-Souce) технологи

болон dynamic scripting хэлүүдийг голчилдог Синсео нь бүх LAMP platforms-r дэмжин

ажилладаг. Синсео нь тэдгээрийг хэлүүдийг ашиглах framework-ийн маш сайн

туршлагатай ба ихэвчлэн Django, Rails мөн мэдээж Symfony дээр application хөгжүүлдэг.

“Symfony” framework-ийн хувилбар

Symfony 1.3 болон symfony 1.4 хоёр хувилбар бараг нэгэн цагт (2009 оны сүүлээр)

гарсан. Үнэндээ хоёулаа ижилхэн онцлог давуу талуудтай хийгдсэн. Хоёр хувилбарын

ялгаа нь зөвхөн хэрхэн өмнөх хувилбаруудаа дэмжиж ажилладаг гэдгээрээ л ялгаатай

болно. Symfony 1.3 нь таны хуучин symfony-ий хувилбар (1.0, 1.1, or 1.2) ашиглаж хийсэн,

шинэчлэл хийгдэх шаардлагатай цогц хэмжээний төсөлдөө авч ашиглахад зориулагдан

гарсан. Энэ нь өмнөх хувилбаруудтайгаа зохицох давхаргатай ба 1.3 хөгжих явцад аль

хэдийнээ хэрэггүй болсон өмнөх хувилбарын онцлогуудыг өөртөө агуулдаг.

Symfony-ийн ажиллах зарчим

Page 19: Diplomnii etsii huvilbar

Зураг 2.2 Symfony MVC архитектур

Зураг 2.3 Symfony-ий ажиллах зарчим

Symfony нь MVC архитектуртай ба хэрэглэгчээс хүсэлт ирэхэд хэрэглэгчийн

хүсэлтэд харгалзах модуль дуудагдаж тухайн модулийн action эхэлж ажилладаг. Action нь

моделиудтай ажиллан үр дүнг өөрт харгалзах template илгээдэг. Template нь олон partial

болон component–ээс тогтдог ба үр дүн нь layout дээр ирэн response болдог.

Page 20: Diplomnii etsii huvilbar

Symfony нь config хавтсан дотор yml дээр тохиргоонуудаа хийдэг. Өгөгдлийн сан,

нууцлал болон cache буюу нөөцийн тохиргоонууд хийгддэг.

PHP тохиргоо

PHP тохиргоо нь үйлдлийн систем бүрд нэгээс нөгөөд өөр өөр байдаг учираас

Symfony-ийг хамгийн багадаа байж болох тохиргоо хийгдсэн эсэхийг шалгаж үзэх

хэрэгтэй.

Эхлээд, phpinfo() юмуу php –v коммандаар хамгийн багадаа “PHP 5.2.4” хувилбар

суугдсан эсэхийг шалгах хэрэгтэй. Вэб-д болон коммандад хоёр өөр PHP хувилбар

суулгасан эсэхээ нягтлах шаардлагатай.

Дараах линк-ээр symfony-ийн тохиргооны скриптийг татаж авч болно.

http://sf-to.org/1.4/check.php

Скриптээ вэбийн root хэсгийн аль нэгэн хэсэгт нь хадгалан дараах коммандаар скриптийг

ажиллуулна..

$ php check_configuration.php

Хэрэв ямар нэгэн асуудал гарвал коммандаар гарах хариу нь хэрхэн, яаж засах

талаарх зөвлөгөөг өгнө. Мөн скриптийг Браузераас шалгаж засах боломжтой. Энэ нь

php.ini файл нь дээрх 2 орчинд өөр өөр ялгаатай тохиргоотой байж болдог учраас юм.

Шалгасныхаа дараа файлыг устгах шаардлагатай.

“Symfony” framework-ийг суулгах

"Symfony" framework-ийг суулгах дараах хэд хэдэн арга байдаг.

Архив файлаас суулгах

PHP pear ашиглан суулгах

Энэ дундаас хамгийн хялбар бөгөөд өргөн ашиглагддаг арга нь Шууд татан суулгах

арга юм. Энэ аргаар суулгахдаа интернэтэд зайлшгүй холбогдсон байх шаардлагатай ба

Page 21: Diplomnii etsii huvilbar

өөрийнх сайтаас "Symfony" framework-ийг татан өөрөө суулгадаг хамгийн хялбар арга юм.

Энэхүү аргыг "PEAR Package" гэж нэрлэдэг.

Нетээс татан суулгах "PEAR Package" аргыг ашиглахдаа эхлээд нетэд холбогдон

дараах кодыг ажиллүүлах шаардлагатай. Энэ код нь зөвхөн нетээс "Symfony" framework-

ийг татан суулгах сувгийн бэлдэж байгаа юм.

$ pear channel-discover pear.symfony:project.com

Дээрх кодыг ажиллуулсны дараагаар "Symfony" framework-ийг татан суулгах үндсэн

ажиллагаа эхэлнэ.

$ pear install symfony/symfony-1.4.6

Уг код нь "Symfony''-ийг суулгах үндсэн код юм. Энэхүү код нетээс татан суулгадаг

тул нэлээд удаан хүлээх шаардлагатай.

“Symfony” framework болон өгөгдлийн бааз

"Symfony" framework нь томоохон хэмжээний хэд хэдэн өгөгдлийн баазтай

холбогдон ажиллаж чадвартай framework юм. Гэхдээ уг framework нь "php" хэл дээр

бичигдсэн учраас ихэвчлэн "MySql" өгөдлийн баазтай ажиллахад хялбар. Өгөгдлийн

сантай холболт үүсгэх үйл явц нь өмнө нь "php" хэл дээр бичдэг шиг "php" хуудас

болгоны дээр өгөдлийн сантай холбосон кодыг нэмэлтээр оруулж өгөх шаардлагагүй

болсноороо давуу юм. Учир нь уг хөгжүүлж байгаа төслийг өгөгдлийн сантай холбох

буюу "Symfony" төсөл дээр өгөгдлийн санг буулгалт хийх гэсэн ганцхан ажиллагаа л

шаардлагатай.

Өгөгдлийн сантай холбох буюу өгөгдлийн сангийн схемийг оруулж ирэх:

symfony doctrine:build-schema

symfony doctrine:build -all-classes

symfony doctrine:build-schema

Энэхүү кодыг "Windows Command Processor" буюу "cmd" дээр өөрийн хөгжүүлж байгаа

төсөл дотор орон кодыг ажиллуулна өгнө. Дээрх кодын эхний мөр кодыг ажиллуулахад

Page 22: Diplomnii etsii huvilbar

"Symfony" тесөлд өгөгдлийн санг холбож өгөх уг төсөлд тухайн өгөгдлийн сангийн бүхий

л холбоо хамаарал зэргийг буулгалт хийж өгдөг. "Symfony" framework-ийн хувьд

өгөдлийн сантай ажиллахын тулд "Symfony''-ий өөрийнх комманд болох "doctrine" гэсэн

коммандын түлхүүр үгийн тусламжтайгаар холбогддог.

symfony doctrine:build -all-classes

Энэхүү код нь "Symfony" төсөлд өгөгдлийн санг буулгалт хийсний дараагаар дээрх кодыг

ажиллуубал өөрийн төсөлд оруулж ирсэн өгөгдлийн сангаас шалтгаалан тухайн өгөгдлийн

сангийн хүснэгтүүдэд харгалзах modele, form, filter-үүд үүснэ. Энэ сайтын админ талд

харагдах ба үүний тусламжтайгаар өгөгдлийн санд мэдээлэл нэмэхэд шаардагдах форм

болон хайлт хийх талбайруудыг "Symfony" өөрөө үүсгэдэг юм.

“Symfony” framework-ийн түлхүүр ойлголтууд

Symfony фреймворкийн талаар суурь ойлголттой болохын тулд юун түрүүнд дараах

зүйлүүдийг таньж мэдсэн байх шаардлагатай. Үүнд:

Project

Application

Module

Form

Action

Layout

Template

Өгөгдлийн сан

“Symfony” төсөл үүсгэх:

Ингэхийн тулд өөрийн серверийн root директорд орсон байх шаадлагатай ба доор

кодыг ажиллуулна

symfony generate:project pro_name

Page 23: Diplomnii etsii huvilbar

Application үүсгэх:

“Symfony” төсөл ерөнхийдөө биеэ даасан Application-уудаас тогтох ба хэдэн ч

Application байж болно.

symfony generate: app applic_name

Module үүсгэх:

Application-нд модуль үүсгэдэг. Модуль үүсгэхдээ 2 төрлөөр үүсгэдэг. Үүнд энгийн

модуль үүсгэх, өгөгдлийн сангаас модуль үүсгэх гэж 2 төрөл байна.

symfony generate:module applic_name module_name

symfony doctrine:generate-module app_name new_mod_name lib_Doctrine_modelname

The MVC Architecture

Хэрэв ямар нэгэн framework ашиглахгүй “PHP” вэб сайт хөгжүүлж байсан

бол “HTML” хуудас бүрт нэг “PHP” файл гэсэн дүрмээр ажиллаж байсан

байх.  Тэдгээр “PHP” файлууд нь нэг ижил төрлийн бүтцийг агуулдаг: үүсгэх, ерөнхий

тохиргоо, хүсэлтийн хуудастай холбоотой бизнес логик, баазаас өгөгдөл цуглуулах мөн

эцэст хуудсыг үүсгэх “HTML” хуудас гэх зэрэг.

Магадгүй “HTML” хуудсаас template-ын логик-ыг тусд ашиглаж байсан байх. Мөн

баазын abstraction layer-ыг тусд нь бизнес логикоос нь ангид авч ашиглаж байсан байж ч

магадгүй.  Гэсэн ч ихэвчлэн эмхтгэхэд нилээн төвөгтэй маш их кодтой л үлддэг байсан.

Хэдийгээр хийхэд нилээн хурдан боловч, хөгжүүлэх тусам өөрчлөлт хийхэд төвөгтэй

болж, бараг  өөр хүн хэрхэн хийгдэж, ажиллаж байгааг бараг ойлгохгүй болдог.

Энэ бүх асуудлаас гарах сайхан шийдэл бас байна. Вэбийн хөгжилд өнөө үед

кодоо  зохицуулах хамгийн түгээмэл шийдэл бол MVC загварчлалын  хэв маяг юм.

Товчхондоо, MVC загварчлалын хэв маяг нь кодыг тань байх ёстой зарчмых нь дагуу

зохицуулахыг тодорхойлдог. Энэ хэв маяг нь кодуудыг 3 давхаргад (layer) –т хуваан авч

үздэг.

Page 24: Diplomnii etsii huvilbar

o The Model давхарга бизнес логикийг тодорхойлдог  (өгөгдлийн бааз мөн

энэ давхаргад хамаарна). Symfony  бүх класс болон Model-той холбоотой

бүх файлууд lib/model/ хавтаст хадгалагдана.

o The View хэрэглэгч ямар зүйлтэй харицаж байгаа байдал(template engine энэ

давхаргын нэг хэсэгт орно). Symfony-д голдуу View давхарга

нь PHP template-ээр үүсдэг. Тэд өөр өөр templates/ хавтасд хадгалагддаг.

o The Controller бол хэрэглэгчээс хүссэн өгөгдлийг Model

хэсгээс View давхарга руу дамжуулах Model-ыг дуудах багахан код.

Symfony-ыг суулгах үед бүх хүсэлт front controller-р зохицуулагддаг

жишээтэй (index.php ба frontend_dev.php). 

Эдгээр контроллорууд нь яг жинхэнэ ажиллах action-уудыг төлөөлдөг.

Тэдгээр action-гууд логикоор module-уудад бүлэглэгдэн байрладаг.

Зураг 2.4 MVC Architecture

Page 25: Diplomnii etsii huvilbar

Хамгаалалт

Ерөнхийдөө generate:app task нь вэб-ын орчинд хамгийн их тархсан 2 төрлийн

аюулаас хамгаалагдсан байдаг. Symfony нь бидний өмнөөс автоматаар хамгаалалтыг

авдаг.

XSS дайралтаас хамгаалж гаралтын хамгаалалт (output escaping) идэвхждэг, CSRF

дайралтаас хамгаалж random хамгаалалт хийгддэг.

Мэдээж, дараах сонголтуудын ачаар өөрөө тохируулах боломжтой.

escaping-strategy: Идэвхжүүлэх эсвэл унтраах output escaping

csrf-secret: Формын session-ийн токенийг идэвхжүүлэх

Хэрэв XSS (http://en.wikipedia.org/wiki/Cross-site_scripting) болон CSRF

(http://en.wikipedia.org/wiki/CSRF) талаар мэдлэггүй бол, эдгээрийн талаар судлаж, олж

мэдэж болох юм.

Директори-ийн бүтцийн тохиргоо:

Шинээр үүсгэсэн төсөлдөө хандахаасаа өмнө вэб сервер нь хандаж өөрчлөх

боломжтой байх cache болон log директоруудын тохиромжитой түвшиний зөвшөөрөл

(permission)-г нь тавьж өгөх шаадлагатай.

$ chmod 777 cache/ log/

SCM хэрэглэгчдэд зориулсан зөвлөгөө:

Symfony зөвхөн тухайн төслийн cache/ болон log/ 2 л директорид бичигддэг. Энэ 2-

ын контент нь таны SCM-с ignore хийгдсэн байх шаардлагатай (хэрэв та Subversion

хэрэглэдэг бол тухайлбал svn:ignore гэж бичнэ).

Вэб серверийн тохиргоо

Page 26: Diplomnii etsii huvilbar

Энгийн арга:Хэрэв төслөө вэб root-ийнхээ аль нэг хэсэгт үүсгэсэн бол та аль

хэдийн браузераараа хандах боломжтой.

Мэдээж ингэсэн тохиолдолд ямар нэгэн тохиргоо байхгүй ба config/database.yml

файл руу браузераараа хандах боломжтой болох учираас хэр муу үр дагавар байгааг та

ойлгох бизээ. Хэрэв хэрэглэгч таны вэб сайт symfony дээр хийгдсэнийг мэдвэл, тэр таны

маш их чухал файлууд руу хандах боломжтой болно гэсэн үг.

Хэзээ ч жинхэнэ сервер дээр ингэж суулгаж болохгүй. Та дараагийн хэсгийн уншиж

хэрхэн вэб серверт тохируулж тохиргоог хийхийг сурна.

Сайн арга: Хамгийн сайн дадал бол зөвхөн вэб браузераар хандаж болох бүхий л

файлуудаа жишээ нь: javascript, stylesheets болон зурагнуудаа вэб root директори-тоо

байрлуулах арга юм. Defaul-аар нь зөвлөхөд symfony төслийнхөө web дэд директори

дотроо хадгалаарай.

Хэрэв та энэ директори руугаа орвол та вэб-ийн нэмэгдэл(css болон зурагнууд)

болон 2 төрлийн нүүрний удирдлагын файлуудыг (front controller) харна. Front controller

бол вэб директори дотор байрлах шаардлагатай зөвхөн php файл. Бусад бүх php файлууд

браузераар хандах боломжгүйгээр нуугдсан байна. Энэ нь хамгаалалтын хувьд нилээд

сайн болно.

Одоо Apache-ийн тохиргоог хаанаас ч хандах боломжтой болгох үүднээс өөрчилнө.

httpd.conf тохиргооны файлыг нээгээд доорх тохиргоог хамгийн доор нь нэмнэ.

# Be sure to only have this line once in your configurationNameVirtualHost 127.0.0.1:8080# This is the configuration for your projectListen 127.0.0.1:8080<VirtualHost 127.0.0.1:8080>DocumentRoot “/home/sfprojects/jobeet/web”DirectoryIndex index.php<Directory “/home/sfprojects/jobeet/web”>AllowOverride AllAllow from All</Directory>Alias /sf /home/sfprojects/jobeet/lib/vendor/symfony/data/web/sf<Directory “/home/sfprojects/jobeet/lib/vendor/symfony/data/web/sf”>AllowOverride AllAllow from All</Directory></VirtualHost>

Page 27: Diplomnii etsii huvilbar

/sf alias, нь default symfony хуудас болон вэб засварын toolbar (Web Debug Toolbar)-

ын зураг болон javascript-ийн файлуудтай холбогдох замыг заадаг. Windows-д Alias

мөрийг дараах байдлаар өөрчилөх шаардлагатай.

Alias /sf “c:\dev\sfprojects\jobeet\lib\vendor\symfony\data\web\sf”/home/sfprojects/jobeet/web гэсэн мөр нь  мөн дараах байдлаар өөрчлөгдөнө.c:\dev\sfprojects\jobeet\web

Энэ тохиргоо нь Apache listen-ийг таны компютерт порт 8080 болгож, вэб сайт нь

дараах URL-аар холбогдоно.

(http://localhost:8080/)

Та 8080 гэснийг дурын дугаараар сольж болох ба админы зөвшөөрөл

шаардагддаггүй 1024-өөс дээш тоо байж болно.

Орчин- (Environment)

Хэрэв web/ директори-руу орж үзсэн бол  index.php болон frontend_dev.php гэсэн 2

ширхэг php файл байгаа. Эдгээр файлуудыг front controllers гэж нэрлэдэг бөгөөд бүх

application руу хандсан хүсэлтүүд тэдгээрээр дамжиж явагддаг. Гэвч яагаад заавал 2 front

controller-уудтай байх хэрэгтэй гэж?

Хоёулаа ижилхэн application-ыг зааж байгаа боловч өөр өөр орчинд зориулагдсан.

Хэрэв шууд серверын орчинг вэб хөгжүүлэгч л биш л бол танд хэд хэдэн орчинд ажиллах

шаардлагатай байдаг.

The development environment: Энэ орчин нь вэб хөгжүүлэгч нарт зориулагдсан

бөгөөд тест хийх, алдаа (bugs)-ын мэдээлэл зэрэг давуу талуудтай.

The test environment: Энэ орчин нь автоматаар application-г тест хийхэд

зориулагдсан.

The staging environment: Энэ орчин нь хэрэглэгч application-г шалгахад

зориулагдсан.

The production environment: Энэ орчин нь эцсийн хэрэглэгчидэд зориулагдсан.

Юу нь орчинг онцгой, цорын ганц болгодог вэ? Тухайлбал хөгжүүлэлтийн орчин

(development environment) нь, application-нь алдааг хялбар засахын тулд хүсэлтүүдийн

нарийн мэдээллийн лог хийх шаардлагатайн. Харин өөрчлөлт орсон кодууд зөв ажиллаж

байгааг хянахын тулд cache систем идэвхгүй байх шаардлагатай. Тиймээс хөгжүүлэлтийн

Page 28: Diplomnii etsii huvilbar

орчин нь хөгжүүлэгчид зориулж хийгдсэн байх ёстой. Хамгийн сайхан жишээ бол

exception гарч ирэх үе юм.  Хөгжүүлэгчид алдааг маш хурдан олоход тусалж, symfony

браузер дээр сүүлийн хүсэлтүүдийг агуулсан бүх exception-г мэдээлэлтэй нь хамт

харуулдаг.

Харин Production environment орчины үед cache-ын давхарга идэвхижсэн байх

ёстой байдаг ба мэдээж application бүх нарийн алдааны оронд ердийн алдааны мессежийг

харуулдаг. Тиймээс production environment орчин нь ажиллагаа болон хэрэглэгчдэд

зориулж сайжруулагддаг.

Хэрэв front controller файлуудыг нээвэл, контентууд нь хөгжүүлэх үеийн

(environment) тохиргооноос бусад нь ижилхэн байгааг олж харна.

// web/index.php<?phprequire_once(dirname(__FILE__).’/../config/ProjectConfiguration.class.php’);$configuration =ProjectConfiguration::getApplicationConfiguration(‘frontend’, ‘prod’,false);

sfContext::createInstance($configuration)->dispatch();

Вэб debug toolbar нь мөн орчны хэрэглээний бас нэгэн онцлог жишээ бөгөөд зөвхөн

хөгжүүлэх үеийн орчингийн бүх хуудсанд харагдах бөгөөд tab бүрд өөр өөр маш олон

мэдээллийг агуулсан холболтыг харуулдаг. Тухайлбал тухайн үеийн application-ны

Page 29: Diplomnii etsii huvilbar

тохиргоо, хүсэлтүүдийн log-ууд, өгөгдлийн баазад хийгдсэн SQL хүсэлтүүд, санах ойн

мэдээлэл, хугацааны мэдээлэл зэрэг орно.

2.4 “Jquery” жаваскрипт сангийн судалгаа

JQuery бол HTML ба JavaScript–ийн хоорондох ажиллагааг зохицуулдаг, нээлтэй эх

бүхий JavaScript–ийн фреймворк юм.

JavaScript–ийн фреймворкгүйгээр Document Object Model (DOM)–д хандахдаа маш

олон мөр бичих шаардлагатай байсан бол jQuery–г ашигласнаар хүчирхэг бөгөөд үр

дүнтэйгээр Document–д хандаж чадах ба дараахь үйлдлүүдийг гүйцэтгэж чадна.

Үүнд:

Хуудасны харагдах байдлыг өөрчлөх (Css нь document–ийг хэрхэн харагдах

байдлыг тодорхойлдог арга юм. Гэвч зарим үед веб хөтчүүд ижил стандарт

хэрэглээгүй үед асуудалтай тулгардаг. jQuery нь ижил стандартуудыг хөтөч

хооронд холбож өгдөг гүүр болон ажилладаг. jQuery ашиглан css class–уудыг

өөрчлөн, харагдах байдлыг өөрчлөж чадна)

Хуудсны агуулгыг өөрчлөх (Ямар нэгэн өөрчлөлт хийхэд хязгаарлалт байхгүй.

Текст өөрчлөх, зураг нэмэх эсвэл солигдох, жагсаалтууд дахин дараалагдах эсвэл

бүх HTML файлын бүтэц дахин бичих ба өргөтгөх зэргийг зөвхөн ганцхан API

ашиглан хийх нь хялбар юм)

Хэрэглэгчийн үйлдэлд хуудаснаас хариу үзүүлэх (jQuery–ийн сан нь олон тооны

үйлдлийг барьж авах сайн аргатай, жишээ нь хэрэглэгч холбоос дээр дарах гэх

мэт)

Хуудсанд эффект нэмэх (Үр дүнтэй интерактив байдлыг бий болгохын тулд

дизайнер нь хэрэглэгчийг visual feedback-аар хангах хэрэгтэй байдаг. Энэ

шаардлагыг jQuery library эффектүүдийн массиваар хангаж өгдөг. Жишээ нь:

Fades ба Wipes, шинэ аргуудын toolkit шиг)

Хуудсыг дахин ачааллахгүйгээр мэдээллийг серверээс хүлээн авах (jQuery сан нь

процесоос хөтчийн тодорхой нарийн ажлыг салгадаг ба хөгжүүлэгчдэд Server–end

функцуудад төвлөрөх боломж олгодог)

Page 30: Diplomnii etsii huvilbar

JavaScript–ийн хийж болох даалгавруудыг хялбарчилдаг (jQuery нь JavaScript–ийн

бүхий л хийж чадах зүйлийг хялбар, илүү хялбараар хийх боломжоор хангаж

өгдөг)

2.5 UML технологийн судалгаа

Нэгдсэн загварчилгааны хэл буюу Unified Modeling Language(UML) нь програм

хангамжийн системүүдийг загварчлах тодруулбал програм хангамжийн системийн бүрдэл

хэсгүүдийг дүрслэх, тодорхойлох, байгуулах болон бичиг баримт үүсгэхэд зориулагдсан

график хэл юм.

UML загварын гол зорилгууд:

1. Хэрэглэгчдэд ашиглахад бэлэн, илэрхийлэгдсэн визуаль загварын хэлийг бэлтгэж

өгөх

2. Системийн гол ойлголтуудыг үзүүлэх мэргэшсэн механизмуудаар хангах

3. Тодорхой нэг програмчлалын хэл ба систем хөгжүүлэх процессоос бие даасан байх

4. Загварын хэлийг ойлгох албан ёсны үндэс сууриар хангаж өгөх

5. Объект хандлагат хэрэгслийн борлуулалтын өсөлтийг урамшуулах

6. Collaboration, framework, pattern зэрэг систем хөгжүүлэх өндөр түвшний

ойлголтуудыг дэмжих

7. Шилдэг практик үйл ажиллагааг бүрэлдүүлэх

UML диаграмууд

Програмын шаардлагыг объект хандлагат загварчлалаар тодорхойлохын тулд тусдаа

боловч хоорондоо холбоотой , объект хандлагат 5 диаграмыг үндэс болгон ашиглана.

Ихэнх тохиолдолд, системийн шинжээч нь бизнесийн хэрэгцээ шаардлагын талаарх бүрэн

тодорхойлолт авахын тулд үндсэн 5 диаграмыг ашигладаг. Гэсэн хэдий ч, зарим

тохиолдолд шаардлагыг хангалттай тодорхойлохын тулд 3 эсвэл 4 диаграм нь л

ашиглагдах тохиолдол бас байдаг. Эдгээр 5 диаграмд:

- Ажлын явцын диаграм (use case): Систем яаж ашиглагдах вэ гэдгийг тодорхойлох

зорилготой.

- Класс диаграм: Зорилго нь шинэ системд хэрэгтэй объектуудыг тодорхойлох явдал

юм. Класс диаграмд объектын шинж чанар, төлөв байдлууд нь бүгд

Page 31: Diplomnii etsii huvilbar

тодорхойлогдсон байх ёстой. Ерөнхийдөө энгийн түвшний диаграм нь системийн

бүх классууд тэдгээрийн хоорондын уялдаа холбоог харуулахад ашиглагдана.

Хамтын ажиллагааны диаграм (collaboration): Ямар объект өгөгдсөн функцтэй

ажиллах вэ гэдгийг тодорхойлно. Энгийн хамтын ажиллагааны диаграм нь

функцийг гүйцэтгэхийн тулд объектууд тэдгээрийн харилцан хамаарал, тэдгээрийн

хооронд дамжигдаж буй мэдээллүүдийг дүрсэлнэ.

- Дэс дарааллын диаграм (sequence): Хамтын ажиллагааны диаграм дээр дүрслэгдэх

мэдээллүүдийн өөр нэг дүрслэл юм. Гэхдээ бага зэрэг ялгаатай дүрслэгдэнэ.

Объектуудын хамтын ажиллагааг харуулахаасаа илүүтэйгээр тэдгээрийн хооронд

дамжигдах мессежүүдийн дарааллыг чухалчилж харуулна. Дараалал нь дээрээс

доош чиглэлд зурагдана. Дэс дарааллын диаграм болон хамтын ажиллагааны

диаграм нь нийлээд харилцан ажиллагааны(interaction) диаграмыг бүрдүүлнэ.

Төлөв байдлын диаграм (statechart): Объект бүрийн хувь дахь төлөв байдлуудыг

дүрслэнэ. Класс бүрд нь төлвийн диаграм зурагдана.

Хүрхрээ загвар

Програм хангамжийн хөгжүүлэлтийн маш олон процесс загваруудаас хүрхрээ загвар

ашиглан хийх вэб сайтанд байрших мэдээлэл Е хичээлийн стандартын хэлбэртэй

байна.

2.6 E хичээл гэж юу вэ?

Танхимын сургалт нь тогтсон хүгацаандаа нэг л удаа заадаг. Энэ нь удаан ойлгодог,

мөн янз бүрийн шалтгаанаар хичээлдээ сууж амжаагүй тохиолдолд тухайн хичээлийг

ойлгохгүй өнгөрөх нь бий. Тиймээс цахим сургалт нь танхимын учир дутагдалтай талыг

нөхөж хичээлийн агуулгыг гэр, сургууль дээрээсээ, компьютер болон гар утаснаасаа үзэх,

ин хичээлд оролцох, багш нар хичээл зохион явуулах таатай орчинг бүрдүүлсэн байдаг.

Миний дипломын ажлын хийх ёстой зүйл бол энэ үйл ажиллагааг цахим хэлбэрт

оруулах юм. Ингэснээр бидний цаг хугацаа, хүч хөдөлмөр хэмнэгдэж интернетээр цахим

хэлбэрээр сургалт явуулах боломж бүрдэж байгаа юм. Тиймээс цахим сургалт нь

танхимын учир дутагдалтай талын нөхөж хичээлийн агуулгыг баяжуулан тал бүрээс

судлах гэр болон сургууль зуслан гээд интернетийн сүлжээ бүхий газраас хичээлийг

Page 32: Diplomnii etsii huvilbar

судлах ,оролцох даалгавар гүйцэтгэх зэрэг өргөн боломжит орчин нөхцөл бүхий

дэвшилтэт арга технологи билээ.

2.6.1 E хичээлийн давуу тал хамрах хүрээ

E-хичээл нь интернетийн орчин нөхцөл бүхий л газарт цагын хязгааргүй үнэ

төлбөргүйгээр хэмжээ хязгааргүй олон нийтэд асар хурдтай түгээж болдгоороо бусад

төрлийн хичээл заах арга технологиос эрс ялгардаг юм. Хамрах хүрээ нь зөвхөн

мэргэжлийн ангийн оюутан багш нар бус интернет хэрэглэх чадвартай хүн бүхэнд

нээлттэй төрөл бүрээр баяжуулан судлах бүрэн боломжтой байдаг нь орчин үеийн

залуусын шаардлагад бүрэн нийцэж байгаа билээ.

2.6.2 E хичээлийн стандарт

I. Эхний хэсэг: /Лекц, семинар, лаборатори/

Сэдвийн нэр

Дэд сэдвийн нэр /байгаа тохиолдолд/

Түлхүүр үг, нэр томъёоны тайлбар

Товч хураангуй /2-3 өгүүлбэрээр илэрхийлнэ/

Үндсэн хэсэг: /Лекц, Семинар, Лаборатори/

8-10хуудас /А4 формат,мөр хоорондын зай 1/

Лекцээ хураангуйлсан дуу оруулах

Аудио, видео бичлэг

Animation оруулах /Ж: Тоног төхөөрөмжийн эд анги, томъёоны гаргалгаа, график/

Ашиглах материал:

Үндсэн сурах бичиг / Хуудасны дугаар /Вэб хуудас, холбогдож болох

линкууд

Нэмэлт материалуудыг татаж авах байдлаар тавих/ Лекцийн

материалаа өөрөөр баяжуулсан байх /

Төгсгөлийн хэсэг:

Page 33: Diplomnii etsii huvilbar

15-30 Тестийн асуулт, хариултын хамт / Лекц тус бүрт эсвэл бүлэг бүрт байх /

Ганцаарчилан болон багаар гүйцэтгэх бие даалтын ажлын даалгавар, заавар

Е хичээл техникийн шаардлага:

1. Фонд ижил /Unicode буюу стандарт фонд ашиглах/

2. Үсгийн хэмжээ 14-18-ийн хооронд, ижил уншихад гаргацтай

3. Текстээ зураг хэлбэрээр биш

4. Нэг TAB дээр дуудагдах /Лекц, семинар, текст гэх мэт/

5. Сорил, тестнээс буцах товч байх /нүүр хуудасруу/

6. Зураг оруулахдаа чанартай байх /300dpi /

II. E-хичээлийг хэрхэн судалж үзэх талаар оюутанд хүргэх зөвлөмж, санамжийг

боловсруулах.

III. Е-Хичээлийн материалыг электрон хэлбэрээр хүлээлгэж өгөхдөө эмх цэгцтэй,

ерөнхий дуудагдах хуудсыг ил гарган (жич: index.html хэлбэрээр нэрлэнэ), лекц

семинар тестүүдийг тус тусад нь фолдерт хийсэн байхмөн source файл

хавсаргасан байна.

2.7 Бүлгийн дүгнэлт

Дипломын төслийн судалгааны үе шатад процесс загваруудын мэдлэгээ сэргээн

хүрхрээ загварыг сонгон ажиллах болсон ба сэдэвтэй холбоотой ашиглагдах

технологиудыг судалж, Ubuntu үйлдлийн систем дээр MySQL болон Symfony

фреймворкийг суулгаж, туршиж үзсэн.

Page 34: Diplomnii etsii huvilbar
Page 35: Diplomnii etsii huvilbar

Гуравдугаар бүлэг:

ВЭБ САЙТЫН АГУУЛГА, ЗАГВАР, ҮНДСЭН БҮТЭЦ

Энэ бүлэгт системийн харагдах байдал болон дотоод цэснүүдийн байрлал, задаргаа онцлог булангуудын харагдах байдал түүний бүтэц ашиглах зааврын талаар ойлголттой болно.

3.1 E хичээлийн стандартын нийцэл

E хичээлийг бэлтгэхдээ өнгөний сонголт хүний нүдэнд ядаргаа үүсгэхгүй байх,

сонирхол төрөлхүйц, мөн Flash ашигласан байх, хөдөлгөөн дуу дүрс агуулсан, байх

нэмэлт материал хавсаргасан байх, Online сорил агуулсан байх зэрэг шаардлагууд нь уг

сайтад багтсан байгаа билээ.

Page 36: Diplomnii etsii huvilbar

нүүр хуудас нь цөөн тооны зөвхөн хэрэгцээт цэсээр дүүрэн байх ба мэдээ мэдээлэл хэсэгт

хамгийн сүүлд нэмэгдэж орсон бүх төрлийн мэдээ жагсаалт хэлбэрээр харагдах юм. Е

хичээл цонхонд видёо болон зураг дуу дүрс flash хичээлүүд байрших юм.

Вэб сайтын зорилго чиглэл

Вэб сайтын нэр automatic.mn Автомат систем гэсэн утгатай, автомат гэсэн үндсээс

гарсан латин үг юм. Уг сайт нь үйлдвэрлэлийн технологи дизайны сургуулийн хөнгөн

үйлдвэр машин судлал хэвлэлийн технологийн багийн сайт болж байнгын ажиллагаатай E

хичээл байрлуулах болон бэлтгэхэд зориулагдан гарсан тэнхимийн анхны тогтмол

ажиллагаатай албан ёсны эрхтэй онцлог вэб хуудас юм. Вэб хуудсыг мэргэжлийн ангийн

XVA ,XYMMT I.LI кодтой оюутнуудад зориулагдсан бөгөөд эдгээр оюутнууд тусгай

Page 37: Diplomnii etsii huvilbar

түлхүүр үгээр бүртгүүлэх лекц, семинар, лабораторийг тухайн долоо хоногт үзэж судлах,

ирцээ бүртгүүлэх хичээл уншиж судлах, дэлгэрүүлэх ижил төстэй хичээл арга

технологитой харьцуулах дэлгэрүүлэх болон онлайн хэлбэрээр тест өгөх байдлаар уг

сайтад зочлож хэрэгцээт мэдээллээ авхад сайтын үндсэн зорилго оршино.

Агуулга

Автоматик сайтын зорилго нь E хичээл бэлтгэх, нийтэд түгээх, E хичээлийн чанарт

хяналт явуулах гэсэн цөөн тооны чухал зорилгоор бүтээгдсэн бөгөөд хэрэглэгчид аль

болох элдэв маяг чимэггүй үндсэн зорилго руу чиглэсэн хурд багатай сүлжээнд түргэн

ачаалагдах байдлаар энгийн байхаар хийгдсэн. Энэ нь бусад төрлийн хувийн болон

тэнхимийн вэб сайтуудаас ялгарах гол онцлог юм. Уг сайтад I.LI354, I.LI311, I.LI392,

I.LI395 хичээлийн лекц, семинар, лаборатори болон баяжуулж хөгжүүлсэн хувилбар видео

болох зурган хэлбэрээр агуулагдах бөгөөд эндээс оюутнууд өөрсдийн хайж эрсэн

мэдээллээ авах бөгөөд нэмэлт мэдээлэл болон мэдлэгээ дээшлүүлэх талаар хичээлийг

нийтэлж гаргасан багш болон админд хүсэлт илгээх замаар холбоо барьж нэмэлт мэдээлэл

авах боломжтой байгаа нь давуу тал болж байгаа билээ.

Энэ зураг дээр гаднах цэсний байрлал болон дотоод задаргаа тодорхой харагдаж байна.

3.2 Вэб сайтын хайлтын хэсэг

Page 38: Diplomnii etsii huvilbar

Automatic.mn сайт бол өдөр бүр мэдээлэл шинэчлэгдэж хуучин мэдээлэл

архивлагдан хураангуй болох зарчмаар ажилдаг байхаар бодож төлөвлөсөн билээ.

Тиймээс хуучин мэдээлэл архиваас хайж олох шаардлага гардаг үүнийг хайлтын систем

төгс гүйцэтгэнэ. Гагцхүү зөв үгийг сонгох ёстой.

3.3 Бүртгэл болон нэвтрэх хэсэг

Бүртгэх хэсэгт түлхүүр үг ашиглан бүртгүүлснээр нэвтрэх эрх авч нийтлэгдсэн

хичээл болон бусад мэдээлэлтэй чөлөөтэй танилцах судлах боломж бүрдэнэ. Зайлшгүй

түлхүүр үг хэрэглэх шаардлага нь сайтыг хөтлөн явуулах aдмин болон багшид бүртгэлтэй

хүмүүсийн мэдээлэлтэй танилцах хяналт явуулахад амар хялбар байх ба цаашлаад онлайн

хичээлийн ирц бүртгэлийн програм зохиоход дөхөм болж өгнө.

3.4 Багийн гишүүд болон багш нарын оролцоо

Page 39: Diplomnii etsii huvilbar

Тэнхимийн гишүүд болон багш нар нь оюутан болон энгийн зочидоос давуу эрхтэй

байх бөгөөд уг хуудсыг хөтлөн явуулах , хяналт тавих алдаа дутагдлын засаж байнгын

тогтмол ажиллагаа хангах үүрэгтэй.

3.5 Admin -тай холбоо тогтоох

Сайтын үндсэн admin болох Б.Энмандах миний байнгын холбоо тогтоох facebook

хаяг бүхий шууд холбоос , мөн тэнхимийн багш Д.Пүрэвмагнай facebook шууд холбоос

ШУТИС -ийн интернет хаяг ҮТДС- ийн шууд хаяг Е -open school -ийн интернет

хаяг болон багшийн вэб , оюутны вэб хаягтай шууд холбогдох замуудыг зааж өгнөсөөр

хэрэглэгч дурын аргаар багш болон admin- тай холбогдож нэмэлт мэдээлэл хугацаа

өнгөрсөн хичээл дахин судлах эрх авах зэрэг үйлдэл хийх боломжтой.

3.6 E хичээл бэлтгэх, байршуулах, засварлах, нийтлэх зааварчилгаа

Automatic.mn сайтын удирдах дэлгэц нь монгол хэлээр ойлгоход хялбар цөөн

тооны цэстэй. Мэдээ нийтлэх болон Е хичээл бэлтгэх зааврийн дагуу бэлтгэж сайтанд

оруулах ба сайтанд оруулахад дараах зүйлсийг анхаарна.

Үүнд

Page 40: Diplomnii etsii huvilbar

1. Текст мэдээ оруулахдаа тусгай үгийн фонд ашиглах тохиромжгүй тул түгээмэл

фонд ашиглана. Тусгай фонд ашиглах тохиолдолд unicode converter буюу

хөрвүүлэгч програм ашиглана.

2. Том хэмжээний зураг оруулах үед зургийг таслаж хэрэгтэй хэсгийг тасдаж авах.

3. Дүрс болох дуут мэдээлэл байршуулах тохиолдолд интернет рүү хуулж оруулсан

байх embed code ашиглах харуулах зэрэг ойлголтууд мэддэг эзэмшсэн байх

шаардлагатай.

3.7 E хичээлийн байрших хугацаа, хязгаарлалтыг шийдвэрлэх арга замууд

Байрших хугацааг хязгаарлах олон арга зам байдаг байна. Үүний заримтай

танилцая

1. Мэдээ оруулсан цагаас эхлэн хугацаа тоолох. Энэ 168 цаг тоолоод тухайн мэдээлэл

уншигдахгүй болж архивлагдах

2. Мэдээ байршуулаад дууссах өдөр цаг минутын нарийвчлан зааж өгөх

3. Admin болон мэдээг нийтэлсэн багш мэдээг засварлах, архивлах, устгах

4. Нийтэлсэн мэдээлэлд зочдын хандалтаар зааж өгөх, энэ арга нийт хэдэн удаа мэдээ

унших тоог анрийвчлан зааж өгөх явдал юм

3.8 Бүлгийн дүгнэлт

Тус бүлэгт www.Automatic.mn сайтын ерөнхий гадаад үзэмж харагдах байдал

цэснүүдийн байрлал, доторхи задаргаа , бүртгэл болон admin -тай холбоо тогтоох шууд

холболт , Е хичээл байршуулах зэрэг чухал ойлголтуудыг авч үзлээ.

Page 41: Diplomnii etsii huvilbar

Дөрөвдүгээр бүлэг:

ХЭРЭГЛЭГЧИЙН ШААРДЛАГА

Page 42: Diplomnii etsii huvilbar

Энэ бүлэгт системийн эцсийн хэрэглэгчдийг тодорхойлсон болно. Ингэснээр

I.LI354 хичээлийг Е сургалтанд бэлтгэх дипломын талаар улам гүнзгий ойлголттой болох

юм.

4.1 Системийн ерөнхий ойлголт

Энэ вэб системийг их дээд сургуулийн багш тэнхимийн гишүүд болон оюутанууд

ашиглах юм. Е сургалтанд бэлтгэх дипломын ажлаар дараах үйлдлүүд хийгдэнэ. Сайтад Е

хичээл хугацааны хязгаартай байршина. Үүнийг системийн админ буюу багш Е хичээл

болгон бэлтгэж оруулна. Энэ нь зөвхөн мэргэжлийн ангийн сайтад бүртгэлтэй оюутнуудад

харагдах юм. Оюутан хичээлийг уншиж судлаад Е хичээлийн стандартын дагуу цахим

хэлбэрээр шалгуур бөглөнө. (Online testing) гарсан үр дүнг системийн админд болон

багшид мэдээлж байхаар вэб сайт хийгдсэн. Мэргэжлийн ангийн сайтад бүртгэлтэй

оюутан сайтад нэвтэрч ороод мэдээлэл судалхад зарцуулсан хугацааг (Counter) тоолуур

тоолж дуусаад гарсан үр дүнг системийн админд болон багшид мэдээлэл илгээх юм. Энэ

үйл явц нь системийн админд болон багшид сайтыг удирдах, хяналт тогтоох, тогтвортой

ажилгааг хангахад чухал үүрэгтэй.

4.2 Хэрэглэгчийн онцлог

Системд ерөнхийдөө хэрэглэгчийн шаардлагаас хамааран 3 төрлийн хэрэглэгчтэй байна.

Үүнд:

Бүртгэлгүй хэрэглэгч

Бүртгэлтэй хэрэглэгч

Системийн админ зэрэг юм.

Бүртгэлгүй хэрэглэгч:

Системд бүртгэлгүй хэрэглэгчийн хувьд системээс зөвхөн ерөнхий мэдээлэл авах

Админтай холбоо тогтоож бүртгэлтэй хэрэглэгч болох хүсэлт гаргах эрхтэй.

Бүртгэлтэй хэрэглэгч:

Бүртгэлтэй хэрэглэгч хийх үйлдлээсээ хамааран хоорондоо ялгаатай байна.

Page 43: Diplomnii etsii huvilbar

Үүнд:

Багш

Багш нь өөрийн эрхээр системд нэвтрэн орсоноор Е хичээл оруулах,өөрийн

хичээлийг шинэчлэх, шаардлагатай гэж үзвэл засварлах, устгах зэрэг үйлдлүүдийг

гүйцэтгэнэ. Оюутнуудын асуусан сэдвүүдэд хяналт тавих хичээлд өөрчлөлт

оруулах болон нэмэлт хичээл, үүрэг даалгавар өгөх зэрэг үйлдлүүдийг гүйцэтгэнэ.

Мөн хүсэлт гаргасан хэрэглэгчийг сонгон бүртгэлтэй хэрэглэгч болгох. Сайтын

үндсэн бүтэц харагдах интерфэйсийг, агуулгыг өөрчлөх зэрэг үйлдлүүдийг

гүйцэтгэх эрхтэй байна.

Оюутан

Системд бүртгэлтэй бөгөөд өөрийн нэвтрэх нэр, нууц үгээр нэвтэрч орсноор

хичээлийн талаар санал сэдэл дэвшүүлэх болон дипломын сэдвүүдээс

сонголт хийх,сэдвүүдийн дэлгэрэнгүй мэдээлэл харах боломжтой.

Системийн админ:

Админ нь системийг ерөнхийд нь удирдан зохицуулах ба нийт системийн

хэрэглэгчдэд хяналт тавина. Мөн хүсэлт гаргасан бүртгэлгүй хэрэглэгчдэд хяналт тавих

шаардлагатай гэсэн хэрэглэгчийг бүртгэж авах оруулах мөн сэдэв батлах системийн

хэрэглэгчдэд хязгаарлалт тавих зэрэг давуу эрхтэй байна. Мөн системийн админ нь

оюутан болон багшын оруулсан сэдвүүдэд хяналт тавин шаардлага хангаагүй буюу өөр

утга агуулга бүхий сэдвүүдийг хэрэглэгчдэд харуулахгүй байх боломжтой. Үүний тулд

тухайн мэдээг нийтлэгдээгүй гэсэн холбоосыг дарсанаар тухайн нийтлэл хэрэглэгчдэд

харагдахгүй.

Бүтээгдэхүүний эцсийн хэрэглэгчид

Дээр тодорхойлсон системийн ерөнхий шаардлагаас системд хандах эрхтэй дараах

хэрэглэгчдийг тодорхойлсон. Үүнд:

Админ:

Багш

Оюутан

Page 44: Diplomnii etsii huvilbar

Системийн админ доорх үйлдлүүдийг гүйцэтгэнэ.

Багш болон оюутан, энгийн хэрэглэгчдэд хяналт явуулах

Тэнхимээс зохиогдох арга хэмжээ, зарлалын чанартай мэдээг түгээж байх

Нийтэлсэн мэдээг хэрэглэгчдэд харуулах

Архивлагдсан болон хуучирсан мэдээг шинэчлэн оруулах

Багш доорх үйлдүүдийг гүйцэтгэнэ.

Оюутнуудын бүртгэлийн сан үүсгэх

Хичээл болон дипломын сэдэв оруулах

Өөрийн оруулсан хичээлийн агуулгыг өөрчлөх

Өөрийн оруулсан хичээлийг устгах

Өөрийн оруулсан хичээлийн хугацааг сунгах

Мэдээлэл судлах оюутанг зөвшөөрөх

Мэдээлэл судлах оюутанг хасах

Оюутны хичээл судлах чадварыг дүгнэх

Хайлт хийх нэмэлт даалгавар өгөх

Оюутан доорх үйлдлүүдийг гүйцэтгэнэ.

Бүртгэл үүсгэх

Е хичээл болон бусад агуулгатай танилцах судлах,оролцох

Хичээл болон дипломын сэдэв дэвшүүлэх

Сайт болон Е хичээлийн талаар бусдад түгээн дэлгэрүүлэх

Админ болон Е хичээл эрхлэн оруулсан багштай байнгын холбоо тогтоох гэсэн

байдлаар байнгын холбоо хамааралтай хамтын ажилгаатай явагдана.

Page 45: Diplomnii etsii huvilbar

Системийн оролцогчид болох оюутан, багш, системийн админ хоорондын

хамааралыг илэрхийлсэн зураг.

Page 46: Diplomnii etsii huvilbar

4.3 Automatic.mn нүүр хуудасны ерөнхий харагдах байдал

Page 47: Diplomnii etsii huvilbar

Ерөнхий бүтэцийг блок схемээр харуулсан загвар.

1. Нүүр хуудсаас тэнхим буланд байрлах агуулгатай шууд холболтоор холбогдоно.

2. Эхлэл хуудаснаас мэдээлэл болон бусад туслах цэсрүү шууд холболтоор

холбогдоно.

3. Лекц буланд оруулсан хичээл нүүр хуудсанд давхар харагдах байдлаар хийгдсэн.

энэ нь гэдрэг холболтоор холбогдоно.

4. Хичээл цэсэнд оруулсан мэдээлэл нүүр хуудсанд давхар харагдах ба сүүлд шинээр

орсон байдлаар харагдхаар хийгдсэн. энэ нь гэдрэг холболтоор холбогдоно.

5. Диплом цэстэй шууд аргаар холбогдох ба диплом буланд орсон мэдээлэл түүний

дэлгэрүүлсэн хувилбарыг холбоо барих булангаас админтай холболгдох замаар

нэмэлт мэдээлэл авах байдлаар ашиглана

6. Програм нь цэс нь нүүр хуудастай шууд холболтоор холбогдох ба шинээр орсон

file нүүр хуудсанд харагдахгүйгээр байрлах юм.

7. Лекц доторхи мэдээллийг зочин уншаад дэлгэрүүлэх болон асууж зөвлөх хэрэгцээ

шаардлага гарсан үед холбоо барих цэснээс админтай холбогдож нэмэлт мэдээлэл

авах байдлаар хичээлийг уншиж судлана, энэ нь гэдрэг холболт болно

Page 48: Diplomnii etsii huvilbar

8. Хичээл цэсэнд нийтлэгдэх мэдээг админтай холбоо тогтоох нэмэлт материал авч

судлах байдлаар мэдээг уншиж судлана. Энэ нь мөн гэдрэг холболт болно

9. Диплом цэсэнд орсон дипломын сэдвүүд болон өмнөх жилийн оюутнууд нь

сэдвээр авч хамгаалж байсан мэдээллийн талаар санал солилцох асууж лавлах

хэрэгцээ шаардлагыг холбоо барих цэснээс админтай холбоо тогтоон гүйцэтгэнэ.

Энэ нь мөн л гэдрэг холболт болно

10. Програм буланд орсон шинэ програм суулгах заавар зөвөлгөө шинэчлэх хувилбар

мөн өөр нэр төрлийн програт ашиглах зааврыг админтай холбоо барих хэсгээс авна.

Энэ нь гэдрэг холболт болно

4.4 Automatic.mn вэб сайтын нүүр хуудас кодчилолын түвшинд дараах

байдалтай бичигдэнэ.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title></title>

<link rel="shortcut icon" href="/images/favicon.ico" />

<link rel="stylesheet" type="text/css" media="screen" href="/css/main.css" />

<script type="text/javascript" src="/js/jquery-1.9.1.min.js"></script>

<script type="text/javascript" src="/js/jquery.cycle.all.js"></script>

<script type="text/javascript" src="/js/global.js"></script>

</head>

<body>

<div id="section-head" class="clearfix">

<div class="encapsulate">

Page 49: Diplomnii etsii huvilbar

<div id="util">

<ul id="top-menu">

<li><a href="/user/login">Нэвтрэх</a></li>

<li class="contact"><a href="/user/new">Бүртгүүлэх</a></li>

</ul>

</div>

<div id="logo"><img src="/images/logo.png" /></div>

<div id="search-box">

<div class="search-box-wrap">

<form>

<input type="text" class="search" />

<a href="#" class="search-button"><em>Search</em></a>

</form>

</div>

</div>

</div>

<div id="nav-primary">

<ul>

<li><a href="/" >ЭХЛЭЛ</a></li>

<li>

<a href="/page/introduction" >ТЭНХИМ</a>

<div class="dropdown">

<a href="/page/introduction">Танилцуулга</a>

<a href="/page/vision">Зорилго</a>

<a href="/page/about">Бидний тухай</a>

</div>

</li>

<li>

<a href="/news/news">Мэдээ</a>

<div class="dropdown">

<a href="/news/information">Мэдээ мэдээлэл</a>

<a href="/news/video">Видео</a>

<a href="/news/competition">Уралдаан тэмцээн</a>

<a href="/news/picture">Зургийн цомог</a>

</div>

</li>

<li>

<a href="/news/lecture">Лекц</a>

<div class="dropdown">

<a href="/news/1week">I-р 7 хоног</a>

<a href="/news/2week">II-р 7 хоног</a>

<a href="/news/3week">III-р 7 хоног</a>

Page 50: Diplomnii etsii huvilbar

<a href="/news/4week">IV-р 7 хоног</a>

<a href="/news/5week">V-р 7 хоног</a>

<a href="/news/6week">VI-р 7 хоног</a>

<a href="/news/7week">VII-р 7 хоног</a>

</div>

</li>

<li>

<a href="/news/lesson">Хичээл</a>

<div class="dropdown">

<a href="/news/ili354">I.LI 354</a>

<a href="/news/ili311">I.LI 311</a>

<a href="/news/ili392">I.LI 392</a>

<a href="/news/ili395">I.LI 395</a>

</div>

</li>

<li>

<a href="/news/diplom">Диплом</a>

<div class="dropdown">

</div>

</li>

<li>

<a href="/news/program">Програм</a>

<div class="dropdown">

</div>

</li>

<li><a href="/page/contactus" >ХОЛБОО БАРИХ</a></li>

</ul>

</div>

</div>

<div id="main-content">

<div id="main" class="hastLeftColumn clearfix">

<div id="leftColumn">

<h1>Мэдээ</h1>

<ul class="left-menu">

<li >

<a href="/news/information">Мэдээ мэдээлэл</a>

</li>

<li >

<a href="/news/video">Видео</a>

</li>

<li >

<a href="/news/competition">Уралдаан тэмцээн</a>

Page 51: Diplomnii etsii huvilbar

</li>

<li >

<a href="/news/picture">Зургийн цомог</a>

</li>

</ul>

</div>

<div id="bodyColumn">

<div class="news_item">

<img width="200px" class="imgleft" src="/uploads/photo/201311/216/5291bbcd8d861.jpg">

<h3><a href="/news/show/id/230">Дурсамж</a></h3>

<p>

ХҮА-07 </p>

<div class="clear infobar">

<div style="padding: 5px 0 0 5px;" class="left">

Нийтэлсэн:2013-11-24 16:41 <span style="color:red;">

</span>

</div>

<div class="right readmore">

<a href="/news/show/id/230">Дэлгэрэнгүй</a>

</div>

<div class="right sharebutton">

</div>

<div class="clear">

</div>

</div>

</div>

<div class="news_item">

<img width="200px" class="imgleft" src="/uploads/photo/201311/216/527ce4f9c46e5.jpg">

<h3><a href="/news/show/id/214">AUTOMATION Groupees avsan zurguud</a></h3>

<p>

автоматжуулалт түүх

</p>

<div class="clear infobar">

<div style="padding: 5px 0 0 5px;" class="left">

Нийтэлсэн:2013-11-08 21:18 <span style="color:red;">

</span>

</div>

<div class="right readmore">

<a href="/news/show/id/214">Дэлгэрэнгүй</a>

</div>

<div class="right sharebutton">

</div>

Page 52: Diplomnii etsii huvilbar

<div class="clear">

</div>

</div>

</div>

</div>

</div>

</div> <br/>

<div id="footer">

<div id="footer-wrapper">

<div id="footer-top" class="clearfix">

<div class="copy">

Copyright © 2013. I.LI354 хичээлийг Е сургалтанд бэлтгэх дипломын төслийн хүрээнд хийж гүйцэтгэв.

</div>

<ul class="social-links">

<li class="facebook"><a href="#"><em></em></a></li>

<li class="twitter"><a href="#"><em></em></a></li>

<li class="linkedin"><a href="#"><em></em></a></li>

<li class="google"><a href="#"><em></em></a></li>

<li class="rss"><a href="#"><em></em></a></li>

<li class="email"><a href="#"><em></em></a></li>

</ul>

</div>

<div id="footer-bottom" class="clearfix">

<div class="our-address">

Монгол улс Сүхбаатар дүүрэг Бага тойруу <br/> Шинжлэх ухаан технологийн их сургууль <br/> Үйлвэрлэл технологи дизайны сургууль

</div>

<div class="our-phones">

+ 976 96638295<br />

+ 976 99909728

</div>

</div>

</div></div> </body></html>

4.3 Мэдээ булан кодчилолын түвшинд дараах байдалтай бичигдэнэ.

Page 53: Diplomnii etsii huvilbar

<?php use_helper('Global')?><div id="main-content"> <div id="main" class="hastLeftColumn clearfix"> <div id="leftColumn">

<h1><?php if($category_s) echo $category_s->getName()?></h1><ul class="left-menu"><?php foreach($categories as $cats):?>

<li > <a href="<?php echo url_for('news/index?enname='.$cats->getEnname())?

>"><?php echo $cats->getName()?></a> <?php if($category_s) : if($category_s->getId()==3||$category_s-

>getParentId()):?> <ul class="sub-rigth-menu"> <li><a href="<?php echo url_for('news/index?enname='.$cats-

>getEnname().'&type=5')?>">Семинари</a></li> <li><a href="<?php echo url_for('news/index?enname='.$cats-

>getEnname().'&type=6')?>">Лаборатори</a></li> </ul> <?php endif?><?php endif?></li>

<?php endforeach?></ul>

</div> <div id="bodyColumn"> <?php foreach($newss as $news):?> <div class="news_item"> <?php if($news->getType()==1): ?>

<img width="200px" class="imgleft" src="/uploads/photo/<?php echo date("Ym", strtotime($news->getCreatedAt())) ?>/216/<?php echo $news->getImageOriginal() ?>">

<?php else:?>

Page 54: Diplomnii etsii huvilbar

<img width="200px" class="imgleft" src="/uploads/post/<?php echo date("Ym", strtotime($news->getCreatedAt())) ?>/420/<?php echo $news->getImageOriginal() ?>">

<?php endif?> <h3><a href="<?php echo url_for('news/show?id='.$news->getId())?>"><?php echo $news->getTitle()?></a></h3> <p> <?php echo $news->getDescription()?> </p> <div class="clear infobar"> <div style="padding: 5px 0 0 5px;" class="left"> Нийтэлсэн:<?php echo time_ago($news->getCreatedAt())?>

<span style="color:red;"><?php if($category_s->getId()>52||$category_s->getId()==3||

$category_s->getId()==2){ echo date('d',strtotime($news->getPublishedAt())-

strtotime(date('Y-m-d H:i:s'))); echo "- хоног үлдлээ"; }

?></span> </div> <div class="right readmore"> <a href="<?php echo url_for('news/show?id='.$news->getId())?>">Дэлгэрэнгүй</a> </div> <div class="right sharebutton">

</div> <div class="clear"> </div> </div> </div>

<?php endforeach;?> </div> </div></div>

Бүртгэл болон нэвтрэх хэсэг кодчилолын түвшинд дараах байдалтай бичигдэнэ.

Page 55: Diplomnii etsii huvilbar

Хэрэглэгч болон бүртгэлгүй хэрэглэгчийн ялгааг харуулсан зураг.

<?php use_helper('Global');$types = UserTable::getTypes(); ?>

<div id="main-content"> <div id="main" class="hastLeftColumn clearfix"> <div id="leftColumn"> <h1>Хэрэглэгч</h1> <ul class="left-menu"> <li class="active"><a href="<?php echo url_for('user/login')?>">Нэвтрэх</a></li> <li><a href="<?php echo url_for('user/new')?>">Нууц үгээ мартсан</a></li> </ul> </div> <div id="bodyColumn"> <h1>Нэвтрэх</h1> <form action="<?php echo url_for("user/login")?>" method="POST">

<table><?php echo $form ?><tr> <td></td> <td><input type="submit" name="smt_signin" value="Нэвтрэх »"

class="btnBlue"></td></tr>

Page 56: Diplomnii etsii huvilbar

</table></form </div> </div></div>

Admin -тай холбоо тогтоох булан кодчилолын түвшинд дараах байдалтай бичигдэнэ.

<div id="main-content"> <div id="recentUpdates" class="clearfix"> <div class="col1" style="width:1032px"> <div id="recent-products" class="product-list box"> <div class="item lecture"> <div class="wrap"> <h3><a href="#"><?php echo $page->getName()?></a></h3> <div style="padding: 10px;"> <?php if($page) echo $page->getBody();?> </div> </div> </div> </div> </div> </div></div>

Page 57: Diplomnii etsii huvilbar

4.4 E хичээлийн байрших хугацаа, хязгаарлалтыг шийдвэрлэх арга замууд кодчилолын түвшинд дараах байдалтай бичигдэнэ.

<?phpclass newsActions extends sfActions {public function executeIndex(sfWebRequest $request) {

$query = Doctrine::getTable('News')->createQuery('n')->orderBy('n.created_at Desc');

if($request->getParameter('id')){$query->where('n.extra_type=?',$request->getParameter('id'));}

$this->category =Doctrine::getTable('Category')->createQuery('cc')

->where('cc.enname=?',$request->getParameter('enname'))->fetchOne();

$this->category_s = $this->category;if($this->category->getParentId()==0){$this->categories =Doctrine::getTable('Category')

->createQuery('cat')->where('cat.parent_id=?',$this->category->getId())->execute();

}else{$this->categories =Doctrine::getTable('Category')->createQuery('cat')

->where('cat.parent_id=?',$this->category->getParentId())->execute(); }

if($this->category->getParentId()==0&&sizeof($this->categories)==0){$query->where('n.category_id = ?',$this->category->getId()); $this->categories =Doctrine::getTable('Category')

->createQuery('cat')->where('cat.parent_id=?',$this->category->getParentId())->execute();

}elseif($this->category->getParentId()==0&&sizeof($this->categories)>0){$query->innerJoin('n.Category c')->where('c.parent_id = ?',$this->category->getId());}else{$query->where('n.category_id = ?',$this->category->getId());}

if($request->getParameter('type')){$query->andWhere('n.is_top = ?',$request->getParameter('type')); }

if($this->category->getId()>52&&$this->category->getId()<62||$this->category->getId()==3||$this->category->getId()==2){$query->andWhere('n.published_at > ?',date('Y-m-d H:i:s'));}$this->category =Doctrine::getTable('Category')->find($this->category->getParentId());

$this->id = $request->getParameter('id');

$this->page = $request->getParameter('page', 1);$this->pager = new sfDoctrinePager('News', sfConfig::get('app_max_news_on_list'));$this->pager->setPage($this->page);$this->pager->setQuery($query);$this->pager->init();$this->newss = $this->pager->getResults();}public function executeShow(sfWebRequest $request) {$this->news = Doctrine::getTable('News')->find(array($request->getParameter('id')));$this->forward404Unless($this->news);

if($this->news->getType()==1) {

Page 58: Diplomnii etsii huvilbar

$this->photos = Doctrine::getTable('NewsPhoto')->createQuery('n')->where('n.news_id=?',$this->news->getId())->execute();

Бүлгийн дүгнэлт

Тус бүлэгт системийн ажлын дараалал гүйцэтгэлийн талаар дэлгэрэнгүй оруулж

өгсөн билээ. Системийн интерфэйсийг, ерөнхий дизайн болон хэрэглэгчийн шаардлага

дээр үндэслэн хийж гүйцэтгэсэн ба системийн нарийвчилсан ажиллагаа онцлогийг

ойлгомжтой энгийн байдлаар дэлгэрэнгүй тайлбарлан өгсөн байна.

Page 59: Diplomnii etsii huvilbar

Тавдугаар бүлэг. ЭДИЙН ЗАСГИЙН ХЭСЭГ

Санхүүгийн тооцоо

www.Automatic.mn вэб сайтыг Б.Энхмандах захиралтай EXITON.LLC компани

хийж гүйцэтгэсэн бөгөөд үндсэн үнэлгээ нь зах зээл дээр нэг төрлийн үйл ажилгаа

эрхэлдэг компаниудын санал болгодог үнэтэй ижил юм. (450'000 төг) Мөн тухайн вэб

сайтын онцлог болох Е-хичээл бэлтгэх, байршуулах мөн E-хичээлийн стандартад нийцсэн

байдал өнгө үзэмж, анхаарал татам загвар хэрэглэгчийн шаардлага зэргийг харгалзан үзээд

нэмэлт програмуудыг тус тусад нь төгрөгөөр үнэлсэн болно.

үүнд:

Мэдээлэл байрших хугацаа хязгаарлах, дахин идэвхижүүлэх програм (200000 төг)

Бүх төрлийн видео файл унших видео плайер (100000 төг)

Сайтад буй хэрэглэгч хичээлийг уншиж судалсан хугацаа тухайн хичээлийг

чанартай (300000 төг) судалсан эсэхт анализ програм

Online хэлбэрээр тест өгөх програм (200000 төг)

Мөн вэб сайт домайн нэр болох http//www.Automatic.mn (51'700 төг) ба вэб сайт

байрших бааз серверийн түрээсийн төлбөр жилд unlimited GB мэдээлэл байрших (119'000

төг) гэх зэргийг тус бүр хоёр жилээр урьдчилан төлсөн зэргийг нэмбэл:

51,700 ×2=103,400 төг

119,000× 2=238,000 төг

450,000 тө г+200,000 т ө г+100,000 т ө г+300,000 т ө г+200,000 т ө г=1,150,000 төг

103,400 т ө г+238,000 т ө г+1,150,000 тө г=1,491,400 төг

Нийт мөнгөн дүн: 1,491,400 т өг

Ижил төрлийн үйл ажилгаа явуулдаг компаниудын TOP 10 компанын жагсаалт

Page 60: Diplomnii etsii huvilbar

1. Синглтон ХХК

http://singleton.mn/

2. СодонСолушн ХХК

http://www.sodonsolution.com/home.shtml

3. New media marketing agency

http://thenewmediagroup.co/

4. Экситон ХХК

http://exiton.mn/

5. Грийн софт ХХК

http://greensoft.mn/

6. “Вебстор” ХХК

http://webstore.mn/

7 Метавайс ХХК

http://www.metawise.net/

8 OOPS LLC

http://www.oops.mn/

9. mBm TECHNOLOGY LLC

http://www.mng.cc/index.php

10. Модив Софт ХХК

http://modiw.mn/

Зарим компаниудын ирүүлсэн үнийн саналтай танилцвал

Page 61: Diplomnii etsii huvilbar

Вэб сайт хийх үйлчилгээ, вэб хийнэ, вэб хийх, вэб сайт хийх, website hiih, website hiine

Page 62: Diplomnii etsii huvilbar

1. Байгууллагын танилцуулга сайт2. Аялал Жуулчлалын Операторын сайт3. Онлайн худалдааны сайт4. Хөдөлгөөнт флаш анимайшнтэй бүх төрлийн вэб сайт хийж байна.Манай компани 100 гаруй вэб сайт бүтээсэн.Давуу талууд:1. Хурдан шуурхай2. Гоёмсог дизайнтай3. Хамгаалалт өндөр түвшин4. Google-ийн хайлтанд дээгүүр гарна5. Вэб сайтаа хийлгэсэний нэмэлт засвар үйлчилгээ байнга үнэ төлбөргүй үзүүлнэ6. Манай бүтээсэн Олон нийтийн өндөр хандалттай сайтуудаар хөнгөлттэй болон үнэгүй сурталчилах боломжтой.

Вэб хийх үнийн санал

1.Байгууллагын танилцуулга динамик вэб сайт хийхa) Багц 200.Байгууллагын танилцуулга вэб сайт хийх 200’000 ₮/1 загвараар хийдэг сонголтгүй/b) Багц 500.Байгууллагын танилцуулга вэб сайт хийх 500’000 ₮/10 загвараас сонголт хийдэг/c) Багц 900.Байгууллагын танилцуулга вэб сайт хийх 900’000 ₮/шинээр дизайн гаргаж хийдэг/3.Барааны захиалга, катологитай вэб сайт 1’500’000 ₮4.Интернэт худалдаа бүхий вэб сайт хийх 2’000’000 ₮5. Бүрэн динамик сошл сайттай холболтой вэб сайт хийх 2700`000 ₮+Интернэт маркетингийн үйлчилгээ6. Портал вэб сайт хийх 5`000`000 ₮+Интернэт маркетингийн үйлчилгээBonus:Вэб сайт хийлгэвэл +хост, домэйн нэр үнэгүй дагалдана.Интернэт маркетингийн үйлчилгээ

1. Facebook маркетингийн үйлчилгээ2. Twitter.com -ийн аккаунт хөгжүүлэлт3. SEO хайлтын систем дээгүүр байр эзлүүлэх4. Масс мэйл илгээх5. Портал сайтуудад мэдээний мониторг хийх6. Портал сайтуудад баннер болон мэдээ байрлуулах

Холбоо барих: “Том-Амжилт” XXK

Page 63: Diplomnii etsii huvilbar
Page 64: Diplomnii etsii huvilbar

ДҮГНЭЛТ

Энэхүү дипломын ажлаар “I.LI354 хичээлийг Е сургалтанд бэлтгэх” сэдвийг авч хэрэгжүүллээ. Энэ систем нь их дээд сургуулиудын хүрээнд хэрэглэгдэх юм.

Системийг php хэл дээр технологи хийсэн нь ямар нэгэн флатформ голохгүй ажиллах боломжтой болж байгаа юм. Хэрэгжүүлэлтэнд PHP-Symfony фрэймворк-г судалж, ашигласан бөгөөд хэрэгжүүлэлтийн үе болох системийн тохиргоо, кодчлох хэсэгт бэрхшээлүүд тулгарч байсныг амжилттай хэрэгжүүлж системийн эхний хувилбарыг гаргалаа.

Уг системийн хүрээнд дутагдалтай зүйлүүд байгаа учир цаашид системийг өөрчлөн сайжруулах ажлыг хийсээр байх бөгөөд шинэ шинэ боломжуудыг оруулж өгөхийг хичээх болно. Дипломынхоо ажлаар тус системийн хөгжүүлэлтийг хийснээр олон шинэ зүйлүүдийг мэдэж аваад зогсохгүй систем хөгжүүлэлтийг хийх туршлага хуримтлууллаа .

Уг диплом нь тэнхимийн сургалтыг Е хичээл рүү ойртуулж оюутан,багш нарын уламжлалт суралцах арга барилыг тодорхой хэмжээгээр хөнгөвчилж байгаа гэдэгт итгэлтэй байна.

Page 65: Diplomnii etsii huvilbar

АШИГЛАСАН ХУУДСЫН ЖАГСААЛТ

1. www.Symfony.com2. www.symfony-project.org3. www.w3schools.com4. www.symfony-check.org5. www.PHP.net6. www.Mysql.com7. www.IQuery.com8. www.Google.com9. http://en.wikipedia.org/10. www.Wamp Server.com11. www.Ubuntu.com

Page 66: Diplomnii etsii huvilbar

ХАВСРАЛТ

Товчилсон, Үгсийн тайлбар

WWW - World wide web

UML – Unified modeling language

ERD – Entity relationship diagram

MVC – Model view controller

GNU - General Public License

HTML- Hyper Text Mark-up Language

XSS- Cross-site scripting

DOM - Document Object Model

EMBED CODE - Өөр төрлийн мэдээллийг фраймлаж авах

SOURCE CODE - Эх коде

UBUNTU - Lux-d суурилсан үйлдлийн систем

UNICODE - Бүх төрөлийн коде хөрвүүлэгч

REQUIREMENTS - Хэрэгцээ шаардлгын шинжилгээ

IMPLEMENTATION - Хэрэгжүүлэлт

VERIFICATION - Баталгаажуулалт

MAINTENANCE - Техникийн үйлчилгээ

FRAMEWORK - Ерөнхий бүтэц

AUTOMATIC - Автоматчилагдсан систем

JQUERY - Hyper Text Mark-up Language inserted anime

Page 67: Diplomnii etsii huvilbar

ЗУРГИЙН САН