ood lesson1

Post on 22-Dec-2014

1.537 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

LEGTS 1

TRANSCRIPT

Обьект хандалтат шинжилгээ ба зохиомж

Лекц №1Багш: Б.Мөнхтуул

2

Агуулга

Дүгнэх тухай Хичээлийн зорилго Сэтгэлгээний төрлүүд

Процедур хандалтат Обьект хандалтат Үйлчилгээ хандалтат

Програмчлалын төрлүүд Системийг загварчлах болон зохиох: Бүтэцлэгдсэн болон

объект хандалтат арга зүй

Хэрхэн дүгнүүлэх вэ?

16 : Ирц

20 : Тест 1, Тест 2

18 : Бие даалт

16 : Ангийн ажил, даалгавар

70

Нэмэлт онооны ажил : 10 : Ангид илтгэл тавих

3

Хичээлийн зорилго

Обьект хандалтат сэтгэлгээ

Процедур болон обьект хандалтат програмчлалын (ОХП) ялгаа

Обьект хандалтат програмчлалын түлхүүр элементүүд тэдгээрийн ач холбогдол

Бүтэцлэгдсэн болон объект хандалтат арга зүй

4

5

Сэтгэлгээний төрлүүд

Ямар нэг асуудлыг шийдэх, ямар нэг зүйлийг бүтээхэд хэд хэдэн янзаар хийж болно :

Процедур хандалтат буюу бүтэцлэгдсэн сэтгэлгээ Үйл ажиллагаануудыг бүлэглэн тэдгээрийг асуудлыг шийдэхдээ ашиглах.

Обьект хандалтат сэтгэлгээ Бие даасан обьектуудыг ашиглан асуудлыг шийдвэрлэх

Үйлчилгээ хандалтат сэтгэлгээ Бие даасан системүүдээс хэрэгтэй үйлчилгээгээ аван нэгтгэх замаар

шийдвэрлэх

6

Сэтгэлгээний төрлүүд

Шийдвэрлэх асуудал :

Дарханд байгаа өвөөдөө цэцэг хэрхэн хүргэх вэ?

7

Процедур Хандалтат Сэтгэлгээ

Цэцэг тарь.

Цэцгээ усал. Цэцгээ борд.

Цэцгээ түү.

Дархан руу цэцгээ аваад яв.

Өвөөгөө хайж ол.

8

Обьект Хандалтат Сэтгэлгээ

“Цэцгийн дэлгүүр”-тэй (обьект) холбоо барь. Хүргэх хаягаа өгч төлбөрөө төл.

9

Обьектуудын харилцааБи

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

Дарханы цэцгийн дэлгүүр

Хүргэгч хүн

ӨвөөЦэцэг арчлагч

Менежер

Цэцэг таригч

10

Сэтгэлгээний төрлүүд

Шийдвэрлэх асуудал :

Зусландаа байшин барих ?

11

Процедур Хандалтат Сэтгэлгээ

Материалуудаа цуглуулах Банз, хадаас, шил, бариул, цемент, .....

Сууриа тавих Ханаа хийх

Цонх, хаалга хийх Өрөө тасалгаануудыг хийх Дээвэр хийх Дулаан, бохир, цэвэр усны шугамууд тавих Будах, цэвэрлэх

12

Обьект Хандалтат Сэтгэлгээ

Хувийн байшин барьдаг компанид хандах Хийлгэх байшингаа тайлбарлах Төлбөрөө банкинд хийх Байшинг тухайн компани барих

Хаалга хийдэг компаниас бүргэд хаалга захиалах Цонх хийдэг компаниас вакум цонх захиалах Барилгын материал зардаг компаниудаас банз, хадаас,

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

Өнгөөр ялгасан нь бие даасан обьектууд.

13

Обьектуудын харилцаа“Голомт” банк

Би

“ЭКО” барилгын компани

“Материал” компани

“Тээвэрлэгч” компани

Барилгачин Инженер

Зураг төсөл

14

Сэтгэлгээний төрлүүд

Процедур хандалтат сэтгэлгээ Бүх хүмүүс өөрийн амьдарлын бүх зүйлийг өөрөө хийнэ. Хэн нэгний дадлага туршлага бусдад тус болохгүй Чанаргүй болно Үнэтэй болно Мэдлэг дутна Буруу зүйл их хийх тул засахад их цаг орно Нэг хүн асар их зүйл сурсан байх шаардлагатай болно. Эвдрэл дутагдал гарвал өөрөө л засах хэрэгтэй болно.

15

Сэтгэлгээний төрлүүд

Обьект хандалтат сэтгэлгээ Өөр өөр мэргэжлийн хүмүүс (обьектууд) өөр өөрийн ажлыг

(үйлчилгээ) хийж нэгдсэн бүтээл гаргана. Сурч эзэмшихэд цаг бага орно

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

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

