19
програмного програмного забезпечення забезпечення ( ( Software Software Engineering Engineering ) ) Ian Sommervillle Ian Sommervillle Част Част ина ина 3 3 . Вимоги до ПЗ . Вимоги до ПЗ : : моделі систем моделі систем

Trpo 5 треьования_модели

Embed Size (px)

Citation preview

Page 1: Trpo 5 треьования_модели

РРозробкаозробка програмного програмного забезпеченнязабезпечення

((Software EngineeringSoftware Engineering))Ian SommervillleIan Sommervillle

ЧастЧастинаина 33. Вимоги до ПЗ. Вимоги до ПЗ: : моделі системмоделі систем

Page 2: Trpo 5 треьования_модели

►Одной из широко используемых методик Одной из широко используемых методик документирования системных требований является документирования системных требований является построение ряда моделей системы. Эти модели построение ряда моделей системы. Эти модели используют графические представления, используют графические представления, показывающие решение как исходной задачи, для показывающие решение как исходной задачи, для которой создается система, так и разрабатываемой которой создается система, так и разрабатываемой системы. Модели являются связующим звеном системы. Модели являются связующим звеном между процессом анализа исходной задачи и между процессом анализа исходной задачи и процессом проектирования системы. процессом проектирования системы.

►Модели могут представить систему в различных Модели могут представить систему в различных аспектах:аспектах:

Внешнее представление, когда моделируется Внешнее представление, когда моделируется окружение или рабочая среда системы.окружение или рабочая среда системы.

Описание поведения системы, когда моделируется ее Описание поведения системы, когда моделируется ее поведение.поведение.

Описание структуры системы, когда моделируется Описание структуры системы, когда моделируется системная архитектура или структуры данных, системная архитектура или структуры данных, обрабатываемых системой.обрабатываемых системой.

Модели системМодели систем

Page 3: Trpo 5 треьования_модели

Модели системМодели систем

Наиболее важным аспектом системного Наиболее важным аспектом системного моделирования является то, что оно опускает моделирования является то, что оно опускает детали. Модель является абстракцией детали. Модель является абстракцией системы и легче поддается анализу, чем системы и легче поддается анализу, чем любое другое представление этой системы. В любое другое представление этой системы. В идеале идеале представление представление системы должно системы должно сохранять всю информацию относительно сохранять всю информацию относительно представляемого объекта. представляемого объекта. Абстракция Абстракция является упрощением и определяется является упрощением и определяется выбором наиболее важных характеристик выбором наиболее важных характеристик системы.системы.

Page 4: Trpo 5 треьования_модели

Типы системных моделей, которые могут Типы системных моделей, которые могут создаваться в процессе анализа систем:создаваться в процессе анализа систем:

► Модель обработки данных.Модель обработки данных. Диаграммы потоков Диаграммы потоков данных показывают последователь ность данных показывают последователь ность обработки данных в системе.обработки данных в системе.

► Композиционная модель.Композиционная модель. Диаграммы "сущность-Диаграммы "сущность-связь" показывают, как системные сущности связь" показывают, как системные сущности составляются из других сущностей.составляются из других сущностей.

► Архитектурная модель.Архитектурная модель. Эти модели показывают Эти модели показывают основные подсистемы, из которых строится основные подсистемы, из которых строится система.система.

► Классификационная модель.Классификационная модель. Диаграммы Диаграммы наследования классов показывают, какие наследования классов показывают, какие объекты имеют общие характеристики.объекты имеют общие характеристики.

► Модель "стимул-ответ".Модель "стимул-ответ". Диаграммы изменения Диаграммы изменения состояний показывают, как система реагирует состояний показывают, как система реагирует на внутренние и внешние события.на внутренние и внешние события.

Модели системМодели систем

Page 5: Trpo 5 треьования_модели

Модели системного окружения Модели системного окружения

При анализе будущей При анализе будущей системы необходимо системы необходимо определить границы между определить границы между системой и ее окружением, системой и ее окружением, специфицировать само специфицировать само рабочее окружение и связи рабочее окружение и связи между ним и системой. между ним и системой. Обычно на этом этапе Обычно на этом этапе строится простая строится простая структурная модель. структурная модель.

Структурные модели Структурные модели высокого уровня обычно высокого уровня обычно являются простыми блок-являются простыми блок-схемами, где каждая схемами, где каждая подсистема представлена подсистема представлена именованным именованным прямоугольником, а линии прямоугольником, а линии показывают, что существуют показывают, что существуют некоторые связи между некоторые связи между подсистемами.подсистемами.

