При разработке концептуальной модели необходимо определить бизнес-задачи и функции, необходимые для их решения. Лучший подход заключается в том, чтобы общаться с людьми, которые на самом деле будут использовать приложение, встречаться с широким кругом пользователей и включать как можно больше бизнес-сценариев или пользовательских сценариев. Определите удостоверения и количество потенциальных пользователей системы, а также размер и область задействованных данных. Хотя сбор этой информации может быть наименее техническим аспектом процесса проектирования, он является одним из наиболее важных. Для разработки успешного приложения необходимо четкое представление о бизнес-проблемах и процессах, которые необходимо решить.
При определении требований к приложению учитывайте следующие моменты.
- Требования к производительности. Каково ожидаемое время ответа для задач приложения? Какая поддержка отработки отказа для отключенных серверов необходима? Каковы часы доступности?
- Среда. Какие серверы доступны? Планируется ли выполнение дополнительных серверов каких-либо требований к масштабированию?
- Развертывание. Как приложение будет интегрироваться с текущей системой? С какими другими системами будет взаимодействовать приложение? Какие операционные системы используют другие системы? Какие протоколы связи должны поддерживаться? Какой API можно использовать для взаимодействия с другими системами? Где находятся другие системы в сети? Какие ограничения на использование компьютера действуют? К каким учетным записям пользователей разрешен доступ?
- Расположение. Где находятся данные по отношению к клиенту? Осуществляется ли удаленный доступ к данным или они являются локальными?
- Безопасность. Существуют ли требования к шифрованию или проверке целостности? Существуют ли требования к проверке подлинности или защите данных?
- Права доступа. Существуют ли ограничения на то, кому разрешено выполнять определенные операции? В этом случае сначала необходимо задокументировать, какие операции требуют авторизации, а затем задокументировать типы пользователей, которые могут иметь авторизацию. Эти требования могут оказать большое влияние на реализацию частей приложения.
Источник: learn.microsoft.com
Модель Данных. Создаем концептуальную модель данных (на примере школы)
Что такое концептуальная модель?
Чтобы у пользователя были более четкие понятия о функционировании той или иной системы, проектировщик создает концептуальную модель того или иного приложения. В этих целях используется различная документация, графики, спецификация, диаграммы и так далее. Чтобы вы могли точно понять, что такое концептуальная модель, какие цели и задачи она преследует, в данной статье мы решили более подробно остановиться на этом понятии.
Моделирование данных за 9 минут
Значение термина
Концептуальная модель — это определенная схема. Она в целях формирования смысловой структуры некоего объекта использует различные понятия и связи между ними. Однако стоит учитывать тот момент, что концептуальная модель системы абстрактна. Но это не единственное значение термина. Кроме того, существует понятие «концептуальная модель предметной области».
Смысл данного термина состоит в том, что для описания какой-либо сферы используется перечень связанных между собой понятий. В этих целях используются классификация определений, их характеристики и свойства, а также законы происходящих в них процессов.
Основные задачи
Стоит отметить, что концептуальная модель создается в первую очередь для облегчения восприятия информации обычным пользователем. Другими словами, разрабатывается узконаправленное и подробное описание действия структуры. Чтобы добиться данного результата, необходимо в первую очередь сделать эту модель наиболее простой (с этой целью используют минимальное количество значений). А во-вторых, постараться максимально ориентировать ее на выполнение определенных задач (то есть максимально ограничить работу пользователя с нефигурирующими значениями в данной области).
Основные цели
Концептуальная модель преследует следующие цели:
— Создать простую, последовательную и удобную в использовании и изучении структуру. С этой целью области задач разделяются на понятия, которые можно использовать для работы с разными объектами.
— Сохранить устойчивость терминологии. Это достигается тем, что концептуальная модель данных, состоящая на начальном этапе из словаря терминов, используется для распознавания каждого действия и объекта, расписанного в программе.
Как доказано, неиспользование данной терминологии приводит к тому, что для определения одной схемы используются несколько понятий, или один и тот же термин применяется для описания различных схем.
Разработка концептуальной модели
Этот процесс заключается в создании первоначальной схемы. В дальнейшем разработчик сможет применять ее для реализации программного обеспечения. Чтобы дать описание сложной системе, используется некий алгоритм поведения компонентов данной системы, отражая, таким образом, их взаимодействие между собой.
Бывают случаи, когда информации, содержащейся в описании, оказывается недостаточно, чтобы понять и изучить объект моделирования. Чтобы исправить данное упущение, следует возвратиться к этапу составления оглавления и добавить те данные, отсутствие которых было установлено при формализации объекта. Причем, как показывает практика, подобных возвратов может быть несколько. Кстати, создание рассматриваемых в статье схем для простых структур не оправдано.
В имитационном моделировании нашли применение разные концептуальные модели, имеющие различную структуризацию. Чаще всего их схемы ориентируются на математические теории. Это приводит к проблемам выбора подходящей системы описания необходимого объекта моделирования. Так, к примеру, для дискретных схем принято использовать процессно-ориентировочные структуры.
Чтобы составить непрерывную конструкцию, используют потоковые диаграммы системной динамики. Концептуальная модель данных разрабатывается с использованием специального языка, который закреплен в самой конструкционной структуре. Дабы упростить построение и программирование той или иной схемы, используются специально разработанные приемы технологии программирования.
Важные компоненты
Следует знать, что концептуальная модель включает в себя ряд важных элементов. В первую очередь к ним относятся исследование объектов и изучение их действий. То есть пользователь должен изучить список всех видимых для него приложений и манипуляций, которые он может совершать над каждым объектом в отдельности. Естественно, что в разработке системы могут (и, скорее всего, будут) присутствовать и другие объекты, однако они будут скрыты от пользователя.
Заключение
В ряде случаев при создании объектов концептуальной модели используют принцип структурной организации многоуровневых систем. Таким образом, разработчик достигает более легкого проектирования понятного для пользователя объекта. Подобное построение способствует управлению реализацией системы, а также облегчает создание структур команд приложения.
То есть разработчик может определить, какие действия применимы к различным объектам, какие из них могут быть обобщены. Это дает возможность сделать структуру команд наиболее доступной для восприятия пользователем. То есть вместо того, чтобы изучать огромное количество объектно-ориентировочных команд, необходимо всего лишь освоить обобщенные. Анализируя все вышесказанное, можно сказать, что концептуальная модель — это всего лишь схема, которая определяет свойства элементов планируемой структуры и ее причинно-следственные связи, необходимые для достижения поставленной цели конструирования.
Источник: fb.ru
Об уровнях абстракции при моделировании данных
В процессе проектирования схему данных удобно представлять с помощью следующих моделей (см. рис. 8.2):
- концептуальная модель служит средством для извлечения знаний о предметной области, то есть для работы с экспертами, пользователями, заказчиками; эта модель помогает программистам разобраться с той сферой человеческой деятельности, для которой им предстоит создать свое программное приложение, выявив там основные сущности и связи между ними; поскольку концептуальная модель предназначена для обсуждения с непрограммистами, то она не должна содержать конструкций и понятий, которых последним не воспринять;
- логическая модель позволяет полностью задать структуру данных, однако без «привязки» к конкретной платформе реализации; с одной стороны, такое описание получается компактнее, чем физическая модель, позволяя взглянуть на схему данных в целом, без лишних деталей; с другой стороны, такая спецификация может быть в дальнейшем реализована для разных СУБД; логическая модель содержит абстракции, которые уже могут быть непонятны экспертам предметной области — эта модель служит для уточнения информации о предметной области в виде, удобном для последующей реализации;
- физическая модель является описанием структуры данных в терминах платформы реализации — конкретной СУБД; эта модель уже содержит информацию о различных деталях реализации — индексах и ключах, типах атрибутов и т.д., которые определены в терминах целевого языка программирования и т. д.; физическая модель фактически является диаграммным представлением части программного кода, определяющего схему данных.
Рис. 8.2. Различные модели данных Далее следует реализация схемы данных в виде:
- полной спецификации с помощью программы на языке программирования, например, на SQL/DDL, с описанием всех таблиц, значений записей по умолчанию, определением прав на таблицы и группы таблиц, хранимыми процедурами и триггерами и т. д.; эта спецификация может содержать информацию, которая отсутствует в физической модели, так как в последнюю попадает только то, что хорошо выразимо с помощью диаграмм сущность-связь;
- «живой» базы данных, получаемой как результат исполнения средствами некоторой СУБД программы, задающей схему (SQL/DDL-скрипта); создается электронное хранилище, которое реализует доступ к данным со стороны программных приложений, а также обеспечивает сохранение данных после окончания работы приложения и выключения компьютера — это свойство данных обычно называют персистентностью (persistent).
Пример концептуальной модели
В этом примере рассматривается схема данных для приложения, автоматизирующего работу факультетов университета. Фрагмент соответствующей концептуальной модели представлен на рис. 8.3. Рис. 8.3.
Пример концептуальной модели Анализируя эту предметную область, можно выделить следующие сущности — «Студент», «Преподаватель», «Кафедра», «Отделение» и «Факультет», а также их отношения и атрибуты; для отношений показывается множественность. Важно, что в концептуальной модели нет типов атрибутов, а также ключей и индексов, сущности не нормализуются (то есть допускается наличие сложных атрибутов, например «Адрес» и «ФИО»). Все это нужно для того, чтобы такую модель можно было легко обсуждать со специалистами в той предметной области, для которой создается данное приложение, — секретарем декана, заместителем декана по учебной части и пр. Если в концептуальную модель будет добавлена лишняя программистская информация, то, как показывает опыт, она сразу перестанет быть понятной этим людям. В каждом случае этот «порог» может быть своим; он зависит от IT-компетентности специалистов предметной области, соответственно, диапазон используемых модельных средств может варьироваться.
Источник: studfile.net