Использование технологии ADO.NET в информационной системе интернет провайдера

Описание существующих информационных систем. Требования к разрабатываемой информационной системе. Проектирование базы данных "Интернет провайдер". Модели разрабатываемой информационной системы, проектирование интерфейса. Реализация программного средства.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 26.09.2017
Размер файла 1,0 M

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

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

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

ФГБОУ ВПО «Хакасский государственный университет им. Н.Ф. Катанова»

Институт информатики и телематики

Кафедра информационных технологий и систем

КУРСОВАЯ РАБОТА

по дисциплине «Информационные технологии»

Тема: «Использование технологии ADO.NET в информационной системе интернет провайдера»

Научный руководитель:

доцент Санников Е.В.

Абакан 2012

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

1.1 Выбор СУБД. MS Access

1.2 Технология ADO

1.3 Microsoft Jet 4.0 OLE DB Provider

1.4 Delphi

1.5 Выводы

2. ПРАКТИЧЕСКАЯ ЧАСТЬ

2.1 Описание предметной области

2.1.1 Описание существующих информационных систем

2.1.2 Требования к разрабатываемой информационной системе

2.1.3 Описание разрабатываемой системы

2.2 Проектирование базы данных «Интернет провайдер»

2.2.1 Модели разрабатываемой информационной системы

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

2.3 Реализация программного средства

2.4 Тестирование и анализ качества программного обеспечения

2.5 Выводы

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

ПРИЛОЖЕНИЕ: ЛИСТИНГ КОДА ПРОГРАММЫ

ВВЕДЕНИЕ

Интернет. Его появление и развитие обусловлено различными историческими факторами и причинами. После создания компьютеров появилась новая идея: объединить их в единую сеть, что позволило бы быстро и без потери данных обмениваться информацией. Суть идеи состояла в принципиально новом соединении компьютеров, при котором их связь не зависела бы от одного сервера. Поставленной задачей плотно занялось Агентство Исследовательских Проектов Особой Сложности Соединенных Штатов Америки, именуемое ARPA.

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

Интернет технологии развиваются очень быстро, и, следовательно, развиваются и возможности интернет обслуживания. На данный момент существует уже несколько сотен тысяч интернет провайдеров по всей нашей стране, и их число растет с каждым месяцем. А какой же интернет провайдер не имеет свою собственную базу данных?

Цель: создание информационной системы «Интернет провайдер» с использованием информационной технологии ADO.NET.

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

1. Изучить специальную литературу;

2. Выбрать СУБД для создания базы данных;

3. Описать информационную технологию ADO.NET;

4. Выполнить программную реализацию в среде объектно-ориентированного программирования Delphi 7.

1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

1.1 Выбор СУБД. MS Access

Система управления базами данных Microsoft Access является одним из самых популярных приложений в семействе настольных СУБД. Все версии Access имеют в своем арсенале средства, значительно упрощающие ввод и обработку данных, поиск данных и предоставление информации в виде таблиц, графиков и отчетов. Начиная с версии Access 2000, появились также Web-страницы доступа к данным, которые пользователь может просматривать с помощью программы Internet Explorer. Помимо этого, Access позволяет использовать электронные таблицы и таблицы из других настольных и серверных баз данных для хранения информации, необходимой приложению. Присоединив внешние таблицы, пользователь Access будет работать с базами данных в этих таблицах так, как если бы это были таблицы Access. При этом и другие пользователи могут продолжать работать с этими данными в той среде, в которой они были созданы [1].

1.2 Технология ADO

информационный система база данные

Технология Microsoft ActiveX Data Objects обеспечивает универсальный доступ к источникам данных из приложений БД. Такую возможность предоставляют функции набора интерфейсов, созданные на основе общей модели объектов СОМ и описанные в спецификации OLE DB.

Технология ADO и интерфейсы OLE DB обеспечивают для приложений единый способ доступа к источникам данных различных типов. Например, приложение, использующее ADO, может применять одинаково сложные операции и к данным, хранящимся на корпоративном сервере SQL, и к электронным таблицам, и локальным СУБД. Запрос SQL, направленный любому источнику данных через ADO, будет выполнен.

Возникает вопрос: каким образом источники данных смогут выполнить этот запрос?

За серверы БД беспокоиться не стоит, обработка запросов SQL -- это их основная обязанность. Но как быть с файловыми последовательностями, электронными таблицами, файлами электронной почты и т. д.? Здесь на помощь приходят механизмы ADO и интерфейсы OLE DB.

OLE DB представляет собой набор специализированных объектов СОМ, инкапсулирующих стандартные функции обработки данных, и специализированные функции конкретных источников данных и интерфейсов, обеспечивающих передачу данных между объектами.

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

