База данных. Автосалон
Некоммерческое АО «Алматинский институт энергетики и связи»
Кафедра
«Компьютерные технологии»
КУРСОВОЙ ПРОЕКТ
по
дисциплине «Интерфейсы
Компьютерных Систем»
на тему
«База данных. Автосалон»
Выполнили:
Студенты группы БВТ-08-7:
Орешкин Н.О.
Божок
Б.И.
Проверила:
Конуспаева А.Т.
«___»_____________
2011 г.
Алматы 2011
ВВЕДЕНИЕ 3
Моделирование базы данных автосалона на основе языка UML 5
Построение диаграмм классов 5
Построение диаграммы компонентов 6
Построение
диаграмм развертывания …………………………………………
Построение
диаграмм прецедентов ………………………………………………
Построение диаграммы активности (деятельности)……………………………….….8
Построение
диаграммы последовательностей
Построение
диаграммы кооперации ………………………
Построение
диаграммы состояний …………………………
Приложение
А (скриншоты программы)…….……………..………………………
Приложение
Б (листинг программы)……………………………
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ И ИСТОЧНИКОВ…………….35
ВВЕДЕНИЕ
Потоки информации, циркулирующие в мире, который нас окружает, огромны. Во времени они имеют тенденцию к увеличению. Поэтому в любой организации, как большой, так и маленькой, возникает проблема такой организации управления данными, которая обеспечила бы наиболее эффективную работу. Некоторые организации используют для этого шкафы с папками, но большинство предпочитают компьютеризированные способы – базы данных, позволяющие эффективно хранить, структурировать и систематизировать большие объемы данных. И уже сегодня без баз данных невозможно представить работу большинства финансовых, промышленных, торговых и прочих организаций. Не будь баз данных, они бы просто захлебнулись в информационной лавине.
Существует много веских причин перевода существующей информации на компьютерную основу. Сейчас стоимость хранения информации в файлах ЭВМ дешевле, чем на бумаге. Базы данных позволяют хранить, структурировать информацию и извлекать оптимальным для пользователя образом. Использование файл/серверных и клиент/серверных технологий позволяют сберечь значительные средства, а главное и время для получения необходимой информации, а также упрощают доступ и ведение, поскольку они основываются на комплексной обработке данных и централизации их хранения. Кроме того ЭВМ позволяет хранить любые форматы данных текст, чертежи, данные в рукописной форме, фотографии, записи голоса и т.д.
Для использования столь огромных объемов хранимой информации, помимо развития системных устройств, средств передачи данных, памяти необходимы средства обеспечения диалога человек-ЭВМ, которые позволяют пользователю вводить запросы, читать файлы, модифицировать хранимые данные, добавлять новые данные или принимать решения на основании хранимых данных. Для обеспечения этих функций созданы специализированные средства – системы управления базами данных (СУБД). Современные СУБД - многопользовательские системы управления базой данных, которые специализируется на управлении массивом информации одним или множеством одновременно работающих пользователей.
Данный программный продукт
В данный момент у нас в городе существует несколько автомобильных рынков занимающихся продажей, в которой они выступают как посредники. Менеджеры по продажам, работающие на авторынках тратят массу времени на бумажную работу. Время на регистрацию автомобиля и поиск нужного бланка в куче папок на столе и полках очень обременяет.
Программа,
создаваемая в данном дипломном
проекте предназначена для производственно-технического
отдела продаж автомобильного салона.
Программа должна осуществлять управление
данными об автомобилях принятых на реализацию
автомобильным салоном, регистрировать
характеристики автомобиля, осуществлять
поиск в базе автомобилей по заданным
критериям. Выводить на печать результаты
поиска.
Моделирование
базы данных автосалона
на основе UML.
База
данных автосалона была смоделирована
унифицированным языком моделирования
(Unified Modeling Language, UML) который является графическим
языком для визуализации, специфицирования,
конструирования и документирования систем,
в которых большая роль принадлежит, программному
обеспечению.
Построение
диаграмм классов.
На диаграмме классов в соответствии с рисунком 1, показаны основные классы базы данных автосалона: Автосалон, Страна, Модель, Салон.
Классы связаны между собой ассоциацией. Так класс Автосалон связан с классом Страна, а класс Страна в свою очередь связана с классом Модель, а класс модель в свою очередь связан с классом Салон с помощью свойств ассоциаций множественность 1..n (один ко многим).
Рисунок
1. Диаграмма классов.
Построение
диаграммы компонентов.
На диаграммах компонентов показаны множества компонентов и отношения между ними. С их помощью иллюстрируют статический вид системы с точки зрения реализации. Диаграммы компонентов соотносятся с диаграммами классов, так как обычно компонент отображается на один или несколько классов, интерфейсов или коопераций.
Диаграмма показывает разбиение системы на структурные части и связи между ними. В качестве физических компонент выступают файлы, библиотеки, модули, пакеты и т.д. Avtosalon.exe является главным компонентом системы, который связывает основные пакеты: автосалон.mdb, avtosalon.dpr, pass.dat, adminunit.dfm, dataunit.dfm, about.dfm, и т.д.
Рисунок
2. Диаграмма компонентов.
Построение
диаграмм развертывания.
Диаграмма развертывания
в соответствии с рисунком 3, содержит
графические изображения
Рисунок
3. Диаграмма развертывания.
Построение диаграмм прецедентов.
Диаграмма прецедентов в соответствии с рисунком 4, является основной в плане описания аспектов. Это интуитивно понятный способ разобраться в особенностях системы. Верность выполнения данной части модели, диктует ее качество и соответствие требованиям.
Можно выделить такие цели создания диаграмм прецедентов:
-
определение границы и
-
формирование общих требований
к поведению проектируемой
-
разработка концептуальной
- подготовка документации для взаимодействия с заказчиками и пользователями системы.
На
рисунке 4 изображена диаграмма прецедентов,
на который выделено 3 сущности: Клиент,
Персонал и Система. А с помощью прецедентов
статически описаны функции каждой из
них с привязкой к исполнителю.
Рисунок
4. Диаграмма прецедентов.
Построение
диаграммы активности (деятельности).
Диаграммы активности (деятельности) - это один из пяти видов диаграмм, применяемых в UML для моделирования динамических аспектов поведения системы. Диаграмма деятельности - это, по существу, блок-схема, которая показывает, как поток управления переходит от одной деятельности к другой.
Диаграммы деятельности в данном случае используется для моделирования динамических аспектов поведения системы. Они применяются, чтобы промоделировать последовательные (а иногда и параллельные) шаги вычислительного процесса. С помощью диаграмм деятельности моделируется жизнь объекта, когда он переходит из одного состояния в другое в разных точках потока управления. Деятельность (Activity) - это некоторый относительно продолжительный этап выполнения в автомате. В конечном итоге деятельность сводится к некоторому действию (Action), которое составлено из атомарных вычислений, приводящих к изменению состояния системы или возврату значения.
Рисунок
5. Диаграмма активности (деятельности).
Построение
диаграммы последовательностей.
На
диаграмме последовательностей (рисунок
6) основное внимание уделяется
временно упорядоченности событий. На
них изображают множество объектов и посланные
или принятые ими сообщения. Объекты, как
правило, представляют собой анонимные
или именованные экземпляры классов, но
могут быть так же экземплярами других
сущностей, таких как кооперации, компоненты
или узлы Диаграммы последовательностей
относятся к динамическому виду системы.
Рисунок
6. Диаграмма последовательности.
Построение
диаграммы кооперации.
Диаграммы
кооперации заостряют внимание на структурной
организации объектов, принимающих или
отправляющих сообщения. На диаграмме
кооперации показано множество объектов,
связи между ними и сообщения, которые
они посылают или получают. Объекты обычно
представляют собой анонимные или именованные
экземпляры классов, но могут быть также
экземпляр ми других сущностей, например
коопераций, компонентов и узлов. Диаграммы
коопераций относятся к динамическому
виду системы.
Рисунок
7. Диаграмма коопераций.
Построение
диаграммы состояний.
Диаграмма состояний показывает автомат, содержащий состояния, переходы, события и действия. Диаграммы такого рода относятся к динамическому виду системы и особенно важны при моделировании поведения интерфейса, класса или кооперации. Основное внимание в них уделяется порядку возникновения событий, связанных с объектом, что особенно полезно при моделировании реактивных систем.
Рисунок
8.Диаграмма состояний.
Приложение
А. Скриншоты программы.
Программа написана в среде программирования RAD Studio Gode Gear 2009, и предназначена для производственно-технического отдела продаж автомобильного салона. Программа должна осуществлять управление данными об автомобилях принятых на реализацию автомобильным салоном, регистрировать характеристики автомобиля, осуществлять поиск в базе автомобилей по заданным критериям. Выводить на печать результаты поиска.
Ниже приведён общий вид программы.
У нас есть возможность выбора страны-производителя
а так же возможность выбора модели автомобиля:
Так же мы можем
воспользоваться SQL-запросами по таким
параметрам как: цена, год и объём. Ниже
приведены скриншоты поиска по цене:
по году выпуска:
а так же по объёму:
Но мы так
же можем вывести на экран весь
список автомобилей из базы данных.
Так же у нас имеется дополнительная
кнопка выхода с программы. Теперь перейдем
к администраторской части
Но прежде мы должны авторизоваться как администратор, т.е. ввести пароль:
Только после того, как мы авторизовались, мы имеем доступ к базе данных:
Тут мы можем добавить в базу страну производителя, модель автомобиля, класс, год, объём и цену продаваемого автомобиля. А так же название салона-продавца и его адрес. Тут так же имеется возможность смены пароля, в случае, если пароль стал известен чужому лицу. Так же с клиентской части программы есть возможность экспорта списка автомобилей в файл Microsoft Office Excel:
Приложение
Б. Листинг программы
unit
MainUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids,
StdCtrls, ExtCtrls, Menus,Comobj;
type
TMainForm = class(TForm)
DBGrid3: TDBGrid;
DBGrid4: TDBGrid;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
Button1: TButton;
GroupBox1: TGroupBox;
DBGrid1: TDBGrid;
Edit1: TEdit;
Edit2: TEdit;
Button2: TButton;
Label1: TLabel;
Label2: TLabel;
Panel1: TPanel;
Edit3: TEdit;
Label3: TLabel;
Label4: TLabel;
Edit4: TEdit;
Button3: TButton;
Panel2: TPanel;
Edit5: TEdit;
Edit6: TEdit;
Label5: TLabel;
Label6: TLabel;
Button4: TButton;
Panel3: TPanel;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
Excel1: TMenuItem;
N4: TMenuItem;
procedure ComboBox1Change(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button6Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure ExportDBGrid(toExcel: Boolean);
procedure Excel1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
MainForm: TMainForm;
implementation
uses DataUnit, InUnit, ABOUT;
{$R *.dfm}
procedure TMainForm.Excel1Click(Sender: TObject);
begin
ExportDBGrid(true);
end;
procedure TMainForm.ExportDBGrid(
type TBookmark = Pointer;
var
bm: TBookmark;
col, row: Integer;
sline: String;
mem: TMemo;
ExcelApp: Variant;
begin
try
Screen.Cursor := crHourglass;
DBGrid1.DataSource.DataSet.
bm
:= DBGrid1.DataSource.DataSet.
DBGrid1.DataSource.DataSet.
if toExcel then
begin
ExcelApp := CreateOleObject('Excel.
ExcelApp.WorkBooks.Add();
ExcelApp.WorkBooks[1].
end;
mem := TMemo.Create(Self);
mem.Visible := false;
mem.Parent := MainForm;
mem.Clear;
sline := '';
for col := 0 to DBGrid1.FieldCount-1 do
sline := sline + DBGrid1.Fields[col].
mem.Lines.Add(sline);
for
row := 0 to DBGrid1.DataSource.DataSet.
begin
sline := '';
for col := 0 to DBGrid1.FieldCount-1 do
sline := sline + DBGrid1.Fields[col].AsString + #9;
mem.Lines.Add(sline);
DBGrid1.DataSource.DataSet.
end;
mem.SelectAll;
mem.CopyToClipboard;
if toExcel then
begin
ExcelApp.Workbooks[1].
ExcelApp.Visible := true;
end;
DBGrid1.DataSource.DataSet.
DBGrid1.DataSource.DataSet.
DBGrid1.DataSource.DataSet.
Screen.Cursor := crDefault;
except
Application.MessageBox('
end;
end;
procedure TMainForm.Button1Click(Sender: TObject);
begin
DBGrid1.Visible := false;
DataModule1.StranaTable.
end;
procedure TMainForm.Button2Click(Sender: TObject);
begin
DBGrid1.Visible := true;
DataModule1.SearchQuery.Active := false;
DataModule1.SearchQuery.SQL.
DataModule1.SearchQuery.SQL.
DataModule1.SearchQuery.SQL.
if Length(Edit1.Text) <> 0 then
DataModule1.SearchQuery.SQL.
if Length(Edit2.Text) <> 0 then
DataModule1.SearchQuery.SQL.
DataModule1.SearchQuery.Active := true;
end;
procedure TMainForm.Button3Click(Sender: TObject);
begin
DBGrid1.Visible := true;
DataModule1.SearchQuery.Active := false;
DataModule1.SearchQuery.SQL.
DataModule1.SearchQuery.SQL.
DataModule1.SearchQuery.SQL.
if Length(Edit1.Text) <> 0 then
DataModule1.SearchQuery.SQL.
if Length(Edit2.Text) <> 0 then
DataModule1.SearchQuery.SQL.
DataModule1.SearchQuery.Active := true;
end;
procedure TMainForm.Button4Click(Sender: TObject);
begin
DBGrid1.Visible := true;
DataModule1.SearchQuery.Active := false;
DataModule1.SearchQuery.SQL.
DataModule1.SearchQuery.SQL.
DataModule1.SearchQuery.SQL.
if Length(Edit1.Text) <> 0 then
DataModule1.SearchQuery.SQL.
if Length(Edit2.Text) <> 0 then
DataModule1.SearchQuery.SQL.
DataModule1.SearchQuery.Active := true;
end;
procedure TMainForm.Button5Click(Sender: TObject);
begin
MainForm.Hide;
AboutForm.Show;
end;
procedure TMainForm.Button6Click(Sender: TObject);
begin
InForm.Show;
MainForm.Hide;
end;
procedure TMainForm.Button7Click(Sender: TObject);
begin
DBGrid1.Visible := true;
DataModule1.SearchQuery.Active := false;
DataModule1.SearchQuery.SQL.
DataModule1.SearchQuery.SQL.
DataModule1.SearchQuery.SQL.
DataModule1.SearchQuery.Active := true;
end;
procedure TMainForm.Button8Click(Sender: TObject);
begin
if Application.MessageBox('Вы уверены?','Внимание!!!', MB_OKCANCEL) = 1 then
Application.Terminate;
end;
procedure TMainForm.ComboBox1Change(
begin
if Combobox1.ItemIndex = 0 then
begin
Combobox2.Items.Clear;
Combobox2.Items.Add('
Combobox2.Items.Add('Toyota');
end;
if Combobox1.ItemIndex = 1 then
begin
Combobox2.Items.Clear;
Combobox2.Items.Add('Mersedes'
Combobox2.Items.Add('Opel');
end;
end;
procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if Application.MessageBox('Вы уверены?','Внимание!!!', MB_OKCANCEL) = 1 then
Application.Terminate ;
end;
procedure TMainForm.N2Click(Sender: TObject);
begin
Button8.Click;

- База Данных "Автосалон" MSSQL
- База данных автосервиса
- База данных автотранспортного предприятия
- База данных (Аптека)
- База данных «Аптека»
- База данных "Аэропорт"
- База данных "Банковские вклады"
- База данных
- База данных
- База Данных
- База данных Accsess
- База данных Delphi «Краснохолмский водоканал и теплосети»
- База данных автомагазина
- База данных Автопрокат