Object-oriented System Analysis
and Design
Лекц №4. UML ба т нийг дэмждэг хэрэгсл дүү үү
UML гэж юу вэ?
• UML (Unified Modeling Language –
Нэгдсэн загварчлалын хэл) нь Объект
хандалтат програм хангамжийн
инженерчлэлд хамгийн түгээмэл
хэрэглэгддэг загварчлалын хэл юм.
• OBM(Object Management Group)–ээс
стандартчлагдсан.
Unified Modeling Language
UML нь Grady Booch, James Rumbaugh болон Ivar Jacobson нарын
бүтээл юм. Өөрөөр хэлбэл тэд анх санаачлагдчид нь юм. Испаниар
“Гурван найз” (the Three Amigos) гэж нэрлэгддэг эдгээр залуус 1990-ээд
оны эхэн хүртэл тус тусдаа өөр өөрийн арга зүй, төлөвлөгөө,
санаагаараа Объект хандлагат шинжилгээ загварлчлал дээр ажиллаж
байжээ. 1994 онд James Rumbaugh нь Grady Booch-ийн ажилладаг
байсан “Rational Software” корпорацид ажилчнаар орж, харин Jacobson
нэг жилийн дараа тэдэнтэй нэгдсэнээр 1995 онд тэд UML буюу нэгдсэн
загварчилгааны хэлийг үүсгэн бий болгожээ. Үүнд:
Booch: “cloud” диаграммыг санаачилсан
Rumbaugh:Object Modeling Technique (OMT)-ийг үүсгэн байгуулсан
Jacobson: анхны Use Case диаграмыг хэрэглээнд нэвтрүүлсэн Object
Oriented Software Engineering (OOSE)-ийг үүсгэн байгуулсан
Т хэн х гжилүү ө
4
•1997 онд анхны хувилбар гарсан.
•UML 1.x
–Анхандаа доод т вшний загвар гаргахад ашиглагдажү
байсан
–UML 1.4.2 нь дэлхийн стандарт болсон
•ISO/IEC 19501:2005
•UML 2.x
–Диаграмуудыг б лг дэд хуваасан.ү үү
–UML 2.4.1 хамгийн с лийн хувилбарүү
Unified Modeling Language
5
Давуу талууд:
Албан ёсны хэл
–Элемент б р нь тодорхой утгатай. л ойлголцол сэхг йү Ү үү ү
Хураанг й товч тодорхойү
Цогц
Б рэн судлах н хц лийг хангасанү ө ө
Стандарт
Unified Modeling Language
UML нь алхам алхамаар нэмэгдүүлэн хөгжүүлэх процессын
үед тохиромжтой.
 UML нь системийг статик болон динамик шинж чанараар
