Diplomnii etsii huvilbar
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
967
On Slideshare
959
From Embeds
8
Number of Embeds
1

Actions

Shares
Downloads
39
Comments
0
Likes
0

Embeds 8

http://automatic.mn 8

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. ШИНЖЛЭХ УХААН, ТЕХНОЛОГИЙН ИХ СУРГУУЛЬ ҮЙЛДВЭРЛЭЛИЙН ТЕХНОЛОГИ, ДИЗАЙНЫ СУРГУУЛЬ БАКАЛАВРЫН ДИПЛОМ БАЯРСАЙХАН ЭНХМАНДАХ “ПРОГРАМЧЛАГДАХ ЛОГИК УДИРДЛАГА” ХИЧЭЭЛИЙГ Е- СУРГАЛТАНД БЭЛТГЭХ
  • 2. Улаанбаатар хот 2013 он ШИНЖЛЭХ УХААН, ТЕХНОЛОГИЙН ИХ СУРГУУЛЬ ҮЙЛДВЭРЛЭЛИЙН ТЕХНОЛОГИ, ДИЗАЙНЫ СУРГУУЛЬ Баг: Хөнгөн үйлдвэрийн машин судлал, хэвлэлийн технологийн профиссорын баг Мэргэжлийн нэр: Хөнгөн үйлдвэрийн автоматжуулалт Мэргэжлийн код: D525500 БАКАЛАВРЫН ДИПЛОМ СЭДЭВ: “Программчлагдах логик удирдлага” хичээлийг Е-сургалтанд бэлтгэх Гүйцэтгэсэн: Удирдсан: Зөвлөсөн: Шүүмж: /Б.Энхмандах/ /Д.Пүрэвмагнай/ / / /Д.Пүрэвмагнай/
  • 3. Улаанбаатар хот 2013 он ДИПЛОМЫН АЖИЛ, ТӨСЛИЙН ДААЛГАВАР, СЭДЭВЧИЛСЭН ТӨЛӨВЛӨГӨӨ “Хөнгөн үйлдвэрийн автоматжуулалт” мэргэжлээр төгсөх Оюутнуудын дипломын үзлэг болон хамгалаах хуваарь 2013,09,14 Үзлэг Гүйцэтгэл Үзлэгийн оноо Хугацаа Судалгааны материалуудыг бэлэн болгох, зорилго, зорилтуудаа тогтоосон байх 3 IX/23 Нэгдүгээр үзлэг Онол, судалгааны хэсэг 7 X/14 Хоѐрдугаар үзлэг Зохион бүтээлтийн хэсэг /бичвэр, зураг/ 10 X/28 Гуравдугаар үзлэг Удирлагийн төсөл тооцоо бичвэр, зураг/ 10 XI/11 Дөрөвдүгээр үзлэг PID контроплерийн төсөл тооцоо, эдийн засаг, дүгнэлт 5 XII/2 Урьдчилсан хамгаалалтанд орох эрх Диплом дууссан байна Удирдагчийн үзлэг XII/20
  • 4. Урьдчилсан хамгаалалт Диплом 100% дууссан байна +-20 XII/23 Удирдагчийн дүгнэлт тодорхойлолт +-15 I/4 Дипломын хамгаалалт +-30 I/6
  • 5. ГАРЧИГ Оршил Нэгдүгээр бүлэг: Дипломын сэдвийн тухай 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 Бүлгийн дүгнэлт Дөрөвдүгээр бүлэг: ХЭРЭГЛЭГЧИЙН ШААРДЛАГА
  • 6. 4.1 Системийн ерөнхий ойлголт 4.2 Хэрэглэгчийн онцлог Бүтээгдэхүүний эцсийн хэрэглэгчид 4.3 Automatic.mn нүүр хуудасны ерөнхий харагдах байдал Ерөнхий бүтэцийг блок схемээр харуулсан загвар. 4.4 Automatic.mn вэб сайтын нүүр хуудас кодчилолын түвшинд дараах байдалтай бичигдэнэ. 4.5 Мэдээ булан кодчилолын түвшинд дараах байдалтай бичигдэнэ. Бүртгэл болон нэвтрэх хэсэг кодчилолын түвшинд дараах байдалтай бичигдэнэ. Admin -тай холбоо тогтоох булан кодчилолын түвшинд дараах байдалтай бичигдэнэ. 4.6 E-хичээлийн байрших хугацаа, хязгаарлалтыг шийдвэрлэх арга замууд кодчилолын түвшинд дараах байдалтай бичигдэнэ. Бүлгийн дүгнэлт Тавдугаар бүлэг. САНХҮҮГИЙН ТООЦОО ДҮГНЭЛТ АШИГЛАСАН ХУУДСЫН ЖАГСААЛТ ХАВСРАЛТ ЗУРГИЙН САН
  • 7. ОРШИЛ Бидний амьдарч буй энэ эрин зуун бол мэдээллийн технологийн эрин зуун юм. Тэр дундаа компьтерийн програм хангамж маш хурдацтай хөгжиж байна. 10-аад жилийн тэртээ Монгол улсад компьютер, интернэт танигдаж байсан бол өнөө үед компьютер ашигладаггүй, интернэт ашигладаггүй хүн гэж бараг үгүй болжээ. Мэдээллийн технологи, програм хангамж нь хүний үйл ажиллагааг маш ихээр хялбарчилж байдаг. Мэдээллийн технологийн дэвшилтэт чанарууд бизнесийн бүх салбаруудад ач тусаа өгч байна. Тэр ч утгаар цахим хэлбэрээр үйлчилгээ явуулдаг албан байгууллага нэмэгдсээр байна. Миний дипломын ажлын хийх ѐстой зүйл бол танхимын сургалтын дутагдалтай талыг нөхөж цахим хэлбэрт оруулах буюу Е хичээл бэлтгэх юм. Ингэснээр бидний цаг хугацаа, хүч хөдөлмөр хэмнэгдэж интернетээр хичээл сонголт хийдэг байсан бол одоо хичээл судлах боломж бүрдэж байгаа юм. Танхимын сургалтаас ялгаатай нь оюутан хичээлийг урьдчилан судлах, хугацаа дууссан үед зөвшөөрөл авч дахин судлах, олж авсан мэдлэгийг тухайн цагт дүгнүүлэх, хичээлд алсын зайнаас оролцох, хичээлийн ирц бүртгүүлэх боломж бүрдэж байгаа нь уг системийн үндсэн давуу тал болж байгаа билээ. Ингэхдээ сурч буй хугацаандаа олж авсан мэдлэгээ ашиглан бодит хэрэглэгчдийн хүртээл болгох зорилготойгоор ажиллалаа.
  • 8. НЭГДҮГЭЭР БҮЛЭГ: ДИПЛОМЫН СЭДВИЙН ТУХАЙ
  • 9. Энэхүү бүлэгт дипломын төслийн үндэслэл, зорилтууд, төслийг хэрэгжүүлсний ач холбогдол зэргийг тодорхойлсон. 1.1 Сэдвийг хэрэгжүүлэх үндэслэл Танхимын сургалт нь тогтсон хүгацаандаа нэг л удаа заадаг. Энэ нь удаан ойлгодог, мөн янз бүрийн шалтгаанаар хичээлдээ сууж амжаагүй тохиолдолд тухайн хичээлийг ойлгохгүй өнгөрөх нь бий. Тиймээс цахим сургалт нь танхимын учир дутагдалтай талыг нөхөж автоматжуулсанаар дараах ач холбогдолтой. Үүнд: Цаг хугацаа хэмнэнэ. Жишээлбэл: o Хэрэглэгчид уулзах шаардлагагүйгээр интернетэд суурилсан програм хангамж хэрэглэн харилцана. Эдийн засгийн хувьд хэмнэлттэй. Жишээлбэл: o Цаасгүй технологийг дэмжин цаасанд зарцуулсан мөнгийг хэмнэнэ. Олон шат дамжлага болсон үйлүүдийг арилган хэрэглэгчид цогц үйлчилгээ үзүүлснээр хэрэглэгчдийн сэтгэл ханамжийг нэмэгдүүлнэ. Жишээлбэл: o Хэрэглэгч үйлийг гүйцэлдүүлэхийн тулд зөвхөн интернет буюу интернетэд суурилсан програм хангамж байна. Е хичээл болон дипломын хүрээнд хийгдсэн автомат систем ашигласнаар хөдөлмөрийн бүтээмж дээшилнэ. 1.2 Зорилтууд 1. E хичээлийн стандартад нийцсэн вэб сайт хийх, турших. 2. Мэргэжлийн багш оюутан нарт E хичээл бэлтгэх, вэб хуудсанд хэрхэн байршуулах талаар сургалт зохион байгуулах. 3. E хичээлийн стандартад нийцсэн вэб сайт хийж гүйцэтгэх, тогтмол ажиллагааг хангах, багш оюутанд суртчилах, түгээн дэлгэрүүлэх. 4. Төлөвлөсөн хугацаанд хийж гүйцэтгэх, тэнхим болон багш нарт хүлээлгэн өгөх. 1.3 Үүрэг, ач холбогдол E яхичээл нь интернетийн орчин нөхцөл бүхий л газарт цагын хязгааргүй үнэ төлбөргүйгээр хэмжээ хязгааргүй олон нийтэд асар хурдтай түгээж болдгоороо бусад төрлийн хичээл заах арга технологиос эрс ялгардаг юм. Хамрах хүрээ нь зөвхөн
  • 10. мэргэжлийн ангийн оюутан багш нар болон интернет хэрэглэх чадвартай хүн бүхэнд нээлттэй төрөл бүрээр баяжуулан судлах бүрэн боломжтой байдаг нь орчин үеийн залуусын шаардлагад бүрэн нийцэж байгаа билээ. Хэрэглэч үйл ажиллагаа явуулхад хялбар ойлгомжтой байх үүрэгтэй. Систем хэрэглэгчийн бодит амьдрал дээр хийгддэг үйлдлүүдийг автоматжуулах. Зардал хэмнэх. o Цаг хугацаа o Мөнгө o Хүч хөдөлмөр гм. Хэрэглэгчдэд үйл ажиллагаа явуулахад ойлгомжтой, хялбар, тааламжтай нөхцөл бүрдүүлэх. 1.4 Бүлгийн дүгнэлт Энэ бүлэг нь дипломын төслийн сэдэв болох I.LI354 хичээлийг Е сургалтанд бэлтгэх дипломын төслийн хүрээнд хийж гүйцэтгэсэн вэб сайтын үүрэг ач холбогдол, дипломын зорилтууд, сэдэв хэрэгжүүлэх болсон шаардлага зэрэг ерөнхий ойлголтыг оруулан бичсэн болно.
  • 11. ХОЁРДУГААР БҮЛЭГ СУДАЛГАА
  • 12. 1. Програмыг хөгжүүлэх арга болон технологийн судалгаа Аливаа төслийг хийж гүйцэтгэхэд ижил төстэй төслүүдийн судалгаа, хийх арга технологи нь ажлын үр дүнд нөлөөлөх хамгийн гол хүчин зүйл нь болдог. Тиймээс энэхүү дипломын төслийг хийж гүйцэтгэхэд нэн тэргүүнд тавигдах зүйл бол судалгаа буюу тэр дундаа хэрэгжүүлэх арга юм. Ямар процесс загвар, арга технологи ашиглах нь хөгжүүлэгчийн сонголт байдаг боловч өөрийн хөгжүүлж буй програм хангамж, ажлын төлөвлөгөөндөө зориулж сонгох нь маш чухал. Програм хангамжийг хөгжүүлэх маш олон процесс загвар байдаг ба тэр дундаа хамгийн өргөн тархсан процесс загвар нь хүрхрээ загвар юм. Миний бие дипломын төслийн ажлыг хүрхрээ загвар ашиглан гүйцэтгэхээр болсон. Учир нь дипломын төслийн төлөвлөгөөнд үе шат бүрийг хугацаанаас хамааруулан гаргахдаа нэг үйл ажиллагааг бүрэн дууссаны дараа удирдагч багшдаа шалгуулан дүгнүүлээд дараагийн үеийг хэрэгжүүлж байхаар гаргасан. Энэ нь хүрхрээ загварын үе шат бүр асуудлаа сайн тодорхойлж бүрэн шийдвэрлэсний дараа, дараагийн үе рүү орох зарчимтай тохирч байгаа юм. 2. Вэб сайт хийх арга Вэб хуудас хийх олон арга технологи байдаг мөн олон тооны програмын хэл байдаг үүнээс хамгийн түгээмэл аргыг авч үзье. 2.1 Хүрхрээ загвар Програм хангамжийн хөгжүүлэлтийн маш олон процесс загварууд байдаг ба тэдгээрээс хамгийн өргөн тархсан, түгээмэл загвар нь хүрхрээ загвар юм. Энэхүү загвар нь дотроо хэд хэдэн үе шатуудад хуваагддаг. Нэг үе шат нь бүрэн дууссаны дараа дараагийн үе рүү ордог ба нэгэнт гүйцэтгээд дууссан үе шат руу буцаж очдоггүй. Хүрхрээ загвар нь дараахь үндсэн таван үе шатаас бүрддэг. 1. Шаардлага тодорхойлох 2. Зохиомж 3. Кодчлол 4. Нэгтгэх болон турших
  • 13. 5. Нэвтрүүлэлт болон сайжруулалт Зураг 2.1 Хүрхрээ загвар Хүрхрээ загвар өргөн тархсан, ойлгоход хялбар, сайн бүтэцлэгдсэн гэх мэт олон давуу талууд байдаг боловч сул талууд бас байдаг. Үүнд: Шаардлага бүрэн дүүрэн тодорхойлогдсон гэж эхэн үед авч үздэг нь бодит байдал дээр нийцдэггүй Програмын ажиллах хувилбар нь хөгжүүлэлтийн төгсгөлд гардаг Захиалагч хөгжүүлэлтийн эхэн үе буюу шаардлага тодорхойлход оролцдог 2.2 MySQL өгөгдлийн сангийн судалгаа Диплом ангийн ажлийн бүртгэлийн систем нь өгөгдлийн сантай тул MySQL-ийг ашиглах шаардлага гарсан. MySQL өгөгдлийн сан нь түгээмэл тархсан өгөгдлийн сангуудын нэг бөгөөд тэр дундаа вэб хөгжүүлэгчид өргөнөөр ашигладаг. Function, trigger, procedure ашиглах бүрэн боломжтой ба GNU (General Public License) буюу нээлтэй эх юм. Өөрөөр хэлбэл хүссэн хэн бүхэн хөгжүүлэлтэд оролцож, үнэгүй хэрэглэж болно. Windows, MacOS, Unix зэрэг үйлдлийн системүүд дээр платформын хамааралгүйгээр ажиллаж, суурилуулахад хурдан, хэрэглэхэд хялбар гэх мэт олон давуу талтай. MySQL өгөгдлийн санг Ubuntu үйлдлийн систем дээр суулгах
  • 14. Эхлээд 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 эрхлэн гаргадаг вэб хөгжүүлэхэд зориулагдсан нээлттэй
  • 15. технологийн framework юм. “Sensio Labs”-ийг анх Фабейн Потенсейр (Fabien Potencier) 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 оны
  • 16. сүүлээр хүчээ аван интернетийн ертөнцөд бүрэн цогц вэб урлах үйл хэрэгт гол тоглогчийн байрлалд аваачигдсан. Синсео нь ихэнх тоглогчид бизнесийн салбарт мэргэжлийн төгс аргачлалыг нэвтрүүлэхэд project болгоныг дахин шинээр үүсгэх шаардлагатай хэмээн бодож байсан тэрхүү интернетийн уналтаас ялгаран гарч чадсан. Ихэнх Синсео-гийн хэрэглэгчид нь том хэмжээний корпораци-ууд байдаг ба тэднийг шинийг санаачлах, цаг хугацааг маркетинг руу чиглэсэн бага хэмжээний төслөөс дунд хэмжээний хүртэл өсөн хөгжихэд нь гол хүч нь болж өгсөн. Мөн цогц интернет application-ы аудит хийх, зөвлөгөө өгөх, сургалтын чиглэлээр интернет суурилагдсан үйлчилгээг үзүүлдэг. Синсео Лаб нь Францад болон гадаадын бусад орнуудад төсөл хэрэгжүүлсэн туршлагатай компани юм. Харин гол зүйл нь бол Синсео Лаб нь Symfony framework-ийг хөгжүүлдэг ба OpenSource 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-ийн ажиллах зарчим
  • 17. Зураг 2.2 Symfony MVC архитектур Зураг 2.3 Symfony-ий ажиллах зарчим Symfony нь MVC архитектуртай ба хэрэглэгчээс хүсэлт ирэхэд хэрэглэгчийн хүсэлтэд харгалзах модуль дуудагдаж тухайн модулийн action эхэлж ажилладаг. Action нь
  • 18. моделиудтай ажиллан үр дүнг өөрт харгалзах template илгээдэг. Template нь олон partial болон component–ээс тогтдог ба үр дүн нь layout дээр ирэн response болдог. 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 ашиглан суулгах
  • 19. Энэ дундаас хамгийн хялбар бөгөөд өргөн ашиглагддаг арга нь Шууд татан суулгах арга юм. Энэ аргаар суулгахдаа интернэтэд зайлшгүй холбогдсон байх шаардлагатай ба өөрийнх сайтаас "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
  • 20. Энэхүү кодыг "Windows Command Processor" буюу "cmd" дээр өөрийн хөгжүүлж байгаа төсөл дотор орон кодыг ажиллуулна өгнө. Дээрх кодын эхний мөр кодыг ажиллуулахад "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” төсөл үүсгэх:
  • 21. Ингэхийн тулд өөрийн серверийн root директорд орсон байх шаадлагатай ба доор кодыг ажиллуулна symfony generate:project pro_name 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 Хэрэв ямар бол “HTML” хуудас нэгэн framework ашиглахгүй “PHP” вэб бүрт нэг “PHP” файл гэсэн сайт дүрмээр хөгжүүлж байсан ажиллаж байсан байх. Тэдгээр “PHP” файлууд нь нэг ижил төрлийн бүтцийг агуулдаг: үүсгэх, ерөнхий тохиргоо, хүсэлтийн хуудастай холбоотой бизнес логик, баазаас өгөгдөл цуглуулах мөн эцэст хуудсыг үүсгэх “HTML” хуудас гэх зэрэг. Магадгүй “HTML” хуудсаас template-ын логик-ыг тусд ашиглаж байсан байх. Мөн баазын abstraction layer-ыг тусд нь бизнес логикоос нь ангид авч ашиглаж байсан байж ч магадгүй. Гэсэн ч ихэвчлэн эмхтгэхэд нилээн төвөгтэй маш их кодтой л үлддэг байсан. Хэдийгээр хийхэд нилээн хурдан боловч, хөгжүүлэх тусам өөрчлөлт хийхэд төвөгтэй болж, бараг өөр хүн хэрхэн хийгдэж, ажиллаж байгааг бараг ойлгохгүй болдог. Энэ бүх асуудлаас гарах сайхан шийдэл бас байна. Вэбийн хөгжилд өнөө үед кодоо зохицуулах хамгийн түгээмэл шийдэл бол MVC загварчлалын хэв маяг юм. Товчхондоо, MVC загварчлалын хэв маяг нь кодыг тань байх ѐстой зарчмых нь дагуу
  • 22. зохицуулахыг тодорхойлдог. Энэ хэв маяг нь кодуудыг 3 давхаргад (layer) –т хуваан авч үздэг. o The Model давхарга бизнес логикийг тодорхойлдог (өгөгдлийн бааз мөн энэ давхаргад хамаарна). Symfony бүх класс болон Model-той холбоотой бүх файлууд lib/model/ хавтаст хадгалагдана. o The View хэрэглэгч ямар зүйлтэй харицаж байгаа байдал(template engine энэ давхаргын нэг хэсэгт орно). Symfony-д голдуу View давхарга нь PHP template-ээр үүсдэг. Тэд өөр өөр templates/ хавтасд хадгалагддаг. o The Controller бол хэсгээс View давхарга Symfony-ыг суулгах хэрэглэгчээс хүссэн руу дамжуулах Model-ыг үед өгөгдлийг Model дуудах багахан код. бүх хүсэлт front controller-р зохицуулагддаг жишээтэй (index.php ба frontend_dev.php). Эдгээр контроллорууд нь яг жинхэнэ ажиллах action-уудыг Тэдгээр action-гууд логикоор module-уудад бүлэглэгдэн байрладаг. төлөөлдөг.
  • 23. Зураг 2.4 MVC Architecture Хамгаалалт Ерөнхийдөө generate:app task нь вэб-ын орчинд хамгийн их тархсан 2 төрлийн аюулаас хамгаалагдсан байдаг. Symfony нь бидний өмнөөс автоматаар хамгаалалтыг авдаг. XSS дайралтаас хамгаалж гаралтын хамгаалалт (output escaping) идэвхждэг, CSRF дайралтаас хамгаалж random хамгаалалт хийгддэг. Мэдээж, дараах сонголтуудын ачаар өөрөө тохируулах боломжтой. escaping-strategy: Идэвхжүүлэх эсвэл унтраах output escaping
  • 24. 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 гэж бичнэ). Вэб серверийн тохиргоо Энгийн арга:Хэрэв төслөө вэб root-ийнхээ аль нэг хэсэгт үүсгэсэн бол та аль хэдийн браузераараа хандах боломжтой. Мэдээж ингэсэн тохиолдолд ямар нэгэн тохиргоо байхгүй ба config/database.yml файл руу браузераараа хандах боломжтой болох учираас хэр муу үр дагавар байгааг та ойлгох бизээ. Хэрэв хэрэглэгч таны вэб сайт symfony дээр хийгдсэнийг мэдвэл, тэр таны маш их чухал файлууд руу хандах боломжтой болно гэсэн үг. Хэзээ ч жинхэнэ сервер дээр ингэж суулгаж болохгүй. Та дараагийн хэсгийн уншиж хэрхэн вэб серверт тохируулж тохиргоог хийхийг сурна. Сайн арга: Хамгийн сайн дадал бол зөвхөн вэб браузераар хандаж болох бүхий л файлуудаа жишээ нь: javascript, stylesheets болон зурагнуудаа вэб root директори-тоо байрлуулах арга юм. Defaul-аар нь зөвлөхөд symfony төслийнхөө web дэд директори дотроо хадгалаарай.
  • 25. Хэрэв та энэ директори руугаа орвол та вэб-ийн нэмэгдэл(css болон зурагнууд) болон 2 төрлийн нүүрний удирдлагын файлуудыг (front controller) харна. Front controller бол вэб директори дотор байрлах шаардлагатай зөвхөн php файл. Бусад бүх php файлууд браузераар хандах боломжгүйгээр нуугдсан байна. Энэ нь хамгаалалтын хувьд нилээд сайн болно. Одоо Apache-ийн тохиргоог хаанаас ч хандах боломжтой болгох үүднээс өөрчилнө. httpd.conf тохиргооны файлыг нээгээд доорх тохиргоог хамгийн доор нь нэмнэ. # Be sure to only have this line once in your configuration NameVirtualHost 127.0.0.1:8080 # This is the configuration for your project Listen 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 All Allow 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 All Allow from All </Directory> </VirtualHost> /sf alias, нь default symfony хуудас болон вэб засварын toolbar (Web Debug Toolbar)ын зураг болон javascript-ийн файлуудтай холбогдох замыг заадаг. Windows-д Alias мөрийг дараах байдлаар өөрчилөх шаардлагатай. Alias /sf “c:devsfprojectsjobeetlibvendorsymfonydatawebsf” /home/sfprojects/jobeet/web гэсэн мөр нь мөн дараах байдлаар өөрчлөгдөнө. c:devsfprojectsjobeetweb Энэ тохиргоо нь Apache listen-ийг таны компютерт порт 8080 болгож, вэб сайт нь дараах URL-аар холбогдоно. (http://localhost:8080/) Та 8080 гэснийг дурын дугаараар сольж болох ба админы зөвшөөрөл шаардагддаггүй 1024-өөс дээш тоо байж болно. Орчин- (Environment) Хэрэв web/ директори-руу орж үзсэн бол index.php болон frontend_dev.php гэсэн 2 ширхэг php файл байгаа. Эдгээр файлуудыг front controllers гэж нэрлэдэг бөгөөд бүх
  • 26. application руу хандсан хүсэлтүүд тэдгээрээр дамжиж явагддаг. Гэвч яагаад заавал 2 front controller-уудтай байх хэрэгтэй гэж? Хоѐулаа ижилхэн application-ыг зааж байгаа боловч өөр өөр орчинд зориулагдсан. Хэрэв шууд серверын орчинг вэб хөгжүүлэгч л биш л бол танд хэд хэдэн орчинд ажиллах шаардлагатай байдаг. The development environment: Энэ орчин нь вэб хөгжүүлэгч нарт зориулагдсан бөгөөд тест хийх, алдаа (bugs)-ын мэдээлэл зэрэг давуу талуудтай. The test environment: Энэ орчин нь автоматаар application-г тест хийхэд зориулагдсан. The staging environment: Энэ орчин нь хэрэглэгч application-г шалгахад зориулагдсан. The production environment: Энэ орчин нь эцсийн хэрэглэгчидэд зориулагдсан. Юу нь орчинг онцгой, цорын ганц болгодог вэ? Тухайлбал хөгжүүлэлтийн орчин (development environment) нь, application-нь алдааг хялбар засахын тулд хүсэлтүүдийн нарийн мэдээллийн лог хийх шаардлагатайн. Харин өөрчлөлт орсон кодууд зөв ажиллаж байгааг хянахын тулд cache систем идэвхгүй байх шаардлагатай. Тиймээс хөгжүүлэлтийн орчин нь хөгжүүлэгчид зориулж хийгдсэн байх ѐстой. Хамгийн сайхан жишээ бол exception гарч ирэх үе юм. Хөгжүүлэгчид алдааг маш хурдан олоход тусалж, symfony браузер дээр сүүлийн хүсэлтүүдийг агуулсан бүх exception-г мэдээлэлтэй нь хамт харуулдаг. Харин Production environment орчины үед cache-ын давхарга идэвхижсэн байх ѐстой байдаг ба мэдээж application бүх нарийн алдааны оронд ердийн алдааны мессежийг харуулдаг. Тиймээс production environment орчин нь ажиллагаа болон хэрэглэгчдэд зориулж сайжруулагддаг.
  • 27. Хэрэв front controller файлуудыг нээвэл, контентууд нь хөгжүүлэх үеийн (environment) тохиргооноос бусад нь ижилхэн байгааг олж харна. // web/index.php <?php require_once(dirname(__FILE__).‟/../config/ ProjectConfiguration.class.php‟); $configuration = ProjectConfiguration::getApplicationConfiguration(„frontend‟, „prod‟, false); sfContext::createInstance($configuration)->dispatch(); Вэб debug toolbar нь мөн орчны хэрэглээний бас нэгэн онцлог жишээ бөгөөд зөвхөн хөгжүүлэх үеийн орчингийн бүх хуудсанд харагдах бөгөөд tab бүрд өөр өөр маш олон мэдээллийг агуулсан холболтыг харуулдаг. Тухайлбал тухайн үеийн application-ны тохиргоо, хүсэлтүүдийн log-ууд, өгөгдлийн баазад хийгдсэн SQL хүсэлтүүд, санах ойн мэдээлэл, хугацааны мэдээлэл зэрэг орно. 2.4 “Jquery” жаваскрипт сангийн судалгаа JQuery бол HTML ба JavaScript–ийн хоорондох ажиллагааг зохицуулдаг, нээлтэй эх бүхий JavaScript–ийн фреймворк юм. JavaScript–ийн фреймворкгүйгээр Document Object Model (DOM)–д хандахдаа маш олон мөр бичих шаардлагатай байсан бол jQuery–г ашигласнаар хүчирхэг бөгөөд үр дүнтэйгээр Document–д хандаж чадах ба дараахь үйлдлүүдийг гүйцэтгэж чадна.
  • 28. Үүнд: Хуудасны харагдах байдлыг өөрчлөх (Css нь document–ийг хэрхэн харагдах байдлыг тодорхойлдог арга юм. Гэвч зарим үед веб хөтчүүд ижил стандарт хэрэглээгүй үед асуудалтай тулгардаг. jQuery нь ижил стандартуудыг хөтөч хооронд холбож өгдөг гүүр болон ажилладаг. jQuery ашиглан css class–уудыг өөрчлөн, харагдах байдлыг өөрчлөж чадна) Хуудсны агуулгыг өөрчлөх (Ямар нэгэн өөрчлөлт хийхэд хязгаарлалт байхгүй. Текст өөрчлөх, зураг нэмэх эсвэл солигдох, жагсаалтууд дахин дараалагдах эсвэл бүх HTML файлын бүтэц дахин бичих ба өргөтгөх зэргийг зөвхөн ганцхан API ашиглан хийх нь хялбар юм) Хэрэглэгчийн үйлдэлд хуудаснаас хариу үзүүлэх (jQuery–ийн сан нь олон тооны үйлдлийг барьж авах сайн аргатай, жишээ нь хэрэглэгч холбоос дээр дарах гэх мэт) Хуудсанд эффект нэмэх (Үр дүнтэй интерактив байдлыг бий болгохын тулд дизайнер нь хэрэглэгчийг visual feedback-аар хангах хэрэгтэй байдаг. Энэ шаардлагыг jQuery library эффектүүдийн массиваар хангаж өгдөг. Жишээ нь: Fades ба Wipes, шинэ аргуудын toolkit шиг) Хуудсыг дахин ачааллахгүйгээр мэдээллийг серверээс хүлээн авах (jQuery сан нь процесоос хөтчийн тодорхой нарийн ажлыг салгадаг ба хөгжүүлэгчдэд Server–end функцуудад төвлөрөх боломж олгодог) JavaScript–ийн хийж болох даалгавруудыг хялбарчилдаг (jQuery нь JavaScript–ийн бүхий л хийж чадах зүйлийг хялбар, илүү хялбараар хийх боломжоор хангаж өгдөг) 2.5 UML технологийн судалгаа Нэгдсэн загварчилгааны хэл буюу Unified Modeling Language(UML) нь програм хангамжийн системүүдийг загварчлах тодруулбал програм хангамжийн системийн бүрдэл хэсгүүдийг дүрслэх, тодорхойлох, байгуулах болон бичиг баримт үүсгэхэд зориулагдсан график хэл юм. UML загварын гол зорилгууд:
  • 29. 1. Хэрэглэгчдэд ашиглахад бэлэн, илэрхийлэгдсэн визуаль загварын хэлийг бэлтгэж өгөх 2. Системийн гол ойлголтуудыг үзүүлэх мэргэшсэн механизмуудаар хангах 3. Тодорхой нэг програмчлалын хэл ба систем хөгжүүлэх процессоос бие даасан байх 4. Загварын хэлийг ойлгох албан ѐсны үндэс сууриар хангаж өгөх 5. Объект хандлагат хэрэгслийн борлуулалтын өсөлтийг урамшуулах 6. Collaboration, framework, pattern зэрэг систем хөгжүүлэх өндөр түвшний ойлголтуудыг дэмжих 7. Шилдэг практик үйл ажиллагааг бүрэлдүүлэх UML диаграмууд Програмын шаардлагыг объект хандлагат загварчлалаар тодорхойлохын тулд тусдаа боловч хоорондоо холбоотой , объект хандлагат 5 диаграмыг үндэс болгон ашиглана. Ихэнх тохиолдолд, системийн шинжээч нь бизнесийн хэрэгцээ шаардлагын талаарх бүрэн тодорхойлолт авахын тулд үндсэн 5 диаграмыг ашигладаг. Гэсэн хэдий ч, зарим тохиолдолд шаардлагыг хангалттай тодорхойлохын тулд 3 эсвэл 4 диаграм нь л ашиглагдах тохиолдол бас байдаг. Эдгээр 5 диаграмд: - Ажлын явцын диаграм (use case): Систем яаж ашиглагдах вэ гэдгийг тодорхойлох зорилготой. - Класс диаграм: Зорилго нь шинэ системд хэрэгтэй объектуудыг тодорхойлох явдал юм. Класс диаграмд объектын шинж чанар, төлөв байдлууд нь бүгд тодорхойлогдсон байх ѐстой. Ерөнхийдөө энгийн түвшний диаграм нь системийн бүх классууд тэдгээрийн хоорондын уялдаа холбоог харуулахад ашиглагдана. Хамтын ажиллагааны диаграм (collaboration): Ямар объект өгөгдсөн функцтэй ажиллах вэ гэдгийг тодорхойлно. Энгийн хамтын ажиллагааны диаграм нь функцийг гүйцэтгэхийн тулд объектууд тэдгээрийн харилцан хамаарал, тэдгээрийн хооронд дамжигдаж буй мэдээллүүдийг дүрсэлнэ. - Дэс дарааллын диаграм (sequence): Хамтын ажиллагааны диаграм дээр дүрслэгдэх мэдээллүүдийн өөр нэг дүрслэл юм. Гэхдээ бага зэрэг ялгаатай дүрслэгдэнэ. Объектуудын хамтын ажиллагааг харуулахаасаа илүүтэйгээр тэдгээрийн хооронд дамжигдах мессежүүдийн дарааллыг чухалчилж харуулна. Дараалал нь дээрээс
  • 30. доош чиглэлд зурагдана. Дэс дарааллын диаграм болон хамтын ажиллагааны диаграм нь нийлээд харилцан ажиллагааны(interaction) диаграмыг бүрдүүлнэ. Төлөв байдлын диаграм (statechart): Объект бүрийн хувь дахь төлөв байдлуудыг дүрслэнэ. Класс бүрд нь төлвийн диаграм зурагдана. Хүрхрээ загвар Програм хангамжийн хөгжүүлэлтийн маш олон процесс загваруудаас хүрхрээ загвар ашиглан хийх вэб сайтанд байрших мэдээлэл Е хичээлийн стандартын хэлбэртэй байна. 2.6 E хичээл гэж юу вэ? Танхимын сургалт нь тогтсон хүгацаандаа нэг л удаа заадаг. Энэ нь удаан ойлгодог, мөн янз бүрийн шалтгаанаар хичээлдээ сууж амжаагүй тохиолдолд тухайн хичээлийг ойлгохгүй өнгөрөх нь бий. Тиймээс цахим сургалт нь танхимын учир дутагдалтай талыг нөхөж хичээлийн агуулгыг гэр, сургууль дээрээсээ, компьютер болон гар утаснаасаа үзэх, ин хичээлд оролцох, багш нар хичээл зохион явуулах таатай орчинг бүрдүүлсэн байдаг. Миний дипломын ажлын хийх ѐстой зүйл бол энэ үйл ажиллагааг цахим хэлбэрт оруулах юм. Ингэснээр бидний цаг хугацаа, хүч хөдөлмөр хэмнэгдэж интернетээр цахим хэлбэрээр сургалт явуулах боломж бүрдэж байгаа юм. Тиймээс цахим сургалт нь танхимын учир дутагдалтай талын нөхөж хичээлийн агуулгыг баяжуулан тал бүрээс судлах гэр болон сургууль зуслан гээд интернетийн сүлжээ бүхий газраас хичээлийг судлах ,оролцох даалгавар гүйцэтгэх зэрэг өргөн боломжит орчин нөхцөл бүхий дэвшилтэт арга технологи билээ. 2.6.1 E хичээлийн давуу тал хамрах хүрээ E-хичээл нь интернетийн орчин нөхцөл бүхий л газарт цагын хязгааргүй үнэ төлбөргүйгээр хэмжээ хязгааргүй олон нийтэд асар хурдтай түгээж болдгоороо бусад төрлийн хичээл заах арга технологиос эрс ялгардаг юм. Хамрах хүрээ нь зөвхөн мэргэжлийн ангийн оюутан багш нар бус интернет хэрэглэх чадвартай хүн бүхэнд нээлттэй төрөл бүрээр баяжуулан судлах бүрэн боломжтой байдаг нь орчин үеийн залуусын шаардлагад бүрэн нийцэж байгаа билээ. 2.6.2 E хичээлийн стандарт
  • 31. I. Эхний хэсэг: /Лекц, семинар, лаборатори/ Сэдвийн нэр Дэд сэдвийн нэр /байгаа тохиолдолд/ Түлхүүр үг, нэр томъѐоны тайлбар Товч хураангуй /2-3 өгүүлбэрээр илэрхийлнэ/ Үндсэн хэсэг: /Лекц, Семинар, Лаборатори/ 8-10хуудас /А4 формат,мөр хоорондын зай 1/ Лекцээ хураангуйлсан дуу оруулах Аудио, видео бичлэг Animation оруулах /Ж: Тоног төхөөрөмжийн эд анги, томъѐоны гаргалгаа, график/ Ашиглах материал: Үндсэн сурах бичиг / Хуудасны дугаар /Вэб хуудас, холбогдож болох линкууд Нэмэлт материалуудыг татаж авах байдлаар тавих/ Лекцийн материалаа өөрөөр баяжуулсан байх / Төгсгөлийн хэсэг: 15-30 Тестийн асуулт, хариултын хамт / Лекц тус бүрт эсвэл бүлэг бүрт байх / Ганцаарчилан болон багаар гүйцэтгэх бие даалтын ажлын даалгавар, заавар Е хичээл техникийн шаардлага: 1. Фонд ижил /Unicode буюу стандарт фонд ашиглах/ 2. Үсгийн хэмжээ 14-18-ийн хооронд, ижил уншихад гаргацтай 3. Текстээ зураг хэлбэрээр биш 4. Нэг TAB дээр дуудагдах /Лекц, семинар, текст гэх мэт/ 5. Сорил, тестнээс буцах товч байх /нүүр хуудасруу/
  • 32. 6. Зураг оруулахдаа чанартай байх /300dpi / E-хичээлийг хэрхэн судалж үзэх талаар оюутанд хүргэх зөвлөмж, санамжийг II. боловсруулах. Е-Хичээлийн материалыг электрон хэлбэрээр хүлээлгэж өгөхдөө эмх цэгцтэй, III. ерөнхий дуудагдах хуудсыг ил гарган (жич: index.html хэлбэрээр нэрлэнэ), лекц семинар тестүүдийг тус тусад нь фолдерт хийсэн байхмөн source файл хавсаргасан байна. 2.7 Бүлгийн дүгнэлт Дипломын төслийн судалгааны үе шатад процесс загваруудын мэдлэгээ сэргээн хүрхрээ загварыг сонгон ажиллах болсон ба сэдэвтэй холбоотой ашиглагдах технологиудыг судалж, Ubuntu үйлдлийн систем дээр MySQL болон Symfony фреймворкийг суулгаж, туршиж үзсэн.
  • 33. Гуравдугаар бүлэг: ВЭБ САЙТЫН АГУУЛГА, ЗАГВАР, ҮНДСЭН БҮТЭЦ Энэ бүлэгт системийн харагдах байдал болон дотоод цэснүүдийн байрлал, задаргаа онцлог булангуудын харагдах байдал түүний бүтэц ашиглах зааврын талаар ойлголттой болно. 3.1 E хичээлийн стандартын нийцэл E хичээлийг бэлтгэхдээ өнгөний сонголт хүний нүдэнд ядаргаа үүсгэхгүй байх, сонирхол төрөлхүйц, мөн Flash ашигласан байх, хөдөлгөөн дуу дүрс агуулсан, байх нэмэлт материал хавсаргасан байх, Online сорил агуулсан байх зэрэг шаардлагууд нь уг сайтад багтсан байгаа билээ.
  • 34. нүүр хуудас нь цөөн тооны зөвхөн хэрэгцээт цэсээр дүүрэн байх ба мэдээ мэдээлэл хэсэгт хамгийн сүүлд нэмэгдэж орсон бүх төрлийн мэдээ жагсаалт хэлбэрээр харагдах юм. Е хичээл цонхонд видѐо болон зураг дуу дүрс flash хичээлүүд байрших юм. Вэб сайтын зорилго чиглэл Вэб сайтын нэр automatic.mn Автомат систем гэсэн утгатай, автомат гэсэн үндсээс гарсан латин үг юм. Уг сайт нь үйлдвэрлэлийн технологи дизайны сургуулийн хөнгөн үйлдвэр машин судлал хэвлэлийн технологийн багийн сайт болж байнгын ажиллагаатай E хичээл байрлуулах болон бэлтгэхэд зориулагдан гарсан тэнхимийн анхны тогтмол ажиллагаатай албан ѐсны эрхтэй онцлог вэб хуудас юм. Вэб хуудсыг мэргэжлийн ангийн XVA ,XYMMT I.LI кодтой оюутнуудад зориулагдсан бөгөөд эдгээр оюутнууд тусгай түлхүүр үгээр бүртгүүлэх лекц, семинар, лабораторийг тухайн долоо хоногт үзэж судлах, ирцээ бүртгүүлэх хичээл уншиж судлах, дэлгэрүүлэх ижил төстэй хичээл арга технологитой харьцуулах дэлгэрүүлэх болон онлайн хэлбэрээр тест өгөх байдлаар уг сайтад зочлож хэрэгцээт мэдээллээ авхад сайтын үндсэн зорилго оршино. Агуулга Автоматик сайтын зорилго нь E хичээл бэлтгэх, нийтэд түгээх, E хичээлийн чанарт хяналт явуулах гэсэн цөөн тооны чухал зорилгоор бүтээгдсэн бөгөөд хэрэглэгчид аль болох элдэв маяг чимэггүй үндсэн зорилго руу чиглэсэн хурд багатай сүлжээнд түргэн ачаалагдах байдлаар энгийн байхаар хийгдсэн. Энэ нь бусад төрлийн хувийн болон тэнхимийн вэб сайтуудаас ялгарах гол онцлог юм. Уг сайтад I.LI354, I.LI311, I.LI392, I.LI395 хичээлийн лекц, семинар, лаборатори болон баяжуулж хөгжүүлсэн хувилбар видео болох зурган хэлбэрээр агуулагдах бөгөөд эндээс оюутнууд өөрсдийн хайж эрсэн мэдээллээ авах бөгөөд нэмэлт мэдээлэл болон мэдлэгээ дээшлүүлэх талаар хичээлийг нийтэлж гаргасан багш болон админд хүсэлт илгээх замаар холбоо барьж нэмэлт мэдээлэл авах боломжтой байгаа нь давуу тал болж байгаа билээ.
  • 35. Энэ зураг дээр гаднах цэсний байрлал болон дотоод задаргаа тодорхой харагдаж байна. 3.2 Вэб сайтын хайлтын хэсэг Automatic.mn сайт бол өдөр бүр мэдээлэл шинэчлэгдэж хуучин мэдээлэл архивлагдан хураангуй болох зарчмаар ажилдаг байхаар бодож төлөвлөсөн билээ. Тиймээс хуучин мэдээлэл архиваас хайж олох шаардлага гардаг үүнийг хайлтын систем төгс гүйцэтгэнэ. Гагцхүү зөв үгийг сонгох ѐстой. 3.3 Бүртгэл болон нэвтрэх хэсэг Бүртгэх хэсэгт түлхүүр үг ашиглан бүртгүүлснээр нэвтрэх эрх авч нийтлэгдсэн хичээл болон бусад мэдээлэлтэй чөлөөтэй танилцах судлах боломж бүрдэнэ. Зайлшгүй
  • 36. түлхүүр үг хэрэглэх шаардлага нь сайтыг хөтлөн явуулах aдмин болон багшид бүртгэлтэй хүмүүсийн мэдээлэлтэй танилцах хяналт явуулахад амар хялбар байх ба цаашлаад онлайн хичээлийн ирц бүртгэлийн програм зохиоход дөхөм болж өгнө. 3.4 Багийн гишүүд болон багш нарын оролцоо Тэнхимийн гишүүд болон багш нар нь оюутан болон энгийн зочидоос давуу эрхтэй байх бөгөөд уг хуудсыг хөтлөн явуулах , хяналт тавих алдаа дутагдлын засаж байнгын тогтмол ажиллагаа хангах үүрэгтэй. 3.5 Admin -тай холбоо тогтоох Сайтын үндсэн admin болох Б.Энмандах миний байнгын холбоо тогтоох facebook хаяг бүхий шууд холбоос , мөн тэнхимийн багш Д.Пүрэвмагнай facebook шууд холбоос
  • 37. ШУТИС -ийн интернет хаяг ҮТДС- ийн шууд хаяг Е -open school -ийн интернет хаяг болон багшийн вэб , оюутны вэб хаягтай шууд холбогдох замуудыг зааж өгнөсөөр хэрэглэгч дурын аргаар багш болон admin- тай холбогдож нэмэлт мэдээлэл хугацаа өнгөрсөн хичээл дахин судлах эрх авах зэрэг үйлдэл хийх боломжтой. 3.6 E хичээл бэлтгэх, байршуулах, засварлах, нийтлэх зааварчилгаа Automatic.mn сайтын удирдах дэлгэц нь монгол хэлээр ойлгоход хялбар цөөн тооны цэстэй. Мэдээ нийтлэх болон Е хичээл бэлтгэх зааврийн дагуу бэлтгэж сайтанд оруулах ба сайтанд оруулахад дараах зүйлсийг анхаарна. Үүнд 1. Текст мэдээ оруулахдаа тусгай үгийн фонд ашиглах тохиромжгүй тул түгээмэл фонд ашиглана. Тусгай фонд ашиглах тохиолдолд unicode converter буюу хөрвүүлэгч програм ашиглана. 2. Том хэмжээний зураг оруулах үед зургийг таслаж хэрэгтэй хэсгийг тасдаж авах. 3. Дүрс болох дуут мэдээлэл байршуулах тохиолдолд интернет рүү хуулж оруулсан байх embed code ашиглах харуулах зэрэг ойлголтууд мэддэг эзэмшсэн байх шаардлагатай. 3.7 E хичээлийн байрших хугацаа, хязгаарлалтыг шийдвэрлэх арга замууд Байрших хугацааг хязгаарлах олон арга зам байдаг байна. Үүний заримтай танилцая 1. Мэдээ оруулсан цагаас эхлэн хугацаа тоолох. Энэ 168 цаг тоолоод тухайн мэдээлэл уншигдахгүй болж архивлагдах 2. Мэдээ байршуулаад дууссах өдөр цаг минутын нарийвчлан зааж өгөх 3. Admin болон мэдээг нийтэлсэн багш мэдээг засварлах, архивлах, устгах 4. Нийтэлсэн мэдээлэлд зочдын хандалтаар зааж өгөх, энэ арга нийт хэдэн удаа мэдээ унших тоог анрийвчлан зааж өгөх явдал юм
  • 38. 3.8 Бүлгийн дүгнэлт Тус бүлэгт www.Automatic.mn сайтын ерөнхий гадаад үзэмж харагдах байдал цэснүүдийн байрлал, доторхи задаргаа , бүртгэл болон admin -тай холбоо тогтоох шууд холболт , Е хичээл байршуулах зэрэг чухал ойлголтуудыг авч үзлээ.
  • 39. Дөрөвдүгээр бүлэг: ХЭРЭГЛЭГЧИЙН ШААРДЛАГА
  • 40. Энэ бүлэгт системийн эцсийн хэрэглэгчдийг тодорхойлсон болно. Ингэснээр I.LI354 хичээлийг Е сургалтанд бэлтгэх дипломын талаар улам гүнзгий ойлголттой болох юм. 4.1 Системийн ерөнхий ойлголт Энэ вэб системийг их дээд сургуулийн багш тэнхимийн гишүүд болон оюутанууд ашиглах юм. Е сургалтанд бэлтгэх дипломын ажлаар дараах үйлдлүүд хийгдэнэ. Сайтад Е хичээл хугацааны хязгаартай байршина. Үүнийг системийн админ буюу багш Е хичээл болгон бэлтгэж оруулна. Энэ нь зөвхөн мэргэжлийн ангийн сайтад бүртгэлтэй оюутнуудад харагдах юм. Оюутан хичээлийг уншиж судлаад Е хичээлийн стандартын дагуу цахим хэлбэрээр шалгуур бөглөнө. (Online testing) гарсан үр дүнг системийн админд болон багшид мэдээлж байхаар вэб сайт хийгдсэн. Мэргэжлийн ангийн сайтад бүртгэлтэй оюутан сайтад нэвтэрч ороод мэдээлэл судалхад зарцуулсан хугацааг (Counter) тоолуур тоолж дуусаад гарсан үр дүнг системийн админд болон багшид мэдээлэл илгээх юм. Энэ үйл явц нь системийн админд болон багшид сайтыг удирдах, хяналт тогтоох, тогтвортой ажилгааг хангахад чухал үүрэгтэй. 4.2 Хэрэглэгчийн онцлог Системд ерөнхийдөө хэрэглэгчийн шаардлагаас хамааран 3 төрлийн хэрэглэгчтэй байна. Үүнд: Бүртгэлгүй хэрэглэгч Бүртгэлтэй хэрэглэгч Системийн админ зэрэг юм. Бүртгэлгүй хэрэглэгч: Системд бүртгэлгүй хэрэглэгчийн хувьд системээс зөвхөн ерөнхий мэдээлэл авах Админтай холбоо тогтоож бүртгэлтэй хэрэглэгч болох хүсэлт гаргах эрхтэй. Бүртгэлтэй хэрэглэгч: Бүртгэлтэй хэрэглэгч хийх үйлдлээсээ хамааран хоорондоо ялгаатай байна.
  • 41. Үүнд: Багш Багш нь өөрийн эрхээр системд нэвтрэн орсоноор Е хичээл оруулах,өөрийн хичээлийг шинэчлэх, шаардлагатай гэж үзвэл засварлах, устгах зэрэг үйлдлүүдийг гүйцэтгэнэ. Оюутнуудын асуусан сэдвүүдэд хяналт тавих хичээлд өөрчлөлт оруулах болон нэмэлт хичээл, үүрэг даалгавар өгөх зэрэг үйлдлүүдийг гүйцэтгэнэ. Мөн хүсэлт гаргасан хэрэглэгчийг сонгон бүртгэлтэй хэрэглэгч болгох. Сайтын үндсэн бүтэц харагдах интерфэйсийг, агуулгыг өөрчлөх зэрэг үйлдлүүдийг гүйцэтгэх эрхтэй байна. Оюутан Системд бүртгэлтэй бөгөөд өөрийн нэвтрэх нэр, нууц үгээр нэвтэрч орсноор хичээлийн талаар санал сэдэл дэвшүүлэх болон дипломын сэдвүүдээс сонголт хийх,сэдвүүдийн дэлгэрэнгүй мэдээлэл харах боломжтой. Системийн админ: Админ нь системийг ерөнхийд нь удирдан зохицуулах ба нийт системийн хэрэглэгчдэд хяналт тавина. Мөн хүсэлт гаргасан бүртгэлгүй хэрэглэгчдэд хяналт тавих шаардлагатай гэсэн хэрэглэгчийг бүртгэж авах оруулах мөн сэдэв батлах системийн хэрэглэгчдэд хязгаарлалт тавих зэрэг давуу эрхтэй байна. Мөн системийн админ нь оюутан болон багшын оруулсан сэдвүүдэд хяналт тавин шаардлага хангаагүй буюу өөр утга агуулга бүхий сэдвүүдийг хэрэглэгчдэд харуулахгүй байх боломжтой. Үүний тулд тухайн мэдээг нийтлэгдээгүй гэсэн холбоосыг дарсанаар тухайн нийтлэл хэрэглэгчдэд харагдахгүй. Бүтээгдэхүүний эцсийн хэрэглэгчид Дээр тодорхойлсон системийн ерөнхий шаардлагаас системд хандах эрхтэй дараах хэрэглэгчдийг тодорхойлсон. Үүнд:  Админ:  Багш  Оюутан
  • 42. Системийн админ доорх үйлдлүүдийг гүйцэтгэнэ.  Багш болон оюутан, энгийн хэрэглэгчдэд хяналт явуулах  Тэнхимээс зохиогдох арга хэмжээ, зарлалын чанартай мэдээг түгээж байх  Нийтэлсэн мэдээг хэрэглэгчдэд харуулах  Архивлагдсан болон хуучирсан мэдээг шинэчлэн оруулах Багш доорх үйлдүүдийг гүйцэтгэнэ.  Оюутнуудын бүртгэлийн сан үүсгэх  Хичээл болон дипломын сэдэв оруулах  Өөрийн оруулсан хичээлийн агуулгыг өөрчлөх  Өөрийн оруулсан хичээлийг устгах  Өөрийн оруулсан хичээлийн хугацааг сунгах  Мэдээлэл судлах оюутанг зөвшөөрөх  Мэдээлэл судлах оюутанг хасах  Оюутны хичээл судлах чадварыг дүгнэх  Хайлт хийх нэмэлт даалгавар өгөх Оюутан доорх үйлдлүүдийг гүйцэтгэнэ.  Бүртгэл үүсгэх  Е хичээл болон бусад агуулгатай танилцах судлах,оролцох  Хичээл болон дипломын сэдэв дэвшүүлэх  Сайт болон Е хичээлийн талаар бусдад түгээн дэлгэрүүлэх  Админ болон Е хичээл эрхлэн оруулсан багштай байнгын холбоо тогтоох гэсэн байдлаар байнгын холбоо хамааралтай хамтын ажилгаатай явагдана.
  • 43. Системийн оролцогчид болох оюутан, багш, системийн админ хоорондын хамааралыг илэрхийлсэн зураг.
  • 44. 4.3 Automatic.mn нүүр хуудасны ерөнхий харагдах байдал
  • 45. Ерөнхий бүтэцийг блок схемээр харуулсан загвар. 1. Нүүр хуудсаас тэнхим буланд байрлах агуулгатай шууд холболтоор холбогдоно. 2. Эхлэл хуудаснаас мэдээлэл болон бусад туслах цэсрүү шууд холболтоор холбогдоно. 3. Лекц буланд оруулсан хичээл нүүр хуудсанд давхар харагдах байдлаар хийгдсэн. энэ нь гэдрэг холболтоор холбогдоно. 4. Хичээл цэсэнд оруулсан мэдээлэл нүүр хуудсанд давхар харагдах ба сүүлд шинээр орсон байдлаар харагдхаар хийгдсэн. энэ нь гэдрэг холболтоор холбогдоно. 5. Диплом цэстэй шууд аргаар холбогдох ба диплом буланд орсон мэдээлэл түүний дэлгэрүүлсэн хувилбарыг холбоо барих булангаас админтай холболгдох замаар нэмэлт мэдээлэл авах байдлаар ашиглана 6. Програм нь цэс нь нүүр хуудастай шууд холболтоор холбогдох ба шинээр орсон file нүүр хуудсанд харагдахгүйгээр байрлах юм. 7. Лекц доторхи мэдээллийг зочин уншаад дэлгэрүүлэх болон асууж зөвлөх хэрэгцээ шаардлага гарсан үед холбоо барих цэснээс админтай холбогдож нэмэлт мэдээлэл авах байдлаар хичээлийг уншиж судлана, энэ нь гэдрэг холболт болно
  • 46. 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">
  • 47. <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> <a href="/news/4week">IV-р 7 хоног</a>
  • 48. <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> </li> <li >
  • 49. <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> <div class="clear"> </div> </div>
  • 50. </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 Мэдээ булан кодчилолын түвшинд дараах байдалтай бичигдэнэ.
  • 51. <?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:?>
  • 52. <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> Бүртгэл болон нэвтрэх хэсэг кодчилолын түвшинд дараах байдалтай бичигдэнэ.
  • 53. Хэрэглэгч болон бүртгэлгүй хэрэглэгчийн ялгааг харуулсан зураг. <?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>
  • 54. </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>
  • 55. 4.4 E хичээлийн байрших хугацаа, хязгаарлалтыг шийдвэрлэх арга замууд кодчилолын түвшинд дараах байдалтай бичигдэнэ. <?php class 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) {
  • 56. $this->photos = Doctrine::getTable('NewsPhoto') ->createQuery('n') ->where('n.news_id=?',$this->news->getId())->execute(); Бүлгийн дүгнэлт Тус бүлэгт системийн ажлын дараалал гүйцэтгэлийн талаар дэлгэрэнгүй оруулж өгсөн билээ. Системийн интерфэйсийг, ерөнхий дизайн болон хэрэглэгчийн шаардлага дээр үндэслэн хийж гүйцэтгэсэн ба системийн нарийвчилсан ажиллагаа онцлогийг ойлгомжтой энгийн байдлаар дэлгэрэнгүй тайлбарлан өгсөн байна.
  • 57. Тавдугаар бүлэг. ЭДИЙН ЗАСГИЙН ХЭСЭГ Санхүүгийн тооцоо www.Automatic.mn вэб сайтыг Б.Энхмандах захиралтай EXITON.LLC компани хийж гүйцэтгэсэн бөгөөд үндсэн үнэлгээ нь зах зээл дээр нэг төрлийн үйл ажилгаа эрхэлдэг компаниудын санал болгодог үнэтэй ижил юм. (450'000 төг) Мөн тухайн вэб сайтын онцлог болох Е-хичээл бэлтгэх, байршуулах мөн E-хичээлийн стандартад нийцсэн байдал өнгө үзэмж, анхаарал татам загвар хэрэглэгчийн шаардлага зэргийг харгалзан үзээд нэмэлт програмуудыг тус тусад нь төгрөгөөр үнэлсэн болно. үүнд: Мэдээлэл байрших хугацаа хязгаарлах, дахин идэвхижүүлэх програм (200000 төг) Бүх төрлийн видео файл унших видео плайер (100000 төг) Сайтад буй хэрэглэгч хичээлийг уншиж судалсан хугацаа тухайн хичээлийг чанартай (300000 төг) судалсан эсэхт анализ програм Online хэлбэрээр тест өгөх програм (200000 төг) Мөн вэб сайт домайн нэр болох http//www.Automatic.mn (51'700 төг) ба вэб сайт байрших бааз серверийн түрээсийн төлбөр жилд unlimited GB мэдээлэл байрших (119'000 төг) гэх зэргийг тус бүр хоѐр жилээр урьдчилан төлсөн зэргийг нэмбэл: Нийт мөнгөн дүн:
  • 58. Ижил төрлийн үйл ажилгаа явуулдаг компаниудын TOP 10 компанын жагсаалт 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/ Зарим компаниудын ирүүлсэн үнийн саналтай танилцвал
  • 59. Вэб сайт хийх үйлчилгээ, вэб хийнэ, вэб хийх, вэб сайт хийх, website hiih, website hiine
  • 60. 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. 2. 3. 4. 5. 6. Facebook маркетингийн үйлчилгээ Twitter.com -ийн аккаунт хөгжүүлэлт SEO хайлтын систем дээгүүр байр эзлүүлэх Масс мэйл илгээх Портал сайтуудад мэдээний мониторг хийх Портал сайтуудад баннер болон мэдээ байрлуулах Холбоо барих: “Том-Амжилт” XXK
  • 61. ДҮГНЭЛТ Энэхүү дипломын ажлаар “I.LI354 хичээлийг Е сургалтанд бэлтгэх” сэдвийг авч хэрэгжүүллээ. Энэ систем нь их дээд сургуулиудын хүрээнд хэрэглэгдэх юм. Системийг php хэл дээр технологи хийсэн нь ямар нэгэн флатформ голохгүй ажиллах боломжтой болж байгаа юм. Хэрэгжүүлэлтэнд PHP-Symfony фрэймворк-г судалж, ашигласан бөгөөд хэрэгжүүлэлтийн үе болох системийн тохиргоо, кодчлох хэсэгт бэрхшээлүүд тулгарч байсныг амжилттай хэрэгжүүлж системийн эхний хувилбарыг гаргалаа. Уг системийн хүрээнд дутагдалтай зүйлүүд байгаа учир цаашид системийг өөрчлөн сайжруулах ажлыг хийсээр байх бөгөөд шинэ шинэ боломжуудыг оруулж өгөхийг хичээх болно. Дипломынхоо ажлаар тус системийн хөгжүүлэлтийг хийснээр олон шинэ зүйлүүдийг мэдэж аваад зогсохгүй систем хөгжүүлэлтийг хийх туршлага хуримтлууллаа . Уг диплом нь тэнхимийн сургалтыг Е хичээл рүү ойртуулж оюутан,багш нарын уламжлалт суралцах арга барилыг тодорхой хэмжээгээр хөнгөвчилж байгаа гэдэгт итгэлтэй байна.
  • 62. АШИГЛАСАН ХУУДСЫН ЖАГСААЛТ 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. www.Symfony.com www.symfony-project.org www.w3schools.com www.symfony-check.org www.PHP.net www.Mysql.com www.IQuery.com www.Google.com http://en.wikipedia.org/ www.Wamp Server.com www.Ubuntu.com
  • 63. ХАВСРАЛТ Товчилсон, Үгсийн тайлбар 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
  • 64. ЗУРГИЙН САН