Информационно-поисковая система моделей телефонов

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 08.12.2016
Размер файла 572,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Информационно-поисковая система моделей телефонов

1. Выбор СУБД и средств проектирования приложения

приложение интерфейс технический

Выбор СУБД является непростой задачей для разработчиков баз данных. Но именно этот выбор может оказать огромное влияние на работу конечного продукта, а именно, на скорость доступа к информации, безопасность, а также на его стоимость.

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

Для данного проекта в качестве СУБД можно выбрать Microsoft Access. Эта система является довольно распространенной, надёжна и проста в администрировании.

В качестве среды программирования была принята ASP. Net. Это мощная, широко распространённая платформа, обладающая высокой надёжностью, хорошей поддержкой со стороны разработчика и удобством разработки web-приложений любой сложности.

2. Порядок разработки проекта

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

Далее разрабатывается непосредственно web-приложение. Для этого была использована Microsoft Visual Studio 2012.

2.1 Создание базы данных

Для создания базы данных был выбран Microsoft Office Access, который входит в пакет офисных приложений Microsoft Office.

База данных состоит из следующих таблиц:

? Telephones (рис. 2.1).

Рисунок 2.1. Таблица «Telephones»

Таблица «Telephones» состоит из нескольких полей:

? Поле «ID» - устанавливает порядковый номер телефона в таблице;

? Поле «Model» - отвечает за модель устройства;

? Поле «Image» - хранит ссылку на изображение утерянного или найденного телефона;

? Поле «Manufacturer» - производитель;

? Поле «Color» - цвет устройства;

? Поле «OperSystem» - определяет операционную систему телефона;

? Поле «Description» - краткие сведения о месте обнаружения или утере мобильного аппарата, контактные данные заявителя.

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

2.2 Доступ к данным

В данной программе доступ к данным осуществляется с помощью SQL запросов.

Для добавления устройств в базу данных используется следующий запрос:

// установка соединения с базой

OleDbConnection cn = Access.access. Connect();

// объект класса, представляющий SQL оператор, применяемый к источнику данных

OleDbCommand insert = new OleDbCommand («INSERT INTO [Telephones] ([Model], [Image], [Manufacturer], [Color], [OperSystem], [Description]) VALUES (?,?,?,?,?,?)», cn);

// Задает коллекцию параметров, которые важны для OleDbCommand, а также сопоставляет их со столбцами в DataSet.

insert. Parameters. Add («Model», OleDbType. VarChar).Value = model;

insert. Parameters. Add («Image», OleDbType. VarChar).Value = image;

insert. Parameters. Add («Manufacturer», OleDbType. VarChar).Value =

manufacturer;

insert. Parameters. Add («Color», OleDbType. VarChar).Value = color;

insert. Parameters. Add («OperSystem», OleDbType. VarChar).Value =

operSystem;

insert. Parameters. Add («Description», OleDbType. VarChar).Value =

description;

// выполняет инструкцию SQL относительно объекта соединения

insert. ExecuteNonQuery();

// Освобождение всех ресурсов

cn. Dispose();

2.3 Создание интерфейса приложения

Общие сведения

При создании страниц был использован подход блочной вёрстки. «Блочная вёрстка» или вёрстка с помощью слоёв заключается в конструктивном использовании тегов <div> и стилей. При этом придерживаются следующих принципов:

? Разделение содержимого и оформления

Код HTML должен содержать только теги разметки и теги логического форматирования, а любое оформление выносится за пределы кода в стили. Такой подход позволяет независимо управлять видом элементов страницы и её содержимым. Благодаря этому над сайтом может работать несколько человек, при этом каждый выполняет свою функцию самостоятельно от других. Дизайнер, верстальщик и программист работают над своими задачами автономно, снижая время на разработку сайта.

? Активное применение тега <div>

