Разработка базы данных «Рыболовецкого колхоза»

Южно-Сахалинский  институт экономики, права и информатики 

Кафедра «КТиС»

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

      к курсовой работе

по  дисциплине «Теория разработки программного обеспечения» 

на тему: Разработка базы данных «Рыболовецкого колхоза» 
 

Руководитель  работы

ст. преподаватель кафедры КТиС

Бобров А.Н.

«____»__________________2009 г. 
 

Исполнитель

студент группы ВТ-41

Тимашов С.В.

«____»__________________2009 г. 
 
 

Южно-Сахалинск

2009

 

Южно-Сахалинский  институт экономики, права и информатики 

Кафедра

«Компьютерные технологии и системы» 

                                        УТВЕРЖДЕНО

                                        Зав. кафедрой

                                        ________________ Мазур И.К. 

З А Д  А Н И Е

на выполнение курсовой работы студенту Тимашову Станиславу Валерьевичу 

1. Тема работы   Разработка базы данных «Рыболовецкого Колхоза» 

__________________________________________________________________________________________________________________________________________________________

2. Срок сдачи  студентом законченного проекта      28 декабря  2009 года 

4. Содержание  пояснительной записки (перечень  подлежащих к разработке вопросов): 

      Введение 

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

      2. Анализ и проектирование данных, разработка хранимых процедур 

      3. Разработка программного обеспечения 

      Заключение 

      

Задание принял к исполнению 10 сентября  2009 года  

                  (дата, подпись)

Руководитель ____________________________

                  (подпись) 
 

ПРИМЕЧАНИЕ:  
Студент предупрежден о том, что при несвоевременном представлении работы руководителю студент считается не выполнившим график учебного процесса и не допускается к защите курсовой работы.
 
Оглавление 
 
 
 
 
 

 

1. Постановка задачи

 

       Предметная  область, подлежащая изучению – «Рыболовецкий колхоз». В сферу этой предметной области попадают предприятия, занимающиеся выловом, переработкой и продажей рыбопродукции. Цель функционирования предприятий этой предметной области –получение прибыли, получаемой из продажи рыбопродукции. Для осуществления этой деятельности необходимы лимитированные места лова, перерабатывающие мощности, склады, удовлетворяющих всем требованиям в соответствии с действующим законодательством.

       Целью курсовой работы является создание информационно-программной системы для решения следующих задач:

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

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

Для решения  поставленных задач планируется  выполнение следующих действий:

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

 

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

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

  1. учет улова
  2. учет производства
  3. учёт расходов
  4. учет доходов
  5. учет покупателей и партнеров
  6. автоматизированную систему управления.

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

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

    1. перечень сущностей предметной области (Таблица 3.1);
    2. концептуальная модель (Рисунок 3.1);
 

Таблица 3.1 – Перечень сущностей предметной области 

№ Название  сущности Описание Вид Зависимые сущности
1 Накладная документ Стержневая нет
2 Отгрузка партнерам Партнеры получающие сырец Стержневая накладная
3 покупатель Покупатель  готовой продукции Стержневая нет
4 продажа Что покупает клиент Стержневая Покупатель ,продукция
5 продукция Пречень продукции Стержневая нет
6 расходы Расходы по статьям Стержневая нет
7 смена Рабочие смены Стержневая нет
8 Выпуск продукции Процесс выпуска  продукции Стержневая  
9 На складе Что храниться  на складе Стержневая продукция
 

       Далее рассматриваются схемы отношения  для каждой сущности, и приводится доказательство их нахождения в 3НФ.

       Для идентификации отдельного экземпляра отношения в каждом отношении  создан первичный ключ. 

  1. Среди атрибутов  всех отношений нет составных, таким  образом, все отношения находятся в 1НФ.
  2. Так как первичный ключ всех отношений простой и учитывая пункт 1, можно сделать вывод, что все отношения находятся во 2НФ.
  3. Между неключевыми атрибутами всех отношений не существует функциональных зависимостей и, учитывая пункт 2, можно утверждать, что все отношения находятся в 3НФ.
 

Таблица 3.2 Схема отношения «Накладная» 

Атрибут Смысл Тип
Номер_ накладной Уникальный  PK Числовое целое
число - дата
бригада Номер бригады Строка
наименование - строка
Количество - Числовое целое
транспорт Гос знак а.м. строка
 

Таблица 3.3 Схема отношения «Отгрузка партнерам» 

