Проектирование и разработка баз данных "Учет абонентов ADSL"

Разработка программного продукта для автоматизации учета абонентов ADSL отдела информационных технологий на предприятии ОАО "Башинформсвязь". Добавление в базу данных новых абонентов (физических или юридических лиц), изменение логина или пароля.

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

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

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

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

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

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

"Проектирование и разработка баз данных "Учет абонентов adSL"

Введение

Практика по профилю специальности проходила в Нефтекамском МУЭС ОАО «Башинформсвязь» в отделе информационных технологий.

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

Целью курсовой работы является разработка программного продукта для автоматизации учёта абонентов ADSL отдела информационных технологий на предприятии ОАО «Башинформсвязь».

Основные задачи курсовой работы:

- проектирование концептуальной базы данных и модулей программы;

- разработка интерфейса программы и документации.

Разрабатываемое приложение «Учет абонентов ADSL» сможет улучшить работу информационного отдела предприятия.

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

Основными задачами являются:

- развитие профессионального мышления;

- составление технического задания;

- описание предметной области;

- разработка структуры базы данных;

- развитие и углубление навыков программирования;

- изучение и освоение программных систем, пакетов прикладных программ (ППП), фирменных программных продуктов [1].

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

1.1 Анализ предметной области

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

Приложение БД может автоматизировать работу инженера-программиста информационного отдела (ИТ).

С помощью приложения БД можно выполнить следующие действия:

- хранение информации в базе данных «Учет абонентов Интернета ADSL» в виде таблиц;

- предоставление информации в текстовом и числовом виде;

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

Данная программа предназначена для учета абонентов Интернета ADSL ОАО «Башинформсвязь».

Основные возможности программы:

- ввод данных об абоненте;

- сохранение данных;

- поиск необходимого абонента;

- выборка необходимых данных абонента.

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

учет абонент программный предприятие

1.2 Цель проектирования программного продукта

С помощью приложения БД будут выполнятся следующие действия: хранение информации в базе данных «Учет абонентов интернета ADSL» в виде таблиц; для предоставления информации в текстовом и числовом виде; добавление в базу данных новых абонентов.

Данная программа будет предназначена для учета абонентов интернета ADSL.

Основные возможности программы:

- ввод данных об абонентах;

- сохранение данных;

- поиск необходимого абонента;

- выборка необходимых данных абонента.

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

2. Проектирование структуры базы данных

2.1 Концептуальная схема

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

Концептуальная схема предметной области строится первой. Предварительная концептуальная схема строится еще на предпроектной стадии и затем уточняется на более поздних стадиях проектирования баз данных. Затем на ее основе строятся внутренняя (физическая) и внешняя модели [2].

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

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

- Список абонентов интернета ADSL содержит сведения об абонентах.

- Список населенных пунктов является справочником населенных пунктов.

- Список физических лиц содержит сведения о физических лицах;

- Список юридических лиц содержит сведения об юридических лицах.

2.2 Создание логической модели

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

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

Рисунок 1 - Логическая модель данных

2.3 Физическая модель данных

Физическая модель данных описывает данные средствами конкретной СУБД. Отношения, разработанные на стадии формирования логической модели данных, преобразуются в таблицы, атрибуты становятся столбцами таблиц, для ключевых атрибутов создаются уникальные индексы, домены преображаются в типы данных, принятые в конкретной СУБД[2].

Физическая модель данных таблицы abonents_list изображена на рисунке 2:

Рисунок 2 - Физическая модель данных таблицы abonents_list

Физическая модель данных таблицы fiz_list изображена на рисунке 3:

Рисунок 3 - Физическая модель данных таблицы fiz_list

Физическая модель данных таблицы ur_list изображена на рисунке 4:

Рисунок 4 - Физическая модель данных таблицы ur_list

3. Проектирование программного продукта

3.1 Организация входных и выходных данных

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

Входными данными для приложения базы данных являются данные, вводимые инженером-программистом:

- Номер домашнего телефона;

- Фамилия, имя, отчество абонента;

- Адрес абонента.

К выходным данным относятся:

- сортировки по полям;

- фильтрация по полю Количество;

- поиск записей по полю Наименование;

- формируемый приложением отчет.

3.2 Описание алгоритма работы приложения

