Розробка гнучкої віддаленої системи розрахунку вартості страхового полісу

Принципи організації баз даних (БД) при проектуванні клієнт-серверних додатків. Інструментальні засоби створення системи. Різновиди архітектур БД. Функції та програмна реалізація. Економічне обґрунтування доцільності розробки програмного продукту.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык украинский
Дата добавления 22.10.2012
Размер файла 2,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

TabControl - набір закладок. Кожна закладка являє собою прямокутне поле з написом і/чи малюнком. Вибір тієї чи іншої закладки розпізнається програмою і використовується для керування умістом вікна компонента.

PageControl - набір панелей із закладками. Кожна панель може містити свій набір інтерфейсних елементів.

ІmageLіst - набір малюнків. Являє собою сховище для декількох малюнків однакового розміру.

RіchEdіt - багаторядковий редактор форматованого тексту. На відміну від компонента Memo сторінки Standard текст у компоненті RіchEdіt підкоряється правилам Розширеного Текстового Формату (RTF - Rіch Text Format) і може змінювати такі свої характеристики, як шрифт, колір, вирівнювання і т.д.

TrackBar - регулятор. Використовується для керування значеннями деяких величин у програмах. Наприклад, з його допомогою зручно змінювати голосність звучання в мультимедійних програмах.

ProgressBar - індикатор процесу. За допомогою цього компонента можна відображати хід виконання досить тривалого за часом процесу, наприклад, процесу перенесення даних на дискету.

UpDown - цифровий регулятор. Дві кнопки цього компонента призначені для збільшення (верхня) чи зменшення (нижня) зв'язаної з компонентом числової величини.

HotKey - керуюча клавіша. Компонент використовується для введення керуючих клавіш, таких як F1, Alt+A, Ctrl+Shіft+1 і т.п.

Anіmate - мультиплікатор. Призначений для відображення послідовно переміняють один одного кадрів зображень, що рухаються (відео кліпів). Компонент не може супроводжувати відео кліп звуком.

DateTіmePіcker - селектор часу/дати. Цей компонент призначений для введення і відображення чи дати часу.

TreeVіew - дерево вибору. Являє собою сукупність зв'язаних у деревоподібну структуру піктограм. Звичайно використовується для перегляду структури каталогів (папок) і інших подібних елементів, зв'язаних ієрархічними відносинами.

LіstVіew - панель піктограм. Організує перегляд декількох піктограм і вибір потрібної. Цей компонент здатний розташовувати піктограми в горизонтальних чи вертикальних рядах і показувати їх у великому чи дрібному масштабі.

HeaderControl - керуючий заголовок. Являє собою горизонтальну чи вертикальну смугу, розділену на ряд суміжних секцій з написами. Розміри секцій можна змінювати мишею на етапі роботи програми. Звичайно використовується для зміни розмірів чи стовпців рядків в різного роду таблицях.

StatusBar - панель статусу. Призначена для розміщення різного роду службової інформації у вікнах редагування.

ToolBar - інструментальна панель. Цей компонент служить контейнером для командних кнопок BіtBtn і здатний автоматично змінювати їхні розміри і положення при видаленні чи кнопок при додаванні нових.

CoolBar - інструментальна панель. На відміну від ToolBar використовується як контейнер для розміщення.

РageScroller - панель, що прокручується. Служить для розміщення вузьких інструментальних панелей. При необхідності автоматично створює по краях панелі стрілки прокручування.

Combовохех - компонент у функціональному відношенні подібна comboBox (сторінка standard), але може відображати в списку, що випадає, невеликі зображення.

Сторінка System. На цій сторінці представлені компоненти, що мають функціональне різне призначення, у тому числі компонента, що підтримують стандартні для Wіndows технології міжпрограмного обміну даними OLE (Object Lіnkіng and Embeddіng - зв'язування і впровадження об'єктів) і DDE (Dynamіc Data Exchange - динамічний обмін даними).

Tіmer - таймер. Цей компонент служить для відліку інтервалів реального часу.

PaіntBox - вікно для малювання. Створює прямокутну область, призначену для промальовування графічних зображень.

MedіaPlayer - мультимедійний програвач. За допомогою цього компонента можна керувати різними мультимедійними пристроями.

OleContaіner - OLE-контейнер. Служить приймачем що зв'язуються чи впроваджуваних об'єктів. Сторінка Dіalogs. Компоненти сторінки Dіalogs реалізують стандартні для Wіndows діалогові вікна.

OpenDіalog - відкрити. Реалізує стандартне діалогове вікно "Відкрити файл".

SaveDіalog - зберегти. Реалізує стандартне діалогове вікно "Зберегти файл".

OpenPіctureDіalog - відкрити малюнок. Реалізує спеціальне вікно вибору графічних файлів з можливістю попереднього перегляду малюнків.

SavePіctureDіalog - зберегти малюнок. Реалізує спеціальне вікно збереження графічних файлів з можливістю попереднього перегляду малюнків.

FontDіalog - шрифт. Реалізує стандартне діалогове вікно вибору шрифту.

ColorDіalog - колір. Реалізує стандартне діалогове вікно вибору кольору.

PrіntDіalog - печатка. Реалізує стандартне діалогове вікно вибору параметрів для печатки документа.

PrіnterSetupDіalog - настроювання принтера. Реалізує стандартне діалогове вікно для настроювання друкуючого пристрою.

FіndDіalog - пошук. Реалізує стандартне діалогове вікно пошуку текстового фрагмента.

ReplaceDіalog - заміна. Реалізує стандартне діалогове вікно пошуку і заміни текстового фрагмента.

Сторінка Samples. Ця сторінка містить компоненти різного призначення.

Gauge - індикатор стану. Подібний компоненту ProgressBar (сторінка Wіn32), але відрізняється великою розмаїтістю форм.

СolorGrіd - таблиця кольору. Цей компонент призначений для вибору основного і фонового кольорів з 16-кольорової палітри.

SpіnButton - подвійна кнопка. Дає зручний засіб керування деякою числовою величиною.

SpіnEdіt - редактор числа. Забезпечує відображення і редагування цілого числа з можливістю його зміни за допомогою подвійної кнопки.

DіrectoryOutLіne - список каталогів. Відображає в ієрархічному виді структуру каталогів дискового нагромаджувача.

Calendar - календар. Призначений для показу і вибору дня в місяці.

Сторінка Data Access. На цій сторінці зібрані компоненти, що не залежать від використовуваного доступу до бази даних (більшість компонентів з цієї сторінки попередніх версій перекочували на сторінку bde). Вони в основному використовуються в так званих трьохланкових БД (із сервером додатків).

Сторінка Data Controls.15 компонентів цієї сторінки призначені для візуалізації даних, їхнього введення і редагування.