ажлаа чадварлаг мэргэжлийн өндөр төвшинд хийдэг болно. Хүн бүр өөрийн хийсэн зүйлийн хариуцлагыг үүрнэ. Нэг хүний туршлага маш олон газарт ашиглагдана. Хамтран ажиллахад хялбар

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

хийх нь захиалсан хүнд сонин биш. Мэдэх ч албагүй болно.

16

Програмчлалын төрлүүд

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

Анх програмчлалын хэлүүд процедур хандалтат байсан. Basic, Pascal, C, Delphi, Visual basic, …..

Яваандаа томоохон төслүүд дээр ажиллахад дээрх дутагдлууд гарч байсан тул обьект хандалтат сэтгэлгээг хэрэгжүүлж өгөх обьект хандалтат хэл хэрэгтэй болсон. C++, Java, C#, PHP 5 , …..

17

Процедур Хандалтат Програмчлал

Үндсэн функц

Функц 1 Функц 1 Функц 1

Функц 1 Функц 1

18

Процедур Хандалтат ПрограмчлалStructured Programming Дутагдал :

Төсөл томрох тусам нэмэгдэх кодын хэмжээ улам ихсэж байдаг. Програмын кодыг ойлгоход улмаар засварлахад их төвөгтэй. Үндсэн функцээр дамжуулан функцүүд хоорондоо хэрхэн холбогдож

байгааг тодорхойлоход төвөгтэй. Шинээр функц нэмэгдэхэд бусад нь өөрчлөгдөх хэрэгтэй болж

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

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

19

Процедур Хандалтат ПрограмчлалStructured Programming Давуу тал :

Жижигхэн ойр зуурын програмыг хурдан хийх боломжтой. Шинжлэх ухааны төрлийн програмуудыг хийхэд илүү

тохиромжтой (томоохон хэмжээний програм бол үгүй) Бар код тайлах Шугаман тэгшитгэл бодох

20

Обьект Хандалтат ПрограмчлалObject Oriented Programming

Дутагдал :

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

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

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

ашиглах програмуудын хувьд ялгаа нь харагддаг.

21

Обьект Хандалтат ПрограмчлалObject Oriented Programming

Давуу тал :

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

Бие даасан “обьектуудын” кодыг ойлгоход засварлахад хялбар Том хэмжээний програм бичих тусам бичих кодын хэмжээ багасна. Бэлэн болсон програмыг ирээдүйд засварлах, хөгжүүлэхэд хялбар. Багаар ажиллан програм хийхэд маш тохиромжтой. Обьектуудын өгөгдлийн далдлалтаас болж програм маш

тогтвортой(stable), өөрчлөхөд хялбар байдаг. Програмын хэсгийг (обьектийг нь ) өөр програмуудад ямар ч

асуудалгүй ашиглаж болдог.

22

ОХП хэзээ хэрэглэх вэ?

Ерөнхийдөө системүүд үргэлж өөрчлөгдөж хөгжиж байдаг боловч системд байдаг обьектууд нь ихэнхдээ хэвээр байсаар байдаг. Жишээ нь “Улаанбаатар ” ДС сургууль яаж ч өөрчлөгдсөн дараах

обьектууд байсаар л байна : Тэнхим, Хичээл, Багш, Оюутан, Анги, Байшин...

Тиймээс ОХП ашиглан бичигдсэн систем илүү тогтвортой (өөрчлөлтөд бага өртөх) байдаг.

ОХП-г хэрэглэхэд тохиромжтой : Том хэмжээний систем Өөрчлөлт ихээр хийгддэг систем

23

Үйлчилгээ Хандалтат ПрограмчлалService Oriented Programming

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

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

Нэг системийг обьектууд бүтээнэ. Програмистийн хийж буй програм нь өөр янз бүрийн системүүд рүү

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

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

24

Үйлчилгээ Хандалтат ПрограмчлалService Oriented Programming

Дутагдал :

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

Үйлчилгээнүүд нь төлбөртэй байж болно.

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

25

Үйлчилгээ Хандалтат ПрограмчлалService Oriented Programming

Давуу тал :

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

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

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

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

26

Програм Хангамж Бүтээх Эндээс үүдэн системийг програмчлахдаа хоёр төрлийн

сэтгэлгээний аль нэг дээр тулгуурлаж болно :

1. Системийн үйл ажиллагаануудад нь тулгуурлах. Жишээ нь “Улаанбаатар” ДС системийн одоо явагдаж буй үйл

ажиллагаанууд нь : Алтанцэцэг багш өглөө 8:40-д ажилдаа ирдэг. Даваа гаригт 2-р пар дээр “Програмчлалын хэл” хичээлийг

ордог. Лхагва гаригт хуралд сууна. Их завсарлагаа 11:10-11-40 хооронд үргэлжилнэ. Оюутны танилцах үдэшлэг 9 сарын 25-нд болно. .....

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

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

