- •Курсовая работа по дисциплине «Информационные технологии»
- •Содержание введение
- •1.Теоретическая часть
- •1.1. Выбор субд. Ms Access
- •1.2. Технология ado
- •1.3. Microsoft Jet 4.0 ole db Provider
- •1.4. Delphi
- •1.5. Выводы
- •2.1.2. Требования к разрабатываемой информационной системе
- •2.1.3. Описание разрабатываемой системы
- •2.2. Проектирование базы данных «Интернет провайдер»
- •2.2.1. Модели разрабатываемой информационной системы
- •2.2.2. Проектирование интерфейса
- •2.3. Реализация программного средства
- •2.4. Тестирование и анализ качества программного обеспечения
- •2.5. Выводы
- •Заключение
- •Список использованных источников
- •Приложение: листинг кода программы
2.5. Выводы
Таким образом, в ходе практической части выполнены следующие этапы: описание предметной области, проектирование программного комплекса, программная реализация и анализ качества программного обеспечения.
В описании предметной области описана существующая информационная система в данной сфере, называемая ЗАО «ТелекомБюро», и установлены требования к разрабатываемой информационной системе.
В проектировании базы данных создана диаграмма ErWinи спроектирован интерфейс, в котором определены функциональные блоки: база данных и блок просмотра и редактирования.
В результате на стадии реализации программного средства стала готовая информационная система.
Заключение
В ходе курсовой работы были рассмотрены этапы создания информационной системы: описание предметной области, проектирование программного комплекса, программная реализация и анализ качества программного обеспечения.
В результате была разработана информационная система «Интернет провайдер» в среде ООП Delphi7cиспользованием информационной технологии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. Сохранение базы данных Jet4.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;