3. Моделирование и Документирование сложных систем
В настоящем разделе рассматривается унифицированный язык моделирования UML (Unified Modeling Language), который ориентирован на решение задач первых двух этапов жизненного цикла программ и признается многими специалистами как стандарт документирования результатов анализа и проектирования программных систем. Аббревиатура UML допускает соответствующий перевод и последующее сокращение, но ввиду неудобочитаемости получающегося «УЯМ» обычно используется исходное обозначение.
В последнее десятилетие в компьютерном мире наметилась тенденция моделирования сложных систем визуальными (наглядными) моделями. Набор из нескольких наглядных моделей создает в сознании специалистов интегральный образ сложной компьютерной системы, которую они совместно проектируют. Вместе с тем, наглядные модели служат эффективным средством документирования автоматизированных систем, а также языком общения между программистами, системными аналитиками и заказчиками систем. Наиболее известными визуальными моделями, используемыми для проектирования компьютерных систем и их программных обеспечений, являются диаграммы языка UML. Диаграммы и спецификации языка UML позволяют записать и проанализировать идеи начального этапа проектирования программ и связать полученные модели с исходными текстами будущих программ. При этом UML диаграммы, с одной стороны, являются довольно свободным способом записи мыслей, а, с другой стороны, опираются на теоретический фундамент в виде теории множеств и теории графов. UML диаграммы могут преобразовываться в исходный код программы, на этой идее основаны принципы построения автоматизированных систем проектирования программных изделий: CASE - системы (Computer Aided Software Engineering).
Язык UML дал возможность широкой стандартизации языков программирования. Известно, что в разных языках программирования используются одинаковые операции и методы, но они имеют разные названия и символьные обозначения. Язык UML позволяет стандартизовать как сами операции и методы языков программирования, так и их терминологию.
Язык UML основан на некотором числе базовых понятий, которые могут быть изучены и применены большинством программистов и разработчиков, знакомых с методами объектно-ориентированного анализа и проектирования. При этом базовые понятия могут комбинироваться и расширяться таким образом, что специалисты объектного моделирования получают возможность самостоятельно разрабатывать модели больших и сложных систем в самых различных областях приложений.
Использование языка UML основывается на понимании общих принципов моделирования сложных систем и особенностей процесса объектно-ориентированного анализа и проектирования. Выбор выразительных средств для построения моделей сложных систем предопределяет те задачи, которые могут быть решены с использованием данных моделей. При этом одним из основных принципов построения моделей сложных систем является принцип абстрагирования, который предписывает включать в модель только те аспекты проектируемой системы, которые имеют непосредственное отношение к выполнению системой своих функций или своего целевого предназначения. При этом все второстепенные детали опускаются, чтобы чрезмерно не усложнять процесс анализа и исследования полученной модели.
Другим принципом построения моделей сложных систем является принцип многомодельности. Этот принцип представляет собой утверждение о том, что никакая единственная модель не может с достаточной степенью адекватности описывать различные аспекты сложной системы. Применительно к методологии объектно-ориентированного проектирования это означает, что достаточно полная модель сложной системы допускает некоторое число взаимосвязанных представлений, каждое из которых адекватно отражает некоторый аспект поведения или структуры системы. При этом наиболее общими представлениями сложной системы принято считать статическое и динамическое представления, которые в свою очередь могут подразделяться на другие более частные представления. Феномен сложной системы как раз и состоит в том, что никакое ее единственное представление не является достаточным для адекватного выражения всех особенностей моделируемой системы.
Еще одним принципом прикладного системного анализа является принцип иерархического построения моделей сложных систем. Этот принцип предписывает рассматривать процесс построения модели на разных уровнях абстрагирования или детализации в рамках фиксированных представлений. При этом исходная или первоначальная модель сложной системы имеет наиболее общее представление. Такая модель строится на начальном этапе проектирования и может не содержать многих деталей и аспектов моделируемой системы.
Таким образом, процесс объектно-ориентированного проектирования можно представить как последовательность шагов от наиболее общих моделей и представлений концептуального уровня к более частным и детальным представлениям логического и, наконец, физического уровня. При этом на каждом шаге данные модели последовательно дополняются все большим количеством деталей, что позволяет им более адекватно отражать различные аспекты конкретной реализации сложной системы. Заключительным шагом является получение исходного текста программы.
- 3. Моделирование и Документирование сложных систем
- 3.1. Особенности изображения диаграмм языка uml
- Контрольные вопросы
- 3.2. Диаграмма классов
- Контрольные вопросы
- 3.3. Диаграмма деятельности
- Контрольные вопросы
- 3.4. Диаграмма последовательности (sequence diagram)
- Контрольные вопросы Задачи
- 1. Программное обеспечение микропроцессора турникета метро
- 2. Система учета товаров
- 3. Система автоматизации для библиотеки
- 4. Программное обеспечение микропроцессора информационного табло аэропорта
- 5. Программное обеспечение микропроцессора будильника
- 6. Программное обеспечение микропроцессора игрального автомата
- 7. Программное обеспечение микропроцессора кодового замка
- 8. Виртуальная биржа труда
- Глоссарий