SlideShare a Scribd company logo
Object-oriented System Analysis
and Design
Лекц №6. UML классын диаграмм
Олон Улсын Улаанбаатарын Их Сургууль
Шинжилгээний загварчилгааШинжилгээний загварчилгаа
Шинжилгээний загварууд
Бизнес йл ажиллагаа, бизнес йл ажиллагаатай холбоотой урсгалууд болонү ү
бизнес шаардлага т ний шийдлийг стандарт (график) тэмдэглэгээ рүү үү
х рв лсэнээрө үү
Системийн зохиомж гарна
Системийг ашиглах хэрэглэгч хоорондын холбоо хамаарал д рслэгдэнэү
Систем дэх дэд хэсг дийн хоорондын холбоо хамаарал д рслэгдэнэүү ү
Тухайн системд яригдах гол г гд л(объектууд)-ийг ер нхийд нь 3 хуваана:ө ө ө ө
Entity classes : Бодит амьдралын объектууд ба тэднийг д рслэх г гд лү ө ө ө
Boundary classes: Систем ба хэрэглэгч хоорондын холбогч г рүү
Control classes : Entity classes болон Boundary classes-д д рслэгдээг йү ү
орхигдсон йл явц боловсруулалтыг д рслэнэү ү
2
Шинжилгээний загварчилгааШинжилгээний загварчилгаа
Шинжилгээний загварчилгааны гол зорилго нь систем
дэх Entity, Boundary, болон Control объектуудыг
тодорхойлох хэд хэдэн UML техникийг дүрслэх гэдэгт:
Use-case загварчилгаа
Activity диаграмм
CRC Card (Class-Responsibility-Collaboration)
Collaboration диаграмм
Sequence диаграмм
Class диаграмм
3
Шинжилгээний загварчилгааШинжилгээний загварчилгаа
 Class шинжилгээ
 Атрибутууд
 Классын дотоод бүтэц буюу классын гишүүн өгөгдлүүд юм.
 Бүрдмэл ба удамшил холбоос
 CRC, Collaboration ба Sequence диаграмууд нь классуудын хоорондын
холбоосыг дүрсэлдэг. Гэхдээ удамшил ба бүрдмэл холбоос тодорхой
дүрслэгдэх шаардлагагүй.
 Aggregation буюу бүрдмэл харьцаа нь өгүүлбэрзүйн "has a"
холбоосоор холбогддог. Өөрөөр хэлбэл: Аливаа нэг зүйл нь өөр нэг
зүйлийг бүрдүүлэгч нэг хэсэг болохыг илэрхийлнэ.
 Удамшил буюу Generalization нь өгүүлбэрзүйн "is a“ холбоосоор
холбогддог. Шинжилгээний загварчилгаанд эх классаас хүү классд
атрибут болон функцууд удамшдаг болохыг дүрслэхийг зорьдог.
4
/Класс диаграм /Класс диаграм Class Diagram /Class Diagram /
 Шинжилгээний үе шатанд классууд ба объектууд нь
асуудлын хүрээнд загварчлагддаг. Классуудын хоорондын
хамаарал, харилцаа зохих системд тусгагдсан байдаг.
Үүнийг классын схемээр харуулна.
 Класс диаграм нь систем дэх обьектын төрөл болон
тэдгээрийн хоорондын хамаарлыг тодорхойлоход
хэрэглэгддэг. Класс диаграмд классын бүтэц, элемент буюу
класс, багц, болон обьектууд загварчлагддаг.
 Класс диаграм нь классын нэр, атрибут, үйлдэл гэх нийт 3
хэсгээс бүрддэг.Мөн класс диаграмд классын агуулга,
удамшил, бүрдмэл харьцаа болон холбоо хамаарал
харагддаг. Класс диаграмыг обьект хандлагат програм
хангамж загварчлахад хэрэглэдэг. Ингэхдээ системийн
классууд тэдгээрийн хоорондох хамаарлыг тодорхойлдог.
5
Класс, объект
6
Сэргээх ньСэргээх нь
•Класс
– Объект хэмээх ойлголттой салшгүй холбоотой.Объект хэмээх ойлголттой салшгүй холбоотой. Ижил шинж чанарИжил шинж чанар
болон үйлдлүүдтэй объектуудын нэгдэл юм.болон үйлдлүүдтэй объектуудын нэгдэл юм.
•Объект
– Бодит амьдралын биет юмс буюу түүний хийсвэрлэл юм. Жишээ нь:Бодит амьдралын биет юмс буюу түүний хийсвэрлэл юм. Жишээ нь:
o Бодит объект: Ном, Үзэг, Компьютер...Бодит объект: Ном, Үзэг, Компьютер...
o Хийсвэр объект: Хичээл, ШүлэгХийсвэр объект: Хичээл, Шүлэг
– Бид өдөр тутмынхаа амьдралд янз бүрийн объектуудтай харьцажБид өдөр тутмынхаа амьдралд янз бүрийн объектуудтай харьцаж
байдаг.байдаг.
– Аливаа систем нь объектуудаас бүрддэг.Аливаа систем нь объектуудаас бүрддэг.
• ОХПрограмчлалд Объект ньОХПрограмчлалд Объект нь
o Шинж чанарШинж чанар ((өгөгдөлөгөгдөл))
o ҮйлдэлҮйлдэл ((функцуудфункцууд))-ийн нэгдэл юм.-ийн нэгдэл юм.
Жишээ нь: МашинЖишээ нь: Машин
Машин
Нэр
Үнэ
Өнгө ӨВвв
Давхих
Худалдаж-авах
Засахввв
Өгөгдлийн далдлалтыг хэрхэн хэрэгжүүлэх вэ?
Хандалтуудын харагдах байдал (Visibiliy)-ыг товч тодорхойлвол:
private хандалттай гишүүд нь програмын бусад хэсгээс (үндсэн
функц болон бусад классаас) далдлагдсан байна. Түүнд хандахдаа
тухайн классын нийтийн хандалттай гишүүн функцээр
дамжуулж хандана.
public хандалттай гишүүдэд програмын дурын хэсгээс хандах
боломжтой.
protected хандалттай гишүүд нь өөрийн хүү классдаа харагддаг,
харин програмын бусад хэсгээс далдлагдан байдаг.
7
Классуудын хоорондын харьцааКлассуудын хоорондын харьцаа
8
• Удамшил (Inheritance)
– Бодит амьдрал дээр объект нь дан ганцаар бие даан оршинБодит амьдрал дээр объект нь дан ганцаар бие даан оршин
тогтнодоггүй, өөр бусад объектуудтай байнгын харьцажтогтнодоггүй, өөр бусад объектуудтай байнгын харьцаж
байдаг. Тухайлбал: Объект нь өмнө оршин байсан объектынбайдаг. Тухайлбал: Объект нь өмнө оршин байсан объектын
тодорхой шинжүүдийг өвлөн авах, мөн өөр объектыг өөртөөтодорхой шинжүүдийг өвлөн авах, мөн өөр объектыг өөртөө
агуулах, өөр бусад объектод чөлөөтэй хандах...агуулах, өөр бусад объектод чөлөөтэй хандах...
– Иймд ОХП-д классуудын шаталсан харьцааны дараах 2Иймд ОХП-д классуудын шаталсан харьцааны дараах 2
хэлбэр байдаг. Үүндхэлбэр байдаг. Үүнд
 Удамшил харьцааУдамшил харьцаа /өгүүлбэрзүйн/өгүүлбэрзүйн is ais a