Пример

Page 6: Trpo 5 треьования_модели

Модели системного окруженияМодели системного окруженияПростые структурные модели обычно дополняются моделями других типов, например моделями процессов, которые показывают взаимодействия в системе, или моделями потоков данных, которые показывают последовательность обработки и перемещения данных внутри системы и между другими системами в окружающей среде.

Модель процесса приобретения оборудования

Page 7: Trpo 5 треьования_модели

►Эти модели используются для описания общего Эти модели используются для описания общего поведения системы. поведения системы.

►Обычно рассматривают два типа поведенческих моделей Обычно рассматривают два типа поведенческих моделей — — модель потоков данныхмодель потоков данных и и модель конечного автоматамодель конечного автомата. .

►Эти модели можно использовать отдельно или Эти модели можно использовать отдельно или совместно, в зависимости от типа разрабатываемой совместно, в зависимости от типа разрабатываемой системы.системы.

Поведенческие модели Поведенческие модели

Page 8: Trpo 5 треьования_модели

Модели потоков данных Модели потоков данных ►Модели потока данныхМодели потока данных — это интуитивно понятный — это интуитивно понятный способ показа последовательности обработки данных способ показа последовательности обработки данных внутри системы. Нотации, используемые в этих моделях, внутри системы. Нотации, используемые в этих моделях, описывают обработку данных с помощью системных описывают обработку данных с помощью системных функций, а также хранение и перемещения данных функций, а также хранение и перемещения данных между системными функциями. между системными функциями. ►В диаграммах потоков данных используются следующие В диаграммах потоков данных используются следующие обозначения: закругленные прямоугольники соответствуют этапам обозначения: закругленные прямоугольники соответствуют этапам обработки данных; стрелки, снабженные примечаниями с названием обработки данных; стрелки, снабженные примечаниями с названием данных, представляют потоки данных; прямоугольники данных, представляют потоки данных; прямоугольники соответствуют хранилищам или источникам данных.соответствуют хранилищам или источникам данных.

Page 9: Trpo 5 треьования_модели

Модели потоков данных Модели потоков данных ► Модели потоков данных показывают функциональную Модели потоков данных показывают функциональную

структуру системы, где каждое преобразование данных структуру системы, где каждое преобразование данных соответствует одной системной функции. Иногда модели соответствует одной системной функции. Иногда модели потоков данных используют для описания потоков данных в потоков данных используют для описания потоков данных в рабочем окружении системы. Такая модель показывает, как рабочем окружении системы. Такая модель показывает, как различные системы и подсистемы обмениваются различные системы и подсистемы обмениваются информацией. Подсистемы окружения не обязаны быть информацией. Подсистемы окружения не обязаны быть простыми функциями. простыми функциями.

Диаграмма потоков данных комплекса CASE-средств

Page 10: Trpo 5 треьования_модели

Модели конечных автоматов Модели конечных автоматов Модели конечных автоматовМодели конечных автоматов используются для используются для моделирования поведения моделирования поведения системы, реагирующей на системы, реагирующей на внутренние или внешние внутренние или внешние события. Такая модель события. Такая модель показывает состояние показывает состояние системы и события, которые системы и события, которые служат причиной перехода служат причиной перехода системы из одного состояния системы из одного состояния в другое. в другое.

Модели конечных автоматов Модели конечных автоматов являются неотъемлемой являются неотъемлемой частью методов частью методов проектирования систем проектирования систем реального времени. Такие реального времени. Такие модели определяются модели определяются диаграммами состоянийдиаграммами состояний, , которые стали основой которые стали основой системы нотаций в языке системы нотаций в языке моделирования моделирования UMLUML..

Page 11: Trpo 5 треьования_модели

Модели данных Модели данных

Наиболее широко используемой методологией моделирования данных является моделирование типа "сущность-связь". Для описания структуры обрабатываемой информации модели данных часто используются совместно с моделями потоков данных.

Проекты структуры ПО представляются ориентированными графами. Они состоят из набора узлов различных типов, соединенных дугами, отображающими связи между структурными узлами.

Подобно всем графическим моделям, модели "сущность-связь" недостаточно детализированы, поэтому они обычно дополняются более подробным описанием объектов, связей и атрибутов, включенных в модель. Эти описания собираются в словари данных или репозитории.

Page 12: Trpo 5 треьования_модели