Алгоритм приложения преобразует входные данные в выходные. В памяти, требуемой для работы алгоритма, размещаются входные данные, с которыми алгоритм начинает работать, промежуточные данные и выходные данные, которые являются результатом работы алгоритма. Память является дискретной, т.е. состоящей из отдельных ячеек. Поименованная ячейка памяти носит название переменной. Алгоритм приложения построен из отдельных шагов (действий, операций, команд). Множество шагов, из которых составлен алгоритм, конечно. Алгоритм завершает работу после конечного числа шагов - описывается одно из главных свойств алгоритмов - результативность [3]. Алгоритм приложения «Учет абонентов интернета ADSL» изображен на рисунке 5:

Рисунок 5 - описание алгоритма работы приложения

3.3 Описание программных модулей

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

Программным модулем можно считать самостоятельный раздел программы. Модуль создается каждый раз, при создании новой формы. При компиляции программы Delphi создает файлы с расширениями PAS, DFM, и DCU для каждого модуля.

Программа «Учёт абонентов Интернета ADSL» состоит из 7 модулей.

В данном приложений использовались следующие компоненты:

DBGrid - компонент используется для просмотра и редактирования базы данных в режиме таблицы.

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

DataSource - компонент обеспечивает связь между данными, представленными компонентом Table и компонентом отображения данных DBGrid.

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

Image - отображение картинок. Этот компонент служит для размещения на форме одного из трех поддерживаемых Delphi типов изображений: растровой картинки, пиктограммы или метафайла. Любой из этих типов изображения содержится в центральном свойстве компонента - Picture.

QuickRep - компонент является ядром отчета. Все остальные элементы, которые, собственно, и позволяют построить отчет, находятся на его поверхности.

3.4 Создание пользовательского интерфейса

Интерфейс - это внешний вид программы, на котором отображены различные средства просмотра, добавления или редактирования базы данных.

После запуска программы отображается главное окно программы.

Рисунок 6 - главное окно программы

3.5 Выбор состава технических и программных средств

Состав технических и программных средств:

1) процессор Intel Pentium;

2) оперативная память 128 МБ и выше;

3) видеокарта AGP/PCI Express 32 Mb и выше;

4) свободное пространство на диске не менее 10 Mb;

5) видеомонитор с разрешением не менее 640 x 480;

6) привод CD/DVD-ROM, USB;

7) клавиатура;

8) мышь.

4. Тестирование программного продукта

Для проведения испытаний использовался самый простой метод - динамический, который заключается в том, что все испытания проводились в разное время и на разных компьютерах.

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

Таблица 1 - Результаты проведенных испытаний

Название теста

Проверяемый случай

Результаты теста

1

2

3

Проверка аппаратного устройства

Взаимодействие с пакетами прикладных программ

Взаимодействие осуществляется

Проверка совместимости

Windows 2000\XP Pro

Совместима

Испытание программы на работоспособность

Windows 2000\XP Pro

Работоспособна

Проверка производительности

Время загрузки программы и время перехода между формами

Зависит от процессора и оперативной памяти компьютера.

Для проверки работоспособности программы и ее совместимости с компьютерами различной конфигурации программа «Учет абонентов интернета ADSL» неоднократно подвергалась испытаниям. Тестирование программного продукта с использованием этого процессора Intel Celeron 2.6 ГГц показало, что работа с ней происходит максимально быстро и результативно.

4.1 Описание методов тестирования и отладки

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

Тестирование проводится в следующем порядке:

- проверка аппаратного устройства;

- проверка совместимости;

- испытание программы на работоспособность;

- проверка производительности;

- проверки средств взаимодействия;

- проверка средств редактирования данных.

Тестирование проводилось на компьютерах, имеющие программные средства:

1) ОС Windows XP;

2) Система программирования Delphi (BDE Administrator, DataBase Desktop, Borland Delphi 7);

3) Microsoft Office.

4.2 Результаты тестирования

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

Заключение

В течение периода курсового проектирования было разработано приложение базы данных для автоматизации учета абонентов Интернета ADSL на предприятии ОАО «Башинформсвязь».

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

Разработанное приложение «Учёт абонентов интернета ADSL» способно автоматизировать работу инженера-программиста в отделе информационных технологий. Программа имеет удобный интерфейс и не создаст проблем в использовании.

В дальнейшем проектировании возможно модифицирование базы данных: для повышения эффективности работы приложения. Также повышение функциональных возможностей самого приложения - совершенствование функций фильтраций, поиска и улучшение интерфейса программы [5].

Список источников

