SlideShare a Scribd company logo
1 of 21
Класс диаграм
Агуулга
• Класс диаграм гэж юу вэ?
• Класс гэж юу вэ?
• Классуудын холбоо хамаарал
– Dependency
– Association
– Aggregation
– Composition
– Inheritance
• Constraint
• Хийсвэр класс
• Интэрфейс
• Класс диаграм зурах зөвлөмж
Класс диаграм
• Класс диаграм нь програмын статик төлвийг
дүрсэлдэг.
• Програмыг дүрслэхээс гадна класс диаграмыг харж
байгаад програмын кодыг бичих боломжтой.
• Объект хандлагат програмчлалд (ОХП) ашигладаг.
• Өөрөөр Бүтцийн диаграм ч гэж нэрлэдэг.
• Систем юу юу хийхийг харуулна.
• Deployment болон component диаграм байгуулахад
суурь болдог.
Класс
• Класс гэдэг нь объект (хүн, газар, аливаа нэг
зүйл…) юм.
• Объектууд нь өөрийн гэсэн шинж (атрибут),
хийдэг үйлдлүүтэй (функц) байдаг.
• Класс нь объектийг дүрсэлдэг.
• Тиймээс ч класс диаграмыг ОХП-д
ашигладаг
Класс
• Класс диаграмд классыг тэгш өнцөгтөөр
дүрсэлдэг. Дотроо 3 хэсэгтэй:
I. Нэр
II. Атрибут
III. Функц
Класс дах гишүүдийн харагдац
Тэмдэглэгээ Утга Тайлбар
+ Public Програмын хаанаас ч энэ гишүүн рүү хандаж болно
# Protected Тухайн класс болон түүний хүү классуудаас хандах
боломжтой
- Private Зөвхөн тухайн класс дотроос л хандах боломжтой
~ Package Нэг пакетэд байрлаж буй бүх классуудаас хандах
боломжтой
• Атрибутуудыг аль болох private эсвэл
protected хандалтаар тодорхойлох хэрэгтэй.
Классын функц
Хандах
хандалт
Дамжих
параметрийн
нэрНэр
Дамжих
параметрийн
төрөл
Функцийн
буцаах
утгын
төрөл
Класс хоорондын холбоо хамаарал
• Dependency
• Association
• Aggregation
• Composition
• Inheritance
Dependency
• Dependency гэдэг нь нэг класс нөгөө классдаа
нөлөөлж болзошгүй эсвэл түүнд хэрэгтэй
классуудын хооронд үүсэх холбоо хамаарал юм.
• Ихэвчлэн класс диаграмд энэ хамаарлыг
дүрсэлдэггүй.
• Жишээ нь: WashAnimal
классын washAnimal()
функц ажиллахын тулд
Dog классийн dog
объектыг хэрэглэж
байна.
Association
• Хоорондоо шууд холбоо хамаарал бүхий
классуудыг association холбоо хамаарлаар
холбодог.
• Багш сурагчдад
хичээл заана.
Aggregation
• Aggregation нь “-тай” холбоосоор илэрдэг
холбоо хамаарал юм.
• Жишээ нь: Усан сан нугастай
Composition
• Composition нь мөн “-тай” холбоосоор илэрдэг
холбоо хамаарал. Гэхдээ aggregation-ийг
бодвол илүү хүчтэй
• Жишээ нь: Машин мотортой. Моторгүй машин
байх боломжгүй юм. Харин өмнөх aggregation-
ий жишээн дээр нугас байсан ч, байгаагүй ч
нуур байсаар байна.
Motor
Inheritance
• Inheritance гэдэг нь нэг классийн бүх шинжийг удамшуулан,
өөрийн онцлог шинжүүдийг нэмэн үүссэн шинэ класс, эх
класстайгаа үүсгэж буй холбоо хамаарал.
• Эдгээр классууд “юм” гэсэн үгээр холбогддог.
• Жишээ нь: Оюутан хүн юм. Онцлог шинж нь дүн. Үүнтэй
адилаар багш ч хүн юм. Онцлог шинж нь хичээл заадаг
оюутнуудын жагсаалт. Эх классын нэр, нас атрибутуудыг хүү 2
класс хоёул удамшуулан авна.
Нэг класс нөгөө классын хэдэн объекттой
холбогдож байгааг илэрхийлэгч
Илэрхийлэгч Утга
0..1 0 эсвэл 1
1 Зөвхөн 1
0..* 0 эсвэл түүнээс хязгааргүй олон
1..* 1 эсвэл түүнээс хязгааргүй олон
n n тооны (n>1)
0..n 0-оос n хүртэл (n>1)
1..n 1-оос n хүртэл (n>1)
Жишээ
Constraint
• Constraint нь классын элеметүүдэд
тодорхой хязгаарлалт тогтоож өгдөг.
• Жишээ нь: Аливаа нэг
данс эзэмшигч эзэнгүй
байж болохгүй.
• Бусад жишээ: Сурагчдын авах дүн 100
онооноос хэтэрч болохгүй. Хүний нас
хасах тоо руу орж болохгүй гэх мэт.
Хийсвэр класс
• Хийсвэр класс нь зарим функцуудээ
хийсвэрээр тодорхойлж өгдөг. Ингэснээр хүү
класс нь тухайн функцийг заавал хэрэгжүүлэх
шаардлагатай болно.
• Хийсвэр классийн нэр болон функцийг italic-
аар бичдэг.
Интерфейс
• Интерфейс нь зөвхөн хийсвэр функцууд ба
тогтмол буюу статик атрибутууд агуулна.
• Интефейсийг дүрслэхдээ <<interface>> гэсэн
stereotype-ийг ашигладаг.
Класс диаграмыг зурахдаа
• Системийн араншинг илэрхийлхүйц утга
төгөлдөр нэрээр классуудыг нэрлэх.
– Араншин гэдэг нь системийн хийх зүйлүүд
• Класс хоорондын холбоо хамаарлыг зөв
тодорхойлох.
• Класс дах атрибут болон функцууд ойлгомжтой
байх.
• Хөгжүүлэгчдэд ойлгогдохуйц байх
• Хийж дууссан бол ахин дахин сайтар шалгах
Жишээ
Дэлгэрэнгүй судлах
• Ibm.com - UML basics: The Class Diagram
• tutorialspoint.com – UML Class Diagram
• wikipedia.org – UML Class Diagram
• agilemodeling.com - UML 2 Class Diagram
• youtube.com - UML 2 Class Diagram
• uml-diagrams.org

