SlideShare ist ein Scribd-Unternehmen logo
1 von 26
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

Weitere ähnliche Inhalte

Was ist angesagt?

програм хангамжийн чанарын инженерчлэл
програм хангамжийн чанарын инженерчлэл програм хангамжийн чанарын инженерчлэл
програм хангамжийн чанарын инженерчлэл Энхтамир Ш
 
U.cs101 алгоритм программчлал-3
U.cs101   алгоритм программчлал-3U.cs101   алгоритм программчлал-3
U.cs101 алгоритм программчлал-3Badral Khurelbaatar
 
Ogogdliin sangiin zohion baiguulalt lekts
Ogogdliin sangiin zohion baiguulalt lektsOgogdliin sangiin zohion baiguulalt lekts
Ogogdliin sangiin zohion baiguulalt lektsАлдарболд Э.
 
өгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэсөгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэсБямбаа Авирмэд
 
Day 1 database
Day 1   databaseDay 1   database
Day 1 databaseETC
 
U.cs101 алгоритм программчлал-1(1)
U.cs101   алгоритм программчлал-1(1)U.cs101   алгоритм программчлал-1(1)
U.cs101 алгоритм программчлал-1(1)Badral Khurelbaatar
 
мэдээллийн системийг хөгжүүлэх
мэдээллийн системийг хөгжүүлэхмэдээллийн системийг хөгжүүлэх
мэдээллийн системийг хөгжүүлэхKhishighuu Myanganbuu
 

Was ist angesagt? (20)

Sw203 Lecture5 Class Acess Modifiers
Sw203 Lecture5 Class Acess ModifiersSw203 Lecture5 Class Acess Modifiers
Sw203 Lecture5 Class Acess Modifiers
 
Lec5 angi
Lec5 angiLec5 angi
Lec5 angi
 
програм хангамжийн чанарын инженерчлэл
програм хангамжийн чанарын инженерчлэл програм хангамжийн чанарын инженерчлэл
програм хангамжийн чанарын инженерчлэл
 
User requirements
User requirementsUser requirements
User requirements
 
U.cs101 алгоритм программчлал-3
U.cs101   алгоритм программчлал-3U.cs101   алгоритм программчлал-3
U.cs101 алгоритм программчлал-3
 
It101 9
It101 9It101 9
It101 9
 
It101 lab9
It101 lab9It101 lab9
It101 lab9
 
Ogogdliin sangiin zohion baiguulalt lekts
Ogogdliin sangiin zohion baiguulalt lektsOgogdliin sangiin zohion baiguulalt lekts
Ogogdliin sangiin zohion baiguulalt lekts
 
Ood lesson5
Ood lesson5Ood lesson5
Ood lesson5
 
өгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэсөгөгдлийн сангийн системийн үндэс
өгөгдлийн сангийн системийн үндэс
 
C cons
C consC cons
C cons
 
It101 16
It101 16It101 16
It101 16
 
Day 1 database
Day 1   databaseDay 1   database
Day 1 database
 
It101 7
It101 7It101 7
It101 7
 
Sw203 Lecture10 Polymorphism
Sw203 Lecture10 PolymorphismSw203 Lecture10 Polymorphism
Sw203 Lecture10 Polymorphism
 
U.cs101 алгоритм программчлал-1(1)
U.cs101   алгоритм программчлал-1(1)U.cs101   алгоритм программчлал-1(1)
U.cs101 алгоритм программчлал-1(1)
 
CS203 Лекц02 Oop
CS203 Лекц02  OopCS203 Лекц02  Oop
CS203 Лекц02 Oop
 
Sw203 Lecture6 Inheritance
Sw203 Lecture6 InheritanceSw203 Lecture6 Inheritance
Sw203 Lecture6 Inheritance
 
Sw203 Lecture4 Class Object
Sw203 Lecture4  Class ObjectSw203 Lecture4  Class Object
Sw203 Lecture4 Class Object
 
мэдээллийн системийг хөгжүүлэх
мэдээллийн системийг хөгжүүлэхмэдээллийн системийг хөгжүүлэх
мэдээллийн системийг хөгжүүлэх
 

Ähnlich wie Ood lesson6 class (16)

Lab 16
Lab 16Lab 16
Lab 16
 
Ooad
OoadOoad
Ooad
 
Lecture5 6
Lecture5 6Lecture5 6
Lecture5 6
 
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
 
3
33
3
 
33
3333
33
 
ОХШЗ - Бие Даалт
ОХШЗ - Бие ДаалтОХШЗ - Бие Даалт
ОХШЗ - Бие Даалт
 
Лекц 6 - 7
Лекц 6 - 7Лекц 6 - 7
Лекц 6 - 7
 
Pp Lect2 1
Pp Lect2 1Pp Lect2 1
Pp Lect2 1
 

Mehr von International Ulaanbaatar University

Mehr von 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 lesson10 statechart
Ood lesson10 statechartOod lesson10 statechart
Ood lesson10 statechart
 
Ood lesson3
Ood lesson3Ood lesson3
Ood lesson3
 
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
 

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

Hinweis der Redaktion

  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.