Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Proektirovanie_modeley_predmetnoy_oblasti.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
106.5 Кб
Скачать

Проектирование информационных моделей информационной системы (ис).

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

1. Теоретический материал.

1. Переменные и параметры.

При решении математических примеров используется такой термин как «переменная» или «параметр». Переменные обозначаются буквами x,y, … , а параметры a,b,c, … . Каждое из описанных переменных/параметров хранит какое-либо число. А теперь представьте, что x,y,a,b,c должны хранить не только численные значения. В рамках информационных технологий это встречается сплошь и рядом. В результате, переменные, хранящие информацию в виде чисел и других типов данных, остаются, но теперь неизвестно — что есть что. Так, переменная truck может хранить как инвентарный номер подвижного состава, так и его гос. рег. знак. Если первое — это целое число, то второе — это строка.

Типы данных делятся на простые и сложные.

Простые типы данных.

- целое число (int)

- рациональное число (float)

- дата/время (Date)

- логическая переменная (boolean)

- строка (String)

- пустой тип (void) — используется в качестве описания результата выполнения функции.

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

String companyName;

int bankAccount;

Как видно из примера, при описании переменной задается не только её название (companyName, bankAccount) , но и тип данных (String,int).

2. Сложные типы данных.

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

Атрибутивная часть сложного типа данных. Приведенный выше пример информационной модели юридического лица демонстрирует пример сложного типа данных «Юр. Лицо», состоящее в данном случае из 2-х атрибутов простого типа. (В реальной информационной системе таких атрибутов значительно больше, и не все имеют простой тип данных).

Переменные, хранящие определенную часть информации об объекте, называются атрибутами объекта (как напр. номер лицевого счета и название фирмы). Исходя из представленного примера запишем общий вид записи атрибутов:

ТИП_ДАННЫХ НАЗВАНИЕ_АТРИБУТА;

Для атрибута/переменной любого простого или сложного типа существует надстройка в виде массива. В массиве хранятся данные одного указанного типа, сгруппированных исходя из какого-либо физического смысла в случае, когда точное количество этих данных не известно. Примером может служить массив данных типа «перевозка», который пополняется каждый раз при возникновении очередной перевозки у транспортной компании.

Другим примером хранения данных в массиве является информационная модель «Автоперевозчик» с атрибутом, хранящим подвижной состав:

Transport[] ts;

где атрибут c именем ts содержит произвольное количество элементов (сложного) типа Transport.

Функциональная часть сложного типа данных.

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

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

Пример функции математической выглядит достаточно примитивно: z=f(x,y). Подразумевается, что z,x,y, - действительные числа. Как мы видели в случае с атрибутами, в информатике это не всегда так. Аналогично с описанием переменных/атрибутов необходимо добавить тип данных В результате для той же математической функции имеем: float f(float x, float y). Дополнительным отличием является то, что между результатом (z) и названием функции вместо знака равно стоит пробел, и переменная z присутствует только в виде типа данных, без своего названия. Это связано с тем, что в информатике знак «=» указывает на команду присвоения. В нашем же случае мы не производим никаких операций — вызова функции и присвоения результатов этого вызова заданной переменной. Это лишь декларация (описание) функции, являющееся частью процесса моделирования.

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

z=a.f(x,y);

Данная запись является строкой программного кода, в которой объявлены переменные z,x,y типа float и переменная a (какого-то) сложного типа. При чем данный сложный тип имеет в своем составе функцию с именем f и двумя входными параметрами типа float. (Вопросы написания частей программного кода на базе спроектированных информационных моделей реальных объектов в данном материале не рассматриваются. Текст, выделенный курсивом, приведен для полноты приводимых аналогий между записью математических выражений и аналогичных выражений в информатике).

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

Формальная запись функции в общем виде выгладит следующим образом:

ТипДанныхРезультатаФункции НазавниеФункции(ТипДанныхВходногоПараметра1 НазваниеВходногоПараметра1, ….., ТипДанныхВходногоПараметра_n НазваниеВходногоПараметра_n)

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]