Технология разработки программных продуктов

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    446,72 Кб
  • Опубликовано:
    2014-10-05
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Технология разработки программных продуктов

Введение

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

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

.1 База данных

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

Знания об объектах и изменении их свойств нам необходимы в любой области, будь то бухгалтерия, геология или транспортные перевозки. Таким образом, нас интересует тот мир, в котором существуют наши предметы, т.е.замкнутая, в пределах поставленной задачи, система объектов - предметная область (ПО).

Решение целого класса задач связано с большими объемами информации. Далеко не все задачи алгоритмические. Решение многих задач сводится к управлению потоками информации, анализу данных. Любая справка, глава книги, письмо, квитанция - это данные, оформленные на листе бумаги, в таблице. Любые знания - это своего рода данные, которыми обладает человек. Если для решения наших задач нам необходимы знания об однотипных объектах или повторяющихся явлениях, то нам стоит использовать базу данных. База данных (БД) - это структурированные знания об объектах.

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

Рассмотрим задачу о составлении и использовании школьного журнала. Мы сталкиваемся с большим объемом однотипных знаний об учащихся (адрес, фамилии родителей, дата рождения и т.д.) и процессе обучения (типы проводимых работ, предметы и др.). Для решения этой задачи использование алгоритмических языков неуместно. Именно для этой цели служит система управления базами данных (СУБД)

.2 Система управления базой данных

Система управления базами данных (СУБД) - комплекс языковых, программных и технических средств, предназначенных для организации взаимодействия пользователя и БД. Эти системы не привязываются к решению конкретных проблем. В них автоматизированы стандартные процедуры, необходимые для работы с базами данных, а т.к. время не стоит на месте, то в каждой новой версии или новом варианте СУБД реализовано все большее количество подобных процедур.

Информационные системы

Решение задач посредством СУБД приводит к созданию информационных систем (ИС).

По сферам применения различают два основных класса ИС: информационно-поисковые системы (ИПС) и системы обработки данных (СОД).

Информационно-поисковые системы ориентированы, как правило, на извлечение подмножества хранимых сведений, удовлетворяющих некоторому поисковому критерию. Причем пользователей интересуют не столько результаты обработки этих сведений, сколько сама извлекаемая информация (например: какие оценки получил учащийся Иванов в прошлом году по физике).

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

Локальные и глобальное пользовательские представления

Чтобы разобраться в задаче, нам необходимо структурировать информацию:

• определить предметную область, в рамках которой, вероятнее всего, лежит наша задача;

• определить участников событий и пересечение их интересов;

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

При проектировании ИС взгляды отдельных пользователей на предметную область называют локальными пользовательскими представлениями (ЛПП).

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

Завершение этапа приведет к формированию глобального пользовательского представления (ГПП), т.е. будет отражать точку зрения администратора БД.

2. Проектирование интерфейса

.1 Назначение компонентов

) Form- главный визуальный компонент, являющийся контейнером для остальных компонентов.

) Button-простая кнопка, при щелчке на которой вызывается соответствующая процедура.

) BitBtn-кнопка с изображением

) Edit -однострочное редактируемое поле

) Label-метка. Используется для размещения в окне не очень длинных однострочных надписей.

) MainMenu-компонент, определяющий главное меню формы.

) DBGrid- компонент, позволяющий отображать содержание БД

) Memo-представляет собой элемент редактирования текста, который может состоять из нескольких строк..

) Image-создает объект для отображения или редактирования рисунка(растрового изображения, пиктограммы или метафайла).

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

) DBNavigator-обеспечивает перемещение указателя текущей записи, активизацию режима редактирования, добавление и удаление записей. Компонент представляет собой совокупность командных кнопок.

) Query-представляет часть базы данных- записи, содержимое которых удовлетворяет критерию SQL-запроса к таблице.

13) Table-представляет всю таблицу базы данных.

) MonthCalendar-объект отображает календарь.

) Timer- позволяет вводить необходимые задержки между выполнением тех или иных действий. В данной программе с помощью компонента Timer выводим часы на главную форму.

) ComboBox-дает возможность ввести данные в поле редактирования путем набора на клавиатуре или выбором из списка.

) CheckBox- представляет собой независимую кнопку (переключатель).

.2 Формы проекта

Форма «База»(главная)


Форма «Таблица»


Форма «SQL»


Форма «Поиск»

Форма «О программе»


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

база данные delphi форма

3.1 Назначение форм

Форма «База»(главная).

