- •Оглавление
- •Введение
- •Предпроектное обследование организации
- •Анализ предметной области
- •Постановка задачи
- •Входные и выходные данные
- •Проектирование информационной системы «выбор ноутбука»
- •Концептуальная модель данных в bpWin
- •Модель базы данных
- •Модель интерфейса
- •Программная реализация экспертной системы «выбор ноутбука»
- •Обоснование выбора программного обеспечения для разработки
- •Реализация клиентской части приложения «Выбор ноутбука»
- •Реализация базы данных приложения «Выбор ноутбука»
- •Заключение
- •Список использованной литературы
- •Приложение
Проектирование информационной системы «выбор ноутбука»
Концептуальная модель данных в bpWin
Контекстная диаграмма отражает взаимодействие системы с внешним миром, а именно, информационные потоки между системой и внешними сущностями, с которыми она должна быть связана. Она идентифицирует эти внешние сущности, а также, единственный процесс, отражающий главную цель или природу системы насколько это возможно. Так же, отражает взаимодействия внутри самой системы.
На рисунке 1 представлена контекстная диаграмма «Выбор ноутбука», которая описывает все входные (Клиенты, ассортимент, прайс-листы), выходные (оформление или отказ от покупки), регулирующие документы (Законы, нормативно-правовые акты, кодекс и внутренняя организация), механизмы помогающие осуществлять деятельность компании (консультант).
Рисунок 1. Контекстная диаграмма «Выбор ноутбука»
На рисунке 2 представлена декомпозиция контекстной диаграммы, представленной на рисунке 1. Она включает в себя следующие работы: прием товара, выбор и осмотр техники, принятие решения.
Рисунок 2. Декомпозиция диаграммы "Выбор ноутбука"
Декомпозиция работы «Прием товара» представлена на рисунке 3. Работа включает в себя следующие процессы: выбор товара у поставщика, проверка наличия товара на складе, оформление покупки, оплата и доставка.
Рисунок 3. Декомпозиция работы "Прием товара"
Декомпозицию работы «Выбор и осмотр техники» представлена на рисунке 4. Работа включает в себя следующие процессы: формирование потребностей клиента, демонстрация подходящих моделей.
Рисунок 4. Декомпозиция диаграммы "Выбор и осмотр техники"
Модель базы данных
На основе анализа основных характеристик ноутбуков, которыми чаще всего интересуются покупатели при выборе подходящей модели, был осуществлен их отбор для поиска и построены инфологические (логическая и физическая) модели баз данных.
Концептуальное (инфологическое) проектирование — построение семантической модели предметной области, то есть информационной модели наиболее высокого уровня абстракции. Такая модель создаётся без ориентации на какую-либо конкретную СУБДимодель данных. Термины «семантическая модель», «концептуальная модель» и «инфологическая модель» являются синонимами. Кроме того, в этом контексте равноправно могут использоваться слова «модель базы данных» и «модель предметной области» (например, «концептуальная модель базы данных» и «концептуальная модель предметной области»), поскольку такая модель является как образом реальности, так и образом проектируемой базы данных для этой реальности.
Конкретный вид и содержание концептуальной модели базы данных определяется выбранным для этого формальным аппаратом. Обычно используются графические нотации, подобные ER-диаграммам.
Чаще всего концептуальная модель базы данных включает в себя:
описание информационных объектов, или понятий предметной области и связей между ними.
описание ограничений целостности, т.е. требований к допустимым значениям данных и к связям между ними. [1]
Логическое (даталогическое) проектирование — создание схемы базы данныхна основе конкретноймодели данных, например,реляционной модели данных. Для реляционной модели данных даталогическая модель — набор схемотношений, обычно с указаниемпервичных ключей, а также «связей» между отношениями, представляющих собойвнешние ключи.
Преобразование концептуальной модели в логическую модель, как правило, осуществляется по формальным правилам. Этот этап может быть в значительной степени автоматизирован.
На этапе логического проектирования учитывается специфика конкретной модели данных, но может не учитываться специфика конкретной СУБД.
На рисунке 5 представлена логическая модель данных.
Рисунок 5. Логическая модель базы данных
Физическое проектирование — создание схемы базы данныхдля конкретнойСУБД. Специфика конкретной СУБД может включать в себя ограничения на именование объектов базы данных, ограничения на поддерживаемые типы данных и т.п. Кроме того, специфика конкретной СУБД при физическом проектировании включает выбор решений, связанных с физической средой хранения данных (выбор методов управления дисковой памятью, разделение БД по файлам и устройствам, методов доступа к данным), создание индексов и т.д.
На рисунке 6 представлена физическая модель базы данных.
Рисунок 6. Физическая модель базы данных
Физическая модель базы данных приложения состоит из 14 таблиц:
Bluetooth,
Diagonal,
Disk,
Firm,
HDD,
Money,
Operativ,
OS,
Processor,
Using,
Notebook,
Opisanie,
Users,
Vopros.
Опишем каждую из них более подробно.
Первые 10 таблиц содержат возможные ответы на вопросы, или, иначе говоря, все возможные характеристики ноутбуков. Эти таблица схожи по своим определениям, но отличаются назначением и содержанием.
Таблица «Bluetooth» предназначена для выбора ответа о наличии в ноутбуке Bluetooth подключения.
Имя столбца |
Тип данных |
Bluetooth |
Varchar(15) |
Таблица 1 - Bluetooth
Таблица «Diagonal» предназначена для выбора ответа о размере диагонали ноутбука.
Имя столбца |
Тип данных |
Diagonal |
Varchar(10) |
Таблица 2 - Diagonal
Таблица «Disk» предназначена для выбора ответа о возможности загружать на ноутбук информацию с дисков.
Имя столбца |
Тип данных |
Disk |
Varchar(15) |
Таблица 3 - Disk
Таблица «Firm» предназначена для выбора ответа о фирме – производителе ноутбука.
Имя столбца |
Тип данных |
Firm |
Varchar(12) |
Таблица 4 - Firm
Таблица «HDD» предназначена для выбора ответа об объеме жесткого диска ноутбука.
Имя столбца |
Тип данных |
HDD |
Varchar(10) |
Таблица 5 - HDD
Таблица «Money» предназначена для выбора ответа об интервале денежных средств, в пределах которого клиенты могут себе позволить приобрести ноутбук.
Имя столбца |
Тип данных |
Money |
Varchar(15) |
Таблица 6 - Money
Таблица «Operativ» предназначена для выбора ответа о желаемом объеме оперативной памяти ноутбука.
Имя столбца |
Тип данных |
Operativ_pam |
Varchar(10) |
Таблица 7 - Operativ
Таблица «OS» предназначена для выбора ответа о желаемой операционной системе, установленной на ноутбуке, либо ее отсутствие.
Имя столбца |
Тип данных |
OS |
Varchar(10) |
Таблица 8 - OS
Таблица «Processor» предназначена для выбора ответа о желаемом процессоре ноутбука.
Имя столбца |
Тип данных |
Proc |
Varchar(30) |
Таблица 9 - Processor
Таблица «Using» предназначена для выбора ответа о желаемом назначении ноутбука, т.е. для каких целей он приобретается и как планируется его использовать.
Имя столбца |
Тип данных |
Using |
Varchar(20) |
Таблица 10 - Using
Следующая рассматриваемая таблица «Notebook» хранит в себе все возможные модели ноутбуков и их характеристики, по которым осуществляется поиск.
Имя столбца |
Тип данных |
Id |
Int |
Notebook |
Varchar(50) |
Parameters |
Varchar(150) |
Price |
Varchar(9) |
Таблица 11 - Notebook
В поле «Notebook» хранится информация о названии модели. Поле «Parameters» содержит перечень всех главных характеристик, по которым осуществляется поиск, и перечень которых содержится в выше описанных таблицах. Поле «Price» содержит цену модели. Поле «Id» является идентификатором модели.
При поиске пользователю выводятся 3 поля: «Id», «Notebook» и «Price». Т.о. клиент может по идентификатору посмотреть более подробную характеристику понравившейся модели в таблице «Opisanie».
Таблица «Opisanie» содержит полную, подробную характеристику каждого ноутбука.
В таблице «Users» хранится логин и пароль администратора, и других пользователей, при необходимости. Пароль администратору нужен для редактирования базы данных ноутбуков или вопросов.
Имя столбца |
Тип данных |
Kod |
Int |
FIO |
Varchar(20) |
Login |
Char(20) |
Hash_Pwd |
Char(50) |
Таблица 12 - Users
Таблица «Vopros» хранит дополнительные вопросы для поиска, которые может добавлять, редактировать или удалять администратор.
Имя столбца |
Тип данных |
Id |
Varchar(1) |
Vopr |
Varchar(100) |
Таблица 13 – Vopros
Кроме данных таблиц, в базе данных есть хранимая функция «Проверить_пароль». Функция нужна, чтобы проверить наличие в таблице, где хранятся логины и пароли, пароля и логина введенных пользователем для входа.
Имя параметра |
Тип данных |
Описание |
@login |
Char(20) |
Логин пользователя |
@hpwd |
Char(50) |
Пароль пользователя |
Таблица 14 – Описание входных параметров процедуры "Проверить_пароль"
Код функции представлен в Приложении 1.