
- •Министерство образования и науки украины Государственный университет информатики и искусственного интеллекта
- •«Системный анализ и проектирование компьютерных информационных систем»
- •Донецк, 2009
- •1 Цели и задачи дисциплины
- •2 Основные понятия теории систем и системного анализа
- •3 Формальные модели систем
- •Функциональная модель описывает процесс функционирования системы. Для ее составления часто применяют методику idef.
- •4 Объектно-ориентированный анализ систем. Основы uml
- •Диаграмма классов (class diagram)
- •Диаграмма объектов (object diagram)
- •Диаграмма последовательностей (sequence diagram)
- •Диаграмма взаимодействия (кооперации, collaboration diagram)
- •Диаграмма состояний (statechart diagram)
- •Диаграмма активности (деятельности, activity diagram)
- •5 Проектирование информационных систем
- •Список использованных источников
4 Объектно-ориентированный анализ систем. Основы uml
Альтернативой структурному подходу является объектно-ориентированный анализ и проектирование систем. Основными понятиями объектно-ориентированного подхода являются объект и класс.
Объект — предмет или явление, имеющее четко определенное поведение и обладающие состоянием, поведением и индивидуальностью. Структура и поведение схожих объектов определяют общий для них класс. Класс – это множество объектов, связанных общностью структуры и поведения (абстракция объектов). Следующую группу важных понятий объектного подхода составляют наследование и полиморфизм. Понятие полиморфизм может быть интерпретировано как способность класса принадлежать более чем одному типу. Наследование означает построение новых классов на основе существующих с возможностью добавления или переопределения данных и методов.
Важным качеством объектного подхода является согласованность моделей деятельности организации и моделей проектируемой информационной системы от стадии формирования требований до стадии реализации. По объектным моделям может быть прослежено отображение реальных сущностей моделируемой предметной области (организации) в объекты и классы информационной системы.
Большинство существующих методов объектно-ориентированного подхода включают язык моделирования и описание процесса моделирования. Процесс – это описание шагов, которые необходимо выполнить при разработке проекта. В качестве языка моделирования объектного подхода используется унифицированный язык моделирования UML, который содержит стандартный набор диаграмм для моделирования.
Диаграмма (Diagram) — это графическое представление множества элементов. Чаще всего она изображается в виде связного графа с вершинами (сущностями) и ребрами (отношениями) и представляет собой некоторую проекцию системы.
Объектно-ориентированный подход обладает следующими преимуществами:
Объектная декомпозиция дает возможность создавать модели меньшего размера путем использования общих механизмов, обеспечивающих необходимую экономию выразительных средств. Использование объектного подхода существенно повышает уровень унификации разработки и пригодность для повторного использования, что ведет к созданию среды разработки и переходу к сборочному созданию моделей.
Объектная декомпозиция позволяет избежать создания сложных моделей, так как она предполагает эволюционный путь развития модели на базе относительно небольших подсистем.
Объектная модель естественна, поскольку ориентированна на человеческое восприятие мира.
К недостаткам объектно-ориентированного подхода относятся высокие начальные затраты. Этот подход не дает немедленной отдачи. Эффект от его применения сказывается после разработки двух–трех проектов и накопления повторно используемых компонентов. Диаграммы, отражающие специфику объектного подхода, менее наглядны.
Основными диаграммами UML являются:
диаграмма прецедентов;
диаграмма классов;
диаграмма объектов;
диаграмма последовательностей;
диаграмма взаимодействия;
диаграмма состояний;
диаграмма активности;
диаграмма развертывания.
Диаграмма прецедентов (use case diagram)
Любые (в том числе и программные) системы проектируются с учетом того, что в процессе свой работы они будут использоваться людьми и/или взаимодействовать с другими системами. Сущности, с которыми взаимодействует система в процессе своей работы, называются экторами, причем каждый эктор ожидает, что система будет вести себя строго определенным, предсказуемым образом.
Эктор (actor) - это множество логически связанных ролей, исполняемых при взаимодействии с прецедентами или сущностями (система, подсистема или класс). Эктором может быть человек или другая система, подсистема или класс, которые представляют нечто вне сущности.
Графически эктор изображается либо "человечком", либо символом класса с соответствующим стереотипом, как показано на рисунке 3.2. Обе формы представления имеют один и тот же смысл и могут использоваться в диаграммах. "Стереотипированная" форма чаще применяется для представления системных экторов или в случаях, когда эктор имеет свойства и их нужно отобразить. Дословный же перевод слова "эктор" - действующее лицо.
Рис. 3.2. – Изображение эктора
Прецедент (use-case) - описание отдельного аспекта поведения системы с точки зрения пользователя (Буч). Определение вполне понятное и исчерпывающее, но его можно еще немного уточнить, воспользовавшись тем же Zicom Mentor'ом:
Прецедент (use case) - описание множества последовательных событий (включая варианты), выполняемых системой, которые приводят к наблюдаемому эктором результату. Прецедент представляет поведение сущности, описывая взаимодействие между экторами и системой. Прецедент не показывает, "как" достигается некоторый результат, а только "что" именно выполняется. Прецеденты обозначаются очень простым образом - в виде эллипса, внутри которого указано его название. Прецеденты и экторы соединяются с помощью линий. Часто на одном из концов линии изображают стрелку, причем направлена она к тому, у кого запрашивают сервис, другими словами, чьими услугами пользуются. Это простое объяснение иллюстрирует понимание прецедентов как сервисов, пропагандируемое компанией IBM.
Прецеденты могут включать другие прецеденты, расширяться ими, наследоваться и т. д.
Пример диаграммы прецедентов на рис. 3.3.
Рис. 3.3 – Пример диаграммы прецендетов
Диаграммы прецедентов относятся к той группе диаграмм, которые представляют динамические или поведенческие аспекты системы. Это отличное средство для достижения взаимопонимания между разработчиками, экспертами и конечными пользователями продукта. Такие диаграммы очень просты для понимания и могут восприниматься и, обсуждаться людьми, не являющимися специалистами в области разработки ПО.
Можно выделить такие цели создания диаграмм прецедентов:
определение границы и контекста моделируемой предметной области на ранних этапах проектирования;
формирование общих требований к поведению проектируемой системы;
разработка концептуальной модели системы для ее последующей детализации;
подготовка документации для взаимодействия с заказчиками и пользователями системы.