Атрибут Смысл Тип
организация Название РК Строка
адрес - Строка
Руководитель - Строка
число - дата
Номер накладной  Ушло клиенту  FK Числовое целое
количество В килограммах Числовое целое
 

Таблица 3.4 Схема отношения «Покупатель» 

Атрибут Смысл Тип
Ид_покупателя идентефикатор(PK) Числовое целое
название Имя фирмы Строка
адрес - Строка
телефон - Строка
 

Таблица 3.5 Схема отношения «продажа» 

Атрибут Смысл Тип
Ид_продажи идентификатор(PK) Числовое целое
Ид_продукции Ид клиента  из таблицы продукция (FK) Числовое целое
Ид_клиента Ид_клиента из таблицы клиент (FK) Числовое целое
Количество Количество  товара в заказе Числовое целое
Стоимость Стоимость всех товаров в заказе Числовое целое
Цена - Числовое целое
число - дата
 

Таблица 3.6 Схема отношения «класс продукции» 

Атрибут Смысл Тип
Ид_продукции идентификатор(PK) Числовое целое
наименование Что именно Строка
цена - Числовое целое
ГОСТ Количество товара в заказе Числовое целое
Упаковка Форма выпуска Строка
 

Таблица 3.7 Схема отношения «смена»

Атрибут Смысл Тип
Номер_смены идентификатор(PK) Числовое целое
приемщик фио Строка
Мастер_разделки фио Строка
Мастре_заморозки фио Строка
 

Таблица 3.8 Схема отношения «расходы_производства» 

Атрибут Смысл Тип
Ид_расходов идентификатор(PK) Числовое целое
Тара На упаковку Числовое целое
Электричество - Числовое целое
ГСМ На топливо  и смазку Числовое целое
Прочее На непредвиденные ситуации Числовое целое
 

Таблица 3.9 Схема отношения «выпуск_продукции»

Атрибут Смысл Тип
Ид_выпуска идентификатор(PK) Числовое целое
Номер смены FK с таблицей смена Числовое целое
Ид_продукции FK с таблицей продукция Числовое целое
Ид_расходов FK с таблицей расходы Числовое целое
количество Кол-во готовой  продукции Числовое целое
Номер_накладной FK с таблицей накладная  
 
 
 

Таблица 3.9 Схема отношения «на складе»

Атрибут Смысл Тип
Ид_поступления идентификатор(PK) Числовое целое
число - дата
Ид_выпуска FK с таблицей выпуск_продукции Числовое целое
Ид_продуции FK с таблицей продукция Числовое целое
количество Сколько поступило Числовое целое
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

3. Реализация базы данных в формате MS Access 2007 

       На  этом этапе следует реализовать  созданную ранее структуру всреде сервере БД MS Access 2007 в базе данных. Далее перечислена реализация составленных схем отношений с помощью таблиц базы данных. Типы данных полей спроектированных таблиц указаны в нотации MS Access 2007 . Имена таблиц и полей составлены в соответствии с правилами MS Access 2007.

      Рисунок 2.5 – Зависимость таблиц в БД 
 

 
4. Проектирование программного обеспечения
 

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

       Использованные  языки и технологии разработки:

  • среда разработки Delphi 2007
  • технология доступа к данным Microsoft ActiveX Data Objects;
 

       Функции программы:

  1. авторизация пользователя;
  2. возможность редактирование данных всех таблиц администратором.
  3. Возможность просмотра необходимых данных пользователям

    Рисунок 2.6 – Главное окно программы 

 
 
 
 

Ниже приведен исходный код программы  для работы с БД. 

UNIT 1

unit Unit1;

interface

uses

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

  Dialogs, Menus, XPMan, jpeg, ExtCtrls;

type

TForm1 = class(TForm)

MainMenu1: TMainMenu;

PopupMenu1: TPopupMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

XPManifest1: TXPManifest;

Image1: TImage;

N4: TMenuItem;

N5: TMenuItem;

procedure N2Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N5Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end; 

var

  Form1: TForm1;

implementation

uses Unit2, Unit3, Unit4, Unit5, Unit6;

{$R *.dfm}

procedure TForm1.N2Click(Sender: TObject);

begin

Form4.Show;

end;

procedure TForm1.N3Click(Sender: TObject);

begin

Form1.Close;

end;

procedure TForm1.N4Click(Sender: TObject);

begin

Form5.Show;

end;

procedure TForm1.N5Click(Sender: TObject);

begin

Form3.Show;

end;

end. 
 
 

UNIT 2

unit Unit2;