При блочной вёрстке существенное значение уделяется универсальному тегу <div>, который выполняет множество функций. Совершенно не значит, что применяется только один этот тег, нужно ведь и рисунки вставлять и оформлять текст. Но при вёрстке с помощью слоёв тег <div> является кирпичиком вёрстки, её базовым фундаментом.

Благодаря этому тегу HTML-код распадается на ряд чётких наглядных блоков, код при этом получается более компактным, чем при табличной вёрстке, к тому же поисковые системы его лучше индексируют.

? Таблицы применяются только для представления табличных данных

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

Страницы содержат набор тегов для отображения данных, а так же теги серверных элементов управления ASP.NET, которые содержат префикс asp: Префикс может отсутствовать, если элемент управления не является частью платформы.NET Framework. Серверные элементы управления ASP.NET также включают атрибут runat= «server» и, при необходимости, идентификатор, который можно использовать для ссылки на элемент управления в коде сервера.

Во время выполнения страница определяет серверные элементы управления и выполняет код, который связан с этими элементами управления. Многие элементы управления отображают некоторую разметку HTML или другую разметку на странице. Например, элемент управления asp:textbox отображает на странице элемент input с атрибутом type= «text». Однако однозначное сопоставление между серверным веб-элементом управления и HTML-элементом не обязательно. Некоторые элементы управления не отображают в веб-обозревателе ничего, они только обрабатываются на сервере и предоставляют сведения для других элементов управления.

2.4 Код приложения

Большинство страниц ASP.NET имеет код, который выполняется на сервере при обработке страницы. ASP.NET поддерживает множество языков, включая C#, Visual Basic, J#, JScript и другие.

ASP.NET поддерживает две модели написания кода сервера для веб-страницы. В однофайловой модели код для страницы находится в элементе script, где открывающийся тег содержит атрибут runat= «server».

Кроме того, можно создать код для страницы в отдельном файле класса; такая модель называется моделью с выделенным кодом. В этом случае на веб-странице ASP.NET обычно отсутствует код сервера. Вместо этого директива @ Page включает сведения, которые связывают страницу ASPX с ее файлом с выделенным кодом. В следующем примере показана типичная директива @ Page для страницы с файлом с выделенным кодом:

<%@ Page Language= «C#» CodeFile= «Main.aspx.cs» Inherits= «Default»%>

Страница Main.aspx

Main.aspx (рис. 2.2) - главная страница приложения, которая отображает основную информацию о сайте и его функциональные возможности. В контекстном меню эта страница обозначена словом «Главная».

Рисунок 2.2. Главная страница сайта

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

<ul>

<li><a href= «main.aspx» class= «selected»>Главная</a></li>

<li><a href= «all-telephones.aspx»>База</a></li>

<li><a href= «search.aspx»>Поиск</a></li>

<li><a href= «add.aspx»>Заявка</a></li>

<li><a href= «contacts.aspx»>Контакты</a></li>

</ul>

Страница All-telephones.aspx

All-telephones.aspx (рис. 3.3) - страница для отображения всех телефонов, хранящихся в базе. В контекстном меню эта страница обозначена словом «База».

На данной странице пользователю отображается таблица, состоящая из нескольких колонок, описанных ранее в пункте 3.1. Для получения информации из базы таблица подключена к специальному системному компоненту SqlDataSource - MyData, заранее настроенному для получения всех полей и значений из базы данных.

Рисунок 2.3. Страница отображения базы телефонов

Страница Search.aspx

Search.aspx (рис. 2.4) - данная страница реализует возможность поиска и устройств по различным критериям, таким как: название производителя, модель, цвет, операционная система. Для перехода на эту страницу в контекстном меню надо нажать на ссылку «Поиск».

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

Страница поиска устройств (были выбраны некоторые критерии поиска):

Рисунок 2.4. Страница для поиска мобильных устройств

Поиск устройств осуществляется следующим образом:

? Получение информации о критериях поиска из веб-формы приложения Search.aspx;

? Заполняем DataSet (набор данных) вызывая функцию Search из Access.cs;