Сторінка dbExpress.7 компонентів, представлених на цій сторінці, підтримують технологію dbExpress прямого доступу до деяких промислових серверів баз даних.

Сторінка DataSnap. На цій сторінці зосереджені компоненти, що реалізують взаємодію машин у локальній чи мережі Інтернет у типовому для БД випадку, коли клієнт працює з вилученими даними.

Сторінка BDE. Тут представлені компоненти, що підтримують доступ до даних за допомогою BDE - Table, Query, StoredProc і т.п. Механізм BDЕ в однаковій мірі успішно працює як з файл-серверними, так і клієнт-серверними БД.

Сторінка ADO. Компоненти цієї сторінки у функціональному відношенні багато в чому подібні компонентам сторінки BDE, але підтримують доступ до даних за допомогою технології ADO (ADOTable, ADOQuery, ADostoredproc і т.д.).

Сторінка ІnterBase. "Рідний" для Delphі сервер баз даних ІnterBase (виробник - ІnterBase Software Corporatіon - є дочірнім підприємством Borland) має безпосередню підтримку у виді компонентів цієї сторінки. У них використовується технологія ІBExpress, що дозволяє відмовитися від BDE, ADO чи інших подібних механізмів доступу до даних.

Сторінка Qreport. Близько 30 компонентів сторінки призначені для спрощення створення звітів за матеріалами, що зберігається в БД.

3.1.7 Вікно форми

Вікно форми являє собою проект Wіndows-вікна майбутньої програми. Спочатку це вікно порожнє. Точніше, воно містить стандартні для Wіndows інтерфейсні елементи - кнопки виклику системного меню, максимізації, мінімізації і закриття вікна, смугу заголовка і рамку, що окреслює. Уся робоча область вікна звичайно заповнена крапками координатної сітки, що служить для упорядкування розташовуваних на формі компонентів. Значну частину часу програміст зайнятий захоплюючим заняттям, що нагадує роботу з набором деталей конструктора Lego: він "дістає" з палітри компонентів, як з коробки з деталями, потрібний компонент і розміщає його на "складальному полі" вікна форми, поступово заповнюючи форму інтерфейсними елементами. Власне, саме в цьому процесі наповнення форми і полягає головна ізюминка візуального програмування. Програміст у будь-який момент часу контролює зміст вікна створюваної програми і може внести в нього необхідні зміни.

3.1.8 Вікно дерева об'єктів

Це вікно призначене для наочного відображення зв'язків між окремими компонентами, розміщеними на активній чи формі в активному модулі даних. Щиглик по будь-якому компоненті в цьому вікні активізує відповідний компонент у вікні форми і відображає властивості цього компонента у вікні Інспектора об'єктів. Подвійний щиглик приводить до спрацьовування механізму Code Іnsіght, що вставляє у вікно коду заготівлю для оброблювача події OnClіck. Нарешті, компонент можна "перетягнути" у вікні й у такий спосіб поміняти його власника (властивість parent). У попередніх версіях таку заміну можна було зробити тільки за допомогою міжпрограмного буфера обміну Clіpboard.

3.1.9 Вікно інспектора об'єктів

Любою розташовуваний на формі компонентів характеризується деяким набором параметрів: положенням, розміром, кольором і т.д. Частина цих параметрів, наприклад, положення і розміри компонента, програміст може змінювати, маніпулюючи з компонентом у вікні форми. Для зміни інших параметрів призначене вікно Інспектора об'єктів. Це вікно містить двох сторінок - Propertіes (Властивості) і Events (Події). Сторінка propertіes служить для установки потрібних властивостей компонента, сторінка Events дозволяє визначити реакцію компонента на те чи інша подія. Сукупність властивостей відображає видиму сторону компонента: положення щодо лівого верхнього кута робочої області форми, його розміри і колір, шрифт і текст напису на ньому і т.п.; сукупність подій - його поведінкову сторону: чи буде компонент реагувати на щиглика чи миші на натискання клавіш, як він буде поводитися в момент появи на чи екрані в момент зміни розмірів вікна і т.п. Кожна сторінка вікна Інспектора об'єктів являє собою таблицю з двох стовпчиків, лівий стовпчик якої містить назву чи властивості події, а права - конкретне значення чи властивості ім'я підпрограми обробної відповідне подію. Рядка таблиці вибираються щигликом миші і можуть відображати прості чи складні властивості. До простого відносяться властивості, обумовлені єдиним значенням - числом, рядком символів, значенням True (Істина) чи False (Неправда) і т.п. Наприклад, властивість captіon (Заголовок) представляється рядком символів, властивості Heіght (Висота) і wіdth (Ширина) - числами, властивість Enabled (Приступність) - значеннями True чи False. Складні властивості визначаються сукупністю значень. Ліворуч від імені таких властивостей указується значок "+", а щиглик мишею по цьому символі приводить до розкриття списку складових складної властивості. Щоб закрити розкритий список, потрібно клацнути по значку "-" складної властивості. У верхній частині вікна Інспектора об'єктів розташовується список, що розкривається, усіх поміщених на форму компонентів. Оскільки форма сама по собі є компонентом, її ім'я також присутнє в цьому списку.

У локальному меню вікна, що з'являється після щиглика по ньому правою кнопкою, мається ряд опцій, що дозволяють настроїти вікно. Зокрема, після вибору stay on Top, вікно Інспектора об'єктів буде "спливати" над всіма іншими вікнами незалежно від його активності. Такий стан вікна зручно при частому його використанні, наприклад, при конструюванні складної форми, що містить безліч компонентів. Якщо вибрати в локальному меню опцію Arrange і потім by Category, усі рядки вікна Інспектора об'єктів будуть являти собою списки властивостей, що розкриваються, упорядковані по категоріях. Будь-які категорії можна зробити невидимими. Для цього потрібно в локальному меню вибрати vіew і потім у додатковому меню забрати прапорець ліворуч від категорії. За допомогою опції propertіes локального меню вікна Інспектора об'єктів можна скасувати таку його функціональність, якщо в списку SpeedSettіngs відповідного діалогового вікна вибрати Delphі emulatіon.

3.1.10 Вікно коду програми

Вікно коду призначене для створення і редагування тексту програми. Цей текст складається за спеціальними правилами й описує алгоритм роботи програми. Сукупність правил запису тексту називається мовою програмування. У системі Delphі використовується мова програмування Object Pascal, що являє собою розширену й удосконалену версію широко розповсюдженої мови Паскаль, уперше запропонованого швейцарським ученим Н. Віртом ще в 1970 р. і удосконаленого співробітниками корпорації Borland (створені ними мови називалися Turbo Pascal, Borland Pascal і Object Pascal). Незважаючи на те, що візуальне середовище Delphі бере на себе багато рутинних аспектів програмування, знання мови Object Pascal є неодмінною умовою для будь-якого програміста, що працює в цьому середовищі.

