SADT: Синтаксис моделей і робота з ними, CASE-засоби (моделювання), Програмування, статті

Одна SADT-діаграма складна сама по собі, оскільки вона містить від трьох до шести блоків, пов’язаних безліччю дуг. Для адекватного опису системи потрібно кілька таких діаграм. Діаграми, зібрані та пов’язані разом, стають SADT-моделлю. В SADT додатково до правил синтаксису діаграм існують правила синтаксису моделей. Синтаксис SADT-моделей дозволяє аналітику визначити кордон моделі, пов’язати діаграми в одне ціле і забезпечити точне узгодження між діаграмами. Жоден інший метод структурного аналізу не дозволяє так точно, як SADT, з’єднувати діаграми в ретельно організовані комплекти, звані моделями.

3.1. Система представляється одним блоком

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

Декомпозиція формує кордони, і кожен блок в SADT розглядається як формальна межа Частина цілої системи, яка описується. Іншими словами, блок і стосуються його дуги визначають точну кордон діаграми, що представляє декомпозицію цього блоку. Ця діаграма, звана діаграмою з нащадком, описує все, пов’язане з цим блоком і його дугами, і не описує нічого поза цього кордону. Декомпозіруемий блок називається батьківським блоком, а містить його діаграма – відповідно батьківського діаграмою. Таким чином, SADT-діаграма є декомпозицією деякого обмеженого об’єкта.

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

На рис. 3-1 показаний верхній рівень моделі експериментального механічного цеху. Блок з назвою виготовити нестандартну деталь описує саму загальну функцію механічного цеху і має нульовий номер. (Блок самого верхнього рівня моделі завжди нумерується нулем.) Цей блок представляє весь експериментальний механічний цех. Дуги вимоги за строками виконання завдання і довідник стандартів якості визначають, як експериментальний механічний цех перетворює робочі комплекти і верстати та інструменти в готові деталі і оцінку ступеня завершеності завдання. Вони визначають інтерфейс між експериментальним механічним цехом і іншою частиною аерокосмічної компанії.

3.2. Ідентифікація декомпозиції номерами вузлів

SADT-моделі розвиваються в процесі структурної декомпозиції зверху вниз. Спочатку декомпозіруется один блок, який є кордоном моделі, на одній діаграмі, яка має

Рис 3-1. Контекстна діаграма моделі

від трьох до шести блоків, потім декомпозіруется один (або більше) з цих блоків на інший діаграмі з трьома-шістьма блоками і т.д. Назва діаграми збігається з назвою декомпозіруемого блоку. Результатом цього процесу є модель, діаграма верхнього рівня якої описує систему в загальних термінах “чорної скриньки”, а діаграми нижнього рівня описують дуже деталізовані аспекти та операції системи.

Таким чином, кожна діаграма являє собою деяку закінчену частину всієї моделі. У методології SADT ідентифікується кожна діаграма даної моделі за допомогою того, що називається “номер вузла”. Номер вузла для контекстної діаграми має наступний вигляд: назва моделі або абревіатура, коса риса, заголовна буква A (Activity у функціональних діаграмах), дефіс і нуль. Наприклад, номером вузла для контекстної діаграми моделі експериментального механічного цеху є ЕМЦ/А-0. Номером вузла діаграми, декомпозіруется контекстну діаграму, є той же номер вузла, але без дефіса (наприклад, ЕМЦ / АТ). Всі інші номери вузлів утворюються за допомогою додавання до номера вузла батьківського діаграми номера декомпозіруемого блоку. На рис. 3-2 показані дві діаграми моделі експериментального механічного цеху. Номер вузла на першій діаграмі – ЕМЦ / АТ, а номер вузла на другий діаграмі – ЕМЦ/А1. Діаграма ЕМЦ/А1 декомпозіруется блок 1 діаграми ЕМЦ / АТ. (Перший нуль при утворенні номера вузла прийнято опускати, тому замість ЕМЦ/А01 пишеться ЕМЦ/А1.)

3.3. Зв’язування декомпозиції за допомогою С-номерів