interface 

uses

  SysUtils, Classes, XPMan, DB, ADODB;

type

  TDM1 = class(TDataModule)

    XPManifest1: TXPManifest;

    ADOConnection1: TADOConnection;

    ADOTable1: TADOTable;

    DataSource1: TDataSource;

    ADOTable2: TADOTable;

    DataSource2: TDataSource;

    DataSource3: TDataSource;

    ADOTable3: TADOTable;

    DataSource4: TDataSource;

    ADOTable4: TADOTable;

    DataSource5: TDataSource;

    ADOTable5: TADOTable;

    DataSource6: TDataSource;

    ADOTable6: TADOTable;

    DataSource7: TDataSource;

    ADOTable7: TADOTable;

    DataSource8: TDataSource;

    ADOTable8: TADOTable;

    ADOTable6_: TAutoIncField;

    ADOTable6DSDesigner: TWideStringField;

    ADOTable6DSDesigner2: TBCDField;

    ADOTable6DSDesigner3: TWideStringField;

    ADOTable6DSDesigner4: TWideStringField;

    ADOTable7_: TAutoIncField;

    ADOTable7_2: TIntegerField;

    ADOTable7DSDesigner: TIntegerField;

    ADOTable7DSDesigner2: TBCDField;

    ADOTable7DSDesigner3: TBCDField;

    ADOTable7DSDesigner4: TDateTimeField;

    ADOTable7_3: TIntegerField;

    ADOTable8_: TAutoIncField;

    ADOTable8DSDesigner: TWideStringField;

    ADOTable8DSDesigner2: TWideStringField;

    ADOTable8DSDesigner3: TWideStringField;

    ADOTable4_: TAutoIncField;

    ADOTable4DSDesigner: TBCDField;

    ADOTable4DSDesigner2: TBCDField;

    ADOTable4DSDesigner3: TBCDField;

    ADOTable4DSDesigner4: TBCDField;

    ADOTable3_: TIntegerField;

    ADOTable3DSDesigner: TWideStringField;

    ADOTable3_2: TWideStringField;

    ADOTable3_3: TWideStringField;

    ADOTable2DSDesigner: TWideStringField;

    ADOTable2DSDesigner2: TWideStringField;

    ADOTable2DSDesigner3: TWideStringField;

    ADOTable2DSDesigner4: TDateTimeField;

    ADOTable2_: TIntegerField;

    ADOTable1_: TIntegerField;

    ADOTable1DSDesigner: TDateTimeField;

    ADOTable1DSDesigner2: TWideStringField;

    ADOTable1DSDesigner3: TWideStringField;

    ADOTable1DSDesigner4: TIntegerField;

    ADOTable1DSDesigner5: TWideStringField;

    DataSource9: TDataSource;

   ADOTable10: TADOTable;

    ADOQuery1: TADOQuery;

    ADOTable2DSDesigner5: TIntegerField;

    ADOTable5_: TAutoIncField;

    ADOTable5_2: TIntegerField;

    ADOTable5_3: TIntegerField;

    ADOTable5_4: TIntegerField;

    ADOTable5_5: TIntegerField;

    ADOTable5DSDesigner: TIntegerField;

    ADOTable5_6: TIntegerField;

    ADOTable10_: TAutoIncField;

    ADOTable10DSDesigner: TDateTimeField;

    ADOTable10_2: TIntegerField;

    ADOTable10_3: TIntegerField;

    ADOTable10DSDesigner2: TIntegerField;

  private

    { Private declarations }

  public

    { Public declarations }

  end; 

var

  DM1: TDM1;

implementation

uses Unit1, Unit3, Unit4, Unit5, Unit6;

{$R *.dfm}

end. 
 
 
 

UNIT3

unit Unit3;

interface

uses

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

  Dialogs, Menus, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls; 

type

  TForm3 = class(TForm)

    MainMenu1: TMainMenu;

    Connect1: TMenuItem;

    Enabled1: TMenuItem;

    Disabled1: TMenuItem;

    DBGrid1: TDBGrid;

    DBGrid2: TDBGrid;

    procedure Disabled1Click(Sender: TObject);

    procedure Enabled1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end; 

var

  Form3: TForm3;

implementation

uses Unit1, Unit2, Unit4, Unit5, Unit6;

{$R *.dfm}

procedure TForm3.Disabled1Click(Sender: TObject);

begin 

DM1.DataSource3.Enabled:=false;

Разработка базы данных «Рыболовецкого колхоза»