70987

Разработка ПП АИС «Колледжи Москвы»

Курсовая

Информатика, кибернетика и программирование

В данном программном продукте будут предусмотрены функции просмотра БД о колледжах. Также предусмотрен поиск по двум критериям, редактирование и печать отчётов. Разработка системного проекта АИС «Колледжи Москвы»...

Русский

2014-10-31

213 KB

3 чел.

Федеральное ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

СРЕДНЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

КРАСНОГОРСКИЙ ГОСУДАРТСВЕННЫЙ КОЛЛЕДЖ

КУРСОВОЙ ПРОЕКТ

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

на тему: Разработка ПП АИС «Колледжи Москвы»

     Студент   ______________________________     Коструба А.В.

(подпись)

      Проверил  ______________________________  

(оценка   и  подпись)

Красногорск

2012 год

Содержание

[1] Содержание

[2]
Введение

[3] Разработка системного проекта АИС «Колледжи Москвы»

[3.1] Назначение разработки

[3.2] Требования к функциональным характеристикам

[3.2.1] Состав выполняемых функций

[3.3] Требования к надежности и безопасности

[3.4] Требования к составу и параметрам технических средств

[3.5] Требования к информационной программной совместимости

[4]
Разработка технического проекта

[4.1] Анализ требований и определение спецификации ПО

[4.2] Проектирование модели данных

[4.3] Детальное проектирование ПО

[5] Реализация

[5.1] Обоснование выбора средств разработки

[5.2] Описание основных программных модулей

[6]
Тестирование

[7] Заключение

[8] Список литературы

[9] Приложение №1. Листинг программы

[10] Приложение №2. Руководство пользователя.


Введение

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

В данном программном продукте будут предусмотрены функции просмотра БД о колледжах. Также предусмотрен поиск по двум критериям, редактирование и печать отчётов.

  1.  Разработка системного проекта АИС «Колледжи Москвы»
    1.  Назначение разработки

Подсистема АИС БД «Колледжи Москвы» используется с целью обобщения информации о колледжах, их адресов и о контактных данных. Данный программный продукт использует для решения следующих задач:

  •  Регистрация новых учебных заведений
  •  Работа с БД (просмотр, редактирование)
  •  Ведение отчётности по итогам периода
    1.  Требования к функциональным характеристикам
      1.  Состав выполняемых функций

Разрабатываемая АИС БД «Колледжи Москвы» обеспечивает сбор сведений о колледжах. Также ПП имеет функцию быстрого поиска необходимой информации, способов её отображения и при необходимости формирования отчета и вывода его на печать.

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

Система функционирует в многопользовательском режиме и даёт возможность добавлять новые и изменять существующие записи, а также удалять некорректные и устаревшие.

Источниками отчетов являются выходные данные по:

  •  Названию,
  •  Адресу,
  •  Факультету.

  1.  Требования к надежности и безопасности

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

  1.  Требования к составу и параметрам технических средств

Тактовая частота процессора 2000Гц

Объем ОЗУ не менее 512Мб

Объем свободного места не жестком диске 20Мб

Разрешение монитора (рекомендуемое) 1024х768

  1.  Требования к информационной программной совместимости

ОС Windows XP/Vista/7

MS Office 2000/2003/2007

  1.  
    Разработка технического проекта
    1.  Анализ требований и определение спецификации ПО

Основные спецификации:

  •  Работа с БД – возможность добавления, изменения, удаления информации в записях таблицы.
  •  Вид – возможность фильтрации, вы, а также поиска информации в таблице.
  •  Печать – печать отчётов за отчётный период.
    1.  Проектирование модели данных

Рисунок 1. Функциональная схема

  1.  Детальное проектирование ПО

Рисунок 2. Структурная схема.

  1.  Реализация
    1.  Обоснование выбора средств разработки

В ходе анализа имеющихся средств программирования, был выбран вариант написания программного продукта с использованием системы визуального программирования Borland Delphi. Данное заключение основывалось на следующем.

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

Многие системы разработки приложений для Windows генерируют код-полуфабрикат, который не может быть выполнен процессором без дополнительной трансляции во время работы самой программы, что существенно снижает производительность компьютера. Delphi же использует настоящий компилятор и компоновщик и генерирует стопроцентный машинный код.