1) Архангельский А.Я. Программирование в Delphi 7-М.: ЗАО «Издательство БИНОМ», 2002 г. - 1200 с.

2) Кандзюба С.П., Громов В.Н. Delphi 6. Базы данных и приложения. Лекции и упражнения. - К.: Издательство «ДинСофт», 2001. - 576 с.

3) Фаронов В.В. Delphi 7. Учебный курс. Издательство Молгачев С.В., 2001. - 672 с.

4) Программирование в среде Delphi: Лабораторный практикум для студентов всех специальностей. Под общей редакцией Синицына А.К. - Мн.; БГУИР, 1998. - 94 с.

5) Архангельский А.П. Программирование в Delphi 5. - М.: Бином, 2000.

6) Бобровский С.И Delphi 7. Учебный курс. - СПб.: «Питер», 2005.

7) Фаронов В.В. Программирование баз данных в Delphi 7. Учебный курс. - СПб.: «Питер», 2006.

8) Избачков Ю.С. Информационные системы. - СПб: Питер, 2008.

9) Фаронов В.В. Delphi. Учебный курс. - М.: «Нолидж», 2000.

10) Шумаков П.В., Фаронов В.В. Delphi 5. Руководство разработчика баз данных. - М.: «Нолидж», 2001.

Приложение

Листинг программы

unit uMain;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, DB, Grids, DBGrids, ADODB, Menus, StdCtrls, Mask, DBCtrls,

ExtCtrls, ComCtrls;

type