Крім використання для ідентифікації версій діаграм, С-номера застосовуються для зв’язки діаграм при русі як вгору, так і вниз по ієрархії моделі. Зазвичай С-номер діаграми, декомпозіруется деякий блок, вперше з’являється безпосередньо під цим блоком на батьківській діаграмі. Це утворює “спрямовану вниз” зв’язок від батьківської діаграми до діаграми-нащадку. На рис. 3-2 С-номер DAM008 діаграми керувати виконанням завдання розміщений нижче блоку 1 на діаграмі виготовити нестандартну деталь. Це вказує на те, що функція керувати виконанням завдання була декомпозирована.

Рис 3-2. Зв’язок між батьківського діаграмою і діаграмою нащадком

Як тільки утворюється спрямована вниз зв’язок, на діаграмі-нащадку формується посилання на батьківську діаграму. В області контексту SADT-бланка (правий верхній кут) автор зображує кожен блок батьківського діаграми маленькими квадратиками, заштріховивают квадратик декомпозіруемого блоку і розміщує С-номер батьківського діаграми біля заштрихованого квадратика. Це утворює “спрямовану вгору” (до батьківської діаграмі) зв’язок. Метод з’єднання діаграм за допомогою однозначно певних номерів гарантує, що саме потрібна версія діаграми стане частиною моделі. Іншими словами, при використанні С-номерів здійснюється ретельний контроль за введенням нових діаграм в ієрархію моделі. На рис. 3-2 область контексту бланка діаграми керувати виконанням завдання містить три квадратика – по одному для кожного блоку діаграми виготовити нестандартну деталь. Перший блок заштрихований. Це вказує на те, що дана діаграма декомпозіруется перший блок діаграми DAM008.

3.4. Коди ICOM гарантують стиковку діаграм

Хороша методологія структурного аналізу, що дозволяє створювати окремі діаграми, повинна гарантувати правильне з’єднання всіх діаграм для утворення узгодженої моделі. SADT-діаграми мають зовнішні дуги – дуги, як би виходять назовні і ведуть до краю сторінки. Ці дуги є інтерфейсом між діаграмою та іншою частиною моделі. SADT вимагає, щоб всі зовнішні дуги діаграми були узгоджені з дугами, утворюючими кордон цієї діаграми. Іншими словами, діаграма повинна бути “зістикована” зі своєю батьківського діаграмою. Зазвичай це означає, що зовнішні дуги узгоджені за кількістю і найменуванням (Але не обов’язково по розташуванню) з дугами, що стосуються декомпозірованной блоку батьківського діаграми. Наприклад, у блока 1 діаграми виготовити нестандартну деталь вісім граничних дуг: входи робочий комплект і деталь з биркою, управління вимоги щодо термінів виконання завдання, штамп “прийнято” та статус роботи, а також виходи оцінка ступеня завершеності завдання, готова деталь, план виконання завдання. Всі ці зовнішні дуги та їх імена можна знайти на діаграмі керувати виконанням завдання.

В SADT прийнята система позначень, що дозволяє аналітику точно ідентифікувати і перевіряти зв’язку по дугах між діаграмами. Ця схема кодування дуг – “ICOM” – отримала назву за першими літерами англійських еквівалентів слів вхід (Input), управління (Control), вихід (Output), механізм (Mechanism). Коди ICOM надзвичайно ефективні, оскільки вони дозволяють аналітику швидко перевіряти узгодженість зовнішніх дуг діаграми з граничними дугами відповідного блоку батьківського діаграми. Вони також забезпечують узгодженість декомпозиції, оскільки всі дуги, що входять в діаграму і виходять з неї, повинні бути враховані. На рис. 3-2 дуга вимоги за строками виконання завдання може бути відстежено від її початку (С1 блоку 0 діаграми ЕМЦ / А-0) на кордоні моделі через верхню частину діаграми ЕМЦ / АТ до блоку керувати виконанням завдання (СЗ блоку 4 діаграми ЕМЦ / А1). (Ми детально обговоримо деякі винятки з цього правила в розділі 5.)

