UML диаграммууд. UML диаграммд зориулсан програм хангамжийн дизайн програм

Дүрсийг дүрслэх SVG шошгоны дэд багцыг ашиглан XML файлд тодорхойлсон шинэ тэмдэгтүүдийг нэвтрүүлснээр програмын чадавхийг хялбархан өргөжүүлж болно. Dia нь диаграммыг XML форматаар ачаалж хадгалах боломжтой (анхдагчаар, зай хэмнэхийн тулд gzip шахагдсан), диаграмыг EPS эсвэл SVG формат руу экспортлох, хэвлэх (олон хуудас болгон хуваах гэх мэт) боломжтой.

Диа бол энэ тоймд хамгийн энгийн програм юм. Энэ нь Gnome орчинд Linux дээр ажилладаг бөгөөд gtk+ болон glib номын сангуудыг шаарддаг. Windows-д зориулсан Dia порт байдаг бөгөөд энэ нь ерөнхийдөө тааламжтай туршлага юм. Хөтөлбөр нь эцсийн хувилбарт хараахан хүрээгүй байгаа хэдий ч Диа аль хэдийн ашиглах боломжтой байдалд байгаа бөгөөд бүтээгдэхүүн нь байнга динамикаар хөгжиж байна. Тийм ээ, дашрамд хэлэхэд Диа нь Орос, Украин зэрэг олон хэл, бүс нутгийн стандартыг дэмждэг.

Dia-ийн интерфейс нь бусад "gnomish" програмууд, ялангуяа Gimp-тэй төстэй юм. Энэ интерфейсийн хэв маяг хэзээ хэрэгслийн мөр, ажлын талбай болон бусад элементүүдийг тусдаа цонх болгон зохион байгуулсан нь Windows хэрэглэгчдийн нүдэнд бага зэрэг ер бусын юм. Гэхдээ гол зүйл бол Диа үнэхээр үнэ төлбөргүй юм! Та үндсэн хуудаснаас гүйцэтгэгдэх файл болон эх кодыг хоёуланг нь татаж авах боломжтой, кодонд өөрчлөлт оруулах, түгээх гэх мэт (Зураг 7.12).


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

Ерөнхийдөө, хэрэв таны уриа "хялбар байх тусмаа сайн" бол Диа таны хамгийн сайн сонголт юм. Нэмэлт мэдээлэл авахыг хүсвэл дараах сайтуудаар зочлохыг зөвлөж байна.

  • http://www.gnome.org/projects/dia/home.html Бүтээгдэхүүний албан ёсны вэбсайт, тэнд тийм ч их мэдээлэл байдаггүй, гэхдээ та хэрэгтэй зарим зүйлийг, тухайлбал Dia-д зориулсан гарын авлага, түгээмэл асуултуудыг олж авах боломжтой. Англи хэл).
  • http://www.gnome.org/projects/dia/faq.html Мөн энэ нь бүтээгдэхүүний талаархи түгээмэл асуултууд юм.

Telelogic TAU G2

Эцэст нь Telelogic-ийн TAU G2. Энэ нь хүч чадал, ашиглахад хялбар байдлыг хослуулсан домогт загварчлалын хэрэгсэл бөгөөд таны бүтээсэн загваруудыг анхны баталгаажуулах, загварчлах онцгой боломжийг олгодог. Бид яагаад "домог" гэж хэлдэг вэ? Тийм ээ, учир нь бүх мэргэжилтнүүд TAU-ийн талаар сонссон, гэхдээ бараг хэн ч үүнийг харж, ажил дээрээ туршиж үзээгүй! Telelogic бидэнд боловсролын зориулалтаар ашиглах бүтээгдэхүүнээ өгөх хүртэл бид үүнийг хараагүй.

Гэсэн хэдий ч програмын интерфейс нь Windows XP-ийн хэв маягаар онцгой гоо үзэсгэлэнгээр гялалздаггүй бөгөөд тэр ч байтугай бага зэрэг эртний харагддаг боловч энэ нь үнэхээр тохиромжтой бөгөөд ойлгомжтой юм (Зураг 7.13):

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

  • Windows 2000 Professional,
  • Windows XP,
  • Нарны Соларис,
  • Redhat Enterprise Linux,
  • Citrix XPe.