харьцаагаар/харьцаагаар/
 Бүрдмэл харьцааБүрдмэл харьцаа // өгүүлбэрзүйнөгүүлбэрзүйн has ahas a
харьцаагаархарьцаагаар //
Програм хангамжийн дахин ашиглагдах чадварПрограм хангамжийн дахин ашиглагдах чадвар
9
Тээврийн хэрэгсэл
Эзэмшигч
Төрөл
Өнгө
Хурдлах
Асаах
Зогсоох
Эх класс
Хүү класс
Такси
Үйлчлүүлэгч
Хүн тээвэрлэх
Ачааны тэрэг
Даац
Ачаа тээвэрлэх
Өгөгдөл болон гишүүн
функцууд нь хүү классд
Удамшина
Онцлог функц
Онцлог өгөгдөл
Удамшил харьцаа /Inheritance/
Taxi is a Transportation
Truck is a Transportation
Програм хангамжийн дахин ашиглагдах чадварПрограм хангамжийн дахин ашиглагдах чадвар
10
Бүрдмэл харьцаа
Computer
CPU Mouse Disk
Computer has a CPU
Computer has a mouse
Computer has a Disk
Классын өргөтгөх боломж нь (Удамшил ба бүрдмэл хэмээх
ойлголтууд нь) програм хангамжийг
Дахин ашиглагдах чадвартай
Засвар үйлчилгээ авахадаа сайн болгодог
Класс диаграммКласс диаграмм
 Классд диаграммд д рслэгдэх холбоосуудү
◦ Association/холбоо хамаарал/
◦ Aggregation/нэгдэл/
◦ Composition/б тэц/ү
◦ Generalization
◦ Navigability
◦ Multiplicity
◦ Dependencies and Constraints
 Класс диаграммд д рслэгдэх бусад мэдээлл дү үү
◦ Класс, т ний гиш д, харагдах байдалүү үү (Visibility)
◦ Interface- д баүү Stereotype-ууд
11
Класс диаграммКласс диаграмм
 Систем дэх классууд болон тэдгээрийн хоорондын холбоо хамаарлыг
д рсэлдэг гэдэг утгаараа системийн х рээ хязгаарыг тодорхойлж гд гү ү ө ө
 Static шинж чанартай. Учир нь классууд нь бие биетэйгээ хэрхэн
холбогдож байгааг д рсэлдэг боловч тэдгээр нь хоорондоо харилцанү
хэрхэн н л л хийг авч здэгг й.ө өө ө ү ү
◦ Collaboration диаграммыг бодвол
 Collaboration дийграм нь классуудын хоорондын харилцааг д рсэлдэг.ү
 Иймд бид Collaboration диаграм нь биелэлтийн еийнү йл явцыгү
( runtime behaviors) д рсэлдэг байхадү Class диаграмм нь design-time –д
д рслэгддэг.ү
 Классын диаграмм нь дизайны е шатын ндэс суурь болдог.ү ү
 Class диаграмм нь хэдийгээр шинжилгээний загварт тооцогддог
боловч энэ е шатанд классуудын хоорондын харьцааг илэрхийлэхү
хэмжээнд л д рслэгддэгү
 Харин зохиомжийн е шатанд кодчиллын мн класс диаграмм ньү ө ө
б рэн д рслэгддэг.ү ү
12
13
Классын нэр
Атрибут
Үйлдэл
Классын нэр
Атрибут
Классын нэр
Үйлдэл
Классын нэр
Заримдаа атрибут болон үйлдлийг дүрслэхгүй байж болно.
(энэ нь тухайн мэдээлэл диаграмд байх шаардлагатай эсэхээс
хамаарна)
Классыг дүрслэхдээ
Класс диаграммКласс диаграмм
 Классд диаграммд д рслэгдэх холбоосуудү