нь дүрслэн харуулах боломжоор хангагдсан байдаг. Үүнд:
-Статик бүтцүүд: системийн классууд болон эд
ангиудийн дүрслэл
-Динамик бүтцүүд: объектуудын амьдралын цикл
ба тэдгээрийн харилцан хамаарлыг харуулсан
дүрслэлүүд
7
Шаардлага тодорхойлох диаграм
/Usecase Diagram/
8
Объект хандлагат аргаар систем хөгжүүлэх явцад
системийн хэрэгцээ шаардлагыг тодорхойлох үе шатанд
usecase диаграмыг байгуулдаг. /Бүтэцлэгдсэн аргаар систем
хөгжүүлэх үед шаардлагыг тодорхойлох тусгай график
хэрэгсэл ашигладаггүй хүүрнэсэн өгүүлбэрээр тодорхойлдог
болохыг бид өмнө авч үзсэн/
Usecase диаграм нь хэрэглэгч болон системийг хөгжүүлэх
багийг холбогч гүүр гэдэг утгаараа ямар ч хүнд
ойлгомжтойгоор дүрслэгддэг.
9
Данс эзэмшигч
Логин хийх
Данс нээх
Банкир
Баланс харах
Мөнгө авах
Мөнгө хадгалах
Рецейпт харах
Usecase диаграм
10
• Зорилго:
• Системийн функцуудыг тодорхойлох
• Системийн функцууд ба гадаад элементүүдийн
хоорондын холбоо хамаарлыг тодорхойлох
• Функцуудын хоорондын холбоо хамаарлыг
тодорхойлох
• Бүрэлдэхүүн хэсэг:
• Actor
• Usecase
• Usecase тодорхойлолт
Шаардлага тодорхойлох диаграм
/Usecase Diagram/
11
Usecase бүрэлдэхүүн хэсэг: Actor
Check Price
Purchase PC
Manage Inventory
Shop
keeper
<<include>>
Customer
Аctor: системийн эцсийн хэрэглэгч.
12
Usecase диаграмын онцлог
Usecase:
Ямар ч хүнд ойлгомжтойгоор
дүрслэгддэг
Нэг буюу түүнээс дээш тооны
Actors-оор идэвхиждэг
Нийт системийг дүрслэх хэд хэдэн
Use cases диаграмуудыг дүрслэх
шаардлагатай
Customer
Check Price
Purchase PC
Manage Inventory
Shop
keeper
<<include>>
13
Place an order
Check Price
<<include>>
Customer
Place a mail order
<<extend>>
<<extend>>: Өөр usecase-ийг өргөтгөх
<<include>>: Өөр usecase-ийг ашиглах эсвэл агуулах
USECASE-д дүрслэгдэх холбоосууд
14
Usecase тодорхойлолт
1 Overview
2 Eventflow
3 Relationship
4 Preconditions
5 Other information
1 Overview
2 Eventflow
3 Relationship
4 Preconditions
5 Other information
Usecase тодорхойлолт нь дараах хэсгүүдээс бүрддэг.
15
Usecase тодорхойлолт
1 Overview
Тухайн Usecase-ийн гүйцэтгэх үил ажиллагааг
цөөхөн өгүүлбэрээр товч илэрхийлэх
2 Eventflow
3 Relationship
4 Preconditions
5 Other information
1 Overview
Тухайн Usecase-ийн гүйцэтгэх үил ажиллагааг
цөөхөн өгүүлбэрээр товч илэрхийлэх
2 Eventflow
3 Relationship
4 Preconditions
5 Other information
Usecase тодорхойлолт нь дараах хэсгүүдээс бүрддэг.
16
Usecase тодорхойлолт
1 Overview
2 Eventflow
Системд тухайн Usecasе хэрхэн хэрэгжихийг илэрхийлэх
бөгөөд Usecase диаграмд Actor болон Usecase-ийг
холбосон шугамаар дүрсэлдэг.
Eventflow нь дараах 2 хэсэгтэй.
- Basic flow: Энэ нь тухайн Usecase-д хийгдэх
үндсэн үйлдлүүдийг дүрсэлдэг.
- Alternative flow: Алдаа гарах тохиолдолд
хийх үйлдлийг дүрсэлдэг.
3 Relationship
4 Preconditions
5 Other information
1 Overview
2 Eventflow
Системд тухайн Usecasе хэрхэн хэрэгжихийг илэрхийлэх
бөгөөд Usecase диаграмд Actor болон Usecase-ийг
холбосон шугамаар дүрсэлдэг.
Eventflow нь дараах 2 хэсэгтэй.
- Basic flow: Энэ нь тухайн Usecase-д хийгдэх
үндсэн үйлдлүүдийг дүрсэлдэг.
- Alternative flow: Алдаа гарах тохиолдолд
хийх үйлдлийг дүрсэлдэг.
3 Relationship
4 Preconditions
5 Other information
17
Usecase тодорхойлолт
1 Overview
2 Eventflow
3 Relationship
Тухайн Usecase бусад Usecase эсвэл Actor-той
холбоо хамааралтай эсэхийг дүрсэлнэ.
4 Preconditions
5 Other information
1 Overview
2 Eventflow
3 Relationship
Тухайн Usecase бусад Usecase эсвэл Actor-той
холбоо хамааралтай эсэхийг дүрсэлнэ.
4 Preconditions
5 Other information
Usecase тодорхойлолт нь дараах хэсгүүдээс бүрддэг.
18
Usecase тодорхойлолт
1 Overview
2 Eventflow
3 Relationship
4 Preconditions
Тухайн Usecase эхлэх урьдач нөхцлийг илэрхийлнэ.
5 Other information
1 Overview
2 Eventflow
3 Relationship
4 Preconditions
Тухайн Usecase эхлэх урьдач нөхцлийг илэрхийлнэ.
5 Other information
Usecase тодорхойлолт нь дараах хэсгүүдээс бүрддэг.
UML ашиглахад гарах хүндрэлүүд
19
 UML tools -үүд нь өндөр хүчин чадалтай компютерийг шаарддаг.
 UML tools -үүд нь үнэтэй байдаг. Үнэгүй(open source, free) байдаг.
