Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Примеры дипломов / ВКР_Ботов.pdf

Скачиваний:
35
Добавлен:
13.05.2015
Размер:
2 Мб
Скачать

4.ОПИСАНИЕ СТРУКТУР ДАННЫХ

4.1.Инфологическая модель данных

Таблицы, достаточные для сериализации сущностей уровня бизнес-

логики в базу данных перечислены ниже.

EntityAttribute(attributeEntityID, type, code, isSystem, inputType, inputValidator,

defaultValue, isUniqueValue, isRequiredValue, isSingleValue, isEnumValue)

EntityAttributeSet(attributeSetEntityID)

EntityAttributeValue(entityAttributeValueID, attributeEntityID, urlName, decimalVal, integerVal, stringVal, textVal, dateVal, boolVal)

EntityAttributeValuesXref(entityID, entityAttributeValueID)

EntityGroup(groupEntityID)

EntityGroupAttributeXref(groupEntityID, attributeEntityID, sortOrder,

isRequired)

EntityItem(entityID, rootEntityID, parentEntityID, typeID, creatorID, hierarchyID varchar, title, sortOrder, createDate, deleted, active)

EntitySubType(typeID, entitySubTypeID)

EntityType(typeID, name)

EntityXrefEntity(entityID, refEntityID)

Product(productEntityID, productTypeID, attributeSetEntityID, sku, weight, price, qty, urlName)

ProductType(productTypeID, name)

Описанные выше сущности образуют связи, описанные в таблице 4.1. 32

Таблица 4.1 «Связи между сущностями»

Сущность

Тип связи

Сущность

 

 

 

EntityItem

«один ко многим»

EntityItem

 

 

 

EntityItem

«один к одному»

Product

 

 

 

EntityItem

«один к одному»

EntityAttributeSet

 

 

 

EntityType

«один ко многим»

EntityItem

 

 

 

EntityItem

«один ко многим»

EntityXrefEntity

 

 

 

EntityItem

«один ко многим»

EntityAttributeValuesXref

 

 

 

EntityItem

«один к одному»

EntityAttribute

 

 

 

EntityItem

«один к одному»

EntityGroup

 

 

 

ProductType

«один ко многим»

Product

 

 

 

EntityAttributeSet

«один ко многим»

Product

 

 

 

EntityType

«один ко многим»

EntitySubType

 

 

 

EntityAttributeValue

«один ко многим»

EntityAttributeValuesXref

 

 

 

EntityAttribute

«один ко многим»

EntityAttributeValue

 

 

 

EntityAttribute

«один ко многим»

EntityGroupAttributeXref

 

 

 

EntityGroup

«один ко многим»

EntityGroupAttributeXref

 

 

 

На рис. 4.1 представлена инфологическая модель данных,

разработанная при помощи средства SQL Server Management Studio 2008.

33

Рис. 4.1 «Инфологическая модель данных»

4.2.Даталогическая модель данных

На основе инфологической модели была разработана даталогическая модель (см. рис. 4.2).

34

Рис.4.2. «Даталогическая модель данных»

35

Таблица 4.2 является базовой – любая сущность интернет-магазина

имеет запись в данной таблице.

 

 

Таблица 4.2 «EntityItem»

 

 

 

Название поля

Тип данных

Null дозволен

 

 

 

entityID

bigint

Нет

 

 

 

rootEntityID

bigint

Нет

 

 

 

parentEntityID

bigint

Нет

 

 

 

typeID

int

Нет

 

 

 

creatorID

uniqueidentifier

Нет

 

 

 

hierarchiID

varchar(512)

Нет

 

 

 

Title

nvarchar(512)

Нет

 

 

 

sortOrder

int

Нет

 

 

 

createDate

datetime

Нет

 

 

 

Deleted

bit

Нет

 

 

 

Active

bit

Нет

 

 

 

Таблица 4.3 необходима для хранения информации о продукции

интернет-магазина.

 

Таблица 4.3 «Product»

 

 

 

Название поля

Тип данных

Null дозволен

 

 

 

productEntityID

bigint

Нет

 

 

 

productTypeID

int

Нет

 

 

 

attributeSetEntityID

bigint

Нет

 

 

 

Sku

nvarchar(128)

Да

 

 

 

Weight

float

Да

 

 

 

Price

money

Нет

 

 

 

Qty

int

Нет

 

 

 

urlName

varchar(128)

Да

 

 

 

 

36

 

Таблица 4.4 необходима для группирования атрибутов сущностей.

 

 

Таблица 4.4 «EntityAttributeSet»

 

 

 

 

Название поля

Тип данных

 

Null дозволен

 

 

 

 

attributeSetEntityID

bigint

 

Нет

 

 

 

 

Таблица 4.5 позволяет разделять сущности на типы, такие как: товар,

категория, заказ, детали заказа и т.д.

 

 

 

Таблица 4.5 «EntityType»

 

 

 

 

Название поля

Тип данных

 

Null дозволен

 

 

 

 

typeID

int

 

Нет

 

 

 

 

Name

varchar(256)

 

Да

 

 

 

 

 

 

Таблица 4.6 «EntitySubType»

 

 

 

 

Название поля

Тип данных

 