Так как Delphi является средой программирования для Windows, то, как и сама операционная система Delphi поддерживает длинные имена файлов и папок.

Для запуска программ, написанных на Delphi, не требуются никакие дополнительные библиотеки, интерпретаторы кода и прочее.

  1.  Описание основных программных модулей

Запуск программы осуществляется с помощью файла college.exe.

После запуска появится главная форма Vxod. При нажатии на надпись «Вход в базу данных» открывается главная функциональная форма Glavnaia.

На форме Unit1 расположены следующие компоненты:

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

Форма «Поиск по данным» позволяет найти в таблице «Колледж» необходимую запись. Критерии поиска: Название, Адрес, Контакты. Заполнив все или хотя бы одно из них, мы получает результат поиска удовлетворяющий введённым данным.

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

Форма «Добавление факультета» осуществляет добавление в таблицу «Факультет» новой записи. Для этого необходимо заполнить все поля и при удачном внесении новой записи, откроется форма «Res», в которой вы увидите, какие поля были добавлены и как они отобразились.

Форма «Регистрация форм обучения» осуществляет добавление в таблицу «Формы обучения» новой записи. Для этого необходимо заполнить все поля и при удачном внесении новой записи, откроется форма «Res2», в которой вы увидите, какие поля были добавлены и как они отобразились.

Форма «Отчёты» содержит данные из интересующей вас таблицы или результата поиска. Так же в ней вы можете отредактировать эти данные и распечатать их.

  1.  
    Тестирование

Тестирование осуществлялось по принципу «Белый ящик».

Был выбран метод тестирования «Тестирование переходов между состояниями».

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

  1.  На главной форме:
    •  нажимаем на кнопку в пункте меню «Базы данных»
    •  Выбираем интересующую нас базу
    •  С помощью кнопок под таблицей можно удобно листать таблицу и при необходимости отредактировать или удалить запись.
  2.  На форме «Поиск»:
  •  Выбираем критерий поиска
  •  Заполняем одно или несколько полей и нажимаем на кнопку с названием базы, в которой хотим найти запись.
  1.  На главной форме:
    •  Нажимаем на кнопку «Регистрация нового колледжа» или           «Добавить колледж»
    •  Заполняем все поля
    •  Нажимаем на кнопку «Зарегистрироваться»
    •  Если данные внесены в базу, то появится окно с отчётом

Если одно из полей не было заполнено, то появится окно с ошибкой («необходимо заполнить все поля»)

Заключение

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

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

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

Список литературы

  1.  ГОСТ 7.1-84 Библиографическое описание документа. Общие требования и правила составления.
  2.  ГОСТ 19.201 – 78. Единая система программной документации. Техническое задание. Требования к содержанию и оформлению.
  3.  ГОСТ 19.401 – 78. Текст программы. Требования к содержанию и оформлению.
  4.  ГОСТ 19.402 – 78. Описание программы.
  5.  ГОСТ 19.503 – 79. Руководство системного программиста. Требования к содержанию и оформлению.
  6.  ГОСТ 19.505 – 79. Руководство оператора. Требования к содержанию и оформлению.
  7.  ГОСТ 24.207 – 80. Требования к содержанию документов по программному обеспечению.
  8.  Фленов М.Е. Библия программиста в среде Delphi, 2009.
  9.  Стандарты Единой системы программной документации (ЕСПД).
  10.  Шишкин В.В. Методические указания к курсовому проекту. – Смоленск, 2002.

Приложение №1. Листинг программы

unit Unit1;//главная форма программы с меню и кнопками

interface

uses  unit2,

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

 Dialogs, DB, Grids, DBGrids, ADODB, StdCtrls, ExtCtrls, DBCtrls, jpeg, Menus;

