UML диаграммыг зурах хэрэгслүүд. UML дээр загварчлах. Ерөнхий диаграммууд uml хэл дээрх диаграмын жишээ

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

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

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

Объектийн технологи, мэдээллийн сангийн чиглэлээр стандарт батлах үүрэг бүхий байгууллага болох Объект менежментийн группын (OMG) хүсэлтээр нэгдмэл байдал, стандартчиллын тулгамдсан асуудлыг OO-ийн хамгийн алдартай гурван аргын зохиогч Г. Бутч, Д.Рэмбо, А.Жэйкобсон нар хүчин чармайлтаа нэгтгэж, 1997 онд OMG стандарт болгон баталсан UML 1.1 хувилбарыг бүтээжээ.

UML бол хэл юм

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

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

UML толь бичиг

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

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

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

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

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

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

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

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

UML юу өгдөг.

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

Тэгээд хамгийн сүүлчийн зүйл ...

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

10.4. UML диаграммууд

10.4.1. UML визуал диаграмын төрлүүд

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

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

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

Хоршооны график;

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

Төрийн диаграмм;

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

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

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

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

Хэрэглээний тохиолдлын диаграммууд нь системийн чиг үүргийг төлөөлдөг хэрэглээний тохиолдлууд болон мэдээлэл хүлээн авах буюу дамжуулах хүмүүс эсвэл системийг төлөөлдөг жүжигчдийн хоорондын харилцан үйлчлэлийг дүрсэлдэг. энэ систем. Автомат теллерийн машин (АТМ) ашиглах жишээ диаграммыг Зураг дээр үзүүлэв. 10.1.

Цагаан будаа. 10.1.Кейсийн диаграмыг ашиглах

Диаграм нь ашиглалтын тохиолдол ба жүжигчдийн хоорондын харилцан үйлчлэлийг илэрхийлдэг. Энэ нь хэрэглэгчийн байр сууринаас системийн шаардлагыг тусгадаг. Иймд ашиглалтын тохиолдол нь системийн гүйцэтгэдэг функцууд бөгөөд оролцогчид нь бий болгож буй системтэй холбоотой оролцогч талууд юм. Диаграммууд нь ашиглалтын тохиолдлыг ямар жүжигчид эхлүүлж байгааг харуулдаг. Тэд мөн жүжигчин ашиглах тохиолдлоос мэдээлэл хүлээн авахыг харуулдаг. Үндсэндээ хэрэглээний тохиолдлын диаграм нь системийн шаардлагыг харуулж чадна. Бидний жишээн дээр банкны үйлчлүүлэгч нь "Данснаас мөнгө авах", "Мөнгө шилжүүлэх", "Дансанд мөнгө хийх", "Үлдэгдлийг харуулах", "Идэвхжүүлэх дугаарыг өөрчлөх", "Төлбөр хийх" гэх мэт янз бүрийн хэрэглээний тохиолдлыг эхлүүлдэг. Банкны ажилтан таних дугаарыг өөрчлөх хэрэг үүсгэж болно. "Төлбөр хийх" хэсгээс Зээлийн систем рүү чиглэсэн сум байна. Жүжигчид байж болно гадаад системүүд, энэ тохиолдолд Зээлийн системийг яг жүжигчин байдлаар харуулсан - энэ нь АТМ системээс гадуур байдаг. Хэрэглээний хэрэгслэлээс жүжигчин рүү чиглэсэн сум нь тухайн ашиглалтын кейс нь жүжигчинд зарим мэдээлэл өгч байгааг харуулж байна. Энэ тохиолдолд Төлбөр хийх ашиглалтын тохиолдол нь зээлийн системд зээлийн картын төлбөрийн талаарх мэдээллийг өгдөг.

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

10.4.3. Дарааллын диаграммууд

Дарааллын диаграммууд нь ашиглалтын тохиолдлын хүрээнд тохиолддог үйл явдлын урсгалыг дүрсэлдэг. Жишээлбэл, "Мөнгө гаргах" хэрэглээний тохиолдол нь хэд хэдэн боломжит дарааллыг өгдөг: мөнгө авах, дансанд хангалттай мөнгө байхгүй үед мөнгө авахыг оролдох, буруу таних дугаар ашиглан мөнгө авахыг оролдох гэх мэт. Данснаас 20 доллар гаргах ердийн хувилбарыг (буруу таних дугаар эсвэл дансанд мөнгө хүрэлцэхгүй байх зэрэг асуудал байхгүй тохиолдолд) Зураг дээр үзүүлэв. 10.2.

Зураг 10.2.Жо-ийн үйлчлүүлэгч данснаасаа 20 доллар авах дарааллын диаграмм

Диаграммын дээд хэсэгт Мөнгө татах үйлдлийг гүйцэтгэхэд системд шаардлагатай бүх оролцогчид болон объектуудыг харуулав. Сумнууд нь шаардлагатай функцийг гүйцэтгэхийн тулд жүжигчин ба объектын хооронд эсвэл объектын хооронд дамжуулагдсан мессежүүдэд тохирно. Мөн дарааллын диаграмм нь ангиудыг бус объектуудыг харуулдаг гэдгийг тэмдэглэх нь зүйтэй. Ангиуд нь объектын төрөл юм. Объектууд нь бетон; ангийн оронд ҮйлчлүүлэгчДарааллын диаграмм нь тодорхой үйлчлүүлэгч Жо-г төлөөлдөг.

