Информационная система складского учета книжного магазина

Автор работы: Пользователь скрыл имя, 07 Сентября 2013 в 18:35, курсовая работа

Описание работы

В процессе разработке системы должны быть выполнены следующие стадии:
1) разработка диаграммы вариантов использования UML;
2) разработка и согласование с руководителем (выполняет роль заказчика) технического задания на информационную систему в соответствии с ГОСТ;
3) проведение формализации технического задания на основе инструментальных средств CASE-технологий, использующих методологии SADT, потоков данных (DFD), диаграммы «сущность-связь» или UML;
4) разработка структуры программных модулей системы, описание их функций и требований к ним;
5) реализация программных модулей системы на языке программирования высокого уровня;
6) тестирование работы разработанной информационной системы.
Примерное содержание основных разделов курсового проекта:
- разработка технического задания;
- формализация технического задания с использованием CASE-средств;
- структура программных модулей ИС;
- программная реализация системы;
- тестирование системы.

Содержание работы

ВВЕДЕНИЕ ………………………………………………………………………. 4
1. ТЕХНИЧЕСКОЕ ЗАДАНИЕ НА РАЗРАБОТКУ ИНФОРМАЦИОННОЙ СИСТЕМЫ
1.1 Общие сведения ……………………………………………………………7
1.2 Назначение и цели создания системы …………………………………... 7
1.3 Характеристика объектов автоматизации……………………………….. 8
1.4 Требования к информационной системе ……………………………….8
1.5 Состав и содержание работ по созданию информационной системы…… 9
1.6 Требования к документации информационной системы ……………….9
1.7 Источники разработки …………………………………………………… 9
2. МОДЕЛИ ИНФОРМАЦИОННОЙ СИСТЕМЫ
2.1 Диаграмма вариантов использования UML …………………………….10
2.2 Функциональная модель информационной системы на основе методологии SADT ……………………………………………………... 11
2.3 Диаграмма потоков данных ……………………………………………..12
2.4 Модель сущность-связь…………………………………………………. 14
3. ПРОГРАММНЫЕ МОДУЛИ ИНФОРМАЦИОННОЙ СИСТЕМЫ
3.1 Структура программных модулей ………………………………………15
3.2 Спецификация на программные модули……………………….…........ 15
4. РЕАЛИЗАЦИЯ ПРОГРАММНОГО МОДУЛЯ
4.1 Порядок создания модуля……………………………………….……… 17
4.2 Экранные формы ………………………………………………………. 20
ЗАКЛЮЧЕНИЕ ………………………………………………………………….. 24
СПИСОК ЛИТЕРАТУРЫ ………………………………………………………..25
ПРИЛОЖЕНИЕ А……………………………………………………………….. 26

Файлы: 1 файл

Курсовая.doc

— 1.74 Мб (Скачать файл)

 

ПРИЛОЖЕНИЕ  А

Программный код

Form1 имеет следующий вид:

unit Unit1;

interface

uses

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

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

 