Дараах хөрвүүлэгчийг дэмждэг:

  • Microsoft Visual Studio .NET,
  • Салхины голын систем C/C++,
  • gnu gcc
  • Sun Studio 8 C/C++,
  • Java SDK**,
  • Green Hills MULTI C, C++. TAU нь Microsoft Visual Studio .NET болон Eclipse зэрэг орчинд нэгтгэгддэг.

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

  • TAU/Загвар зохиогч

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

  • TAU/Архитектор

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

  • TAU/Хөгжүүлэгч

    C, C++ эсвэл Java-д зориулсан код үүсгэгчийг нэмсэн нь хөгжүүлэгчдэд илүү үр дүнтэй ажиллах боломжийг олгоно.

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

Дэлгэрэнгүй мэдээллийг Telelogic корпорацийн вэбсайтаас авах боломжтой:

  • http://www.telelogic.com Telelogic бүтээгдэхүүн, UML, OOAP болон ерөнхийдөө програм хангамжийн инженерчлэл (англи хэлээр) зэрэг мэдээллийн далайг агуулсан бүтээгдэхүүний албан ёсны вэбсайт.
  • http://www.telelogic.com/corp/products/tau/index.cfm Энэ бол TAU-д зориулсан сайтын хэсэг юм. Эндээс та бүтээгдэхүүний тодорхойлолт, үйл ажиллагааны тойм, техникийн үзүүлэлтүүд болон бусад олон нэмэлт материалыг олж авах боломжтой.

StarUML

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