27

Програм Хангамж Бүтээх

Системийн үйл ажиллагаа огцом биш ч янз бүрээр өөрчлөгдөж байдаг. Харин системд байгаа обьектууд бараг өөрчлөгддөггүй.

Тиймээс эхний аргын дутагдалтай тал нь : Алтанцэцэг багш байхаа больж захирал болбол програмын

кодонд маш их засвар орно. Алтанцэцэг “Програмчлалын хэл” хичээлийг заахаа боливол

мөн адил зүйл болно. “Програмчлалын хэл” хичээл хасагдвал мөн өөрчлөлт ихээр

хийгдэнэ. Баахан үйл ажиллагаануудын кодыг хараад ойлгоход хүнд. Сургуулийн барилга солигдоход бүх код өөрчлөгдөнө ......

28

Програм Хангамж Бүтээх Дараачийн арга нь :

2. Системийг бүрдүүлж буй обьектуудад нь тулгуурлах Жишээ нь “Улаанбаатар” ДС системийг бүрдүүлж буй обьектууд нь

Сургалтын алба, багш, хичээл, оюутан, анги, тэнхим, танилцах үдэшлэг, хурал, хичээлийн хуваарь ......

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

төлөвлөнө, ..... Энэ нь обьектуудад тулгуурлаж буй обьект хандалтат сэтгэлгээ юм.

29

Програм Хангамж Бүтээх

Хэрвээ дээрх хоёр аргаар хоёр байшин хийсэн бол :

Процедур хандалтат байшин

Обьект хандалтат байшин

Гаднаасаа ялгаагүй мэт харагдана !

30

Програм Хангамж Бүтээх Хэрвээ энэ хоёр байшингийн нүүрийг хуулж бүтцийг нь харвал :

Зураасаар системд явагдах үйл ажиллагааг (эсвэл тулгуур мод) төлөөлүүлэв.

Процедур хандалтат байшин Обьект хандалтат

байшин1. Аль байшинг бүтээхэд хялбар вэ?

2. Аль системд ямар нэг үйл ажиллагаа (эсвэл тулгуур мод) өөрчлөгдвөл илүү тогтвортой байх вэ, өөрчлөхөд хялбар байх вэ!

3. Аль системд шинээр цонх нэмэхэд (хасахад) хялбар вэ?

Цонх, дээвэр, хана ... обьектууд

31

Програм Хангамж бүтээх

Асуудлыг юу юу хийх вэ гэдгээр нь судлахад хүндрэлтэй. Програм ямархуу байх талаар загвар гаргахад хэцүү болдог. (Процедур хандалтат байшингийн бүтцийг харна уу)

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

Том хэмжээний системд бүх зүйлүүд холилдож эхэлдэг.

32

Програм Хангамж бүтээх

Асуудлыг ямар ямар үүрэгтэй ямар ямар хүмүүс, обьектууд байх вэ гэдгээр нь судлахад хялбар байдаг. Бодит амьдралаас харан програмаа загварчилдаг.

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

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

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

Том хэмжээний системийг эмх цэгцтэй болгоно.

33

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

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

Обьект Хандалтат Програмчлал

34

Жишээ нь: Ресторонд Тогооч гэсэн обьект байхгүй байсан бол уг рестораны

бүх ажилтан янз бүрээр хоол хийж эхэлнэ. Тэгснээр гарах хоолны чанар муудна. Хэн нэг нь буруу ажиллаж шарах шүүгээг эвдэлнэ... гм асуудлууд гарна. Харин тогооч обьект нь гал тогоотой ажиллах бүх үйлдэлийг эзэмшсэн тул бусад нь зөвхөн түүнд хоол хийж өгөх хүсэлт тавьж (мэссэж дамжуулж) тогооч нь хоолыг хийх болно.

Тогооч маань ажлаасаа гарч өөр газар ажиллавал түүнд ч шинэ компанид ч ямар нэг асуудал байхгүй. ӨХ обьектийг өөрчлөлгүйгээр өөр програмд ашиглах боломж

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

Обьект Хандалтат Програмчлал

35

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

Жишээ нь гар утсыг аваад үзье : Дэлгэц Баттерей Цэнэглэгч Процессор Микрофон Чихэвч СИМ карт Memory карт

Нэг утасны эдгээр обьектуудыг өөр өөр компанид үйлдвэрлэн тэднийг угсран нэг утас болгодог.

Обьект Хандалтат Програмчлал

36

Жишээ нь гар утсыг аваад үзье : Дэлгэц Баттерей Цэнэглэгч Процессор Микрофон Чихэвч СИМ карт Memory карт

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

Өөр хүний СИМ карт хийсэн ч утасанд өөрчлөлт хийх шаардлаггүй.

Обьект Хандалтат Програмчлал

top related