Які основні речі потрібно знати про UML?


18

Я хочу, щоб мої написання програми та поведінки програми стали більш впорядкованими та мали спільну мову з іншими розробниками.

Я подивився на UML і в принципі, здається, це те, що я шукаю, але, здається, це надмірно. Інформація, яку я знайшов в Інтернеті, також здається дуже роздутою та академічною.

Як я можу зрозуміти UML простою англійською мовою, достатньо, щоб я міг пояснити це своїм колегам? Які канонічні ресурси для розуміння UML на рівні землі?


1
Мені більше сподобався старий заголовок, принаймні початок його: "Що найкорисніше 10% UML?" Інакше добре редагувати!
Joey Adams

якщо у вас вже є документація, виписана її, ймовірно, вже в uml, ви просто не знайомі з тим, як вони вирішили назвати ваш тип документації
Ryathal

Відповіді:


4

Сподобалися запитання - такі ж, як і я собі:

Як я можу зрозуміти UML простою англійською мовою, достатньо, щоб я міг пояснити це своїм колегам? Які канонічні ресурси для розуміння UML на рівні землі?

Ось що я знайшов:

Для початку: моїм вибором буде Фаулер UML Distilated . Як вже було сказано, це справді перегонка основ: визначення, приклади, поради щодо того, коли певний тип діаграми слід використовувати чи не слід використовувати. Це також хороша довідка , якщо ви хочете зосередити увагу на певній частині UML, не читаючи обкладинку книги на обкладинці.

Для більш детального, але простого англійського вступу: UML 2 для чайників зробив для моїх колег і мене. Він не тільки представляє UML, його синтаксис та використовує надовго, але має чимало порад щодо хорошої практики програмування та дизайну.

