Разработка базы данных для хранения информации, необходимой для организации предоставления услуг
Разработка информационно-аналитической системы агентства недвижимости. Обоснование выбора архитектуры базы данных и СУБД. Моделирование потоков данных (DFD диаграмм). Проектирование инфологической модели данных с использованием модели "сущность-связь".
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 06.06.2013 |
Размер файла | 5,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Сущность «Адрес» содержит множество адресов для недвижимости. У этой сущности идентификатор совпадает с идентификатором сущности «Квартира», то есть связть «один к одному». Содержит следующие атрибуты:
- Область;
- Район;
- Город;
- Улица;
- Дом;
- Квартира.
Сущность «Пользователь» содержит информацию обо всех зарегистрированных пользователях системы. Имеет следующие атрибуты:
- Логин;
- Пароль: пароль в зашифрованном виде;
- Почта: электронная почта пользователя;
- Дата регистрации;
- Роль: роль пользователя в системе;
- Телефон;
- Дата последнего логина: когда пользователь заходил последний раз в систему;
- Активирован: прошел ли пользователь активацию после регистрации;
- Заблокирован;
- Дата выхода из системы;
- Не в системе;
- Комментарий;
- Фамилия;
- Имя;
- Отчество;
- Год рождения.
Сущность «Клиент» содержит информацию о клиенте, который снял недвижимость. Имеет следующие атрибуты:
- Фамилия;
- Имя;
- Отчество;
- Дата рождения;
- Телефон.
Сущность «Файл» содержит информацию о файлах, которые прикреплены к объявлению. Пока это могут быть только картинки формата jpg, но на последующих этапах развития системы планируется предоставить возможность прикрепления файла любого расширения, а также разделить вывод изображений от других типов файлов. В данной сущности хранятся только пути к файлам, так как хранение данных в таблице базы данных нецелесообразно при больших объемах хранящихся данных. Данная сущность содержит следующие атрибуты:
- Idэкземпляра: идентификатор объявления, к которому прикреплен данный файл;
- Путь к папке с файлом;
- Имя файла.
Сущность «Лог» представляет собой хранилище журнальных данных, содержит информацию о произошедших ошибках в системе. Она имеет следующие атрибуты:
- Дата добавления;
- Сообщение: текст ошибки или иной произошедшей ситуации.
Диаграмма «сущность-связь» для информационно-аналитической системы приведена на рисунке 2.6, а логическая модель данных - на рисунке 2.7.
Рисунок 2.6. Диаграмма «сущность-связь» подсистемы онлайн консультаций
Рисунок 2.7. Логическая модель данных
3. ТЕХНИЧЕСКОЕ ПРОЕКТИРОВАНИЕ
3.1 Выбор web-сервера
Для выбора web-сервера рассмотрим следующие критерии, которые являются существенными для выполнения требований к разрабатываемому проекту:
1. Доступ.
В большинстве WEB-проектов самыми частыми операциями являются чтение данных из БД и их сохранение. Эти же операции обычно являются самыми медленными. Но далеко не всегда они зависят друг от друга, наоборот, в большинстве случаев они атомарны, СУБД способна выполнять их одновременно.
При синхронном выполнении эти операции будут выполняться друг за другом последовательно, каждый раз ожидая завершения предыдущей. При асинхронном доступе мы имеем возможность отправить запросы к СУБД «параллельно». Асинхронный фреймворк не дожидается результата работы предыдущего запроса, чтобы отправить следующий. Временем отправки запроса, по сравнению со временем его работы, при этом можно пренебречь. Таким образом, общее время работы с данными будет приблизительно равно времени работы самого долгого запроса + небольшой промежуток времени на отправку запросов и обработку их результатов. Но в любом случае это будет быстрее, чем сумма времени выполнения всех запросов при их последовательной обработке;
2. Язык клиента совпадает с языком сервера - упрощает разработку приложения, так как позволяет использовать одни и те же решения и на клиентской и на серверной стороне;
3. Необходимость перезапуска сервера при изменениях - необходима остановка сервера, в следствие чего на некоторое время приложение перестает работать;
4. Поддерживаемые операционные системы - является важным критерием, так как возможность установки сервера на операционной системе семейства Unix влияет на стоимость использования системы и на защищённость системы от возможных атак;
5. Лицензия - влияет на конечную стоимость продукта;
6. Производительность - количество запросов, которые может выполнить фреймворк за заданное время.
Исходя из перечисленных характеристик, можно остановиться на двух web-серверах: apache и iis. Последний используется преимущественно для операционных систем семейства Windows, в то время как Apache разработан для Unix систем, но существует и под Windows. Несмотря на это, будет использован IIS, так как информационная система написана на ASPNETMVC на ОС Windows, и для размещения сайта больше подойдет предназначенный специально для этой ОС web-сервер. Устанавливается он из меню «Включение компонетов Windows». Установлен он будет только для тестирования, так как в дальнейшем сайт будет размещен на хостинге, который уже имеет свой веб-сервер. Чтобы использовать личный компьютер в роли веб-сервера, нужно иметь выделенный провайдером белый ip-адрес, который стоит дополнительных денег помимо абонентской платы за интернет, либо проброшенный порт 80, что невозможно, так как он используется провайдерами в своих интересах. Вдобавок, для этого нужно стабильное интернет-соединение, которое не может быть обеспечено имеющимися провайдерами. В любом случае придется платить еще и за доменное имя, так что проще использовать готовый веб-хостинг для размещения сайта.
Исходя из требований к поддержке технологии ASPNETMVC, остановимся на веб-хостинге somee.com. Он поддерживает MVC, а также MSSQL. Кроме того, он имеет пробный бесплатный период 30 дней, чего вполне хватит для тестирования информационной системы агентства. Для размещения сайта можно использовать средства публикации MSVisualStudio. При использовании этого способа на Windows 8 есть проблема доступа к FTP-серверу, поэтому следует использовать любой доступный FTP-клиент (осуществить публикацию на локальный диск, а уже с него скопировать файлы на сервер).
3.2 Технология ASP.NETMVC 4
ASP.NETMVCFramework -фреймворк для создания веб-приложений, который реализует шаблон Model-view-controller. Данный фреймворк добавлен Microsoft в ASP.NET.
Model-view-controller (MVC, «Модель - представление - поведение», «Модель-представление-контроллер») - схема использования нескольких шаблонов проектирования, с помощью которых модель данных приложения, пользовательский интерфейс и взаимодействие с пользователем разделены на три отдельных компонента так, что модификация одного из компонентов оказывает минимальное воздействие на остальные. Данная схема проектирования часто используется для построения архитектурного каркаса, когда переходят от теории к реализации в конкретной предметной области.
Рис. 3.1. Иллюстрация архитектуры MVC.
На рисунке 3.1 показана схема шаблона MVC. Пользователь взаимодейтсвует с контроллером, который, по сути, является главным обработчиком пользовательских действий. Контроллер, в свою очередь, основан на модели данных. Эта модель содержит набор данных, необходимый для описания задачи, которую решает приложение. Например, модель данных «Пользователь» содержит поля «Логин», «Пароль», «Дата регистрации», «Почта», «Телефон», «Год рождения» и т.д. Эти поля описывают данные, с помощью которых описывается профиль пользователя, и не содержат лишней информации. Данные из модели могут быть записаны в базу данных. Для этого в приложении используется контекст данных для использования фреймворка «Entity», который позволяет легко запрашивать и добавлять данные в базу. Контекст в случае ASP.NETMVC похож на модель данных, но описывается немного по-другому, и содержит точно те же поля, которые есть в базе данных. «EntityFramework» позволяет использовать любую реляционную базу данных, так как в его составе есть достаточно мощные инструменты для работы с различными СУБД. Благодаря этому можно, при наличии достаточного опыта, перейти с использования одной СУБД на другую, например, с MSSQLна MySQL, которая является бесплатной.
Последний компонент шаблона MVC, представление (вьюшка), отвечает за формирование интерфейса для клиентской части приложения на основе модели данных. В представлении настраиваются все визуальные стили, а также выполняются клиентские скрипты. Они нужны для динамического изменения содержимого веб-страниц. В информационной системе агентства недвижимости они используются для автокомплита (автозавершения ввода) некоторых полей для ввода данных. Также, для вывода картинок в виде галереи, используется плагин jQuery, который написан на языке JavaScript. В интернете есть большой выбор этих плагинов, поэтому подобрать подходящую красивую галерею не составило большого труда.
3.3 Технология JavaScript
JavaScript - скриптовый язык программирования. Является диалектом языка ECMAScript. JavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам.
Основные архитектурные черты: динамическая типизация, слабая типизация, автоматическое управление памятью, прототипное программирование, функции как объекты первого класса.
На JavaScript оказали влияние многие языки, при разработке была цель сделать язык похожим на Java, но при этом лёгким для использования людьми, не являющимися программистами. Языком JavaScript не владеет какая-либо компания или организация, что отличает его от ряда языков программирования, используемых в веб-разработке.
JavaScript обладает рядом свойств объектно-ориентированного языка, но реализованное в языке прототипирование обусловливает отличия в работе с объектами по сравнению с традиционными объектно-ориентированными языками. Кроме того, JavaScript имеет ряд свойств, присущих функциональным языкам - функции как объекты первого класса, объекты как списки, анонимные функции, замыкания - что придаёт языку дополнительную гибкость.
Несмотря на схожий синтаксис с языком C, JavaScript имеет коренные отличия:
- объекты, с возможностью интроспекции;
- функции как объекты первого класса;
- автоматическое приведение типов;
- автоматическая сборка мусора;
- анонимные функции.
В языке отсутствуют такие полезные вещи, как:
- модульная система: JavaScript не предоставляет возможности управлять зависимостями и изоляцией областей видимости;
- стандартная библиотека: в частности, отсутствует интерфейс программирования приложений по работе с файловой системой, управлению потоками ввода/вывода, базовых типов для бинарных данных;
- стандартные интерфейсы к веб-серверам и базам данных;
Для добавления JavaScript-кода на страницу, можно использовать теги <script></script> , которые рекомендуется, но не обязательно, помещать внутри контейнера <head>. Контейнеров <script> в одном документе может быть сколько угодно. Также есть возможность подключения JavaScript, то есть написать скрипт в отдельном файле, а потом подключить его с помощью конструкции:
<script type="text/javascript" src="Путь_к_скрипту"></script>
Именно эта возможность и использована при создании системы.
3.4 Физическое моделирование системы
На основе логической модели данных, которая приведена на рисунке 2.7, можно построить физическую модель данных. Она приведена на рисунке 3.2.
3.5 Комплекс необходимых программных средств
Для развертывания системы на собственном веб-сервере необходимы следующие программные инструменты:
- ОС Windows;
- SQLServer: подойдет express версия, которая имеет ограничение на размер базы данных; в использованном выпуске MSSQLServer 2008 Express ограничение 10Гб; благодаря тому, что картинки, прикрепленные к объявлениям, хранятся в файловой системе, база данных вряд ли достигнет
Рисунок 3.1. Физическая модель данных.
Размещено на http://www.allbest.ru/
данного ограничения, поэтому этот выпуск вполне подойдет для использования;
- MSSQLManagementStudio: этот инструмент нужен для управления базами данных на сервере, создания бэкапов, восстановления данных, и т.д.;
- IIS: именно этот инструмент позволит работать с сайтом;
- Дистрибутив с содержимым сайта: содержит все используемые библиотеки для правильной работы сайта, иконки, фоны, картинки объявлений, представления, файлы конфигурации; все это доступно после публикации проекта из VisualStudio.
3.6 Функции, используемые в системе агентства недвижимости
Функции, имеющие тип ActionResult используются исключительно в контроллерах и служат для взаимодействия контроллера и представления.
///<summary>
/// Get запрос формы регистрации
///</summary>
///<returns></returns>
publicActionResult Registration()
///<summary>
/// Post запрос формы регистрации
///</summary>
///<param name="model"></param>
///<returns></returns>
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
publicActionResult Registration(RegisterModel model)
Обе эти функции нужны для обслуживания формы регистрации пользователя. Первая является get-запросом (выполняется при запросе данных с сервера), а вторая - post-запросом (выполняется при передаче данных на сервер при сабмите формы). При этом, в post-запрос из представления поступают данные, которые содержатся в переменной «model». Далее, в теле метода с этими данными можно совершать необходимые действия. Рассмотрим остальные функции контроллеров.
///<summary>
/// Получает картинку капчи
///</summary>
///<returns></returns>
publicActionResultGetCaptcha()
///<summary>
/// Запрос формы входа в систему
///</summary>
///<param name="returnUrl">раздел, в котором находился пользователь</param>
///<returns></returns>
publicActionResult Login(string returnUrl)
///<summary>
/// Обработка входа в систему
///</summary>
///<param name="model">данныемодели</param>
///<param name="returnUrl">раздел, в котором находился пользователь</param>
///<returns></returns>
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
[HandleError]
publicActionResult Login(LoginModel model, string returnUrl)
///<summary>
/// Запрос формы управления профилем
///</summary>
///<returns></returns>
[HttpGet]
[Authorize]
publicActionResult Manage()
///<summary>
/// Обработка изменения учетных данных
///</summary>
///<param name="model">данныемодели</param>
///<returns></returns>
[HttpPost]
[ValidateAntiForgeryToken]
[HandleError]
[Authorize]
publicActionResult Manage(ManageModel model)
///<summary>
/// Перенаправление на указанную страницу
///</summary>
///<param name="returnUrl">раздел, в котором находился пользователь</param>
///<returns></returns>
privateActionResult RedirectToLocal(string returnUrl)
///<summary>
///Запросдомашнейстраницы
///</summary>
///<returns></returns>
publicActionResult Index()
///<summary>
/// Обработка нажатий на главной странице
///</summary>
///<param name="id">Идентификатор выбранного объявления</param>
///<returns></returns>
publicActionResult GetImage(string id)
///<summary>
/// Запрос страницы поиска объявлений
///</summary>
///<returns></returns>
publicActionResult Index()
///<summary>
/// Обработка заданных критериев поиска
///</summary>
///<param name="search">Модель данных, содержащая критерии поиска</param>
///<returns></returns>
[HttpPost]
publicActionResult Index(Search search)
///<summary>
/// Запрос данных конкретного объявления
///</summary>
///<param name="id">Идентификатор объявления</param>
///<returns></returns>
[HttpGet]
publicActionResult ViewInfo(string id)
///<summary>
/// Запрос формы создания или редактирования объявления
///</summary>
///<param name="id">Идентификаторобъявления</param>
///<returns></returns>
[Authorize]
publicActionResult CreateOrEdit(string id)
///<summary>
/// Обработка данных после редактирования или создания объявления
///</summary>
///<param name="rent">Данныемодели</param>
///<param name="file">Прикрепленныйфайл</param>
///<returns></returns>
[HttpPost]
[Authorize]
publicActionResult CreateOrEdit(Rent rent, HttpPostedFileBase file)
///<summary>
///Удалениеобъявления
///</summary>
///<paramname="id">idобъявления</param>
///<returns></returns>
[Authorize]
publicActionResult Delete(string id)
///<summary>
/// Получить маленькое изображение
///</summary>
///<param name="id">id объявления</param>
///<param name="name">имяфайла</param>
///<returns></returns>
publicActionResult GetSmallImage(string id, string name)
///<summary>
/// Получить большое изображение
///</summary>
///<param name="id">id объявления</param>
///<param name="name">имяфайла</param>
///<returns></returns>
publicActionResult GetBigImage(string id, string name)
Как можно заметить, у некоторых методов контроллера есть дополнительные атрибуты: [HttpPost], [ValidateAntiForgeryToken], [HandleError], [Authorize], [AllowAnonymous]. Это не все возможные атрибуты, потому как использовать все возможные нет необходимости. Атрибут [HttpPost] означает, что метод является post-запросом; отсутствие же этого атрибута означает то, что запрос имеет тип get. Атрибут [ValidateAntiForgeryToken] используется в методах, где происходит работа с паролем. Атрибут [HandleError] говорит о том, что в методе нужно отлавливать исключения. Отсутствие данного атрибута не позволит использовать блок try{…} catch{…} таким образом, к какому привыкли программисты десктопных приложений, участок кода в блоке catch не будет выполнен без этого атрибута, это особенность ASP.NETMVC4. Атрибут [Authorize] не позволяет получить доступ к методу пользователю, который не прошел аутентификацию в системе, тогда как атрибут [AllowAnonymous] действует прямо противоположным образом.
Теперь расмотрим функции, которые содержат классы GetData и SetData. Методы этих классов статические, благодаря чему они могут быть использованы без создания экземпляром этих классов.
///<summary>
/// Ищет объявления
///</summary>
///<param name="search">Параметры для поиска</param>
///<param name="userName">Логин пользователя, который осуществляет поиск</param>
///<returns></returns>
publicstaticSearch SearchRent(Search search, string userName)
///<summary>
/// Ищет объявление аренды по id
///</summary>
///<param name="parId">Id объявления</param>
///<param name="userName">Логин пользователя, который осуществляет поиск</param>
///<returns></returns>
publicstaticRent GetRentData(Guid parId, string userName)
///<summary>
/// Получение списка типов недвижимости
///</summary>
///<returns></returns>
publicstaticList<SelectListItem> GetAllAppartmentTypes()
///<summary>
/// Получение списка районов недвижимости
///</summary>
///<returns></returns>
publicstaticList<SelectListItem> GetAllAppartmentZones()
///<summary>
/// Получение списка цен для недвижимости
///</summary>
///<returns></returns>
publicstaticList<SelectListItem> GetAllAppartmentPrices()
///<summary>
/// Получение списка городов
///</summary>
///<returns></returns>
publicstaticList<SelectListItem> GetAllAppartmentCities()
///<summary>
/// Проверка пароля пользователя
///</summary>
///<param name="user">Логин пользователя</param>
///<paramname="pass">Парольпользователя</param>
///<returns></returns>
publicstaticbool CheckPass(string user, string pass)
///<summary>
/// Получение массива типов недвижимости
///</summary>
///<returns></returns>
publicstaticstring[] GetAppTypes()
///<summary>
///Получениемассиварайонов
///</summary>
///<returns></returns>
publicstaticstring[] GetAppZones()
///<summary>
///Получениемассивагородов
///</summary>
///<returns></returns>
publicstaticstring[] GetAppCities()
///<summary>
///Получениемассиваулиц
///</summary>
///<param name="city">Город</param>
///<returns></returns>
publicstaticstring[] GetAppStreets(string city)
///<summary>
/// Возвращает идентификатор типа квартиры, если такого нет, то создает его
///</summary>
///<param name="name">названиетипанедвижимости</param>
///<returns></returns>
publicstaticGuid GetAppTypeID(string name)
///<summary>
/// Возвращает идентификатор района квартиры, если такого нет, то создает его
///</summary>
///<param name="name">названиерайона</param>
///<returns></returns>
publicstaticGuid GetAppZoneID(string name)
///<summary>
/// Проверяет, является ли пользователь сотрудником
///</summary>
///<param name="id">идентификаторпользователя</param>
///<returns></returns>
publicstaticbool UserIsEmployee(Guid id)
///<summary>
/// Проверяет, является ли пользователь администратором
///</summary>
///<param name="id">идентификаторпользователя</param>
///<returns></returns>
publicstaticbool UserIsAdmin(Guid id)
///<summary>
/// Проверяет, разрешен ли пользователь для данного объявления
///</summary>
///<param name="userName">Логинпользователя</param>
///<param name="idApp">Идентификатор объявления</param>
///<returns></returns>
publicstaticbool AllowedUser(string userName, string idApp)
///<summary>
/// Получает список с именами файлов для данного объявления
///</summary>
///<param name="id">Идентификаторобъявления</param>
///<returns></returns>
publicstaticstring[] GetPhotos(Guid id)
///<summary>
/// Получает путь к файлу по id объявления и имени файла
///</summary>
///<param name="id"></param>
///<param name="name"></param>
///<returns></returns>
publicstaticstring GetFullNameImg(string id, string name)
///<summary>
/// Получаем путь к папке с файлами по id объявления
///</summary>
///<param name="id"></param>
///<returns></returns>
publicstaticstring GetFullNameImg(string id)
///<summary>
/// Проверяет, есть ли номер объявления в базе
///</summary>
///<param name="number"></param>
///<returns></returns>
publicstaticbool CheckAppNumber(string number)
///<summary>
/// Получает ид пользователя по логину
///</summary>
///<param name="login"></param>
///<returns></returns>
publicstaticGuid GetUserId(string login)
///<summary>
/// Получает данные пользователя по логину
///</summary>
///<param name="login"></param>
///<returns></returns>
publicstaticManageModel GetUser(string login)
///<summary>
/// Получает данные для домашней страницы
///</summary>
///<returns></returns>
publicstaticHome GetHomeData()
///<summary>
/// Создает учетную запись пользователя
///</summary>
///<param name="user">Модель данных пользователя</param>
publicstaticvoid CreateAndUpdateUser(User user)
///<summary>
/// Создает новое объявление
///</summary>
///<paramname="appartment">Данныемодели</param>
///<param name="registeredBy">Логин пользователя, который создает объявление</param>
///<returns>Гуид созданного объявления</returns>
publicstaticGuid CreateAppartment(Appartments appartment, string registeredBy = "")
///<summary>
/// Создает новый адрес
///</summary>
///<paramname="address">Данныемодели</param>
///<returns>Гуид созданного адреса</returns>
publicstaticGuid CreateAddress(Addresses address)
///<summary>
/// Создает новый тип недвижимости
///</summary>
///<param name="name">Названиетипа</param>
///<returns></returns>
publicstaticGuid CreateAppType(string name)
///<summary>
/// Создает новый район
///</summary>
///<paramname="name">Названиерайона</param>
///<returns></returns>
publicstaticGuid CreateAppZone(string name)
///<summary>
///Обновляетобъявление
///</summary>
///<param name="appartment">Данныемодели</param>
///<returns></returns>
publicstaticbool UpdateAppartment(Appartments appartment)
///<summary>
///Обновляетадрес
///</summary>
///<param name="address">Данныемодели</param>
///<returns></returns>
publicstaticbool UpdateAddress(Addresses address)
///<summary>
///Удаляетобъявление
///</summary>
///<param name="id">Идентификаторобъявления</param>
///<returns></returns>
publicstaticbool DeleteAppartment(Guid id)
///<summary>
/// Обновляет данные пользователя
///</summary>
///<paramname="login">Логинпользователя</param>
///<param name="model">Данныемодели</param>
///<returns></returns>
publicstaticbool UpdateUser(string login, ManageModel model)
Были перечислены не все функции, потому как остальные являются вспомогательными, и останавливаться на их подробном описании не имеет смысла.
3.7 Сценарий диалога пользователя с системой
Разрабатываемая информационно - аналитическая система представляет собой программу, работа с которой организуется через веб-браузер. Для начала работы в браузере необходимо ввести адрес сервера, на котором организуется работа системы. После этого сразу отобразится главная страница. На ней показаны последние добавленные объявления вместе с прикрепленными фотографиями и кратким описанием. Если же фото не было прикреплено, то будет показана картинка, говорящая об отсутствии фотографии. Внешний вид главной страницы можно увидеть на рисунке 3.2.
Стоит отметить, что на данный момент приложение все еще находится в стадии разработки, поэтому его внешний вид далек от совершенства. Кроме того, несмотря на то, что приложение написано на языке C#, его клиентскую часть, то есть представление, можно редактировать в любом текстовом редакторе даже при работающем сайте, и все изменения будут применены сразу же и без перекомпиляции проекта и без перезапуска web-сервера.
Рис 3.2. Внешний вид главной страницы.
Как видно из рисунка, в правом верхнем углу есть ссылки на страницу регистрации и входа в систему. Перейдя на страницу входа в систему, можно будет также перейти на страницу регистрации. Страница входа показана на рисунке 3.3.
Рис 3.3. Страница входа в систему.
Если пользователь еще не зарегистрирован, ему нужно пройти эту процедуру для того, чтобы он смог размещать объявления на сайте. Страница регистрации показана на рисунке 3.4. На ней содержатся несколько обязательных полей, которые выделены подчеркнутым текстом. Если их не заполнить и попытаться зарегистрироваться, то будет показан спосок ошибок, показанный на рисунке 3.5.
Рис 3.4. Форма для регистрации пользователя.
Рис 3.5. Форма регистрации с показанными ошибками при вводе.
Также, форма регистрации содержит картинку «Captcha». Она предназначена для предотвращения регистрации на сайте автоматизированных систем во избежание рассылки спама и прочих нештатных ситуаций. Это поле также обязательно для заполнения.
Кроме того, что некотрые поля обязательны для заполнения, в них происходит валидация данных. Например, на рисунке 3.5 видно, что при вводе разных паролей в поля «Пароль» и «Подтверждение пароля» ошибка будет освещена для пользователя.
После регистрации пользователю не нужно входить в систему, система это сделает автоматически и будет показана главная страница. При желании, пользователь может изменить свои учетные данные, нажав на название своего логина в правом верхнем углу (рисунок 3.6). Эта форма отличается от формы регистрации, так как теперь, исходя из общепринятых принципов, нельзя позволять пользователю менять свой логин, а также нет смысла опять вводить код с картинки. Форма управления учетными данными показана на рисунке 3.7.
Рис 3.6. Осуществленный вход в систему
Рис 3.7. Форма управления учетными данными
Для успешного изменения данных нужно знать текущий пароль, а также указать новый, и его подтверждение. Кроме этого, на этой форме присутствуют обязательные поля, такие же, как и на форме регистрации.
Если не войти в систему под своей учетной записью, то на странице аренды можно будет лишь просмотреть общую информацию о недвижимости (рисунок 3.8), в то время как, войдя в систему, можно будет создать новое объявление и позже его отредактировать.
Рис 3.8. Вывод поиска объявлений без входа в систему
Для размещения объявления нужно на верхней панели нажать кнопку «Сдать квартиру», и затем заполнить форму, показанную на рисунке 3.9.
Рис 3.9. Форма создания нового объявления
На этой форме, опять же, присутствуют обязательные поля, названия которых подчеркнуты. Поля «Тип аренды», «Район», «Город», «Улица» имеют автокомплит (автозаполнение). Это значит, что если начать вводить в эти поля текст, в выпадающем меню появятся варианты, начинающиеся на символы введенного текста. Кроме того, это выпадающее меню появится даже при обычном клике на поле ввода, в котором появятся все содержащиеся в базе данных варианты. Работа автокомплита показана на рисунках 3.10 и 3.11.
Рис 3.10. Все содержащиеся в базе данных варианты ввода в поле «Тип аренды»
Рис 3.11. Поле ввода «Тип аренды» после начала ввода текста.
Подобным образом работают и остальные перечисленные поля, причем в поле «Улица» доступны улицы только из выбранного города.
К объявлению можно прикрепить изображение (пока только формата jpg). Для этого нужно нажать на кнопку «Выбрать файл», после чего появится диалоговое окно, в котором можно будет выбрать файл из файловой системы пользователя. После выбора файла нужно нажать на кнопку «Отправить». При этом, если не заполнены обязательные поля, на странице будет показан список ошибок. Эти ошибки никак не влияют на прикрепление изображения к объявлению. Это происходит из-за особенностей шаблона MVC, так как передать данные в контроллер можно только через отправку всей формы в контроллер, который обрабатывает и загрузку файла, и валидацию данных. Данный эффект показан на рисунке 3.12.
Рис 3.12. Валидация при загрузке изображения.
Нажав на красный крестик внизу изображения, можно удалить изображение, под которым этот крестик находится.
После успешного размещения пользователем одного или нескольких объявлений, в таблице поиска они будут доступны для редактирования именно для этого пользователя (рисунок 3.13), а размещенные другими пользователями - доступны лишь для просмотра.
Рис 3.13. Страница поиска объявления
При нажатии на кнопку редактирования объявления (гаечный ключ в колонке действий), будет открыта форма редактирования объявления, которая ничем не отличается от формы создания нового объявления. Это позволяет использовать одно и то же представление для создания и редактирования объявления.
На странице поиска есть панель фильтров, на которой можно задать необходимые критерии поиска. Они позволят найти подходящее объявление среди множества размещенных объявлений. При выборе города, в список районов подгружаются районы этого города. Если в поле «Номер» введен текст, то система будет искать объявление с этим номером, и все другие критерии учитываться не будут. Это сделано для удобства поиска конкретного объявления.
При нажатии на кнопку «Просмотр» (лупа в колонке действий) будет открыта более подробная информация об объявлении (рисунок 3.14).
Рис 3.14. Общая информация об объявлении
Если открытое объявление создано пользователем, который в настоящее время осуществил вход в систему, то справа вверху будет доступна кнопка «Редактировать», нажав на которую возможно отредактировать данные этого объявления.
На рисунке 3.14 показано объявление, открытое обычным пользователем. Как видно, здесь нет адреса и телефона. Если же объявление открывает сотрудник агентства, то его форма выглядит немного иначе (рисунок 3.15).
Как можно заметить, теперь кнопки «Редактировать» нет, потому, что объявление открыто не тем пользователем, который его создавал.
На странице просмотра общей информации работает один из плагинов jQuery, который позволяет достаточно красиво просмотреть картинки объявления (рисунок 3.16).
Если пользователь является администратором сайта, то ему предоставлены самые широкие полномочия: он может редактировать любое размещенное объявление. Эту возможность можно наблюдать на странице поиска (рисунок 3.17).
Рис 3.15. Форма просмотра информации работником агентства
Рис 3.16. Галерея фотографий на jQuery
Рис 3.17. Таблица поиска глазами администратора
Как видно из рисунка 3.17, администратор может редактировать, а также и удалять любые объявления. При удалении объявления, как и у остальных пользователей, будет задан вопрос с подтверждением удаления объявления. Это предотвращает случайное нажатие кнопки удаления.
В таблице поиска доступна сортировка выведенных результатов. По умолчанию, результаты отсортированы по цене, но при клике на подчеркнутый заголовок колонки таблицы будет произведена сортировка по этому столбцу.
4. ОРГАНИЗАЦИОННО-ЭКОНОМИЧЕСКАЯ ЧАСТЬ
4.1 Технико-экономическое обоснование необходимости разработки информационно - аналитической системы агентства недвижимости «Центр жилья»
На сегодняшний день развитие компьютерных технологий достигло такого уровня, что ни одна более или менее крупная компания не может обойтись без персонального компьютера. Одни компании используют их просто для расчетов, печати документов и т.д., тогда как другие полностью зависят от них (интернет-магазины, проектные компании и т.д.). Все это приводит к тому, что любой компании рано или поздно придется закупать программное обеспечение (ПО), необходимое для его нужд. Однако, многие ПО, которые продаются на современном рынке, имеют универсальное назначение. Поэтому, покупая такую программу, потребитель переплачивает за ненужные ему функции. Более логичным шагом является разработка собственного ПО, которое создается с учетом всей необходимой для потребителя функциональности.
В данном дипломном проекте было создано приложение, на основе которого будет функционировать агентство недвижимости. Это позволит сэкономить некоторые материальные средства, которые нужно было бы заплатить стороннему разработчику.
Современное агентство недвижимости нельзя представить без использования своего сайта. На нем можно будет информировать посетителей о новостях, об акциях, а также это позволит клиентам подобрать подходящую квартиру, дом, гараж, дачу, и т.д.
Благодаря автоматизации работы агентства, могут быть выделены следующие преимущества:
4) Полное отсутствие бумажной работы при поиске подходящих объявлений: не нужно будет описывать каждое объявление, чтобы потом можно было рассказать о нем клиенту.
5) Перенос части работы агентства по поиску подходящих вариантов на пользователя: он сам ищет подходящее объявление, а агенту сообщает лишь номер этого объявления.
6) Благодаря разделению ролей, агент может узнать всю информацию о необходимой квартире на сайте агентства. При этом для непривилегированного пользователя определенные формы будут скрыты.
На рынке существуют подобные разработки, но они не подходят для заказчика по следующим причинам:
- завышенная цена продукта;
- неудобный пользовательский интерфейс.
Экономическая целесообразность создания продукта объясняется его невысокой ценой.
Данная разработка не является модернизацией какого-либо другого программного средства, а является самостоятельным продуктом.
В информационно-аналитической системе разработаны следующие составляющие:
- база данных для хранения информации, необходимой для организации предоставления услуг;
- серверная часть приложения для управления данными, хранимыми в базе;
- клиентская часть приложения для предоставления пользователям эффективного интерфейса.
Разрабатываемый программный интерфейс работника агентства предоставляет возможность:
- получать доступ к данным только после ввода имени пользователя и его пароля;
- просматривать информацию о поданных объявлениях для связи с хозяином, клиентом, и т.д.
Программный интерфейс обычного пользователя предоставляет возможности:
- искать походящее объявление;
- оставлять заявку на осмотр квартиры с агентом.
Программный интерфейс зарегистрированного пользователя предоставляет возможности:
- просматривать те же данные, что и обычный пользователь;
- размещать объявление на сайте.
Программный интерфейс администратора системы предоставляет возможность управлять информацией в БД.
Программа должна находиться на хостинге, поддерживающем приложения с архитектурой MVC4, а также СУБД MSSQL.
4.2 Планирование разработки
4.2.1 Календарное планирование
Разработка плана выполнения проектных работ является связующим звеном между расчетами трудозатрат и стоимостной оценкой проекта. В качестве исходных данных для выполнения данного расчета были приняты перечень проектных работ и трудоемкости проведения каждой работы (этапа проектирования).
Общая трудоемкость проектирования (чел.-дн.) распределяется по работам (этапам) выполнения с использованием формул для расчета ожидаемой (наиболее вероятной) продолжительности выполнения работ (, чел.-дн.).
(4.1)
где минимальная продолжительность отдельной работы, чел.-дн.;
максимальная продолжительность отдельной работы, чел.-дн.
Перечень проектных работ и расчет ожидаемой трудоемкости приведен в таблице 4.1.
Трудоемкость численно совпадает с продолжительностью выполнения работы, так как ее выполняет один работник.
Календарный план разработки при последовательном выполнении представленного перечня работ представлен на рисунке 4.1 и определяет общую продолжительность проектирования , которая составила 193 дня.
Таблица 4.1
Трудоемкость проектных работ
№ п/п |
Наименование работы |
Оценка трудоемкости, чел.-дн. |
|||
tmin |
tmax |
tож |
|||
1 |
2 |
3 |
4 |
5 |
|
1 |
Постановка задачи дипломного проектирования |
3 |
5 |
4 |
|
2 |
Анализ предметной области |
6 |
10 |
8 |
|
3 |
Знакомство с технической документацией и требованиями на разработку |
3 |
5 |
4 |
|
4 |
Анализ существующих программных продуктов |
2 |
4 |
3 |
|
5 |
Разработка функциональной структуры |
4 |
7 |
6 |
|
6 |
Анализ и выбор средств разработки программного продукта |
2 |
3 |
3 |
|
7 |
Проектирование базы данных |
9 |
13 |
11 |
|
8 |
Изучение языка С# |
16 |
20 |
18 |
|
9 |
Изучение архитектуры MVC |
5 |
9 |
7 |
|
10 |
Разработка алгоритма информационно-аналитической системы агентства недвижимости |
6 |
9 |
8 |
|
11 |
Написание программных модулей |
43 |
50 |
46 |
|
12 |
Отладка программных модулей |
17 |
22 |
19 |
|
13 |
Тестирование программы |
10 |
17 |
13 |
|
14 |
Организация контроля и защиты информации |
11 |
15 |
13 |
|
15 |
Составление документации |
17 |
21 |
19 |
|
16 |
Корректировка теоретических положений разработки |
8 |
14 |
11 |
|
17 |
Общая трудоемкость |
162 |
224 |
193 |
Рисунок 4.1 - Календарный план работ по проектированию системы
4.2.2 Организационный, юридический и финансовый аспекты разработки
Данный проект разрабатывался программистом с некоторым опытом работы в предметной области. Данная тема выполняется одним разработчиком, основная квалификация которого - программист. Для разработки требуются знания языков С#, а также принципов работы СУБД MS SQL SERVER.
Заказчиком разработки является агентство недвижимости Краснодарского края «Центр Жилья». Все необходимые данные для разработки были переданы директором агентства недвижимости. Разработка финансировалась из средств бюджета. Права на разработку принадлежат разработчику ПО.
Данный программный продукт может быть предложен и для других агентств недвижимости. Продажа программного продукта другим организациям возможна без внесения каких-либо изменений и, следовательно, без дополнительных затрат на доработку.
Программный продукт рассчитан на пользователей, обладающих соответствующими базовыми знаниями и навыками работы на персональном компьютере.
Расчёты стоимости проекта приведены в разделе 4.4, расчеты цены изделия приведены в разделе 4.5.
4.3 Стоимостная оценка проекта
база данных моделирование
Все цены и расценки взяты на апрель 2013 г. Стоимостная оценка проекта производится по формуле [5]:
(4.2)
где - оценка труда разработчика темы, руб.;
- затраты на отладку программного обеспечения, руб.;
- затраты на доукомплектование ЭВМ техническими средствами, если они приобретались специально для выполнения этого проекта ( = 0 руб.);
- прочие затраты, руб.
Оценка труда разработчика задачи может быть определена из должностного оклада инженера-программиста ( = 10500 руб./мес.) и периода проектирования , взятого по фактическим данным из таблицы 4.1 ( = 193 дн.) по формуле [5]:
где - должностной оклад разработчика в день, О = 495, 28 руб./дн. (в среднем количество рабочих дней в месяце - 21,2);
- фактический период проектирования в днях, взятый из таблицы 4.1 (193 дн.);
- процент дополнительной заработной платы (10 %);
- процент отчисления в пенсионный фонд РФ (22%);
- отчисления в фонд социального страхования (2,9%);
- отчисления в федеральный фонд обязательного медицинского страхования (5,1%);
- процент накладных расходов (12 %).
Тогда по формуле [5]:
руб.
Стоимостная оценка использования ЭВМ при проектировании проводится по формуле:
, (4.3)
где - время отладки на ЭВМ, ч.;
- стоимость машино-часа работы ЭВМ, руб.
Время отладки на ЭВМ, взято из графика рисунка 4.1:
ч.
Стоимость машино-часа работы ЭВМ можно определить, исходя из эксплуатационных расходов, связанных с использованием вычислительной техники [5]:
(4.4)
где - суммарные затраты за год работы ЭВМ, которая использовалась при разработке проекта, руб.;
- действительный фонд времени работы ЭВМ за год, ч.
Суммарные эксплуатационные затраты за год работы ЭВМ можно определить по формуле [5]:
(4.5)
где - затраты на оплату труда персонала, обслуживающего ЭВМ, руб./год;
- затраты на содержание помещения под размещение вычислительной техники, руб./год;
- затраты на электроэнергию, руб./год;
- амортизационные отчисления от стоимости ЭВМ, руб./год;
- затраты на материалы (носители информации), руб./год;
- затраты на ремонт, руб./год.
Затраты на оплату труда персонала, обслуживающего ЭВМ, определяются по формуле [5]:
где - доля месячного оклада работника за обслуживание одной ЭВМ, руб.
Проект выполнялся на ЭВМ, на обслуживание которой выделяется 400 руб./мес., т.о. = 400 руб./мес., тогда:
руб.
Затраты на аренду помещения отсутствуют (), так как разработка программного продукта производилась дома у разработчика.
Для определения действительного фонда времени за год определим номинальный фонд по формуле [5]:
где - количество дней в году (365);
- количество выходных дней в году (104);
- количество праздничных дней в году, не совпадающих с выходными (12).
Тогда [5]:
дн/год.
Номинальный фонд времени, выраженный в часах с учетом сокращения на один час четырех праздничных дней [5]:
ТН = 249 · 4 = 996 ч/год.
Исходя из номинального фонда времени за год, определим действительный фонд времени за год по формуле [5]:
где - процент потерь рабочего времени, связанных с профилактикой и ремонтом ЭВМ (5 %);
- номинальный фонд времени (ч./год).
В результате получаем:
ч./год.
Расчёт затрат, связанных с потреблением силовой электроэнергии, выполняется по формуле [5]:
где - паспортная мощность ЭВМ (= 0,35 кВт);
- действительный годовой фонд времени работы ЭВМ, ч.
- тариф одного кВт-ч энергии для населения на момент выполнения расчёта (= 3,23 руб./ кВт-ч);
- коэффициент интенсивного использования мощности ( =
= 0,9).
Получим:
руб./год.
Амортизационные отчисления, затраты на материалы и ремонт вычисляются, исходя из балансной стоимости ЭВМ [5]:
где - цена приобретения ЭВМ, руб.;
- коэффициент, характеризующий дополнительные затраты связанные с доставкой, монтажом и наладкой оборудования ( = 3 %).
ЭВМ, на которой выполнялась разработка, была приобретена за 25000 руб. В результате находим:
руб.
Амортизационные отчисления от балансовой стоимости ЭВМ:
где - амортизационные отчисления на реновацию ( = 33%).
В результате получаем:
руб./год.
Затраты на материалы и носители информации [5]:
где - норматив затрат на материалы и носители информации
( = 2 %).
руб./год.
Затраты на ремонт определяются по формуле [1]:
где - норматив затрат на ремонт ( = 2,2 %).
руб./год.
По формуле (4.5) находим величину эксплуатационных затрат:
руб./год.
Результаты расчёта эксплуатационных расходов приведены в таблице 4.2.
Исходя из эксплуатационных расходов по работе ЭВМ, по формуле (4.4) находим стоимость машинного часа:
руб./ч.
По формуле (4.3) находим стоимостную оценку использования ЭВМ при проектировании, исходя из суммарного фактического периода 596 часов, взятого из таблицы 4.1:
руб./ч.
Также в процессе разработки были потрачены средства на услуги и материалы (таблица 4.3).
Тогда стоимостная оценка проекта по формуле (4.2) составит:
руб.
Таблица 4.2
Смета эксплуатационных расходов по работе ЭВМ
Наименование статей затрат |
Сумма, руб./год |
|
Затраты на оплату труда обслуживающего персонала |
7440,0 |
|
Затраты на содержание помещения |
0 |
|
Затраты на электроэнергию |
962,71 |
|
Амортизационные отчисления |
8497,5 |
|
Затраты на носители информации |
515,0 |
|
Затраты на ремонт |
566,5 |
|
Итого эксплуатационных расходов |
17981,71 |
Таблица 4.3
Прочие затраты
Наименование статей затрат |
Сумма, руб. |
|
1 пачка бумаги (500 листов) |
120 |
|
Услуги интернета |
500 |
|
Картридж цветной для струйного принтера |
750 |
|
Картридж черный для струйного принтера |
700 |
|
Лазерные диски |
80 |
|
Канцелярские товары |
130 |
|
Итого: |
2280 |
Данные для расчета себестоимости проектирования приведены в таблице 4.4.
Таблица 4.4
Себестоимость проектирования
Наименование статей затрат |
Сумма, руб. |
|
Расходы по оплате труда разработчика, в том числе: |
148163,01 |
|
Затраты на отладку программного обеспечения |
11324,0 |
|
Прочие затраты |
2280,0 |
|
Итого себестоимость проекта |
161767,01 |
4.4 Формирование цены разработки
Цену изделия определяли по следующей формуле [5]:
(4.7)
где - стоимостная оценка проекта (руб.);
- прибыль (руб.).
Прибыль рассчитывается с использованием норматива рентабельности по формуле [5]:
где - норматив рентабельности ( = 30 %).
Получаем:
руб.
Тогда, в соответствии с формулой (4.7), получаем:
руб.
Цена объекта проектирования (ЦПР) с учётом НДС определялась как:
руб,
где = 18 % - ставка налога на добавленную стоимость.
4.5 Анализ экономической целесообразности внедрения объекта проектирования
Для подтверждения экономической целесообразности разработки последовательно проведём расчёт совокупных затрат, связанных с владением информационной технологией (), коэффициента отдачи с инвестированных средств () и примем некоторую величину ожидаемой выгоды () от разработки.
Выгода определялась на основе сопоставления средней цены подобных разработок на рынке с себестоимостью проектирования и должна составить 280000 рублей. Таким образом, = 280000 руб.
Совокупные затраты, связанные с владением технологией (), определяются следующим образом [5]:
где себестоимость проекта, руб., которая делится на срок морального старения для определения годовой доли, в данном случае =
= 3 года;
- затраты на эксплуатацию системы, руб./год.
Затраты на эксплуатацию определяются при условии ежедневного использования разработки в течение 8 часов с использованием данных о часовой заработной плате работника, занятого эксплуатацией (часовая заработная плата работника - 61,91 руб./час) и стоимость машино-часа работы ЭВМ при эксплуатации [5]:
где - количество рабочих дней в году;
- время ежедневной эксплуатации системы, ч.;
- оплата пользователя системы за 1 час работ, руб.;
- стоимость одного машинного часа работы ЭВМ пользователя, руб.
Стоимость машино-часа работы ЭВМ пользователя можно определить, исходя из эксплуатационных расходов, связанных с использованием вычислительной техники [5]:
(4.4)
где - суммарные затраты за год работы ЭВМ, которая использовалась при разработке проекта, руб.;
- действительный фонд времени работы ЭВМ за год, ч.
Суммарные эксплуатационные затраты за год работы ЭВМ можно определить по формуле [5]:
(4.5)
где - затраты на оплату труда персонала, обслуживающего ЭВМ, руб./год;
- затраты на содержание помещения под размещение вычислительной техники, руб./год;
- затраты на электроэнергию, руб./год;
- амортизационные отчисления от стоимости ЭВМ, руб./год;
- затраты на материалы (носители информации), руб./год;
- затраты на ремонт, руб./год.
Затраты на оплату труда персонала, обслуживающего ЭВМ, определяются по формуле [5]:
где - доля месячного оклада работника за обслуживание одной ЭВМ, руб.
Программный продукт будет эксплуатироваться на ЭВМ, на обслуживание которой выделяется 400 руб./мес., т.о. = 400 руб./мес., тогда:
руб.
Затраты на аренду помещения отсутствуют (). Так как помещение, где расположено агентство недвижимости, находится в собственности владельца агентства.
Для определения действительного фонда времени за год определим номинальный фонд по формуле [5]:
где - количество дней в году (365);
- количество выходных дней в году (104);
- количество праздничных дней в году, не совпадающих с выходными (12).
Тогда [5]:
дн/год.
Номинальный фонд времени, выраженный в часах с учетом сокращения на один час четырех праздничных дней [5]:
ТН = 245 · 8 + 4 · 7 = 1988 ч/год.
Исходя из номинального фонда времени за год, определим действительный фонд времени за год по формуле [5]:
где - процент потерь рабочего времени, связанных с профилактикой и ремонтом ЭВМ (5 %);
- номинальный фонд времени (ч./год).
В результате получаем:
ч./год.
Расчёт затрат, связанных с потреблением силовой электроэнергии, выполняется по формуле [5]:
где - паспортная мощность ЭВМ (= 0,35 кВт);
- действительный годовой фонд времени работы ЭВМ, ч.
- тариф одного кВт-ч энергии на момент выполнения расчёта (= 3,8 руб./ кВт-ч);
- коэффициент интенсивного использования мощности ( =
= 0,9).
Получим:
руб./год.
Амортизационные отчисления, затраты на материалы и ремонт вычисляются, исходя из балансной стоимости ЭВМ [5]:
где - цена приобретения ЭВМ, руб.;
- коэффициент, характеризующий дополнительные затраты связанные с доставкой, монтажом и наладкой оборудования ( = 3 %).
ЭВМ, на которой выполнялась разработка, была приобретена за 28500 руб. В результате находим:
руб.
Амортизационные отчисления от балансовой стоимости ЭВМ:
где - амортизационные отчисления на реновацию ( = 33%).
В результате получаем:
руб./год.
Затраты на материалы и носители информации [5]:
где - норматив затрат на материалы и носители информации
( = 2 %).
руб./год.
Затраты на ремонт определяются по формуле [5]:
где - норматив затрат на ремонт ( = 2,2 %).
руб./год.
По формуле (4.5) находим величину эксплуатационных затрат:
руб./год.
Подобные документы
Понятие базы данных, модели данных. Классификация баз данных. Системы управления базами данных. Этапы, подходы к проектированию базы данных. Разработка базы данных, которая позволит автоматизировать ведение документации, необходимой для деятельности ДЮСШ.
курсовая работа [1,7 M], добавлен 04.06.2015Построение инфологической (концептуальной) модели предметной области. Проектирование логической и физической структуры базы данных. Реализация проекта в среде конкретной СУБД. Организация корректировки и ввода данных в БД. Разработка интерфейса.
курсовая работа [1,4 M], добавлен 14.01.2018Освоение сервисной системы управления базами данных Microsoft SQL. Разработка базы данных "Служба АТС" в среде Microsoft SQL Server Management Studio и создание запросов на языке SQL. Апробация инфологической модели "сущность - связь" базы данных.
курсовая работа [2,9 M], добавлен 29.06.2015Понятие и порядок разработки базы данных, ее основные составные части и назначение. Построение базы данных консалтингового агентства на основе инфологической модели, отражаемые сущности и связи между ними. Особенности реализации базы данных в MS ACCESS.
курсовая работа [2,5 M], добавлен 04.03.2010Особенности разработки инфологической модели и создание структуры реляционной базы данных. Основы проектирования базы данных. Разработка таблиц, форм, запросов для вывода информации о соответствующей модели. Работа с базами данных и их объектами.
курсовая работа [981,4 K], добавлен 05.11.2011Описание предметной области разрабатываемой базы данных для теннисного клуба. Обоснование выбора CASE-средства Erwin 8 и MS Access для проектирования базы данных. Построение инфологической модели и логической структуры базы данных, разработка интерфейса.
курсовая работа [3,8 M], добавлен 02.02.2014Семантическое моделирование данных. Основные понятия модели Entity-Relationship. Построение инфологической модели в виде диаграммы "Таблица-связь". Проектирование физической модели базы данных. Разработка формы заставки, главной, вторичных кнопочных форм.
курсовая работа [1,5 M], добавлен 26.06.2012Исследование значения информации и информационных услуг в современном мире. Изучение истории хранения и обработки информации. Проектирование инфологической модели базы данных. Реляционная модель баз данных. Домены и отношения. Реляционное исчисление.
курсовая работа [47,9 K], добавлен 13.07.2015Характеристика основных этапов разработок и проектирования базы данных, определение целей ее создания и функциональных особенностей, предметной области и необходимой информации. Требования к инфологической модели. Методы физической организации данных.
курсовая работа [1,7 M], добавлен 22.02.2011Принципы построения СУБД, их достоинства. Архитектура распределенной информационной системы. Разработка интернет-магазина рынка книг: построение физической модели данных на языке SQL, проектирование схемы базы данных с использованием веб-интерфейса.
курсовая работа [2,3 M], добавлен 01.11.2011