Uml-д ямар төрлийн загварууд байдаг. UML хэлний ерөнхий шинж чанар. Харилцааны тойм диаграммууд

Windows Phone-д зориулагдсан 14.03.2022
Windows Phone-д зориулагдсан

UML диаграм нь төрөл бүрийн програм хангамжийг хөгжүүлэхэд объектын загварчлалд зориулагдсан тусгай график дүрслэлийн хэл юм. Энэ хэл нь өргөн хүрээтэй бөгөөд системийн хийсвэр загварыг бий болгохын тулд янз бүрийн график тэмдэглэгээг ашигладаг нээлттэй стандарт юм. UML нь бүх төрлийн програм хангамжийн системийг тодорхойлох, дүрслэх, баримтжуулах, дизайн хийх боломжийг олгох зорилгоор бүтээгдсэн. UML диаграм нь өөрөө програмчлалын хэл биш боловч үүн дээр үндэслэн тусдаа код үүсгэх боломжийг олгодог гэдгийг тэмдэглэх нь зүйтэй.

Тэр яагаад хэрэгтэй байна вэ?

UML-ийн хэрэглээ нь бүх төрлийн программ хангамжийг загварчлах замаар дуусдаггүй. Мөн энэ хэлийг өнөөдөр янз бүрийн бизнесийн үйл явцыг загварчлах, системийн дизайн хийх, зохион байгуулалтын бүтцийг харуулахад идэвхтэй ашиглаж байна.

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

Ийм графикийн хэд хэдэн төрөл байдаг гэдгийг тэмдэглэх нь зүйтэй.

ангийн диаграм

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

Ийм диаграммыг хэрхэн ашиглахаас хамааран хэд хэдэн үзэл бодол байдгийг тэмдэглэх нь зүйтэй.

  • Үзэл баримтлал. Энэ тохиолдолд UML ангиллын диаграмм нь тодорхой субьектийн загварыг тайлбарлах бөгөөд энэ нь зөвхөн хэрэглээний объектуудын ангиллыг өгдөг.
  • Тодорхой. Диаграммыг янз бүрийн мэдээллийн системийг зохион бүтээх явцад ашигладаг.
  • Хэрэгжилт. Ангийн диаграмм нь програмын кодонд шууд хэрэглэгддэг бүх төрлийн ангиудыг агуулдаг.

Бүрэлдэхүүн хэсгийн диаграм

UML бүрэлдэхүүн хэсгийн диаграм нь бүрэн статик бүтцийн диаграм юм. Энэ нь тодорхой програм хангамжийн системийг янз бүрийн бүтцийн бүрэлдэхүүн хэсгүүдэд хуваах, тэдгээрийн хоорондын хамаарлыг харуулах зорилготой юм. UML бүрэлдэхүүн хэсгийн диаграм нь бүх төрлийн загвар, номын сан, файл, багц, гүйцэтгэх файл болон бусад олон элементүүдийг ашиглаж болно.

Нийлмэл/нийлмэл бүтцийн диаграм

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

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

UML ангиллын диаграм болон нийлмэл бүтцийн диаграммыг нэгэн зэрэг ашиглах боломжтой гэдгийг тэмдэглэх нь зүйтэй.

Байршуулах диаграм

Энэ диаграммыг ажиллаж байгаа зангилаа, түүнчлэн тэдгээрт байрлуулсан бүх төрлийн олдворуудыг загварчлахад ашигладаг. UML 2-д олдворуудыг янз бүрийн цэгүүдэд байрлуулсан бол эхний хувилбарт зөвхөн бүрэлдэхүүн хэсгүүдийг байрлуулсан. Тиймээс UML байршуулалтын диаграммыг үндсэндээ хоёр дахь хувилбарт ашигладаг.

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

Объект диаграм

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

Багц диаграм

Энэхүү диаграмм нь бүтцийн шинж чанартай бөгөөд түүний үндсэн агуулга нь бүх төрлийн багцууд, түүнчлэн тэдгээрийн хоорондын харилцаа юм. Энэ тохиолдолд хэд хэдэн бүтцийн диаграммуудын хооронд хатуу тусгаарлалт байдаггүй бөгөөд үүний үр дүнд тэдгээрийн хэрэглээ нь зөвхөн тав тухтай байдлын үүднээс ашиглагддаг бөгөөд ямар ч семантик утгыг агуулдаггүй. Өөр өөр элементүүд нь бусад UML диаграммуудыг (жишээ нь: багц болон багц диаграммууд) өгч болно гэдгийг тэмдэглэх нь зүйтэй.

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

үйл ажиллагааны диаграм

UML үйл ажиллагааны диаграмм нь тодорхой үйл ажиллагааг хэд хэдэн бүрэлдэхүүн хэсэг болгон задлахыг харуулдаг. Энэ тохиолдолд "үйл ажиллагаа" гэсэн ойлголт нь тодорхой гүйцэтгэгдэх зан үйлийг зэрэгцээ хэлбэрээр тодорхойлох, түүнчлэн янз бүрийн дэд элементүүд - үүрлэсэн төрлийн үйл ажиллагаа, янз бүрийн үйлдлүүдийн урсгалаар нэгтгэгдсэн дараалсан гүйцэтгэлийг хэлнэ. тодорхой зангилааны гаралтыг нөгөөгийн оролт руу.

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

автомат диаграм

Энэ харагдацыг UML төлөвийн диаграм гэж нэрлэдэг бөгөөд арай өөрөөр нэрлэдэг. Энэ нь энгийн болон нийлмэл төлөв, түүнчлэн шилжилт бүхий танилцуулсан төрийн машинтай.

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

Луугийн диаграм гэж нэрлэгддэг диаграммыг ийм диаграммын аналог болгон ашиглаж болно.

Кейсийн диаграммыг ашиглах

UML Хэрэглээний Тохиолдлын Диаграм нь жүжигчдийн хооронд үүссэн бүх харилцааг, мөн өөр өөр хэрэглээний тохиолдлуудыг харуулдаг. Үүний гол үүрэг бол үйлчлүүлэгч, эцсийн хэрэглэгч эсвэл зарим хөгжүүлэгч тодорхой системийн зан байдал, үйл ажиллагааны талаар хамтран хэлэлцэх бүрэн хэрэгслээр хангах явдал юм.

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

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

Хэрэв UML-д ашиглалтын диаграммыг боловсруулж байгаа бол процедур нь хэрэглэгчтэй ажиллахдаа олж авсан текстийн тайлбараас эхэлдэг. Үүний зэрэгцээ, ашиглалтын загварыг бүрдүүлэх явцад янз бүрийн функциональ бус шаардлагуудыг бүрэн орхигдуулж, тэдэнд зориулж тусдаа баримт бичиг бүрдүүлсэн болохыг тэмдэглэх нь зүйтэй.

Харилцаа холбоо

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

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

Энэ төрөл нь хэд хэдэн объект, харилцааг объектын диаграммд хийсэнтэй ижил байдлаар захиалах туйлын чөлөөтэй форматаар ялгагдана. Хэрэв энэ үнэгүй форматтай мессежийн дарааллыг хадгалах шаардлагатай бол тэдгээрийг он цагийн дарааллаар дугаарлана. Энэхүү диаграммыг унших нь эхний мессеж 1.0-ээс эхэлж, дараа нь нэг объектоос нөгөө объект руу мессеж дамжих чиглэлийн дагуу үргэлжилнэ.

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

дарааллын диаграм

UML дарааллын диаграм нь хэд хэдэн объектын хоорондын харилцан үйлчлэлийг харуулсан бөгөөд тэдгээр нь үүссэн цаг хугацааны дагуу эрэмблэгдсэн байдаг. Ийм диаграмм нь хэд хэдэн объектын хоорондын харилцан үйлчлэлийг цаг хугацааны дарааллаар харуулж байна. Тодруулбал, энэ нь харилцан үйлчлэлд оролцож буй бүх объект, мөн тэдний солилцсон мессежийн бүрэн дарааллыг харуулдаг.