Объектные модели Объектные модели Объектные модели, могут Объектные модели, могут использоваться как для использоваться как для представления данных, так и представления данных, так и для процессов их обработки. В для процессов их обработки. В этом отношении они этом отношении они объединяют модели потоков объединяют модели потоков данных и семантические данных и семантические модели данных. Они также модели данных. Они также полезны для классификации полезны для классификации системных сущностей и могут системных сущностей и могут представлять сущности, представлять сущности, состоящие из других состоящие из других сущностей.сущностей.Класс объектов - это Класс объектов - это абстракция множества абстракция множества объектов, которые объектов, которые определяются общими определяются общими атрибутами и сервисами атрибутами и сервисами (операциями).(операциями).Объекты - это исполняемые Объекты - это исполняемые сущности с атрибутами и сущности с атрибутами и сервисами класса объектов. сервисами класса объектов. Объекты представляют собой Объекты представляют собой реализацию класса. На основе реализацию класса. На основе одного класса можно создать одного класса можно создать много различных объектов.много различных объектов.

Page 13: Trpo 5 треьования_модели

Модели наследования Модели наследования

Важным этапом объектно-Важным этапом объектно-ориентированного моделирования ориентированного моделирования является определение классов является определение классов объектов, которые затем объектов, которые затем систематизируются. Это систематизируются. Это подразумевает создание схемы подразумевает создание схемы классификации, которая классификации, которая показывает, как классы объектов показывает, как классы объектов связаны друг с другом посредством связаны друг с другом посредством общих атрибутов и сервисов.общих атрибутов и сервисов.

Схема классификации Схема классификации организована в виде иерархии организована в виде иерархии наследования, на вершине которой наследования, на вершине которой представлены наиболее общие представлены наиболее общие классы объектов. Более классы объектов. Более специализированные объекты специализированные объекты наследуют их атрибуты и сервисы. наследуют их атрибуты и сервисы. Эти объекты могут иметь Эти объекты могут иметь собственные атрибуты и сервисы.собственные атрибуты и сервисы.

В нотации В нотации UMLUML наследования наследования показываются сверху вниз. Здесь показываются сверху вниз. Здесь стрелка (с окончанием в виде стрелка (с окончанием в виде треугольника) выходит из класса, треугольника) выходит из класса, который наследует атрибуты и который наследует атрибуты и операции, и направлена к операции, и направлена к родительскому классу. родительскому классу.

Page 14: Trpo 5 треьования_модели

Агрегирование объектов Агрегирование объектов

Объекты могут создаваться Объекты могут создаваться из нескольких объектов. из нескольких объектов. Такой объект агрегируется Такой объект агрегируется из совокупности других из совокупности других объектов. Классы, объектов. Классы, представляющие такие представляющие такие объекты, можно объекты, можно смоделировать, используя смоделировать, используя модель агрегирования модель агрегирования объектов.объектов.

В В UMLUML для показа для показа агрегирования объектов агрегирования объектов используется связь с используется связь с окончанием ромбовидной окончанием ромбовидной формы.формы.

Как можно «прочитать» Как можно «прочитать» объект, показанный на объект, показанный на примере? примере?

Page 15: Trpo 5 треьования_модели

Моделирование поведения Моделирование поведения объектов объектов

Модели поведения объектов Модели поведения объектов показывают операции, показывают операции, выполняемые объектами.выполняемые объектами.

В В UMLUML поведение объектов поведение объектов моделируется посредством моделируется посредством сценариев, которые сценариев, которые основаны на вариантах основаны на вариантах использования.использования.

В верхней части В верхней части расположены объекты. расположены объекты. Операции обозначаются Операции обозначаются помеченными стрелками, а помеченными стрелками, а последовательность последовательность операций читается сверху операций читается сверху вниз. вниз.

Page 16: Trpo 5 треьования_модели

CASE-CASE-средства средства проектирования проектирования

Инструментальные средства анализа и проектирования Инструментальные средства анализа и проектирования ПО созданы для поддержки моделирования систем на ПО созданы для поддержки моделирования систем на этапах анализа и проектирования процесса разработки этапах анализа и проектирования процесса разработки программного обеспечения. Они поддерживают программного обеспечения. Они поддерживают создание, редактирование и анализ графических создание, редактирование и анализ графических нотаций, используемых в структурных методах. нотаций, используемых в структурных методах.

Page 17: Trpo 5 треьования_модели

CASE-CASE-средства средства проектирования проектирования