Якщо ви починаєте будувати діаграму наступного рівня, то дуги, що стосуються декомпозіруемого блоку, використовуються в якості джерел і приймачів для дуг, які ви створюєте на новій діаграмі. Після завершення діаграми її зовнішні дуги стикуються з батьківського діаграмою для забезпечення узгодженості. Одним із способів такої стикування може служити присвоювання кодів ICOM зовнішнім дугам нової діаграми згідно з такими правилами:











 

уявіть собі малюнок нової діаграми всередині разлагаемого блоку. Продовжіть зовнішні дуги майже до краю діаграми. Візуально з’єднайте кожну зовнішню дугу діаграми з відповідною граничної дугою декомпозіруемого блоку (на рис. 3-3 в деяких місцях ми використовуємо пунктирні лінії для зображення процесу зорового з’єднання).

 

привласніть код кожної зорової зв’язку. Використовуйте I для вхідних дуг, С – для зв’язків між дугами управління, О – для зв’язків між вихідними дугами, М – для зв’язків між дугами механізму.

 

додайте після кожної букви цифру, відповідну положенню даної дуги серед інших дуг того ж типу, що стосуються батьківського блоку. Причому вхідні і вихідні дуги перераховуються зверху вниз, а дуги управлінь і механізмів перераховуються зліва направо (див. рис. 3-3). Тепер запишіть кожен код близько закінчення кожної зовнішньої дуги.

На рис. 3-3 наведено суб’єкт і його межі (блок і прилеглі дуги) і декомпозіруется його діаграма. Зверніть увагу, що кордон суб’єкта зображена жирною лінією для того, щоб підкреслити, як зовнішні дуги пов’язані з відповідними граничними дугами. У цьому прикладі ми зобразили на діаграмі пунктирними лініями зорові зв’язку тільки між вихідними дугами і відповідними їм граничними дугами. (Інші зв’язку легко визначити візуально.) У відповідності зі схемою кодування для рис. 3-3 були отримані коди ICOM: II, 12, Cl, C2, 01, 02, Ml. Кодування дуг ICOM-мітками вироблено в залежності від того, до якої сторони батьківського блоку примикає дана дуга.

При проходженні схемою кодування ICOM створюється сукупність неявних сполучних ланок між сторінками, які можна швидко змінити при зміні кордонів. (Порівняйте схему кодування ICOM / SADT з альтернативною схемою, в якій зовнішні дуги просто позначаються певним чином, скажімо, буквами від А до Я.) Ці неявні межстранічние сполучні ланки полегшують процес читання і рецензування SADT-діаграм, а також перевірку, наскільки злагоджено проведена декомпозиція. Коди ICOM спрощують також роботу, пов’язану з внесенням вручну локальних змін в діаграму, і об’єднують різні варіанти діаграм так, що вони добре стикуються в моделі. На нашу думку, коди ICOM є одним з найбільш важливих вкладів SADT в технологію графічного моделювання. Вони забезпечують необхідну строгість, дозволяючи в той же час авторам працювати незалежно, креслити розбірливо і вибирати без збитку для попередньої роботи відповідну термінологію на наступних рівнях деталізації.

3.5. Позначення для менш поширених інтерфейсів по дугах

Номери вузлів, С-номери і коди ICOM керують переважною більшістю ситуацій внутрішніх зв’язків в моделі. Однак між батьківськими діаграмами та діаграмами-нащадками можуть виникати деякі специфічні ситуації, в яких розумне використання синтаксису моделі покращує опис моделі, а саме: (1) при розгалуженні і з’єднанні зовнішніх дуг, (2) при зміні вхідних дуг на керуючі і навпаки; (3) коли дуги “входять в тунель”. Ми наведемо приклади кожної з цих ситуацій, так щоб ви могли розпізнати їх і зрозуміти їх значення. Однак необхідно попередити, що такі засоби зображення слід використовувати тільки в особливих ситуаціях для прояснення та спрощення опису системи. Їх слід застосовувати для зручності, а не як прикриття поганого аналізу систем. У всіх цих випадках дані при перетині меж діаграм зберігаються, т. е. все вхідні дані певним чином використовуються для освіти всіх вихідних даних. Ключем для розуміння таких ситуацій є те, що дуги SADT зображують ієрархічні набори даних (у розділі 5 наведено додаткові пояснення щодо ієрархії дуг і дуг взагалі).

