Главная страница
Навигация по странице:

  • 1980х

  • Computer-Aided Software Engineering (CASE ). Методы СА и СП (в частности, SSADM

  • Метод структурного анализа и проектирования SADT Определение SADT SADT

  • Семантика стрелок для действий (activities)

  • Семантика стрелок для данных (data)

  • Этапы моделирования.

  • Распространение черновика

  • Официальное утверждение модели.

  • Основные понятия IDEF0 IDEF0

  • Модель IDEF0

  • IDEF0-диаграмм

  • Цели стандарта IDEF0 Основные цели

  • Проектирование системы. Проектирование систем. Проектирование информационных систем ( на примере методов структурного системного анализа)


    Скачать 1.64 Mb.
    НазваниеПроектирование информационных систем ( на примере методов структурного системного анализа)
    АнкорПроектирование системы
    Дата08.06.2022
    Размер1.64 Mb.
    Формат файлаpdf
    Имя файлаПроектирование систем.pdf
    ТипУчебное пособие
    #576864
    страница15 из 21
    1   ...   11   12   13   14   15   16   17   18   ...   21
    1967 – Структурное программирование (Structured programming) – Edsger Dijkstra,
    • примерно 1975 – Структурное программирование Джексона (Jackson
    Structured Programming) – Michael A. Jackson.
    Структурное программирование приводит к Структурному проектирова- нию, что в свою очередь приводит к Структурному системному анализу:
    • примерно 1975 – появление на рынке Метода структурного анализа и проектирования SADT (Structured Analysis and Design Technique) – Doug- las T. Ross;
    • примерно 1975 – Структурное проектирование (Structured Design) – Larry
    Constantine, Ed. Yourdon и Wayne Stevens;
    • примерно 1978 – Структурный анализ (Structured Analysis) – Tom De-
    Marco, Yourdon, Gane & Sarson, McMenamin & Palmer;
    • в 1979 опубликован Структурный анализ и системная спецификация
    (Structured Analysis and System Specification) – Tom DeMarco.
    В течение 1980х начинают появляться инструменты для автоматизации черчения диаграмм:
    1981 – опубликована (и в 85-93 получает развитие) Методология IDEF0, основанная на SADT и инструментальных средствах создания диаграмм
    (разработана Дугласом Т. Россом, Douglas T. Ross).
    • в 1983 впервые представлен Метод структурного системного анализа и проектирования SSADM (Structured Systems Analysis and Design Method), разработанный в UK Office of Government Commerce.
    По аналогии с Computer-Aided design and Computer-Aided Manufacturing
    (CAD/CAM), использование этих инструментов было названо Computer-Aided
    Software Engineering (CASE).
    Методы СА и СП (в частности, SSADM) сопровождаются нотациями
    (диаграммами), облегчающими взаимодействие между пользователями и разра- ботчиками. Это были:

    164
    • структурные схемы (Structure Charts) – для структурного проектирования;
    • диаграммы потоков данных (Data Flow Diagrams, DFD) – для структурно- го анализа;
    • модели данных (Data Model Diagrams).
    Эти диаграммы использовались структурными методами в различных комбинациях. Среди них встречалось множество вариаций.
    Примерно в 1990 появляется термин «инженерия разработки ПО» (Infor- mation Engineering, IE, James Martin
    ), являющаяся логическим расширением структурных методов, появившихся в течение 1970х.
    4.2.
    Метод структурного анализа и проектирования SADT
    Определение SADT
    SADT (Structured Analysis and Design Technique) – это методология инже- нерии разработки ПО (software engineering) для описания систем в виде иерар- хии функций (функциональной структуры).
    Предпосылки и история SADT
    Структурный анализ возник в конце 60-х годов в ходе революции, вы- званной структурным программированием. Метод SADT был предложен Ду- гласом Т. Россом как способ уменьшить количество дорогостоящих ошибок за счет структуризации на ранних этапах создания системы, улучшения контактов между пользователями и разработчиками и сглаживания перехода от анализа к проектированию. Дуглас Т. Росс часть своих PLEX-теорий относящихся к ме- тодологии и языку описания систем, назвал «Методология структурного анали- за и проектирования» (SADT). Исходная работа над SADT началась в 1969 г.
    Первое ее крупное приложение было реализовано в 1973 г. при разработ-

    165 ке большого аэрокосмического проекта, когда она была несколько пересмотре- на сотрудниками SofTech, Inc. В 1974 г. SADT была еще улучшена и передана одной из крупнейших европейских телефонных компаний.
    Таким образом, к началу 70-х SADT представляет собой четкую фор- мальную процедуру.
    Появление SADT на рынке произошло в 1975 г. после годичного оформ- ления в виде продукта.
    К 1981 г. SADT уже использовали более чем в 50 компаниях при работе более чем над 200 проектами, включавшими более 2000 людей и охватывавши- ми дюжину проблемных областей, в том числе телефонные сети, аэрокосмиче- ское производство, управление и контроль, учет материально-технических ре- сурсов и обработку данных.
    Ее широкое распространение в настоящее время в европейской, даль- невосточной и американской аэрокосмической промышленности (под названием IDEF0) позволяет эти цифры существенно увеличить. Таким об- разом, SADT выделяется среди современных методологий описания систем благодаря своему широкому применению. Почему SADT имеет такое широ- кое применение?
    Во-первых, SADT является единственной методологией, легко отра- жающей такие системные характеристики, как управление, обратная связь и исполнители. Это объясняется тем, что SADT изначально возникла на базе проектирования систем более общего вида в отличие от других структурных методов, «выросших» из проектирования программного обеспечения.
    Во-вторых, SADT в дополнение к существовавшим в то время концеп- циям и стандартам для создания систем имела развитые процедуры под- держки коллективной работы и обладала преимуществом, связанным с ее применением на ранних стадиях создания системы.
    Кроме того, широкое использование SADT показало, что ее можно со- четать с другими структурными методами. Это достигается использованием графических SADT-описаний в качестве схем, связывающих воедино раз-

    166 личные методы, примененные для описания определенных частей системы с различным уровнем детализации.
    Таким образом, неадекватные спецификации систем того времени вызва- ли создание графического языка SADT, а его усиленное использование преоб- разовало SADT в законченную методологию, способную повысить качество продуктов, создаваемых на ранних стадиях развития проекта.
    Итак, SADT началась как язык описания функционирования систем об- щего вида, а по мере применения ее процедуры описания систем были улучше- ны и дополнены.
    Основы SADT
    SADT использует два типа диаграмм: 1) модели деятельности (activity models); 2) модели данных (data models).
    SADT использует стрелки для построения этих диаграмм и имеет следую- щее графическое представление:
    • главный блок (box), где определено названиее процесса или действия;
    • с левой стороны блока – входящие стрелки: входы действия;
    • сверху – входящие стрелки: данные, необходимые для действия;
    • внизу – входящие стрелки: средства, используемые для действия;
    • справа – исходящие стрелки: выход действия.
    SADT использует декомпозицию на основе подхода «сверху вниз».
    Каждый уровень декомпозиции содержит до 6 блоков.
    SADT
    начинается с уровня (level) 0, затем может быть детализирован на более низкие уровни (1, 2, 3, ...). Например, на уровне 1, блок уровня 0 будет детализирован на несколько элементарных блоков и так далее …

    167
    Рис. 4.1. Пример уровня 0
    На уровне 1 действие «Manufacture computers», может быть разбито (de- clined
    ), например на 4 блока:
    1) получить электронные компоненты («receive electronic components»);
    2) сохранить электронные компоненты («store electronic components»);
    3) доставить электронные компоненты на сборочную линию («bring electron- ic components to the assembly line»);
    4) собрать компьютеры («Assemble computers»).
    Семантика стрелок для действий (activities):
    • входы (Inputs) входят слева и представляют данные или предметы по- требления (consumables), нужные действию (that are needed by the activity);
    • выходы (Outputs) выходят справа и представляют данные или продукты, производимые действием (activity);
    • управления (Controls) входят сверху и представляют команды, которые влияют на исполнение действия, но не потребляются. В последней редак- ции IDEF0 – условия, требуемые для получения корректного выхода.
    Данные или объекты, моделируемые как управления, могут быть транс- формированы функцией, создающей выход;

    168
    • механизмы означают средства, компоненты или инструменты, использу- емые для выполнения действия; представляют размещение (allocation) действий.
    Семантика стрелок для данных (data):
    • входы (Inputs) – это действия, которые генерируют эти данные (are activities that produce the data);
    • выходы (Outputs) потребляют эти данные (consume the data);
    • управления (Controls) влияют на внутреннее состояние этих данных
    (influence the internal state of the data).
    Роли SADT-процесса:
    • авторы (Authors) – разработчики SADT модели;
    • комментаторы (Commenters) – рецензируют (review) работу авторов;
    • читатели (Readers) – возможные (the eventual) пользователи SADT диа- грамм;
    • эксперты (Experts) – те, от кого авторы получают специальную информа- цию о требованиях и ограничениях;
    • технический комитет (Technical committee) – технический персонал, от- ветственный за рецензирование (reviewing) SADT модели на каждом уровне;
    • библиотекарь проекта (Project librarian) – ответственный за все докумен- ты проекта;
    • менеджер проекта (Project manager) – имеет полную техническую ответ- ственность за системный анализ и проектирование (has overall technical responsibility the system analysis and design);
    • аналитик (Monitor) (Chief analyst) – эксперт в области SADT, помогаю- щий и консультирующий персонал проекта по использованию SADT;
    • инструктор (Instructor) – обучает авторов и комментаторов SADT.

    169
    Этапы моделирования. Разработка SADT модели представляет собой итеративный процесс и состоит из нижеследующих условных этапов.
    1.
    Создание модели группой специалистов, относящихся к различным сфе- рам деятельности предприятия. На этом этапе авторы опрашивают ком- петентных лиц, получая ответы на следующие вопросы:
    • что поступает в предметную область на «входе»;
    • какие функции и в какой последовательности выполняются в рамках предметной области;
    • кто является ответственным за выполнение каждой из функций;
    • чем руководствуется исполнитель при выполнении каждой из функ- ций;
    • что является результатом работы объекта (на выходе)?
    На основе полученных результатов опросов создается черновик модели
    (Model Draft).
    2.
    Распространение черновика для рассмотрения, получения комментари- ев и согласования модели с читателями. При этом каждая из диаграмм черновика письменно критикуется и комментируется, а затем передается автору. Автор, в свою очередь, также письменно соглашается с критикой или отвергает ее с изложением логики принятия решения и вновь воз- вращает откорректированный черновик для дальнейшего рассмотрения.
    Этот цикл продолжается до тех пор, пока авторы и читатели не придут к единому мнению.
    3.
    Официальное утверждение модели. Утверждение согласованной моде- ли происходит руководителем рабочей группы в том случае, если у авто-
    ров модели и читателей отсутствуют разногласия по поводу ее адекват- ности. Окончательная модель представляет собой согласованное пред- ставление о системе с заданной точки зрения и для заданной цели.
    Метод SADT получил дальнейшее развитие. На его основе в 1981 году раз- работана известная методология функционального моделирования IDEF0.

    170
    Методология функционального моделирования IDEF0
    Основные понятия IDEF0
    IDEF0 (Integration Definition for Function Modeling) – методология функ- ционального моделирования для описания функций предприятия, предлагаю- щая язык функционального моделирования для анализа, разработки, реинжи- ниринга и интеграции информационных систем бизнес процессов; или анализа инженерии разработки ПО (or software engineering analysis).
    Модель IDEF0 – это графическое описание (информационной) системы или предметной области (subject), которое разрабатывается с определенной
    целью с выбранной точки зрения. Модель IDEF0 представляет собой набор из одной или более (иерархически связанных) IDEF0-диаграмм, которые опи- сывают функции системы или предметной области (subject area) с помощью
    графики, текста и глоссария.
    История IDEF0
    Методология IDEF0 является развитием метода структурного анализа и проектирования SADT (Structured Analysis and Design Technique).
    IDEF0 как стандарт был разработан в 1981 году в рамках программы
    ICAM (Integrated Computer Aided Manufacturing – интегрированная компьютер- ная поддержка производства).
    IDEF0 – Integration DEFinition language 0 – основан на SADT и в своей исходной форме включает одновременно:
    1) определение языка графического моделирования (синтаксис и семанти- ку);
    2) описание полной (comprehensive) методологии разработки моделей.
    Последняя редакция IDEF0 была выпущена в декабре 1993 года Нацио- нальным Институтом по Стандартам и Технологиям США (NIST).

    171
    В 1993 году IDEF0 была принята в качестве федерального стандарта в
    США, а в 2000 году – в качестве стандарта в Российской Федерации.
    Применение IDEF0
    IDEF
    0 используется для создания функциональной модели, то есть резуль- татом применения методологии IDEF0 к системе есть функциональная модель
    IDEF0.
    Функциональная модель – это структурное представление функций, дея- тельности или процессов в пределах моделируемой системы или предметной области.
    Методология IDEF0 может быть использована для моделирования широ- кого спектра как автоматизированных, так и неавтоматизированных систем.
    Для проектируемых систем IDEF0 может быть использована сначала для определения требований и функций, и затем для реализации, удовлетворяющей этим требованиям и исполняющей эти функции.
    Для существующих систем IDEF0 может быть использована для анализа функций, выполняемых системой, а также для учета механизмов, с помощью которых эти функции выполняются.
    Цели стандарта IDEF0
    Основные цели (objectives) стандарта:
    1) задокументировать и разъяснить технику моделирования IDEF0 и прави- ла ее использования;
    2) обеспечить средства для полного и единообразного (consistently) модели- рования функций системы или предметной области, а также данных и объектов, которые связывают эти функции;
    3) обеспечить язык моделирования, который независим от CASE методов или средств, но может быть использован при помощи этих методов и средств;

    172 4) обеспечить язык моделирования, который имеет следующие характери- стики:

    общий (generic) – для анализа как (информационных) систем, так и предметных областей;

    строгий и точный (rigorous and precise) – для создания корректных, пригодных к использованию моделей;

    краткий (concise) – для облегчения понимания, коммуникации, согла- сия между заинтересованными лицами и проверки. (to facilitate under- standing, communication, consensus and validation);

    абстрактный (conceptual) – для представления функциональных тре- бований, независимых от физических или организационных реализа- ций;

    гибкий – для поддержки различных фаз жизненного цикла проекта.
    Строгость и точность (Rigor and Precision). Правила IDEF0 требуют до- статочной строгости и точности для удовлетворения нужд аналитика без чрезмерных ограничений (to satisfy needs without overly constraining the analyst).
    IDEF0 правила включают следующее:
    • управление детализацией (control of the details communicated at each level)

    от трех до шести функциональных блоков на каждом уровне декомпо- зиции;
    • связанный контекст (Bounded Context) – не должно быть недостающийх или лишних, выходящих за установленные рамки деталей;
    • связанность интерфейса диаграмм (Diagram Interface Connectivity) – нали- чие номеров узлов, функциональных блоков, С-номеров (C-numbers) и подробных ссылочных выражений (Detail Reference Expression);
    • связанность структуры данных. (Data Structure Connectivity) – коды
    ICOM и использование круглых скобок (ICOM codes and the use of paren- theses);

    173
    • уникальные метки и заголовки (Unique Labels and Titles) – отсутствие по- вторяющихся названий в метках и заголовках;
    • синтаксические правила для графики (Syntax Rules for Graphics) – функ- циональные блоки и стрелки;
    • ограничения на разветвления стрелок данных (Data Arrow Branch Con- straint) – метки для ограничений потоков данных на разветвлениях;
    • разделение данных на Вход и Управление (Input versus Control Separation)
    – правило для определения роли данных);
    • маркировка стрелок данных. Data Arrow Label Requirements (minimum la- beling rules);
    • наличие Управления (Minimum Control of Function) – все функции долж- ны иметь минимум одно Управление;
    • цель и точка зрения (Purpose and Viewpoint) – все модели имеют форму- лировку цели и точки зрения.
    Ограничения сложности. Обычно IDEF0-модели несут в себе сложную и концентрированную информацию, и для того, чтобы ограничить их перегру- женность и сделать удобочитаемыми, в стандарте приняты соответствующие ограничения сложности, которые носят рекомендательный характер. При том, что, что на диаграмме рекомендуется представлять от трех до шести функцио- нальных блоков, количество подходящих к одному функциональному блоку
    (выходящих из одного функционального блока) интерфейсных дуг предполага- ется не более четырех.
    Основные понятия IDEF0
    В основе методологии лежат четыре основных понятия:
    • функциональный блок;
    • интерфейсная дуга;

    174
    • декомпозиция;
    • глоссарий.
    Функциональный блок (Activity Box) представляет собой некоторую конкретную функцию в рамках рассматриваемой системы.
    По требованиям стандарта название каждого функционального блока должно быть сформулировано в глагольном наклонении (например, «произ- водить услуги»).
    На диаграмме функциональный блок изображается прямоугольником
    (рис.). Каждая из четырех сторон функционального блока имеет свое опреде- ленное значение (роль), при этом:
    • верхняя сторона имеет значение «Управление» (Control);
    • левая сторона имеет значение «Вход» (Input);
    • правая сторона имеет значение «Выход» (Output);
    • нижняя сторона имеет значение «Механизм» (Mechanism).
    Рис. 4.2. Функциональный блок
    1   ...   11   12   13   14   15   16   17   18   ...   21


    написать администратору сайта