More Related Content

What's hot

05 use-case-modeling-1mon
05 use-case-modeling-1mon05 use-case-modeling-1mon
05 use-case-modeling-1monTuul Tuka
 
өгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэсөгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэсБямбаа Авирмэд
 
It101 lab11 use case
It101 lab11 use caseIt101 lab11 use case
It101 lab11 use caseBPurev
 
user requirement 2 DB
user requirement 2 DBuser requirement 2 DB
user requirement 2 DBUsukhuu Galaa
 
системийн загварчлал
системийн загварчлалсистемийн загварчлал
системийн загварчлалunenbat4411
 
программ хангамжийн їндсэн ойлголт
программ хангамжийн їндсэн ойлголтпрограмм хангамжийн їндсэн ойлголт
программ хангамжийн їндсэн ойлголтshulam
 
Day 1 database
Day 1   databaseDay 1   database
Day 1 databaseETC
 
U.cs101 алгоритм программчлал-3
U.cs101   алгоритм программчлал-3U.cs101   алгоритм программчлал-3
U.cs101 алгоритм программчлал-3Badral Khurelbaatar
 
үйлдлийн систем
үйлдлийн системүйлдлийн систем
үйлдлийн системshulam
 
Ogogdliin sangiin zohion baiguulalt lekts
Ogogdliin sangiin zohion baiguulalt lektsOgogdliin sangiin zohion baiguulalt lekts
Ogogdliin sangiin zohion baiguulalt lektsАлдарболд Э.
 