Гэхдээ танд тэдгээр free хэрэгсэл UML-ын боломжыг бүрэн мэдрэх
боломж өгөхгүй. үнэхээр сайныг хэрэглэхийг хүсвэл илүү их мөнгө
төлөх хэрэгтэй болно.
 UML-ыг сурахад тиймч хялбар биш байдаг. UML диаграмуудын
тэмдэглэгээ нь үнэхээр их байдаг. Иймдээ ч анхлан суралцлагчдад
тэднийг ялгаж салган ойлгох, санасандаа хүргэн хэрэглэхэд
хүндэвтэр байдаг. UML нь өндөр түвшний хэл бөгөөд систем
хөгжүүлэх үндсэн мэдлэггүйгээр шууд энэ ашиглах нь алдаа гаргах
магадлал ихтэй байдаг.
 UML-ыг ашиглан системийг хөгжүүлэх тогтсон арга барил байдаггүй.
UML ашиглахад гарах хүндрэлүүд
20
Хүмүүс өөрсдийн хүссэн, зөв гэсэн арга барилаараа UML-
ыг ашигладаг. Энэ нь анхлан суралцагчдад багахан
төөрөгдөл авчирдаг байна.
UML-ыг хэрэглэгчдийн дунд хоёр нийтлэг арга барил
байдаг. Нэг хэсэг нь UML-ыг ашиглан загварчилж
дууссаныхаа дараа кодчилон, кодоо дууссаныхаа дараа
тест хийн алдаа, асуудал гарвал эргэн UML загвар дээрээ
сайжруулалт хийх замаар явдаг бол нөгөө хэсэг нь бага
зэрэг шинжилгээ зохиомж хийн түүнийгээ кодчилон дахин
шинжилгээ зохиомж хийн кодчилол гэх мэтээр бага багаар
шаардлагаа дуусган эцэст нь тестлэн алдаа засах замаар
явдаг байна . Та дээрх 2 аргын хүссэнээ хэрэглэх
боломжтой.