type

 Tgl = class(TForm)

   DataSource1: TDataSource;

   DBGrid1: TDBGrid;

   ADOQuery1: TADOQuery;

   DBNavigator1: TDBNavigator;

   Button3: TButton;

   Image1: TImage;

   MainMenu1: TMainMenu;

   N1: TMenuItem;

   N2: TMenuItem;

   N3: TMenuItem;

   N4: TMenuItem;

   N5: TMenuItem;

   N6: TMenuItem;

   N7: TMenuItem;

   N8: TMenuItem;

   Button6: TButton;

   N9: TMenuItem;

   N10: TMenuItem;

   procedure N9Click(Sender: TObject);

   procedure N6Click(Sender: TObject);

   procedure N5Click(Sender: TObject);

   procedure N4Click(Sender: TObject);

   procedure Button6Click(Sender: TObject);

   procedure N8Click(Sender: TObject);

   procedure N7Click(Sender: TObject);

   procedure FormCreate(Sender: TObject);

   procedure Button3Click(Sender: TObject);

   procedure N10Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 gl: Tgl;

implementation

uses unit3,unit6,unit7,unit8,unit10;

{$R *.dfm}

procedure Tgl.Button3Click(Sender: TObject);//копирование пути к базе из главн компонента

begin

reg.show;

reg.adoquery1.Active:=false;//деактивируем компонент

reg.adoquery1.ConnectionString:=adoquery1.ConnectionString;//заносим источник данных

reg.ADOQuery1.Active:=true;//активируем компонент

reg.adoquery2.Active:=false;

reg.adoquery2.ConnectionString:=adoquery1.ConnectionString;

reg.ADOQuery2.Active:=true;

end;

procedure Tgl.Button6Click(Sender: TObject);//открытие формы регистрации колледжа

begin

reg2.show;

end;

procedure Tgl.FormCreate(Sender: TObject);//универсальный путь к базе

begin

adoquery1.Active:=false;

adoquery1.ConnectionString:=('Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+extractfilepath(application.ExeName)+'baza.mdb;Persist Security Info=False');

//Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\baza.mdb;Persist Security Info=False

end;

procedure Tgl.N4Click(Sender: TObject);//вывод всей базы Колледжи

begin

adoquery1.Active:=false;

ADOQuery1.Close;

adoquery1.SQL.Clear;//очищаем поле запросов

adoquery1.SQL.Add('SELECT название,адрес,контакты,факультеты FROM college');//запрос

adoquery1.ExecSQL;//выполняем запрос

adoquery1.Active:=true;

end;

procedure Tgl.N7Click(Sender: TObject);//процедура выхода из прораммы

begin

case messagebox(0,'Выход из программы','Выход',mb_yesno) of idyes:

begin

vxod.Close;

end;

idno:

begin

end;

end;

end;

procedure Tgl.N8Click(Sender: TObject);

begin

poisk1.Show;

end;

procedure Tgl.N9Click(Sender: TObject);//открытие формы поиска по колледжам

begin

poisk2.Show;

end;

procedure Tgl.N5Click(Sender: TObject);//вывод всей базы Форма обучения

begin

adoquery1.Active:=false;

ADOQuery1.Close;

adoquery1.SQL.Clear;

adoquery1.SQL.Add('SELECT название,адрес,контакты,длительность_обучения,форма_обучения FROM Chl');

adoquery1.ExecSQL;

adoquery1.Active:=true;

end;

procedure Tgl.N6Click(Sender: TObject);//вывод всей базы Факультеты

begin

adoquery1.Active:=false;

ADOQuery1.Close;

adoquery1.SQL.Clear;

adoquery1.SQL.Add('SELECT groups.*,chl.факультет FROM groups inner join chl on groups.факультет=chl. факультет');

adoquery1.ExecSQL;

adoquery1.Active:=true;

end;

function GridSelectAll(Grid: TDBGrid): Longint;//выделение всех строк для вывода в отчёты

begin

Result := 0;

 Grid.SelectedRows.Clear;

 with Grid.Datasource.DataSet do

 begin

   First;

   DisableControls;

   try

     while not EOF do

     begin

       Grid.SelectedRows.CurrentRowSelected := True;

       inc(Result);

       Next;

     end;

   finally

     EnableControls;

   end;

 end;

end;

procedure Tgl.N10Click(Sender: TObject);//открытие формы отчётов и передача информации

var

   i, j: Integer;

   s: string;

begin

form10.memo1.Clear;

GridSelectAll(DBGrid1);

 if DBGrid1.SelectedRows.Count>0 then

   with DBGrid1.DataSource.DataSet do

     for i:=0 to DBGrid1.SelectedRows.Count-1 do

     begin

       GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i]));

       for j := 0 to FieldCount-1 do

       begin

         if (j>0) then s:=s+'| ';

         s:=s+Fields[j].AsString;

       end;

       form10.memo1.Lines.add(s);

       s:= '';

     end;

     form10.Show;