Null дозволен

 

 

 

 

typeID

int

 

Нет

 

 

 

 

entitySubTypeID

int

 

Нет

 

 

 

 

Таблица 4.7 необходима для реализации механизма кроссреференса

между сущностями.

 

 

Таблица 4.7 «EntityXrefEntity»

 

 

 

 

Название поля

Тип данных

 

Null дозволен

 

 

 

 

entityID

bigint

 

Нет

 

 

 

 

refEntityID

bigint

 

Нет

 

 

 

 

Таблица 4.8 необходима для реализации механизма кроссреференса

между значениями атрибутов.

37

Таблица 4.8 «EntityAttributeValuesXref»

Название поля

Тип данных

 

Null дозволен

 

 

 

 

entityID

bigint

 

Нет

 

 

 

 

entityAttributeValueID

int

 

Нет

 

 

 

Таблица 4.9 содержит значения атрибутов сущностей.

 

 

Таблица 4.9 «EntityAttributeValue»

 

 

 

 

Название поля

Тип данных

 

Null дозволен

 

 

 

 

entityAttributeValueID

int

 

Нет

 

 

 

 

attributeEntityID

bigint

 

Нет

 

 

 

 

urlName

nvarchar(128)

 

Да

 

 

 

 

decimalVal

decimal(28, 10)

 

Да

 

 

 

 

integerVal

int

 

Да

 

 

 

 

stringVal

nvarchar(1024)

 

Да

 

 

 

 

textVal

nvarchar(4000)

 

Да

 

 

 

 

dateVal

datetime

 

Да

 

 

 

 

boolVal

bit

 

Да

 

 

 

 

Таблица 4.10 «EntityGroupAttributeXref»

 

 

 

 

groupEntityID

bigint

 

Нет

 

 

 

 

attributeEntityID

bigint

 

Нет

 

 

 

 

sortOrder

int

 

Нет

 

 

 

 

isRequired

char(10)

 

Да

 

 

 

 

Таблица 4.11 «EntityAttribute» содержит описание типов атрибутов,

расширяющих сущности интернет-магазинов.

38

 

 

Таблица 4.11 «EntityAttribute»

 

 

 

 

Название поля

Тип данных

 

Null дозволен

 

 

 

 

attributeEntityID

bigint

 

Нет

 

 

 

 

Type

varchar(64)

 

Нет

 

 

 

 

Code

nvarchar(64)

 

Нет

 

 

 

 

isSystem

bit

 

Нет

 

 

 

 

inputType

varchar(128)

 

Нет

 

 

 

 

inputValidator

nvarchar(128)

 

Да

 

 

 

 

defaultValue

nvarchar(1024)

 

Да

 

 

 

 

isUniqueValue

bit

 

Нет

 

 

 

 

isRequiredValue

bit

 

Нет

 

 

 

 

isSingleValue

bit

 

Нет

 

 

 

 

isEnumValue

bit

 

Нет

 

 

 

 

 

 

Таблица 4.12 «EntityGroup»

 

 

 

 

Название поля

Тип данных

 

Null дозволен

 

 

 

 

groupEntityID

bigint

 

Нет

 

 

 

 

4.3.Слой бизнес-логики

Для построения переднего офиса прототипа интернет-магазина были выделены следующие бизнес-сущности:

1.Order – сущность необходимая для формирования заказа покупателя;

2.OrderDetail – уточняющая заказ сущность;

3.User – пользователь интернет-магазина;

39

4.Product – продаваемая сущность;

5.Address – сущность, необходимая для хранения адресов (платежного и доставки).

Названные выше сущности слоя бизнес-логики представлены на рис. 4.3.

Рис 4.3 «Слой бизнес логики»

Все сущности в конечном итоге сериализуется в базу данных. Каждой сущности ставится в соответствие запись таблицы EntityItem. Для разграничения сущностей по типам используется связь таблицы

40

4.3.1. Проектирование интерфейсов

Хорошей практикой в процессе построения веб-приложений является первенство разработки дизайна над написанием программного кода. Именно об этом говориться в главе 9 книги Getting Real: «Слишком много приложений создаются с подходом «сначала программируем». Это неудачная идея. Программирование – самое сложное в создании приложения, а это значит, что и самая дорогая его часть. И создав код, вам будет сложно его изменить. Вместо этого начинайте с дизайна интерфейса» [23].

Потому как компания VivaPortals придерживается методологии изложенной в книге «Getting Real», было принято решения осуществить прототипирование полновесного интерфейса интернет-магазина, а также оптимизированного под браузер смартфона Apple iPhone.

4.3.2. Прототипирование полновесного интерфейса интернет-магазина

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

Так на полновесную версию интерфейса наибольшее влияние оказал продукт компании Magento [24].

Проектирование осуществлялось исходя из разрешения 1024 на 768

пикселей для полновесной версии браузера. По данным портала www.w3schools.com/ разрешение 1024 на 768 пикселей можно считать стандартным, так как подавляющая часть более (96%) пользователей используют именного его (20%) или выше [25].

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

Для построения прототипов интерфейсов использовался инструмент

SketchFlow средства Microsoft Expression Blend 3. «SketchFlow – это 41

Соседние файлы в папке Примеры дипломов