Үйлчлүүлэгч картаа уншигч руу оруулах үед ашиглалтын тохиолдол эхэлдэг - энэ объектыг диаграммын дээд талд байгаа тэгш өнцөгт хэлбэрээр харуулсан болно. Энэ нь картын дугаарыг уншиж, Joe Account объектыг нээж, ATM дэлгэцийг эхлүүлнэ. Дэлгэц Жоеоос бүртгэлийн дугаараа асууна. Үйлчлүүлэгч 1234 дугаарыг оруулна. Дэлгэц нь дугаарыг Joe Account объекттой харьцуулан шалгаж, зөв ​​болохыг олж харна. Дараа нь дэлгэц нь Жод сонгох цэсийг харуулах ба тэрээр "Мөнгө авах"-ыг сонгоно. Дэлгэц нь түүнийг хэр их мөнгө авахыг хүсч байгааг асуухад Жо 20 доллар оруулав. Дэлгэц нь данснаас мөнгө авдаг. Ингэхдээ "Жогийн данс" объектын гүйцэтгэсэн хэд хэдэн процессыг эхлүүлдэг. Үүний зэрэгцээ, энэ дансанд байгаа эсэхийг шалгаж байна ядаж, 20 доллар байх ба шаардагдах дүнг тооцооноос хасна. Дараа нь кассын машинд "чек, 20 доллар бэлнээр олгох" заавар өгдөг. Эцэст нь ижил "Жогийн данс" объект нь карт уншигчийг картыг буцааж өгөхийг зааварчилдаг.

Тэгэхээр, энэ диаграмЖоегийн үйлчлүүлэгч 20 доллар гаргаж авсан тодорхой жишээг ашиглан "Данснаас мөнгө авах" хэрэглээний жишээг хэрэгжүүлэх үйлдлүүдийн дарааллыг харуулсан дараалал юм. Энэхүү диаграммыг харснаар хэрэглэгчид өөрсдийн ажлын онцлогтой танилцдаг. Шинжээчид үйлдлүүдийн дарааллыг (урсгал), хөгжүүлэгчид бий болгох шаардлагатай объектууд болон тэдгээрийн үйл ажиллагааг хардаг. Чанарын хяналтын мэргэжилтнүүд үйл явцын нарийн ширийнийг ойлгож, тэдгээрийг шалгах тест боловсруулж болно. Тиймээс дарааллын диаграм нь төсөлд оролцож буй бүх хүмүүст хэрэгтэй.

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

Хоршооллын диаграммууд нь дарааллын диаграмтай ижил мэдээллийг тусгадаг. Гэсэн хэдий ч тэд үүнийг өөрөөр, өөр зорилготойгоор хийдэг. Зурагт үзүүлэв. 10.2 дарааллын диаграммыг Зураг дээр үзүүлэв. 10.3. хоршооны бүдүүвч хэлбэрээр.

Өмнөхтэй адил объектуудыг тэгш өнцөгт хэлбэрээр, тэмдэгтүүдийг дүрс хэлбэрээр дүрсэлсэн байдаг. Дарааллын диаграмм нь жүжигчид ба объектуудын хоорондын харилцан үйлчлэлийг цаг хугацааны явцад харуулдаг бол хамтын диаграмм нь цаг хугацааны хувьд ямар ч хамааралгүй болохыг харуулж байна. Тиймээс карт уншигч нь "Жогийн данс"-ыг нээхийг зааварлаж, "Жогийн данс" нь төхөөрөмжийг картыг эзэмшигчид нь буцааж өгөхөд хүргэж байгааг харж болно. Шууд харилцан үйлчилдэг объектууд шугамаар холбогддог. Жишээлбэл, карт уншигч нь АТМ-ийн дэлгэцтэй шууд холбогддог бол тэдгээрийн хооронд шугам зурах хэрэгтэй. Шугаман байхгүй байна гэдэг нь объектуудын хооронд шууд холбоо байхгүй гэсэн үг юм.

Цагаан будаа. 10.3.Данснаас мөнгө авах үйл явцыг дүрсэлсэн хоршооны диаграмм

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

10.4.5. Ангийн диаграммууд

Ангийн диаграм нь систем дэх ангиудын хоорондын харилцан үйлчлэлийг тусгадаг. Жишээлбэл, "Жогийн данс" нь объект юм. Ийм объектын төрлийг ерөнхийд нь данс гэж үзэж болно, өөрөөр хэлбэл "Бүртгэл" нь анги юм. Ангиуд нь тухайн өгөгдөлд нөлөөлөх өгөгдөл, зан төлөвийг (үйлдэл) агуулдаг. Тиймээс Account ангилал нь үйлчлүүлэгчийн таних дугаар болон түүнийг баталгаажуулах үйлдлүүдийг агуулдаг. Ангийн диаграммд Sequence Diagrams эсвэл Cooperative Diagrams-аас объектын төрөл тус бүрт анги үүсгэнэ. Мөнгө авах тохиолдолд ашиглах ангийн диаграммыг Зураг дээр үзүүлэв. 10.4.

Диаграмм нь "Мөнгө авах" аргыг хэрэгжүүлдэг ангиудын хоорондын харилцааг харуулж байна. Энэ үйл явцад Карт Уншигч, Данс, АТМ дэлгэц, Бэлэн мөнгө түгээгч гэсэн дөрвөн анги оролцдог. Ангийн диаграммд анги бүрийг гурван хэсэгт хуваасан тэгш өнцөгт хэлбэрээр дүрсэлсэн. Эхний хэсэг нь ангийн нэрийг, хоёрдугаарт - түүний нэрийг заана шинж чанарууд.Аттрибут гэдэг нь тухайн ангийн шинж чанарыг илтгэх зарим мэдээлэл юм. Жишээлбэл, Account ангилал нь Дансны дугаар, ПИН, Үлдэгдэл гэсэн гурван шинж чанартай байдаг. Сүүлчийн хэсэг нь ангийн үйлдлүүдийг багтаасан бөгөөд үүнийг тусгасан болно зан байдал(ангийн хийсэн үйлдэл). Ангиудыг холбосон шугамууд анги хоорондын харилцан үйлчлэлийг харуулдаг.

Цагаан будаа. 10.4.Ангийн диаграм

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

10.4.6. Төрийн диаграммууд

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

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