What's hot (20)

Systemiin shinjilgee ba zohiomj lekts
Systemiin shinjilgee ba zohiomj lektsSystemiin shinjilgee ba zohiomj lekts
Systemiin shinjilgee ba zohiomj lekts
 
05 use-case-modeling-1mon
05 use-case-modeling-1mon05 use-case-modeling-1mon
05 use-case-modeling-1mon
 
өгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэсөгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэс
 
It101 lab11 use case
It101 lab11 use caseIt101 lab11 use case
It101 lab11 use case
 
It101 lab9
It101 lab9It101 lab9
It101 lab9
 
user requirement 2 DB
user requirement 2 DBuser requirement 2 DB
user requirement 2 DB
 
It101 16
It101 16It101 16
It101 16
 
системийн загварчлал
системийн загварчлалсистемийн загварчлал
системийн загварчлал
 
Pp Lect4 5
Pp Lect4 5Pp Lect4 5
Pp Lect4 5
 
Database 3
Database 3Database 3
Database 3
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
Sw203 Lecture8 Interface
Sw203 Lecture8 InterfaceSw203 Lecture8 Interface
Sw203 Lecture8 Interface
 
программ хангамжийн їндсэн ойлголт
программ хангамжийн їндсэн ойлголтпрограмм хангамжийн їндсэн ойлголт
программ хангамжийн їндсэн ойлголт
 
Day 1 database
Day 1   databaseDay 1   database
Day 1 database
 
User requirements
User requirementsUser requirements
User requirements
 
U.cs101 алгоритм программчлал-3
U.cs101   алгоритм программчлал-3U.cs101   алгоритм программчлал-3
U.cs101 алгоритм программчлал-3
 
Program hangamjiin tosliin menejment
Program hangamjiin tosliin menejmentProgram hangamjiin tosliin menejment
Program hangamjiin tosliin menejment
 
үйлдлийн систем
үйлдлийн системүйлдлийн систем
үйлдлийн систем
 
Ogogdliin sangiin zohion baiguulalt lekts
Ogogdliin sangiin zohion baiguulalt lektsOgogdliin sangiin zohion baiguulalt lekts
Ogogdliin sangiin zohion baiguulalt lekts
 
Rdbms 300 test
Rdbms 300 testRdbms 300 test
Rdbms 300 test
 

Viewers also liked

компанийн тухай
компанийн тухайкомпанийн тухай
компанийн тухайFacebook
 
Internet
InternetInternet
InternetAkhyt
 
Erdenm shinjilgeenii hural
Erdenm shinjilgeenii huralErdenm shinjilgeenii hural
Erdenm shinjilgeenii huralBPurev
 
Lab6 db
Lab6 dbLab6 db
Lab6 dbBPurev
 
Computer olimpiad
Computer olimpiadComputer olimpiad
Computer olimpiadBPurev
 
U.IT101 Lab1
U.IT101 Lab1U.IT101 Lab1
U.IT101 Lab1BPurev
 
Bie daaltiin ajil 2
Bie daaltiin ajil 2Bie daaltiin ajil 2
Bie daaltiin ajil 2BPurev
 
Bie daalt 2 sedev
Bie daalt 2 sedevBie daalt 2 sedev
Bie daalt 2 sedevBPurev
 
U.IT101 Lab3
U.IT101 Lab3U.IT101 Lab3
U.IT101 Lab3BPurev
 
лабораторийн ажил 1 дөлгөөн тайвнаа
лабораторийн ажил 1 дөлгөөн тайвнаалабораторийн ажил 1 дөлгөөн тайвнаа
лабораторийн ажил 1 дөлгөөн тайвнааBPurev
 
Laboratory 9
Laboratory 9Laboratory 9
Laboratory 9BPurev
 
U.IT101 Lab8
U.IT101 Lab8U.IT101 Lab8
U.IT101 Lab8BPurev
 
Laboratory 10
Laboratory 10Laboratory 10
Laboratory 10BPurev
 

Viewers also liked (17)

