Автор работы: Пользователь скрыл имя, 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
ПРИЛОЖЕНИЕ А
Программный код
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:=
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.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.
Информация о работе Информационная система складского учета книжного магазина