Між двома книгами є випадкові відмінності щодо того, який синтаксис належить до якої версії стандарту UML. Вони, однак, є незначними та, безумовно, не важливими для використання діаграм UML для передачі ідей дизайну. (Наприклад: чи дозволяє UML 2 дискретні множини, тобто показує, що певна властивість може мати саме X, Y або Z об'єкти, а не нуль, один, багато чи більше, ніж X, скажімо, коли імена учасників слід підкреслювати. ..)

Для цілком неакадемічного та менш багатословного вступу: у цьому блозі є статті про різні біти UML: http://blog.diadraw.com/category/uml/

Це не підручник, тому далеко не вичерпний, але він також використовує розповіді та приклади, що не є підручниками, до яких можна звернути увагу. Кілька доступних публікацій зосереджені на візуальному введенні понять UML, тож ви можете повністю пропустити читання тексту.


Посилання на щоденник є приємним.
Hanno Fietz

8

Мені дуже сподобався UML Distilated Мартіна Фаулера . Короткий і милий, і більш ніж адекватний для обговорення на дошці. Отримайте пару примірників і передайте їх команді.


1
+1 за згадку про цю книгу, я повністю забув про неї під час написання своєї відповіді!
Олександр Галкін

2
Чи можете ви трохи пізнати свої враження від книги?

Що було причиною пониження?
кевін клайн

1
Однією з перших речей, які я зробив, коли я став керівником команди, було придбання примірників цієї книги для всіх у моїй команді. Це дало нам усім загальний словник для обговорення наших дизайнів. Деякі з молодших хлопців також повідомили, що це допомогло їм краще зрозуміти діаграми в різних книгах з малюнком, які вони читали.
TMN

2
@kevincline Я зазвичай посилаюсь на Amazon, оскільки вона перетворить посилання у URL-адресу реферала для обміну стеками. Якщо хтось натискає та купує з цієї URL-адреси, Stack Exchange може заробити гроші. Це також стає тривіальним, з інформацією про заголовок, автора та ISBN від Amazon, щоб знайти книгу у своєму улюбленому продавці книги на вибір.
Томас Оуенс

5

Самі діаграми не завжди корисні. Наприклад, діаграма випадку використання не може детально передати бізнес-правила. Діаграма класів може бути дуже корисною, оскільки ви, можливо, зможете генерувати код класу та DLL з нього.

Ці діаграми я вважаю найбільш корисними:

  • Використовуйте діаграму випадку
  • Діаграми класів
  • Діаграма Діаграма
  • Діаграма послідовності

Є дуже багато корисних ресурсів, але перевірте ці:

Edit-1 у відповідь на коментар Марка.

Хоча я не використовую ці ресурси щодня, вони служать швидкою посиланням на синтаксис UML. Вищезазначені ресурси обрані, оскільки вони забезпечують швидке та дещо всебічне подання діаграм UML. Він показує загальні діаграми та допомагає новому користувачеві UML швидко побачити різницю між ними. Перший ресурс, відео, містить детальну інформацію про використання справи та про те, як він стосується інших діаграм. Вищезазначених ресурсів, як очікується, не вистачить для тих, хто хоче вивчити UML або OOD, я розумію, що вивчення таких тем не передбачалося в первісному запитанні.


+1 для діаграм класів , послідовності та активності . Я зовсім не переконаний у діаграмах використання випадків, окрім того, що вони є чудовими обкладинками для звітів, оскільки користувачі, здається, люблять фотографії.
Sjoerd

@Sjoerd, дякую за ваш коментар Як ви правильно вказали, Користувачі випадки люблять користувачі. Також діаграми Use Case мають багато значень. Вони дозволяють ідентифікувати дійових осіб (первинних та вторинних) та дозволяють виявити "випадки Cse Level Cse". Його взаємозв'язок з діаграмою діяльності та діаграмою класів, що будує згуртованість у вашій специфікації. Пам’ятайте, що вони не є заміною детальним правилам бізнесу та повною документацією щодо вимог.
NoChance

Чи можете ви детальніше розповісти про свій досвід роботи з цими ресурсами? Що з ними, а не з іншими, допомогло вам зрозуміти UML?

@MarkTrapp, дякую за ваш коментар та за зміни.
NoChance

2

Якщо вас влаштовує лише 10%, то не варто намагатися дізнатися це з книги UML. Скоріше, ви краще прочитайте хорошу книгу про об'єктно-орієнтований аналіз або схеми дизайну - ці книги дають вам 10%, які ви шукаєте.

Якщо ви все-таки шукаєте підручник для UML, я б рекомендував цю веб-сторінку , особливо це есе на діаграмах UML (Це не реклама, я особисто не маю жодного відношення до цього сайту). Просто перегляньте діаграми і подивіться на них: вони здебільшого самоосмислюються, і ви можете легко зрозуміти, що вони зображують, доки ви знаєте про ООП та загалом дизайн та архітектуру програми.

Чому я б рекомендував саме цю сторінку? (запитав у коментарі)

Є кілька причин, чому мені це сподобалось більше, ніж інші:

  1. Він пропонує вам оглядову таблицю діаграм UML на першій сторінці.
  2. У цій таблиці, окрім короткого опису кожної діаграми UML2.0, також є дуже корисний стовпчик "Пріоритет навчання", який може допомогти початківцю UML визначити найбільш часто використовувані діаграми UML.
  3. Незважаючи на те, що містить діаграми машинно-візуалізації , а також, більшість діаграми виглядають як бути мальованої (ймовірно , вони є мальованої). Я вважаю це знаком того, що моделювання все ще можна робити, використовуючи лише ваш олівець і папір, не потрібно заглиблюватися в програмне забезпечення візуалізації UML на самому початку.

Чи можете ви детальніше розповісти про свій досвід щодо цих рекомендацій? Що з ними, а не з іншими, допомогло вам зрозуміти UML?

1

Посилання на кишеньковий UML 2.0 від O'Reilly трохи детальніше, але це, мабуть, найкращий вибір, оскільки він досить малий, щоб швидко знайти те, що вам потрібно, але все ж є пояснення, коли вони вам потрібні. І це актуально, що не стосується "UML шпаргалок" або довідкових карт, які я знайшов в Інтернеті - вони в основному описують UML 1.x


Чи можете ви детальніше розповісти про свої враження від цієї книги? Що з цим, а не з іншими книгами, допомогло вам зрозуміти UML?

@Mark Trapp: в основному те, що він невеликий, тому ви можете швидко підібрати все необхідне, не гублячись у деталях та особливих випадках.
Майкл Боргвардт

0

Це три частини:

  1. Отримайте офіційну довідку про UML

    У будь-який час ви вивчаєте нову "мову", отримуйте довідку, яку ви можете витягнути та використовувати будь-коли, будь то книга чи інтернет-ресурс. UML Distilated невеликий, має великі пояснення та безліч чітких діаграм. Навіть якщо ви не використовуєте всі функції, ви завжди можете повернутися назад і подивитися на "правильний" спосіб виразити щось.

  2. Використовуйте UML для моделювання речей

    Тепер, коли у вас є посилання, почніть використовувати його для моделювання деяких невеликих існуючих систем або систем, які ви починаєте використовувати. Напевно, ви захочете дотримуватися діаграм класів, діаграм послідовності та діаграм стану для більшості ситуацій. Якщо у вас є щось, про що ви не впевнені, перейдіть до своєї довідки і знайдіть "правильне" використання - якщо це не допомагає, спробуйте погуглити Google або попросіть запитання про переповнення стека. Як і програмування, практика є ключовою.

  3. Використовуйте деякий UML в реальних проектах

    Коли ви починаєте використовувати UML разом зі своєю командою, пам’ятайте, що це лише інструмент для розуміння системи, яку ви побудували або побудуєте. Ви все ж повинні перевіряти свою посилання під час діаграмування, але зосереджуватися на передачі інформації, не суворо дотримуючись правил.

Подумайте про свої уроки письма середньої школи. Ваш вчитель, напевно, вважав кардинальним гріхом розпочати речення з "і", "але," або "або". Коли ви більше писали та отримували більше контролю над англійською мовою, ви навчилися згинати правила для більшого ефекту - ви перейшли від слідування правильному підходу до того, який передав те, що ви хотіли сказати найкраще. UML слід використовувати в галузі точно так само.


0

Я б сказав, що якщо ви знаєте UML, то всі діаграми дають вам різні погляди на вашу програму. Доступно багато книг.

Якщо ви не знаєте UML, найпростіше - створити лише діаграми класів / послідовностей, які були повернені з існуючого коду. Вам просто потрібно повернути наявний код в UML і додати власні примітки всередині діаграм класів / послідовностей. Діаграми класів даватимуть статичний вигляд вашої програми, діаграма послідовностей описуватиме потоки методів і, отже, поведінку програми. Робота UML виконана і без помилок :)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.