Автор работы: Пользователь скрыл имя, 29 Апреля 2013 в 14:55, курсовая работа
В данном курсовом проекте была разработана база данных в СУБД Microsoft SQL Server 2000 для автоматизированного учета пассажирских перевозок. Для этого нужна общая база данных, включающая всю необходимую информацию. Мощность базы данных обусловлена возможностью ее постоянного пополнения новыми данными, причем в неограниченном количестве информации. Это является очень удобным для пользователя. Таким образом, создание базы данных, обладающей такими свойствами, задача достаточно актуальная и полезная. Программа, работающая с БД, позволяет вести учет водителей, автобусов, маршрутов.
Пользователями базы данных выступают специалисты автовокзала. Для доступа к БД необходимо ввести пароль.
Введение
4
1 Техническое задание
5
1.1 Анализ предметной области
5
1.2 Постановка задачи
9
2 Технический проект информационной системы
10
2.1 Функциональная модель
10
2.1.1 Контекстная диаграмма и диаграммы детализации процессов
10
2.1.2 Диаграмма дерева узлов
14
2.2 Информационная модель
15
2.2.1 Идентификация сущностей и связей. ER-диаграмма логического уровня
15
2.2.2 ER-диаграмма физического уровня. Ограничения ссылочной целостности. Определение триггеров
16
2.2.3 Определение представлений, хранимых процедур серверной компоненты
19
2.3 Верификация спроектированной логической модели
21
3 Реализация системы
23
3.1 T-SQL-определения регламентированных запросов
23
3.2 T-SQL-определения триггеров
24
3.3 T-SQL-определения хранимых процедур
30
3.4 T-SQL-определения курсоров
33
3.5 Описание клиентских приложений
34
4 Результат тестирования информационной системы
49
Заключение
50
Список использованных источников
DBGrid1.DataSource:=
end;
procedure TForm2.a121Click(Sender: TObject);
begin
Datasource1.DataSet.Active:=
DataSource3.DataSet.Active:=
DBGrid1.DataSource:=
end;
procedure TForm2.N2Click(Sender: TObject);
begin
Datasource4.DataSet.Active:=
Datasource1.DataSet.Active:=
DBGrid1.DataSource:=
end;
procedure TForm2.Button3Click(Sender: TObject);
begin
ADOStoredProc1.Parameters.
ADOStoredProc1.Active:=true;
Datasource1.DataSet.Active:=
DataSource4.DataSet.Active:=
DBGrid1.DataSource:=
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
ADOStoredProc3.Parameters.Para
ADOStoredProc3.Active:=true;
Datasource1.DataSet.Active:=
DataSource6.DataSet.Active:=
DBGrid1.DataSource:=
end;
procedure TForm2.Button4Click(Sender: TObject);
begin
ADOStoredProc4.Active:=true;
Datasource1.DataSet.Active:=
DataSource7.DataSet.Active:=
DBGrid1.DataSource:=
End.
Если выбрать на главной форме в пункте меню «Файл» второй пункт- «Автобусы»,то появится форма «Автобусы»(рисунок 12)
Рисунок 12 – Форма «Автобусы»
Код формы:
procedure TForm3.Label3Click(Sender: TObject);
begin
Form3.Hide ;
Form1.Show;
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
ADOStoredProc4.Parameters.
ADOStoredProc4.Active:=true;
Datasource1.DataSet.Active:=
DataSource7.DataSet.Active:=
DBGrid1.DataSource:=
end;
procedure TForm3.a2111Click(Sender: TObject);
begin
Datasource1.DataSet.Active:=
Datasource2.DataSet.Active:=
DBGrid1.DataSource:=
end;
procedure TForm3.a221Click(Sender: TObject);
begin
Datasource1.DataSet.Active:=
Datasource3.DataSet.Active:=
DBGrid1.DataSource:=
end;
procedure TForm3.N2Click(Sender: TObject);
begin
Datasource3.DataSet.Active:=
Datasource1.DataSet.Active:=
DBGrid1.DataSource:=
end;
procedure TForm3.Button2Click(Sender: TObject);
begin
Form3.ADOStoredProc1.
Datasource1.DataSet.Active:=
DataSource4.DataSet.Active:=
DBGrid1.DataSource:=
end;
procedure TForm3.Button3Click(Sender: TObject);
begin
ADOStoredProc2.Parameters.
ADOStoredProc2.Active:=true;
Datasource1.DataSet.Active:=
DataSource5.DataSet.Active:=
DBGrid1.DataSource:=
end;
procedure TForm3.Button4Click(Sender: TObject);
begin
ADOStoredProc3.Parameters.
ADOStoredProc3.Active:=true;
DataSource6.DataSet.Active:=
DBGrid1.DataSource:=
end;
procedure TForm3.Button5Click(Sender: TObject);
begin
ADOStoredProc5.Parameters.
ADOStoredProc5.Active:=true;
DataSource8.DataSet.Active:=
DBGrid1.DataSource:=
End.
Если выбрать на главной форме в пункте меню «Файл» выбрать третий пункт - «Расписание», то появится форма «Расписание» (рисунок 13)
Рисунок 13 – Форма «Расписание»
Код формы:
procedure TForm4.Label3Click(Sender: TObject);
begin
Form4.Hide ;
Form1.Show;
end;
procedure TForm4.a2111Click(Sender: TObject);
begin
Datasource1.DataSet.Active:=
Datasource2.DataSet.Active:=
DBGrid1.DataSource:=
end;
procedure TForm4.a221Click(Sender: TObject);
begin
Datasource1.DataSet.Active:=
Datasource3.DataSet.Active:=
DBGrid1.DataSource:=
end;
procedure TForm4.a231Click(Sender: TObject);
begin
Datasource1.DataSet.Active:=
Datasource4.DataSet.Active:=
DBGrid1.DataSource:=
end;
procedure TForm4.N2Click(Sender: TObject);
begin
Datasource4.DataSet.Active:=
Datasource1.DataSet.Active:=
DBGrid1.DataSource:=
end;
procedure TForm4.Button2Click(Sender: TObject);
begin
ADOStoredProc1.Parameters.
ADOStoredProc1.Parameters.
ADOStoredProc1.Active:=true;
Datasource1.DataSet.Active:=
DataSource5.DataSet.Active:=
DBGrid1.DataSource:=
end;
procedure TForm4.Button1Click(Sender: TObject);
begin
ADOStoredProc2.Active:=true;
Datasource1.DataSet.Active:=
DataSource6.DataSet.Active:=
DBGrid1.DataSource:=
end;
procedure TForm4.Button3Click(Sender: TObject);
begin
ADOStoredProc3.Parameters.
ADOStoredProc3.Active:=true;
Datasource1.DataSet.Active:=
DataSource7.DataSet.Active:=
DBGrid1.DataSource:=
End.
Если выбрать на главной форме в пункте меню «Продажа билетов» ,то появится форма «Продажа билетов» (рисунок 14)
Рисунок 14 – Форма «Продажа билетов»
Код программы:
procedure TableExport(DataSet:TDataSet; Title, FlagText:string);
var
i,ColCount,
TableBeg,
TableBeg2: integer;
vr1,vr2: OleVariant;
f: boolean;
st: string;
procedure TableLineSet;
begin
Form5.w2.Selection.Cells.
Form5.w2.Selection.Cells.
Form5.w2.Selection.Cells.
Form5.w2.Selection.Cells.
Form5.w2.Selection.Cells.
Form5.w2.Selection.Cells.
end;
function ConvertString(S:string):
begin
Result := StringReplace(S, '-', #173,[]);
end;
begin
Application.ProcessMessages;
vr1:=wdStory;
Form5.w2.Selection.EndKey(vr1,
Form5.w2.ActiveDocument.Range(
Form5.w2.ActiveDocument.
Form5.w2.Selection.
Form5.W2.Selection.
Form5.W2.Selection.Font.Size:=
Form5.W2.Selection.Font.bold:=
Form5.W2.ActiveDocument.
Form5.W2.ActiveDocument.
Form5.W2.Selection.
vr1:=wdStory;
Form5.w2.Selection.EndKey(vr1,
TableBeg:=Form5.W2.Selection.
DataSet.First;
for i:=0 to DataSet.FieldCount-1 do
if DataSet.Fields[i].Visible
then Form5.W2.ActiveDocument.Range(
Application.ProcessMessages;
Form5.w2.Selection.EndKey(vr1,
Form5.w2.Selection.
Form5.W2.ActiveDocument.
Form5.W2.Selection.Font.Size:=
Form5.W2.Selection.Font.
Form5.W2.Selection.Font.bold:=
Form5.W2.ActiveDocument.
f:=true;
st:='';
TableBeg2:=Form5.W2.Selection.
if dataset.RecordCount>0
then
begin
Repeat
Application.ProcessMessages;
if (dataset.fields[DataSet.
then
begin
for i:=0 to DataSet.FieldCount-1 do
if DataSet.Fields[i].Visible
then st:=st+DataSet.Fields[i].
SetLength(st,length(st)-1);
st:=st+#13;
f:=false;
end;
dataset.Next;
until dataset.Eof;
Form5.w2.Selection.
vr1:=TableBeg2;
vr2:=Form5.W2.Selection.End_;
Form5.W2.Selection.Font.Size:=
Form5.W2.Selection.Font.bold:=
Form5.W2.Selection.Font.Italic
end;
if f then
begin
for i:=0 to DataSet.FieldCount-1 do
if DataSet.Fields[i].Visible then
Form5.W2.ActiveDocument.Range(
Form5.w2.Selection.EndKey(vr1,
Form5.w2.Selection.
end;
Application.ProcessMessages;
vr1:=TableBeg;
vr2:=Form5.W2.Selection.End_;
Form5.W2.ActiveDocument.Range(
Form5.W2.Selection.
colcount:=1;
for i:=0 to DataSet.FieldCount-1 do
if DataSet.Fields[i].Visible
then
begin
Form5.W2.ActiveDocument.
inc(colcount);
Application.ProcessMessages;
end;
TableLineSet;
Form5.W2.ActiveDocument.
Form5.W2.ActiveDocument.
Form5.W2.Selection.
end;
procedure TForm5.Label2Click(Sender: TObject);
begin
Form5.Hide ;
Form1.Show;
end;
procedure TForm5.Button5Click(Sender: TObject);
var Excel,Workbook,Sheet:Variant;
i:integer;
begin
Button4Click(Sender);
try
Excel:=GetActiveOleObject('
except
try
Excel:=CreateOleObject('Excel.
except
ShowMessage('Ошибка доступа к Microsoft Excel( он не найден!)');
exit;
end;
end;
WorkBook:=Excel.WorkBooks.Add;
Sheet:=WorkBook.Sheets[1];
ADOTable1.First;
Sheet.Cells[1,3]:= 'Продажа билетов';
Sheet.Cells[1,3].Font.Bold:=
Sheet.Cells[1,3].Font.Size:= 25;
Sheet.Cells[1,3].Font.Color:= clRed;
Sheet.Cells[2,1]:= 'Номер продажи';
Sheet.Cells[2,1].Font.Bold:=
Sheet.Cells[2,1].Font.Size:= 10;
Sheet.Cells[2,1].Font.Color:= clBlue;
Sheet.Cells[2,2]:= 'Дата отправления';
Sheet.Cells[2,2].Font.Bold:=
Sheet.Cells[2,2].Font.Size:= 10;
Sheet.Cells[2,2].Font.Color:= clBlue;
Sheet.Cells[2,3]:= 'Время отправления';
Sheet.Cells[2,3].Font.Bold:=
Sheet.Cells[2,3].Font.Size:= 10;
Sheet.Cells[2,3].Font.Color:= clBlue;
Sheet.Cells[2,4]:= 'Платформа';
Sheet.Cells[2,4].Font.Bold:=
Sheet.Cells[2,4].Font.Size:= 10;
Sheet.Cells[2,4].Font.Color:= clBlue;
Sheet.Cells[2,5]:= 'Станция отправления';
Sheet.Cells[2,5].Font.Bold:=
Sheet.Cells[2,5].Font.Size:= 10;
Sheet.Cells[2,5].Font.Color:= clBlue;
Sheet.Cells[2,6]:= 'До станции';
Sheet.Cells[2,6].Font.Bold:=
Sheet.Cells[2,6].Font.Size:= 10;
Sheet.Cells[2,6].Font.Color:= clBlue;
Sheet.Cells[2,7]:= 'Номер рейса';
Sheet.Cells[2,7].Font.Bold:=
Sheet.Cells[2,7].Font.Size:= 10;
Sheet.Cells[2,7].Font.Color:= clBlue;
Sheet.Cells[2,8]:= 'Номер автобуса';
Sheet.Cells[2,8].Font.Bold:=
Sheet.Cells[2,8].Font.Size:= 10;
Sheet.Cells[2,8].Font.Color:= clBlue;
Sheet.Cells[2,9]:= '№ места';
Sheet.Cells[2,9].Font.Bold:=
Sheet.Cells[2,9].Font.Size:= 10;
Sheet.Cells[2,9].Font.Color:= clBlue;
Sheet.Cells[2,10]:= 'Количество билетов';
Sheet.Cells[2,10].Font.Bold:=
Sheet.Cells[2,10].Font.Size:= 10;
Sheet.Cells[2,10].Font.Color:= clBlue;
Sheet.Cells[2,11]:= 'Текущая\предварительная продажа';
Sheet.Cells[2,11].Font.Bold:=
Sheet.Cells[2,11].Font.Size:= 10;
Sheet.Cells[2,11].Font.Color:= clBlue;
Sheet.Cells[2,12]:= 'Растояние';
Sheet.Cells[2,12].Font.Bold:=
Sheet.Cells[2,12].Font.Size:= 10;
Sheet.Cells[2,12].Font.Color:= clBlue;
Sheet.Rows[3].Font.Color:= clRed;
Sheet.Rows[5].Font.Color:= clRed;
Sheet.Rows[7].Font.Color:= clRed;
Sheet.Rows[9].Font.Color:= clRed;
Sheet.Rows[11].Font.Color:= clRed;
Sheet.Rows[13].Font.Color:= clRed;
Sheet.Rows[15].Font.Color:= clRed;
Sheet.Rows[17].Font.Color:= clRed;
for i:=3 to ADOTable1.RecordCount do begin
Sheet.Cells[i,1]:=ADOTable1.
Sheet.Cells[i,2]:=ADOTable1.
Sheet.Cells[i,3]:=ADOTable1.
Sheet.Cells[i,4]:=ADOTable1.
Sheet.Cells[i,5]:=ADOTable1.
Sheet.Cells[i,6]:=ADOTable1.
Sheet.Cells[i,7]:=ADOTable1.
Sheet.Cells[i,8]:=ADOTable1.
Sheet.Cells[i,9]:=ADOTable1.
Sheet.Cells[i,10]:=ADOTable1.
Sheet.Cells[i,11]:=ADOTable1.
Sheet.Cells[i,12]:=ADOTable1.
ADOTable1.Next;
Excel.Visible:=True;
end;
end;
procedure TForm5.Button2Click(Sender: TObject);
begin
try
w2.Connect;
w2.Visible:=true;
vr:=GetCurrentDir+'\Shablon1.
W2.Documents.Open(vr,
ADOTable1.fields[0].
ADOTable1.fields[0].tag:=
ADOTable1.fields[0].Visible:=
ADOTable1.fields[1].
ADOTable1.fields[1].tag:=round
ADOTable1.fields[1].Visible:=
ADOTable1.fields[2].
ADOTable1.fields[2].tag:=
ADOTable1.fields[2].Visible:=
ADOTable1.fields[3].
ADOTable1.fields[3].tag:=
ADOTable1.fields[3].Visible:=
ADOTable1.fields[4].
ADOTable1.fields[4].tag:=
ADOTable1.fields[4].Visible:=
ADOTable1.fields[5].
ADOTable1.fields[5].tag:=
ADOTable1.fields[5].Visible:=
ADOTable1.fields[6].
ADOTable1.fields[6].tag:=
ADOTable1.fields[6].Visible:=
ADOTable1.fields[7].
ADOTable1.fields[7].tag:=
ADOTable1.fields[7].Visible:=
ADOTable1.fields[8].
ADOTable1.fields[8].tag:=
ADOTable1.fields[8].Visible:=
ADOTable1.fields[9].
ADOTable1.fields[9].tag:=
ADOTable1.fields[9].Visible:=
ADOTable1.fields[10].
ADOTable1.fields[10].tag:=
ADOTable1.fields[10].Visible:=
ADOTable1.fields[11].
ADOTable1.fields[11].tag:=
ADOTable1.fields[11].Visible:=
ADOTable1.fields[12].
ADOTable1.fields[12].tag:=
ADOTable1.fields[12].Visible:=
TableExport(ADOTable1,'Продажа билетов','');
Информация о работе Результат тестирования информационной системы