Метод структурного анализа
Структурный анализ. Методологии структурного анализа. Объектно-
Ориентированное моделирование.
Структурный анализ– метод исследования системы, который начинается с ее общего обзора, а затем детализируется, приобретая иерархическую структуру со все большим числом уровней (декомпозиция). Структурный анализ базируется на системном анализе.Структурный анализ позволяет описать иерархию подсистем, описывающих различные стороны деятельности организации. Он работает как набор географических карт, отличающихся своим масштабом.
Задачи структурного анализа организации
выявление структуры как относительно устойчивой совокупности отношений
частичное отвлечение от развития объектов
графическое модельное представление объектов которое начинается с общего обзора и затем детализируется
Методологияпредставляет методы и средства для исследования структуры и деятельности организации. Она определяет основные принципы и приемы использования моделей. Модель(графическая) – представление, в котором отражаются с помощью графических объектов те или иные стороны исходной системы. Нотация— совокупность графических объектов, используемых в моделях. Средства– аппаратное и программное обеспечение, реализующее выбранную методологию, в том числе построение соответствующих моделей с принятой для них нотацией.
Методологии структурного анализа
SADT(Structured Analysis and Design Technique) — технология структурного анализа и проектирования
Семейство IDEF(ICAM — Integrated Computer Aided Manufacturing Definition)
Методология ARIS
DFD(Data Flow Diagrams) – диаграммы потоков данных, обеспечивающих анализ требований и функциональное проектирование информационных систем
STD(State Transition Diagram) – диаграммы перехода состояний для проектирования систем реального времени
ERD(Entity-Relationship Diagrams) – диаграммы «сущность-связь»
структурные карты Джексона и/или Константайна для проектирования межмодульных взаимодействий и внутренней структуры объектов
FDD(Functional Decomposition Diagrams) – диаграммы функциональной декомпозиции
Методологии семейства IDEF
IDEF– Integration Definition for Function Modeling
IDEF0– методология функционального моделирования, позволяющая описать бизнес-процесс в виде иерархической системы взаимосвязанных функций.
IDEF1– методология анализа и изучения взаимосвязей между информационными потоками в рамках коммерческой деятельности предприятия.
IDEF1X– методология информационного моделирования, основанная на концепции «сущность-связь». Применяется для разработки реляционных баз данных.
IDEF3– методология документирования технологических процессов, позволяющая моделировать их сценарии посредством описания последовательности изменений свойств объекта в рамках рассматриваемого процесса
IDEF4– методология объектно-ориентированного проектирования для поддержки проектов, связанных с объектно-ориентированными реализациями.
IDEF5– методология, обеспечивающая наглядное представление данных, полученных в результате обработки онтологических запросов, в простой графической форме.
Объектно-ориентированный подход
Принципиальное отличие между структурным и объектным подходами заключается в способе декомпозиции системы. Объектно-ориентированный подход использует объектную декомпозицию, при этом статическая структура описывается в терминах объектов и связей между ними, а поведение системы описывается в терминах обмена сообщениями между объектами. Целью методики является построение бизнес-модели организации, позволяющей перейти от модели сценариев использования к модели, определяющей отдельные объекты, участвующие в реализации бизнес-функций.
Основными понятиями объектно-ориентированного подхода являются объекти класс.
Объект— предмет или явление, имеющее четко определенное поведение и обладающие состоянием, поведением и индивидуальностью.
Класс– множество объектов, связанных общностью структуры и поведения.
Дата добавления: 2018-02-15 ; просмотров: 1380 ;
Метод структурного анализа
Метод структурного анализа базируется на ряде общих принципов, перечисленных ниже.
1. Принцип декомпозиции и иерархического упорядочивания, который заключается в разбиении большой и сложной проблемы на множество меньших независимых подзадач, легких для понимания и решения. Причем декомпозиция может осуществляться и для уже выделенных подзадач. В результате такой последовательной декомпозиции специфицируемая система может быть понята и построена по уровням иерархии, каждый из которых добавляет новые детали.
2. Принцип абстрагирования заключается в выделении существенных с некоторых позиций аспектов системы и отвлечения от несуществующих с целью представления проблемы в удобном общем виде.
3. Принцип формализации заключается в необходимости строгого методологического подхода и решению проблемы.
4. Принцип сокрытия заключается в «упрятывании» несущественной на определенном этапе информации: каждая часть «знает» только то, что необходимо.
5. Принцип полноты заключается в контроле на присутствие лишних элементов.
6. Принцип непротиворечивости заключается в обоснованности и согласованности элементов.
7. Принцип логической независимости заключается в концентрации внимания на логическом проектировании для обеспечения независимости от физического исполнения.
8. Принцип независимости данных заключается в том, что модели данных должны быть проанализированы и спроектированы независимо от процессов их логической обработки, а также от их физической структуры и распределения в памяти вычислительной системы.
9. Принцип структурирования данных заключается в том, что данные должны быть структурированы и иерархически организованы.
Руководствуясь всеми принципами в комплексе, можно на этапе специфицирования понять, что будет представлять из себя разрабатываемое программное обеспечение, обнаружить промахи и недоработки, что, в свою очередь, облегчит работы на последующих этапах жизненного цикла.
Для целей специфицирования систем в структурном анализе используются три группы средств, иллюстрирующих:
* функции, которые система должна выполнять;
* отношения между данными;
* зависящее от времени поведение системы (аспекты реального времени).
Для этого применяются:
* DFD (Data Flow Diagrams) – диаграммы потоков данных совместно со словарями данных и спецификациями процессов;
* ERD (Entity–Relationship Diagrams) – диаграммы сущность–связь;
* STD (State Transition Diagrams) – диаграммы переходов–состояний.
Все они содержат графические и текстовые средства описания: первые – для удобства демонстрирования компонентов модели, вторые – для обеспечения точного определения ее компонентов и связей.
DFD показывает внешние по отношению к системе источники и приемники данных, идентифицирует логические функции (процессы) и группы элементов данных, связывающие одну функцию с другой (потоки), а также идентифицирует хранилища (накопители данных), к которым осуществляется доступ. Структуры потоков данных и определение их компонентов хранятся в словаре данных. Каждая логическая функция может быть детализирована DFD нижнего уровня. Когда детализация исчерпана, переходят к описанию логики с помощью спецификации процесса.
Структура каждого хранилища описывается с помощью ERD. В случае наличия реального времени DFD дополняется средствами описания, зависящего от времени поведения системы, которые описываются с помощью STD. Эти связи показаны на рис. 6.
Рис. 6. Взаимосвязь средств структурного анализа
Информатика: учебник для студентов всех направлений и специальностей подготовки
ФБГОУ ВПО «Новосибирский государственный технический университет»
Главная страница / 29. Структурное программирование: 29.2. Структурные методы .
29.2. Структурные методы анализа и проектирования ПО
Одной из основных проблем, которые приходится решать при создании больших и сложных систем любой природы, в том числе и ПО, является проблема сложности. Ни один разработчик не в состоянии выйти за пределы человеческих возможностей и понять всю систему в целом. Единственный эффективный подход к решению этой проблемы, который выработало человечество за всю свою историю, заключается в построении сложной системы из небольшого количества крупных частей, каждая из которых, в свою очередь, строится из частей меньшего размера, и т.д., до тех пор, пока самые небольшие части можно будет строить из имеющегося материала. Этот подход известен под самыми разными названиями, среди них такие, как «разделяй и властвуй» (divide et imperd), иерархическая декомпозиция и др. По отношению к проектированию сложной программной системы это означает, что ее необходимо разделить (декомпозировать) на небольшие подсистемы, каждую из которых можно разрабатывать независимо от других. Это позволяет при разработке подсистемы любого уровня иметь дело только с ней, а не со всеми остальными частями системы [18].
Структурные методы являются строгой дисциплиной системного анализа и проектирования. Методы структурного анализа и проектирования стремятся преодолеть сложность больших систем путем расчленения их на части («черные ящики») и иерархической организации этих «черных ящиков». Выгода в использовании «черных ящиков» заключается в том, что их пользователю не требуется знать, как они работают, необходимо знать лишь их входы и выходы, а также назначение (т.е. функции, которые они выполняют).
Таким образом, первым шагом упрощения сложной системы является ее разбиение на «черные ящики», при этом такое разбиение должно удовлетворять следующим критериям:
- каждый «черный ящик» должен реализовывать единственную функцию системы;
- функция каждого «черного ящика» должна быть легко понимаемой независимо от сложности ее реализации;
- связь между «черными ящиками» должна вводиться только при наличии связи между соответствующими функциями системы;
- связи между «черными ящиками» должны быть простыми, насколько это возможно, для обеспечения независимости между ними.
Второй важной идеей, лежащей в основе структурных методов, является идея иерархии. Для понимания сложной системы недостаточно разбить ее на части, необходимо эти части организовать определенным образом, а именно в виде иерархических структур. Все сложные системы Вселенной организованы в иерархии: от галактик до элементарных частиц. Человек при создании сложных систем также подражает природе. Любая организация имеет директора, заместителей по направлениям, иерархию руководителей подразделений, рядовых служащих [18].
Кроме того, структурные методы широко используют визуальное моделирование, служащее для облегчения понимания сложных систем.
Структурным анализом принято называть метод исследования системы, начинающий с ее общего обзора, который затем детализируется, приобретая иерархическую структуру со все большим числом уровней [18].
Для таких методов характерно:
- разбиение системы на уровни абстракции с ограничением числа элементов на каждом из уровней (обычно от 3 до 7);
- ограниченный контекст, включающий лишь существенные на каждом уровне детали;
- использование строгих формальных правил записи;
- последовательное приближение к конечному результату.
В структурном анализе основным методом разбиения на уровни абстракции является функциональная декомпозиция, заключающаяся в декомпозиции (разбиении) системы на функциональные подсистемы, которые, в свою очередь, делятся на подфункции, т.е. на задачи и так далее до конкретных процедур. При этом система сохраняет целостное представление, в котором все составляющие компоненты взаимоувязаны. При разработке системы «снизу вверх» от отдельных задач ко всей системе целостность теряется, возникают проблемы при описании информационного взаимодействия отдельных компонентов.
Все наиболее распространенные методы структурного подхода базируются на ряде общих принципов. Базовыми принципами являются:
- принцип «разделяй и властвуй» – принцип решения трудных проблем путем разбиения их на множество меньших независимых задач, легких для понимания и решения;
- принцип иерархического упорядочения – принцип организации составных частей системы в иерархические древовидные структуры с добавлением новых деталей на каждом уровне.
Выделение двух базовых принципов не означает, что остальные принципы являются второстепенными, поскольку игнорирование любого из них может привести к нежелательным последствиям (вплоть до неудачного завершения проекта). Основными из таких принципов являются:
- принцип абстрагирования – выделение существенных аспектов системы и отвлечение от несущественных;
- принцип непротиворечивости – обоснованность и согласованность элементов системы;
- принцип структурирования данных – данные должны быть структурированы и иерархически организованы.
Методы структурного анализа и проектирования ПО;
В структурном анализе и проектировании используются различные модели, описывающие:
- Функциональную структуру системы;
- Последовательность выполняемых действий;
- Передачу информации между функциональными процессами;
- Отношения между данными.
Наиболее распространенными моделями первых трех групп являются:
- функциональная модель SADT (Structured Analysis and Design Technique);
- модель IDEF3;
- DFD (Data Flow Diagrams) — диаграммы потоков данных.
Метод SADT [17] представляет собой совокупность правил и процедур, предназначенных для построения функциональной модели объекта какой-либо предметной области. Функциональная модель SADT отображает функциональную структуру объекта, т.е. производимые им действия и связи между этими действиями. Метод SADT разработан Дугласом Россом (SoftTech, Inc.) в 1969 г. для моделирования искусственных систем средней сложности. Данный метод успешно использовался в военных, промышленных и коммерческих организациях США для решения широкого круга задач, таких, как долгосрочное и стратегическое планирование, автоматизированное производство и проектирование, разработка ПО для оборонных систем, управление финансами и материально-техническим снабжением и др. Метод SADT поддерживается Министерством обороны США, которое было инициатором разработки семейства стандартов IDEF (Icam DEFinition), являющегося основной частью программы ICAM (интегрированная компьютеризация производства), проводимой по инициативе ВВС США. Метод SADT реализован в одном стандартов этого семейства — IDEF0, который был утвержден в качестве федерального стандарта США в 1993 г., его подробные спецификации можно найти на сайте https://www.idef.com.
Модели SADT (IDEF0) традиционно используются для моделирования организационных систем (бизнес-процессов). Следует отметить, что метод SADT успешно работает только при описании хорошо специфицированных и стандартизованных бизнес-процессов в зарубежных корпорациях, поэтому он и принят в США в качестве типового. Достоинствами применения моделей SADT для описания бизнес-процессов являются:
- полнота описания бизнес-процесса (управление, информационные и материальные потоки, обратные связи);
- жесткие требования метода, обеспечивающих получение моделей стандартного вида;
- соответствие подхода к описанию процессов стандартам ISO 9000.
В большинстве российских организаций бизнес-процессы начали формироваться и развиваться сравнительно недавно, они слабо типизированы, поэтому разумнее ориентироваться на менее жесткие модели.
Метод моделирования IDEF3 [22], являющийся частью семейства стандартов IDEF, был разработан в конце 1980-х годов для закрытого проекта ВВС США. Этот метод предназначен для таких моделей процессов, в которых важно понять последовательность выполнения действий и взаимозависимости между ними. Хотя IDEF3 и не достиг статуса федерального стандарта США, он приобрел широкое распространение среди системных аналитиков как дополнение к методу функционального моделирования IDEF0 (модели IDEF3 могут использоваться для детализации функциональных блоков IDEF0, не имеющих диаграмм декомпозиции). Основой модели IDEF3 служит так называемый сценарий процесса, который выделяет последовательность действий и подпроцессов анализируемой системы.
Диаграммы потоков данных (Data Flow Diagrams — DFD) [6] представляют собой иерархию функциональных процессов, связанных потоками данных. Цель такого представления — продемонстрировать, как каждый процесс преобразует свои входные данные в выходные, а также выявить отношения между этими процессами.
Для построения DFD традиционно используются две различные нотации, соответствующие методам Йордона-ДеМарко и Гейна-Сэрсона. Эти нотации незначительно отличаются друг от друга графическим изображением символов. В соответствии с данными методами модель системы определяется как иерархия диаграмм потоков данных, описывающих асинхронный процесс преобразования информации от ее ввода в систему до выдачи потребителю. Практически любой класс систем успешно моделируется при помощи DFD-ориентированных методов. Они с самого начала создавались как средство проектирования информационных систем (тогда как SADT — как средство моделирования систем вообще) и имеют более богатый набор элементов, адекватно отражающих специфику таких систем (например, хранилища данных являются прообразами файлов или баз данных, внешние сущности отражают взаимодействие моделируемой системы с внешним миром).
С другой стороны, эти разновидности средств структурного анализа примерно одинаковы с точки зрения возможностей изобразительных средств моделирования. При этом одним из основных критериев выбора того или иного метода является степень владения им со стороны консультанта или аналитика, грамотность выражения своих мыслей на языке моделирования. В противном случае в моделях, построенных с использованием любого метода, будет невозможно разобраться.
Наиболее распространенным средством моделирования данных (предметной области) является модель «сущность-связь» (Entity-Relationship Model — ERМ) [12]. Она была впервые введена Питером Ченом в 1976 г. Эта модель традиционно используется в структурном анализе и проектировании, однако, по существу, представляет собой подмножество объектной модели предметной области. Одна из разновидностей модели «сущность-связь» используется в методе IDEF1Х, входящем в семейство стандартов IDEF и реализованном в ряде распространенных CASE-средств (в частности, AllFusion ERwin Data Modeler).