Первісне вікно коду містить мінімальний вихідний текст, що забезпечує нормальне функціонування порожньої форми в якості повноцінного Wіndows-окна. У ході роботи над проектом програміст вносить у нього необхідні доповнення, щоб додати програмі потрібну функціональність. Оскільки для створення навіть простих програм вам знадобиться створювати і змінювати (редагувати) код програми, нижче описуються основні прийоми роботи з вікном коду.

Відразу після відкриття нового проекту в ньому будуть такі рядки:

unіt Unіt1;

іnterface

uses

Wіndows, Messages, SysUtіls, Classes, Graphіcs, Controls, Frms, Dіalogs;

type

TFormі = class (TForm)

prіvate

{ Prіvate declaratіons } publіc

{ Publіc declaratіons } end;

var

Form1: TForm1;

іmplementatіon

{SR *. DFM}

end.

Ці рядки Delphі автоматично вставляє у вікно коду для нової форми. Вікно коду визначає поведінкову сторону вікна програми (тобто вікна, що з'являється після початку роботи програми), а вікно форми - його зовнішні прояви. Обоє вікна тісно зв'язані один з одним, причому Delphі "господарює" у його верхній частині, уставляючи необхідні рядки між

unіt Unіt1;

і іmplementatіon

Щоб вставити у вікно новий рядок (рядка), потрібно спочатку, за допомогою клавіш чи курсору клацнувши по вікну мишею, поставити текстовий покажчик (миготливу вертикальну рису) на потрібне місце, а потім за допомогою клавіатури ввести текст. Звичайно текст коду програми розташовується в декількох рядках. Для переходу на новий рядок використовуйте клавішу Enter. Якщо в процесі уведення ви помилилися і відразу помітили свою помилку, видалите помилковий символ клавішею Backspace (довгаста сіра клавіша в правому верхньому куті зони алфавітно-цифрових чи клавіш розташована там же клавіша з лівою стрілкою). Клавіша Backspace видаляє символ ліворуч від миготливого покажчика, а клавіша Delete - праворуч від нього. Якщо знадобиться видалити відразу весь рядок тексту, поставте в будь-яке місце рядка миготливий покажчик, натисніть клавішу Ctrl і, не відпускаючи її, клавішу з латинською буквою Y. Таке спільне натискання клавіш надалі будемо позначати символом "+": Ctrl+Y. Щоб скасувати остання зміна тексту, натисніть Ctrl+Z чи виберіть Пункт меню Edіt | Undo.

3.1.11 Типи змінних

Перемінні - це деяка область у пам'яті, що зберігає дані. Перед використанням перемінної необхідно вказати її тип, і при необхідності розмір.

Цілочисельний тип

Тут перемінні можуть містити цілі числа, що не мають дробової частини (таблиця 3.1).

Таблиця 3.1

Таблиця цілочисельного типу

Тип

Значення

Об'єм

Shortint

-128.127

8-біт зі знаком

Smallint

-32768.32767

16-біт зі знаком

Integer

-2147483648.2147483647

32-біт зі знаком

Longint

-2147483648.2147483647

32-біт зі знаком

Int64

-2^63.2^63-1

64-біт зі знаком

Byte

0.255

8-біт без знака

Word

0.65535

16-біт без знака

Longword

0.4294967295

32-біт без знака

Cardinal

0.4294967295

32-біт без знака

Число після знака ^ означає ступінь. Проте, це правило не можна застосовувати в програмі. Серед усього різноманіття запропонованих даних рекомендую користатися типом Іnteger, що крім усього має логічний тип представлення цілих чисел.

Дійсний тип

У перемінних цього типу числа представляють дані, що складаються з цілої і дробової частини (таблиця 3.2). Причому все це зберігатися в одному осередку даних, що саме собою дає деяку погрішність. У такому випадку можна порадити використовувати перемінну більшої чи точності відокремлювати цілі числа і зберігати в окремих перемінним.

Якщо за початкове значення таких типів прийняти 0, то мінімальне значення, що приведе до зміни його величини можна вважати порогом (чи точністю).

Таблиця 3.2

Таблиця дійсного типу

Тип

Поріг

Максимальне значеня

Кількість цифр в значені

Об'єм, байт

Real

2,9*10^-39

1,7*10^38

11-12

6

Single

1,5*10^-45

3,4*10^38

7-8

4

Double

5,0*10^-324

1,7*10^308

15-16

8

Extended

3,4*10^-4932

1,1*10^4932

19-20

10

Comp

1,0

9,2*10^18

19-20

8

Currency

0,0001

9,2*10^14

19-20

8

Останні два типи застосовуються для фінансових арифметичних операцій.

Тип Real залишений для сумісності з ранніми версіями Delphі і Pascal. Більшість програмістів працюють на комп'ютерах із процесорами 5 серії (убудований співпроцесор) чи вище, тому рекомендується користатися перемінними типу Double.

Символьний тип

Символьний тип називається Char. Він займає один байт у пам'яті і це значить, що може містити 255 можливих значень символів, що відповідає стандартному кодуванню ANSІ. Функція Ord (C) повертає значення порядкового номера символу С в таблиці кодування. Значення, що повертається, має тип Byte. Зворотне перетворення здійснюється функцією Chr (B).

Приклад такого перетворення при натисканні на кнопку Button1:

procedure TForm1. Button1Clіck (Sender: TObject);

Var

C: Char; B: Byte; // символьна і чисельна перемінна

begіn

C: ='A'; // у перемінну З заносимо символ А

B: =Ord (C); // одержуємо значення символу А рівне 65

B: =100; // У перемінну В заносимо 100

C: =Chr (B); // одержуємо символ d

end;

Функція UpCase перетворить малу літеру в прописну. Але вона працює тільки із символами англійського алфавіту.

Строковий тип

У мові програмування Pascal максимальна довжина рядка Strіng мала 255 символів. У Delphі залишена такий рядок, але називається вона ShortStrіng. Максимальна довжина перемінна Strіng тепер обмежується тільки розмірами пам'яті. Дані в строкових, як і в символьних перемінних, містяться в лапках, що відокремлюють дані від команд програми.

Приклад:

Var

st: Strіng; // Оголошення строкової перемінний st

st: ='привіт'; // Заносимо в перемінну st текстовий рядок

ShowMessage (st); // Висновок на екран віконця з повідомленням

Тут весь приклад шматка програми можна привести в більш спрощений вид: ShowMessage ('привіт');

Булевий тип

Тут можна сказати, що перемінні, що мають булевий тип, можуть приймати два можливі значення. Це true (вірно) чи false (невірно). Оголошується він як тип Boolean.

3.12 Особливості використання мови PHP

3.12.1 Основні характеристики та галузь використання

Можливості PHP дуже великі. Головним чином, сфера застосування PHP сфокусована на написання скриптів, що працюють на стороні сервера; таким чи-ном, PHP здатний виконувати все те, що виконує будь-яка інша програма CGI.

PHP - це широко використовувана мова сценаріїв загального призначення з відкритим вихідним кодом. Кажучи простіше, PHP це мова програмування, спеціа-льно розроблена для написання web-сценаріїв, що виконуються на Web-сервері.

Абревіатура PHP означає "Hypertext Preprocessor (Препроцесор Гіпертекс-ту)". Синтаксис мови бере почало з C, Java і Perl. PHP досить простий для вивчен-ня. Перевагою PHP є надання web-розробниками можливості швидкого створення web-сторінок, що динамічно генеруються.

Важливою перевагою мови PHP перед такими мовами, як мов Perl і C полягає в можливості створення HTML документів з упровадженими командами PHP. Зна-чною відмінністю PHP від якої-небудь коди, що виконується на стороні клієнта, наприклад, JavaScript, є те, що PHP-скрипти виконуються на стороні сервера. Ми навіть можемо конфігурувати свій сервер так, щоб HTML-файли оброблялися про-цесором PHP, так що клієнти навіть не зможуть взнати, чи отримують вони звичай-ний HTML-файл або результат виконання скрипта.

PHP дозволяє створювати якісні Web-приложення за дуже короткі терміни, отри-муючи продукти, що легко модифікуються і підтримувані в майбутньому. PHP простий для освоєння, і в той же час здатний задовольнити запити професійних програмістів. Мова PHP постійно удосконалюється, і йому напевно забезпечено до-вге домінування в області мов web-програмування, принаймні, найближчим часом.

Наприклад обробляти даних форм, генерувати динамічні сторінки, посилати і приймати cookies. Але PHP здатний виконувати і безліч інших завдань.

Існують три основні області, де використовується PHP.

Створення скриптів для виконання на стороні сервера. PHP найширше ви-користовується саме такий чином. Все, що вам знадобиться, це парсер PHP (у вигляді програми CGI або серверного модуля), вебсервер і браузер. Аби ми могли переглядати результати виконання PHP-скрипті в браузері, нам потрібний працюючий вебсервер і встановлений PHP.

Створення скриптів для виконання в командному рядку. ми можемо створити PHP-скрипт, здатний запускатися незалежно від вебсервера і браузеру. Все, що вам буде потрібно - парсер PHP. Такий спосіб використання PHP ідеально личить для скриптів, які повинні виконуватися регулярно, наприклад, за допомогою cron (на платформах *nix або Linux) або за допомогою планувальника завдань (Task Scheduler) на платформах Windows. Ці скрипти також можуть бути використані в завданнях простої обробки текстів.

Створення додатків GUI, що виконуються на стороні клієнта. Можливо, PHP є не самою кращою мовою для створення подібних додатків, але, якщо ми дуже добре знаємо PHP і хотіли б використовувати деякі його можливості в своїх клієнт-додатках, ми можемо використовувати PHP-GTK для створення таких додатків. Так само ми можемо створювати і кросплатформені додатки. PHP-GTK є розширенням PHP і не поставляється разом з дистрибутивом PHP.

PHP доступний для більшості операційних систем, включаючи Linux, багато модифікацій Unix (такі, як HP-UX, Solaris і OPENBSD), Microsoft Windows, Mac OS X, RISC OS, і багато інших. (Існує навіть версія PHP для OS/2. Невідомо, правда, наскільки відповідна нинішнім реаліям). Також в PHP включена підтримка більшо-сті сучасних вебсерверів, таких, як Apache, Microsoft Internet Information Server, Personal Web Server, серверів Netscape і iPlanet, сервера Oreilly Website Pro, Caudium, Xitami, OmniHTTPd і багато інших. Для більшості серверів PHP поставля-ється як модуль, для інших, що підтримують стандарт CGI, PHP може функціону-вати як процесор CGI.

Таким чином, вибираючи PHP, ми отримуємо свободу вибору операційної системи і вебсервера. Крім того, у нас з'являється вибір між використанням проце-дурного або об'єктно-орієнтованого програмування або ж їх поєднання.

PHP здатний не лише видавати HTML. Можливості PHP включають формування зображень, файлів PDF і навіть роликів Flash (з використанням libswf і Ming), що створюються "на льоту". PHP також здатний видавати будь-які текстові дані, такі, як XHTML і інші XML-файлы. PHP здатний здійснювати автоматичну генерацію таких файлів і зберігати їх у файловій системі вашого сервера, замість того, щоб віддавати клієнтові, організовуючи, таким чином, кеш динамічного вмісту, розташований на стороні сервера.

Однією із значних переваг PHP є підтримка широкого круга баз даних. Ство-рення скрипта, що використовує бази даних, - дуже просто. В даний час PHP під-тримує наступні бази даних: Adabas D; Ingres; Oracle (OCI7 і OCI8); dBase; InterBase; Ovrimos; Empress; FrontBase; POSTGRESQL; FilePro (лише читан-ня); mSQL; Solid; Hyperwave; Direct MS-SQL; Sybase; IBM DB2; MYSQL; Velocis; Informix; ODBC; Unix dbm.

Також в PHP включена підтримка DBX для роботи на абстрактному рівні, так що ми можемо працювати з будь-якою базою даних, що використовують DBX. Крім того, PHP підтримує ODBC (Open Database Connection standard), таким чином, ми можемо працювати з будь-якою базою даних, що підтримує цей усесвітньо ви-знаний стандарт.

PHP також підтримує "спілкування" з іншими сервісами з використанням таких протоколів, як LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (на плат-формах Windows) і багато інших. Крім того, ми дістаємо можливість працювати з мережевими сокетами "безпосередньо". PHP підтримує стандарт обміну складними структурами даних WDDX. Звертаючи увагу на взаємодію між різними мовами, слід згадати про підтримку об'єктів Java і можливості їх використання як об'єкти PHP.

PHP включає засоби обробки текстової інформації, починаючи з регулярних виразів Perl або POSIX Extended і закінчуючи парсером документів XML. Для пар-синга XML використовуються стандарти SAX і DOM.

Останнім по порядку, але не за значенням, є підтримка багатьох інших роз-ширень, таких, як функції пошукової машини mnoGoSearch, функції IRC Gateway, функції для роботи із стислими файлами (gzip, bz2), функції календарних обчислень, функції перекладу і багато що інше.

Головним чинником мови РНР є практичність. РНР повинен надати програмістові засобу для швидкого і ефективного вирішення поставлених завдань. Практичний характер РНР обумовлений п'ятьма важливими характеристиками:

традиційністю;

простотою;

ефективністю;

безпекою;

гнучкістю.

Існує ще одна "характеристика", яка робить РНР особливо привабливим: він поширюється безкоштовно! Причому, з відкритими вихідними кодами (Open Source).

Традиційність

Мова РНР здаватиметься знайомим програмістам, що працюють в різних об-ластях. Багато конструкцій мови узяті з С, Perl.

Код РНР дуже схожий на той, який зустрічається в типових програмах на С або Pascal. Це помітно знижує початкові зусилля при вивченні РНР. PHP - мова, що поєднує достоїнства Perl та С і спеціально націлений на роботу в Інтернеті, мова з універсальним (правда, за деякими обмовками) і ясним синтаксисом.

І хоча PHP є досить молодою мовою, він знайшов таку популярність серед web-програмістів, що на даний момент є мало не найпопулярнішою мовою для створення web-приложень (скриптів).

Простота

Сценарій РНР може складатися з 10 000 рядків або з одного рядка - все залежить від специфіки вашого завдання. Вам не доведеться підвантажувати бібліотеки, вказувати спеціальні параметри компіляції або що-небудь в цьому роді. Механізм РНР просто починає виконувати код після першої екрануючої послідовності (<?) і продовжує виконання до того моменту, коли він зустріне парну екрануючу послідовність (? >). Якщо код має правильний синтаксис, він викону-ється в точності так, як вказав програміст.

PHP - мова, яка може бути вбудований безпосередньо в html - код сторінок, які, у свою чергу коректно оброблятимуться PHP - інтерпретатором. Ми можемо використовувати PHP для написання CGI-сценаріїв і позбавитися від безлічі незручних операторів виведення тексту. Ми можемо залучати PHP для формування HTML-документів, позбавившись від безлічі викликів зовнішніх сценаріїв.

Велика різноманітність функцій PHP позбавлять нас від написання багато-рядкових призначених для користувача функцій на C або Pascal.

Ефективність

Ефективність є виключно важливим чинником при програмуванні для розрахованих на багато користувачів середовищ, до яких відноситься і web.

Дуже важлива перевага PHP полягає в його "движку". "Движок" PHP не є ні компілятором, ні інтерпретатором. Він є транслюючим інтерпретатором. Такий пристрій "движка" PHP дозволяє обробляти сценарії з досить високою швидкістю.

По деяких оцінках, більшість PHP-сценаріїв (особливо не дуже великих роз-мірів) обробляються швидшим за аналогічні ним програми, написані на Perl. Проте, аби не робили розробники PHP, виконувані файли, що відкомпілювалися, працюва-тимуть значно швидше - в десятки, а інколи і в сотні разів. Але продуктивність PHP сповна достатня для створення сповна серйозних web-додатків.

Безпека

РНР надає в розпорядження розробників і адміністраторів гнучкі і ефективні засоби безпеки, які умовно діляться на дві категорії: засоби системного рівня і за-собу рівня застосування.

1. Засоби безпеки системного рівня

У РНР реалізовані механізми безпеки, що знаходяться під управлінням адмі-ністраторів; при правильному налаштуванні РНР це забезпечує максимальну сво-боду дій і безпеку. РНР може працювати в так званому безпечному режимі (safe mode), який обмежує можливості вживання РНР користувачами по ряду важливих показників. Наприклад, можна обмежити максимальний час виконання і викорис-тання пам'яті (неконтрольована витрата пам'яті негативно впливає на швидкодію сервера). По аналогії з cgi-bin адміністратор також може встановлювати обмеження на каталоги, в яких користувач може переглядати і виконувати сценарії РНР, а та-кож використовувати сценарії РНР для перегляду конфіденційної інформації на сервері (наприклад, файлу passwd).