1. Association/холбоо хамаарал/
2. Aggregation/нэгдэл/
3. Composition/б тэц/ү
4. Generalization/удамшил/
5. Multiplicity/т р лт холбоо/ө ө
6. Dependencies and Constraints
1. Association/холбоо хамаарал/
14
2. Aggregation/нэгдэл/
3. Composition/б тэц/ү
4. Generalization
15
16
6.Multiplicity
7.Dependencies and Constraints
Класс диаграммд д рслэгдэх бусад мэдээлл дү үү
Класс, т ний гиш д, харагдах байдалүү үү (Visibility)
Interface- д баүү Stereotype-ууд
Класс диаграммКласс диаграмм
 Класс диаграмм дахь классууд болон т ний гиш д, гиш дийнүү үү үү
харагдах байдал (Visibility)
◦ Класс диаграмм нь 3 н д б хий тэгш нц гт р д рслэгддэг б г дү ү ө ө өө ү ө өө
 классын нэр
 классын гиш н г гдл дүү ө ө үү
 классын гиш н функцуудыг бичдэгүү
◦ Классын гиш н г гд л болон гиш н функцуудын хандалтыгүү ө ө ө үү
тодорхойлох боломжтой
◦ Классын статик гиш дийг доогуур нь зурдаг.үү
◦ Классын гиш н функцыг дараах хэлбэрээр д рсэлдэгүү ү
< Хандалтыг тодорхойлогч> <нэр> ( <параметрийн жагсаалт>) :
<буцаах утга>
◦ Параметрийн жагсаалт дахь параметр дийг хооронд нь таслалаарүү
зааглана
◦ Хандалтыг тодорхойлогчийг классын гиш д б рийн мн тодорхойлно.үү ү ө ө
17
18
Class Diagram гэж юу вэ?
Class diagram нь систем
дэх классуудын дотоод
бүтэц, тэдгээрийн
хоорондын холбоо
хамаарлыг дүрслэнэ.
Бүрэлдэхүүн хэсэг:
Класс
Классуудын хоорондын
холбоосын дүрслэл
BankCont
Customer
Account
Receipt
Savings
TimeDeposit
Transaction
19
Холбоос
Class A
Холбоосын
нэр
Person Product
order
Class B
Холбоосын
зэрэг
Холбоосын
зэрэг
Person Product
buyer
Хүн захиалга өгөх Бүтээгдэхүүний хувьд хүн худалдан авагч
Class A, Class B хоёрын
хоорондын холбоо
хамаарлыг илэрхийлнэ
20
Удамшил ба бүрдмэл харьцаа
Бүрдмэл харьцаа:
“...бол ...тай”
Машин
Мотор Дугуй Такси Удамшил харьцаа:
“... бол ... юм”
Удамшил ба Бүрдмэл нь классуудын холбоосын нэг хэлбэр юм.
21
Холбоосын зэргүүд
минийМашин
: Машин
БаруунУрдДугуй: Дугуй
ЗүүнУрдДугуй: Дугуй
БаруунХойдДугуй: Дугуй
ЗүүнХойдДугуй: Дугуй
Машин Дугуй
1 4
Миний машин 4 дугуйтай.
Класс
1
1зөвхөн
Класс
0..1
0 1эсвэл
Класс* 0 буюу олон
Класс
1..*
1 буюу олон
Класс
2..6
2- 6оос
Класс
1,5,10
1 5эсвэл
10эсвэл
22
Холбогч класс
Class A Class B
Холбогч класс:
Классууд хоорондын холбоос мэдээллийг агуулах класс
Class C
Олон олонтой холбоосыг өргөтгөж холбогч классыг
үүсгэдэг.
abc
23
Алхам алхамаар загварчил
Системийн динамик болон статик
шинжүүдийг нэг бүрчлэн ярилцаж алхам
алхамаар нэмэгдүүлэн загварчлах
шаардлагатай.
Объект хандлагат аргачлал нь өөрөө
алхам алхамаар хөгжүүлэх гэсэн зарчмыг
баримталдаг.
Системийн динамик болон статик
шинжүүдийг нэг бүрчлэн ярилцаж алхам
алхамаар нэмэгдүүлэн загварчлах
шаардлагатай.
Объект хандлагат аргачлал нь өөрөө
алхам алхамаар хөгжүүлэх гэсэн зарчмыг
баримталдаг.
Би юу хийх ёстойгоо сайн мэдэж
байгаа боловч системд
шаардлагатай бүх элементүүдийг
бүгдийг нэг дор загварчилгаандаа
тусгаж чадахгүй байна.
Би юу хийх ёстойгоо сайн мэдэж
байгаа боловч системд
шаардлагатай бүх элементүүдийг
бүгдийг нэг дор загварчилгаандаа
тусгаж чадахгүй байна.
24
analysis
design
Programming
Test
analysis
design
Programming
Test
analysis
design
Programming
Test
analysis
design
Programming
Test
Алхам алхамаар нэмэгдүүлэн хөгжүүлэх
getPassword(aN){
}
Int x, y
Account
analysis
design
Programming
Test
getPassword(aN){
}
calcBalance(aN){
}
Int x, y
Account
import java.applet.*;
import java.awt.*;
public class Account extends Applet{
int x, y;
public void getPassword(aN) {
・・・・
  ・・・・
 }
public static calcBalance(xxx)
・・・・
  ・・・・
 }
・・・・
  ・・・・
OOSADнь алхам алхамаар
нэмэгдүүлэн хөгжүүлэх аргачлал
25
"+" Public "-" Private "#" Protected "/" Derived
(can be combined with one of the others) "_"
Static
26