end;

end.

unit Unit2;//форма регистрации нового колледжа

interface

uses

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

 Dialogs, StdCtrls, DBCtrls, DB, ADODB;

type

 Treg = class(TForm)

   Edit1: TEdit;

   Edit2: TEdit;

   Edit3: TEdit;

   Edit4: TEdit;

   Button1: TButton;

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   Label4: TLabel;

   Label5: TLabel;

   DBLookupComboBox1: TDBLookupComboBox;

   DataSource1: TDataSource;

   ADOQuery1: TADOQuery;

   DataSource2: TDataSource;

   ADOQuery2: TADOQuery;

   DBLookupComboBox2: TDBLookupComboBox;

   Label6: TLabel;

   procedure DBLookupComboBox1Click(Sender: TObject);

   procedure Button1Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 reg: Treg;

implementation

  uses unit1,unit4,unit5;

{$R *.dfm}

procedure Treg.Button1Click(Sender: TObject);//добавление в базу нового колледжа

var a,b,c,d,e,f:string;

begin

a:=edit1.Text;

b:=edit2.Text;

c:=edit3.Text;

d:=edit4.Text;

e:=dblookupcombobox1.Text;

f:=dblookupcombobox2.Text;

if (length(a)<>0) or (length(b)<>0) or (length(c)<>0) or (length(d)<>0) or (length(e)<>0) or (length(f)<>0)then begin

gl.ADOQuery1.Close;

gl.ADOQuery1.SQL.Clear;

gl.ADOQuery1.SQL.Add('insert into Chl(название,адрес,контакты,длительность_обучения,форма_обучения,факультет)values("'+a+'","'+b+'","'+c+'","'+d+'","'+e+'","0","'+f+'")');

gl.ADOQuery1.ExecSQL;

yd.Visible:=true;

yd.Label3.Caption:=edit1.Text;

yd.Label4.Caption:=edit2.Text;

yd.Label5.Caption:=edit3.Text;

yd.Label6.Caption:=edit4.Text;   

yd.Label7.Caption:=dblookupcombobox1.Text;

yd.Label8.Caption:=dblookupcombobox2.Text;

end

else

neyd.Visible:=true;

 end;

procedure Treg.DBLookupComboBox1Click(Sender: TObject);//передача параметров в компонент

var q:string;

begin

q:=dblookupcombobox1.Text;

adoquery2.Active:=false;

ADOQuery2.Close;

adoquery2.SQL.Clear;

adoquery2.SQL.Add('SELECT* FROM fakultet where специальность="'+q+'"');

adoquery2.ExecSQL;

adoquery2.Active:=true;

end;

end.

unit Unit3;//начальная форма программы

interface

uses unit1,

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

 Dialogs, StdCtrls, ExtCtrls, jpeg;

type

 Tvxod = class(TForm)

   Image1: TImage;

   Image2: TImage;

   procedure Image2Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 vxod: Tvxod;

implementation

{$R *.dfm}

procedure Tvxod.Image2Click(Sender: TObject);

begin

gl.Show;

vxod.Visible:=false;

end;

end.

unit Unit4;//форма отчёта о внесении нового факультета

interface

uses

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

 Dialogs, StdCtrls;

type

 Tyd = class(TForm)

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   Label4: TLabel;

   Label5: TLabel;

   Label6: TLabel;

   Label7: TLabel;

   Label8: TLabel;

   procedure FormClose(Sender: TObject; var Action: TCloseAction);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 yd: Tyd;

implementation

uses unit2,unit6;

{$R *.dfm}

procedure Tyd.FormClose(Sender: TObject; var Action: TCloseAction);//очистка полей в формах

begin

