Министерство образования Российской Федерации.
Сибирский межрегиональный колледж строительства и предпринимательства.
Курсовой проект
По дисциплине:
«Технология разработки программных продуктов»
Студента заочного отделения
Группы ПОВТ 63-02
Ахматова Константина Ивановича
г. Иркутск
2008 г.
Содержание
Введение.
1. ТЕХНИЧЕСКОЕ ЗАДАНИЕ. ГОСТ 19.201-78
2. ПОЯСНИТЕЛЬНАЯ ЗАПИСКА. ГОСТ 19.404-79
3. ТЕКСТ ПРОГРАММЫ. ГОСТ 19.401-78
4. ОПИСАНИЕ ПРОГРАММЫ. ГОСТ 19.402-78
5. ПРОГРАММА И МЕТОДИКА ИСПЫТАНИЙ. ГОСТ 19.301-79
6. ОПИСАНИЕ ПРИМЕНЕНИЯ. ГОСТ 19.502-78
7. РУКОВОДСТВА СИСТЕМНОГО ПРОГРАММИСТА ГОСТ 19.503-79.
8. РУКОВОДСТВО ОПЕРАТОРА. ГОСТ 19.505-79
Список использованной литературы
Введение
Целью курсового проекта является:
· Разработка системы управления базами данных и удобного быстрого доступа к информации.
· Разработка программного продукта с использованием объектно-ориентированной методологии;
· Разработка программной и эксплуатационной документации в соответствии с ГОСТ-19 ЕСПД.
· Для достижения цели необходимо было изучить основные понятия баз данных.
· Наименования программы-База данных предприятий.
1. ТЕХНИЧЕСКОЕ ЗАДАНИЕ.
ГОСТ 19.201-78
1.1 Наименование программы
База данных для службы быта (справочник потребителя). Программный продукт создан с применением языка программирования Delphi в среде компилятора Borland Delphi 7.0.
База данных позволяет:
получить информацию о предприятиях города;
подготовить отчет о предприятиях города.
1.2 Цель разработки
Разработать базу данных для службы быта.
Эта база должна содержать следующую информацию:
· название предприятия;
· разряд;
· адрес;
· телефоны;
· специализацию;
· перечень оказываемых услуг;
· часы и дни работы.
Тема разработки: база данных для службы быта.
1.3 Назначение разработки
Данная программа применима в деятельности Службы быта, справочного бюро.
получить информацию о предприятиях города;
подготовить отчет о предприятиях города.
1.4 Порядок контроля и приемки
Программный продукт тестировался на работоспособность на компьютере с необходимым, установленным программным обеспечением (Borland Delphi 7.0.).
Для полноценной работы базы данных необходимо наличие всех компонентов данного программного продукта: модули и таблицы с данными.
2. ПОЯСНИТЕЛЬНАЯ ЗАПИСКА.
ГОСТ 19.404-79
Настоящий стандарт устанавливает требования к содержанию и оформлению программного документа «Пояснительная записка», определённого ГОСТ 19.101-77, входящего в состав документации на стадиях разработки эскизного и технического проекта программы.
2.1 Введение
Программное обеспечение – «База данных для службы быта»
2.2Основание разработки для разработки:
Программа разрабатывается для курсового проекта по предмету «Технология Разработки Программного Продукта» Сибирский Государственный Межрегиональный колледж строительства и предпринимательства, начало разработки 07.10.2008
Тема разработки База данных для службы быта
2.3 Назначения и область применения
Данная программа применима в деятельности Службы быта, справочного бюро.
получить информацию о предприятиях города;
подготовить отчет о предприятиях города.
2.4 Технические характеристики
Программа написана на языке программирования Delphi в среде компилятора Borland Delphi 7.0. Кроме того необходимо наличие Microsoft ActiveX Data Objects (ADO) – машина баз данных Borland. Представляет собой набор DLL –библиотек, обеспечивающих низкоуровневый доступ к локальным и клиент-северным БД. Должна устанавливаться на каждом компьютере, который использует приложения для работы с БД, написанные для Delphi.
3. ТЕКСТ ПРОГРАММЫ.
ГОСТ 19.401-78
3.1 Код основного модуля программы Unit1
unitUnit1; форма «справочник потребителя»
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, Menus, ToolWin, ComCtrls, comobj,
Buttons, ExtCtrls;
type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
Label1: TLabel;
FindEdit: TEdit;
Label2: TLabel;
Edit1: TEdit;
Label3: TLabel;
FindTelephoneEdit: TEdit;
Button1: TButton;
ToolBar1: TToolBar;
Excel1: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
Panel1: TPanel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure FindEditChange(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Excel1Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure N13Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses DataModuleUnit, TownBookUnit, EditFormunit, FindResultUnit,
AboutFormUnit;
{$R *.dfm}
procedure TForm1.N5Click(Sender: TObject);
begin
TownBookForm.ShowModal;
end;
procedure TForm1.N6Click(Sender: TObject);
begin
DataModule2.BookTable.Insert;
EditRecordForm.ShowModal;
end;
procedure TForm1.N7Click(Sender: TObject);
begin
EditRecordForm.ShowModal;
end;
procedure TForm1.N8Click(Sender: TObject);
begin
If Application.MessageBox(PChar('Выдействительнохотитеудалить'
+DataModule2.BookTableDSDesigner.AsString), 'Внимание!!!' ,
MB_OKCANCEL)=id_OK then
DataModule2.BookTable.Delete;
end;
procedure TForm1.N9Click(Sender: TObject);
begin
DataModule2.BookTable.IndexFieldNames:= '[Названиепредприятия]';
end;
procedure TForm1.N10Click(Sender: TObject);
begin
DataModule2.BookTable.IndexFieldNames:= 'Город';
end;
procedure TForm1.FindEditChange(Sender: TObject);
begin
If Length (FindEdit.Text)>0 then
DataModule2.BookTable.Filtered:=true
else
DataModule2.BookTable.Filtered:=false;
DataModule2.BookTable.Filter:='[Названиепредприятия]>'''+FindEdit.Text+'''';
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
DataModule2.FindQuery.Active:=false;
DataModule2.FindQuery.Parameters.ParamByName('Telephone').Value:=
FindTelephoneEdit.Text;
DataModule2.FindQuery.Active:=true;
FindResultForm.ShowModal;
end;
procedure TForm1.Excel1Click(Sender: TObject);
var
XLApp,Sheet,Colum:Variant;
index,i:Integer;
begin
XLApp:= CreateOleObject('Excel.Application');
XLApp.Visible:=true;
XLApp.Workbooks.Add(-4167);
XLApp.Workbooks[1].WorkSheets[1].Name:='Отчёт';
Colum:=XLApp.Workbooks[1].WorkSheets['Отчёт'].Columns;
Colum.Columns[1].ColumnWidth:=20;
Colum.Columns[2].ColumnWidth:=20;
Colum.Columns[3].ColumnWidth:=20;
Colum.Columns[4].ColumnWidth:=20;
Colum.Columns[5].ColumnWidth:=20;
Colum.Columns[6].ColumnWidth:=20;
Colum.Columns[7].ColumnWidth:=20;
Colum.Columns[8].ColumnWidth:=20;
Colum.Columns[9].ColumnWidth:=20;
Colum:=XLApp.Workbooks[1].WorkSheets['Отчёт'].Rows;
Colum.Rows[2].Font.Bold:=true;
Colum.Rows[1].Font.Bold:=true;
Colum.Rows[1].Font.Color:=clBlue;
Colum.Rows[1].Font.Size:=14;
Sheet:=XLApp.Workbooks[1].WorkSheets['Отчёт'];
Sheet.Cells[1,2]:='Служба быта';
Sheet.Cells[2,1]:='Название предприятия';
Sheet.Cells[2,2]:='Разряд';
Sheet.Cells[2,3]:='Город';
Sheet.Cells[2,4]:='Адрес';
Sheet.Cells[2,5]:='Телефоны';
Sheet.Cells[2,6]:='Специализация';
Sheet.Cells[2,7]:='Перечень оказаваемых услуг';
Sheet.Cells[2,8]:='Форма собственности';
Sheet.Cells[2,9]:='Часы и дни работы';
index:=3;
DataModule2.BookTable.First;
for i:=0 to DataModule2.BookTable.RecordCount-1 do
begin
Sheet.Cells[index,1]:=DataModule2.BookTable.Fields.Fields[1].AsString;
Sheet.Cells[index,2]:=DataModule2.BookTable.Fields.Fields[2].AsString;
Sheet.Cells[index,3]:=DataModule2.BookTable.Fields.Fields[3].AsString;
Sheet.Cells[index,4]:=DataModule2.BookTable.Fields.Fields[4].AsString;
Sheet.Cells[index,5]:=DataModule2.BookTable.Fields.Fields[5].AsString;
Sheet.Cells[index,6]:=DataModule2.BookTable.Fields.Fields[6].AsString;
Sheet.Cells[index,7]:=DataModule2.BookTable.Fields.Fields[7].AsString;
Sheet.Cells[index,8]:=DataModule2.BookTable.Fields.Fields[8].AsString;
Sheet.Cells[index,9]:=DataModule2.BookTable.Fields.Fields[9].AsString;
Inc(index);
DataModule2.BookTable.Next;
end;
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
DataModule2.BookTable.Insert;
EditRecordForm.ShowModal;
end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
EditRecordForm.ShowModal;
end;
procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
If Application.MessageBox(PChar('Выдействительнохотитеудалить'
+DataModule2.BookTableDSDesigner.AsString), 'Внимание!!!' ,
MB_OKCANCEL)=id_OK then
DataModule2.BookTable.Delete;
end;
procedure TForm1.N13Click(Sender: TObject);
begin
AboutForm.ShowModal;
end;
procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
AboutForm.ShowModal;
end;
procedure TForm1.N12Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.SpeedButton5Click(Sender: TObject);
begin
Close;
end;
end.
3.2 Кодмодуляunit DataModuleUnit
unit DataModuleUnit;
interface
uses
SysUtils, Classes, DB, ADODB;
type
TDataModule2 = class(TDataModule)
ADOConnection1: TADOConnection;
BookTable: TADOTable;
DataSource1: TDataSource;
BookTableDSDesigner: TAutoIncField;
BookTableDSDesigner2: TWideStringField;
BookTableDSDesigner3: TWideStringField;
BookTableDSDesigner4: TWideStringField;
BookTableDSDesigner5: TWideStringField;
BookTableDSDesigner6: TWideStringField;
BookTableDSDesigner7: TWideStringField;
BookTableDSDesigner8: TWideStringField;
BookTableDSDesigner9: TWideStringField;
BookTableDSDesigner10: TDateTimeField;
BookTableDSDesigner11: TBooleanField;
TownSourse: TDataSource;
TownTable: TADOTable;
TownTableKey1: TAutoIncField;
TownTableDSDesigner: TWideStringField;
BookTableDSDesigner12: TWideStringField;
FindQuery: TADOQuery;
FindSource: TDataSource;
FindQueryDSDesigner: TAutoIncField;
FindQueryDSDesigner2: TWideStringField;
FindQueryDSDesigner3: TWideStringField;
FindQueryDSDesigner4: TWideStringField;
FindQueryDSDesigner5: TWideStringField;
FindQueryDSDesigner6: TWideStringField;
FindQueryDSDesigner7: TWideStringField;
FindQueryDSDesigner8: TWideStringField;
FindQueryDSDesigner9: TWideStringField;
FindQueryDSDesigner10: TWideStringField;
FindQueryDSDesigner11: TDateTimeField;
FindQueryDSDesigner12: TBooleanField;
procedure BookTableFilterRecord(DataSet: TDataSet;
var Accept: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;
var
DataModule2: TDataModule2;
implementation
uses Unit1;
{$R *.dfm}
procedure TDataModule2.BookTableFilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
Accept:=false;
If copy(BookTableDSDesigner.AsString,1,Length(Form1.FindEdit.Text))=
Form1.FindEdit.Text then
Accept:=true;
end;
end.
3.3. КодмодуляTownBookUnit
unit TownBookUnit;форма «города»
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls;
type
TTownBookForm = class(TForm)