? Поиск совпадений в базе данных с помощью SQL запроса;

? Отображение информации на страницу.

Поиск совпадений в базе данных:

Результатом поиска является список устройств, содержащий записи с информацией об устройстве.

Добавление информации на страницу осуществляется путем привязки данных к таблице и отображением их на экран, для этого используется функция findButton_Click.

protected void findButton_Click (object sender, EventArgs e)

{

// присваиваем переменным текст из TextBox,

// т.е. ключевое слова для поиска

string model = modelBox. Text;

string manufacturer = manufactureBox. Text;

string color = colorBox. Text;

string operSystem = operSystemBox. Text;

// заполняем DataSet - вызываем функцию Search

// из Access.cs, передаем в нее значение search,

// а возвращает она DataSet, заполненный

// аттрибутами найденных телефонов

DataSet ds = Access.access. Search (model, manufacturer, color, operSystem);

// указываем в качестве источника данных для GridView - ds

TelephonesGrid. DataSource = ds. Tables[0].DefaultView;

// связываем GridView с источником данных

TelephonesGrid. DataBind();

TelephonesGrid. Visible = true;

}

Метод Search из класса Access.cs

public DataSet Search (string model, string manufacturer, string color, string operSystem)

{

OleDbConnection cn = Connect();

// наш запрос

string sqlSelect = «SELECT * FROM [Telephones] WHERE»;

bool t = false;

if (model!= «»)

{

sqlSelect += «[Model] = @Model»;

t = true;

}

if (t && manufacturer!= «»)

{

sqlSelect += «AND [Manufacturer] = @Manufacturer»;

}

else

{

if (! t && manufacturer!= «»)

{

sqlSelect += «[Manufacturer] = @Manufacturer»;

t = true;

}

}

if (t && color!= «»)

{

sqlSelect += «AND [Color] = @Color»;

}

else

{

if (! t && color!= «»)

{

sqlSelect += «[Color] = @Color»;

t = true;

}

}

if (t && operSystem!= «»)

{

sqlSelect += «AND [OperSystem] = @OperSystem»;

}

else

{

if (! t && operSystem!= «»)

{

sqlSelect += «[OperSystem] = @OperSystem»;

t = true;

}

}

if (t)

{

OleDbDataAdapter dAdapt = new OleDbDataAdapter (sqlSelect, cn);

// установка значений параметров

if (model!= «»)

{

OleDbParameter par = dAdapt. SelectCommand. Parameters. Add (new OleDbParameter («Model», OleDbType. VarChar));

par. Value = model;

}

if (manufacturer!= «»)

{

OleDbParameter par1 = dAdapt. SelectCommand. Parameters. Add (new OleDbParameter («Manufacturer», OleDbType. VarChar));

par1. Value = manufacturer;

}

if (color!= «»)

{

OleDbParameter par2 = dAdapt. SelectCommand. Parameters. Add (new OleDbParameter («Color», OleDbType. VarChar));

par2. Value = color;

}

if (operSystem!= «»)

{

OleDbParameter par3 = dAdapt. SelectCommand. Parameters. Add (new OleDbParameter («OperSystem», OleDbType. VarChar));

par3. Value = operSystem;

}

// создаем набор данных

DataSet ds = new DataSet();

dAdapt. Fill(ds);

cn. Dispose();

return ds;

}

else

{

sqlSelect = «SELECT * FROM [Telephones]»;

OleDbDataAdapter dAdapt = new OleDbDataAdapter (sqlSelect, cn);

DataSet ds = new DataSet();

dAdapt. Fill(ds);

cn. Dispose();

return ds;

}

}

public OleDbConnection Connect()

{

OleDbConnection connection =

new OleDbConnection («Provider=Microsoft.ACE.OLEDB.12.0;» +

@ «data source =» + HttpRuntime. AppDomainAppPath + @»\phonesBd.accdb»);

connection. Open();

return connection;

}

Страница Add.aspx