Одна з особливих ситуацій полягає в розгалуженні або з’єднанні зовнішніх дуг між діаграмами. Наприклад, дві зовнішні вихідні дуги на діаграмі можуть бути частинами загальної вихідний дуги на кордоні блоку. Це може статися, якщо аналітик замість того, щоб звичайним способом з’єднати їх на діаграмі, залишає це з’єднання неявним. Дізнатися про це непоказанной з’єднанні або розгалуженні можна тільки, зауваживши, що коди ICOM для двох різних дуг збігаються. (Така ситуація показана в уроці 7, де дуга бюджет і гроші, Cl на діаграмі ПС/А-0, розділена на діаграмі ПС / АТ на дугу бюджет і дугу гроші.) Ми настійно рекомендуємо майже у всіх випадках робити явним факт з’єднання або розгалуження зовнішніх дуг, викреслюючи це на декомпозіруемой діаграмі. Це дозволить уникнути використання ICOM-міток для вказівки з’єднання або розгалуження дуг.

Особлива ситуація виникає також тоді, коли вхідні дуга перетворюється в дугу управління і навпаки. Це відбувається, якщо дуга управління (або вхідна), що стосується кордону блоку, використовується при декомпозиції діаграми як вхідна (або відповідно управлінська) дуга. В уроці 7 зверніть увагу на те, що дуга гроші як частину дуги гроші і бюджет є дугою управління на діаграмі ПС/А-0, проте використовується як вхідна дуга на діаграмі ПС / АТ. Аналітик зв’язав їх для того, щоб підкреслити, що на верхньому рівні моделі бюджет і гроші керують процесом харчування сім’ї. Бюджет управляє плануванням, а гроші – Це щось, що перетворюються в процесі ходіння по магазинах в продукти. Нам рідко зустрічалися ситуації, в яких потрібно подібна техніка. Ми радимо добре подумати про альтернативні способи побудови діаграми, перш ніж застосовувати цю техніку.

Дві інші особливі ситуації виникають, коли дуги “входять в тунель” між діаграмами. Дуга “входить в тунель”, або (1) якщо вона

Рис 3-3. Кодування зв’язків між SADT-діаграмами

є зовнішньою дугою, яка відсутня на батьківській діаграмі (має прихований джерело), ​​або (2) якщо вона стосується блоку, але не з’являється на діаграмі, яка його декомпозіруется (має прихований приймач). Тунельні дуги від прихованого джерела починаються дужками, щоб вказати, що ці дуги йдуть з якоїсь іншої частини моделі або прямо ззовні моделі. На рис. 3-2 дуга незайнятий робочий С1 блоку отримати завдання і призначити виконавця на діаграмі ЕМЦ/А1 входить в тунель і тому вона не стосується блоку керувати виконанням завдання на батьківській діаграмі ЕМЦ / АТ. Тунельні дуги, мають прихований приймач, закінчуються дужками, щоб відобразити той факт, що така дуга йде до якоїсь іншої частини моделі або виходить з неї або що вона не буде більше в цій моделі розглядатися. На рис. 3-2 все дуги механізмів діаграми виготовити нестандартну деталь є тунельних і вказують на те, що вони не будуть показані при декомпозиції відповідних блоків.

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

3.6. Резюме

SADT-діаграми є декомпозиція обмежених об’єктів. Об’єкт обмежується блоком і стосуються його дугами. Діаграма, яка містить кордон, називається батьківського діаграмою, а діаграма, декомпозіруется блок батьківського діаграми, називається діаграмою-нащадком. Для зв’язування батьківського діаграми і діаграми-нащадка використовуються С-номери, так що модель завжди зберігає актуальність. Коди ICOM використовуються для того, щоб стикувати діаграму-нащадка з батьківського діаграмою. Номер вузла ідентифікує рівень даної діаграми в ієрархії моделі. Коли діаграми в моделі стають дуже важкими для читання, для спрощення опису системи можуть розумним чином використовуватися спеціальні технічні прийоми типу “входження дуг в тунель”.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*