Эта форма содержит таблицу, отображающую данные, подгруженные из базы(стандартной базы данных DBDEMOS), а также навигатор который обеспечивает перемещение указателя текущей записи, активизацию режима редактирования, добавление и удаление записей. Для удобства на форму добавлены часы и календарь. С помощью главного меню осуществляется перемещение и активация других форм.

Форма «Таблица»

С помощью этой формы осуществляется смена таблиц базы даннх.

Форма «SQL»

На этой форме можно управлять базой данных с помощью запросов на язык SQL.

Форма «Поиск»

На данной форме осуществляется поиск по столбцам таблицы базы данных.

Форма «О программе»

Содержит информацию о программе.

.2 Текст приложения

Форма «База»(главная).Unit1;

interface, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Menus, DB, DBTables, Grids, DBGrids, ExtCtrls, DBCtrls,, ComCtrls;= class(TForm): TDBGrid;: TDataSource;: TTable;: TMainMenu;: TMenuItem;: TMenuItem;: TQuery;: TDBNavigator;: TMenuItem;: TMonthCalendar;: TLabel;: TTimer;: TMenuItem;: TMenuItem;N2Click(Sender: TObject);N3Click(Sender: TObject);FormCanResize(Sender: TObject; var NewWidth,: Integer; var Resize: Boolean);Timer1Timer(Sender: TObject);N4Click(Sender: TObject);FormDestroy(Sender: TObject);N5Click(Sender: TObject);FormCreate(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm1;Unit2, Unit3, Unit4, Unit5;

TForm1.Timer1Timer(Sender: TObject);.Caption:=TimeToStr(Time);;TForm1.N4Click(Sender: TObject);i:integer;.Combobox1.Items.Clear;i:=0 to Form1.DBGrid1.Columns.Count-1 do.ComboBox1.Items.add(Form1.DBGrid1.Columns[i].Title.Caption);.Show;;TForm1.FormDestroy(Sender: TObject);('looool');;TForm1.N5Click(Sender: TObject);.Show;;TForm1.FormCreate(Sender: TObject);

begin;.

Форма «Таблица»Unit3;

, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Unit1, DBCtrls;= class(TForm): TButton;: TButton;: TComboBox;Button1Click(Sender: TObject);Button2Click(Sender: TObject);FormCreate(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm3;

{$R *.dfm}TForm3.Button1Click(Sender: TObject);Form3.ComboBox1.Text='customer' then begin.Table1.Active:=False;.Table1.TableName:='customer.db';.Table1.Active:=true;.DataSource1.DataSet:=Form1.Table1;end;Form3.ComboBox1.Text='employee' then begin.Table1.Active:=False;.Table1.TableName:='employee.db';.Table1.Active:=true;.DataSource1.DataSet:=Form1.Table1;end;Form3.ComboBox1.Text='orders' then begin.Table1.Active:=False;.Table1.TableName:='orders.db';.Table1.Active:=true;.DataSource1.DataSet:=Form1.Table1;end;;TForm3.Button2Click(Sender: TObject);.Close;;TForm3.FormCreate(Sender: TObject);

begin;.

Форма «SQL»Unit2;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls;= class(TForm): TButton;: TButton;: TMemo;Button1Click(Sender: TObject);Button2Click(Sender: TObject);FormCreate(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm2;Unit1;

{$R *.dfm}TForm2.Button1Click(Sender: TObject);.Query1.Active:=False;.Query1.Sql.Clear;.Query1.Sql:=Form2.Memo1.Lines;.Query1.Active:=True;.DataSource1.DataSet:=Form1.Query1;;TForm2.Button2Click(Sender: TObject);.Close;;TForm2.FormCreate(Sender: TObject);

begin;.

Форма «Поиск»Unit4;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, DB, DBTables;= class(TForm): TLabel;: TComboBox;: TEdit;: TButton;: TButton;: TMemo;: TButton;: TCheckBox;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;Button2Click(Sender: TObject);Button1Click(Sender: TObject);Button3Click(Sender: TObject);Edit1KeyPress(Sender: TObject; var Key: Char);ComboBox1KeyUp(Sender: TObject; var Key: Word;: TShiftState);ComboBox1Select(Sender: TObject);CheckBox1Click(Sender: TObject);Edit7KeyPress(Sender: TObject; var Key: Char);Edit6KeyPress(Sender: TObject; var Key: Char);Edit5KeyPress(Sender: TObject; var Key: Char);Edit4KeyPress(Sender: TObject; var Key: Char);Edit3KeyPress(Sender: TObject; var Key: Char);Edit2KeyPress(Sender: TObject; var Key: Char);FormCreate(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm4; perem:integer;Unit1;

{$R *.dfm}TForm4.Button2Click(Sender: TObject);.Close;;TForm4.Button1Click(Sender: TObject);2;i:integer;Form1.Table1.FieldByName(Form4.ComboBox1.Text).DataType=ftString then begin.Query1.SQL.Clear;.Memo1.Lines.Clear;.Memo1.Lines.Add('Select * from '+Form1.Table1.TableName+

' where '+Form4.ComboBox1.Text+'='+#39+Form4.Edit1.Text+#39+';');.Query1.Active:=False;.Query1.SQL.Add('Select * from '+Form1.Table1.TableName+

' where '+Form4.ComboBox1.Text+'='+#39+Form4.Edit1.Text+#39+';');.Query1.Active:=True;.DataSource1.DataSet:=Form1.Query1;goto 2;endForm1.Table1.FieldByName(Form4.ComboBox1.Text).DataType in [ftSmallint, ftInteger, ftFloat]begin.Query1.SQL.Clear;.Memo1.Lines.Clear;.Memo1.Lines.Add('Select * from '+Form1.Table1.TableName+

' where '+Form4.ComboBox1.Text+'='+#39+Form4.Edit1.Text+#39+';');.Query1.Active:=False;.Query1.SQL.Add('Select * from '+Form1.Table1.TableName+

' where '+Form4.ComboBox1.Text+'='+#39+Form4.Edit1.Text+#39+';');.Query1.Active:=True;.DataSource1.DataSet:=Form1.Query1;goto 2;elseForm1.Table1.FieldByName(Form4.ComboBox1.Text).DataType=ftDateTimebegini:=0 to length(Form4.Edit2.Text) do beginForm4.Edit2.Text[i] in ['a'..'z','а'..'я'] then begin('Введите день');goto 2;end;end;i:=0 to length(Form4.Edit3.Text) do beginForm4.Edit3.Text[i] in ['a'..'z','а'..'я'] then begin('Введите месяц');goto 2;end;end;i:=0 to length(Form4.Edit4.Text) do beginForm4.Edit4.Text[i] in ['a'..'z','а'..'я'] then begin('Введите год');goto 2;end;end;form4.CheckBox1.Checked=true then begini:=0 to length(Form4.Edit2.Text) do beginForm4.Edit2.Text[i] in ['a'..'z','а'..'я'] then begin('Введите день');goto 2;end;end;i:=0 to length(Form4.Edit3.Text) do beginForm4.Edit3.Text[i] in ['a'..'z','а'..'я'] then begin('Введите месяц');goto 2;end;end;i:=0 to length(Form4.Edit4.Text) do beginForm4.Edit4.Text[i] in ['a'..'z','а'..'я'] then begin('Введите год');goto 2;end;end;i:=0 to length(Form4.Edit5.Text) do beginForm4.Edit5.Text[i] in ['a'..'z','а'..'я'] then begin('Введите час');goto 2;end;end;i:=0 to length(Form4.Edit6.Text) do beginForm4.Edit6.Text[i] in ['a'..'z','а'..'я'] then begin('Введите минуты');goto 2;end;end;i:=0 to length(Form4.Edit7.Text) do beginForm4.Edit7.Text[i] in ['a'..'z','а'..'я'] then begin('Введите секунды');goto 2;end;end;.Query1.SQL.Clear;.Memo1.Lines.Clear;.Memo1.Lines.Add('Select * from '+Form1.Table1.TableName+

' where '+Form4.ComboBox1.Text+'='+#39+Form4.Edit2.Text+'.'

+Form4.Edit3.Text+'.'+Form4.Edit4.Text+' '+Form4.Edit5.Text+':'

+Form4.Edit6.Text+':'+Form4.Edit7.Text+#39+';');.Query1.Active:=False;.Query1.SQL.Add('Select * from '+Form1.Table1.TableName+

' where '+Form4.ComboBox1.Text+'='+#39+Form4.Edit2.Text+'.'

+Form4.Edit3.Text+'.'+Form4.Edit4.Text+' '+Form4.Edit5.Text+':'

+Form4.Edit6.Text+':'+Form4.Edit7.Text+#39+';');.Query1.Active:=True;.DataSource1.DataSet:=Form1.Query1;goto 2;end;.Query1.SQL.Clear;.Memo1.Lines.Clear;.Memo1.Lines.Add('Select * from '+Form1.Table1.TableName+

' where '+Form4.ComboBox1.Text+'='+#39+Form4.Edit2.Text+'.'

+Form4.Edit3.Text+'.'+Form4.Edit4.Text+#39+';');.Query1.Active:=False;.Query1.SQL.Add('Select * from '+Form1.Table1.TableName+

' where '+Form4.ComboBox1.Text+'='+#39+Form4.Edit2.Text+'.'

+Form4.Edit3.Text+'.'+Form4.Edit4.Text+#39+';');

Form1.Query1.Active:=True;

Form1.DataSource1.DataSet:=Form1.Query1;goto 2;end;

2:

end;TForm4.Button3Click(Sender: TObject);.DataSource1.DataSet:=Form1.Table1;;TForm4.Edit1KeyPress(Sender: TObject; var Key: Char);

var k:integer;

if Form1.Table1.FieldByName(Form4.ComboBox1.Text).DataType in [ftSmallint, ftInteger, ftFloat]beginKey in ['0'..'9','.',#8] then begin

if key='.' then //проверка для только одной запятой

beginForm4.Edit1.Text='' then key:=#0;k:=1 to Length(Form4.Edit1.Text) doForm4.Edit1.Text[k]='.' then key:=#0;;;else key:=#0;;end;TForm4.ComboBox1KeyUp(Sender: TObject; var Key: Word;: TShiftState);.ComboBox1.Text:='';;TForm4.ComboBox1Select(Sender: TObject);Form1.Table1.FieldByName(Form4.ComboBox1.Text).DataType=ftDateTimebegin.CheckBox1.Show;.Edit1.Visible:=false;.Edit2.Show;.Edit2.Text:='дд';.Edit3.Show;

form4.Edit3.Text:='мм';

Form4.Edit4.Show;.Edit4.Text:='гггг';begin Form4.CheckBox1.hide;.Edit2.Visible:=false;.Edit3.Visible:=false;.Edit4.Visible:=false;.Edit5.Visible:=false;.Edit6.Visible:=false;.Edit7.Visible:=false;.Edit1.Show; end;;TForm4.CheckBox1Click(Sender: TObject);

begin

if form4.CheckBox1.Checked=true then begin.Edit5.Show;.Edit5.Text:='чч';.Edit6.Show;.Edit6.Text:='мм';.Edit7.Show;.Edit7.Text:='сс';else begin.Edit5.Hide;.Edit6.Hide;.Edit7.Hide; end;;TForm4.Edit7KeyPress(Sender: TObject; var Key: Char);

begin

if Form1.Table1.FieldByName(Form4.ComboBox1.Text).DataType=ftDateTime then

begin

if not(key in['0'..'9',#8]) then key:=#0;end;;TForm4.Edit6KeyPress(Sender: TObject; var Key: Char);Form1.Table1.FieldByName(Form4.ComboBox1.Text).DataType=ftDateTime then

begin

if not(key in['0'..'9',#8]) then key:=#0;end;;TForm4.Edit5KeyPress(Sender: TObject; var Key: Char);Form1.Table1.FieldByName(Form4.ComboBox1.Text).DataType=ftDateTime thennot(key in['0'..'9',#8]) then key:=#0;end;;TForm4.Edit4KeyPress(Sender: TObject; var Key: Char);

begin

if Form1.Table1.FieldByName(Form4.ComboBox1.Text).DataType=ftDateTime thennot(key in['0'..'9',#8]) then key:=#0;end;;TForm4.Edit3KeyPress(Sender: TObject; var Key: Char);

begin

if Form1.Table1.FieldByName(Form4.ComboBox1.Text).DataType=ftDateTime thennot(key in['0'..'9',#8]) then key:=#0;end;;

TForm4.Edit2KeyPress(Sender: TObject; var Key: Char);Form1.Table1.FieldByName(Form4.ComboBox1.Text).DataType=ftDateTime thennot(key in['0'..'9',#8]) then key:=#0;end;;TForm4.FormCreate(Sender: TObject);

begin;.

Форма «О программе»Unit5;

interface, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Buttons, jpeg, ExtCtrls;= class(TForm): TLabel;: TLabel;: TImage;: TBitBtn;: TLabel;BitBtn1Click(Sender: TObject);FormCreate(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm5;Unit1;

{$R *.dfm}TForm5.BitBtn1Click(Sender: TObject);.Hide;;TForm5.FormCreate(Sender: TObject);

begin;.

Заключение

В ходе выполнения курсовой работы был мной создан пользовательский интерфейс для базы данных. В созданной программе был реализован поиск по разным полям базы данных, также в программе присутствует возможность управлять базой с помощью языка SQL(Structured Query Language - «язык структурированных запросов»).

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

Похожие работы на - Технология разработки программных продуктов

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!