Системный Анализ. Предметная область. Модели на UML
Қосымшада ыңғайлырақҚосымшаны жүктеуге арналған QRRuStore · Samsung Galaxy Store
Huawei AppGallery · Xiaomi GetApps

автордың кітабын онлайн тегін оқу  Системный Анализ. Предметная область. Модели на UML

Михаил Кумсков

Системный Анализ. Предметная область

Модели на UML






12+

Оглавление

  1. Системный Анализ. Предметная область
  2. Введение
  3. Благодарности
  4. Раздел 1
    1. Построение визуальной модели предметной области
      1. Шаг №0. Определяем цели построения модели
      2. Шаг №1. Определяем события, подлежащие учету
      3. Шаг №2. Определяем справочники, подлежащие учету
      4. Шаг №3. Для события определяем картотеки, связанные с ним (для каждого события)
      5. Шаг №4. Для справочника определяем картотеки, связанные с ним (для каждого справочника)
      6. Шаг №5. Отображаем (визуально) картотеки, связанные с ней на диаграмме классов UML
      7. Шаг №6. Применяем паттерны на диаграммах-«ромашках»
      8. Паттерн «Объект-список»
      9. Паттерн «Объединение картотек»
    2. Итоги раздела 1
  5. Раздел 2
    1. Требования к системе
      1. Модель описания требований «FURPS+»
      2. Требования и их документирование
    2. Последовательность обработки требований
      1. Сценарии использования и их идентификация
    3. Пример. Задача «Регистрация студентов на курсы»
    4. Отчеты в системе
    5. Пример. Задача «Комбинат питания»
    6. Спецификация сценария использования
      1. Краткое описание
      2. Поток событий. Основной поток
      3. Альтернативные потоки
    7. Пример. Задача «Расчет зарплаты»
    8. Спецификация сценария «Управлять карточкой табельного учета»
      1. Поток событий. Основной поток
      2. Альтернативные потоки
    9. Итоги раздела 2
  6. Раздел 3
    1. Задачи для выполнения упражнений
      1. 1. Задача «Комбинат питания»
      2. 2. Задача «Театральные кассы»
      3. 3. Задача «Автоматизация поликлиники»
      4. 4. Задача «Таксопарк»
      5. 5. Задача «Мастерские автообслуживания»
      6. 6. Задача «Информационные материалы»
      7. 7. Задача «Документы муниципалитета»
      8. 8. Задача «Риелторская контора»
      9. 9. Задача «Расчет зарплаты»
      10. 10. Задача «Регистрация студентов на курсы»
    2. Заключение, или «Что делаем дальше»
      1. Учебный центр «Люксофт»
      2. Мехмат МГУ им. М. В. Ломоносова
    3. Приложение 1. Шаблоны документов, содержащих требования к системе
      1. Запрос заинтересованного лица
      2. Спецификация сценария использования
      3. Концепция Системы (Vision)
      4. Дополнительные технические требования Введение

Книга представляет собой краткий конспект лекций по определению модели предметной области на конкретном примере. Используется объектно-ориентированный подход, существенно отличающийся от известного моделирования «сущность — связь», или ER-моделирования. Модель имеет визуальный характер и изображается в нотации Unified Modeling Language (UML), которая широко известна среди аналитиков, архитекторов, разработчиков и программистов. Описаны паттерны, применяемые для преобразования диаграмм классов на UML, и приведены примеры их практического использования. Изложение ведется согласно методологии IBM RUP.

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

Введение

Модель предметной области служит разным целям:

1) помогает определить логическую структуру БД информационной системы;

2) является основой для составления «расширенного» словаря проекта;

3) помогает найти все сценарии (при выявлении функциональных требований в специальной форме — в виде сценариев использования (Use Cases));

4) позволяет не пропустить «вспомогательные» сценарии, которые могут быть не упомянуты в постановке задачи, полученной от заказчика ИС.

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

• Модель — это «упрощение реальности» в интересах заинтересованных лиц.

База данных — набор картотек, взаимосвязанных друг с другом и ведущихся на компьютере.

Сервер — процесс, предоставляющий целостный доступ к общему ресурсу.

Сервер БД, или СУБД (система управления БД), предоставляет целостный доступ к базе данных как общему ресурсу.

Картотека — набор карточек с «одинаковой структурой», представляется в модели классом.

Карточка — запись в картотеке, представляется в модели объектом. Все карточки одной и той же картотеки имеют одинаковую структуру: одинаковый набор полей карточки (или атрибутов) и одинаковый набор связей с карточками других картотек.

Класс — это описание набора «одинаковых» объектов, т. е. объектов, имеющих одинаковый набор атрибутов, одинаковый набор операций и одинаковый набор указателей на другие объекты. Картотеки представимы классами.

Объект — это экземпляр класса, т. е. запись, или «карточка», в соответствующей картотеке.

Атрибут — поименованное свойство объекта.

Операция — сервис, который может быть запрошен у объекта. Метод или функция, инкапсулированная в объект.

Для проведения визуального моделирования будем использовать специальные программные инструменты, называемые CASE-средствами (Computer Assist Software Engineering)[1]. Тогда будет возможно проведение «генерации кода» по модели («прямое проектирование», или forward engineeging) и обратное проектирование (reverse engineering) — восстановление модели по программному коду или по существующей БД.

