Описание предметной области - shikardos.ru o_O
Главная
Поиск по ключевым словам:
страница 1
Похожие работы
Описание предметной области - страница №1/1

Содержание

Введение……………………………………………………………..…3

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

2. Описание и обоснование выбора средств разработки………………………………………………….…………………5

3. Концептуальная информационная модель предметной области………………………………………………………7

4. Физическая модель базы данных……………………….10

5. Описание работы с программой...…………….…………12

Заключение………………………………………………………….17

Список литературы…………………………………………….…18

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

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



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

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

Обозначим основные процессы, что необходимо автоматизировать в работе менеджера сотовой связи:


  • учет моделей телефона, а также информации по телефонам;

  • учет наличия и цен на модели сотовых телефонов, что в данный момент продаются;

  • предоставления возможности поиска информации о телефоне по его модели;

  • предоставления возможности поиска информации о наличии на складе телефоне и его цены по его модели.


2. описание и обоснование ВЫБОРА средств разработки
2.1. Описание СУБД
В качестве СУБД, для решения поставленной задачи, было выбрано СУБД MS Access.

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

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

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


2.2. Описание программной среды написания приложения
В качестве программной среды, для решения поставленной задачи, было выбрано Delphi 2007.

Delphi - это система визуального объектно-ориентированного программирования, в которой в качестве языка программирования используется язык Object Pascal. Язык Object Pascal - строго типизированный объектно-ориентированный язык, в основе которого лежит Turbo Pascal.

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

Delphi имеет возможность использования множества баз данных. Примерами могут быть локальные базы данных - MS Access, Paradox, Dbase, сетевые серверные базы данных SQL — InterBase, SysBase.

Также Delphi имеет класс компонент, которые позволяют получить доступ к БД, именно поэтому было решено остановится на этой системе.

3. концептуальнАЯ информационнАЯ модель предметной области
В процессе создании базы данных важнейшее значение имеет процесс её проектирования. Создание концептуальной модели представляет собой процесс моделирования смыслового наполнения базы данных. Концептуальная модель состоит из трёх основных компонентов:


  1. Сущности. Это элементы реального мира, которые могут существовать независимо. В данном случае сущностями являются: «Модель», «Производитель», «Тип устройства», «Тип корпуса», «Операционная система», «Склад».

  2. Атрибуты. Они описывают сущность.

Сущности «Модель» соответствуют следующие атрибуты:

  • код (уникальный номер);

  • модель;

  • производитель;

  • тип устройства;

  • тип корпуса;

  • дисплей;

  • операционная система;

  • память;

  • камера;

  • разрешение.

Сущности «Производитель» соответствуют следующие атрибуты:

  • код (уникальный номер);

  • название.

Сущности «Тип устройства» соответствуют следующие атрибуты:

  • код (уникальный номер);

  • название.

Сущности «Тип корпуса» соответствуют следующие атрибуты:

  • код (уникальный номер);

  • название.

Сущности «Операционная система» соответствуют следующие атрибуты:

  • код (уникальный номер);

  • название.

Сущности «Склад» соответствуют следующие атрибуты:

  • код (уникальный номер);

  • модель;

  • количество;

  • цена.

  1. Связи. Связь представляет взаимодействие между сущностями. В данном случае имеем следующие связи:

  • связь между «Производитель» и «Модель» – «один ко многим»;

  • связь между «Тип устройства» и «Модель» – «один ко многим»;

  • связь между «Тип корпуса» и «Модель» – «один ко многим»;

  • связь между «Операционная система» и «Модель» – «один ко многим»;

  • связь между «Склад» и «Модель» – «один ко многим».

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

Рис. 3.1. Концептуальная информационная модель предметной области



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

Опишем структуру таблиц в таблице 4.1.


Таблица 4.1. Структура таблиц

Название поля

Тип данных

Длина поля

Доп. данные

Firma

ID

счётчик




Ключевое поле

Nazvanie

текстовый

255




Model

ID

счётчик




Ключевое поле

Model

текстовый

255




IDFirma

числовой







IDTipYstr

числовой







IDTipKorpus

числовой







Displei

числовой







IDOperSystem

числовой







Pamyat

числовой







Kamera

числовой







Razrewenie

текстовый

255




OperSystem

ID

счётчик




Ключевое поле

Nazvanie

текстовый

255




Sklad

ID

счётчик




Ключевое поле

IDModel

числовой







Count

числовой







Zena

числовой







TipKorpus

ID

счётчик




Ключевое поле

Nazvanie

текстовый

255




TipYstr

ID

счётчик




Ключевое поле

Nazvanie

текстовый

255




Представим схему данных на рисунке 4.1.


Рис. 4.1. Схема данных


5. Описание работы с программой
После запуска программы, пользователю представляется, форма, что представлена на рис. 5.1.