It101 lect16
It101 lect16It101 lect16
It101 lect16
 
Ood lesson3
Ood lesson3Ood lesson3
Ood lesson3
 
компанийн тухай
компанийн тухайкомпанийн тухай
компанийн тухай
 
It101 lectue 14
It101 lectue 14It101 lectue 14
It101 lectue 14
 
It101 15
It101 15It101 15
It101 15
 
Internet
InternetInternet
Internet
 
Erdenm shinjilgeenii hural
Erdenm shinjilgeenii huralErdenm shinjilgeenii hural
Erdenm shinjilgeenii hural
 
Lab6 db
Lab6 dbLab6 db
Lab6 db
 
Computer olimpiad
Computer olimpiadComputer olimpiad
Computer olimpiad
 
U.IT101 Lab1
U.IT101 Lab1U.IT101 Lab1
U.IT101 Lab1
 
Bie daaltiin ajil 2
Bie daaltiin ajil 2Bie daaltiin ajil 2
Bie daaltiin ajil 2
 
Bie daalt 2 sedev
Bie daalt 2 sedevBie daalt 2 sedev
Bie daalt 2 sedev
 
U.IT101 Lab3
U.IT101 Lab3U.IT101 Lab3
U.IT101 Lab3
 
лабораторийн ажил 1 дөлгөөн тайвнаа
лабораторийн ажил 1 дөлгөөн тайвнаалабораторийн ажил 1 дөлгөөн тайвнаа
лабораторийн ажил 1 дөлгөөн тайвнаа
 
Laboratory 9
Laboratory 9Laboratory 9
Laboratory 9
 
U.IT101 Lab8
U.IT101 Lab8U.IT101 Lab8
U.IT101 Lab8
 
Laboratory 10
Laboratory 10Laboratory 10
Laboratory 10
 