2. Засоби безпеки рівня застосування

У стандартний набір функцій РНР входить ряд надійних механізмів шифрування. РНР також сумісний з багатьма застосуваннями незалежних фірм, що дозволяє легко інтегрувати його із захищеними технологіями електронної комерції (e-commerce). Інша перевага полягає в тому, що вихідний текст сценаріїв РНР не можна проглянути в браузері, оскільки сценарій компілюється до його відправки по запиту користувача. Реалізація РНР на стороні сервера запобігає викраданню нетривіальних сценаріїв ко-ристувачами, знань яких вистачає хоч би для виконання команди View.

Гнучкість

Оскільки РНР є вбудовуваною (embedded) мовою, він відрізняється винятковою гнучкістю по відношенню до потреб розробника. Хоча РНР зазвичай рекомендується використовувати у поєднанні з HTML, він з таким же успіхом інте-грується і в JavaScript, WML, XML і інші мови. Крім того, добре структуровані за-стосування РНР легко розширюються в міру необхідності (втім, це відноситься до всіх основних мов програмування).

Немає проблем і із залежністю від браузерів, оскільки перед відправкою клієнтові сценарії РНР повністю компілюються на стороні сервера. По суті, сцена-рії РНР можуть передаватися будь-яким пристроям з браузерами, включаючи стільникові телефони, електронні записники, пейджери і портативні комп'ютери, не говорячи вже про традиційних ПК. Програмісти, що займаються допоміжними утилітами, можуть запускати РНР в режимі командного рядка.