type

  TForm1 = class(TForm)

    Shape1: TShape;

    GroupBox1: TGroupBox;

    GroupBox2: TGroupBox;

    GroupBox3: TGroupBox;

    DBGrid1: TDBGrid;

    DBGrid2: TDBGrid;

    DBGrid3: TDBGrid;

    Shape2: TShape;

    Button1: TButton;

    Button2: TButton;

    Button3: TButton;

    Button4: TButton;

    GroupBox4: TGroupBox;

    Label1: TLabel;

    Edit1: TEdit;

    Label2: TLabel;

    Edit2: TEdit;

    Button5: TButton;

    Label3: TLabel;

    Edit3: TEdit;

    Label4: TLabel;

    Label5: TLabel;

    Edit4: TEdit;

    Edit5: TEdit;

    Button6: TButton;

    procedure Edit1Change(Sender: TObject);

    procedure Edit2Change(Sender: TObject);

    procedure Button6Click(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button5Click(Sender: TObject);

    procedure Edit4Change(Sender: TObject);

    procedure Button4Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form1: TForm1;

implementation

  Uses DM, poisk, kol, new, cekR;

{$R *.dfm}

 

procedure TForm1.Edit1Change(Sender: TObject);

begin

DMod.ADOMag.First;

While not (DMOD.ADOMag.Eof) do begin

  If Pos (Edit1.Text, DMod.ADOMagvid.Value) <> 0 then Exit;

  DMod.ADOMag.Next;

end;

DMod.ADOMag.First;

end;

 

procedure TForm1.Edit2Change(Sender: TObject);

begin

DMod.ADOMag.First;

While not (DMod.ADOMag.Eof) do Begin

  If pos  (Edit2.Text, DMod.ADOMagnazvanie.Value) <>0 then Exit;

  DMod.ADOMag.Next;

end;

DMod.ADOMag.First;

end;

 

procedure TForm1.Button6Click(Sender: TObject);

begin

  Fpoisk.Show;

end;

 

procedure TForm1.Button1Click(Sender: TObject);

var res : TModalResult;

    sum,kol,cen,x: longint;

begin

x:=strtoint(edit3.Text);

DMod.ADOTCek.First;

res := Fkol.ShowModal;

  if res=mrOK then begin

  DMod.ADOTCek.Insert;

  DMod.ADDc(DMod.ADOMag);

    sum:=0;

    DMod.ADOTCek.First;

    while not(DMod.ADOTCek.Eof) do begin

      edit1.Clear;

      kol:= strtoint (DMod.ADOTCekkol.Value);

      cen:= strtoint (DMod.ADOTCekcena.Value);

      sum:=kol*cen+x;

     DMod.ADOTCek.next;

    end;

   edit3.Text:= inttostr(sum);

  end;

end;

 

procedure TForm1.Button2Click(Sender: TObject);

var res : TModalResult;

begin

res := Fkol.ShowModal;

  if res=mrOK then begin

  DMod.ADDm(DMod.ADOMag);

  end;

end;

 

procedure TForm1.Button5Click(Sender: TObject);

begin

  FNew.ShowModal;

end;

 

procedure TForm1.Edit4Change(Sender: TObject);

var x,y,z: longint;

begin

x:= strtoint (edit3.Text);

 y:= strtoint (edit4.Text);

z:=y-x;

edit5.Text:= inttostr(z);

end;

 

procedure TForm1.Button4Click(Sender: TObject);

var x,y,z:longint;

begin

edit3.Text:= Inttostr(0);

DMod.ADOTCek.Edit;

DMod.ADOTCek.First;

while not (DMod.ADOTCek.Eof) do begin

  DMod.ADOMag.First;

    while not (DMod.ADOMag.Eof) do begin

if DMod.ADOTCekDSDesigner.Value = DMod.ADOMagDSDesigner.value then begin

  x:=strtoint (DMod.ADOTCekkol.Value);

  y:=strtoint (DMod.ADOMagkol.Value);

  z:=x+y;

  DMod.ADOMag.Edit;

  DMod.ADOMagkol.Value:=inttostr(z);

  DMod.ADOTCek.edit;;

  end;

  Dmod.ADOMag.next;

end;

Dmod.ADOTCek.Next;;

end;

Dmod.ADOTCek.Delete;

DMod.ADOMag.First;

end;

 

procedure TForm1.Button3Click(Sender: TObject);

var x:integer;

begin

x:=0;

QuickReport.PreviewModal;

DMod.ADOTCek.Edit;

DMod.ADOTCek.First;

while not (Dmod.ADOTCek.Eof) do

  begin

   DMod.ADOTCek.Delete;

  end;

DMod.ADOTCek.Next;

Edit3.Text:=Inttostr(x);

Edit4.Text:=Inttostr(x);

Edit5.Text:=Inttostr(x);

end;

end.

 

DM имеет следующий вид:

unit DM;

interface

uses

  SysUtils, Classes, DB, ADODB, dialogs;

type

  TDMod = class(TDataModule)

    DSMag: TDataSource;

    ADOMag: TADOTable;

    ADOCkl: TADOTable;

    ADOTCek: TADOTable;

    ADOConnection1: TADOConnection;

    DSCkl: TDataSource;

    DSCek: TDataSource;

    ADOMagDSDesigner: TWideStringField;

    ADOMagvid: TWideStringField;

    ADOMagnazvanie: TWideStringField;

    ADOMagkol: TWideStringField;

    ADOMagcena: TWideStringField;

    ADOCklDSDesigner: TWideStringField;

    ADOCklvid: TWideStringField;

    ADOCklnazvanie: TWideStringField;

    ADOCklkol: TWideStringField;

    ADOCklcena: TWideStringField;

    ADOTCekDSDesigner: TWideStringField;

    ADOTCekvid: TWideStringField;

    ADOTCeknazvanie: TWideStringField;

    ADOTCekkol: TWideStringField;

   ADOTCekcena: TWideStringField;

    Procedure ADDc (DataSet: TDataSet);

    Procedure ADDm (DataSet: TDataSet);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  DMod: TDMod;

 

implementation

   uses kol;

{$R *.dfm}

 

procedure TDMod.ADDc(DataSet: TDataSet);

var x,y: string;

    z: integer;

    q,w: longint;

begin

q:= strtoint(DMod.ADOMagkol.Value);

w:= strtoint (Fkol.Edit1.Text);

if  q >= w then

  begin

   DMod.ADOTCek.Edit;

   DMod.ADOTCekDSDesigner.Value:= DMod.ADOMagDSDesigner.Value;

   DMod.ADOTCekvid.Value:= DMod.ADOMagvid.Value;

   DMod.ADOTCeknazvanie.Value:=DMod.ADOMagnazvanie.Value;

   DMod.ADOTCekcena.Value:= DMod.ADOMagcena.Value;

   DMod.ADOTCekkol.Value:= Fkol.Edit1.Text;

   DMod.ADOMag.Edit;

   x:= DMod.ADOMagkol.Value;

   y:= Dmod.ADOTCekkol.Value;

   z:= strtoint (x)-strtoint(y);

   DMod.ADOMagkol.Value:= inttostr (z);

  end

else

ShowMessage ('Недостаточно товара');

end;

 

procedure TDMod.ADDm(DataSet: TDataSet);

var x,y,z,q,w,a: longint;

begin

a:=0;

DMod.ADOCkl.Edit;

x:= strtoint(DMod.ADOCklkol.Value);

y:= strtoint(Fkol.Edit1.Text);

 if x >= y then

  begin

  DMod.ADOMag.First;

  while not (Dmod.ADOMag.Eof) do Begin

  If  Dmod.ADOCklDSDesigner.Value = DMod.ADOMagDSDesigner.Value then

   begin

   a:=1 ;

   Dmod.ADOMag.Edit;

    x:= strtoint(DMod.ADOCklkol.Value);

    q:= strtoint(Dmod.ADOMagkol.Value);

    y:= strtoint(Fkol.Edit1.Text);

    z:= x-y;

    w:= q+y;

    DMod.ADOCklkol.Value:= inttostr (z);

    Dmod.ADOMagkol.Value:= inttostr (w);

    Exit;

   end;

    DMod.ADOMag.Next;

  end;

  if a <> 1 then begin

     Dmod.ADOMag.Edit;

     Dmod.ADOMag.Insert;

     DMod.ADOMagDSDesigner.Value:= DMod.ADOCklDSDesigner.Value;

     DMod.ADOMagvid.Value:= Dmod.ADOCklvid.Value;

     DMod.ADOMagnazvanie.Value:= Dmod.ADOCklnazvanie.Value;

     DMod.ADOMagcena.Value:= DMod.ADOCklcena.Value;

    x:= strtoint(DMod.ADOCklkol.Value);

    y:= strtoint(Fkol.Edit1.Text);

    z:= x-y;

    DMod.ADOCklkol.Value:= inttostr (z);

    DMod.ADOMagkol.Value:= inttostr (y);

    DMod.ADOMag.post;

   end;

end

else

  ShowMessage ('Недостаточно товара');

end;

end.

 

 

 

Poisk имеет следующий вид:

 

unit Poisk;

 

interface

 

uses

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

  Dialogs, StdCtrls;

 

type

  TFPoisk = class(TForm)

    Edit1: TEdit;

    Label2: TLabel;

    Edit2: TEdit;

    Label1: TLabel;

    procedure Edit1Change(Sender: TObject);

    procedure Edit2Change(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  FPoisk: TFPoisk;

 

implementation

Uses Unit1, DM;

{$R *.dfm}

 

procedure TFPoisk.Edit1Change(Sender: TObject);

begin

  DMod.ADOCkl.First;

   While not (DMod.ADOCkl.Eof) do Begin

   If Pos (Edit1.Text, DMod.ADOCklvid.Value) <> 0 then Exit;

   DMod.ADOCkl.Next;

  end;

DMod.ADOCkl.First;

end;

 

procedure TFPoisk.Edit2Change(Sender: TObject);

begin

DMod.ADOCkl.First;

While not (DMod.ADOCkl.Eof) do Begin

   If Pos (Edit2.Text, DMod.ADOCklnazvanie.Value) <> 0 then Exit;

   DMod.ADOCkl.Next;

  end;

DMod.ADOCkl.First;

end;

 

end.

 


Информация о работе Информационная система складского учета книжного магазина