Ood lesson4

  • 1.
    Object-oriented System Analysis andDesign Лекц №4. UML ба т нийг дэмждэг хэрэгсл дүү үү
  • 2.
    UML гэж юувэ? • UML (Unified Modeling Language – Нэгдсэн загварчлалын хэл) нь Объект хандалтат програм хангамжийн инженерчлэлд хамгийн түгээмэл хэрэглэгддэг загварчлалын хэл юм. • OBM(Object Management Group)–ээс стандартчлагдсан.
  • 3.
    Unified Modeling Language UMLнь Grady Booch, James Rumbaugh болон Ivar Jacobson нарын бүтээл юм. Өөрөөр хэлбэл тэд анх санаачлагдчид нь юм. Испаниар “Гурван найз” (the Three Amigos) гэж нэрлэгддэг эдгээр залуус 1990-ээд оны эхэн хүртэл тус тусдаа өөр өөрийн арга зүй, төлөвлөгөө, санаагаараа Объект хандлагат шинжилгээ загварлчлал дээр ажиллаж байжээ. 1994 онд James Rumbaugh нь Grady Booch-ийн ажилладаг байсан “Rational Software” корпорацид ажилчнаар орж, харин Jacobson нэг жилийн дараа тэдэнтэй нэгдсэнээр 1995 онд тэд UML буюу нэгдсэн загварчилгааны хэлийг үүсгэн бий болгожээ. Үүнд: Booch: “cloud” диаграммыг санаачилсан Rumbaugh:Object Modeling Technique (OMT)-ийг үүсгэн байгуулсан Jacobson: анхны Use Case диаграмыг хэрэглээнд нэвтрүүлсэн Object Oriented Software Engineering (OOSE)-ийг үүсгэн байгуулсан
  • 4.
    Т хэн хгжилүү ө 4 •1997 онд анхны хувилбар гарсан. •UML 1.x –Анхандаа доод т вшний загвар гаргахад ашиглагдажү байсан –UML 1.4.2 нь дэлхийн стандарт болсон •ISO/IEC 19501:2005 •UML 2.x –Диаграмуудыг б лг дэд хуваасан.ү үү –UML 2.4.1 хамгийн с лийн хувилбарүү
  • 5.
    Unified Modeling Language 5 Давууталууд: Албан ёсны хэл –Элемент б р нь тодорхой утгатай. л ойлголцол сэхг йү Ү үү ү Хураанг й товч тодорхойү Цогц Б рэн судлах н хц лийг хангасанү ө ө Стандарт
  • 6.
    Unified Modeling Language UMLнь алхам алхамаар нэмэгдүүлэн хөгжүүлэх процессын үед тохиромжтой.  UML нь системийг статик болон динамик шинж чанараар нь дүрслэн харуулах боломжоор хангагдсан байдаг. Үүнд: -Статик бүтцүүд: системийн классууд болон эд ангиудийн дүрслэл -Динамик бүтцүүд: объектуудын амьдралын цикл ба тэдгээрийн харилцан хамаарлыг харуулсан дүрслэлүүд
  • 7.
  • 8.
    Шаардлага тодорхойлох диаграм /UsecaseDiagram/ 8 Объект хандлагат аргаар систем хөгжүүлэх явцад системийн хэрэгцээ шаардлагыг тодорхойлох үе шатанд usecase диаграмыг байгуулдаг. /Бүтэцлэгдсэн аргаар систем хөгжүүлэх үед шаардлагыг тодорхойлох тусгай график хэрэгсэл ашигладаггүй хүүрнэсэн өгүүлбэрээр тодорхойлдог болохыг бид өмнө авч үзсэн/ Usecase диаграм нь хэрэглэгч болон системийг хөгжүүлэх багийг холбогч гүүр гэдэг утгаараа ямар ч хүнд ойлгомжтойгоор дүрслэгддэг.
  • 9.
    9 Данс эзэмшигч Логин хийх Данснээх Банкир Баланс харах Мөнгө авах Мөнгө хадгалах Рецейпт харах Usecase диаграм
  • 10.
    10 • Зорилго: • Системийнфункцуудыг тодорхойлох • Системийн функцууд ба гадаад элементүүдийн хоорондын холбоо хамаарлыг тодорхойлох • Функцуудын хоорондын холбоо хамаарлыг тодорхойлох • Бүрэлдэхүүн хэсэг: • Actor • Usecase • Usecase тодорхойлолт Шаардлага тодорхойлох диаграм /Usecase Diagram/
  • 11.
    11 Usecase бүрэлдэхүүн хэсэг:Actor Check Price Purchase PC Manage Inventory Shop keeper <<include>> Customer Аctor: системийн эцсийн хэрэглэгч.
  • 12.
    12 Usecase диаграмын онцлог Usecase: Ямарч хүнд ойлгомжтойгоор дүрслэгддэг Нэг буюу түүнээс дээш тооны Actors-оор идэвхиждэг Нийт системийг дүрслэх хэд хэдэн Use cases диаграмуудыг дүрслэх шаардлагатай Customer Check Price Purchase PC Manage Inventory Shop keeper <<include>>
  • 13.
    13 Place an order CheckPrice <<include>> Customer Place a mail order <<extend>> <<extend>>: Өөр usecase-ийг өргөтгөх <<include>>: Өөр usecase-ийг ашиглах эсвэл агуулах USECASE-д дүрслэгдэх холбоосууд
  • 14.
    14 Usecase тодорхойлолт 1 Overview 2Eventflow 3 Relationship 4 Preconditions 5 Other information 1 Overview 2 Eventflow 3 Relationship 4 Preconditions 5 Other information Usecase тодорхойлолт нь дараах хэсгүүдээс бүрддэг.
  • 15.
    15 Usecase тодорхойлолт 1 Overview ТухайнUsecase-ийн гүйцэтгэх үил ажиллагааг цөөхөн өгүүлбэрээр товч илэрхийлэх 2 Eventflow 3 Relationship 4 Preconditions 5 Other information 1 Overview Тухайн Usecase-ийн гүйцэтгэх үил ажиллагааг цөөхөн өгүүлбэрээр товч илэрхийлэх 2 Eventflow 3 Relationship 4 Preconditions 5 Other information Usecase тодорхойлолт нь дараах хэсгүүдээс бүрддэг.
  • 16.
    16 Usecase тодорхойлолт 1 Overview 2Eventflow Системд тухайн Usecasе хэрхэн хэрэгжихийг илэрхийлэх бөгөөд Usecase диаграмд Actor болон Usecase-ийг холбосон шугамаар дүрсэлдэг. Eventflow нь дараах 2 хэсэгтэй. - Basic flow: Энэ нь тухайн Usecase-д хийгдэх үндсэн үйлдлүүдийг дүрсэлдэг. - Alternative flow: Алдаа гарах тохиолдолд хийх үйлдлийг дүрсэлдэг. 3 Relationship 4 Preconditions 5 Other information 1 Overview 2 Eventflow Системд тухайн Usecasе хэрхэн хэрэгжихийг илэрхийлэх бөгөөд Usecase диаграмд Actor болон Usecase-ийг холбосон шугамаар дүрсэлдэг. Eventflow нь дараах 2 хэсэгтэй. - Basic flow: Энэ нь тухайн Usecase-д хийгдэх үндсэн үйлдлүүдийг дүрсэлдэг. - Alternative flow: Алдаа гарах тохиолдолд хийх үйлдлийг дүрсэлдэг. 3 Relationship 4 Preconditions 5 Other information
  • 17.
    17 Usecase тодорхойлолт 1 Overview 2Eventflow 3 Relationship Тухайн Usecase бусад Usecase эсвэл Actor-той холбоо хамааралтай эсэхийг дүрсэлнэ. 4 Preconditions 5 Other information 1 Overview 2 Eventflow 3 Relationship Тухайн Usecase бусад Usecase эсвэл Actor-той холбоо хамааралтай эсэхийг дүрсэлнэ. 4 Preconditions 5 Other information Usecase тодорхойлолт нь дараах хэсгүүдээс бүрддэг.
  • 18.
    18 Usecase тодорхойлолт 1 Overview 2Eventflow 3 Relationship 4 Preconditions Тухайн Usecase эхлэх урьдач нөхцлийг илэрхийлнэ. 5 Other information 1 Overview 2 Eventflow 3 Relationship 4 Preconditions Тухайн Usecase эхлэх урьдач нөхцлийг илэрхийлнэ. 5 Other information Usecase тодорхойлолт нь дараах хэсгүүдээс бүрддэг.
  • 19.
    UML ашиглахад гараххүндрэлүүд 19  UML tools -үүд нь өндөр хүчин чадалтай компютерийг шаарддаг.  UML tools -үүд нь үнэтэй байдаг. Үнэгүй(open source, free) байдаг. Гэхдээ танд тэдгээр free хэрэгсэл UML-ын боломжыг бүрэн мэдрэх боломж өгөхгүй. үнэхээр сайныг хэрэглэхийг хүсвэл илүү их мөнгө төлөх хэрэгтэй болно.  UML-ыг сурахад тиймч хялбар биш байдаг. UML диаграмуудын тэмдэглэгээ нь үнэхээр их байдаг. Иймдээ ч анхлан суралцлагчдад тэднийг ялгаж салган ойлгох, санасандаа хүргэн хэрэглэхэд хүндэвтэр байдаг. UML нь өндөр түвшний хэл бөгөөд систем хөгжүүлэх үндсэн мэдлэггүйгээр шууд энэ ашиглах нь алдаа гаргах магадлал ихтэй байдаг.  UML-ыг ашиглан системийг хөгжүүлэх тогтсон арга барил байдаггүй.
  • 20.
    UML ашиглахад гараххүндрэлүүд 20 Хүмүүс өөрсдийн хүссэн, зөв гэсэн арга барилаараа UML- ыг ашигладаг. Энэ нь анхлан суралцагчдад багахан төөрөгдөл авчирдаг байна. UML-ыг хэрэглэгчдийн дунд хоёр нийтлэг арга барил байдаг. Нэг хэсэг нь UML-ыг ашиглан загварчилж дууссаныхаа дараа кодчилон, кодоо дууссаныхаа дараа тест хийн алдаа, асуудал гарвал эргэн UML загвар дээрээ сайжруулалт хийх замаар явдаг бол нөгөө хэсэг нь бага зэрэг шинжилгээ зохиомж хийн түүнийгээ кодчилон дахин шинжилгээ зохиомж хийн кодчилол гэх мэтээр бага багаар шаардлагаа дуусган эцэст нь тестлэн алдаа засах замаар явдаг байна . Та дээрх 2 аргын хүссэнээ хэрэглэх боломжтой.