Цагаан будаа. 10.5. Account ангийн төлөвийн диаграмм

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

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

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

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

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

Төрийн график нь баримт бичигт голчлон хэрэгтэй.

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

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

Зураг дээр. Зураг 10.6-д АТМ системийн бүрэлдэхүүн хэсгүүдийн нэг диаграммыг үзүүлэв. Энэ диаграмм нь АТМ системийн үйлчлүүлэгчийн бүрэлдэхүүн хэсгүүдийг харуулж байна. Энэ тохиолдолд хөгжүүлэлтийн баг системийг C++ хэл ашиглан бүтээхээр шийдсэн. Анги бүр өөрийн толгой файл болон өргөтгөл файлтай байдаг. CPP, ингэснээр анги бүрийг диаграммд өөрийн бүрэлдэхүүн хэсэг болгон хувиргана. Сонгосон харанхуй бүрэлдэхүүн хэсгийг дуудна багцын тодорхойлолтбөгөөд C++ хэл дээрх ATM ангиллын үндсэн файлтай (. CPP өргөтгөлтэй файл) тохирно. Сонгогдоогүй бүрэлдэхүүн хэсгийг багцын тодорхойлолт гэж нэрлэдэг боловч C++ хэлний ангийн толгой файлтай (.H өргөтгөлтэй файл) тохирно. ATM бүрэлдэхүүн хэсэг. EXE нь даалгаврын тодорхойлолт бөгөөд мэдээлэл боловсруулах урсгалыг илэрхийлдэг. Энэ тохиолдолд боловсруулах утас нь гүйцэтгэх програм юм.

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

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

Цагаан будаа. 10.6.Бүрэлдэхүүн хэсгийн диаграм

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

Байршлын диаграммууд нь сүлжээн дэх янз бүрийн системийн бүрэлдэхүүн хэсгүүдийн физик байршлыг харуулдаг. Бидний жишээн дээр АТМ систем нь тусдаа физик төхөөрөмж эсвэл зангилаа дээр ажилладаг олон тооны дэд системүүдээс бүрддэг. АТМ системийн байршлын диаграммыг Зураг дээр үзүүлэв. 10.7.

Энэ диаграмаас та системийн физик зохион байгуулалтын талаар мэдэж болно. АТМ клиентийн программууд нь олон сайт дээр олон байршилд ажиллана. Үйлчлүүлэгчид бүс нутгийн АТМ сервертэй хаалттай сүлжээгээр холбогдоно. Энэ нь АТМ серверийн программ хангамжийг ажиллуулах болно. Хариуд нь дамжуулан дотоод сүлжээ бүс нутгийн сервер Oracle ажиллаж байгаа банкны мэдээллийн баазын сервертэй харилцах болно. Эцэст нь принтерийг бүс нутгийн АТМ серверт холбосон.

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

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

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

Номоос Microsoft Office зохиолч Леонтьев Виталий Петрович

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

"Компьютер 100" номноос эхэлье Windows Vista зохиолч Зозуля Юрий

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

Оффисын үр дүнтэй ажил номноос зохиолч Пташинский Владимир Сергеевич

Диаграммууд Хамгийн их харагдахуйц Excel чадварЭнэ нь тооцооллын үр дүн эсвэл хуримтлагдсан өгөгдлийг график (диаграм) хэлбэрээр үзүүлэх явдал юм: заримдаа хамгийн гайхалтай тоонууд нь энгийн графикаар ч хийж болох арга замыг итгүүлэх боломжгүй байдаг. Excel-д байдаг

Excel-ийн ажлын номноос. Мультимедиа курс зохиолч Мединов Олег

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

Word 2007 номноос. Түгээмэл заавар зохиолч Крайнский И

Диаграм бүтээх Эхний жишээнд та зурагт үзүүлсэн хүснэгтийг үүсгэх хэрэгтэй. 8.1. Цагаан будаа. 8.1. Температурын хэмжилтийн хүснэгт Бид энэ хүснэгтийн өгөгдөл дээр үндэслэн температурын өөрчлөлтийн энгийн графикийг байгуулна.1. Хүснэгтээс дүүргэсэн мужийг сонгоно.2. Руу явах

Компьютер дээр ажиллах өөрөө зааварчилгаа номноос зохиолч Колисниченко Денис Николаевич

6.6. Диаграмаас бусад график файлууд, В Word баримтуудта диаграммуудыг оруулж болно. Диаграмм ашиглан та тоон өгөгдлийг нүдээр харуулах, жишээлбэл, өгөгдөл хэрхэн өөрчлөгдөж байгааг хянах, тодорхой төслийн хөгжлийг цаг хугацааны явцад харах боломжтой. Диаграммууд ижил төстэй болж хувирдаг

C++ хэл дээрх хэрэглээний жишээ бүхий объект хандалтат анализ ба дизайн номноос Бутч Греди

14.9. Диаграмм Хуурай тоонуудыг график болгон хувиргаж, ширээг илүү үзэсгэлэнтэй, мэдээлэлтэй болгох цаг болсон болов уу? Үүний тулд диаграммыг ашигладаг. Та юу ч хэлсэн бай, диаграммыг хүснэгтээс илүү сайн ойлгодог. Диаграммыг бүтээхийн тулд та ямар утгыг сонгох хэрэгтэй.

Програмчлалын технологи номноос зохиолч Камаев В.А

5.2. Ангийн диаграммууд зайлшгүй шаардлагатай: Ангиуд ба тэдгээрийн харилцаа Ангийн диаграмм нь ангиуд болон тэдгээрийн харилцааг харуулдаг бөгөөд ингэснээр дизайны логик талыг төлөөлдөг. Тусдаа ангийн диаграмм нь ангийн бүтцийн тодорхой дүр төрхийг илэрхийлдэг. Шинжилгээний шатанд бид