класс диаграм

  • 2. Агуулга • Класс диаграм гэж юу вэ? • Класс гэж юу вэ? • Классуудын холбоо хамаарал – Dependency – Association – Aggregation – Composition – Inheritance • Constraint • Хийсвэр класс • Интэрфейс • Класс диаграм зурах зөвлөмж
  • 3. Класс диаграм • Класс диаграм нь програмын статик төлвийг дүрсэлдэг. • Програмыг дүрслэхээс гадна класс диаграмыг харж байгаад програмын кодыг бичих боломжтой. • Объект хандлагат програмчлалд (ОХП) ашигладаг. • Өөрөөр Бүтцийн диаграм ч гэж нэрлэдэг. • Систем юу юу хийхийг харуулна. • Deployment болон component диаграм байгуулахад суурь болдог.
  • 4. Класс • Класс гэдэг нь объект (хүн, газар, аливаа нэг зүйл…) юм. • Объектууд нь өөрийн гэсэн шинж (атрибут), хийдэг үйлдлүүтэй (функц) байдаг. • Класс нь объектийг дүрсэлдэг. • Тиймээс ч класс диаграмыг ОХП-д ашигладаг
  • 5. Класс • Класс диаграмд классыг тэгш өнцөгтөөр дүрсэлдэг. Дотроо 3 хэсэгтэй: I. Нэр II. Атрибут III. Функц
  • 6. Класс дах гишүүдийн харагдац Тэмдэглэгээ Утга Тайлбар + Public Програмын хаанаас ч энэ гишүүн рүү хандаж болно # Protected Тухайн класс болон түүний хүү классуудаас хандах боломжтой - Private Зөвхөн тухайн класс дотроос л хандах боломжтой ~ Package Нэг пакетэд байрлаж буй бүх классуудаас хандах боломжтой • Атрибутуудыг аль болох private эсвэл protected хандалтаар тодорхойлох хэрэгтэй.
  • 8. Класс хоорондын холбоо хамаарал • Dependency • Association • Aggregation • Composition • Inheritance
  • 9. Dependency • Dependency гэдэг нь нэг класс нөгөө классдаа нөлөөлж болзошгүй эсвэл түүнд хэрэгтэй классуудын хооронд үүсэх холбоо хамаарал юм. • Ихэвчлэн класс диаграмд энэ хамаарлыг дүрсэлдэггүй. • Жишээ нь: WashAnimal классын washAnimal() функц ажиллахын тулд Dog классийн dog объектыг хэрэглэж байна.
  • 10. Association • Хоорондоо шууд холбоо хамаарал бүхий классуудыг association холбоо хамаарлаар холбодог. • Багш сурагчдад хичээл заана.
  • 11. Aggregation • Aggregation нь “-тай” холбоосоор илэрдэг холбоо хамаарал юм. • Жишээ нь: Усан сан нугастай
  • 12. Composition • Composition нь мөн “-тай” холбоосоор илэрдэг холбоо хамаарал. Гэхдээ aggregation-ийг бодвол илүү хүчтэй • Жишээ нь: Машин мотортой. Моторгүй машин байх боломжгүй юм. Харин өмнөх aggregation- ий жишээн дээр нугас байсан ч, байгаагүй ч нуур байсаар байна. Motor
  • 13. Inheritance • Inheritance гэдэг нь нэг классийн бүх шинжийг удамшуулан, өөрийн онцлог шинжүүдийг нэмэн үүссэн шинэ класс, эх класстайгаа үүсгэж буй холбоо хамаарал. • Эдгээр классууд “юм” гэсэн үгээр холбогддог. • Жишээ нь: Оюутан хүн юм. Онцлог шинж нь дүн. Үүнтэй адилаар багш ч хүн юм. Онцлог шинж нь хичээл заадаг оюутнуудын жагсаалт. Эх классын нэр, нас атрибутуудыг хүү 2 класс хоёул удамшуулан авна.
  • 14. Нэг класс нөгөө классын хэдэн объекттой холбогдож байгааг илэрхийлэгч Илэрхийлэгч Утга 0..1 0 эсвэл 1 1 Зөвхөн 1 0..* 0 эсвэл түүнээс хязгааргүй олон 1..* 1 эсвэл түүнээс хязгааргүй олон n n тооны (n>1) 0..n 0-оос n хүртэл (n>1) 1..n 1-оос n хүртэл (n>1)
  • 16. Constraint • Constraint нь классын элеметүүдэд тодорхой хязгаарлалт тогтоож өгдөг. • Жишээ нь: Аливаа нэг данс эзэмшигч эзэнгүй байж болохгүй. • Бусад жишээ: Сурагчдын авах дүн 100 онооноос хэтэрч болохгүй. Хүний нас хасах тоо руу орж болохгүй гэх мэт.
  • 17. Хийсвэр класс • Хийсвэр класс нь зарим функцуудээ хийсвэрээр тодорхойлж өгдөг. Ингэснээр хүү класс нь тухайн функцийг заавал хэрэгжүүлэх шаардлагатай болно. • Хийсвэр классийн нэр болон функцийг italic- аар бичдэг.
  • 18. Интерфейс • Интерфейс нь зөвхөн хийсвэр функцууд ба тогтмол буюу статик атрибутууд агуулна. • Интефейсийг дүрслэхдээ <<interface>> гэсэн stereotype-ийг ашигладаг.
  • 19. Класс диаграмыг зурахдаа • Системийн араншинг илэрхийлхүйц утга төгөлдөр нэрээр классуудыг нэрлэх. – Араншин гэдэг нь системийн хийх зүйлүүд • Класс хоорондын холбоо хамаарлыг зөв тодорхойлох. • Класс дах атрибут болон функцууд ойлгомжтой байх. • Хөгжүүлэгчдэд ойлгогдохуйц байх • Хийж дууссан бол ахин дахин сайтар шалгах
  • 21. Дэлгэрэнгүй судлах • Ibm.com - UML basics: The Class Diagram • tutorialspoint.com – UML Class Diagram • wikipedia.org – UML Class Diagram • agilemodeling.com - UML 2 Class Diagram • youtube.com - UML 2 Class Diagram • uml-diagrams.org