В результате приложение обращается не прямо к источнику данных, а к объекту OLE DB, который "умеет" представить данные (например, из файла электронной почты) в виде таблицы БД или результата выполнения запроса SQL.

Технология ADO в целом включает в себя не только сами объекты OLE DB, но и механизмы, обеспечивающие взаимодействие объектов с данными и приложениями. На этом уровне важнейшую роль играют провайдеры ADO, координирующие работу приложений с хранилищами данных различных типов.

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

Так как технология ADO основана на стандартных интерфейсах СОМ, которые являются системным механизмом Windows, это сокращает общий объем работающего программного кода и позволяет распространять приложения БД без вспомогательных программ и библиотек [2].

1.3 Microsoft Jet 4.0 OLE DB Provider

По умолчанию Microsoft Jet является ядром базы данных, который используется в Microsoft Access. Для повышения производительности и стабильности нужно использовать формат базы данных Microsoft Jet 4.0 при использовании клиента Microsoft Jet 4.0. Аналогично при использовании клиента Microsoft Jet 3.5 следует использовать формат базы данных Microsoft Jet 3.0. В таблице 1.1 перечислены доступные в настоящее время форматы Jet, а также трансляторы dll, используемые в определенных версиях Access и форматах Jet.

Таблица 1.1. Форматы Jet и используемые трансляторы.

Версия Access

Формат Jet

Используемый транслятор dll

Access 2.0

Jet 2.0

Msrd2x40.dll

Access 95

Jet 3.0

Msrd3x40.dll

Access 97

Jet 3.0

Msrd3x40.dll

Access 2000

Jet 4.0

Нет

Access 2002

Jet 4.0

Нет

Access 2003

Jet 4.0

Нет

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

Таблица 1.2. Форматы Jet и используемые трансляторы.

Клиентское приложение

Используемый движок баз данных Jet

Рекомендуемый формат баз данных Jet

Access 2.0

Jet 2.0

Jet 2.0

Access 95

Jet 3.0

Jet 3.0

Access 97

Jet 3.5

Jet 3.0

Access 2000

Jet 4.0

Jet 4.0

Access 2002

Jet 4.0

Jet 4.0

Office Access 2003

Jet 4.0

Jet 4.0

DAO 3.0

Jet 3.0

Jet 3.0

DAO 3.5

Jet 3.5

Jet 3.0

DA0 3.6

Jet 4.0

Jet 4.0

Microsoft.JET.OLEDB.3.51

Jet 3.5

Jet 3.0