BPwin 4.0 ашиглан бизнесийн үйл явцын загварчлал номноос зохиолч Маклаков Сергей Владимирович

5.4. Объектын диаграм чухал: Объект ба тэдгээрийн харилцаа Объект диаграм нь системийн логик дизайн дахь одоо байгаа объектууд болон тэдгээрийн харилцааг харуулдаг. Өөрөөр хэлбэл объектын диаграмм нь зарим тохиргооны үйл явдлын урсгалын агшин зуурын зураг юм

OrCAD PSpice номноос. Шинжилгээ цахилгаан хэлхээ Keown J.

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

Dummies-д зориулсан VBA номноос Стив Каммингс

10.4. UML DIAGRAMS 10.4.1. Визуал диаграмын төрлүүд UMLUML нь танд хэд хэдэн төрлийн визуал диаграмм үүсгэх боломжийг олгодог: кейс диаграммыг ашиглах; дарааллын диаграмм; хамтын ажиллагааны диаграмм; ангийн диаграмм; төлөв байдлын диаграмм; диаграммууд

Macintosh дээр ажиллах өөрөө зааварчилгаа номноос зохиолч София Скрылина

1.2.6. Зураг дээрх диаграмын хүрээ. Зураг 1.2.26-д диаграммын хүрээ гэж нэрлэгддэг хязгаарлах хайрцаг бүхий задралын диаграмын ердийн жишээг үзүүлэв. Цагаан будаа. 1.2.26. Төмөр хүрээ бүхий задралын диаграмын жишээ. Төмөр хүрээ нь гарчигтай ( дээд хэсэгхүрээ) ба подвал (доод хэсэг).

Зохиогчийн номноос

Хугацааны диаграмм Оролтын болон гаралтын хүчдэлийн цагийн диаграммыг олж авахын тулд оролтын файлыг бага зэрэг өөрчлөх шаардлагатай. Өмнөх жишээний нэгэн адил синусоид оролтын хүчдэлийг ашиглана: Vi 1 0 sin (0 0. 5V 5kHz) Түр зуурын анализын хамт

Зохиогчийн номноос

График ба графикууд Зөвхөн мэргэжилтэн л тоонуудын төгсгөлгүй эгнээний цаад утгыг ялгаж чадна, гэхдээ хэн ч гистограмм эсвэл дугуй диаграмыг ойлгож чадна (эсвэл ядаж ойлгосон гэж хэлж болно). VBA-д диаграмм үүсгэх зориулалттай хэрэгсэл байхгүй, гэхдээ ийм

Зохиогчийн номноос

5.1.14. Диаграмм Диаграм нь хүснэгт дэх тоон өгөгдлийн график дүрслэл юм. Хуудас нь хэд хэдэн төрлийн диаграмыг санал болгодог: багана, давхарласан багана, баганан диаграм, давхарласан баганан диаграм, шугам, талбай, овоолсон талбай

Зохиогчийн номноос