reg.edit1.Clear;//очищаем поле ввода

reg.edit2.Clear;

reg.edit3.Clear;

reg.edit4.Clear;

reg2.edit1.Clear;

reg2.edit2.Clear;

reg2.edit3.Clear;

reg2.edit4.Clear;

reg2.Edit5.Clear;

end;

end.

unit Unit5;//форма ошибки внесения новой записи

interface

uses

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

 Dialogs, StdCtrls;

type

 Tneyd = class(TForm)

   Label1: TLabel;

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 neyd: Tneyd;

implementation

{$R *.dfm}

end.

unit Unit6;//форма регистрации нового факультета

interface

uses

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

 Dialogs, StdCtrls, DBCtrls, DB, ADODB;

type

 Treg2 = class(TForm)

   Button1: TButton;

   Label5: TLabel;

   Label3: TLabel;

   Edit3: TEdit;

   Label2: TLabel;

   Edit2: TEdit;

   Edit1: TEdit;

   Label1: TLabel;

   Edit4: TEdit;

   Edit5: TEdit;

   Label4: TLabel;

   procedure Button1Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 reg2: Treg2;

implementation

uses Unit1, Unit4, Unit5;

{$R *.dfm}

procedure Treg2.Button1Click(Sender: TObject);//внесение в базу новой записи

var a,b,c,e,d:string;

begin

d:=edit5.Text;

a:=edit1.Text;

b:=edit2.Text;

c:=edit3.Text;

e:=edit4.Text;

if (length(a)<>0) or (length(b)<>0) or (length(c)<>0) or (length(e)<>0) then begin

gl.ADOQuery1.Close;

gl.ADOQuery1.SQL.Clear;

gl.ADOQuery1.SQL.Add('insert into college(код,название,адрес,контакты,форма_обучения)values("'+d+'","'+a+'","'+b+'","'+c+'","'+e+'")');

gl.ADOQuery1.ExecSQL;

gl.ADOQuery1.SQL.Clear;

gl.ADOQuery1.SQL.Add('insert into fakultet(форма_обучения,факультет)values("'+e+'","'+d+'")');

gl.ADOQuery1.ExecSQL;

yd.Visible:=true;

yd.Label3.Caption:=edit1.Text;

yd.Label4.Caption:=edit2.Text;

yd.Label5.Caption:=edit3.Text;

yd.Label6.Caption:=edit4.Text;

end

else

neyd.Visible:=true;

 end;

end.

unit Unit7;//форма поиска по специальности

interface

uses

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

 Dialogs, StdCtrls;

type

 TPoisk1 = class(TForm)

   Button1: TButton;

   Button4: TButton;

   Button2: TButton;

   edit1: TEdit;

   Label1: TLabel;

   procedure Button4Click(Sender: TObject);

   procedure Button2Click(Sender: TObject);

   procedure Button1Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

 var

 Poisk1: TPoisk1;

implementation

uses unit1;

{$R *.dfm}

procedure Tpoisk1.Button1Click(Sender: TObject);//поиск по таблице Колледжи

begin

gl.adoquery1.Active:=false;

gl.ADOQuery1.Close;

gl.adoquery1.SQL.Clear;

if length(edit1.text)=0 then

gl.adoquery1.SQL.Add('SELECT название,адрес,контакты,специальность FROM college')

else

gl.adoquery1.SQL.Add('SELECT название,адрес,контакты,специальность FROM college where специальность="'+edit1.text+'"');

gl.adoquery1.ExecSQL;

gl.adoquery1.Active:=true;

end;

procedure Tpoisk1.Button2Click(Sender: TObject);//поиск по таблице форма обучения

begin

gl.adoquery1.Active:=false;

gl.ADOQuery1.Close;

gl.adoquery1.SQL.Clear;

if length(edit1.text)<>0 then

gl.adoquery1.SQL.Add('SELECT название,адрес,контакты,длительность_обучения,форма_обучения FROM chl where форма_обучения="'+edit1.text+'"')

else

gl.adoquery1.SQL.Add('SELECT название,адрес,контакты,длительность_обучения,форма_обучения FROM Chl');

gl.adoquery1.ExecSQL;