Рис. 5.1. Главная форма


Для того что бы редактировать информацию в базе данных, необходимо воспользоваться главным меню «База данных» и выбрать нужную форму (Рис. 5.2-5.6).

Рис. 5.2. Форма «Модель»


Рис. 5.3. Форма «Отделы»


Рис. 5.4. Форма «Производители»


Рис. 5.5. Форма «Операционные система»




Рис. 5.6. Форма «Тип корпуса»


Рис. 5.7. Форма «Тип устройства»


Если пользователю необходимо увидеть характеристики сотового телефона, то ему необходимо ввести в модель и нажать клавишу «Информация по модели».

Если пользователю необходимо увидеть есть ил определенный телефон на складе, то ему необходимо ввести в модель и нажать клавишу «Наличие модели на складе».



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

Список литературы
1. Кузнецов С.Д. Основы современных баз данных // Системы управления базами данных. — 1995. — №№ 1–5.

2. Чудинов И.Л. Организация баз данных: Учебное посо-бие. — Томск: ТУСУР, 2000. — 89 с.

3. Матрин Дж. Организация баз данных в вычислительных системах. — М.: Мир, 1980.

4. U. Dayal et al. Third Generation TP Monitors: A Database Challenge. — Proceeding of the 1993 ACM SIGMOD, 394.

5. J. Melton and A. Simon, Understanding the New SQL: A Complete Guide (San Francisco: Morgan Kaufmann Publishers, 1992), 39–40.

6. Саймон А.Р. Стратегические технологии баз данных: менеджмент на 2000 год. — М.: Финансы и статистика, 1999. — 479 с.

7. Атре Ш. Структурный подход к организации баз дан-ных. — М.: Финансы и статистика, 1983.

8. E.F. Codd. «A Relational Model of Data for Large Shared Data Banks», Communications of the ACM (June 1970).

9. Кодд Э.Ф. Реляционная модель данных для больших, совместно используемых банков данных. // Системы управления базами данных. — 1995. — № 1. — С. 145–160.

10. Дейт, К. Дж. Введение в системы баз данных. — Киев, М.: Диалектика, 1998. — 784 с.

11. Мишель Пуле. Четыре грани целостности // http://www.osp.ru/ win2000/sql/2000/01/010.htm

12. Вендров А.М. CASE-технологии. Современные методы и средства проектирования информационных систем. — М.: Финансы и статистика, 1998.



Приложение
DataModule.pas

unit DataModule;


interface
uses

SysUtils, Classes, DB, ADODB;


type

TDM = class(TDataModule)

ADOConnection: TADOConnection;

ADOTableFirma: TADOTable;

ADOTableFirmaID: TAutoIncField;

ADOTableFirmaNazvanie: TWideStringField;

DataSourceFirma: TDataSource;

ADOTableOperSystem: TADOTable;

DataSourceOperSystem: TDataSource;

ADOTableOperSystemID: TAutoIncField;

ADOTableOperSystemNazvanie: TWideStringField;

DataSourceTipKorpus: TDataSource;

ADOTableTipKorpus: TADOTable;

ADOTableTipKorpusID: TAutoIncField;

ADOTableTipKorpusNazvanie: TWideStringField;

ADOTableTipYstr: TADOTable;

ADOTableTipYstrID: TAutoIncField;

ADOTableTipYstrNazvanie: TWideStringField;

DataSourceTipYstr: TDataSource;

ADOTableModel: TADOTable;

ADOTableModelID: TAutoIncField;

ADOTableModelModel: TWideStringField;

ADOTableModelIDFirma: TIntegerField;

ADOTableModelIDTipYstr: TIntegerField;

ADOTableModelIDTipKorpus: TIntegerField;

ADOTableModelDisplei: TIntegerField;

ADOTableModelIDOperSystem: TIntegerField;

ADOTableModelPamyat: TIntegerField;

ADOTableModelKamera: TIntegerField;

ADOTableModelRazrewenie: TWideStringField;

DataSourceModel: TDataSource;

ADOTableModelIDFirmaN: TStringField;

ADOTableModelTipYstrN: TStringField;

ADOTableModelIDTipKorpusN: TStringField;

ADOTableModelIDOperSystemN: TStringField;

ADOTableSklad: TADOTable;

ADOTableSkladID: TAutoIncField;

ADOTableSkladIDModel: TIntegerField;

ADOTableSkladCount: TIntegerField;

ADOTableSkladZena: TFloatField;

ADOTableSkladIDModelN: TStringField;

DataSourceSklad: TDataSource;

ADOQuery: TADOQuery;

DataSource: TDataSource;

procedure DataModuleCreate(Sender: TObject);

private


{ Private declarations }

public


{ Public declarations }

end;
var