Энэ тохиолдолд гол элементүүд нь янз бүрийн объектын тэмдэглэгээ, түүнчлэн тодорхой объектын үйл ажиллагаа эсвэл түүний зарим функцийг гүйцэтгэх цаг хугацаа, тэгш өнцөгтүүдийг харуулсан босоо шугамууд юм.

Хамтын ажиллагааны диаграм

Энэ төрлийн диаграм нь мессежийн орчуулгын дарааллаас хийсвэрлэн хэд хэдэн объектын хоорондын харилцан үйлчлэлийг харуулах боломжийг олгодог. Компакт хэлбэрийн энэ төрлийн диаграммууд нь тодорхой объектын дамжуулсан болон хүлээн авсан бүх мессеж, түүнчлэн эдгээр мессежийн форматыг харуулдаг.

Дарааллын диаграммууд болон холбооны диаграммууд нь ижил процедурын өөр өөр дүр төрх тул Rational Rose нь дарааллын диаграмм эсвэл эсрэгээр нь харилцааны дарааллын диаграммыг үүсгэх боломжийг олгодог бөгөөд тэдгээрийг автоматаар бүрэн синхрончлох боломжийг олгодог.

Харилцааны тойм диаграммууд

Эдгээр нь UML диаграммууд бөгөөд үйл ажиллагааны диаграммын төрөлд хамаарах ба дарааллын элементүүд болон хяналтын урсгалын бүтцийг хоёуланг нь багтаасан болно.

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

Цагийн диаграм

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

Ямар ашиг тустай вэ?

UML ашиглалтын диаграм болон бусад зүйлийг ялгах хэд хэдэн давуу талыг тэмдэглэх нь зүйтэй.

  • Хэл нь объект хандалтат бөгөөд үүний үр дүнд хийсэн дүн шинжилгээ, дизайны үр дүнг тайлбарлах технологи нь орчин үеийн бүх төрлийн объект хандалтат хэл дээрх програмчлалын аргуудтай утгын хувьд ойрхон байдаг.
  • Энэ хэлийг ашиглан системийг бараг бүх боломжит өнцгөөс дүрсэлж болох бөгөөд түүний зан үйлийн янз бүрийн талыг ижил аргаар дүрсэлсэн болно.
  • Бүх диаграммыг синтакстай нь харьцангуй хурдан танилцсан ч уншихад харьцангуй хялбар байдаг.
  • UML нь зөвхөн програм хангамжийн инженерчлэлд төдийгүй өөрийн график, текстийн хэвшмэл ойлголтыг өргөжүүлэх боломжийг олгодог.
  • Хэл нь нэлээд өргөн тархсан бөгөөд нэлээд идэвхтэй хөгжиж байна.

Алдаа дутагдал

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

  • илүүдэл. Ихэнх тохиолдолд шүүмжлэгчид UML нь хэтэрхий том, нарийн төвөгтэй гэж хэлдэг бөгөөд энэ нь ихэвчлэн үндэслэлгүй байдаг. Энэ нь маш олон илүүдэл буюу бараг хэрэггүй барилга байгууламж, диаграммуудыг багтаасан бөгөөд ихэнхдээ ийм шүүмжлэл нь эхний хувилбар биш харин хоёр дахь хувилбарт ордог, учир нь шинэчилсэн найруулгад "хорооны боловсруулсан" буултууд илүү их байдаг.
  • Семантик дахь янз бүрийн алдаа. UML нь өөрөө, англи, OCL хоёрын хослолоор тодорхойлогддог тул албан ёсны тайлбарын техникээр тодорхойлогддог хэлнүүдэд байдаг хөшүүн чанар байхгүй. Зарим тохиолдолд OCL, UML, англи хэлний хийсвэр синтакс нь хоорондоо зөрчилдөж эхэлдэг бол бусад тохиолдолд тэдгээр нь бүрэн бус байдаг. Хэлний тайлбарын алдаа нь хэрэглэгчид болон хэрэгсэл нийлүүлэгчдэд хоёуланд нь нөлөөлж, эцэст нь янз бүрийн техникийн шинж чанарыг харьцах өвөрмөц аргаас шалтгаалан багаж хэрэгсэлд нийцэхгүй байдалд хүргэдэг.
  • Хэрэгжүүлэх, судлах явцад тулгарч буй асуудлууд. Дээр дурдсан бүх бэрхшээлүүд нь UML-ийг хэрэгжүүлэх, сурах явцад тодорхой бэрхшээлийг үүсгэдэг бөгөөд энэ нь ялангуяа удирдлага инженерүүдийг өмнөх ур чадвар дутмаг үед үүнийг ашиглахыг албадах үед үнэн юм.
  • Код нь кодыг тусгадаг. Өөр нэг үзэл бодол бол үзэсгэлэнтэй, сэтгэл татам загварууд биш, харин шууд ажилладаг системүүд, өөрөөр хэлбэл код нь төсөл юм. Энэ үзлийн дагуу программ хангамж бичих илүү үр дүнтэй аргыг боловсруулах шаардлагатай байна. UML нь гүйцэтгэх боломжтой эсвэл эх кодыг сэргээх загваруудыг эмхэтгэх арга барилд үнэлэгддэг. Гэвч бодит байдал дээр энэ нь хангалттай биш байж болох юм, учир нь хэл нь Turing-ийн бүрэн байдлын шинж чанаргүй бөгөөд үүсгэсэн код бүр нь UML орчуулгын хэрэглүүрийн таамаглаж, тодорхойлж чадах зүйлээр хязгаарлагдах болно.
  • Ачаалал таарахгүй байна. Энэ нэр томъёо нь тодорхой системийн оролт нь нөгөө системийн гаралтыг хүлээн авах чадваргүй болохыг тодорхойлох системийн шинжилгээний онолоос гаралтай. Аливаа стандарт тэмдэглэгээний нэгэн адил UML нь зарим системийг бусдаас илүү үр ашигтай, товч байдлаар илэрхийлж чаддаг. Тиймээс хөгжүүлэгчид UML болон бусад програмчлалын хэлнүүдийн бүх давуу талыг нэхэхэд илүү тохиромжтой шийдлүүдэд илүү дуртай байдаг. Хөгжлийн хэл нь объектод чиглэсэн ортодокс сургаалын үндсэн зарчимд нийцэхгүй, өөрөөр хэлбэл OOP-ийн зарчмын дагуу ажиллахыг оролдохгүй бол энэ асуудал илүү тодорхой болно.
  • Олон талт байхыг хичээдэг. UML нь одоо байгаа аливаа боловсруулалтын хэлтэй нийцтэй байхыг эрмэлздэг ерөнхий зориулалттай загварчлалын хэл юм. Тодорхой төслийн хүрээнд дизайны баг эцсийн зорилгодоо хүрэхийн тулд энэ хэлний тохирох шинж чанарыг сонгох шаардлагатай. Нэмж дурдахад, тодорхой газар нутагт UML-ийн хэрэглээний хамрах хүрээг хязгаарлах боломжит арга замууд нь бүрэн боловсруулагдаагүй, гэхдээ өөрөө шүүмжлэлийн объект болж буй формализмаар дамждаг.

Тиймээс энэ хэлийг ашиглах нь бүх нөхцөл байдалд хамаарахгүй.