Книга состоит из двух разделов. В первом описан пошаговый процесс выявления элементов модели и построения набора диаграмм классов UML как модели предметной области. Второй раздел вводит понятие процесса выявления требований к ИС в специальной форме «сценариев использования» (UC — Use Cases) и разъясняет, как использовать модель предметной области для выявления сценариев использования.

Модель предметной области отличается от моделирования «сущность — связь», или ER-моделирования (Entity-Relationship), методически и содержательно. ER-модель служит для описания логической структуры БД и имеет собственную визуальную нотацию. С технической точки зрения в сущностях визуальной ER-модели следует явно «прописывать» так называемые первичные и внешние ключи реляционной модели данных. Эти отличия кратко излагаются в приложении.

Ранее представленная методика была описана в методическом пособии Кумсков М. И. Базы данных и процессы их создания. Введение. М.: Мехмат МГУ, 2004.

 Если пользоваться графическими редакторами, например, MS Visio, то возникнут проблемы синхронизации визуальных элементов при «разрастании» (масштабировании) модели.

[1] Если пользоваться графическими редакторами, например, MS Visio, то возникнут проблемы синхронизации визуальных элементов при «разрастании» (масштабировании) модели.

Для проведения визуального моделирования будем использовать специальные программные инструменты, называемые CASE-средствами (Computer Assist Software Engineering). Тогда будет возможно проведение «генерации кода» по модели («прямое проектирование», или forward engineeging) и обратное проектирование (reverse engineering) — восстановление модели по программному коду или по существующей БД.

Благодарности

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

Бахвалову Николаю Сергеевичу,

Позину Борису Ароновичу,

Сорокину Александру Викторовичу,

Ивановой Елене Владимировне,

Авдошину Сергею Михайловичу.

Представленные ниже методики и материалы прошли апробацию на курсах и тренингах, читаемых на мехмате МГУ, в департаменте программной инженерии факультета компьютерных наук ВШЭ, в учебном центре «Люксофт», при проведении мастер-классов и выступлений на конференциях. Видеозапись некоторых из них можно найти по следующим ссылкам:

1. Lviv IT Arena 2015: Mikhail Kumskov, Best Practices of Project Execution According to IBM Rational. URL: https://www.youtube.com/watch?time_continue=2&v=p5NzDKDzLOY

2. Value Management and Business Analysis (VM&BA). Mikhail Kumskov. Workshop. URL: https://www.youtube.com/watch?v=6FEUlwXrfgQ

3. Analyst Day 2014. Синергия UML: Модель предметной области, Бизнес-системы, Информационные системы: переход шаг за шагом. URL: https://www.youtube.com/watch?time_continue=5&v=Vl6SFx0rzqw

4. Летний аналитический фестиваль 2013 (ЛАФ-2013) «Системный анализ ИС и бизнес-системы — связь, сходства и различия». URL: https://www.youtube.com/watch?time_continue=3&v=4LtIQVj3juw

5. Конференции REQ Labs 2011. Процессы и люди. URL: https://www.youtube.com/watch?v=cz5IBkf5E20

Раздел 1

Построение визуальной модели предметной области

Модель — это «упрощение реальности» в интересах заинтересованных лиц. Такое определение относится и к нашему моделированию. Здесь главным заинтересованным лицом является инвестор или топ-менеджер организации. Есть и другие заинтересованные лица — аналитики, архитекторы, разработчики информационной системы (ИС), и поэтому одной модели, как правило, недостаточно. Нужны разные «упрощения» для разных читателей модели[1].

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

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

• Шаг №0. Определяем цели построения модели.

• Шаг №1. Определяем события-картотеки, подлежащие учету на предприятии.

• Шаг №2. Определяем справочники-картотеки, подлежащие учету.

• Шаг №3. Для события определяем картотеки, связанные с ним (для каждого события).

• Шаг №4. Для справочника определяем картотеки, связанные с ним (для каждого справочника).

• Шаг №5. Отображаем (визуально) картотеки, связанные с ней на диаграмме классов UML.

• Шаг №6. Применяем паттерны преобразования отношений на диаграммах классов UML.

Шаг №0. Определяем цели построения модели

Цель построения модели в задаче «Комбинат питания» была определена в постановке задачи.

Это учет заказов гостей, движения продуктов и денег за них в пунктах питания — кафе и ресторанах. Теперь мы не будем учитывать и вводить в модель те детали, которые не относятся к заявленной цели. Например, не учитываем события «бронирование столика в кафе».

Далее следует определить те события («бизнес-транзакции»), которые подлежат учету, согласно заданным целям. Для таких событий на предприятии будут вестись учетные записи, или — в нашей терминологии — картотеки (гроссбухи, если учет бумажный).

Шаг №1. Определяем события, подлежащие учету

Для нашего примера мы выявляем бизнес-события по «движению продуктов питания и денег за них». Очевидно, что такими событиями будут:

1. «Заказ» гостя.

2. «Оплата заказа».

3. «Покупка продуктов» в кафе.


...