TMainFrm = class(TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

PageControl1: TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

TabSheet3: TTabSheet;

DBGrid1: TDBGrid;

ADOConnection1: TADOConnection;

adotAbonents: TADOTable;

DataSource1: TDataSource;

DBNavigator1: TDBNavigator;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBEdit3: TDBEdit;

DBEdit4: TDBEdit;

DBEdit5: TDBEdit;

DBEdit6: TDBEdit;

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Edit1: TEdit;

Button5: TButton;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

DBEdit7: TDBEdit;

ComboBox1: TComboBox;

DataSource2: TDataSource;

adotFiz: TADOTable;

DBGrid2: TDBGrid;

DBGrid3: TDBGrid;

DataSource3: TDataSource;

adotUr: TADOTable;

Label8: TLabel;

DBEdit8: TDBEdit;

Label9: TLabel;

DBEdit9: TDBEdit;

Label10: TLabel;

DBEdit10: TDBEdit;

Label11: TLabel;

DBEdit11: TDBEdit;

Label12: TLabel;

DBEdit12: TDBEdit;

Label13: TLabel;

DBEdit13: TDBEdit;

Button6: TButton;

Button7: TButton;

Button8: TButton;

Button9: TButton;

Label15: TLabel;

DBEdit15: TDBEdit;

Label16: TLabel;

DBEdit16: TDBEdit;

Label17: TLabel;

DBEdit17: TDBEdit;

Label18: TLabel;

DBEdit18: TDBEdit;

Label19: TLabel;

DBEdit19: TDBEdit;

Label20: TLabel;

DBEdit20: TDBEdit;

Label21: TLabel;

DBEdit21: TDBEdit;

Button10: TButton;

Button11: TButton;

Button12: TButton;

Button13: TButton;

Edit2: TEdit;

ComboBox2: TComboBox;

Button14: TButton;

Edit3: TEdit;

ComboBox3: TComboBox;

Button15: TButton;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

ComboBox4: TComboBox;

Button16: TButton;

CheckBox1: TCheckBox;

CheckBox2: TCheckBox;

N9: TMenuItem;

N10: TMenuItem;

N11: TMenuItem;

procedure N3Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button14Click(Sender: TObject);

procedure Button10Click(Sender: TObject);

procedure Button11Click(Sender: TObject);

procedure Button12Click(Sender: TObject);

procedure Button13Click(Sender: TObject);

procedure Button15Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

procedure Button7Click(Sender: TObject);

procedure Button8Click(Sender: TObject);

procedure Button9Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N1Click(Sender: TObject);

procedure Button16Click(Sender: TObject);

procedure CheckBox1Click(Sender: TObject);

procedure CheckBox2Click(Sender: TObject);

procedure N11Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

MainFrm: TMainFrm;

implementation

uses uAbout, uAbonentListRep, uCityList, uFizList, uUrList;

{$R *.dfm}

procedure TMainFrm.N3Click(Sender: TObject);

begin

Close;

end;

procedure TMainFrm.Button5Click(Sender: TObject);

begin

case MainFrm.combobox1.ItemIndex of

0:if not MainFrm.adotAbonents.Locate('home_phone',Edit1.Text,[]) then

Showmessage('Запись не найдена');

1:if not MainFrm.adotAbonents.Locate('fio',Edit1.Text,[]) then

Showmessage('Запись не найдена');

2:if not MainFrm.adotAbonents.Locate('city',Edit1.Text,[]) then

Showmessage('Запись не найдена');

3:if not MainFrm.adotAbonents.Locate('street',Edit1.Text,[]) then

Showmessage('Запись не найдена');

end;

end;

procedure TMainFrm.Button1Click(Sender: TObject);

begin

adotAbonents.Insert;

end;

procedure TMainFrm.Button2Click(Sender: TObject);

begin

adotAbonents.Edit;

end;

procedure TMainFrm.Button3Click(Sender: TObject);

begin

adotAbonents.Post;

end;

procedure TMainFrm.Button4Click(Sender: TObject);

begin

adotAbonents.Delete;

end;

procedure TMainFrm.Button14Click(Sender: TObject);

begin

case MainFrm.combobox2.ItemIndex of

0:if not MainFrm.adotFiz.Locate('home_phone',Edit2.Text,[]) then

Showmessage('Запись не найдена');

1:if not MainFrm.adotFiz.Locate('fio',Edit2.Text,[]) then

Showmessage('Запись не найдена');

2:if not MainFrm.adotFiz.Locate('city',Edit2.Text,[]) then

Showmessage('Запись не найдена');

3:if not MainFrm.adotFiz.Locate('street',Edit2.Text,[]) then

Showmessage('Запись не найдена');

end;

end;

procedure TMainFrm.Button10Click(Sender: TObject);

begin

adotFiz.Insert;

end

procedure TMainFrm.Button11Click(Sender: TObject);

begin

adotFiz.Edit;

end;

procedure TMainFrm.Button12Click(Sender: TObject);

begin

adotFiz.Post;

end;

procedure TMainFrm.Button13Click(Sender: TObject);

begin

adotFiz.Delete;

end;

procedure TMainFrm.Button15Click(Sender: TObject);

begin

case MainFrm.combobox3.ItemIndex of

0:if not MainFrm.adotUr.Locate('home_phone',Edit3.Text,[]) then

Showmessage('Запись не найдена');

1:if not MainFrm.adotUr.Locate('org_name',Edit3.Text,[]) then

Showmessage('Запись не найдена');

2:if not MainFrm.adotUr.Locate('city',Edit3.Text,[]) then

Showmessage('Запись не найдена');

3:if not MainFrm.adotUr.Locate('street',Edit3.Text,[]) then

Showmessage('Запись не найдена');

end;

end;

procedure TMainFrm.Button6Click(Sender: TObject);

begin

adotUr.Insert;

end;

procedure TMainFrm.Button7Click(Sender: TObject);

begin

adotUr.Edit;

end;

procedure TMainFrm.Button8Click(Sender: TObject);

begin

adotUr.Post;

end;

procedure TMainFrm.Button9Click(Sender: TObject);

begin

adotUr.Delete;

end;

procedure TMainFrm.N6Click(Sender: TObject);

begin

AbonentListRepFrm.QuickRep1.Preview;

end;

procedure TMainFrm.N7Click(Sender: TObject);

begin

Form4.QuickRep1.Preview;

end;

procedure TMainFrm.N8Click(Sender: TObject);

begin

Form5.QuickRep1.Preview;

end;

procedure TMainFrm.N1Click(Sender: TObject);

begin

CityListFrm.Show;

end;

procedure TMainFrm.Button16Click(Sender: TObject);

begin

case MainFrm.ComboBox4.ItemIndex of

0:MainFrm.adotAbonents.Sort:='home_phone';

1:MainFrm.adotAbonents.Sort:='fio';

2:MainFrm.adotAbonents.Sort:='city';

3:MainFrm.adotAbonents.Sort:='street';

end;

end;

procedure TMainFrm.CheckBox1Click(Sender: TObject);

begin

if checkbox1.Checked=true then adotFiz.Sort:='home_phone';

end;

procedure TMainFrm.N11Click(Sender: TObject);

begin

AboutFrm.ShowModal;

end;

end.

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


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

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