Тэмдэглэл: Энэ хичээлийн сэдэв нь UML - нэгдсэн загварчлалын хэл юм. Өмнөх лекцээр бид UML гэж юу болох, түүний түүх, зорилго, хэлийг ашиглах арга зам, тодорхойлолтын бүтэц, нэр томьёо, тэмдэглэгээний талаар ярилцсан. UML загвар нь диаграммуудын багц гэдгийг тэмдэглэсэн. Энэ лекцэнд бид ийм асуултуудыг авч үзэх болно: яагаад бидэнд хэд хэдэн төрлийн диаграм хэрэгтэй вэ; диаграммын төрлүүд; OOP болон дарааллын диаграмм

Энэ лекцийн үндсэн материалын хэлэлцүүлэг рүү шилжихээсээ өмнө яагаад ямар ч диаграммыг яагаад бүтээх болсон талаар ярилцъя. Аливаа системийн загварыг (зөвхөн програм хангамж төдийгүй) хөгжүүлэх нь түүнийг бий болгох, шинэчлэхээс өмнө үргэлж байдаг. Энэ нь наад зах нь асуудлыг шийдэж байгааг илүү тодорхой төсөөлөхөд зайлшгүй шаардлагатай. Бодлоготой загварууд нь хөгжүүлэлтийн баг доторх харилцан үйлчлэл, үйлчлүүлэгчтэй харилцан ойлголцоход маш чухал юм. Эцсийн эцэст, энэ нь төслийг кодоор хэрэгжүүлэхээс өмнө "архитектурын хувьд нийцтэй" эсэхийг шалгах боломжийг олгодог.

Бид нарийн төвөгтэй системүүдийн загваруудыг бүтээдэг, учир нь бид тэдгээрийг бүрэн дүрсэлж чадахгүй, "тэдгээрийг нэг дор хараарай". Тиймээс, бид зөвхөн тодорхой ажилд зайлшгүй шаардлагатай системийн шинж чанаруудыг ялгаж, эдгээр шинж чанарыг тусгасан түүний загварыг бий болгодог. Объект хандалтат шинжилгээний арга нь бодит цогц системийг хамгийн тохиромжтой байдлаар дүрслэх боломжийг олгодог. Гэвч системүүд илүү төвөгтэй болж байгаа тул сайн симуляцийн технологи хэрэгтэй болно. Өмнөх лекц дээр хэлсэнчлэн нэгдсэн системийг ийм "стандарт" технологи болгон ашигладаг. загварчлах хэл(Нэгдсэн загварчлалын хэл, UML) нь системийн тодорхойлолт, дүрслэл, дизайн, баримтжуулалтад зориулагдсан график хэл юм. UML-ийг ашигласнаар та зөвхөн түүний үзэл баримтлалыг төдийгүй хэрэгжилтийн онцлог шинж чанаруудыг тусгасан системийн нарийвчилсан загварыг боловсруулж болно. UML загварын хүрээнд системийн талаархи бүх дүрслэлийг диаграмм гэж нэрлэгддэг тусгай график бүтэц хэлбэрээр тогтоодог.

Анхаарна уу. Бид бүгдийг нь авч үзэхгүй, гэхдээ зөвхөн зарим төрлийн графикуудыг авч үзэх болно. Жишээлбэл, энэхүү лекцэд бүрэлдэхүүн хэсгийн диаграмыг тусгаагүй бөгөөд энэ нь диаграмын төрлүүдийн товч тойм юм. Тодорхой хэрэглээний загварт зориулсан диаграмын төрлүүдийн тоо ямар ч байдлаар хязгаарлагдахгүй. Энгийн хэрэглээний хувьд бүх төрлийн диаграммыг үл хамаарах зүйлгүйгээр бүтээх шаардлагагүй. Тэдгээрийн зарим нь зүгээр л байхгүй байж магадгүй бөгөөд энэ баримтыг алдаа гэж үзэхгүй. Тодорхой төрлийн диаграмм байгаа эсэх нь тухайн төслийн онцлогоос хамаарна гэдгийг ойлгох нь чухал. Бусад төрлийн диаграммуудын талаарх мэдээллийг (энд дурдаагүй) UML стандартаас олж болно.

Яагаад танд олон төрлийн график хэрэгтэй байна вэ?

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

Систем- үйл ажиллагааны нийтлэг зорилгод нэгдсэн харилцан уялдаатай хяналттай дэд системүүдийн багц.

Тиймээ, тийм ч мэдээлэлгүй. Тэгвэл дэд систем гэж юу вэ? Нөхцөл байдлыг тодруулахын тулд сонгодог зохиол руу хандъя:

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

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

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

Мөн тийм ч тодорхой биш, гэхдээ илүү сайн. "Хүний" хэлээр ярих юм бол уг системийг харьцангуй бие даах чадвартай, илүү энгийн аж ахуйн нэгжүүдийн багц хэлбэрээр төлөөлдөг. Үүнийг бид программыг боловсруулах явцад стандарт "шоо" буюу визуал бүрэлдэхүүн хэсгүүдээс график интерфэйсийг хэрхэн бүтээдэг, эсвэл програмын текст өөрөө функцийн дагуу нэгтгэсэн дэд программуудыг агуулсан модулиудад хэрхэн хуваагддагтай харьцуулж болно. онцлогтой бөгөөд тэдгээрийг дараах программуудад дахин ашиглах боломжтой.

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

Загвар- энэ нь тодорхой (материаллаг эсвэл биш) объект бөгөөд энэ ажилд зөвхөн системийн хамгийн чухал шинж чанарыг харуулдаг. Загварууд нь биет болон биет бус, хиймэл ба байгалийн, гоёл чимэглэлийн болон математикийн...

Зарим жишээ хэлье. Бидний багадаа ийм хүсэл тэмүүлэлтэйгээр тоглож байсан бидний сайн мэдэх хуванцар тоглоомон машинууд бол юу ч биш юм. материал хиймэл гоёл чимэглэлийнжинхэнэ машины загвар. Мэдээжийн хэрэг, ийм "машин" -д хөдөлгүүр байхгүй, бид түүний савыг бензинээр дүүргэдэггүй, хурдны хайрцаг нь ажиллахгүй (түүнээс гадна энэ нь огт байхгүй), гэхдээ загвар болохын хувьд энэ тоглоом нь үүргээ бүрэн гүйцэтгэдэг. : энэ нь хүүхдэд машины тухай ойлголт өгдөг, учир нь энэ нь дөрвөн дугуй, их бие, хаалга, цонх, жолоодох чадвар гэх мэт онцлог шинж чанаруудыг харуулдаг.

Эмнэлгийн судалгаанд амьтанд хийсэн туршилт нь ихэвчлэн эмнэлзүйн туршилтыг хүн дээр хийхээс өмнө хийгддэг. Энэ тохиолдолд амьтан үүрэг гүйцэтгэдэг материаллаг байгалийнхүний ​​загварууд.

Дээр үзүүлсэн тэгшитгэл нь мөн загвар боловч энэ нь математик загвар бөгөөд таталцлын нөлөөгөөр материаллаг цэгийн хөдөлгөөнийг дүрсэлдэг.

Диаграм гэж юу болохыг хэлэх л үлдлээ. Диаграмэлементийн багцын график дүрслэл юм. Ихэвчлэн орой (байгууллага) ба ирмэгүүд (харилцаа) бүхий график хэлбэрээр дүрслэгддэг. Диаграмын олон жишээ бий. Энэ бол бид бүгдэд сургуулийн жилээс танил болсон блок диаграмм бөгөөд хэрэглэгчийн гарын авлагаас харж болох төрөл бүрийн тоног төхөөрөмж суурилуулах диаграммууд, мөн дискэн дээрх мод командыг ажиллуулснаар харж болох файлууд болон лавлахуудын мод юм. Windows консол болон бусад олон. Өдөр тутмын амьдралд диаграмууд биднийг бүх талаас нь хүрээлж байдаг, учир нь зураг нь текстээс илүү хялбар байдаг.