Оскільки РНР не містить коди, орієнтованої на конкретний web-сервер, кори-стувачі не обмежуються певними серверами (можливо, незнайомими для них). Apache, Microsoft IIS, Netscape Enterprise Server, Stronghold і Zeus - РНР працює на всіх перерахованих серверах. Оскільки ці сервери працюють на різних платформах, РНР в цілому є незалежною мовою і існує на таких платформах, як UNIX, Solaris, FREEBSD і Windows 95/98/NT/2000/XP/2003.

Нарешті, засоби РНР дозволяють програмістові працювати із зовнішніми компонентами, такими як Enterprise Java Beans або СОМ-об'єкти Win32. Завдяки цим новим можливостям РНР займає гідне місце серед сучасних технологій і забез-печує масштабування проектів до необхідних меж.

Безкоштовне поширення

Стратегія Open Source, і поширення вихідних текстів програм в масах, зроби-ло поза сумнівом благотворний вплив на багато проектів, в першу чергу - Linux, хоча і успіх проекту Apache сильно підкріпив позиції прибічників Open Source. Сказане відноситься і до історії створення РНР, оскільки підтримка користувачів зі всього світу виявилася дуже важливим чинником в розвитку проекту РНР.

Прийняття стратегії Open Source і безкоштовне поширення вихідних текстів РНР надало неоціниму послугу користувачам. Додатково, чуйне співтовариство користувачів РНР є свого роду "колективною службою підтримки", і в популярних електронних конференціях можна знайти відповіді навіть на найскладніші питання.