StarUML нь Delphi дээр бичигдсэн, Windows үйлдлийн системүүдийн гэр бүлийн систем дээр ажилладаг нээлттэй эхийн багц юм. StarUML нь UML 2.0 (түүний профайл дээр нэмээд) болон MDA (Загвар хөтлөгч архитектур - Википедиа-г үзнэ үү!) -ийг дэмждэг. Багцын функцийг залгаасуудын тусламжтайгаар өргөжүүлж болох тул хэн ч гэсэн StarUML-д зориулж өөрийн модулийг COM-тай нийцэх дурын хэлээр (C++, Delphi, C#, ...) үүсгэж болно. Төслийн вэбсайтаас ER диаграмм (Аж ахуйн нэгжийн харилцааны диаграмм), зарим UML профайл, жишээлбэл SPEM (Програм хангамжийн процессын инженерчлэл метамодел), WAE (Вэб програмын өргөтгөл), MS Word-тэй нэгтгэх гэх мэт дэмжлэгийг нэмдэг хэд хэдэн модулийг төслийн вэбсайтаас татаж авах боломжтой. .

StarUML-ийн давуу тал нь ашиглах боломжтой юм. Багцын интерфэйс нь дээр дурдсан java програмууд шиг олон өнгийн "хуванцар" хяналтаар сайрхаж чадахгүй, гэхдээ энэ нь маш тохиромжтой, ойлгомжтой юм. Хамгийн гол нь StarUML нь... Microsoft Visual Studio-той төстэй (Enterprise Architect ч бас MSVS-тэй бага зэрэг төстэй байсан ч энд бид зүгээр л дуураймал бүтээлийг харж байна). Үнэхээр амжилттай интерфейсийн шийдлүүдийг яагаад зээлж болохгүй гэж? Ерөнхийдөө StarUML нь дээр дурдсан Rational Rose, Togete эсвэл TAU G2 зэрэг арилжааны хөтөлбөрүүдийг амжилттай орлож чадна гэдэгт бид итгэдэг. Та асууж магадгүй: "Код үүсгэх талаар юу?" Хариулт нь код үүсгэх бас байдаг. "Хайрцагнаас нь гарсан" багц нь C++, C#, Java хэл дээр код үүсгэх чадвартай. Хэрэв та StarUML вэбсайт дээр байгаа загваруудыг ашигладаг бол PHP болон бусад хэлний дэмжлэгийг нэмж болно (Зураг 7.14).

Дашрамд хэлэхэд, дээр дурдсанчлан бид MS Word програмтай нэгтгэх талаар дурдсан. Word програмаас гадна StarUML нь текст файл, MS Excel болон MS PowerPoint файл хэлбэрээр баримт бичгийг үүсгэх чадвартай. Сэтгэл хөдөлгөм? Rational Rose-ээс импорт бас бий! Өөрөөр хэлбэл, эдгээр мөрийн зохиогч StarUML-д зүгээр л сэтгэл татагддаг.

Дахин бид уншигчийг хөтөлбөрийн вэбсайт руу илгээж байна:

  • Хөтөлбөр, түүний боломжууд, үүсгэсэн түүх, лицензийн шинж чанаруудыг тодорхойлсон хуудас (англи хэл дээр).
  • Энэ бол StarUML-ийн ажиллагааг өргөжүүлэх модулиудад зориулагдсан сайтын хэсэг юм. Үүнийг шалгахаа мартуузай!
  • StarUML-д зориулсан нэмэлт загваруудыг татаж авах тайлбар ба холбоосууд нь код үүсгэх, баримт бичиг үүсгэх чадварыг өргөжүүлэх боломжийг танд олгоно.
  • StarUML-ийн баримт бичгийн холбоосыг агуулсан хуудас, түүний дотор орос хэл дээр!

дүгнэлт

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

  • Одоогийн байдлаар зах зээл дээр UML гэх мэт диаграмм зурахад зориулагдсан маш олон тооны бүрэн хэмжээний UML загварчлалын хэрэгсэл, програмууд байдаг.
  • Borland Together, Poseidon, StarUML, Dia зэрэг бүтээгдэхүүнийг үйлдвэрлэгчийн вэбсайтаас үнэ төлбөргүй татаж авах боломжтой.
  • StarUML нь үнэ төлбөргүй бүтээгдэхүүнүүдийн хамгийн их ажиллагаатай бөгөөд арилжааны UML загварчлалын программуудыг бүрэн орлуулах боломжтой юм.
  • Sparx Systems-ийн Zicom Mentor нь лавлагаа болгон ашиглахад тохиромжтой бөгөөд үүнийг үнэ төлбөргүй авах боломжтой.
  • UML дизайны хэрэглүүрийг сонгох нь нарийн төвөгтэй бөгөөд маргаантай асуудал бөгөөд хүн бүр өөрийн хэрэгцээ, мэдлэгийн түвшин гэх мэт үүнийг өөрөө шийдэх ёстой.

Дасгал

  • Тусдаа агуулах бүхий өнгөлгөөний материалын дэлгүүрт бараа худалдан авах үйл явцыг автоматжуулах програм хангамжийн UML диаграммыг бүтээх. Энэ үйл явцыг дараах байдлаар тодорхойлж болно. Худалдагч нь үйлчлүүлэгчид бүтээгдэхүүний код, нэр, тоо хэмжээг харуулсан захиалга өгдөг. Үйлчлүүлэгч нь барааны үнийг кассан дээр төлдөг. Үүний тулд кассчин тухайн бүтээгдэхүүнийг мэдээллийн сангаас кодоор нь олж, өртгийг нь тооцох ёстой. Үүний үр дүнд үйлчлүүлэгч агуулахад бэлэн мөнгөний баримт, бараа хүлээн авсан нэхэмжлэлийг хүлээн авч, агуулах руу очдог. Тэнд тэрээр нэхэмжлэхийг агуулахад өгөх бөгөөд тэрээр барааг кодоор нь хайж, шаардлагатай тоо хэмжээг үйлчлүүлэгчид өгдөг. Үүний дараа хадгалагч барааны нягтлан бодох бүртгэлийн дэвтэрт бараа гарсан бөгөөд тоо хэмжээ нь буурсан гэж тэмдэглэнэ.
  • Диаграммыг бүтээхийн тулд дараах CASE хэрэгслийг ашиглана уу.
    • ашиглах тохиолдлын диаграмм - Хамтдаа;
    • ангийн диаграмм - Посейдон;
    • дарааллын диаграмм - SmartDraw;
    • төлөвийн диаграмм - StarUML.

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

  • Сэдвийн талбарт дүн шинжилгээ хийх, техникийн тодорхойлолтыг бий болгох (үйлчлүүлэгчтэй харилцах)
  • Програмын бүтцийг боловсруулах
  • Кодлох (төслийн баримт бичгийн дагуу програмын кодын багц)
  • Туршилт ба дибаг хийх
  • Хөтөлбөрийн хэрэгжилт
  • Хөтөлбөрийн дэмжлэг
  • Устгах
Загварын үйл явцыг нарийвчлан авч үзье. Дизайн боловсруулах явцад архитектор эсвэл туршлагатай програмист ирээдүйн програмын текстийн тайлбар, диаграмм, загвар зэрэг дизайны баримт бичгийг бий болгодог. UML хэл нь энэ хүнд хэцүү ажилд бидэнд туслах болно.

UML нь янз бүрийн системийн (ялангуяа программ) дүрслэл, параметрийн тодорхойлолт, дизайн, баримтжуулалтад зориулагдсан график хэл юм. Диаграммуудыг Rational Rose (http://www-01.ibm.com/software/rational/) болон Enterprise Architect (http://www.sparxsystems.com.au/) зэрэг тусгай CASE хэрэгслүүдийг ашиглан бүтээдэг. UML технологи дээр суурилсан мэдээллийн нэгдсэн загвар бүтээгдсэн. Дээрх CASE хэрэгслүүд нь янз бүрийн объект хандалтат хэл дээр код үүсгэх чадвартай бөгөөд урвуу инженерчлэлийн маш ашигтай функцтэй. (Урвуу инженерчлэл нь одоо байгаа програмын код болон түүнд өгсөн тайлбараас график загвар үүсгэх боломжийг олгодог.)

Загварыг дүрслэн харуулах диаграммуудын төрлийг харцгаая (энэ нь заавал байх ёстой, гэхдээ өөр олон төрөл байдаг):

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ижил төстэй хэрэгслүүдийн талаар товч танилцуулсны дараа 5-ыг тодорхойлж, илүү нарийвчлан үнэлэв. Үнэлгээний явцад миний хамтран зүтгэгч бид хоёр үнэлгээний бодитой байдлын 30 орчим шалгуурыг тодорхойлсон. Бид эдгээр шалгуурыг дараах байдлаар бүлэглэсэн.
- Системийн дизайн– Хэрэгсэл нь шаардлага, АНУ-ын тохиолдол, OO дизайн болон бусад UML диаграммуудыг баримтжуулахад хангалттай функцээр хангадаг уу? Энэ нь янз бүрийн төрлийн объектуудын хооронд хамаарал үүсгэх, өөрчлөлтийг хянах чадвартай эсэх. Энэ нь багажийн хувьд заавал байх ёстой шалгуур юм.
- Экспорт- хэрэгсэл нь түүнд үйлдвэрлэсэн олдворуудыг экспортлоход тохиромжтой байх ёстой. Янз бүрийн экспортын форматууд байх ёстой - хамгийн багадаа html болон doc. Баримт бичгийн загваруудыг өөрчлөхөд хялбар байх ёстой. Энэ нь бас заавал байх ёстой шалгуур юм.
- Ашиглахад хялбар.Хэрэгсэл нь хэрэглэгчдэд ээлтэй, ойлгомжтой, байнга ашиглагддаг функцүүдэд зориулсан энгийн интерфейстэй байх ёстой.
- Дасгалыг багасгах. Энэ хэрэгсэл нь зарим зүйлийг өөрөө хийсэн бол сайн байх болно - жишээлбэл, тестийн кейс үүсгэх, мэдээллийн сангаас объектын дизайн, магадгүй хэсэг код.

Тиймээс, 5 хэрэгсэл, тэдгээрийн үнэлгээ.
1. Кейс дууссан– шаардлагуудыг бүртгэх, АНУ-ын тохиолдлууд болон тэдгээрийн хоорондын холболтыг бий болгох хэрэгсэл. Тохиромжтой интерфэйс, экспорт, гэхдээ нэг ноцтой дутагдал - энэ зүйл нь АНУ-ын тохиолдлуудаас хэтрэхгүй. Тэр бидний жагсаалтад хэрхэн орсон нь үнэндээ тодорхойгүй байна. 5-аас 2.
2. Artiso Visual Case- Энэ хэрэгслийг ашиглах үед таны анхаарлыг татдаг хамгийн эхний зүйл бол маш тохиромжгүй хэрэглэгчийн интерфейс юм. Үндсэн анги үүсгэхэд 5 минут зарцуулсан. Нэмж дурдахад, хэрэгсэл нь объектуудыг холбох чадваргүй (АНУ-ын тохиолдол гэх мэт<->анги) гэх мэт 5-аас 1.
3. Шидэт сугалаа– хэрэгсэл нь UML-д маш хүчтэй байдаг, гэхдээ энэ нь үүнийг бага зэрэг эвгүй болгодог. Мөн өөр өөр объектуудын хооронд ямар ч холбоо байхгүй (анги болон үйл ажиллагаа гэх мэт). 5-аас 3.
4. Sparx Enterprise Architect- дэвшүүлсэн бараг бүх шалгуурыг хангасан, зөвхөн байнга ашиглагддаг зарим функцүүд хаа нэгтээ нуугдаж байна. Дасчихвал зүгээр байх. Түүнчлэн, би түүнээс шаардлагыг дизайны объектуудтай хэрхэн холбохыг олж чадаагүй. Магадгүй би сайн хайгаагүй байх. 5-аас 4.
5. Sybase PowerDesigner– Хөтөлбөрийг нээсний дараах анхны сэтгэгдэл огт өөр түвшинд байна. Бүх функцууд нь таны хүлээж байсан газарт яг таарч байгаа бөгөөд энэ хэрэгсэл нь дээр дурдсан бүх 30 шалгуурыг хангасан. Нэмж дурдахад PowerDesigner нь шалгуурын жагсаалтад ороогүй маш олон ашигтай функцуудтай байдаг - нөлөөлөл, загвар шалгах, хадгалах газар гэх мэт. 5-аас 5.

Сонирхсон хүн байвал би бүрэн харьцуулалтыг энд орууллаа.

Хэдийгээр PowerDesigner нь бусдаас хэд дахин илүү үнэтэй ч бид үүнийг сонгосон. Өнөөдрийн байдлаар би үүнийг 2 сарын турш хэрэглэж байна - хэрэв хэн нэгэн сонирхож байвал би энэ тухай бичиж болно - энэ талаар бүх зүйл төгс биш (гэхдээ ойрхон!).

Та Rational Rose-г яагаад жагсаалтад оруулаагүйг шууд асуух байх. Би түүнд хайргүй! Тэр царайлаг биш. Гэсэн хэдий ч би үүнийг хууль ёсны дагуу хаанаас татаж авахаа олж чадсангүй. Гэхдээ үндсэндээ тэр сайн. Гэхдээ PowerDesigner нь илүү дээр юм

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

Арилжааны бүтээгдэхүүн

Microsoft Visio

Төрөл: арилжааны програм хангамж

UML зэрэг баялаг диаграмм зурах боломжийг олгодог Microsoft-ын алдартай програм хангамжийн бүтээгдэхүүн:

2010 оны хувилбараас эхлэн диаграммуудыг вэб дээр нийтлэх боломжтой болсон (SharePoint + Visio Services):

Visio Viewerнь өмнө нь үүсгэсэн Visio диаграммуудыг үзэх боломжийг олгодог үнэгүй програм юм. Та %D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B5%20 дээрээс татаж авах боломжтой.

% 0A

Microsoft%20Visual%20Studio%202010

% 0A

%D0%A2%D0%B8%D0%BF:%20%D0%BA%D0%BE%D0%BC%D0%BC%D0%B5%D1%80%D1%87%D0%B5%D1% 81%D0%BA%D0%BE%D0%B5%20%D0%9F%D0%9E%20(%D0%B5%D1%81%D1%82%D1%8C%20%D0%B1%D0 %B5%D1%81%D0%BF%D0%BB%D0%B0%D1%82%D0%BD%D0%B0%D1%8F%20Express%20%D0%B2%D0%B5%D1%80 %D1%81%D0%B8%D1%8F).

% 0A

%D0%92%20%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BD%D0%B5%D0%B9%20%D0%B2%D0 %B5%D1%80%D1%81%D0%B8%D0%B8%20Microsoft%20Visual%20Studio%202010%20%D0%BF%D0%BE%D1%8F%D0%B2%D0%B8%D0 %BB%D1%81%D1%8F%20%D0%BD%D0%BE%D0%B2%D1%8B%D0%B9%20%D1%82%D0%B8%D0%BF%20%D0 %BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0%20-%20Загварчлал,%20%D0%BA%D0%BE%D1%82%D0%BE %D1%80%D1%8B%D0%B9%20%D0%BF%D0%BE%D0%B7%D0%B2%D0%BE%D0%BB%D1%8F%D0%B5%D1%82 %20%D1%80%D0%B8%D1%81%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D1%80%D0%B0%D0%B7%D0 %BB%D0%B8%D1%87%D0%BD%D1%8B%D0%B5%20UML%20%D0%B4%D0%B8%D0%B0%D0%B3%D1%80%D0%B0 %D0%BC%D0%BC%D0%B0%20%D0%B8%20D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D1%8F%D1 %82%D1%8C%20%D0%BD%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5%20 %D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%BD%D0%B0%20%D1%81%D0%BE%D0 %BE%D1%82%D0%B2%D0%B5%D1%82%D1%81%D1%82%D0%B2%D0%B8%D0%B5%20%D1%81%20%D0%BD %D0%B5%D0%BE%D0%B1%D1%85%D0%BE%D0%B4%D0%B8%D0%BC%D0%BE%20%D0%B0%D1%80%D1%85 %D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%BE%D0%B9.

% 0A

%D0%9F%D0%BE%D0%B7%D0%B2%D0%BE%D0%BB%D1%8F%D0%B5%D1%82%20%D0%B3%D0%B5%D0%BD %D0%B5%D1%80%D0%B8D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20Дараалал%20Диаграм%20%D0%BD%D0%B0 %20%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8%20%D0%BA%D0%BE%D0 %B4%D0%B0,%20%D0%B2%D0%B8%D0%B7%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B8%D1%80% D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D1%81%D0%B2%D1%8F%D0%B7%D0%B8%20%D0%B2%20% D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B5%20%D0%BC%D0%B5%D0%B6%D0%B4%D1%83% 20%D0%BA%D0%BE%D0%BC%D0%BF%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D0%B0%D0%BC%D0%B8, %20%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B0%D0%BC%D0%B8%20%D0%B8%20D1%81%D1%81 %D1%8B%D0%BB%D0%BA%D0%B0%D0%BC%D0%B8%20%D0%B8%20D1%82.%D0%B4.

% 0A

%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20Ашиглах%20 тохиолдол%20%D0%B4%D0%B8%D0%B0%D0%B3%D1%80 %D0%B0%D0%BC%D0%BC%D1%8B,%20%D0%BD%D0%B0%D1%80%D0%B8%D1%81%D0%BE%D0%B2%D0% B0%D0%BD%D0%BD%D0%BE%D0%B9%20%D0%B2%20Visual%20Studio%202010:

%0A%0A

%D0%9A%D1%80%D0%BE%D0%BC%D0%B5%20D1%82%D0%BE%D0%B3%D0%BE,%20%D0%B4%D0%BE% D1%81%D1%82%D1%83%D0%BF%D0%B5%D0%BD%20Дүрслэл%20ба%20Загварчлал%20Онцлог%20Багц%20(%D0%B4%D0%BB%D1%8F%20 %D0%BF%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D1%87%D0%B8%D0%BA%D0%BE%D0%B2%20MSDN),%20 %D0%BA%D0%BE%D1%82%D0%BE%D1%80D1%8B%D0%B9%20%D0%BF%D0%BE%D0%B7%D0%B2%D0%BE %D0%BB%D1%8F%D0%B5%D1%82:

% 0A
  • %D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20 %D0%BA%D0%BE%D0%B4%20%D0%BD%D0%B0%20%D0%B1%D0%B0%D0%B7%D0%B5%20UML%20%D0%B4%D0 %B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%20%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0 %BE%D0%B2
  • % 0A
  • %D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%B2D0%B0%D1%82%D1%8C%20UML%20%D0%B4%D0%B8%D0 %B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B%20%D0%B8%D0%B7%20%D0%BA%D0%BE%D0%B4 %D0%B0
  • % 0A
  • %D0%B8%D0%BC%D0%BF%D0%BE%D1%80D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1 %8C%20UML%20%D0%B4%D0%B8%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B%20%D0%BA%D0 %BB%D0%B0%D1%81%D1%81%D0%BE%D0%B2,%20%D0%B4%D0%B8%D0%B0%D0%B3%D1%80%D0%B0% D0%BC%D0%BC%D1%8B%20%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0% D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B5%D0%B9,%20%D0%B4%D0%B8 %D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B%20%D0%B2%D0%B0%D1%80%D0%B8%D0%B0 %D0%BD%D1%82%D0%BE%D0%B2%20%D0%B8D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE %D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20%D1%81%20XMI%202.1
  • % 0A
  • %D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%B2%D0%B0%D1%82%D1%8C%20%D0%B4%D0%B8%D0%B0 %D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B%20%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8 %D0%BC%D0%BE%D1%81%D1%82%D0%B5%D0%B9%20D0%B4%D0%BB%D1%8F%20ASP.NET,%20C%20%D0% B8%20C++%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%BE%D0%B2
  • % 0A
  • %D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%B2%D0%B0%D1%82%D1%8C%20%D0%B8%20%D0%BF%D1 %80%D0%BE%D0%B2%D0%B5%D1%80D1%8F%D1%82%D1%8C%20давхарга%20диаграмм%20%D0%B4%D0%BB%D1%8F%20C %20%D0%B8%20C++%20%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%BE%D0%B2
  • % 0A
  • %D0%BF%D0%B8%D1%81%D0%B0%D1%82%D1%8C%20%D1%81%D0%BE%D0%B1%D1%81%D1%82%D0%B2 %D0%B5%D0%BD%D0%BD%D1%8B%D0%B5%20D0%BF%D1%80D0%BE%D0%B2%D0%B5D1%80%D0%BA %D0%B8%20%D0%B4%D0%BB%D1%8F%20давхарга%20диаграмм
  • % 0A

%D0%A1%D0%BA%D0%B0%D1%87%D0%B0%D1%82%D1%8C%20Дүрслэл%20ба%20Загварчлал%20Онцлог%20Багц%20%D0%BC%D0%BE%D0 %B6%D0%BD%D0%BE%20%D0%BF%D0%BE%20D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B5:%20 http://msdn.microsoft.com/ru-ru/vstudio/ff655021%28en-us%29.aspx.

IBM Rational Rose

Боломжууд:

  • Хэрэглэх тохиолдлын диаграмм;
  • Байршуулах диаграм (топологийн диаграм);
  • Төрийн диаграмм;
  • Үйл ажиллагааны диаграмм;
  • Харилцааны диаграмм;
  • Дарааллын диаграмм;
  • Хамтын ажиллагааны диаграмм;
  • Ангийн диаграмм;
  • Бүрэлдэхүүн хэсгийн диаграм.

Дэлгэцийн агшин:

Нээлттэй эхийн програмууд

StarUML

Боломжууд:

  • UML 2.0 дэмжлэг
  • MDA (Загварт тулгуурласан архитектур)
  • Plug-in Architecture (та COM нийцтэй хэлээр бичих боломжтой: C++, Delphi, C#, VB, ...)

StarUML нь ихэвчлэн Delphi хэл дээр бичигдсэн боловч бүрэлдэхүүн хэсгүүдийг C/C++, Java, Visual Basic, Delphi, JScript, VBScript, C#, VB.NET гэх мэт бусад хэлээр бичиж болно. Доор зарим дэлгэцийн агшин байна.

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

Хэрэглэх тохиолдлын диаграм:

ArgoUML

Дэмжигдсэн графикууд:

  • Анги
  • муж
  • Хэрэглэх тохиолдол
  • Үйл ажиллагаа
  • Хамтын ажиллагаа
  • Байрлуулалт
  • Дараалал

Боломжууд:

  • Есөн UML 1.4 диаграммыг дэмждэг
  • Платформ бие даасан (Java 5+)
  • UML 1.4 Стандарт метамодель
  • XMI дэмжлэг
  • GIF, PNG, PS, EPS, PGML болон SVG руу экспортлох
  • Хэл: EN, EN-GB, DE, ES, IT, RU, FR, NB, PT, ZH
  • OCL дэмжлэг
  • Урагш, урвуу инженерчлэл

Дэлгэцийн агшин:

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

  • дизайн;
  • хэрэгжилт;
  • туршилт;

Дизайн бол програм хангамж хөгжүүлэх гол үе шат юм. Үүний үндсэн дээр хөтөлбөр хэрэгжих юм.

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

UML дизайны хувьд програмчлалын аль нэг хэлээр загварчилсан диаграммыг үүсгэх тусгай редакторууд байдаг. Тэдгээр. UML засварлагчийн диаграммд бүтээгдсэн ангиуд болон аргуудыг програмчлалын хэлүүдийн аль нэг рүү хөрвүүлэх, жишээлбэл, C++. Үүний дараа та зөвхөн аргуудыг хэрэгжүүлж, тэдгээрийг ашиглах хэрэгтэй болно.

РедакторуудUML

UML-д суурилсан бүх дизайны хэрэгслүүдийг шинжлэх боломжгүй байдаг.

1. UML од

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

Энэхүү засварлагч нь үнэ төлбөргүй бөгөөд програмчлалын аль нэг хэлээр (C++, C#, Java) харилцан хамааралтай ангиудыг зохион бүтээх, диаграмм үүсгэх хэд хэдэн функцтэй.

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

UML 2.0-ийг дэмждэг (аргачлалыг дэмжих зорилгоор өргөтгөсөн ЗагварХөтөлсөнХөгжил) Мөн Загварт суурилсан архитектур(мета өгөгдлийг (загвар) удирдах, солилцох хийсвэр метамоделийг бий болгох, түүнийг дэмжигдсэн програмчлалын технологи болгон хувиргах арга замыг тодорхойлох.

Та залгаасууд болон модулиудыг ашиглан UML редактор StarUML-ийн ажиллагааг нэмэгдүүлэх боломжтой. Энэ програмыг ашиглах талаар дэлгэрэнгүй мэдээллийг гарын авлагаас / орос хэл дээр олж болно.

2. Аполлон

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

Энэ модулийн боломжууд нь хоёр чиглэлд урвуу инженерчлэл хийх боломжийг олгодог бөгөөд энэ нь Java 6, UML 2.1-ийг дэмждэг. Шатлалын дээд түвшний диаграммыг боловсруулах боломжийг танд олгоно.

1. Рационал сарнай

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

Энэ програмын нэг давуу тал нь Microsoft Visual Studio орчинтой нэгтгэх явдал юм. Rational Rose нь COM/ATL, XML, ADO MTS ашиглан төсөл хэрэгжүүлэх боломжийг олгодог өргөн хүрээний програм хангамж юм. JSP болон ASP файлын семантикийн урвуу инженерчлэлийг гүйцэтгэдэг. WinDNA болон J2EE/SE/ME загваруудыг дэмждэг.

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

Цагдан хоригдож байна

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