Средства, которые входят в пакет инструментальных средств:Средства, которые входят в пакет инструментальных средств:►Редакторы диаграмм Редакторы диаграмм предназначены для создания диаграмм предназначены для создания диаграмм потоков данных, иерархий объектов, диаграмм "сущность-потоков данных, иерархий объектов, диаграмм "сущность-связь" и т.д. связь" и т.д. ►Средства проектирования, анализа и проверки Средства проектирования, анализа и проверки выполняют выполняют проектирование ПО и создают отчет об ошибках и дефектах в проектирование ПО и создают отчет об ошибках и дефектах в системной архитектуре.системной архитектуре.►Центральный репозиторий Центральный репозиторий позволяет проектировщику найти позволяет проектировщику найти нужный проект и соответствующую проектную информацию.нужный проект и соответствующую проектную информацию.►Словарь данных Словарь данных хранит информацию об объектах, которые хранит информацию об объектах, которые используются в структуре системы.используются в структуре системы.►Средства генерирования отчетов Средства генерирования отчетов на основе информации из на основе информации из центрального репозитория автоматически генерируют центрального репозитория автоматически генерируют системную документацию.системную документацию.►Средства создания форм Средства создания форм определяют форматы документов и определяют форматы документов и экранных форм.экранных форм.►Средства импортирования и экспортирования Средства импортирования и экспортирования позволяют позволяют обмениваться информацией из центрального репозитория обмениваться информацией из центрального репозитория различным инструментальным средствам.различным инструментальным средствам.►Генераторы программного кода Генераторы программного кода автоматически генерируют автоматически генерируют программы на основе проектов, хранящихся в центральном программы на основе проектов, хранящихся в центральном репозитории.репозитории.

Page 18: Trpo 5 треьования_модели

Итак… Итак… 1. Модель— это абстрактное представление системы, в

котором игнорируются некоторые детали системы. 2. Модели рабочего окружения системы показывают, как

разрабатываемая система взаимодействует с другими системами окружения. Для этого могут использоваться архитектурные модели, модели процессов и потоков данных.

3. Диаграммы потоков данных используются для моделирования процесса обработки данных, выполняемого системой.

4. Модель конечного автомата (диаграмма состояний) моделирует поведение системы в зависимости от внутренних или внешних событий.

5. Семантические модели данных описывают логические структуры данных, импортируемых и экспортируемых системой. Эти модели отображают системные сущности, их атрибуты и связи между ними. Они могут дополняться словарями данных, где приведено более детальное описание данных.

6. Объектные модели представляют системные сущности, их классификацию и агрегирование. Объектные модели включают модели наследования, агрегирования и поведенческие модели.

7. Пакеты инструментальных CASE-средств поддерживают разработку системных моделей, обеспе чивая их редактирование и проверку, а также средства создания отчетов и документирования.

Page 19: Trpo 5 треьования_модели

1.1. Разработайте модель рабочего окружения для Разработайте модель рабочего окружения для информационной системы больницы. Модель должна информационной системы больницы. Модель должна предусматривать ввод данных о новых пациентах и предусматривать ввод данных о новых пациентах и систему хранения рентгеновских снимков.систему хранения рентгеновских снимков.

2.2. Создайте модель обработки данных в системе Создайте модель обработки данных в системе электронной почты. Необходимо отдельно электронной почты. Необходимо отдельно смоделировать отправку почты и ее получение.смоделировать отправку почты и ее получение.

3.3. Разработайте модель классов объектов для системы Разработайте модель классов объектов для системы электронной почты. Если вы выполнили упражнение, электронной почты. Если вы выполнили упражнение, опишите различия и сходства между моделью опишите различия и сходства между моделью обработки данных и объектной моделью.обработки данных и объектной моделью.

4.4. Нарисуйте модель конечного автомата управляющей Нарисуйте модель конечного автомата управляющей системы для телефонного автоответчика, который системы для телефонного автоответчика, который регистрирует входные сообщения и показывает число регистрирует входные сообщения и показывает число принятых сообщений на дисплее. Система должна принятых сообщений на дисплее. Система должна соединять владельца телефона с абонентом после соединять владельца телефона с абонентом после ввода им последовательности чисел (телефонного ввода им последовательности чисел (телефонного номера абонента), а также, имея записанные номера абонента), а также, имея записанные сообщения, повторять их по телефону.сообщения, повторять их по телефону.

Задания для контроляЗадания для контроля