More Related Content

What's hot

Ogogdliin sangiin zohion baiguulalt lekts
Ogogdliin sangiin zohion baiguulalt lektsOgogdliin sangiin zohion baiguulalt lekts
Ogogdliin sangiin zohion baiguulalt lektsАлдарболд Э.
 
Лекц 2 (Блок схем)
Лекц 2 (Блок схем)Лекц 2 (Блок схем)
Лекц 2 (Блок схем)
Мөнхбаярын Цэцэнцэнгэл
 
U.cs101 алгоритм программчлал-3
U.cs101   алгоритм программчлал-3U.cs101   алгоритм программчлал-3
U.cs101 алгоритм программчлал-3
Badral Khurelbaatar
 
Sw203 Lecture11 Casting
Sw203 Lecture11 CastingSw203 Lecture11 Casting
Sw203 Lecture11 Casting
Jargalsaikhan Alyeksandr
 
өгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэсөгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэс
Бямбаа Авирмэд
 

What's hot (20)

Ood lesson10 statechart
Ood lesson10 statechartOod lesson10 statechart
Ood lesson10 statechart
 
User requirements
User requirementsUser requirements
User requirements
 
It101 16
It101 16It101 16
It101 16
 
Ogogdliin sangiin zohion baiguulalt lekts
Ogogdliin sangiin zohion baiguulalt lektsOgogdliin sangiin zohion baiguulalt lekts
Ogogdliin sangiin zohion baiguulalt lekts
 
Лекц 2 (Блок схем)
Лекц 2 (Блок схем)Лекц 2 (Блок схем)
Лекц 2 (Блок схем)
 
Ood lesson3
Ood lesson3Ood lesson3
Ood lesson3
 
Database 3
Database 3Database 3
Database 3
 
Systemiin shinjilgee ba zohiomj lekts
Systemiin shinjilgee ba zohiomj lektsSystemiin shinjilgee ba zohiomj lekts
Systemiin shinjilgee ba zohiomj lekts
 
CS203 Лекц01 Prefeace
CS203 Лекц01  PrefeaceCS203 Лекц01  Prefeace
CS203 Лекц01 Prefeace
 
U.cs101 алгоритм программчлал-3
U.cs101   алгоритм программчлал-3U.cs101   алгоритм программчлал-3
U.cs101 алгоритм программчлал-3
 
It101 lect9
It101 lect9It101 lect9
It101 lect9
 
Java programchlal s.uuganbayr
Java programchlal s.uuganbayrJava programchlal s.uuganbayr
Java programchlal s.uuganbayr
 
Sw203 Lecture11 Casting
Sw203 Lecture11 CastingSw203 Lecture11 Casting
Sw203 Lecture11 Casting
 
өгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэсөгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэс
 
Лекц-3
Лекц-3Лекц-3
Лекц-3
 
It101 lec6 10.06
It101 lec6 10.06It101 lec6 10.06
It101 lec6 10.06
 
database 7-8
database 7-8database 7-8
database 7-8
 
Lecture1
Lecture1Lecture1
Lecture1
 
Cs101 lec12
Cs101 lec12Cs101 lec12
Cs101 lec12
 
алгоритмын ангилал
алгоритмын ангилалалгоритмын ангилал
алгоритмын ангилал
 

Similar to Ood lesson6 class

Sw203 Lecture5 Class Acess Modifiers
Sw203 Lecture5 Class Acess ModifiersSw203 Lecture5 Class Acess Modifiers
Sw203 Lecture5 Class Acess Modifiers
Jargalsaikhan Alyeksandr
 
Өгөгдлийн бүтэц
Өгөгдлийн бүтэцӨгөгдлийн бүтэц
Өгөгдлийн бүтэц
Muuluu
 
хичээлийн хөтөлбөр
хичээлийн хөтөлбөрхичээлийн хөтөлбөр
хичээлийн хөтөлбөрadminsed03
 
хичээлийн хөтөлбөр
хичээлийн хөтөлбөрхичээлийн хөтөлбөр
хичээлийн хөтөлбөрadminsed03
 
Cs203 lecture 14 reflection
Cs203 lecture 14  reflectionCs203 lecture 14  reflection
Cs203 lecture 14 reflection
Jargalsaikhan Alyeksandr
 
ОХШЗ - Бие Даалт
ОХШЗ - Бие ДаалтОХШЗ - Бие Даалт
ОХШЗ - Бие Даалт
International Ulaanbaatar University
 

Similar to Ood lesson6 class (18)

Lab 16
Lab 16Lab 16
Lab 16
 
Ooad
OoadOoad
Ooad
 
Lecture5 6
Lecture5 6Lecture5 6
Lecture5 6
 
Sw203 Lecture5 Class Acess Modifiers
Sw203 Lecture5 Class Acess ModifiersSw203 Lecture5 Class Acess Modifiers
Sw203 Lecture5 Class Acess Modifiers
 
Sw203 Lecture4 Class Object
Sw203 Lecture4  Class ObjectSw203 Lecture4  Class Object
Sw203 Lecture4 Class Object
 
Ood lesson7,8 class
Ood lesson7,8 classOod lesson7,8 class
Ood lesson7,8 class
 
Өгөгдлийн бүтэц
Өгөгдлийн бүтэцӨгөгдлийн бүтэц
Өгөгдлийн бүтэц
 
Ood lesson12.1 ---------
Ood lesson12.1  ---------Ood lesson12.1  ---------
Ood lesson12.1 ---------
 
хичээлийн хөтөлбөр
хичээлийн хөтөлбөрхичээлийн хөтөлбөр
хичээлийн хөтөлбөр
 