gl.adoquery1.Active:=true;

end;

procedure Tpoisk1.Button4Click(Sender: TObject);//поиск по таблице Факультет

begin

gl.adoquery1.Active:=false;

gl.ADOQuery1.Close;

gl.adoquery1.SQL.Clear;

if length(edit1.text)<>0 then begin

gl.adoquery1.SQL.Add('SELECT fakultet.*,chl.название FROM fakultet inner join chl on fakultet.факультет=chl.факультет where fakultet.форма_обучения="'+edit1.text+'"');

end

else

gl.adoquery1.SQL.Add('SELECT fakultet.*,chl.название FROM fakultet inner join chl on fakultet.fakultet =chl.fakultet ');

gl.adoquery1.ExecSQL;

gl.adoquery1.Active:=true;

end;

end.

unit Unit8;//форма поиска по данным.

interface

uses

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

 Dialogs, StdCtrls;

type

 TPoisk2 = class(TForm)

   Button1: TButton;

   Button2: TButton;

   Edit1: TEdit;

   Edit2: TEdit;

   Edit3: TEdit;

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   procedure Button2Click(Sender: TObject);

   procedure Button1Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Poisk2: TPoisk2;

implementation

uses Unit1;

{$R *.dfm}

procedure TPoisk2.Button2Click(Sender: TObject);//поиск по одному или нескольким полям в таблице Факультеты

begin

gl.adoquery1.Active:=false;

gl.ADOQuery1.Close;

gl.adoquery1.SQL.Clear;

if (length(edit1.text)<>0) and (length(edit2.text)<>0) and (length(edit3.text)<>0) then

gl.adoquery1.SQL.Add('SELECT название,длительность_обучения,форма_обучения FROM chl where название="'+edit1.text+'" and длительность_обучения="'+edit2.Text+'" and контакты="'+edit3.Text+'"');

if (length(edit3.text)=0) and(length(edit2.Text)<>0) and(length(edit1.Text)<>0) then

gl.adoquery1.SQL.Add('SELECT название,длительность_обучения,форма_обучения FROM Chl where адрес="'+edit2.Text+'" and название="'+edit1.Text+'"');

if (length(edit1.Text)=0) and(length(edit3.Text)<>0) and(length(edit2.Text)<>0)then

gl.adoquery1.SQL.Add('SELECT название,длительность_обучения,форма_обучения FROM Chl where длительность_обучения="'+edit2.Text+'" and форма_обучения ="'+edit3.Text+'"');

if (length(edit2.Text)=0) and(length(edit3.Text)<>0) and(length(edit1.Text)<>0)then

gl.adoquery1.SQL.Add('SELECT название,длительность_обучения,форма_обучения FROM Chl where форма_обучения ="'+edit3.Text+'" and название="'+edit1.Text+'"');

if (length(edit1.Text)=0)and(length(edit2.Text)=0) then

gl.adoquery1.SQL.Add('SELECT название,длительность_обучения,форма_обучения FROM Chl where форма_обучения ="'+edit3.Text+'"');

if (length(edit1.Text)=0)and(length(edit3.Text)=0) then

gl.adoquery1.SQL.Add('SELECT название,длительность_обучения,форма_обучения FROM Chl where длительность_обучения="'+edit2.Text+'"');

if (length(edit2.Text)=0)and(length(edit3.Text)=0) then

gl.adoquery1.SQL.Add('SELECT название,длительность_обучения,форма_обучения FROM Chl where название="'+edit1.Text+'"');

gl.adoquery1.ExecSQL;

gl.adoquery1.Active:=true;

end;

procedure TPoisk2.Button1Click(Sender: TObject);//поиск по одному или нескольким полям в //таблице Колледжи

begin

gl.adoquery1.Active:=false;

gl.ADOQuery1.Close;

gl.adoquery1.SQL.Clear;

if (length(edit1.text)<>0) and (length(edit2.text)<>0) and (length(edit3.text)<>0) then

gl.adoquery1.SQL.Add('SELECT название,адрес,контакты,факультет FROM college where (название="'+edit1.text+'" and адрес="'+edit2.Text+'" and контакты="'+edit3.Text+'")');