5.2.8. Диаграм диаграмм гэдэг нь сонгосон мужаас өгөгдлийн график дүрслэл юм.Диаграммыг бүтээхдээ дараах алгоритмыг дагана уу1. Тооцоолсон утгуудын хүснэгтийг үүсгэ.2. Хүссэн мужаа сонгоно уу (энэ нь зэргэлдээ бус тэгш өнцөгт хэлбэртэй байж болно

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

UML гэж юу вэ?

Хэрэв та зургуудыг харвал Хайлтын системүүд, тэгвэл энэ нь тодорхой болно UML- Энэ бол диаграмм, сум, квадратын тухай юм. Хамгийн чухал нь UML гэж орчуулагддаг Загварын нэгдсэн хэл. Энд Нэгдсэн гэдэг үг чухал. Өөрөөр хэлбэл, бидний зургийг зөвхөн бид төдийгүй UML мэддэг бусад хүмүүс ойлгох болно. Энэ бол диаграмм зурах олон улсын хэл юм.

Википедиад хэлснээр

UML нь програм хангамж боловсруулах, бизнесийн үйл явцын загварчлал, системийн дизайн, байгууллагын бүтцийг харуулах зэрэгт объектын загварчлалд зориулагдсан график дүрслэлийн хэл юм.
Хүн бүрийн бодож, ойлгодоггүй хамгийн сонирхолтой зүйл бол UML-д техникийн үзүүлэлтүүд байдаг. Түүнээс гадна UML2 үзүүлэлт ч бий. Тодорхойлолтын талаарх дэлгэрэнгүй мэдээллийг Object Management Group-ийн вэбсайтаас авах боломжтой. Үнэндээ энэ бүлэг UML техникийн үзүүлэлтүүдийг боловсруулж байна. UML нь зөвхөн ангиудын бүтцийг тайлбарлахаар хязгаарлагдахгүй нь бас сонирхолтой юм. UML диаграмын олон төрөл байдаг. UML диаграмын төрлүүдийн товч тайлбарыг ижил Википедиа дээрээс харж болно: UML - диаграмм эсвэл Тимур Батыршиновын видео бичлэгээс UML диаграмын тойм. UML нь янз бүрийн процессуудыг тайлбарлахад өргөн хэрэглэгддэг, жишээ нь: JWT ашиглан нэг удаа нэвтрэх. UML ангиллын диаграммуудын хэрэглээ рүү буцахдаа хээг ижил UML диаграммуудаар дүрсэлсэн Head First: Design Patterns номыг тэмдэглэх нь зүйтэй. UML үнэхээр ашиглагдаж байгаа нь харагдаж байна. Үүний хэрэглээний талаархи мэдлэг, ойлголт нь маш хэрэгтэй ур чадвар болох нь харагдаж байна.

Өргөдөл

Та IDE-ийн ижил UML-тэй хэрхэн ажиллахыг харцгаая. IDE гэж авч үзье IntelliJ санаа. Хэрэв та ашигладаг бол IntelliJ Idea Ultimate, дараа нь бид залгаасыг "хайрцагнаас гадуур" суулгана. UML дэмжлэг". Энэ нь танд үзэсгэлэнтэй ангиллын диаграммыг автоматаар үүсгэх боломжийг олгодог. Жишээ нь, Ctrl+N эсвэл цэсийн "Навигат" -> "Анги" цэсээр дамжуулан бид анги руу ордог. ArrayList. Одоо ангийн нэрийн контекст цэсээр дамжуулан "Диаграмм" -> "Диаграмын цонхыг харуулах" гэснийг сонгоно уу. Үүний үр дүнд бид үзэсгэлэнтэй диаграммыг олж авна.

Хэрэв та өөрөө зурахыг хүсч байгаа бол, тэр ч байтугай зурахгүй бол яах вэ Эцсийн хувилбарСанаа? Хэрэв бид IntelliJ Idea Community Edition-ийг ашиглавал өөр сонголт байхгүй. Үүнийг хийхийн тулд ийм UML диаграм хэрхэн бүтэцлэгдсэнийг ойлгох хэрэгтэй. Эхлээд бид Graphviz-г суулгах хэрэгтэй. Энэ бол графикийг дүрслэх хэрэгслүүдийн багц юм. Үүнийг бидний ашиглах залгаас ашигладаг. Суулгасны дараа та лавлах нэмэх хэрэгтэй бинсуулгасан лавлахаас Графвизорчны хувьсагч руу ЗАМ. Үүний дараа IntelliJ Idea-д цэснээс File -> Settings командыг сонгоно. "Тохиргоо" цонхноос "Plugins" ангиллыг сонгоод "Repositories үзэх" товчийг дараад PlantUML нэгтгэх залгаасыг суулгана уу. Энэ яагаад ийм сайн юм бэ? PlantUML? Энэ нь "гэж нэрлэдэг график дүрслэлийн хэлийг ашигладаг. цэг"мөн энэ нь илүү түгээмэл байх боломжийг олгодог, учир нь ... өгөгдсөн хэлЗөвхөн PlantUML ашигладаггүй. Түүгээр ч барахгүй, бидний доор хийж буй бүх зүйлийг зөвхөн IDE-д төдийгүй, бас хийж болно онлайн үйлчилгээ planttext.com. PlantUML залгаасыг суулгасны дараа бид "Файл" -> "Шинэ"-ээр дамжуулан UML диаграмм үүсгэх боломжтой болно. "UML анги" төрлийн диаграммыг бүтээцгээе. Энэ процессын явцад жишээ бүхий загвар автоматаар үүсдэг. Түүний агуулгыг устгаад, Habr-ийн нийтлэлээр зэвсэглэцгээе: Ангийн харилцаа - UML-ээс код хүртэл. Үүнийг текстэд хэрхэн дүрслэхийг ойлгохын тулд PlantUML гарын авлагыг авч үзье: plantuml анги-диаграмм. Хамгийн эхэнд холболтыг хэрхэн дүрслэхийг харуулсан хүснэгт байна.

Бид мөн холбоосуудыг эндээс харж болно: "UML дахь ангиудын хоорондын харилцаа. Жишээнүүд." Эдгээр материал дээр үндэслэн UML диаграмаа үүсгэж эхэлцгээе. Хоёр ангиллыг тодорхойлсон дараах агуулгыг нэмье: @startuml class ArrayList ( ) анги LinkedList ( ) @enduml Idea доторх үр дүнг харахын тулд "Харах" -> "-г сонгоно уу. Windows хэрэгсэл" -> "PlantUML". Бид зүгээр л ангиудыг илэрхийлсэн хоёр квадратыг авах болно. Бидний мэдэж байгаагаар эдгээр ангиуд хоёулаа List интерфэйсийг хэрэгжүүлдэг. Энэ ангийн харилцааг хэрэгжилт гэж нэрлэдэг. Ийм харилцааг дүрслэхийн тулд сумыг ашиглана уу. тасархай шугам. Үүнийг дүрсэлж үзье: интерфейс Жагсаалтын жагсаалт< | . . ArrayList List < | . . LinkedList List - один из дочерних классов Collection . То есть он наследуется от Collection. Эта связь называется обобщением (generalization). Выглядит как стрелка с обычной непрерывной линией. Изобразим её: interface Collection Collection < | -- List Для следующего типа связи добавим в описание класса ArrayList запись о багц хувийнЭлементүүдийн массив: ~ Object elementData Одоо бид ArrayList-д зарим объект агуулагдаж байгааг харуулахыг хүсч байна. Энэ тохиолдолд холболтын төрөл нь - нэгтгэх(нэгтгэх). Энэ тохиолдолд нэгдэл нь ArrayList, учир нь Энэ нь бусад объектуудыг агуулдаг. Жагсаалтад байгаа объектууд жагсаалтгүйгээр амьдрах боломжтой тул бид нэгтгэхийг сонгодог: тэдгээр нь түүний салшгүй хэсэг биш юм. Тэдний амьдралын хугацаа нь жагсаалтын амьдралын хугацаатай холбоогүй юм. Агрегат гэдэг нь латин хэлнээс "угсарсан", өөрөөр хэлбэл ямар нэг зүйлээс бүтсэн зүйл гэж орчуулагддаг. Жишээлбэл, амьдралд насос, мотороос бүрдэх шахуургын төхөөрөмж байдаг. Нэгжийг өөрөө задалж, заримыг нь үлдээж болно бүрэлдэхүүн хэсгүүд. Жишээлбэл, зарах эсвэл өөр нэгжид оруулах. Жагсаалт ч мөн адил. Мөн энэ нь нэгжийн ойролцоо хоосон очир алмааз, тасралтгүй шугам хэлбэрээр илэрхийлэгддэг. Үүнийг дараах байдлаар дүрсэлье: анги Object ( ) ArrayList o- Object Одоо бид ArrayList-ээс ялгаатай нь LinkedList анги нь хадгалагдсан өгөгдөлд хамаарах Node - контейнеруудыг агуулж байгааг харуулахыг хүсч байна. Энэ тохиолдолд зангилаа нь LinkedList-ийн нэг хэсэг бөгөөд тусдаа амьдрах боломжгүй. Зангилаа нь агуулгыг шууд хадгалахгүй, зөвхөн түүн рүү холбоосыг агуулна. Жишээлбэл, бид LinkedList-д мөр нэмэхдээ тухайн мөрийн холбоос болон өмнөх болон дараагийн зангилааны холбоосыг агуулсан шинэ зангилаа нэмнэ. Энэ төрлийн холболтыг нэрлэдэг найрлага(найрлага). Нийлмэл (хэсгүүдээс бүрдэх нэг нь) -ийг харуулахын тулд өнгөт алмазыг зурж, түүн рүү чиглэсэн тасралтгүй шугамаар зурдаг. Одоо үүнийг холболтын текст дэлгэц хэлбэрээр бичье: анги Node ( ) LinkedList * -- Зангилаа Одоо бид өөр холболтыг хэрхэн харуулахыг сурах хэрэгтэй. чухал төрөлхарилцаа холбоо - донтолт(хамааралтай хамаарал). Энэ нь нэг анги нөгөөг ашиглах үед хэрэглэгддэг бөгөөд тухайн анги нь ашиглагдаж буй ангийг агуулаагүй бөгөөд түүний удам биш юм. Жишээлбэл, LinkedList болон ArrayList нь ListIterator үүсгэж болно. Үүнийг тасархай шугамаар сум хэлбэрээр харуулъя: анги ListIterator ListIterator< . . . ArrayList : create ListIterator < . . . LinkedList : create Выглядеть после всего это будет следующим образом:

Та шаардлагатай бол нарийн ширийн зүйлийг оруулж болно. Бүх тэмдэглэгээг энд зааж өгсөн болно: "PlantUML - Ангийн диаграмм". Нэмж дурдахад ийм диаграммыг зурахад ер бусын зүйл байхгүй бөгөөд даалгавар дээрээ ажиллахдаа та үүнийг гараар хурдан зурж болно. Энэ нь програмын архитектураар дамжуулан сэтгэн бодох чадварыг тань хөгжүүлж, буруу загвар хэрэгжүүлсний дараа бус харин ангийн бүтцийн алдааг эрт илрүүлэхэд тусална. Үүнийг туршиж үзэх сайхан шалтгаан гэж бодож байна уу?)