Гэхдээ програм хангамжийн дизайн руу буцах (зөвхөн биш). Түүнээс хойш энэ салбарт диаграммыг ашигласнаар та системийг өөр өөр өнцгөөс харж болно. Диаграммуудын нэг нь, жишээлбэл, хэрэглэгчийн системтэй харилцах харилцааг, нөгөө нь үйл ажиллагааны явцад системийн төлөв байдлын өөрчлөлтийг, гурав дахь нь системийн элементүүдийн хоорондын харилцан үйлчлэл гэх мэтийг дүрсэлж болно. системийг жижиг, бараг бие даасан загваруудын иж бүрдэл болгон дүрсэлж болох ба диаграмм хэлбэрээр дүрсэлж болох бөгөөд тэдгээрийн аль нь ч системийг дүрсэлж, түүний бүрэн дүр зургийг авахад хангалтгүй, учир нь тэдгээр нь тус бүр нь системийн үйл ажиллагааны тодорхой тал дээр анхаарлаа төвлөрүүлдэг. ялгаатай илэрхийлдэг хийсвэрлэх түвшин. Өөрөөр хэлбэл, загвар бүр нь боловсруулж буй системийн талаархи тодорхой, тодорхой үзэл бодолтой нийцдэг.

Өмнөх догол мөрөнд бид загвар гэсэн ойлголтод маш сул байсан ч дээрх тодорхойлолтуудын хүрээнд үүнийг ойлгох хэрэгтэй. Ганц диаграм нь загвар биш юм. Диаграмм нь зөвхөн загварыг дүрслэн харуулах хэрэгсэл бөгөөд энэ хоёрыг ялгах хэрэгтэй. Зөвхөн схемийн багц нь системийн загварыг бүрдүүлдэгбөгөөд үүнийг хамгийн бүрэн дүрсэлсэн боловч контекстээс хасагдаагүй нэг диаграмм биш юм.

Графикийн төрлүүд

UML 1.5 тодорхойлсон арван хоёр төрлийн графикгурван бүлэгт хуваагдана:

  • дөрвөн төрлийн диаграммууд нь хэрэглээний статик бүтцийг илэрхийлдэг;
  • тав нь системийн зан үйлийн талыг илэрхийлдэг;
  • Гурав нь системийн үйл ажиллагааны физик талыг илэрхийлдэг (хэрэгжүүлэх диаграмм).

UML 2.1-ийн одоогийн хувилбарт тийм ч их өөрчлөлт ороогүй байна. Диаграммууд гадаад төрхөөрөө бага зэрэг өөрчлөгдсөн (хүрээ болон бусад харааны сайжруулалт гарч ирсэн), тэмдэглэгээ бага зэрэг сайжирч, зарим диаграммууд шинэ нэрс авсан.