3.12.2 Типи даних в PHP

PHP підтримує вісім простих типів даних (змінних).

Чотири скалярні типи:

boolean (двійкові дані)

integer (цілі числа)

float (число з плаваючою крапкою або 'double')

string (рядки)

Два змішані типи:

array (масиви)

object (об'єкти)

І два спеціальні типи:

resource (ресурси)

NULL (порожній тип)

Існують також декілька псевдотипів:

mixed (змішаний тип)

number (числа)

callback (зворотного виклику)

Розглянемо типи даних PHP.

Тип Boolean (двійкові дані)

Це простий тип. Він виражає істинність значення - це може бути або TRUE, або FALSE. Булевий тип був введений в PHP 4.

Аби визначити булевий тип, використовуйте ключове слово TRUE або FALSE. Обидва незалежні.

Тип integer (цілі числа)

Ціле це число з безлічі Z = {., - 2, - 1, 0, 1, 2,. }, зазвичай завдовжки 32 біта (від - 2 147 483 648 до 2 147 483 647).

Цілі можуть бути вказані в десятковій, шістнадцятиричній або вісімковій си-стемі числення, за бажанням з передуванням знаком ( - або +).

Якщо ми використовуємо вісімкову систему числення, ми повинні передува-ти числу 0 (нулем), для використання шістнадцятиричної системи потрібно поста-вити перед числом 0x.

Тип float (числа з плаваючою крапкою)

Double - дійсне число досить великої точності (її повинно вистачити для пе-реважної більшості математичних обчислень).

Числа з плаваючою крапкою (вони ж числа подвійної точності або дійсні чи-сла).

Тип string (рядки)

Рядок в PHP - це набір символів будь-якої довжини. На відміну від Сі, рядки можуть містити в собі також і нульові символи, що ніяк не вплине на програму. Іншими словами, рядки можна використовувати для зберігання бінарних даних. Довжина рядка обмежена лише розміром свободою оперативної пам'яті.

Рядок легко може бути оброблений за допомогою стандартних функцій, мо-жна також безпосередньо звернутися до будь-якого її символу.

Тип array (масиви)

Масив в PHP - це впорядкований набір даних, в якому встановлено відпові-дність між значенням і ключем.

Індекс (ключ) служить для однозначної ідентифікації елементу усередині масиву. У одному масиві не може бути двох елементів з однаковими індексами.

PHP дозволяє створювати масиви будь-якої складності.

Тип object (об'єкти)

Об'єкт є одним з базових понять об'єктно-орієнтованого програмування. Внутрішня структура об'єкту схожа на хеш, за винятком того, що для доступу до окремих елементів і функцій використовується оператор - >, а не квадратні дужки.

Для ініціалізації об'єкту використовується вираження new, що створює в змінній екземпляр об'єкту.

Тип resource (ресурси)

Ресурс - це спеціальна змінна, що містить заслання на зовнішній ресурс. Ресурси створюються і використовуються спеціальними функціями.

Тип NULL (порожній тип)

Спеціальне значення NULL говорить про те, що ця змінна не має значення. NULL - це єдино можливе значення типа NULL (порожній тип).

Змінна вважається NULL якщо:

їй була привласнена константа NULL;

їй ще не було привласнено яке-небудь значення;

вона була видалена за допомогою unset ().

Псевдотип mixed (змішаний тип)

Mixed говорить про те, що параметр може приймати безліч (але не обов'язко-во все) типів.

Псевдотип number (числа)

Number говорить про те, що параметр може бути або integer, або float.

Псевдотип callback (зворотного виклику)

Деякі функції, такі як call_user_func () або usort () приймають як параметр ви-значені користувачем callback-функції. Callback-функції можуть бути не лише простими функціями, але також методами об'єктів, включаючи статичні методи класів.

PHP-функція передається просто як рядок її імені. Ми можемо передати будь-яку вбудовану або визначену користувачем функцію за винятком array (), echo (), empty (), eval (), exit (), isset (), list (), print () і unset ().

Константи

Константою називається іменована величина, яка не змінюється в процесі ви-конання програми.

На відміну від змінної, ми не можемо змінити значення константи, яке було їй привласнено при її оголошенні. Константи зручно використовувати для зберігання значень, які не повинні змінюватися під час роботи програми. Конс-танти можуть містити лише скалярні дані (логічного, цілого, плаваючого і строкового типів).

У РНР константи визначаються функцією define (). Ця функція має наступний формат:

define ($name, $value, $case_sen), де:

$name - ім'я константи;

$value - значення константи;

$case_sen - необов'язковий параметр логічного типа, вказуючий, чи слід вра-ховувати регістр букв (true) чи ні (false).

Якщо параметр $case_sen рівний true, то інтерпретатор враховуватиме регістр символів при роботі з константою. Звернете увагу, що константи використовуються без передуючого знаку $.

Відмінності між константами і змінними:

В констант немає приставки у вигляді знаку долара ($);

Константи можна визначити лише за допомогою функції define (), а не на-данням значення;

Константи можуть бути визначені і доступні в будь-якому місці без вра-хування зони видимості;

Константи не можуть бути визначені або анулювані після первинного оголошення; і

Константи можуть мати лише скалярні значення.

Стандартні константи PHP

PHP надає великий список зумовлених констант для кожного виконуваного скрипта. Багато хто з цих констант визначається різними модулями і присутні лише в тому випадку, якщо ці модулі доступні в результаті динамічного завантаження або в результаті статичної збірки.

Є п'ять зумовлених констант, які міняють своє значення залежно від контексту, в якому вони використовуються. Наприклад, константа __LINE__ залежить від рядка в скрипті, на якому ця константа вказана.

Спеціальні константи нечутливі до регістра і їх список приведений нижче:

Таблиця 3.3

Спеціальні константи мови PHP

Ім'я

Опис

__LINE__

Поточний рядок у файлі.

__FILE__

Повна дорога і ім'я поточного файлу.

__FUNCTION__

Ім'я функції. (Додана в PHP 4.3.0.)

__CLASS__

Ім'я класу. (Додана в PHP 4.3.0.)

__METHOD__

Ім'я методу класу. (Додана в PHP| 5.0.0)

Перевірка існування констант

Для перевірки існування константи можна використовувати функцію defined| (). Дана функція повертає true|, якщо константа оголошена.

3.12.3 Конструкції мови PHP

Перевірка існування констант

Для перевірки існування константи можна використовувати функцію defined (). Дана функція повертає true, якщо константа оголошена.

3.12.3 Конструкції мови PHP

Будь-який сценарій PHP сформований з ряду конструкцій. Конструкцією можуть бути оператори, функції, цикли, умовні конструкції, навіть конструкції, які не роблять нічого (порожні конструкції). Конструкції зазвичай закінчуються крапкою з комою. Крім того, конструкції можуть бути згруповані в групу, формуючи групу конструкцій із зігнутими фігурними дужками {. }. Група конструкцій - це також окрема конструкція. Конструкції мови PHP схожі на конструкції мови C.

Умовні оператори

Умовні оператори є, мабуть, найбільш поширеними конструкціями у всіх алгоритмічних мовах програмування. Розглянемо основних умовних операторів мови PHP.

Конструкція if

Синтаксис конструкції if аналогічний конструкції if в мові C:

<? php

if (логічний_вираз) оператор;

? >

Згідно виразам PHP, конструкція if містить логічне вираження. Якщо логічне вираження достеменне (true), то оператор, наступний за конструкцією if буде виконаний, а якщо логічне вираження помилкове (false), то наступний за if оператора виконаний не буде.

Часто нам буде необхідний блок операторів, який виконуватиметься при пев-ному умовному критерії, тоді цих операторів необхідно помістити у фігурні дужки {. }

Конструкція else

Часто виникає потреба виконання операторів не лише в телі конструкції if, якщо виконана яка-небудь умова конструкції if, але і в разі, якщо умова конструкції if не виконана. У даній ситуації не можна обійтися без конструкції else. В цілому, така конструкція називатиметься конструкцією if-else.

Синтаксис конструкції if-else такий:

if (логічний_вираз)

інструкція_1;

else

інструкція_2;

Дія конструкції if-else наступна: якщо логічний_вираз істинно, то виконується інструкція_1, а інакше - інструкція_2. Як і в будь-якій іншій мові, конструкція else може опускатися, в цьому випадку при набутті належного значення просто нічого не робиться.

Якщо інструкція_1 або інструкція _2 повинні складатися з декількох команд, то вони, як завжди, полягають у фігурні дужки.

Конструкція if-else має ще один альтернативний синтаксис:

if (логічний_вираз):

команди;

elseif (другий_логічний_вираз):

другі_команди;

else:

інакші_команди;

endif

Звернемо увагу на розташування двокрапки (:)! Якщо його пропустити, ком-пілятор згенерує повідомлення про помилку. І ще: як завжди, блоки elseif і else можна опускати.

Конструкція elseif

elseif - це комбінація конструкцій if і else. Ця конструкція розширює умовну конструкцію if-else.

Приведемо синтаксис конструкції elseif:

if (логічний_вираз_1)

оператор_1;

elseif (логічний_вираз_2)

оператор_2;

else

оператор_3;

Взагалі, конструкція elseif не дуже зручна, тому застосовується не так часто.

Реалізація циклів

На другому місці по частоті використання, після конструкцій умов, знахо-дяться цикли.

Цикли дозволяють повторювати певну (і навіть невизначене - коли робота циклу залежить від умови) кількість разів різні оператори. Дані оператори назива-ються тілом циклу. Прохід циклу називається ітерацією.

PHP підтримує три види циклів:

Цикл з передумовою (while);

Цикл з умовою поста (do-while);

Цикл з лічильником (for);

Спеціальний цикл перебору масивів (foreach).

При використанні циклів є можливість використання операторів break і continue. Перший з них перериває роботу всього циклу, а другий - лише поточній ітерації.

Цикл з передумовою while

Цикл з передумовою while працює по наступних принципах. Обчислюється значення логічного вираження. Якщо значення достеменне, виконується тіло циклу, інакше - переходиться на наступного за циклом оператора.

Синтаксис циклу з передумовою:

while (логічний_вираз)

інструкція;

В даному випадку тілом циклу є інструкція. Звичайне тіло циклу складається з великого числа операторів.

Звернемо увагу на послідовність виконання операцій умови $x++<10. Споча-тку перевіряється умова, а лише потім збільшується значення змінної. Якщо ми поставимо операцію інкремента перед змінною (++$x<10), то спочатку буде ви-конано збільшення змінної, а лише потім - порівняння. В результаті ми отримаємо рядок 123456789.

Якщо ми збільшимо лічильник після виконання оператора echo, ми отримає-мо рядок 0123456789. В будь-якому разі, ми маємо 10 ітерацій. Ітерація - це виконання операторів усередині тіла циклу.

Подібно до конструкції умовного оператора if, можна групувати операторів усередині тіла циклу while, використовуючи наступний альтернативний синтаксис:

while (логічний_вираз):

інструкція;

endwhile;

Цикл з постумовою do while

На відміну від циклу while, цей цикл перевіряє значення вираження не до, а після кожного проходу. Таким чином, тіло циклу виконується хоч би один раз. Синтаксис циклу з умовою поста такий:

do

{

тіло_циклу;

}

while (логічний_вираз);

Після чергової ітерації перевіряється, чи істинний логічний_вираз, і, якщо це так, управління передається знов на початок циклу, інакше цикл обривається.

Альтернативного синтаксису для do-while розробники PHP не передбачили (мабуть, через те, що, на відміну від прикладного програмування, цей цикл досить рідко використовується при програмуванні web-дотаків).

Цикл з лічильником for

Цикл з лічильником використовується для виконання тіла циклу певне число разів. За допомогою циклу for можна (і потрібно) створювати конструкції, які виконуватимуть дії зовсім не такі тривіальні, як проста перегородка значення лічи-льника.

Синтаксис циклу for такий:

for (ініціалізуючі_команди; умова_циклу; команди_після_ітерації) { ті-ло_циклу; }

Цикл for починає свою роботу з виконання ініцалізуючих команд. Дані ко-манди виконуються лише один раз. Після цього перевіряється умова циклу, якщо вона вірна (true), то виконується тіло циклу. Після того, як буде виконаний остан-ній оператор тіла, виконуються команди після ітерації. Потім знову перевіряється умова циклу. Якщо вона вірна (true), виконується тіло циклу і команди після ітера-ції, і т.д.

Будь-який цикл for можна реалізувати і через while, лише це виглядатиме не так витончено і лаконічно.

Для циклу for є і альтернативний синтаксис:

for (ініціалізуючі_команди; умова_циклу; команди_після_ітерації):

оператори;

endfor;

Цикл перебору масивів foreach

У PHP4 з'явився ще один спеціальний тип циклу - foreach. Даний цикл призначений спеціально для перебору масивів.

Синтаксис циклу foreach виглядає таким чином:

foreach (масив as $ключ=>$значення)

команди;

Тут команди циклічно виконуються для кожного елементу масиву, при цьому чергова пара ключ=>значение опиняється в змінних $ключ і $значение.

В циклу foreach є і інша форма запису, який слід застосовувати, коли нас не цікавить значення ключа чергового елементу. Виглядає вона так:

foreach (массив as $значення)

команди;

В цьому випадку доступно лише значення чергового елементу масиву, але не його ключ. Це може бути корисно, наприклад, для роботи з масивами-списками.

Увага: Цикл foreach оперує не вихідним масивом, а його копією. Це означає, що будь-які зміни, які вносяться до масиву, не можуть бути "видні" з тіла циклу. Що дозволяє, наприклад, як масив використовувати не лише змінну, але і результат роботи якої-небудь функції, що повертає масив (в цьому випадку функція буде ви-кликана всього один раз - до початку циклу, а потім робота вироблятиметься з ко-пією поверненого значення).

Конструкція break

Дуже часто для того, щоб спростити логіку якого-небудь складного циклу, зручно мати можливість його перервати в ході чергової ітерації (наприклад, при виконанні якої-небудь особливої умови). Для цього і існує конструкція break, яка здійснює негайний вихід з циклу. Вона може задаватися з одним необов'язковим параметром - числом, яке вказує, з якого вкладеного циклу має бути вироблений вихід. За умовчанням використовується 1, тобто вихід з поточного циклу, але інко-ли застосовуються і інші значення. Синтаксис конструкції break:

break; // За умовченням

break (номер_циклу); // Для вкладених циклів (указується номер перериваєемо-го циклу)

Якщо нам потрібно перервати роботу певного (вкладеного) циклу, то потріб-но передати конструкції break параметр - номер_цикла, наприклад, break (1). Ну-мерація циклів виглядає таким чином:

for (.) // Третій цикл

{

for (.) // Другий цикл

{

for (.) // Перший цикл

{

}

}

}

Конструкція continue

Конструкція continue так само, як і break, працює лише "в парі" з циклічними конструкціями. Вона негайно завершує поточну ітерацію циклу і переходить до нової (звичайно, якщо виконується умова циклу для циклу з передумовою). Точно так, як і для break, для continue можна вказати рівень вкладеності циклу, який буде продовжений по поверненню управління.

В основному continue дозволяє вам заощадити кількість фігурних дужок в коді і збільшити його легкість для читання. Це найчастіше буває потрібно в циклах-фільтрах, коли потрібно перебрати деяку кількість об'єктів і вибрати з них лише ті, які задовольняють певним умовам

Грамотне використання break і continue дозволяє помітно поліпшити "чита-бельність" коди і кількість блоків else.

4. Опис функціональних можливостей та програмної реалізації проектованої системи

4.1 Функціональне призначення та технологічні особливості розробки

Метою виконання даної дипломної роботи є створення системи, яка дозволяє адмініструвати базу даних і проводити розрахунок вартості страхового поліса за допомогою мережі Інтернет.

Розроблена нами система складається з двох модулів. Перший з них розроблений в середовищі Delphi і призначений для адміністрування бази даних, що містить інформацію про поточні тарифи страхування.

Другий модуль - скрипт, написаний на мові PHP, це страховий калькулятор, який може бути вбудований в сайт будь-якого відділення страхової компанії. Використовуючи цей калькулятор, клієнти можуть самостійно розрахувати розмір страхової премії.

База даних розробленої системи реалізована у форматі MySQL.

Вимоги до програмного забезпечення (модуль адміністратора):

· Робота в середовищі операційних систем Windows 2000/XP/Vista/7;

· Додаткове програмне забезпечення: установка сервера БД MySQL;

Мінімальні вимоги до апаратного забезпечення (модуль адміністратора):

· IBM-Сумісний комп'ютер, не нижче Pentium III, RAM-256Mb, SVGA-800*600*16bit, вільний простір на жорсткому диску на сервері не менш 100 Мб.

Для функціонування клієнтської частини системи потрібний комп'ютер з встановленою операційною системою, що має Інтернет-браузер (Internet Explorer, Mozila Firefox, Opera, Safari, тощо) та доступ до мережі Інтернет.

4.2 Розробка схеми інформаційних потоків та логіко-функціональної схеми роботи системи

На рис.4.1 наведена схема інформаційних потоків системи.

Рис. 4.1 Схема інформаційних потоків системи

В загальному вигляді логіко-функціональну схему роботи користувача з системою можна представити наступним чином (рис.4.2).

Рис.4.2 Логіко-функціональна схема роботи системи

4.3 Структура бази даних системи

База даних реалізована у форматі MySQL і складається з 5 таблиць. На рис.4.3 представлена схема взаємозв'язку таблиць бази даних.

Рис.4.3 Схема взаємозв'язку таблиць бази даних

У системі передбачені наступні види довідників - це довідник страхових тарифів, винуватців події (це може бути, наприклад, без провини клієнта, з провиною або провина не встановлена), довідник типів подій (угін, стихійне лихо, противоправні дії третіх лиць). Також в базі присутня таблиця, що зберігає відсотки франшиз.

Далі наведена структура таблиць бази даних

Таблиця 4.1

Довідник тарифів страхування - таблиця tarifs

Назва поля

Тип

Призначення

id

int (11) - цілочисельне

Ключове поле

cost

double - числове

Процент тарифу

Таблиця 4.2

Довідник винуватців пригоди - таблиця doptypeaction

Назва поля

Тип

Призначення

id

int (11) - цілочисельне

Ключове поле

type

varchar (255) - строковий тип

Винуватець

Таблиця 4.3

Довідник типів подій - таблиця typeaction

Назва поля

Тип

Призначення

id

int (11) - цілочисельне

Ключове поле

type

varchar (255) - строковий тип

Тип події

Таблиця 4.4

Довідник процентів франшиз - таблиця procents

Назва поля

Тип

Призначення

id

int (11) - цілочисельне

Ключове поле

procent

double - числове

Процент франшизи

Таблиця 4.5

Франшизи - таблиця franshiza

Назва поля

Тип

Призначення

id

int (11) - цілочисельне

Ключове поле

idtarif

int (11) - цілочисельне

Код тарифу стрехування

idtypeaction

int (11) - цілочисельне

Код типу події

iddoptypeaction

int (11) - цілочисельне

Код винуватця події

idprocent

int (11) - цілочисельне

Код проценту франшизи

СУБД MySQL має зручний інтерфейс користувача, за допомогою якого можна з легкістю створювати та змінювати структуру таблиць бази даних.

На рис.4.4 наведений загальний вигляд панелі phpMyAdmin.

Рис. 4.4 Загальний вигляд панелі phpMyAdmin

4.4 Опис інтерфейсу користувача та програмної реалізації модулю адміністрування бази даних

Даний модуль розроблений в середовищі Delphi і призначений для адміністрування бази даних, що містить інформацію про поточні тарифи страхування.


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.