Автоматжуулалт

Идэх янз бүрийн арга замууд PlantUML диаграммыг автоматаар үүсгэх. Жишээлбэл, in Санаа SketchIT залгаас байгаа боловч тэдгээрийг зөв зурж чаддаггүй. Жишээлбэл, интерфэйсүүдийн хэрэгжилтийг буруу зурсан (өв залгамжлалаар харуулсан). Үүнийг хэрхэн бүтээх талаар Интернет дээр жишээнүүд бас бий амьдралын мөчлөгтаны төслийг бий болгох. төлөө гэж хэлье Мэвен uml-java-docklet ашиглах жишээ бий. Үүнийг хэрхэн хийхийг харуулахын тулд бид Maven Archetype-г ашиглах болно хурдан бүтээх Maven төсөл. Командыг ажиллуулъя: mvn archetype:generate Шүүлтүүрийг сонгох асуултанд ( Тоо сонгох эсвэл шүүлтүүр хэрэглээрэй) Enter товчийг дарснаар өгөгдмөл орхих. Үргэлж байх болно" maven-archetype-quickstart". Хамгийн сүүлийн хувилбарыг сонго. Дараа нь асуултуудад хариулж, төслийг бүтээх ажлыг дуусгана уу:

Maven нь энэ нийтлэлийн гол сэдэв биш тул таны Maven-ийн асуултуудын хариултыг Maven хэрэглэгчдийн төвөөс олж болно. Үүсгэсэн төсөлд төслийн тайлбар файлыг засварлахаар нээнэ үү. pom.xml. uml-java-docklet-г суулгах тайлбараас агуулгыг хуулж авцгаая. Тайлбарт ашигласан олдворыг Maven төвийн агуулахаас олж чадсангүй. Гэхдээ энэ нь надад тохирсон: https://mvnrepository.com/artifact/com.chfourie/uml-java-doclet/1.0.0. Өөрөөр хэлбэл, та энэ тайлбарт орлуулах хэрэгтэй groupId"-тай info.leadinglight"дээр" com.chfourie"болон хувилбарыг суулгах" 1.0.0 ". Үүний дараа бид файлын байрлаж буй директорт ажиллуулж болно pom.xmlЭдгээр тушаалууд: mvn clean install болон mvn javadoc:javadoc . Одоо бид үүсгэсэн баримт бичгийг (explorer target\site\apidocs\index.html) нээвэл UML диаграммуудыг харах болно. Дашрамд хэлэхэд, хэрэгжилт энд аль хэдийн зөв харагдаж байна)

Дүгнэлт

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

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

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

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

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

Яагаад танд хэд хэдэн төрлийн диаграм хэрэгтэй байна

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

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

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

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

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

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

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

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

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

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

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

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

Диаграм гэж юу болохыг хэлэх л үлдлээ. Диаграмолон элементийн график дүрслэл юм. Ихэвчлэн орой (байгууллага) ба ирмэгүүд (харилцаа) бүхий график хэлбэрээр дүрслэгдсэн байдаг. Диаграмын олон жишээ бий. Энэ бол сургуулийн жилээс бидэнд танил болсон блок диаграмм бөгөөд хэрэглэгчийн гарын авлагаас харж болох төрөл бүрийн тоног төхөөрөмж суурилуулах диаграммууд, мөн дискэн дээрх файл, лавлахуудын модыг гүйцэтгэх замаар харж болно. 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).