Add.aspx (рис. 2.5) - страница для добавления новой заявки об утере или находке мобильного устройства. Доступ к данной странице осуществляется посредствам контекстного меню по нажатию на ссылку «Заявка».

На этой странице пользователю представлены необходимые поля для заполнения. Так же пользователь следует загрузить фотографию устройства для более быстрого распознавания телефона владельцем. После заполнения полей пользователь должен нажать кнопку добавить, чтобы информации записалась в базу данных и в последующем отображалась всем пользователям на таких страницах, как All-telephones.aspx и Search.aspx.

Пример заполнения страницы Add.aspx:

Рисунок 2.5. Страница для добавления новой заявки в базу

Добавление информации в базу осуществляется с помощью функции addButton_Click:

protected void addButton_Click (object sender, EventArgs e)

{

string model, manufacturer, color, operSystem, path, description;

// переменная savePath - путь, куда сохраняются добавленные фото

String savePath = HttpRuntime. AppDomainAppPath + @»\Photo\»;

String newImagePath = @ "~/Photo/»;

//model - модель

model = modelBox. Text;

//manufacturer - производитель

manufacturer = manufactureBox. Text;

//color - цвет

color = colorBox. Text;

//description - описание

description = descriptionBox. Text;

//path - путь, где находится картинка

path = imageUpload. FileName;

//operSystem - операционная система

operSystem = operSystemBox. Text;

// устанавливаем полный путь для хранения картинок

savePath += path;

// добавляемое фото сохраняется в директории проекта в папке Photo

imageUpload. SaveAs(@savePath);

// запись пути картинки для хранения в базе даных

newImagePath += path;

// выполнение функции InsertTelephone

Access.access. InsertTelephone (model, newImagePath, manufacturer, color, operSystem, description);

modelBox. Text = «»;

manufactureBox. Text = «»;

colorBox. Text = «»;

operSystemBox. Text = «»;

descriptionBox. Text = «»;

}

Метод InsertTelephone из класса Access.cs

public void InsertTelephone (string model, string image, string manufacturer, string color, string operSystem, string description)

{

// установка соединения с базой

OleDbConnection cn = Access.access. Connect();

// объект класса, представляющий SQL оператор, применяемый к источнику данных

OleDbCommand insert = new OleDbCommand («INSERT INTO [Telephones] ([Model], [Image], [Manufacturer], [Color], [OperSystem], [Description]) VALUES (?,?,?,?,?,?)», cn);

// Задает коллекцию параметров, которые важны для OleDbCommand, а также сопоставляет их со столбцами в DataSet.

insert. Parameters. Add («Model», OleDbType. VarChar).Value = model;

insert. Parameters. Add («Image», OleDbType. VarChar).Value = image;

insert. Parameters. Add («Manufacturer», OleDbType. VarChar).Value =

manufacturer;

insert. Parameters. Add («Color», OleDbType. VarChar).Value = color;

insert. Parameters. Add («OperSystem», OleDbType. VarChar).Value =

operSystem;

insert. Parameters. Add («Description», OleDbType. VarChar).Value =

description;

// выполняет инструкцию SQL относительно объекта соединения

insert. ExecuteNonQuery();

// Освобождение всех ресурсов

cn. Dispose();

}

public OleDbConnection Connect()

{

OleDbConnection connection =

new OleDbConnection («Provider=Microsoft.ACE.OLEDB.12.0;» +

@ «data source =» + HttpRuntime. AppDomainAppPath + @»\phonesBd.accdb»);

connection. Open();

return connection;

}

Страница Contacts.aspx

Страница Contacts.aspx (рис. 2.6) - страница, на которой отображаются контактные данные для связи с администрацией сайта. Переход к этой странице осуществляется по ссылке «Контакты».

Рисунок 2.6. Страница с контактами

Вывод

В ходе данного курсового проекта было разработано веб приложение, реализующие следующие задачи:

? отображение базы данных на форму

? добавление записей

? поиск по заданным параметрам

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

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.