Microsoft.Jet.OLEDB.4.0`

Jet 4.0

Jet 4.0

Access ODBC Driver

Jet 4.0

Jet 4.0

Примечание: драйвер Microsoft Access ODBC, который входит в состав MDAC 2.0 или более ранней версии, использует Microsoft Jet 3.5. Драйвер Microsoft Access ODBC, который входит в состав MDAC 2.1 и компонентов MDAC версии 2.5, использует Microsoft Jet 4.0. MDAC 2.6 и более поздних версий включает драйвер Microsoft Access ODBC.

В некоторых ситуациях, например, если имеются старые приложения Jet и современные Jet, тот же файл базы данных не сможет использовать последний формат файла базы данных Jet. Это обусловлено тем, что старые ядра Jet не удается прочитать или не удается записать к новому формату файла базы данных Jet. Таким образом необходимо использовать старый формат и использования библиотек трансляторов DLL [3].

1.4 Delphi

Delphi, пожалуй, популярнейшее средство быстрой разработки приложений.

Представляет следующие свойства и усовершенствования:

· Новые расширения языка. В Delphi в язык Object Pascal включены динамические массивы, методы обработки переполнения, установка значения параметров по умолчанию, и многое другое;

· Менеджер Проекта. Новый менеджер проекта позволяет Вам объединять проекты, которые работают вместе в одну проектную группу. Это позволяет организовать как работу взаимозависимых проектов, таких как однозадачные и многозадачные приложения или dll, так и совместную работу исполняемых программ;

· Новый проводник. Новый проводник содержит выполняемые классы, навигацию по модулям, и браузер кода. Проводник кода делает создание классов проще. Также проводник позволяет быстро перемещаться через файлы модуля, а так же между интерфейсом и реализацией;

· Закрепляемые окна инструментов. IDE (Интегрированная Среда разработки) содержит более перенастраиваемую конфигурацию окон инструментов, которые можно закреплять с редактором кода;

· Улучшенная отладка. Интегрированный отладчик имеет много новых свойств, включая удаленную и многопроцессорную отладку, просмотр кода центрального процессора, инспекторов, усовершенствованные точки прерывания, отладчик специфических подменю и закрепленных окон;

· Усовершенствования Activex;

· Усовершенствования VCL. Иерархия объектов Delphi была расширена, чтобы включить новый компонент для Nt Service приложений. Кроме того, новый компонент выполняемого списка (на Стандартной странице палитры), позволяет централизовать управление меню и команд от кнопок. Управление VCL расширено, чтобы поддерживать drag-and-drop перетаскивания, обеспечивать дополнительный контроль над размещением окна, и многое другое.

Delphi - это комбинация нескольких важнейших технологий:

· высокопроизводительный компилятор в машинный код;

· объектно-ориентированная модель компонентов;

· визуальное (и, следовательно, скоростное) построение приложений из программных прототипов;

· масштабируемые средства для построения баз данных.

Компилятор, встроенный в Delphi, обеспечивает высокую производительность, необходимую для построения приложений в архитектуре «клиент-сервер». Он предлагает легкость разработки и быстрое время проверки готового программного блока, характерного для языков четвертого поколения. Кроме того, Delphi обеспечивает быструю разработку без необходимости писать вставки на Си или ручного написания кода (хотя это возможно).

В процессе построения приложения разработчик выбирает из палитры компонент готовые компоненты как художник, делающий крупные мазки кистью. Еще до компиляции он видит результаты своей работы - после подключения к источнику данных их можно видеть отображенными на форме, можно перемещаться по данным, представлять их в том или ином виде. В этом смысле проектирование в Delphi мало чем отличается от проектирования в интерпретирующей среде, однако после выполнения компиляции мы получаем код, который исполняется в 10-20 раз быстрее, чем то же самое, сделанное при помощи интерпретатора. Кроме того, компилятор компилятору рознь, в Delphi компиляция производится непосредственно в родной машинный код, в то время как существуют компиляторы, превращающие программу в так называемый p-код, который затем интерпретируется виртуальной p-машиной. Это не может не сказаться на фактическом быстродействии готового приложения.

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

Объекты БД в Delphi основаны на SQL и включают в себя полную мощь Borland Database Engine. В состав Delphi также включен Borland SQL LINK, поэтому доступ к СУБД Oracle, Sybase, Informix и Interbase происходит с высокой эффективностью. Кроме того, Delphi включает в себя локальный сервер Interbase для того, чтобы можно было разработать расширяемые на любые внешние sql-сервера приложения в офлайновом режиме. Разработчик в среде Delphi, проектирующий информационную систему для локальной машины (к примеру, небольшую систему учета медицинских карточек для одного компьютера), может использовать для хранения информации файлы формата .dbf (как в dbase или clipper) или .db (paradox). Если же он будет использовать локальный interbase for windows (это локальный SQL-сервер, входящий в поставку), то его приложение безо всяких изменений будет работать и в составе большой системы с архитектурой клиент-сервер [4].

1.5 Выводы

В качестве СУБД выбран Microsoft Access, потому что базу данных, созданную в этой СУБД, нужно привязать к приложению, созданном в среде разработки Delphi с помощью технологии ADO.NET.

2. ПРАКТИЧЕСКАЯ ЧАСТЬ

2.1 Описание предметной области

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

2.1.1 Описание существующих информационных систем ЗАО «ТелекомБюро»

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

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

Звонки тарифицируются продолжительностью по 6 секунд.

Чтобы воспользоваться услугами не надо никуда ходить - служба доставки (телефон 729-4607) привезёт карточку домой или в офис.

При оплате через системы расчетов в Internet (Яндекс.Деньги, E-port) можно сгенерировать логин и через сервер статистики добавить на него деньги.

Для других форм оплаты, а также для получения тестовых логинов нужно писать на webmaster@tb.ru. [5]

2.1.2 Требования к разрабатываемой информационной системе

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

Также должны присутствовать следующие функции, выполняемые данной системой:

· Редактирование базы данных (добавление, удаление, изменение записей);

· Сортировка по каждому отдельному полю (по возрастанию и убыванию);

· Фильтрация таблицы по промежутку между двумя датами.

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

· Пользователь - без пароля, администратор - требуется пароль;

· Ограниченный доступ для пользователя (запрет возможности редактирования БД);

· Открытый доступ для администратора (возможность редактирования записей и создания отчетов).

2.1.3 Описание разрабатываемой системы

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

Работа модулей программного продукта и их взаимосвязь представлены на рисунке 2.1.

Рисунок 2.1. Схема взаимодействия системы с окружением

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

2.2 Проектирование базы данных «Интернет провайдер»

Теперь, непосредственно после описания предметной области, нужно переходить к проектированию программного продукта.

2.2.1 Модели разрабатываемой информационной системы

Для проведения структурного анализа будущей информационной системы создана диаграмма ErWin.

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

Процесс построения информационной модели в ErWin состоит из следующих шагов:

· определение сущностей;

· определение зависимостей между сущностями;

· задание первичных и альтернативных ключей;

· определение атрибутов сущностей;

· приведение модели к требуемому уровню нормальной формы;

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

· генерация базы данных.

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

Целевая СУБД, имена объектов и типы данных, индексы составляют второй (физический) уровень модели ERwin.

ERwin предоставляет возможности создавать и управлять этими двумя различными уровнями представления одной диаграммы (модели), равно как и иметь много вариантов отображения на каждом уровне.

Диаграмма ERwin строится из трех основных блоков - сущностей, атрибутов и связей. Если рассматривать диаграмму как графическое представление правил предметной области, то сущности являются существительными, а связи - глаголами.

ERwin поддерживает прямой интерфейс с основными СУБД: DB2 версии 2 и 3, Informix версий 5.1, 6.0, 7.1, Ingres, NetWare SQL, ORACLE версий 6 и 7, Progress, Rdb версий 4 и 6, SQL/400 версий 2 и 3, SQLBase версий 5 и 6, SQL Server версий 4 и 6, Sybase версии 4.2, Sybase System 10 и 11, Watcom SQL.

ERwin поддерживает также настольные СУБД: Microsoft Access, FoxPro, Clipper, dBASE III, dBASE IV и Paradox [6].

Диаграмма ErWin информационной системы представлена на рисунке 2.2.

Рисунок 2.2. Диаграмма ErWin

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

В процессе проектирования интерфейса определены следующие функциональные блоки:

· База данных (см. Таблица 2.1);

· Блок просмотра и редактирования (см. Таблица 2.2).

Таблица 2.1. Спецификация функционального блока "База данных"

Атрибут

Значения

Назначение

Упорядоченное хранение данных

Описание

Возможность отображения и редактирования данных с СУБД

Внешнее отображение

Таблицы с данными

Входные/выходные данные

Данные абонентов, тарифов, оплат

Входные/выходные сигналы управления

Команды редактирования

Таблица 2.2. Спецификация функционального блока "Блок просмотра и редактирования"

Атрибут

Значения

Назначение

Обеспечение возможности редактирования и просмотра базы данных

Описание

Возможность отображения и редактирования базы данных без СУБД

Внешнее отображение

Совокупность форм на каждую из таблиц

Входные/выходные данные

Данные абонентов, тарифов, оплат

База данных

База данных интернет провайдера

Входные/выходные сигналы управления

Команды редактирования

База данных должна быть приведена к третьей нормальной форме. Логическая модель базы данных отображена на диаграмме ErWin (рис. 2.2).

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

1) Добавление/удаление/редактирование записей

2) Составление запросов

3) Выдача информации по конкретному пользователю

Для пользователя должен быть осуществлен простой и легкий в освоении интерфейс.

Структура интерфейса представлена на рисунке 2.3.

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

Рисунок 2.3. Схема интерфейса программы

2.3 Реализация программного средства

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

Для начала необходимо создать саму базу данных в Microsoft Access, состоящую из трех таблиц. Для каждой из таблиц указаны атрибуты. Физическая структура таблиц присутствует в таблицах 2.3 - 2.5.

Таблица 2.3. Абоненты

Имя поля

Тип данных

Код

Счетчик

Фамилия

Текстовый

Имя

Текстовый

Отчество

Текстовый

Паспорт

Числовой

Телефон

Числовой

Адрес

Текстовый

Таблица 2.4. Тарифы

Имя поля

Тип данных

Код

Счетчик

Название

Текстовый

Минута

Денежный

Мегабайт

Денежный

Сутки

Денежный

Таблица 2.5. Оплата

Имя поля

Тип данных

Код

Счетчик

Тариф

Числовой

Плательщик

Числовой

Дата начала

Дата/время

Дата окончания

Дата/время

Минут

Числовой

Мбайт

Числовой

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

Создано девять форм. Основная (Main) форма представляет собой главное меню (рис. 2.4), в котором располагаются: меню, логотип интернет провайдера, и три кнопки для открытия других форм, каждым из которых соответствует отдельная таблица.

Рисунок 2.4. Главная форма приложения

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

procedure TFormMain.btn1Click(Sender: TObject);

var tarf: TFormTariff;

begin

tarf := TFormTariff.Create(Self);

tarf.ShowModal;

end;

procedure TFormMain.btn2Click(Sender: TObject);

var usrf: TFormUsers;

begin

usrf := TFormUsers.Create(Self);

usrf.ShowModal;

end;

procedure TFormMain.btn3Click(Sender: TObject);

var billf: TFormBills;

begin

billf := TFormBills.Create(Self);

billf.ShowModal;

end;

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

Пользователь и администратор обладают разными правами доступа в приложении.

Рисунок 2.5. Форма для входа

На главной форме находится компонент ADOConnection с именем MainCon, в котором установлена связь с созданной базой данных, находящейся в той же папке что и сам файл приложения.

Рисунок 2.6. Настройки соединения с базой данных

На остальных формах добавлены компоненты для работы с базой данных, охарактеризованные в таблице 2.6:

Таблица 2.6. Свойства компонентов

Компонент

Свойство

Значение

ADOTable

Connection

FormMain.MainCon

TableName

Имя таблицы

Active

True

DataSource

DataSet

ADOTable

DBGrid

DataSource

DataSource

DBNavigator

DataSource

DataSource

ADOQuery

Connection

FormMain.MainCon

Active

True

Компонент ADOQuery был использован только на одной форме для реализации фильтрации и сортировки таблицы.

Примеры интерфейсов форм представлены на рисунках 2.7 - 2.9

Рисунок 2.7. Форма «Абоненты»

Рисунок 2.8. Форма «Тарифы»

Рисунок 2.9. Форма «Оплата»

Основные требования к интерфейсу программного продукта выполнены. Формы отображают соответствующую таблицу из базы данных с возможностью добавления и редактирования записей (для администратора).

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

Для фильтрации по промежутку было использовано два компонента DateTimePicker, один ADOQuery и один CheckBox.

Код реализации фильтрации:

procedure TFormBills.btnFILTClick(Sender: TObject);

begin

if (chk1.Checked = True) then

ADOQuery1.Filter:= '( [Дата начала] > '+DateToStr(dtp1.Date)+

') and ( [Дата начала] < '+DateToStr(dtp2.Date)+

') and ( [Дата окончания] > '+DateToStr(dtp1.Date)+

') and ( [Дата окончания] < '+DateToStr(dtp2.Date)+')';

ADOQuery1.Filtered:=chk1.Checked;

end;

Как видно из кода, мы передаём параметру Filter наш фильтр в виде строки и затем состоянию Filtered передаём текущее состояние CheckBox.

Результаты работы фильтра приведены на рисунках 2.10 - 2.12.

Рисунок 2.10. Форма без применения фильтра

Рисунок 2.11. Форма с применением фильтра от 03.06.2005 до 21.12.2005

Рисунок 2.12. Форма с применением фильтра от 03.06.2006 до 21.12.2007

Для сортировки таблицы по определенному полю был использован SQL запрос в ADOQuery.

Поле для сортировки выбирается с помощью RadioGroup с именем rg1. Так же существует возможность выбора типа сортировки либо по возрастанию, либо по убыванию, используя RadioGroup rg2.

Код реализации сортировки:

procedure TFormBills.btnSORTClick(Sender: TObject);

var s: string;

begin

ADOQuery1.Close;

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add('SELECT * FROM [Оплата]');

case rg2.ItemIndex of

0: s:= 'ASC';

1: s:= 'DESC';

end;

case rg1.ItemIndex of

0: s:='ORDER BY [Код] ' + s;

1: s:='ORDER BY [Тариф] ' + s;

2: s:='ORDER BY [Плательщик] ' + s;

3: s:='ORDER BY [Дата начала] ' + s;

4: s:='ORDER BY [Дата окончания] ' + s;

5: s:='ORDER BY [Минут] ' + s;

6: s:='ORDER BY [Мбайт] ' + s;

end;

ADOQuery1.SQL.Add(s);

ADOQuery1.Open;

end;

Примеры работы сортировки приведены на рисунках 2.13 - 2.15.

Рисунок 2.13. Форма без применения сортировки (по умолчанию)

Рисунок 2.14. Форма с применением сортировки по полю «Плательщик» по возрастанию

Рисунок 2.15. Форма с применением сортировки по полю «Дата окончания» по убыванию

Так же я добавил возможность смены пароля, только для администратора (рис. 2.15). Вызвать окно смены пароля можно из Меню->Операции->Админ->Сменить пароль.

Рисунок 2.15. Форма для смены пароля администратора

2.4 Тестирование и анализ качества программного обеспечения

Тестирование программного обеспечения -- процесс исследования программного обеспечения (ПО) с целью получения информации о качестве продукта.

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

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

С точки зрения ISO 9126-1, качество (программных средств) можно определить как совокупную характеристику исследуемого ПО с учётом следующих составляющих:

· Функциональные возможности

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

· Функциональная пригодность

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

· Правильность

Правильность (корректность) - способность программного средства обеспечивать правильные или приемлемые для пользователя результаты и внешние эффекты.

· Способность к взаимодействию

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

· Защищенность

Защищенность - способность компонентов программного средства защищать программы и информацию от любых негативных воздействий.

· Надёжность

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

· Сопровождаемость

Сопровождаемость - приспособленность программного средства к модификации и изменению конфигурации и функций.

· Практичность

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

· Эффективность

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

· Мобильность

Мобильность - подготовленность программного средства к переносу из одной аппаратно-операционной среды в другую [7].

Теперь, когда основные составляющие тестирования перечислены, можно начать тестировать систему.

· Функциональные возможности

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

· Функциональная пригодность

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

· Правильность

Программное средство обеспечивает правильные или приемлемые результаты. Таким образом, правильность высокая.

· Защищенность

Сейчас система может работать только локально, но с поддержкой входа от имени администратора, с запросом пароля. Таким образом, защищенность высокая.

· Надежность

Надежность функциональных компонентов на достойном уровне, что способствует более высокой стабильности. Следовательно, надёжность высокая.

· Сопровождаемость

Так как система разработана в простом средстве разработки Delphi 7, можно легко модифицировать ее или добавлять новые функции. Таким образом, сопровождаемость высокая.

· Практичность

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

· Эффективность

Информационная система использует мало ресурсов компьютера при выполнении своей работы. Таким образом, эффективность высокая.

· Мобильность

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

Тестирование программного средства выполнено. Теперь можно соотнести все характеристики и оценки на них в таблицу:

Таблица 2.7. Тестирование программного средства.

Характеристика

Оценка

Функциональные возможности

Средне

Функциональная пригодность

Высоко

Правильность

Высоко

Защищенность

Высоко

Надежность

Высоко

Сопровождаемость

Высоко

Практичность

Высоко

Эффективность

Высоко

Мобильность

Высоко

После оценки функционального качества программного средства выявлены данные недостатки:

* несетевая архитектура;

* малое количество функций.

2.5 Выводы

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

В описании предметной области описана существующая информационная система в данной сфере, называемая ЗАО «ТелекомБюро», и установлены требования к разрабатываемой информационной системе.

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

В результате на стадии реализации программного средства стала готовая информационная система.

ЗАКЛЮЧЕНИЕ

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

В результате была разработана информационная система «Интернет провайдер» в среде ООП Delphi 7 c использованием информационной технологии ADO.NET.

Курсовая работа показала, что информационная технология ADO проста и удобна в использовании. В отличие от старой технологии, где на каждую систему требовалось установить драйвер BDE, технология ADO позволяет работать с базой данных через общий интерфейс в операционной системе Windows, а большинство предприятий как раз и использует данную ОС на компьютерах. Таким образом, информационная технология ADO решает проблему переносимости программного обеспечения, работающего с базами данных в операционной системе Windows.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Общие сведения о Microsoft Access // Таурион. URL: http://www. taurion.ru/access/1/2 (08.11.12)

2. Основы ADO // Иллюстрированный самоучитель по Delphi 7 для профессионалов. URL: http://www.realcoding.net/teach/Delphi7_prof/Glava19/ Index2.html (08.11.12)

3. Сохранение базы данных Jet 4.0 в работоспособном состоянии // Поддержка Microsoft. URL: http://support.microsoft.com/kb/303528/ru (25.11.12)

4. Теория DELPHI // Языки программирования. URL: http://www. maksakov-sa.ru/TeorDelphi/OpisanieDelphi/index.html (08.11.12)

5. ЗАО "ТелекомБюро" // ЗАО "ТелекомБюро". URL: http://voip.tb.ru/ (12.11.2012)

6. Моделирование баз данных при помощи Erwin // Интерфейс Ltd. URL: http://www.interface.ru/home.asp?artId=4591 (10.11.12)

7. Тестирование и оценка функционального качества программного обеспечения // MSDN. URL: http://social.msdn.microsoft.com/Forums/ru-ru/fordesktopru/thread/e750a78b-0c1f-4766-81a2-7cea9b4b3ea2 (09.11.12)

ПРИЛОЖЕНИЕ: ЛИСТИНГ КОДА ПРОГРАММЫ

Модуль «Login»

procedure TFormLogin.btn1Click(Sender: TObject);

begin

if cbb1.ItemIndex = 1 then

if medt1.Text = Pass then

begin

MessageBox(Handle, 'Здравствуй, товарищ админ!',

'Доступ разрешен', MB_OK or MB_ICONINFORMATION);

isadmin:=True;

gotit:=True;

Self.Close;

end

else

begin

MessageBox(Handle, 'Неверный пароль!',

'Ошибка', MB_OK or MB_ICONWARNING);

medt1.Text:='';

medt1.Color:=RGB(255,0,0);

end

else

begin

MessageBox(Handle, 'Приветствуем вас!',

'Добро пожаловать', MB_OK or MB_ICONINFORMATION);

isadmin:=False;

gotit:=True;

Self.Close;

end;

end;

procedure TFormLogin.FormCreate(Sender: TObject);

begin

AssignFile(PassFile, 'pass.txt');

Reset(PassFile);

while not Eof(PassFile) do

begin

ReadLn(PassFile, Pass);

end;

CloseFile(PassFile);

gotit:=False;

end;

procedure TFormLogin.cbb1Change(Sender: TObject);

begin

if cbb1.ItemIndex = 0

then medt1.Enabled:=False

else medt1.Enabled:=True;

end;

procedure TFormLogin.medt1Change(Sender: TObject);

begin

medt1.Color:=RGB(255,255,255);

end;

procedure TFormLogin.medt1KeyPress(Sender: TObject; var Key: Char);

begin

if key = Chr(VK_RETURN) then btn1.Click;

end;

Модуль «Main»

procedure TFormMain.FormCreate(Sender: TObject);

var logf: TFormLogin;

begin

il1.GetBitmap(0, btn1.Glyph);

il1.GetBitmap(1, btn2.Glyph);

il1.GetBitmap(2, btn3.Glyph);

logf:= TFormLogin.Create(Self);

logf.ShowModal;

if gotit=True then

begin

btn3.Enabled:= isadmin;

AdminM.Enabled:= isadmin;

Admin1.Enabled:= isadmin;

Admin2.Enabled:= isadmin;

logf.Free;

end

else Application.Terminate;

end;

procedure TFormMain.N6Click(Sender: TObject);

begin

Close;

end;

procedure TFormMain.N8Click(Sender: TObject);

begin

MessageBox(Handle, 'Интернет провайдер SpeedTelecom.' + #13#10 +

'Менеджер v1.21.' + #13#10 +

'Компания TeleNet, 2012 год.',

'Абоут...',

MB_OK or MB_ICONINFORMATION);

end;

procedure TFormMain.N9Click(Sender: TObject);

begin

if N9.Checked = False then

begin

btn1.ShowHint:=False;

btn2.ShowHint:=False;

btn3.ShowHint:=False;

img1.ShowHint:=False;

end

else

begin

btn1.ShowHint:=True;

btn2.ShowHint:=True;

btn3.ShowHint:=True;

img1.ShowHint:=True;

end;

end;

procedure TFormMain.N3Click(Sender: TObject);

begin

btn1.Click;

end;

procedure TFormMain.N4Click(Sender: TObject);

begin

btn2.Click;

end;

procedure TFormMain.Admin1Click(Sender: TObject);

begin

btn3.Click;

end;

procedure TFormMain.Admin2Click(Sender: TObject);

var passf: TFormPassChange;

begin

passf:= TFormPassChange.Create(Self);

passf.ShowModal;

end;

procedure TFormMain.btn1Click(Sender: TObject);

var tarf: TFormTariff;

begin

tarf:= TFormTariff.Create(Self);

tarf.ShowModal;

end;

procedure TFormMain.btn2Click(Sender: TObject);

var usrf: TFormUsers;

begin

usrf:= TFormUsers.Create(Self);

usrf.ShowModal;

end;

procedure TFormMain.btn3Click(Sender: TObject);

var billf: TFormBills;

begin

billf:= TFormBills.Create(Self);

billf.ShowModal;

end;

end.

Модуль «PassChange»

procedure TFormPassChange.btn2Click(Sender: TObject);

begin

Close;

end;

procedure TFormPassChange.btn1Click(Sender: TObject);

begin

if (edt1.Text = Pass) then

if (edt2.Text <> '') then

begin

AssignFile(PassFile, 'pass.txt');

Rewrite(PassFile);

write(PassFile, edt2.Text);

CloseFile(PassFile);

MessageBox(Handle, 'Пароль изменен успешно!',

'Успех', MB_OK or MB_ICONINFORMATION);

close;

end

else

begin

MessageBox(Handle, 'Новый пароль не может быть пустым!',

'Ошибка', MB_OK or MB_ICONWARNING);

edt2.Color:=RGB(255,0,0);

end

else

begin

MessageBox(Handle, 'Старый пароль указан неверно!!',

'Ошибка', MB_OK or MB_ICONWARNING);

edt1.Text:='';

edt1.Color:=RGB(255,0,0);

end;

end;

Модуль «Tariffs»

procedure TFormTariff.FormCreate(Sender: TObject);

begin

if isadmin then

begin

dbgrd1.Options:=dbgrd1.Options + [dgEditing];

with dbnvgr1 do

begin

VisibleButtons := VisibleButtons + [nbInsert];

VisibleButtons := VisibleButtons + [nbDelete];

VisibleButtons := VisibleButtons + [nbEdit];

VisibleButtons := VisibleButtons + [nbPost];

VisibleButtons := VisibleButtons + [nbCancel];

VisibleButtons := VisibleButtons + [nbRefresh];

end;

end

else

begin

dbgrd1.Options:=dbgrd1.Options - [dgEditing];

with dbnvgr1 do

begin

VisibleButtons := VisibleButtons - [nbInsert];

VisibleButtons := VisibleButtons - [nbDelete];

VisibleButtons := VisibleButtons - [nbEdit];

VisibleButtons := VisibleButtons - [nbPost];

VisibleButtons := VisibleButtons - [nbCancel];

VisibleButtons := VisibleButtons - [nbRefresh];

Width:=480;

end;

end;

end;

Модуль «Users»

procedure TFormUsers.FormCreate(Sender: TObject);

begin

if isadmin then

begin

with dbgrd1 do

begin

Options:= Options + [dgEditing];

Columns[4].Visible:= True;

Columns[5].Visible:= True;

Columns[6].Visible:= True;

Columns[1].Width:= 96;

Columns[2].Width:= 96;

Columns[3].Width:= 96;

end;

with dbnvgr1 do

begin

VisibleButtons:=VisibleButtons + [nbInsert];

VisibleButtons:=VisibleButtons + [nbDelete];

VisibleButtons:=VisibleButtons + [nbEdit];

VisibleButtons:=VisibleButtons + [nbPost];

VisibleButtons:=VisibleButtons + [nbCancel];

VisibleButtons:=VisibleButtons + [nbRefresh];

end;

end

else

begin

with dbgrd1 do

begin

Options:= Options - [dgEditing];

Columns[4].Visible:= False;

Columns[5].Visible:= False;

Columns[6].Visible:= False;

Columns[1].Width:= 205;

Columns[2].Width:= 205;

Columns[3].Width:= 204;

end;

with dbnvgr1 do

begin

VisibleButtons:=VisibleButtons - [nbInsert];

VisibleButtons:=VisibleButtons - [nbDelete];

VisibleButtons:=VisibleButtons - [nbEdit];

VisibleButtons:=VisibleButtons - [nbPost];

VisibleButtons:=VisibleButtons - [nbCancel];

VisibleButtons:=VisibleButtons - [nbRefresh];

Width:=680;

end;

end;

end;

Модуль «Bills»

procedure TFormBills.FormCreate(Sender: TObject);

begin

ShortDateFormat := 'dd/mm/yyyy';

DateSeparator := '/';

end;

procedure TFormBills.btnSORTClick(Sender: TObject);

var s: string;

begin

ADOQuery1.Close;

ADOQuery1.SQL.Clear;

ADOQuery1.SQL.Add('SELECT * FROM [Оплата]');

case rg2.ItemIndex of

0: s:= 'ASC';

1: s:= 'DESC';

end;

case rg1.ItemIndex of

0: s:='ORDER BY [Код] ' + s;

1: s:='ORDER BY [Тариф] ' + s;

2: s:='ORDER BY [Плательщик] ' + s;

3: s:='ORDER BY [Дата начала] ' + s;

4: s:='ORDER BY [Дата окончания] ' + s;

5: s:='ORDER BY [Минут] ' + s;

6: s:='ORDER BY [МБайт] ' + s;

end;

ADOQuery1.SQL.Add(s);

ADOQuery1.Open;

end;

procedure TFormBills.rg1Click(Sender: TObject);

begin

btnSORT.Click;

end;

procedure TFormBills.btnFILTClick(Sender: TObject);

begin

if (chk1.Checked = True) then

ADOQuery1.Filter:= '( [Дата начала] > '+DateToStr(dtp1.Date)+

') and ( [Дата начала] < '+DateToStr(dtp2.Date)+

') and ( [Дата окончания] > '+DateToStr(dtp1.Date)+

') and ( [Дата окончания] < '+DateToStr(dtp2.Date)+')';

ADOQuery1.Filtered:=chk1.Checked;

end;

procedure TFormBills.btn1Click(Sender: TObject);

var urf: TFormReportUsers;

begin

urf:= TFormReportUsers.Create(Self);

urf.ShowModal;

end;

procedure TFormBills.btn2Click(Sender: TObject);

var trf: TFormReportTariff;

begin

trf:= TFormReportTariff.Create(Self);

trf.ShowModal;

end;

procedure TFormBills.btn3Click(Sender: TObject);

var uif: TFormUserInfo;

begin

uif:= TFormUserInfo.Create(Self);

uif.ShowModal;

end;

Модуль «UserInfo»

procedure TFormUserInfo.FormCreate(Sender: TObject);

var par: string;

begin

par:=InputBox('Ввод данных','Укажите код абонента','1');

ADOQuery1.Close;

ADOQuery1.Parameters[0].Value:=par;

ADOQuery1.Open;

end;

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


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

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