if (length(edit3.text)=0) and(length(edit2.Text)<>0) and(length(edit1.Text)<>0) then

gl.adoquery1.SQL.Add('SELECT название,адрес,контакты,факультет FROM college where (адрес ="'+edit2.Text+'" and название="'+edit1.Text+'")');

if (length(edit1.Text)=0) and(length(edit3.Text)<>0) and(length(edit2.Text)<>0) then

gl.adoquery1.SQL.Add('SELECT название,адрес,контакты,факультет FROM college where (адрес ="'+edit2.Text+'" and контакты="'+edit3.Text+'")');

if (length(edit2.Text)=0) and(length(edit3.Text)<>0) and(length(edit1.Text)<>0) then

gl.adoquery1.SQL.Add('SELECT название,адрес,контакты,факультет FROM college where (контакты="'+edit3.Text+'" and название="'+edit1.Text+'")');

if (length(edit1.Text)=0)and(length(edit2.Text)=0) then

gl.adoquery1.SQL.Add('SELECT название,адрес,контакты,факультет FROM college where контакты="'+edit3.Text+'"');

if (length(edit1.Text)=0)and(length(edit3.Text)=0) then

gl.adoquery1.SQL.Add('SELECT название,адрес,контакты,факультет FROM college where адрес="'+edit2.Text+'"');

if (length(edit2.Text)=0)and(length(edit3.Text)=0) then

gl.adoquery1.SQL.Add('SELECT название,адрес,контакты,факультет FROM college where название="'+edit1.Text+'"');

gl.adoquery1.ExecSQL;

gl.adoquery1.Active:=true;

end;

end.

unit Unit10;//форма печати отчётов

interface

uses

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

 Dialogs, StdCtrls, Printers;

type

 TForm10 = class(TForm)

   Memo1: TMemo;

   Button1: TButton;

   PrintDialog1: TPrintDialog;

   PrinterSetupDialog1: TPrinterSetupDialog;

   procedure Button1Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form10: TForm10;

implementation

{$R *.dfm}

procedure TForm10.Button1Click(Sender: TObject);//процедура печати

var i, j:integer;

   Prn:textfile;

begin

if PrintDialog1.Execute then

for I := 1 to PrintDialog1.Copies do

 begin

 AssignPrn(Prn);

    Rewrite(Prn);

    for j := 0 to Memo1.Lines.Count - 1 do

      Writeln(Prn, Memo1.Lines.Strings[j]);

    CloseFile(Prn);

  end;

end;

end.

Приложение №2. Руководство пользователя.

  •  Программа запускается при двойном клике на college.exe.
  •  Для входа в базу необходимо нажать на надпись «Вход в базу».
  •  Просмотр конкретной базы осуществляется в пункте главного меню «Базы данных».
  •  Для поиска необходимо выбрать в пункте меню «Поиск» требуемый критерий поиска («по названию» или «по факультету») и выбрать интересующую Вас базу.
  •  При необходимости работы с отчётами, необходимой зайти в пункт меню «Отчёты» и при необходимости распечатать отчёт.
  •  Добавление новых данных осуществляется кнопками на главной форме программы.
  •  Для выхода из программы выберите в меню пункт «Выход»


Изм.

Лист

№ докум.

Подпись

Дата

Лист

2

          КП   230105.12.35

Разраб.

Коструба А.В.

Провер.

Реценз.

Н. Контр.

Утверд.

Курсовой проект на тему: Разработка ПП АИС «Колледжи Москвы»

Лит.

Листов

25

Группа 47

Изм.

Лист

№ докум.

Подпись

Дата

Лист

3

           КП   230105. 12.35

Изм.

Лист

№ докум.

Подпись

Дата

Лист

4

           КП   230105. 12.35

Изм.

Лист

№ докум.

Подпись

Дата

Лист

5

          КП   230105. 12.35

Изм.

Лист

№ докум.

Подпись

Дата

Лист

6

           КП   230105. 12.35

Управление с помощью запросов SQL

Отчёты

Результаты запросов

АИС Колледжи

Работа с базами данных в Delphi

Изм.

Лист

№ докум.

Подпись

Дата