хичээлийн хөтөлбөр
хичээлийн хөтөлбөрхичээлийн хөтөлбөр
хичээлийн хөтөлбөр
 
Blog ooad-tod
Blog ooad-todBlog ooad-tod
Blog ooad-tod
 
Cs203 lecture 14 reflection
Cs203 lecture 14  reflectionCs203 lecture 14  reflection
Cs203 lecture 14 reflection
 
Pp Lect3 1
Pp Lect3 1Pp Lect3 1
Pp Lect3 1
 
33
3333
33
 
3
33
3
 
ОХШЗ - Бие Даалт
ОХШЗ - Бие ДаалтОХШЗ - Бие Даалт
ОХШЗ - Бие Даалт
 
Лекц 6 - 7
Лекц 6 - 7Лекц 6 - 7
Лекц 6 - 7
 
Pp Lect2 1
Pp Lect2 1Pp Lect2 1
Pp Lect2 1
 

More from International Ulaanbaatar University

Визуаль програмчлал бие даалт
Визуаль програмчлал бие даалтВизуаль програмчлал бие даалт
Визуаль програмчлал бие даалт
International Ulaanbaatar University
 
Lec13
Lec13Lec13
Өгөгдлийн бүтэц 15
Өгөгдлийн бүтэц 15Өгөгдлийн бүтэц 15
Өгөгдлийн бүтэц 15
International Ulaanbaatar University
 
Өгөгдлийн бүтэц 14
Өгөгдлийн бүтэц 14Өгөгдлийн бүтэц 14
Өгөгдлийн бүтэц 14
International Ulaanbaatar University
 
Өгөгдлийн бүтэц 13
Өгөгдлийн бүтэц 13Өгөгдлийн бүтэц 13
Өгөгдлийн бүтэц 13
International Ulaanbaatar University
 
Өгөгдлийн бүтэц 12
Өгөгдлийн бүтэц 12Өгөгдлийн бүтэц 12
Өгөгдлийн бүтэц 12
International Ulaanbaatar University
 
Өгөгдлийн бүтэц 11
Өгөгдлийн бүтэц 11Өгөгдлийн бүтэц 11
Өгөгдлийн бүтэц 11
International Ulaanbaatar University
 
Өгөгдлийн бүтэц 10
Өгөгдлийн бүтэц 10Өгөгдлийн бүтэц 10
Өгөгдлийн бүтэц 10
International Ulaanbaatar University
 
Өгөгдлийн бүтэц 8,9
Өгөгдлийн бүтэц 8,9Өгөгдлийн бүтэц 8,9
Өгөгдлийн бүтэц 8,9
International Ulaanbaatar University
 
Dsi lec7
Dsi lec7Dsi lec7
Dsi lec5,6
Dsi lec5,6Dsi lec5,6

More from International Ulaanbaatar University (20)

Lec8
Lec8 Lec8
Lec8
 
Lec7
Lec7 Lec7
Lec7
 
Lec5 6
Lec5 6 Lec5 6
Lec5 6
 
Lec4
Lec4 Lec4
Lec4
 
Lec3
Lec3 Lec3
Lec3
 
Lec2
Lec2 Lec2
Lec2
 
Lec1
Lec1 Lec1
Lec1
 
Визуаль програмчлал бие даалт
Визуаль програмчлал бие даалтВизуаль програмчлал бие даалт
Визуаль програмчлал бие даалт
 
Ood lesson5
Ood lesson5Ood lesson5
Ood lesson5
 
Ood lesson1
Ood lesson1Ood lesson1
Ood lesson1
 
Lec13
Lec13Lec13
Lec13
 
Өгөгдлийн бүтэц 15
Өгөгдлийн бүтэц 15Өгөгдлийн бүтэц 15
Өгөгдлийн бүтэц 15
 
Өгөгдлийн бүтэц 14
Өгөгдлийн бүтэц 14Өгөгдлийн бүтэц 14
Өгөгдлийн бүтэц 14
 
Өгөгдлийн бүтэц 13
Өгөгдлийн бүтэц 13Өгөгдлийн бүтэц 13
Өгөгдлийн бүтэц 13
 
Өгөгдлийн бүтэц 12
Өгөгдлийн бүтэц 12Өгөгдлийн бүтэц 12
Өгөгдлийн бүтэц 12
 
Өгөгдлийн бүтэц 11
Өгөгдлийн бүтэц 11Өгөгдлийн бүтэц 11
Өгөгдлийн бүтэц 11
 
Өгөгдлийн бүтэц 10
Өгөгдлийн бүтэц 10Өгөгдлийн бүтэц 10
Өгөгдлийн бүтэц 10
 
Өгөгдлийн бүтэц 8,9
Өгөгдлийн бүтэц 8,9Өгөгдлийн бүтэц 8,9
Өгөгдлийн бүтэц 8,9
 
Dsi lec7
Dsi lec7Dsi lec7
Dsi lec7
 
Dsi lec5,6
Dsi lec5,6Dsi lec5,6
Dsi lec5,6
 