Анхааралтай уншигч тэр даруй асууж болно: яагаад жүжигчин биш жүжигчин гэж? Бид санал нийлж байна, “ектор” гэдэг үг оросуудын чихэнд жаахан ширүүн байдаг. Бидний үүнийг хэлэх шалтгаан нь энгийн - ector гэдэг үгнээс гаралтай үйлдэл, орчуулсан гэсэн үг үйлдэл. “Эктор” гэдэг үгийн шууд орчуулга жүжигчин- хэт урт, хэрэглэхэд тохиромжгүй. Тиймээс бид энэ маягаар ярина.


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

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

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

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

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

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

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

    Загварын нэгдсэн хэл (UML) нь одоогоор объект хандалтат системийг зохион бүтээх, хөгжүүлэх үр дүнг тайлбарлах (баримтжуулах) де-факто стандарт юм. UML-ийн хөгжлийг 1994 онд Rational Software-д ажиллаж байсан Греди Буч, Жеймс Румбау нар эхлүүлсэн. 1995 оны намар Ивар Жэйкобсон тэдэнтэй нэгдэж, мөн оны 10-р сард Нэгдсэн аргын 0.8 хувилбарыг анхлан гаргасан. Тэр цагаас хойш UML тодорхойлолтын хэд хэдэн хувилбар гарсан бөгөөд тэдгээрийн хоёр нь олон улсын стандарт статустай байна.

    UML 1.4.2 - "ISO/IEC 19501:2005. Мэдээллийн технологи. Нээлттэй түгээлтийн боловсруулалт. Нэгдсэн загварчлалын хэл (UML). Хувилбар 1.4.2" (Англи хэлээр "Мэдээллийн технологи. Нээлттэй тархсан боловсруулалт. Нэгдмэл загварчлалын хэл (UML). Хувилбар 1.4.2");

    UML 2.4.1 - "ISO/IEC 19505-1:2012. Мэдээллийн технологи. Объект удирдлагын группын нэгдсэн загварчлалын хэл (OMG UML). 1-р хэсэг. Дэд бүтэц" (eng. "Мэдээллийн технологи -- Объект удирдлагын группын нэгдсэн загварчлалын хэл ( OMG). UML) - 1-р хэсэг: Дэд бүтэц") болон "ISO/IEC 19505-2:2012. Мэдээллийн технологи. Объектийн удирдлагын групп нэгдсэн загварчлалын хэл (OMG UML). 2-р хэсэг. Дээд бүтэц" (eng. "Мэдээллийн технологи -- Объект удирдлагын групп". Загварын нэгдсэн хэл (OMG UML) - 2-р хэсэг: Дээд бүтэц").

    Албан ёсны хэлний хамгийн сүүлийн үеийн тодорхойлолтыг www.omg.org сайтаас олж болно.

    UML-ийн ерөнхий бүтцийг дараах зурагт үзүүлэв.

    Цагаан будаа. 11.1. UML бүтэц

    11.2. UML семантик ба синтакс

    Семантик - хэлний нэгжийн утгыг судалдаг хэл шинжлэлийн салбар, ялангуяа түүний үг хэллэг.

    Синтакс - үг, тэдгээрийн хэлбэрийг хэллэг, өгүүлбэр болгон нэгтгэх, өгүүлбэрийг нийлмэл өгүүлбэр болгон нэгтгэх, текстийн нэг хэсэг болгон өгүүлбэр үүсгэх арга замууд.

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

    11.3. UML тэмдэглэгээ

    Тэмдэглэгээ нь семантикийг дүрслэн харуулах график тайлбар юм.

    UML нь гурвыг тодорхойлдог аж ахуйн нэгжийн төрөл :

    Бүтцийн - үзэл баримтлал эсвэл физик объектын тусгал болох хийсвэрлэл;

    Бүлэглэх - диаграмын элементүүдийн зарим семантик хослолд ашигладаг элемент;

    Тайлбар (тэмдэглэл) - диаграммын элементийн тайлбар.

    Дараах хүснэгтийг үзүүлэв Товч тодорхойлолтГрафик тэмдэглэгээнд хэрэглэгддэг үндсэн объектууд, тэдгээрийг харуулах үндсэн арга замууд.

    Хүснэгт 11.1. Аж ахуйн нэгж

    Төрөл Нэр Зориулалт Тодорхойлолт (семантик)
    Бүтцийн
    (анги)
    Олон объект байгаа ерөнхий бүтэцболон зан байдал

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

    (жүжигчин)

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

    (хэрэглэх тохиолдол)
    Жүжигчний хувьд мэдэгдэхүйц үр дүнд хүргэдэг системээс гүйцэтгэсэн үйлдлийн тайлбар

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

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

    (интерфэйс)

    iCalculation
    Анги эсвэл бүрэлдэхүүн хэсгээс үзүүлж буй үйлчилгээг (үйлчилгээний багц) тодорхойлсон үйлдлүүдийн багц

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

    (хэсэг)
    Жүжигчдийн жишээ ба объектуудын хоорондын тодорхой харилцан үйлчлэлийн талбар

    (үйл ажиллагааны хуваалт)
    Нэг байгууллага (жүжигчин, объект, бүрэлдэхүүн хэсэг, зангилаа гэх мэт) гүйцэтгэдэг бүлэг үйл ажиллагаа (хариуцлагын бүс)

    (тасалдах үйл ажиллагааны бүс)
    Ер бусын нөхцөл байдал үүссэний үр дүнд гүйцэтгэх хэвийн дараалал нь тасалдаж болох үйл ажиллагааны бүлэг
    Тайлбар Анхаарна уу
    (сэтгэгдэл)
    Элементийн талаар сэтгэгдэл бичнэ үү. Тайлбар бичсэн элементэд тасархай шугамаар хавсаргана

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

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

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

    Хүснэгт 11.3. Харилцаа

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

    Холбооны хувьд нэгтгэх, бүрэлдэхүүнийг зааж өгч болно олон талт байдал (eng. multiplicity), харилцаанд оролцож буй аж ахуйн нэгжүүдийн нийт тохиолдлын тоог тодорхойлдог. Энэ нь ихэвчлэн харгалзах аж ахуйн нэгжийн ойролцоох харилцааны тал бүр дээр тэмдэглэгдсэн байдаг. Олон талт байдлыг дараах байдлаар илэрхийлж болно.

    - * – аль ч хувийг оруулаад хэдэн ч хувь;

    Сөрөг бус бүхэл тоо - үржвэр нь хатуу тогтсон бөгөөд заасан тоотой тэнцүү байна (жишээлбэл: 1, 2 эсвэл 5);

    "эхний тоо.. хоёр дахь тоо" сөрөг бус бүхэл тоонуудын хүрээ (жишээ нь: 1..5, 2..10 эсвэл 0..5);

    Тодорхой анхны утгаас дурын эцсийн "эхний тоо.. *" хүртэлх тооны муж (жишээ нь: 1..*, 5..* эсвэл 0..*);

    Сөрөг бус бүхэл тоо болон мужуудыг таслалаар тусгаарласан жагсаалт (жишээ нь: 1, 3..5, 10, 15..*).

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

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

    Хүснэгт 11.4. Өргөтгөх механизмууд

    Нэр Зориулалт Тодорхойлолт (семантик)
    Стереотип
    (стереотип)
    « » Тэмдэглэгээний элементийн утгыг тодорхойлсон тэмдэглэгээ (жишээ нь: "оруулах" хэвшмэл ойлголттой хамаарлыг оруулах хамаарал, "хязгаар" хэвшмэл ойлголттой анги нь хилийн анги гэж үзнэ)
    Хамгаалалтын нөхцөл
    (хамгаалалтын нөхцөл)
    Булийн нөхцөл (жишээ нь: эсвэл [тодорхойлолт дууссан])
    Хязгаарлалт
    (хязгаарлалт)
    { } Загварын элементийн семантикийг хязгаарласан дүрэм (жишээлбэл, (гүйцэтгэх хугацаа 10 мс-ээс бага))
    Дарцагласан утга
    (хаягласан үнэ цэнэ)
    { } Тэмдэглэгээний элементийн шинэ эсвэл тодруулах шинж чанар (жишээ нь: (хувилбар = 3.2))

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

    a) стандарт тэмдэглэгээ б) стандарт тэмдэглэгээ
    Текстийн хэвшмэл ойлголттой
    в) график хэвшмэл ойлголт

    Цагаан будаа. 11.2. Стандарт ба хэвшмэл ангиллын дэлгэцийн жишээ

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

    Хүснэгт 11.5. Диаграммууд

    Диаграм Зорилго
    бие махбодийн хэрэгжилтийн зэрэглэлийн дагуу динамикийг харуулах замаар харуулсан талаас нь

    (хэрэглэх тохиолдол)
    Системийн функцууд, жүжигчид болон функцүүдийн хоорондын харилцан үйлчлэлийг харуулна Логик Статик Функциональ

    (анги)
    Ангиуд, интерфэйсүүд болон тэдгээрийн хоорондын харилцааг харуулна Логик эсвэл
    физик
    Статик Функциональ ба мэдээллийн

    (багц)
    Багцуудын багц болон тэдгээрийн хоорондын хамаарлыг харуулна Логик эсвэл
    физик
    Статик Бүрэлдэхүүн хэсэг
    Зан төлөв
    (зан байдал)

    (улсын машин)
    Аж ахуйн нэгжийн төлөв байдал, түүний амьдралын мөчлөгийн хоорондох шилжилтийг харуулна Логик Динамик Зан төлөв

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

    (дараалал)
    Объект ба жүжигчдийн хооронд дамжих мессежийн дарааллыг харуулна

    (харилцаа холбоо)
    Дарааллын диаграммтай төстэй боловч объект хоорондын харилцан үйлчлэлийн бүтцэд онцгой анхаарал хандуулдаг
    Хэрэгжилт
    (хэрэгжүүлэх)

    (бүрэлдэхүүн хэсэг)
    Системийн бүрэлдэхүүн хэсгүүд (програм, номын сан, хүснэгт гэх мэт) болон тэдгээрийн хоорондын холболтыг харуулна Физик Статик Бүрэлдэхүүн хэсэг

    (байрлуулах)
    Сүлжээний зангилаа дээрх бүрэлдэхүүн хэсгүүдийн байршил, түүнчлэн түүний тохиргоог харуулна

    UML 2.x стандарт нь мөн нэмэлт, өндөр мэргэшсэн диаграммуудыг тодорхойлдог:

    Объектын диаграмм - ижил төстэй боловч ангиудын оронд объектуудыг харуулдаг;

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

    Нийлмэл бүтцийн диаграмм - бусад ангиудтай харилцах ангийн портуудыг (интерфейсийг оруулаад) дүрсэлсэн;

    Профайл диаграмм - тэдгээрт багтсан ангиудын тайлбартай төстэй;

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

    Системийн дотоод архитектурыг томруулсан үзэл баримтлалын төлөөллийн хувьд барилгын ихэнх хэсэг нь тогтсон график хэвшмэл ойлголтыг ашиглах боломжийг олгодог. Ийм диаграммыг 1 гэж нэрлэдэг боловч UML стандартаар тодорхойлсон диаграммуудын жагсаалтад хамаарахгүй.

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

    Хүснэгт 11.6. Загвар ба диаграмм хоорондын хамаарал

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

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

    4. "" гэсэн ойлголтыг тодорхойл.