2. ►Одной из широко используемых методикОдной из широко используемых методик
документирования системных требований являетсядокументирования системных требований является
построение ряда моделей системы. Эти моделипостроение ряда моделей системы. Эти модели
используют графические представления, показывающиеиспользуют графические представления, показывающие
решение как исходной задачи, для которой создаетсярешение как исходной задачи, для которой создается
система, так и разрабатываемой системы. Моделисистема, так и разрабатываемой системы. Модели
являются связующим звеном между процессом анализаявляются связующим звеном между процессом анализа
исходной задачи и процессом проектирования системы.исходной задачи и процессом проектирования системы.
►Модели могут представить систему в различныхМодели могут представить систему в различных
аспектах:аспектах:
Внешнее представление, когда моделируется окружение илиВнешнее представление, когда моделируется окружение или
рабочая среда системы.рабочая среда системы.
Описание поведения системы, когда моделируется ееОписание поведения системы, когда моделируется ее
поведение.поведение.
Описание структуры системы, когда моделируетсяОписание структуры системы, когда моделируется
системная архитектура или структуры данных,системная архитектура или структуры данных,
обрабатываемых системой.обрабатываемых системой.
Модели системМодели систем
3. Модели системМодели систем
Наиболее важным аспектом системногоНаиболее важным аспектом системного
моделирования является то, что оно опускаетмоделирования является то, что оно опускает
детали. Модель является абстракцией системы идетали. Модель является абстракцией системы и
легче поддается анализу, чем любое другоелегче поддается анализу, чем любое другое
представление этой системы. В идеалепредставление этой системы. В идеале
представлениепредставление системы должно сохранять всюсистемы должно сохранять всю
информацию относительно представляемогоинформацию относительно представляемого
объекта.объекта. АбстракцияАбстракция является упрощением иявляется упрощением и
определяется выбором наиболее важныхопределяется выбором наиболее важных
характеристик системы.характеристик системы.
4. Типы системных моделей, которые могут создаватьсяТипы системных моделей, которые могут создаваться
в процессе анализа систем:в процессе анализа систем:
► Модель обработки данных.Модель обработки данных. Диаграммы потоковДиаграммы потоков
данных показывают последовательность обработкиданных показывают последовательность обработки
данных в системе.данных в системе.
► Композиционная модель.Композиционная модель. Диаграммы "сущность-Диаграммы "сущность-
связь" показывают, как системные сущностисвязь" показывают, как системные сущности
составляются из других сущностей.составляются из других сущностей.
► Архитектурная модель.Архитектурная модель. Эти модели показываютЭти модели показывают
основные подсистемы, из которых строится система.основные подсистемы, из которых строится система.
► Классификационная модель.Классификационная модель. ДиаграммыДиаграммы
наследования классов показывают, какие объектынаследования классов показывают, какие объекты
имеют общие характеристики.имеют общие характеристики.
► Модель "стимул-ответ".Модель "стимул-ответ". Диаграммы измененияДиаграммы изменения
состояний показывают, как система реагирует насостояний показывают, как система реагирует на
внутренние и внешние события.внутренние и внешние события.
Модели системМодели систем
5. Модели системного окруженияМодели системного окружения
При анализе будущей системыПри анализе будущей системы
необходимо определитьнеобходимо определить
границы между системой и ееграницы между системой и ее
окружением, специфицироватьокружением, специфицировать
само рабочее окружение исамо рабочее окружение и
связи между ним и системой.связи между ним и системой.
Обычно на этом этапеОбычно на этом этапе
строится простая структурнаястроится простая структурная
модель.модель.
Структурные модели высокогоСтруктурные модели высокого
уровня обычно являютсяуровня обычно являются
простыми блок-схемами, гдепростыми блок-схемами, где
каждая подсистемакаждая подсистема
представлена именованнымпредставлена именованным
прямоугольником, а линиипрямоугольником, а линии
показывают, что существуютпоказывают, что существуют
некоторые связи междунекоторые связи между
подсистемами.подсистемами.
Пример
6. Модели системного окруженияМодели системного окружения
Простые структурные модели обычно дополняются моделями других
типов, например моделями процессов, которые показывают
взаимодействия в системе, или моделями потоков данных, которые
показывают последовательность обработки и перемещения данных
внутри системы и между другими системами в окружающей среде.
Модель
процесса
приобретения
оборудования
7. ►Эти модели используются для описания общегоЭти модели используются для описания общего
поведения системы.поведения системы.
►Обычно рассматривают два типа поведенческихОбычно рассматривают два типа поведенческих
моделей —моделей — модель потоков данныхмодель потоков данных ии модель конечногомодель конечного
автоматаавтомата..
►Эти модели можно использовать отдельно илиЭти модели можно использовать отдельно или
совместно, в зависимости от типа разрабатываемойсовместно, в зависимости от типа разрабатываемой
системы.системы.
Поведенческие моделиПоведенческие модели
8. Модели потоков данныхМодели потоков данных
►Модели потока данныхМодели потока данных — это интуитивно понятный способ— это интуитивно понятный способ
показа последовательности обработки данных внутрипоказа последовательности обработки данных внутри
системы. Нотации, используемые в этих моделях,системы. Нотации, используемые в этих моделях,
описывают обработку данных с помощью системныхописывают обработку данных с помощью системных
функций, а также хранение и перемещения данных междуфункций, а также хранение и перемещения данных между
системными функциями.системными функциями.
►В диаграммах потоков данных используются следующие обозначения:В диаграммах потоков данных используются следующие обозначения:
закругленные прямоугольники соответствуют этапам обработки данных;закругленные прямоугольники соответствуют этапам обработки данных;
стрелки, снабженные примечаниями с названием данных, представляютстрелки, снабженные примечаниями с названием данных, представляют
потоки данных; прямоугольники соответствуют хранилищам или источникампотоки данных; прямоугольники соответствуют хранилищам или источникам
данных.данных.
9. Модели потоков данныхМодели потоков данных
► Модели потоков данных показывают функциональную структуруМодели потоков данных показывают функциональную структуру
системы, где каждое преобразование данных соответствует однойсистемы, где каждое преобразование данных соответствует одной
системной функции. Иногда модели потоков данных используют длясистемной функции. Иногда модели потоков данных используют для
описания потоков данных в рабочем окружении системы. Такаяописания потоков данных в рабочем окружении системы. Такая
модель показывает, как различные системы и подсистемымодель показывает, как различные системы и подсистемы
обмениваются информацией. Подсистемы окружения не обязаныобмениваются информацией. Подсистемы окружения не обязаны
быть простыми функциями.быть простыми функциями.
Диаграмма потоков данных комплекса CASE-
средств
10. Модели конечных автоматовМодели конечных автоматов
Модели конечных автоматовМодели конечных автоматов
используются дляиспользуются для
моделирования поведениямоделирования поведения
системы, реагирующей насистемы, реагирующей на
внутренние или внешниевнутренние или внешние
события. Такая модельсобытия. Такая модель
показывает состояниепоказывает состояние
системы и события, которыесистемы и события, которые
служат причиной переходаслужат причиной перехода
системы из одного состояниясистемы из одного состояния
в другое.в другое.
Модели конечных автоматовМодели конечных автоматов
являются неотъемлемойявляются неотъемлемой
частью методовчастью методов
проектирования системпроектирования систем
реального времени. Такиереального времени. Такие
модели определяютсямодели определяются
диаграммами состоянийдиаграммами состояний,,
которые стали основойкоторые стали основой
системы нотаций в языкесистемы нотаций в языке
11. Модели данныхМодели данных
Наиболее широко используемой
методологией моделирования данных
является моделирование типа
"сущность-связь". Для описания
структуры обрабатываемой информации
модели данных часто используются
совместно с моделями потоков данных.
Проекты структуры ПО представляются
ориентированными графами. Они состоят
из набора узлов различных типов,
соединенных дугами, отображающими
связи между структурными узлами.
Подобно всем графическим моделям,
модели "сущность-связь" недостаточно
детализированы, поэтому они обычно
дополняются более подробным
описанием объектов, связей и атрибутов,
включенных в модель. Эти описания
собираются в словари данных или
репозитории.
12. Объектные моделиОбъектные модели
Объектные модели, могутОбъектные модели, могут
использоваться как дляиспользоваться как для
представления данных, так ипредставления данных, так и
для процессов их обработки. Вдля процессов их обработки. В
этом отношении ониэтом отношении они
объединяют модели потоковобъединяют модели потоков
данных и семантические моделиданных и семантические модели
данных. Они также полезны дляданных. Они также полезны для
классификации системныхклассификации системных
сущностей и могут представлятьсущностей и могут представлять
сущности, состоящие из другихсущности, состоящие из других
сущностей.сущностей.
Класс объектов - это абстракцияКласс объектов - это абстракция
множества объектов, которыемножества объектов, которые
определяются общимиопределяются общими
атрибутами и сервисамиатрибутами и сервисами
(операциями).(операциями).
Объекты - это исполняемыеОбъекты - это исполняемые
сущности с атрибутами исущности с атрибутами и
сервисами класса объектов.сервисами класса объектов.
Объекты представляют собойОбъекты представляют собой
реализацию класса. На основереализацию класса. На основе
одного класса можно создатьодного класса можно создать
много различных объектов.много различных объектов.
13. Модели наследованияМодели наследования
Важным этапом объектно-Важным этапом объектно-
ориентированного моделированияориентированного моделирования
является определение классовявляется определение классов
объектов, которые затемобъектов, которые затем
систематизируются. Этосистематизируются. Это
подразумевает создание схемыподразумевает создание схемы
классификации, котораяклассификации, которая
показывает, как классы объектовпоказывает, как классы объектов
связаны друг с другом посредствомсвязаны друг с другом посредством
общих атрибутов и сервисов.общих атрибутов и сервисов.
Схема классификацииСхема классификации
организована в виде иерархииорганизована в виде иерархии
наследования, на вершине которойнаследования, на вершине которой
представлены наиболее общиепредставлены наиболее общие
классы объектов. Болееклассы объектов. Более
специализированные объектыспециализированные объекты
наследуют их атрибуты и сервисы.наследуют их атрибуты и сервисы.
Эти объекты могут иметьЭти объекты могут иметь
собственные атрибуты и сервисы.собственные атрибуты и сервисы.
В нотацииВ нотации UMLUML наследованиянаследования
показываются сверху вниз. Здесьпоказываются сверху вниз. Здесь
стрелка (с окончанием в видестрелка (с окончанием в виде
треугольника) выходит из класса,треугольника) выходит из класса,
который наследует атрибуты икоторый наследует атрибуты и
операции, и направлена коперации, и направлена к
14. Агрегирование объектовАгрегирование объектов
Объекты могут создаваться изОбъекты могут создаваться из
нескольких объектов. Такойнескольких объектов. Такой
объект агрегируется изобъект агрегируется из
совокупности других объектов.совокупности других объектов.
Классы, представляющиеКлассы, представляющие
такие объекты, можнотакие объекты, можно
смоделировать, используясмоделировать, используя
модель агрегированиямодель агрегирования
объектов.объектов.
ВВ UMLUML для показадля показа
агрегирования объектовагрегирования объектов
используется связь сиспользуется связь с
окончанием ромбовиднойокончанием ромбовидной
формы.формы.
Как можно «прочитать»Как можно «прочитать»
объект, показанный наобъект, показанный на
примере?примере?
15. Моделирование поведения объектовМоделирование поведения объектов
Модели поведения объектовМодели поведения объектов
показывают операции,показывают операции,
выполняемые объектами.выполняемые объектами.
ВВ UMLUML поведение объектовповедение объектов
моделируется посредствоммоделируется посредством
сценариев, которые основанысценариев, которые основаны
на вариантах использования.на вариантах использования.
В верхней частиВ верхней части
расположены объекты.расположены объекты.
Операции обозначаютсяОперации обозначаются
помеченными стрелками, апомеченными стрелками, а
последовательностьпоследовательность
операций читается сверхуопераций читается сверху
вниз.вниз.
16. CASE-CASE-средства проектированиясредства проектирования
Инструментальные средства анализа и проектированияИнструментальные средства анализа и проектирования
ПО созданы для поддержки моделирования систем наПО созданы для поддержки моделирования систем на
этапах анализа и проектирования процесса разработкиэтапах анализа и проектирования процесса разработки
программного обеспечения. Они поддерживают создание,программного обеспечения. Они поддерживают создание,
редактирование и анализ графических нотаций,редактирование и анализ графических нотаций,
используемых в структурных методах.используемых в структурных методах.
17. CASE-CASE-средства проектированиясредства проектирования
Средства, которые входят в пакет инструментальных средств:Средства, которые входят в пакет инструментальных средств:
►Редакторы диаграммРедакторы диаграмм предназначены для создания диаграммпредназначены для создания диаграмм
потоков данных, иерархий объектов, диаграмм "сущность-связь" и т.д.потоков данных, иерархий объектов, диаграмм "сущность-связь" и т.д.
►Средства проектирования, анализа и проверкиСредства проектирования, анализа и проверки выполняютвыполняют
проектирование ПО и создают отчет об ошибках и дефектах впроектирование ПО и создают отчет об ошибках и дефектах в
системной архитектуре.системной архитектуре.
►Центральный репозиторийЦентральный репозиторий позволяет проектировщику найти нужныйпозволяет проектировщику найти нужный
проект и соответствующую проектную информацию.проект и соответствующую проектную информацию.
►Словарь данныхСловарь данных хранит информацию об объектах, которыехранит информацию об объектах, которые
используются в структуре системы.используются в структуре системы.
►Средства генерирования отчетовСредства генерирования отчетов на основе информации изна основе информации из
центрального репозитория автоматически генерируют системнуюцентрального репозитория автоматически генерируют системную
документацию.документацию.
►Средства создания формСредства создания форм определяют форматы документов иопределяют форматы документов и
экранных форм.экранных форм.
►Средства импортирования и экспортированияСредства импортирования и экспортирования позволяютпозволяют
обмениваться информацией из центрального репозитория различнымобмениваться информацией из центрального репозитория различным
инструментальным средствам.инструментальным средствам.
►Генераторы программного кодаГенераторы программного кода автоматически генерируютавтоматически генерируют
программы на основе проектов, хранящихся в центральномпрограммы на основе проектов, хранящихся в центральном
репозитории.репозитории.
18. Итак…Итак…
1. Модель— это абстрактное представление системы, в котором
игнорируются некоторые детали системы.
2. Модели рабочего окружения системы показывают, как
разрабатываемая система взаимодействует с другими системами
окружения. Для этого могут использоваться архитектурные
модели, модели процессов и потоков данных.
3. Диаграммы потоков данных используются для моделирования
процесса обработки данных, выполняемого системой.
4. Модель конечного автомата (диаграмма состояний) моделирует
поведение системы в зависимости от внутренних или внешних
событий.
5. Семантические модели данных описывают логические структуры
данных, импортируемых и экспортируемых системой. Эти модели
отображают системные сущности, их атрибуты и связи между
ними. Они могут дополняться словарями данных, где приведено
более детальное описание данных.
6. Объектные модели представляют системные сущности, их
классификацию и агрегирование. Объектные модели включают
модели наследования, агрегирования и поведенческие модели.
7. Пакеты инструментальных CASE-средств поддерживают
разработку системных моделей, обеспечивая их редактирование
и проверку, а также средства создания отчетов и
19. 1.1. Разработайте модель рабочего окружения дляРазработайте модель рабочего окружения для
информационной системы больницы. Модель должнаинформационной системы больницы. Модель должна
предусматривать ввод данных о новых пациентах и системупредусматривать ввод данных о новых пациентах и систему
хранения рентгеновских снимков.хранения рентгеновских снимков.
2.2. Создайте модель обработки данных в системе электроннойСоздайте модель обработки данных в системе электронной
почты. Необходимо отдельно смоделировать отправку почтыпочты. Необходимо отдельно смоделировать отправку почты
и ее получение.и ее получение.
3.3. Разработайте модель классов объектов для системыРазработайте модель классов объектов для системы
электронной почты. Если вы выполнили упражнение, опишитеэлектронной почты. Если вы выполнили упражнение, опишите
различия и сходства между моделью обработки данных иразличия и сходства между моделью обработки данных и
объектной моделью.объектной моделью.
4.4. Нарисуйте модель конечного автомата управляющей системыНарисуйте модель конечного автомата управляющей системы
для телефонного автоответчика, который регистрируетдля телефонного автоответчика, который регистрирует
входные сообщения и показывает число принятых сообщенийвходные сообщения и показывает число принятых сообщений
на дисплее. Система должна соединять владельца телефонана дисплее. Система должна соединять владельца телефона
с абонентом после ввода им последовательности чиселс абонентом после ввода им последовательности чисел
(телефонного номера абонента), а также, имея записанные(телефонного номера абонента), а также, имея записанные
сообщения, повторять их по телефону.сообщения, повторять их по телефону.
Задания для контроляЗадания для контроля