Ood lesson6 class

  • 1. Object-oriented System Analysis and Design Лекц №6. UML классын диаграмм Олон Улсын Улаанбаатарын Их Сургууль
  • 2. Шинжилгээний загварчилгааШинжилгээний загварчилгаа Шинжилгээний загварууд Бизнес йл ажиллагаа, бизнес йл ажиллагаатай холбоотой урсгалууд болонү ү бизнес шаардлага т ний шийдлийг стандарт (график) тэмдэглэгээ рүү үү х рв лсэнээрө үү Системийн зохиомж гарна Системийг ашиглах хэрэглэгч хоорондын холбоо хамаарал д рслэгдэнэү Систем дэх дэд хэсг дийн хоорондын холбоо хамаарал д рслэгдэнэүү ү Тухайн системд яригдах гол г гд л(объектууд)-ийг ер нхийд нь 3 хуваана:ө ө ө ө Entity classes : Бодит амьдралын объектууд ба тэднийг д рслэх г гд лү ө ө ө Boundary classes: Систем ба хэрэглэгч хоорондын холбогч г рүү Control classes : Entity classes болон Boundary classes-д д рслэгдээг йү ү орхигдсон йл явц боловсруулалтыг д рслэнэү ү 2
  • 3. Шинжилгээний загварчилгааШинжилгээний загварчилгаа Шинжилгээний загварчилгааны гол зорилго нь систем дэх Entity, Boundary, болон Control объектуудыг тодорхойлох хэд хэдэн UML техникийг дүрслэх гэдэгт: Use-case загварчилгаа Activity диаграмм CRC Card (Class-Responsibility-Collaboration) Collaboration диаграмм Sequence диаграмм Class диаграмм 3
  • 4. Шинжилгээний загварчилгааШинжилгээний загварчилгаа  Class шинжилгээ  Атрибутууд  Классын дотоод бүтэц буюу классын гишүүн өгөгдлүүд юм.  Бүрдмэл ба удамшил холбоос  CRC, Collaboration ба Sequence диаграмууд нь классуудын хоорондын холбоосыг дүрсэлдэг. Гэхдээ удамшил ба бүрдмэл холбоос тодорхой дүрслэгдэх шаардлагагүй.  Aggregation буюу бүрдмэл харьцаа нь өгүүлбэрзүйн "has a" холбоосоор холбогддог. Өөрөөр хэлбэл: Аливаа нэг зүйл нь өөр нэг зүйлийг бүрдүүлэгч нэг хэсэг болохыг илэрхийлнэ.  Удамшил буюу Generalization нь өгүүлбэрзүйн "is a“ холбоосоор холбогддог. Шинжилгээний загварчилгаанд эх классаас хүү классд атрибут болон функцууд удамшдаг болохыг дүрслэхийг зорьдог. 4
  • 5. /Класс диаграм /Класс диаграм Class Diagram /Class Diagram /  Шинжилгээний үе шатанд классууд ба объектууд нь асуудлын хүрээнд загварчлагддаг. Классуудын хоорондын хамаарал, харилцаа зохих системд тусгагдсан байдаг. Үүнийг классын схемээр харуулна.  Класс диаграм нь систем дэх обьектын төрөл болон тэдгээрийн хоорондын хамаарлыг тодорхойлоход хэрэглэгддэг. Класс диаграмд классын бүтэц, элемент буюу класс, багц, болон обьектууд загварчлагддаг.  Класс диаграм нь классын нэр, атрибут, үйлдэл гэх нийт 3 хэсгээс бүрддэг.Мөн класс диаграмд классын агуулга, удамшил, бүрдмэл харьцаа болон холбоо хамаарал харагддаг. Класс диаграмыг обьект хандлагат програм хангамж загварчлахад хэрэглэдэг. Ингэхдээ системийн классууд тэдгээрийн хоорондох хамаарлыг тодорхойлдог. 5
  • 6. Класс, объект 6 Сэргээх ньСэргээх нь •Класс – Объект хэмээх ойлголттой салшгүй холбоотой.Объект хэмээх ойлголттой салшгүй холбоотой. Ижил шинж чанарИжил шинж чанар болон үйлдлүүдтэй объектуудын нэгдэл юм.болон үйлдлүүдтэй объектуудын нэгдэл юм. •Объект – Бодит амьдралын биет юмс буюу түүний хийсвэрлэл юм. Жишээ нь:Бодит амьдралын биет юмс буюу түүний хийсвэрлэл юм. Жишээ нь: o Бодит объект: Ном, Үзэг, Компьютер...Бодит объект: Ном, Үзэг, Компьютер... o Хийсвэр объект: Хичээл, ШүлэгХийсвэр объект: Хичээл, Шүлэг – Бид өдөр тутмынхаа амьдралд янз бүрийн объектуудтай харьцажБид өдөр тутмынхаа амьдралд янз бүрийн объектуудтай харьцаж байдаг.байдаг. – Аливаа систем нь объектуудаас бүрддэг.Аливаа систем нь объектуудаас бүрддэг. • ОХПрограмчлалд Объект ньОХПрограмчлалд Объект нь o Шинж чанарШинж чанар ((өгөгдөлөгөгдөл)) o ҮйлдэлҮйлдэл ((функцуудфункцууд))-ийн нэгдэл юм.-ийн нэгдэл юм. Жишээ нь: МашинЖишээ нь: Машин Машин Нэр Үнэ Өнгө ӨВвв Давхих Худалдаж-авах Засахввв
  • 7. Өгөгдлийн далдлалтыг хэрхэн хэрэгжүүлэх вэ? Хандалтуудын харагдах байдал (Visibiliy)-ыг товч тодорхойлвол: private хандалттай гишүүд нь програмын бусад хэсгээс (үндсэн функц болон бусад классаас) далдлагдсан байна. Түүнд хандахдаа тухайн классын нийтийн хандалттай гишүүн функцээр дамжуулж хандана. public хандалттай гишүүдэд програмын дурын хэсгээс хандах боломжтой. protected хандалттай гишүүд нь өөрийн хүү классдаа харагддаг, харин програмын бусад хэсгээс далдлагдан байдаг. 7
  • 8. Классуудын хоорондын харьцааКлассуудын хоорондын харьцаа 8 • Удамшил (Inheritance) – Бодит амьдрал дээр объект нь дан ганцаар бие даан оршинБодит амьдрал дээр объект нь дан ганцаар бие даан оршин тогтнодоггүй, өөр бусад объектуудтай байнгын харьцажтогтнодоггүй, өөр бусад объектуудтай байнгын харьцаж байдаг. Тухайлбал: Объект нь өмнө оршин байсан объектынбайдаг. Тухайлбал: Объект нь өмнө оршин байсан объектын тодорхой шинжүүдийг өвлөн авах, мөн өөр объектыг өөртөөтодорхой шинжүүдийг өвлөн авах, мөн өөр объектыг өөртөө агуулах, өөр бусад объектод чөлөөтэй хандах...агуулах, өөр бусад объектод чөлөөтэй хандах... – Иймд ОХП-д классуудын шаталсан харьцааны дараах 2Иймд ОХП-д классуудын шаталсан харьцааны дараах 2 хэлбэр байдаг. Үүндхэлбэр байдаг. Үүнд  Удамшил харьцааУдамшил харьцаа /өгүүлбэрзүйн/өгүүлбэрзүйн is ais a харьцаагаар/харьцаагаар/  Бүрдмэл харьцааБүрдмэл харьцаа // өгүүлбэрзүйнөгүүлбэрзүйн has ahas a харьцаагаархарьцаагаар //
  • 9. Програм хангамжийн дахин ашиглагдах чадварПрограм хангамжийн дахин ашиглагдах чадвар 9 Тээврийн хэрэгсэл Эзэмшигч Төрөл Өнгө Хурдлах Асаах Зогсоох Эх класс Хүү класс Такси Үйлчлүүлэгч Хүн тээвэрлэх Ачааны тэрэг Даац Ачаа тээвэрлэх Өгөгдөл болон гишүүн функцууд нь хүү классд Удамшина Онцлог функц Онцлог өгөгдөл Удамшил харьцаа /Inheritance/ Taxi is a Transportation Truck is a Transportation
  • 10. Програм хангамжийн дахин ашиглагдах чадварПрограм хангамжийн дахин ашиглагдах чадвар 10 Бүрдмэл харьцаа Computer CPU Mouse Disk Computer has a CPU Computer has a mouse Computer has a Disk Классын өргөтгөх боломж нь (Удамшил ба бүрдмэл хэмээх ойлголтууд нь) програм хангамжийг Дахин ашиглагдах чадвартай Засвар үйлчилгээ авахадаа сайн болгодог
  • 11. Класс диаграммКласс диаграмм  Классд диаграммд д рслэгдэх холбоосуудү ◦ Association/холбоо хамаарал/ ◦ Aggregation/нэгдэл/ ◦ Composition/б тэц/ү ◦ Generalization ◦ Navigability ◦ Multiplicity ◦ Dependencies and Constraints  Класс диаграммд д рслэгдэх бусад мэдээлл дү үү ◦ Класс, т ний гиш д, харагдах байдалүү үү (Visibility) ◦ Interface- д баүү Stereotype-ууд 11
  • 12. Класс диаграммКласс диаграмм  Систем дэх классууд болон тэдгээрийн хоорондын холбоо хамаарлыг д рсэлдэг гэдэг утгаараа системийн х рээ хязгаарыг тодорхойлж гд гү ү ө ө  Static шинж чанартай. Учир нь классууд нь бие биетэйгээ хэрхэн холбогдож байгааг д рсэлдэг боловч тэдгээр нь хоорондоо харилцанү хэрхэн н л л хийг авч здэгг й.ө өө ө ү ү ◦ Collaboration диаграммыг бодвол  Collaboration дийграм нь классуудын хоорондын харилцааг д рсэлдэг.ү  Иймд бид Collaboration диаграм нь биелэлтийн еийнү йл явцыгү ( runtime behaviors) д рсэлдэг байхадү Class диаграмм нь design-time –д д рслэгддэг.ү  Классын диаграмм нь дизайны е шатын ндэс суурь болдог.ү ү  Class диаграмм нь хэдийгээр шинжилгээний загварт тооцогддог боловч энэ е шатанд классуудын хоорондын харьцааг илэрхийлэхү хэмжээнд л д рслэгддэгү  Харин зохиомжийн е шатанд кодчиллын мн класс диаграмм ньү ө ө б рэн д рслэгддэг.ү ү 12
  • 13. 13 Классын нэр Атрибут Үйлдэл Классын нэр Атрибут Классын нэр Үйлдэл Классын нэр Заримдаа атрибут болон үйлдлийг дүрслэхгүй байж болно. (энэ нь тухайн мэдээлэл диаграмд байх шаардлагатай эсэхээс хамаарна) Классыг дүрслэхдээ
  • 14. Класс диаграммКласс диаграмм  Классд диаграммд д рслэгдэх холбоосуудү 1. Association/холбоо хамаарал/ 2. Aggregation/нэгдэл/ 3. Composition/б тэц/ү 4. Generalization/удамшил/ 5. Multiplicity/т р лт холбоо/ө ө 6. Dependencies and Constraints 1. Association/холбоо хамаарал/ 14
  • 15. 2. Aggregation/нэгдэл/ 3. Composition/б тэц/ү 4. Generalization 15
  • 16. 16 6.Multiplicity 7.Dependencies and Constraints Класс диаграммд д рслэгдэх бусад мэдээлл дү үү Класс, т ний гиш д, харагдах байдалүү үү (Visibility) Interface- д баүү Stereotype-ууд
  • 17. Класс диаграммКласс диаграмм  Класс диаграмм дахь классууд болон т ний гиш д, гиш дийнүү үү үү харагдах байдал (Visibility) ◦ Класс диаграмм нь 3 н д б хий тэгш нц гт р д рслэгддэг б г дү ү ө ө өө ү ө өө  классын нэр  классын гиш н г гдл дүү ө ө үү  классын гиш н функцуудыг бичдэгүү ◦ Классын гиш н г гд л болон гиш н функцуудын хандалтыгүү ө ө ө үү тодорхойлох боломжтой ◦ Классын статик гиш дийг доогуур нь зурдаг.үү ◦ Классын гиш н функцыг дараах хэлбэрээр д рсэлдэгүү ү < Хандалтыг тодорхойлогч> <нэр> ( <параметрийн жагсаалт>) : <буцаах утга> ◦ Параметрийн жагсаалт дахь параметр дийг хооронд нь таслалаарүү зааглана ◦ Хандалтыг тодорхойлогчийг классын гиш д б рийн мн тодорхойлно.үү ү ө ө 17
  • 18. 18 Class Diagram гэж юу вэ? Class diagram нь систем дэх классуудын дотоод бүтэц, тэдгээрийн хоорондын холбоо хамаарлыг дүрслэнэ. Бүрэлдэхүүн хэсэг: Класс Классуудын хоорондын холбоосын дүрслэл BankCont Customer Account Receipt Savings TimeDeposit Transaction
  • 19. 19 Холбоос Class A Холбоосын нэр Person Product order Class B Холбоосын зэрэг Холбоосын зэрэг Person Product buyer Хүн захиалга өгөх Бүтээгдэхүүний хувьд хүн худалдан авагч Class A, Class B хоёрын хоорондын холбоо хамаарлыг илэрхийлнэ
  • 20. 20 Удамшил ба бүрдмэл харьцаа Бүрдмэл харьцаа: “...бол ...тай” Машин Мотор Дугуй Такси Удамшил харьцаа: “... бол ... юм” Удамшил ба Бүрдмэл нь классуудын холбоосын нэг хэлбэр юм.
  • 21. 21 Холбоосын зэргүүд минийМашин : Машин БаруунУрдДугуй: Дугуй ЗүүнУрдДугуй: Дугуй БаруунХойдДугуй: Дугуй ЗүүнХойдДугуй: Дугуй Машин Дугуй 1 4 Миний машин 4 дугуйтай. Класс 1 1зөвхөн Класс 0..1 0 1эсвэл Класс* 0 буюу олон Класс 1..* 1 буюу олон Класс 2..6 2- 6оос Класс 1,5,10 1 5эсвэл 10эсвэл
  • 22. 22 Холбогч класс Class A Class B Холбогч класс: Классууд хоорондын холбоос мэдээллийг агуулах класс Class C Олон олонтой холбоосыг өргөтгөж холбогч классыг үүсгэдэг. abc
  • 23. 23 Алхам алхамаар загварчил Системийн динамик болон статик шинжүүдийг нэг бүрчлэн ярилцаж алхам алхамаар нэмэгдүүлэн загварчлах шаардлагатай. Объект хандлагат аргачлал нь өөрөө алхам алхамаар хөгжүүлэх гэсэн зарчмыг баримталдаг. Системийн динамик болон статик шинжүүдийг нэг бүрчлэн ярилцаж алхам алхамаар нэмэгдүүлэн загварчлах шаардлагатай. Объект хандлагат аргачлал нь өөрөө алхам алхамаар хөгжүүлэх гэсэн зарчмыг баримталдаг. Би юу хийх ёстойгоо сайн мэдэж байгаа боловч системд шаардлагатай бүх элементүүдийг бүгдийг нэг дор загварчилгаандаа тусгаж чадахгүй байна. Би юу хийх ёстойгоо сайн мэдэж байгаа боловч системд шаардлагатай бүх элементүүдийг бүгдийг нэг дор загварчилгаандаа тусгаж чадахгүй байна.
  • 24. 24 analysis design Programming Test analysis design Programming Test analysis design Programming Test analysis design Programming Test Алхам алхамаар нэмэгдүүлэн хөгжүүлэх getPassword(aN){ } Int x, y Account analysis design Programming Test getPassword(aN){ } calcBalance(aN){ } Int x, y Account import java.applet.*; import java.awt.*; public class Account extends Applet{ int x, y; public void getPassword(aN) { ・・・・   ・・・・  } public static calcBalance(xxx) ・・・・   ・・・・  } ・・・・   ・・・・ OOSADнь алхам алхамаар нэмэгдүүлэн хөгжүүлэх аргачлал
  • 25. 25 "+" Public "-" Private "#" Protected "/" Derived (can be combined with one of the others) "_" Static
  • 26. 26

Editor's Notes

  1. Notes: Entity objects Entity objects model real-world objects. All of the objects you have studied thus far have been examples of entity objects. The analysis process begins by identifying business information entities, such as different types of reports, customer information, or inventory information. Most of these information entities can be translated directly into entity objects. The business information entities of a library system include books, a book collection, patrons, librarians, addresses, and fees. Each of these can be translated into an entity object. Interface objects Interface objects bridge the gap between a system and its users. The objects that form a graphical user interface are examples of interface objects. Interface objects often take the form of window, terminal, or printer objects. The Unified Process refers to interface objects as boundary classes because they act as the boundary between a software system and its users. Control objects Control objects implement complex business logic that cannot be easily implemented in either entity or interface objects. Control objects typically represent schedulers, sequencers, and other concepts that can be used to tie a system together. For example, fines are issued when a book is overdue. In the preceding figure, the Fine Scheduler object uses information it collects from the Book Collection Database to determine when to issue a fine.