Гэсэн хэдий ч тодорхой тоо каноник диаграммуудЭнэ нь бидний хувьд тийм ч чухал биш, учир нь бид бүгдийг нь авч үзэхгүй, зөвхөн заримыг нь авч үзэх болно - учир нь тодорхой хэрэглээний тодорхой загварт зориулсан диаграмын төрлүүдийн тоог хатуу тогтоогоогүй байна. Энгийн хэрэглээний хувьд бүх диаграммыг үл хамаарах зүйлгүйгээр бүтээх шаардлагагүй. Жишээлбэл, орон нутгийн хэрэглээний хувьд байршуулах диаграммыг бүтээх шаардлагагүй. Диаграммын жагсаалт нь боловсруулж буй төслийн онцлогоос хамаардаг бөгөөд үүнийг хөгжүүлэгч өөрөө тодорхойлдог гэдгийг ойлгох нь чухал юм. Хэрэв сониуч уншигч бүх UML диаграмын талаар мэдэхийг хүсч байвал бид түүнийг UML стандартад (http://www.omg.org/technology/documents/modeling_spec_catalog.htm#UML) шилжүүлэх болно. Энэхүү сургалтын зорилго нь UML-ийн бүх боломжуудыг тайлбарлах биш, харин зөвхөн энэ хэлийг нэвтрүүлэх, энэ технологийн талаар анхны ойлголт өгөх явдал гэдгийг санаарай.

Тиймээс бид ийм төрлийн графикуудыг товчхон авч үзэх болно:

  • Хэрэглээний тохиолдлын диаграм;
  • ангийн диаграмм;
  • объект диаграм;
  • дарааллын диаграмм;
  • харилцан үйлчлэлийн диаграмм;
  • төлөв байдлын диаграмм;
  • үйл ажиллагааны диаграм;
  • байрлуулах диаграм.

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

Тохиолдлын диаграмыг ашиглах

Аливаа (програм хангамжийг оруулаад) системийг ажлын явцад хүмүүс ашиглах ба / эсвэл бусад системтэй харьцах болно гэдгийг харгалзан боловсруулсан болно. Системийн ажлын явцад харилцан үйлчлэлцдэг байгууллагуудыг нэрлэдэг жүжигчид, мөн жүжигчин бүр системийг хатуу тодорхойлсон, урьдчилан таамаглаж болохуйц байдлаар ажиллахыг хүлээдэг. Эторын талаар илүү нарийн тодорхойлолт өгөхийг хичээцгээе. Үүнийг хийхийн тулд бид UML-д зориулсан гайхалтай харааны үгсийн санг ашигладаг Zicom Mentor:

Гектор (жүжигчин)- энэ нь урьд өмнө тохиолдсон зүйлс эсвэл аж ахуйн нэгжүүд (систем, дэд систем эсвэл анги) -тай харилцах үед гүйцэтгэдэг логик холбоотой үүргүүдийн багц юм. Жүжигчин нь тухайн аж ахуйн нэгжээс гадуур ямар нэг зүйлийг төлөөлдөг хүн эсвэл өөр систем, дэд систем, анги байж болно.

Графикийн хувьд векторыг аль нэгээр нь дүрсэлсэн байна " бяцхан хүн", бидний багадаа зурсан, манай гэр бүлийн гишүүдийг дүрсэлсэн зургуудтай төстэй, эсвэл харгалзах хэвшмэл ойлголт бүхий ангийн тэмдэг, зураг дээр үзүүлсэн шиг. Үзүүлэнгийн хоёр хэлбэр нь ижил утгатай бөгөөд диаграммд ашиглаж болно. "Хэвшмэл" хэлбэр нь системийн оролцогчдыг төлөөлөх эсвэл жүжигчнийг харуулах шаардлагатай шинж чанаруудтай тохиолдолд ихэвчлэн ашиглагддаг (Зураг 2.1).

Анхааралтай уншигч нэн даруй асуулт асууж болно: Яагаад жүжигчин биш Гектор вэ?? Бид санал нэг байна, “ектор” гэдэг үг орос хүний ​​чихийг жаахан зүсдэг. Үүнийг бид хэлэх болсон шалтгаан нь энгийн - Этор гэдэг үгнээс бүрддэг үйлдэл, энэ нь орчуулбал гэсэн үг үйлдэл. "ектор" гэдэг үгийн шууд орчуулга - жүжигчин- хэт урт, хэрэглэхэд эвгүй. Тиймээс бид цаашид ч хэлсээр байх болно.


Цагаан будаа. 2.1.

Яг л анхааралтай уншигч "урьдчилгаа" гэдэг үгийг "эктор" гэсэн тодорхойлолтонд анивчихыг анзаарсан. Энэ юу вэ? Хэрэв бид одоо ярьж байгаагаа санаж байвал энэ асуулт бидний сонирхлыг илүү татах болно Хэрэглээний тохиолдлын диаграм. Тэгэхээр,

Урьдчилсан нөхцөл (хэрэглэх тохиолдол)- хэрэглэгчийн байр сууринаас системийн зан үйлийн тодорхой талыг тайлбарлах (Butch).

Тодорхойлолт нь нэлээд ойлгомжтой бөгөөд бүрэн гүйцэд боловч үүнийг ашиглан илүү боловсронгуй болгож болно Zicom Mentor"ом:

ашиглах тохиолдол- Жүжигчний ажигласан үр дүнд хүргэх системээр гүйцэтгэсэн дараалсан үйл явдлуудын багцын тайлбар (хувилбаруудыг оруулаад). Хэрэглээний тохиолдол нь оролцогчид болон системийн хоорондын харилцан үйлчлэлийг дүрслэх замаар аж ахуйн нэгжийн зан төлөвийг илэрхийлдэг. Прецедент нь тодорхой үр дүнд "хэрхэн" хүрч байгааг харуулдаггүй, зөвхөн "юу" гэдгийг л харуулдаг.

Өмнөх зүйлсийг маш энгийн байдлаар - эллипс хэлбэрээр, дотор нь нэрийг нь зааж өгсөн болно. Хэрэглээний кейс болон жүжигчид шугамаар холбогдсон байна. Ихэнхдээ шугамын нэг төгсгөлд будаа дүрсэлдэг. 2.3

  • боловсруулж буй системийн зан төлөвт тавигдах ерөнхий шаардлагыг бүрдүүлэх;
  • системийн үзэл баримтлалын загварыг дараа нь нарийвчлан боловсруулах;
  • системийн хэрэглэгчид болон хэрэглэгчидтэй харилцах баримт бичгийг бэлтгэх.
  • UML нь OO системийг дүрслэх, дүрслэх, дизайн хийх, баримтжуулахад зориулагдсан нэгдсэн график загварчлалын хэл юм. UML нь OO аргад суурилсан PS загварчлалын үйл явцыг дэмжих, үзэл баримтлал ба програмын үзэл баримтлалын хоорондын уялдаа холбоог зохион байгуулах, нарийн төвөгтэй системийг масштабжуулах асуудлыг тусгах зорилготой юм. UML загваруудыг бизнесийн шинжилгээнээс эхлээд системийн засвар үйлчилгээ хүртэл программ хангамжийн амьдралын мөчлөгийн бүх үе шатанд ашигладаг. Төрөл бүрийн байгууллагууд UML-ийг асуудлын талбар, ашигласан технологиосоо хамааран өөр өөрийн арга замаар ашиглаж болно.

    UML-ийн товч түүх

    1990-ээд оны дунд үе гэхэд OO загварчлалын хэдэн арван аргыг янз бүрийн зохиогчид санал болгосон бөгөөд тус бүр өөрийн гэсэн график тэмдэглэгээг ашигласан. Үүний зэрэгцээ эдгээр аргуудын аль нь ч давуу талтай байсан ч хангалттай бүрэн гүйцэд PS загварыг бүтээх, "бүх талаас", өөрөөр хэлбэл шаардлагатай бүх төсөөллийг харуулах боломжийг олгосонгүй (1-р зүйлийг үзнэ үү). Түүнчлэн, OO загварчлалын стандарт байхгүй байгаа нь хөгжүүлэгчдэд хамгийн тохиромжтой аргыг сонгоход хүндрэл учруулж байсан нь програм хангамжийг хөгжүүлэхэд OO аргыг өргөнөөр ашиглахад саад болж байв.

    Объектийн технологи, мэдээллийн сангийн салбарт стандарт нэвтрүүлэх үүрэг бүхий байгууллага болох Объект Удирдлагын Групп (OMG) -ийн хүсэлтээр нэгдэл, стандартчиллын тулгамдсан асуудлыг OO-ийн хамгийн алдартай гурван аргын зохиогч Г.Бүүч шийдвэрлэсэн. , D. Rambo болон A. Jacobson нар хүчин чармайлтыг нэгтгэсэн UML хувилбар 1.1-ийг бүтээж, 1997 онд OMG стандарт болгон баталсан.

    UML бол хэл юм

    Аливаа хэл нь толь бичиг, үгсийг нэгтгэж, утга учиртай бүтээх дүрмээс бүрддэг. Тиймээс, ялангуяа UML програмчлалын хэлүүдийг зохион байгуулдаг. Үүний өвөрмөц онцлог нь хэлний үгсийн санг график элементүүдээр бүрдүүлдэг. График тэмдэг бүр нь тодорхой семантиктай байдаг тул нэг хөгжүүлэгчийн бүтээсэн загварыг нөгөө нь, мөн UML-ийг тайлбарладаг хэрэглүүрийг хоёрдмол утгагүй ойлгох боломжтой. Эндээс, тухайлбал, UML-д танилцуулсан PS загварыг OO програмчлалын хэл рүү (Java, C ++, VisualBasic гэх мэт) автоматаар хөрвүүлэх боломжтой, өөрөөр хэлбэл UML-ийг дэмждэг сайн харааны загварчлалын хэрэгслээр орчуулж болно. загвар бүтээх , бид мөн энэ загварт тохирох програмын кодын хоосон хэсгийг авах болно.

    UML бол арга биш хэл гэдгийг онцлон тэмдэглэх нь зүйтэй. Энэ нь ямар элементүүдээс загвар үүсгэх, тэдгээрийг хэрхэн уншихыг тайлбарласан боловч ямар загвар, ямар тохиолдолд боловсруулах талаар юу ч хэлээгүй. UML дээр суурилсан аргыг бий болгохын тулд үүнийг PS боловсруулах үйл явцын тайлбараар нэмж оруулах шаардлагатай. Ийм үйл явцын жишээ бол дараагийн өгүүллээр хэлэлцэх оновчтой нэгдсэн үйл явц юм.

    UML үгсийн сан

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

    Эссэнсзагваруудын гол элемент болох хийсвэрлэл юм. Бүтцийн (анги, интерфейс, бүрэлдэхүүн хэсэг, ашиглалтын тохиолдол, хамтын ажиллагаа, зангилаа), зан төлөвийн (харилцан, төлөв), бүлэглэл (багц) болон тайлбар (тайлбар) гэсэн дөрвөн төрлийн нэгж байдаг. Байгууллагын төрөл бүр өөрийн гэсэн график дүрслэлтэй байдаг. Диаграммыг судлахдаа аж ахуйн нэгжүүдийг нарийвчлан авч үзэх болно.

    Харилцаааж ахуйн нэгжүүдийн хоорондын янз бүрийн харилцааг харуулах. UML-д дараах төрлийн харилцааг тодорхойлсон.

    • ДонтолтЭнэ нь хоёр аж ахуйн нэгжийн хоорондын ийм харилцааг харуулж байгаа бөгөөд тэдгээрийн аль нэгнийх нь өөрчлөлт нь бие даасан - нөгөөгийнхөө семантикт нөлөөлж болно - хамааралтай. Хамаарал нь хараат нэгжээс бие даасан нэгж рүү чиглэсэн тасархай сумаар илэрхийлэгдэнэ.
    • ХолбооЭнэ нь нэг аж ахуйн нэгжийн объект нь нөгөөгийн объекттой холбоотой болохыг харуулсан бүтцийн харилцаа юм. Графикийн хувьд холбоо нь холбогдох байгууллагуудыг холбосон шугам хэлбэрээр харагдаж байна. Холбоо нь объектуудын хооронд шилжихэд ашиглагддаг. Жишээлбэл, "Захиалга" ба "Бүтээгдэхүүн" ангиудын хоорондын холбоог нэг талаас тодорхой дарааллаар заасан бүх бүтээгдэхүүнийг олох эсвэл нөгөө талаас энэ бүтээгдэхүүнийг агуулсан бүх захиалгыг олоход ашиглаж болно. Холбогдох хөтөлбөрүүд ийм навигацийг хангах механизмыг хэрэгжүүлэх ёстой нь тодорхой байна. Зөвхөн нэг чиглэлд навигаци хийх шаардлагатай бол холбооны төгсгөлд сумаар зааж өгнө. Холбооны онцгой тохиолдол бол нэгтгэх - "бүхэл" - "хэсэг" хэлбэрийн харилцаа юм. Графикийн хувьд энэ нь бүхэл бүтэн объектын ойролцоо төгсгөлд нь ромбоор тодорсон байна.
    • Ерөнхий ойлголтнь эцэг эх болон хүүхдийн аж ахуйн нэгжийн хоорондын харилцаа юм. Үндсэндээ энэ харилцаа нь анги, объектын өв залгамжлалын шинж чанарыг илэрхийлдэг. Ерөнхий ойлголтыг үндсэн нэгж рүү чиглэсэн гурвалжингаар төгссөн шугамаар харуулав. Хүүхэд эцэг эхийн бүтэц (шинж чанар), зан төлөвийг (арга) өвлөн авдаг боловч тэр үед шинэ бүтцийн элементүүд, шинэ аргуудтай байж болно. Байгууллага нь нэгээс олон эх байгууллагатай холбоотой үед UML нь олон өв залгамжлалыг зөвшөөрдөг.
    • Хэрэгжилт- зан үйлийн тодорхойлолтыг (интерфейс) тодорхойлсон аж ахуйн нэгжийн хоорондын харилцаа, энэ зан үйлийн хэрэгжилтийг тодорхойлсон байгууллага (анги, бүрэлдэхүүн хэсэг). Энэхүү хамаарлыг бүрэлдэхүүн хэсгүүдийн загварчлалд ихэвчлэн ашигладаг бөгөөд дараагийн нийтлэлүүдэд илүү дэлгэрэнгүй тайлбарлах болно.

    Диаграммууд. UML нь дараах диаграммуудыг өгдөг.

    • Системийн үйл ажиллагааг дүрсэлсэн диаграммууд:
      • Төрийн диаграммууд (Төрийн диаграммууд),
      • Үйл ажиллагааны диаграмм,
      • Объект диаграмм,
      • Дарааллын диаграммууд,
      • Хамтын ажиллагааны диаграмм;
    • Системийн биет хэрэгжилтийг тодорхойлсон диаграммууд:
      • Бүрэлдэхүүн хэсгүүдийн диаграмм;
      • Байршуулах диаграммууд.

    Загварын хяналтын харагдац. Багцууд.

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

    UML юу өгдөг.

    • багцуудыг тодруулах замаар нарийн төвөгтэй системийн шаталсан тодорхойлолт;
    • Хэрэглээний хэрэглүүрийг ашиглан системд тавигдах функциональ шаардлагыг албан ёсны болгох;
    • үйл ажиллагааны диаграмм, хувилбаруудыг байгуулах замаар системд тавигдах шаардлагыг нарийвчлан гаргах;
    • өгөгдлийн ангиудыг сонгох, ангиллын диаграм хэлбэрээр концепцийн өгөгдлийн загварыг бий болгох;
    • хэрэглэгчийн интерфэйсийг тодорхойлсон ангиудыг сонгох, дэлгэцийн навигацийн схемийг бий болгох;
    • системийн функцийг гүйцэтгэхэд объектуудын харилцан үйлчлэлийн үйл явцын тодорхойлолт;
    • үйл ажиллагаа, төлөв байдлын диаграм хэлбэрээр объектын зан үйлийн тодорхойлолт;
    • програм хангамжийн бүрэлдэхүүн хэсгүүдийн тодорхойлолт, тэдгээрийн интерфейсээр дамжуулан харилцан үйлчлэл;
    • системийн физик архитектурын тодорхойлолт.

    Мөн сүүлийн…

    UML-ийн бүх сэтгэл татам байдлыг үл харгалзан үүнийг харааны загварчлалын хэрэгсэлгүйгээр бодит PS загварчлалд ашиглахад хэцүү байх болно. Ийм хэрэгслүүд нь дэлгэцийн дэлгэц дээр диаграммуудыг хурдан харуулах, тэдгээрийг баримтжуулах, OO програмчлалын янз бүрийн хэл дээр програмын кодын хоосон хэсгийг үүсгэх, мэдээллийн сангийн схемийг үүсгэх боломжийг олгодог. Тэдгээрийн дийлэнх нь програмын кодыг дахин боловсруулах боломжийг багтаасан болно - програмын эх кодыг автоматаар шинжлэх замаар PS загварын тодорхой төсөөллийг сэргээх бөгөөд энэ нь загвар, кодууд хоорондоо нийцэж байгаа эсэхийг баталгаажуулах, өмнөх системийн ажиллагааг өвлөн авсан системийг зохион бүтээхэд маш чухал юм. .

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

    1.5.1. Хэрэглээний диаграм

    Хэрэглээний диаграм(хэрэглээний тохиолдлын диаграмм) нь системийн функциональ зорилгын хамгийн ерөнхий дүрслэл юм.

    Ашиглалтын диаграм нь загварчлалын гол асуултанд хариулахад зориулагдсан: систем нь гадаад ертөнцөд юу хийдэг вэ?

    Ашиглалтын диаграммд хоёр төрлийн үндсэн нэгжийг ашигладаг: ашиглалтын тохиолдол 1 ба жүжигчид 2, тэдгээрийн хооронд дараах үндсэн төрлийн харилцаа тогтоогдсон болно.

    • жүжигчин ба хэрэглээний тохиолдол 3 хоорондын холбоо;
    • жүжигчдийн хоорондын ерөнхий ойлголт 4 ;
    • хэрэглээний тохиолдлуудын хоорондох ерөнхий ойлголт 5 ;
    • Хэрэглээний тохиолдлуудын хоорондох хамаарал (янз бүрийн төрлийн) 6 .

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

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

    1.5.2. ангийн диаграм

    ангийн диаграм(ангиллын диаграмм) нь системийн бүтцийг дүрслэх үндсэн арга юм.

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

    Ангийн диаграммд нэг үндсэн төрлийн объектуудыг ашигладаг: 1-р анги (ангиллын олон тооны онцгой тохиолдлууд орно: интерфейс, анхдагч төрлүүд, холбооны анги болон бусад олон), тэдгээрийн хооронд дараахь үндсэн төрлийн харилцаа тогтоогддог.

    • 2-р ангийн хоорондох холбоо (олон нэмэлт дэлгэрэнгүй мэдээлэлтэй);
    • 3-р ангиудын хоорондох ерөнхий ойлголт;
    • 4-р анги, анги, интерфейс хоорондын хамаарал (янз бүрийн төрлийн).

    Ангийн диаграммд ашигласан тэмдэглэгээний зарим элементүүдийг доор үзүүлэв. Нарийвчилсан тайлбарыг 3-р бүлэгт өгсөн болно.

    1.5.3. автомат диаграм

    автомат диаграм(төрийн машины диаграмм) нь төлөвүүдийн тодорхой хуваарилалт, төлөв хоорондын шилжилтийн тайлбар дээр үндэслэн UML-д зан төлөвийг нарийвчлан тайлбарлах аргуудын нэг юм.

    Нэг ёсондоо автомат диаграммууд нь нэрнээс нь харахад олон нэмэлт мэдээлэл, нарийн ширийн зүйлсээр дүүрэн төлөвийн шилжилтийн график юм (4-р бүлгийг үзнэ үү).

    Автомат диаграммд нэг үндсэн төрлийн объектуудыг ашигладаг - төлөв 1 , нэг төрлийн харилцаа - шилжилт 2 , гэхдээ тэдгээрийн аль алинд нь маш олон сорт, онцгой тохиолдол, нэмэлт тэмдэглэгээг тодорхойлсон болно. Тэдгээрийг бүгдийг нь танилцуулах тоймд жагсаах нь утгагүй юм.

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

    1.5.4. үйл ажиллагааны диаграм

    үйл ажиллагааны диаграм(үйл ажиллагааны диаграмм) - хяналтын урсгал ба мэдээллийн урсгалын заалт дээр үндэслэн зан төлөвийг дүрслэх арга.

    Үйл ажиллагааны диаграмм нь хуучин сайн графиктай төстэй зан үйлийг дүрслэх өөр нэг арга юм. Гэсэн хэдий ч объект хандалтат хандлагад нийцсэн орчин үеийн тэмдэглэгээ, хамгийн чухал нь шинэ семантик бүрэлдэхүүн хэсэг (Петрийн сүлжээг чөлөөтэй тайлбарлах) учир UML үйл ажиллагааны диаграмм нь системийн үйл ажиллагааг дүрслэх хүчирхэг хэрэгсэл юм.

    Үйл ажиллагааны диаграммд нэг үндсэн төрлийн нэгжийг ашигладаг - үйлдэл 1, харилцааны нэг хэлбэр - шилжилт 2 (хяналт ба өгөгдөл дамжуулах). Мөн салаа, нэгдэх, холболт, салаа 3 гэх мэт байгууламжуудыг ашигладаг бөгөөд тэдгээр нь аж ахуйн нэгжтэй төстэй боловч тэдгээр нь үнэндээ тийм биш боловч олон газар хоорондын харилцааны зарим онцгой тохиолдлуудыг дүрслэх график арга юм. Үйл ажиллагааны диаграммын элементүүдийн семантикийг 4-р бүлэгт дэлгэрэнгүй авч үзсэн болно. Үйл ажиллагааны диаграммд ашигласан тэмдэглэгээний үндсэн элементүүдийг доор үзүүлэв.

    1.5.5. дарааллын диаграм

    дарааллын диаграм(дарааллын диаграмм) нь дамжуулагдсан мессежийн дарааллын заалт дээр үндэслэн системийн үйл ажиллагааг дүрслэх арга юм.

    Үнэн хэрэгтээ дарааллын диаграмм нь системийн тодорхой сессийн протоколын бичлэг (эсвэл ийм протоколын фрагмент) юм. Объект хандалтат програмчлалын хувьд ажиллах үеийн хамгийн чухал зүйл бол хамтран ажиллаж буй объектуудын хооронд мессеж дамжуулах явдал юм. Энэ диаграмм дээр гарч буй мессеж илгээх дараалал, иймээс нэр.

    Дарааллын диаграммд нэг үндсэн төрлийн объектуудыг ашигладаг - харилцан үйлчлэлийн ангилагч 1 (голчлон анги, бүрэлдэхүүн хэсэг ба оролцогчид), мөн нэг төрлийн харилцаа холбоо - мессеж солилцдог холболт 2 3 . Зурвас илгээх хэд хэдэн арга байдаг бөгөөд эдгээр нь график тэмдэглэгээнд харгалзах сум хэлбэрээр ялгаатай байдаг.

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

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

    Дараах зурагт дарааллын диаграммд ашигласан тэмдэглэгээний үндсэн элементүүдийг харуулав. Харьцаж буй объектуудыг өөрсдөө тодорхойлохын тулд стандарт тэмдэглэгээг ашигладаг - ангилагчийн жишээний нэртэй тэгш өнцөгт. Үүнээс гарч буй тасархай шугамыг амьдралын шугам (амьдралын шугам) гэж нэрлэдэг 4 . Энэ нь загвар дахь харилцааны тэмдэглэгээ биш, харин диаграммыг уншигчийг зөв чиглэлд чиглүүлэх зорилготой график тайлбар юм. Амьдралын шугам дээр наасан нарийн тууз хэлбэртэй дүрсүүд нь дууриамал объектуудын зураг биш юм. Энэ нь тухайн объектын гүйцэтгэл 5 буюу өөрөөр хэлбэл объектын идэвхжүүлэлт хийгдэх хугацааг харуулсан график тайлбар юм. Нийлмэл харилцан үйлчлэлийн үе шатууд (хосолсон фрагмент) 6 нь харилцан үйлчлэлийн протоколын алгоритмын талуудыг дарааллын диаграммд тусгах боломжийг олгодог. Дарааллын диаграмын тэмдэглэгээний талаарх дэлгэрэнгүй мэдээллийг 4-р бүлгээс үзнэ үү.

    1.5.6. Харилцааны диаграм

    Харилцааны диаграм(харилцаа холбооны диаграмм) - дарааллын диаграммтай семантикийн хувьд зан үйлийг дүрслэх арга.

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

    Тиймээс харилцаа холбооны диаграмм, түүнчлэн дарааллын диаграммд нэг үндсэн төрлийн объектуудыг ашигладаг - харилцан үйлчлэлийн ангилагч 1 ба нэг төрлийн харилцааны тохиолдол - холболт 2. Гэсэн хэдий ч энд онцлон цаг хугацаа биш, харин тодорхой тохиолдлуудын хоорондын харилцааны бүтцэд анхаарлаа хандуулдаг.

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

    1.5.7. Бүрэлдэхүүн хэсгийн диаграм

    Бүрэлдэхүүн хэсгийн диаграм(бүрэлдэхүүн хэсгийн диаграмм) - загварчилсан системийг бүрдүүлдэг модулиудын (логик эсвэл физик) хоорондын хамаарлыг харуулна.

    Бүрэлдэхүүн хэсгүүдийн диаграмм дахь объектуудын үндсэн төрөл нь бүрэлдэхүүн хэсгүүд өөрсдөө 1 , түүнчлэн интерфейсүүд 2 бөгөөд тэдгээрээр дамжуулан бүрэлдэхүүн хэсгүүдийн хоорондын хамаарлыг зааж өгдөг. Бүрэлдэхүүн хэсгүүдийн диаграммд дараахь хамаарлыг хэрэглэнэ.

    • бүрэлдэхүүн хэсгүүд болон интерфейсүүдийн хоорондох хэрэгжилт (бүрэлдэхүүн хэсэг нь интерфейсийг хэрэгжүүлдэг);
    • Бүрэлдэхүүн хэсгүүд болон интерфейсүүдийн хоорондын хамаарал (бүрэлдэхүүн нь интерфейсийг ашигладаг) 3 .

    Зураг дээр бүрэлдэхүүн хэсгийн диаграммд ашигласан тэмдэглэгээний үндсэн элементүүдийг харуулав. Нарийвчилсан тайлбарыг 3-р бүлэгт өгсөн болно.

    1.5.8. Байршлын диаграм

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

    Тиймээс, байршлын диаграммд бүрэлдэхүүн хэсгийн диаграммтай харьцуулахад хоёр төрлийн объектыг нэмж оруулсан болно: олдвор 1 , энэ нь 2-р бүрэлдэхүүн хэсэг ба зангилаа 3-ын хэрэгжилт (зангилааны төрлийг тодорхойлсон ангилагч эсвэл тодорхой жишээ байж болно), түүнчлэн зангилаа 4-ийн хоорондох холбоо хамаарал нь зангилаа нь ажиллах үед физикийн хувьд холбоотой болохыг харуулж байна.

    Зураг дээр байрлуулах диаграммд ашигласан тэмдэглэгээний үндсэн элементүүдийг харуулав. Нэг аж ахуйн нэгж нь нөгөө зүйлийн нэг хэсэг гэдгийг харуулахын тулд "байршуулах" хамаарлын хамаарлыг 5 ашиглана, эсвэл нэг аж ахуйн нэгжийн хэлбэрийг өөр аж ахуйн нэгжийн 6 дүрс дотор байрлуулна. Диаграммын дэлгэрэнгүй тайлбарыг 3-р бүлэгт өгсөн болно.

    UML буюу нэгдсэн загварчлалын хэл нь програм хангамж хөгжүүлэх чиглэлээр объектын загварчлалын график дүрслэлийн хэл юм. Гэхдээ UML-ийн хэрэглээ нь мэдээллийн технологиор хязгаарлагдахгүй бөгөөд UML-ийн практик хэрэглээний өөр нэг том талбар бол бизнесийн үйл явцын загварчлал, системийн дизайн, байгууллагын бүтцийн зураглал юм. UML нь програм хангамж хөгжүүлэгчдэд нийтлэг ойлголтыг илэрхийлэх график конвенцуудыг тохиролцож, дизайн, хөгжүүлэлтэд анхаарлаа төвлөрүүлэх боломжийг олгодог.

    UML-ийн ашиг тус

    • UML нь загварчилж буй системийн элементүүдэд график тэмдэг ашигладаг бөгөөд UML диаграммыг ойлгоход хялбар байдаг;
    • UML нь системийг янз бүрийн талыг харгалзан бараг бүх талаас нь тайлбарлах боломжийг олгодог;
    • UML нь объект хандалттай: дүн шинжилгээ хийх, бүтээх аргууд нь орчин үеийн OOP хэлүүдэд хэрэглэгддэг програмчлалын аргуудтай утгын хувьд ойрхон байдаг;
    • UML бол нээлттэй стандарт юм. Стандарт нь системийг дүрслэх хамгийн орчин үеийн шаардлагыг хангасан хувилбараас хувилбар руу хөгжиж, өөрчлөгддөг;
    • нэмэлт текст болон график төрлийг нэвтрүүлэх боломжийг олгодог өргөтгөлийн механизмыг агуулсан бөгөөд энэ нь зөвхөн мэдээллийн технологийн талбарт төдийгүй UML-г ашиглах боломжийг олгодог.

    UML диаграмын төрлүүд

    UML-д 14 төрлийн диаграмм байдаг. Тэдгээрийг 2 ангилалд хувааж болно:

    • бүтцийн, мэдээллийн бүтцийг төлөөлөх;
    • зан үйлийн, системийн зан төлөв, харилцан үйлчлэлийн янз бүрийн талуудыг төлөөлдөг. Зан үйлийн диаграммын тусдаа дэд зүйл нь харилцан үйлчлэлийн диаграммууд.

    UML диаграмын төрлүүдийн шатлал, ангийн диаграмаар дүрслэгдсэн

    Бүтцийн диаграммууд

    1. ангийн диаграмобъект хандалтат загварчлалын гол элемент юм. Энэ диаграмын тусламжтайгаар (үнэндээ дамжуулан ангиуд, тэд шинж чанарууд, аргууданги хоорондын хамаарал) нь домайн загвар болон загварчлагдсан системийн бүтцийг тайлбарладаг.
    2. Бүрэлдэхүүн хэсгийн диагрампрограмын кодыг том блок (бүтцийн бүрэлдэхүүн хэсэг) болгон хуваахыг харуулж, харуулна хамааралтэдний хооронд. Бүрэлдэхүүн хэсгүүд нь багц, модуль, номын сан, файл гэх мэт байж болно.
    3. объект диаграмтухайн цаг хугацааны үед симуляцийн системийн бүрэн буюу хэсэгчилсэн зүсэлтийг харуулна. Энэ нь ангиуд (объектууд), тэдгээрийн төлөв байдал (одоогийн шинж чанарын утгууд) болон тэдгээрийн хоорондын харилцааг илэрхийлдэг.
    4. Нийлмэл бүтцийн диаграмангиудын дотоод бүтэц, боломжтой бол энэ бүтцийн элементүүдийн хоорондын харилцан үйлчлэлийг харуулдаг.
    5. Багц диаграмбагцууд болон тэдгээрийн хоорондын харилцааг харуулдаг. Энэ төрлийн диаграм нь загварын элементүүдийг тодорхой шалгуурын дагуу бүлэг болгон нэгтгэх замаар загварын бүтцийг хялбарчлах (мөн үүний дагуу түүнтэй ажиллах) үйлчилгээ үзүүлдэг.
    6. Байршуулах диагрампрограм хангамжийн бүрэлдэхүүн хэсгүүдийн байршуулалтыг загварчилдаг ( олдворууд) тооцоолох нөөц/техникийн бүрэлдэхүүн хэсгүүд дээр ( зангилаа).
    7. Профайл диаграм UML-ийг төрөл бүрийн сэдэв, үйл ажиллагааны талбарт тохируулах боломжийг олгодог өргөтгөх механизмыг тайлбарладаг.

    UML ангиллын диаграмын жишээ

    Зан үйлийн диаграммууд

    1. үйл ажиллагааны диаграмүйлдлүүдийг харуулдаг ( үйлдлүүд) зарим үйл ажиллагаа ( үйл ажиллагаа). Үйл ажиллагааны диаграммыг бизнесийн үйл явц, технологийн процесс, цуваа болон зэрэгцээ тооцооллыг загварчлахад ашигладаг.
    2. Кейсийн диаграмыг ашиглах(эсвэл Хэрэглээний тохиолдлын диаграм) жүжигчид (жүжигчид) хоорондын харилцаа холбоо, симуляцийн системийн хэрэглээний тохиолдлуудыг (түүний чадавхийг) дүрсэлдэг. Диаграммын гол зорилго нь үйлчлүүлэгчид, хөгжүүлэгчид болон эцсийн хэрэглэгчдэд зориулсан бүх нийтийн хэрэгсэл байх бөгөөд үүний тусламжтайгаар систем, түүний чадавхи, зан төлөвийг хамтран хэлэлцэх боломжтой болно.
    3. Төрийн диаграмаж ахуйн нэгжийн динамик зан төлөвийг дүрсэлж, энэ аж ахуйн нэгж нь одоогийн төлөв байдлаас хамааран янз бүрийн үйл явдалд хэрхэн хариу үйлдэл үзүүлж байгааг харуулдаг. Үнэн хэрэгтээ энэ бол атомын онолын төлөв байдлын диаграмм юм.
    4. Харилцааны диаграм(өмнөх хувилбаруудад хамтын ажиллагааны диаграм) нь нийлмэл бүтцийн хэсгүүдийн хоорондын харилцан үйлчлэл, хамтын ажиллагааны үүргүүдийг харуулдаг. Диаграм нь элементүүдийн (объектуудын) хоорондын хамаарлыг тодорхой зааж өгсөн болно.
    5. дарааллын диаграмобъектын харилцан үйлчлэлийн дарааллыг төсөөлөхөд ашигладаг. Өгөгдсөн объектын амьдралын мөчлөг, зарим ашиглалтын хүрээнд оролцогчдын (жүжигчдийн) харилцан үйлчлэл, тэдгээрийн солилцдог мессежийн дарааллыг харуулна.
    6. Харилцааны тойм диаграмдарааллын диаграмм ба хяналтын урсгалын бүтцийн хэсгийг багтаасан болно. Объектуудын харилцан үйлчлэлийг өөр өөр өнцгөөс авч үзэхэд тусалдаг.
    7. Цагийн диаграм- цаг хугацааны чиглэлээр мэргэшсэн харилцан үйлчлэлийн диаграмын тусдаа дэд зүйл. Энэ төрлийн диаграммыг тодорхой хугацааны туршид объектын зан төлөвийг судлахад ашигладаг.


    Бид уншихыг зөвлөж байна

    Топ