Лист

7

           КП   230105. 12.35

Изм.

Лист

№ докум.

Подпись

Дата

Лист

8

           КП   230105. 12.35

Изм.

Лист

№ докум.

Подпись

Дата

Лист

9

           КП   230105. 12.35

Изм.

Лист

№ докум.

Подпись

Дата

Лист

10

           КП   230105. 12.35

Изм.

Лист

№ докум.

Подпись

Дата

Лист

11

           КП   230105. 12.35

Изм.

Лист

№ докум.

Подпись

Дата

Лист

12

           КП   230105. 12.35

Подсистема обработки входных данных

АИС Колледжи

Подсистема формирования и печати отчетов

Подсистема работы с базой данных

Добавление колледжа

Добавление адреса

Выбор группы

Выбор специальности

Ведомость за отчетный период

Печать отчетов

Удаление колледжа

Удаление адреса

Редактирование данных


 

А также другие работы, которые могут Вас заинтересовать

32050. Коран и коранистика 49 KB
  Он приказал разрушить капища места жертвоприношений языческих богов бросить в Днепр их статуи и построить христианские церкви. Строились церкви: Десятинная церковь в Киеве Пресвятой Богородицы в Полоцке в 1037 г. церковные иерархии и князья начали борьбу за независимость русской церкви от Византии. Фактически через Синод император контролировал и жизнь Церкви.
32051. Старообрядчество (Раскольничество, Староверие) 29 KB
  Понятие старообрядчество появляется после раскола Русской православной церкви в середине XVII века. Официально термин старообрядчество стал использоваться с 1906 г.
32052. Расчеты с покупателями и заказчиками 146 KB
  В книге продаж регистрируются счетафактуры с указанием суммы НДС. В этом случае при отгрузке продавцом товара покупателю и при предъявлении ему расчетных документов продавцом признается доход от продажи и делается запись на суммы указанные в этих документах: Дт 62 Расчеты с покупателями и заказчиками Кт 90 Продажи Одновременно начисляется НДС в бюджет Дт 903 НДС Кт 68 Расчеты по НДС При поступлении оплаты делается запись ДТ 51 50 52 Кт 62 Расчеты с покупателями...
32053. Разработка макета промышленного манипулятора 1.57 MB
  Основным заданием является проектирование и создание макета промышленного манипулятора, который способен перемещать металлический объект с конвейера весом не меньше 100 грамм.
32054. Особенности понимания и переживания террористической угрозы молодежью города Саранска 676.5 KB
  Психология терроризма – одна из наиболее значимых отраслей современной психологической науки. Она включает в себя несколько направлений: психологию терроризма, психологию посттравматических стрессовых расстройств у людей, ставших прямыми и косвенными жертвами терактов, роль средств массовой информации в проблеме терроризма. По мнению В. В. Знакова, одним из важнейших направлений психологии терроризма является изучение переживания и понимания людьми террористической угрозы
32055. ПУТИ СОВЕРШЕНСТВОВАНИЯ УПРАВЛЕНИЯ ДЕНЕЖНЫМИ СРЕДСТВАМИ АО «Amanat Insurance» 1.57 MB
  Сущность и виды денежных потоков.2 Характеристика и управление расчётами денежных потоков. Методы оптимизации денежных потоков предприятия. Отчет о движении денежных средств АО mnt Insurnce.
32056. Влияние таких компонентов самосознания как дружелюбие и альтруистичность студентов педагогического факультета очной формы обучения и способов разрешения конфликтных ситуаций 838 KB
  Подходы к проблеме самосознания и история ее становления в работах отечественных и зарубежных психологов. Проблема становления подходов отечественных и зарубежных психологов к проблеме самосознания. Психологические особенности развития самосознания.
32057. Разработка и сборка солнечной батареи. Применение преобразователя для аккумулирования энергии 1.12 MB
  Снятие вольтамперных характеристик солнечной батареи. Применение DC DC преобразователя для аккумулирования солнечной энергии. Исследование характеристик солнечной батареи. Общая информация о солнечном излучении Количество солнечной энергии падающей на поверхность Земли связано с движением Солнца и зависит от времени суток и времени года.