DM: TDM;
implementation
{$R *.dfm}
procedure TDM.DataModuleCreate(Sender: TObject);

begin


ADOConnection.Connected := False;

ADOConnection.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Baza.mdb;Persist Security Info=False';

ADOConnection.Connected := True;

ADOTableFirma.Active := True;

ADOTableOperSystem.Active := True;

ADOTableTipKorpus.Active := True;

ADOTableTipYstr.Active := True;

ADOTableOperSystem.Active := True;

ADOTableModel.Active := True;

ADOTableSklad.Active := True;

end;
end.

FirmaDlg.pas

unit FirmaDlg;


interface
uses

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

Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, DataModule;
type

TFormFirma = class(TForm)

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

private

{ Private declarations }



public

{ Public declarations }

end;
procedure FormFirmaOpen;
implementation

{$R *.dfm}


procedure FormFirmaOpen;

var


FormFirma: TFormFirma;

begin


FormFirma := TFormFirma.Create(Application);

FormFirma.ShowModal;

FormFirma.Free;

end;
end.



Main.pas

unit Main;


interface
uses

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

Dialogs, Menus, StdCtrls, DataModule;
type

TFormMain = class(TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

Edit1: TEdit;

Button1: TButton;

Edit2: TEdit;

Button2: TButton;

GroupBox1: TGroupBox;

GroupBox2: TGroupBox;

Button3: TButton;

Button4: TButton;

Button5: TButton;

Button6: TButton;

Button7: TButton;

Button8: TButton;

procedure N2Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure N9Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

procedure Button7Click(Sender: TObject);

procedure Button8Click(Sender: TObject);

private


{ Private declarations }

public


{ Public declarations }

end;
var

FormMain: TFormMain;
implementation

{$R *.dfm}


uses

FirmaDlg, OperSystemDlg, TipKorpusDlg, TipYstrDlg, ModelDlg, SkladDlg,

QueryDlg;
procedure TFormMain.Button1Click(Sender: TObject);

begin


DM.ADOQuery.Active := False;

DM.ADOQuery.SQL.Clear;

DM.ADOQuery.SQL.Add('SELECT M.ID, M.Model, F.Nazvanie, TY.Nazvanie, TK.Nazvanie, M.Displei, OS.Nazvanie, M.Pamyat, M.Kamera, M.Razrewenie');

DM.ADOQuery.SQL.Add('FROM Model AS M, Firma AS F, TipYstr AS TY, OperSystem AS OS, TipKorpus AS TK');

DM.ADOQuery.SQL.Add('WHERE M.IDFirma = F.ID AND M.IDTipYstr = TY.ID AND M.IDOperSystem = OS.ID AND M.IDTipKorpus = TK.ID AND M.Model = :N');

DM.ADOQuery.Parameters.ParamByName('N').Value := Edit1.Text;

DM.ADOQuery.Active := True;

FormQueryOpen(1);

end;
procedure TFormMain.Button2Click(Sender: TObject);

begin


DM.ADOQuery.Active := False;

DM.ADOQuery.SQL.Clear;

DM.ADOQuery.SQL.Add('SELECT S.ID, M.Model, S.Count, S.Zena');

DM.ADOQuery.SQL.Add('FROM Model AS M, Sklad AS S');

DM.ADOQuery.SQL.Add('WHERE M.ID = S.IDModel AND M.Model = :N');

DM.ADOQuery.Parameters.ParamByName('N').Value := Edit2.Text;

DM.ADOQuery.Active := True;

FormQueryOpen(2);

end;
procedure TFormMain.Button3Click(Sender: TObject);

begin


N8.Click;

end;
procedure TFormMain.Button4Click(Sender: TObject);

begin

N9.Click;



end;
procedure TFormMain.Button5Click(Sender: TObject);

begin


N4.Click;

end;
procedure TFormMain.Button6Click(Sender: TObject);

begin

N5.Click;



end;
procedure TFormMain.Button7Click(Sender: TObject);

begin


N6.Click;

end;
procedure TFormMain.Button8Click(Sender: TObject);

begin

N7.Click;



end;
procedure TFormMain.N2Click(Sender: TObject);

begin


Close;

end;
procedure TFormMain.N4Click(Sender: TObject);

begin

FormFirmaOpen;



end;
procedure TFormMain.N5Click(Sender: TObject);

begin


FormOperSystemOpen;

end;
procedure TFormMain.N6Click(Sender: TObject);

begin

FormTipKorpusOpen;



end;
procedure TFormMain.N7Click(Sender: TObject);

begin


FormTipYstrOpen;

end;
procedure TFormMain.N8Click(Sender: TObject);

begin

FormModelOpen;



end;
procedure TFormMain.N9Click(Sender: TObject);

begin


FormSkladOpen;

end;
end.



ModelDlg.pas

unit ModelDlg;


interface
uses

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

Dialogs, DataModule, ExtCtrls, DBCtrls, Grids, DBGrids;
type

TFormModel = class(TForm)

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

private

{ Private declarations }



public

{ Public declarations }

end;
procedure FormModelOpen;
implementation

{$R *.dfm}


procedure FormModelOpen;

var


FormModel: TFormModel;

begin


FormModel := TFormModel.Create(Application);

FormModel.ShowModal;

FormModel.Free;

end;
end.



OperSystemDlg.pas

unit OperSystemDlg;


interface
uses

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

Dialogs, DataModule, ExtCtrls, DBCtrls, Grids, DBGrids;
type

TFormOperSystem = class(TForm)

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

private

{ Private declarations }



public

{ Public declarations }

end;
procedure FormOperSystemOpen;
implementation

{$R *.dfm}


procedure FormOperSystemOpen;

var


FormOperSystem: TFormOperSystem;

begin


FormOperSystem := TFormOperSystem.Create(Application);

FormOperSystem.ShowModal;

FormOperSystem.Free;

end;
end.


QueryDlg.pas

unit QueryDlg;


interface
uses

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

Dialogs, DataModule, Grids, DBGrids;
type

TFormQuery = class(TForm)

DBGrid1: TDBGrid;

private


procedure Prepeare(key: Integer);

public


{ Public declarations }

end;
procedure FormQueryOpen(key: Integer);


implementation

{$R *.dfm}


procedure FormQueryOpen(key: Integer);

var


FormQuery: TFormQuery;

begin


FormQuery := TFormQuery.Create(Application);

FormQuery.Prepeare(key);

FormQuery.ShowModal;

FormQuery.Free;

end;
{ TFormQuery }
procedure TFormQuery.Prepeare(key: Integer);

begin


case key of

1: begin


DBGrid1.Columns[0].Title.Caption := '№';

DBGrid1.Columns[0].Width := 20;

DBGrid1.Columns[1].Title.Caption := 'Модель';

DBGrid1.Columns[1].Width := 100;

DBGrid1.Columns[2].Title.Caption := 'Производитель';

DBGrid1.Columns[2].Width := 100;

DBGrid1.Columns[3].Title.Caption := 'Тип устройства';

DBGrid1.Columns[3].Width := 100;

DBGrid1.Columns[4].Title.Caption := 'Тип корпуса';

DBGrid1.Columns[4].Width := 100;

DBGrid1.Columns[5].Title.Caption := 'Дисплей';

DBGrid1.Columns[5].Width := 100;

DBGrid1.Columns[6].Title.Caption := 'Операционная система';

DBGrid1.Columns[6].Width := 100;

DBGrid1.Columns[7].Title.Caption := 'Память';

DBGrid1.Columns[7].Width := 60;

DBGrid1.Columns[8].Title.Caption := 'Камера';

DBGrid1.Columns[8].Width := 60;

DBGrid1.Columns[9].Title.Caption := 'Разрешение';

DBGrid1.Columns[9].Width := 100;

end;

2: begin


DBGrid1.Columns[0].Title.Caption := '№';

DBGrid1.Columns[0].Width := 50;

DBGrid1.Columns[1].Title.Caption := 'Модель';

DBGrid1.Columns[1].Width := 200;

DBGrid1.Columns[2].Title.Caption := 'Количество';

DBGrid1.Columns[2].Width := 200;

DBGrid1.Columns[3].Title.Caption := 'Цена';

DBGrid1.Columns[3].Width := 200;

end;

end;


end;
end.

TipKorpusDlg.pas

unit TipKorpusDlg;


interface
uses

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

Dialogs, DataModule, ExtCtrls, DBCtrls, Grids, DBGrids;
type

TFormTipKorpus = class(TForm)

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

private

{ Private declarations }



public

{ Public declarations }

end;
procedure FormTipKorpusOpen;
implementation

{$R *.dfm}


procedure FormTipKorpusOpen;

var


FormTipKorpus: TFormTipKorpus;

begin


FormTipKorpus := TFormTipKorpus.Create(Application);

FormTipKorpus.ShowModal;

FormTipKorpus.Free;

end;
end.


TipYstrDlg.pas

unit TipYstrDlg;


interface
uses

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

Dialogs, DataModule, ExtCtrls, DBCtrls, Grids, DBGrids;
type

TFormTipYstr = class(TForm)

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

private

{ Private declarations }



public

{ Public declarations }

end;
procedure FormTipYstrOpen;
implementation

{$R *.dfm}


procedure FormTipYstrOpen;

var


FormTipYstr: TFormTipYstr;

begin


FormTipYstr := TFormTipYstr.Create(Application);

FormTipYstr.ShowModal;

FormTipYstr.Free;

end;
end.