Основні відомості про СУБД

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Системи управління базами даних

Введення

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

Можна виділити наступні основні функції СУБД:

управління даними у зовнішній пам'яті;

управління буферами оперативної пам'яті;

управління транзакціями;

журналізація і відновлення БД після збоїв;

підтримка мов БД.

Якщо будь-яка прикладна інформаційна система спирається на деяку систему управління даними, що володіє цими функціями, то ця система управління даними є системою управління базами даних (СКБД).

Логічно в сучасній реляційної СУБД можна виділити найбільш внутрішню частину - ядро ​​СУБД (часто його називають Data Base Engine), компілятор мови БД (зазвичай SQL), підсистему підтримки часу виконання, набір утиліт. У деяких системах ці частини виділяються явно, в інших - ні, але логічно такий поділ можна провести у всіх СУБД.

Ядро СУБД відповідає за управління даними у зовнішній пам'яті, управління буферами оперативної пам'яті, управління транзакціями і журналізацію. Відповідно, можна виділити такі компоненти ядра (принаймні, логічно, хоча в деяких системах ці компоненти виділяються явно), як менеджер даних, менеджер буферів, менеджер транзакцій і менеджер журналу. Як можна було зрозуміти з першої частини цієї лекції, функції цих компонентів взаємопов'язані, і для забезпечення коректної роботи СУБД всі ці компоненти повинні взаємодіяти за ретельно продуманим і перевіреним протоколів. Ядро СУБД має власним інтерфейсом, не доступним користувачам прямо та використовуються в програмах, вироблених компілятором SQL (або в підсистемі підтримки виконання таких програм) і утилітах БД. Ядро СУБД є основною резидентної частиною СУБД. При використанні архітектури "клієнт-сервер" ядро ​​є основною складовою серверної частини системи.

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

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

Постановка завдання

Організаційно-економічна сутність задачі

Ефективність використання електроенергії визначається енергоємністю споживачів. Одним з основних шляхів її зниження є раціоналізація режимів електроспоживання, що включає питання обліку і контролю надходження та витрати електроенергії, аналізу її використання, а також планування і прогнозування рівнів електроспоживання. Успішне вирішення зазначених питань можливе лише при автоматизації обліку і контролю електроспоживання, яку можна провести на базі інформаційно-вимірювальних систем. Межі застосування таких систем, область розв'язуваних ними завдань, ефективність практичного використання багато в чому визначаються можливостями їхнього програмного забезпечення. Ці можливості повинні забезпечувати простоту і оперативність доступу до зібраної інформації, гнучкість її використання і наочність подання, а також дозволяти вирішувати основні завдання раціоналізації режимів електроспоживання. Даним вимогам відповідає розробляється програмний комплекс "Розрахунок вартості електроенергії", що включає наступні функції:

Розрахунок вартості користування електроенергією приватних енергоспоживачів.

Надати можливість роботи з інформацією по заданому місяцю.

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

Надати можливість роботи з інформацією про будинки (додавання, видалення, модифікація довільного номера будинку).

Надати можливість роботи з інформацією за обраними квартирах для конкретного будинку (додавання, видалення, сортування, модифікація).

Для кожного споживача забезпечити завдання довільного набору електроприладів, а також часу їх роботи.

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

Забезпечити формування звітів за заданими параметрами.

Забезпечити автоматичне оновлення і збереження змінених даних.

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

Програма повинна мати інтуїтивно зрозумілий графічний інтерфейс.

Вхідна інформація

Вхідний інформацією програми є база даних у форматі Sybase SQL Anywhere 5.5 (п. 2). Її структура якої була створена в Power Designer 6.1, а тригери і використовувані збережені процедури - за допомогою утиліти Sybase SQL Anywhere під назвою Sybase Central.

Самі дані зберігаються в шести таблицях (співвідношення між ними наводяться в Додаток B).

Постійна інформація завдання

Постійної інформацією є:

стандартні діалогові вікна, піктограми та повідомлення засоби розробки додатків Power Builder 7.0, що зберігаються в що поширюється разом з програмою бібліотеках Power Builder;

стандартні діалогові вікна та повідомлення підсистеми ODBC і драйвера СУБД Sybase SQL Anywhere.

Вищевказані вікна та повідомлення виникають у відповідь на наступні події:

передача некоректної інформації базі даних (порушення посилальної цілісності, типів і допустімиз значень даних);

введення некоректних даних в поля редагування;

виняткові системні ситуації.

Вихідна інформація

Вихідною інформацією задачі є:

діаловие вікна і форми для редагування вмісту бази даних;

повідомлення про виникнення нестандартних ситуацій, а також запити користувачеві на підтвердження виконання тих чи інших дій.

Докладно вихідна інформація розглянута в пунктах 3.2 і 4.

Обчислювальна система

Sybase SQL Anywhere - це нова назва СУБД Watcom SQL фірми Watcom. Таку назву дана СУБД отримала, починаючи з версії 5.0. Перейменування відбулося після об'єднання компаній Sybase і Powersoft в 1995 році, в результаті чого фірма Watcom, як складова частина компанії Powersoft, увійшла до складу корпорації Sybase Inc

Sybase SQL Anywhere представляє собою повнофункціональну СУБД на Intel-платформі для мобільних і невеликих груп користувачів Ця СУБД дозволяє розробляти додатки на основі технології "клієнт-сервер" на платформах Windows NT, Windows 95/98, Windows 3.x, OS / 2, NetWare , Solaris / Sparc, HP-UX, AIX, DOS та QNX. Розглянута СУБД призначена для розробки додатків за технологією "клієнт-сервер".

СУБД SYBASE SQL Anywhere є складовим елементом системи SYBASE System 11 і її наступної версії SYBASE System 11.5 Adaptive. Основним елементом цих систем є потужна СУБД SYBASE SQL. Server. Вона дозволяє зберігати величезні обсяги інформації та обробляти запити до баз даних із застосуванням технології клієнт-сервер. СУБД SYBASE SQL. Server і SYBASE SQL Anywhere взаємно доповнюють один одного. Розробники SYBASE SQL Anywhere намагалися досягти максимальної сумісності баз даних, створюваних цієї СУБД, з базами даних SYBASE SQL Server. Саме цим пояснюється включення в SQL Anywhere деяких елементів SYBASE SQL Server.

SYBASE SQL Anywhere може поставлятися як в мережевому варіанті СУБД, так і автономному варіанті. В останньому випадку всі компоненти СУБД функціонують на тому ж комп'ютері, що і додаток. Для додатків не має значення, який варіант СУБД вони використовують. У рамках локальних мереж взаємодія з додатками-клієнтами здійснюється за допомогою таких мережевих протоколів як NetBIOS, TCP / IP і IPX. Бази даних, створені засобами SQL Anywhere, сумісні з подальшими версіями і стерпні між платформами, на яких може функціонувати дана СУБД.

SYBASE SQL Anywhere має вбудований інтерфейс з низкою програмних систем, наприклад таких як Powersoft PowerBuilder, Optima С + + і Power Designer. Взаємодія з іншими системами і додатками здійснюється за допомогою наступних програмних інтерфейсів:

Специфікація ODBC. Дана специфікація надає користувачам уніфікований інтерфейс між додатками і реляційними базами даних, в тому числі і базами даних SQL. Цей інтерфейс являє собою сукупність функцій. Ці функції організують взаємодію додатків з базами даних в операційних системах Windows 3.x, Windows 95/98, OS / 2 і Windows NT. Специфікація ODBC представляє собою інтерфейс нижнього рівня.

Вбудований SQL (Embedded SQL interface) дозволяє "вбудовувати" SQL-оператори прямо в тексти програм-додатків на мовах C або C + +. Згодом такі додатки піддаються обробці спеціальним препроцесором, який замінює SQL-оператори на виклики відповідних функцій і процедур. Після цього перетворені тексти додатків є тексти програм на мові програмування C або C + +.

DDE-інтерфейс. Це технологія динамічного зв'язування об'єктів використовується в операційній системі Windows 3.x.. З її допомогою здійснюється взаємодія додатків-клієнтів, яким потрібні дані, з додатками-серверами ці дані надають. Для застосування цієї технології потрібне використання відповідних програмних засобів, що підтримують функціонування DDE-клієнта. З іншого боку в якості серверів необхідно використовувати додатки, що забезпечують режим DDE-сервера. До числа останніх відносяться такі програмні додатки, як Microsoft Access, Microsoft Excel і ряд інших. У СУБД SYBASE SQL Anywhere роль DDE-сервера виконує WSQL (Watcom SQL) DDE Server.

Високорівнева власний інтерфейс WSQL HLI (Watcom SQL High-level interface) забезпечує на "високому" рівні взаємодія між SQL Anywhere і додатками в середовищах операційних систем Windows 3.x, Windows 95/98, OS / 2 і Windows NT. Даний інтерфейс реалізований для систем програмування аналогічних Visual Basic (для Windows 95/98 і Windows NT) і REXX (для OS / 2).

СУБД SYBASE SQL Anywhere має у своєму складі мережевої та автономний варіанти СУБД .. Ці варіанти реалізовані у вигляді компонентів SQL Anywhere server / client і SQL Anywhere engine. SQL Anywhere server / client представляє мережевий варіант СУБД. Він організовує взаємодією додатків з базами даних в рамках локальної обчислювальної мережі за технологією "клієнт-сервер".

ПРИМІТКА

Крім локальної мережі, СУБД SYBASE SQL Anywhere надає вам можливість використовувати технологію "клієнт-сервер" і в рамках мережі Internet. Для цього необхідно, щоб на комп'ютері з сервером бази даних був організований Web-сервер і до складу його програмного забезпечення входило додаток SYBASE Netlmpact Dynamo.

Мережевий варіант включає в себе віддалений сервер і клієнтську компоненту; SQL Anywhere server і SQL Anywhere client, відповідно. Функціонування СУБД в рамках мережі полягає в наступному. На одній ЕОМ, що грає роль сервера бази даних, запускається віддалений сервер - SQL Anywhere server. Його завдання полягає в очікуванні запитів від клієнтських ЕОМ, їх обробці та відправленні результатів клієнтів. Під час роботи сервера на клієнтських ЕОМ функціонує компонента SQL Anywhere client. Вона приймає від клієнтських додатків запити .. Ці запити представляють собою оператори мови SQL, наприклад, SELECT (вибрати дані), UPDATE (модифікувати дані), CALL (викликати збережену процедуру) та інші. Отримані запити компонента SQL Anywhere client відправляє по мережі серверу бази даних і очікує повернення від нього результатів цих запитів.

Компонента SQL Anywhere engine є автономним варіантом розглянутої СУБД і являє собою локальний сервер баз даних. Він реалізує технологію "клієнт-сервер" в умовах, коли сервер та клієнти функціонує на одній ЕОМ. База даних зберігається на цій же ЕОМ. Сервер приймає запити безпосередньо від додатків, обробляє їх і відправляє додаткам результати запитів. Наявність такого варіанту дозволяє проводити автономну налагодження додатків. Це має велике значення, так як на етапі автономної налагодженні програми перебувають ще в "сирому" стані. Дана обставина може зіграти погану служби при їх налагодженні в мережевому варіанті СУБД, коли використовується база даних є спільним ресурсом великої кількості користувачів.

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

ПРИМІТКА

З точки зору користувача функції віддаленого (SQL Anywhere engine) і локального (SQL Anywhere server) серверів ідентичні. У зв'язку з цим у подальшому в рамках даного розділом під терміном "сервер" будемо розуміти компоненту SQL Anywhere server або SQL Anywhere engine, якщо не потрібно підкреслити їх відмінність.

Схема взаємодії додатків з базою даних в СУБД SYBASE SQL Anywhere наведена на рис. 1.

Основні відомості про СУБД

Рис. 1. Взаємодія додатків-клієнтів з базою даних у різних варіантах СУБД SYBASE SQL Anywhere:

а) Автономний варіант;

б) Мережевий варіант.

Компоненти SQL Anywhere server / client і SQL Anywhere engine складають основу СУБД. Однак поряд з ними до складу СУБД входить і ряд інших компонентів. Всі разом ці компоненти складають комплект поставки SQL Anywhere, в який входять:

SQL Anywhere server / client - мережевий варіант СУБД ..

SQL Anywhere engine - автономний варіант СУБД;

SQL Remote - компонента підтримання режиму реплікацій;

Sybase SQL Central - утиліта адміністрування баз даних;

ISQL (Interactive SQL) - утиліта інтерактивної взаємодії з базами даних;

набір додаткових утиліт для створення баз даних, їх стиснення, знищення і т.д.

Наведені компоненти є елементами стандартної поставки. Окрім стандартної, розглянута СУБД може пропонуватися у вигляді професійної поставки. Вона має ще більше число складових. Компоненти стандартної поставки будуть розглянуті далі.

Бази даних, створювані СУБД SYBASE SQL Anywhere, представляють собою реляційні бази даних. Ці бази даних складаються із сукупності об'єктів. Такими об'єктами є:

Таблиці даних - зберігають дані, що становлять основний зміст бази даних.

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

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

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

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

ПРИМІТКА

У СУБД SYBASE SQL Anywhere використовується діалект мови SQL - Watcom SQL. Він відповідає стандартам ANSI SQL/89 Level 2 і IBM SAA. Крім того, використовуваний діалект SQL підтримує нові можливості та розширення стандартів ANSI SQL/92 і IBMs DB2

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

Користувальницькі типи даних - типи даних, що створюються користувачем на підставі базових типів даних СУБД.

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

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

Фізично кожен файл (область) складається зі сторінок фіксованого обсягу. Розмір сторінок встановлюється при створенні бази даних. У сторінках розміщуються об'єкти бази даних. У залежності від розміру об'єктів кожна сторінка може містити декілька екземплярів об'єктів або фрагмент одного з об'єктів.

Поряд з файлами областями до складу бази даних входить файл для зберігання журналу змін БД - файл із розширенням log. Наявність журналу змін є основою маніпулювання даними в розглянутій СУБД з використанням механізму транзакцій. Такий підхід забезпечує високу захист баз даних від виникаючих програмних і апаратних збоїв та відмов.

Характеристики апаратних засобів

Програма розроблялася на ПК з наступною конфігурацією:

МП Pentium II 233

RAM 32 Mb

Video ASUS V300 4Mb

HDD Seagate 3.2 Mb

Тестування здійснювалося на обчислювальних системах з МП Pentium 133 - Pentium 200 MMX з об'ємом пам'яті 16-32 Mb. При цьому не спостерігалося значного уповільнення роботи програми у порівнянні з конфігурацією комп'ютера розробників.

Мінімальні апаратні вимоги для роботи програми:

МП Pentuim 90

RAM 16 mb

Video 1 Mb.

Обсяг необхідного дискового простору випливає з таблиці:

Компонент програми

Розмір (в Кb)

Виконуваний модуль

283

База данн

466 (початковий розмір)

Бібліотеки Power Builder

6,284

ODBC-драйвер Sybase SQL Anywhere

2,154

Усього:

9,187

Характеристики програмних засобів

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

Основними поняттями Power Builder є наступні:

об'єкт - деяка сутність, що характеризується набором характеристик та методів їх обробки;

сценарій - програмний код обробки об'єктів.

Мова Power Builder має риси подібності з такими мовами програмування - C + +, Pascal і FoxPro. Він є типізовані, що означає приналежність даних до певної групи - типу.

Чудовою особливістю мови обробки сценаріїв Power Builder є наявність вбудованого SQL. Реалізація цієї мови в Power Builder заснована на специфікації SQL, що використовується в СУБД Sybase SQL Anywhere. Це означає наявність таких можливостей, як виклик збережених процедур, обмін даними з БД через параметри, динамічні SQL-запити та ін

Істотним недоліком Power Builder можна вважати відсутність засобів формування лістингу програми, як об'єднання всіх використовуваних сценаріїв.

Ключовим поняттям, яке необхідно засвоїти для роботи з Power Builder, є поняття об'єкта. Power Builder дозволяє не тільки використовувати вже існуючі об'єкти середовища, але і створювати свої власні, або роблячи їх нащадками вже існуючих, роблячи їх "інтелектуальніший", або шляхом конструювання повністю нового об'єкта, що не має предка:

Користувальницький - об'єкт, який не має візуального представлення;

Стандартний - об'єкт-нащадок від будь-якого стандартного невидимого класу Power Builder ("Транзакція", "Повідомлення", "Помилка", "Об'єкт" та ін);

Користувальницький візуальний - видимий об'єкт, що складається з будь-яких візуальних стандартних або користувачів об'єктів;

Зовнішній візуальний - об'єкт, що містить елементи управління, створені поза Power Builder;

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

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

Меню - об'єкт, що є нащадком від стандартного класу "Меню";

Структура - об'єкт, що складається тільки з даних будь-якого типу;

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

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

Вікно даних (DataWindow) - основний засіб роботи з даними. Працюючи з ним, користувач може визначати спосіб подання інформації та її тип. Створення DataWindow складається з чотирьох етапів:

а) вибір типу вікна даних;

б) вибір джерела даних і визначення критеріїв та способу їх вибірки;

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

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

Додаток - об'єкт, з якого починається виконання програм. Всі інші об'єкти створюються з методів застосування.

Операційна система

Програма призначена для функціонування під управлінням ОС сімейства Windows 4.x - Windows NT 4.0, Windows 95, Windows 98. Ці ОС є загальновизнаними стандартами як для настільних систем, так і для невеликих локальних мереж як однорангового типу, так і з виділеним сервером (хоча, справедливості заради, слід зауважити, що в останньому випадку оптимальним рішенням все ж є Novell Netware 4.2 та вище).

Для доступу до БД використовується вбудований в вищезазначені ОС механізм ODBC (Open Database Connectivity). І хоча останнім часом з ним небезуспішно конкурують такі засоби доступу до БД, як BDE і OLE DB, ODBC і раніше застосуються при розробках, тому що він зарекомендував себе з найкращої сторони як з точки зору зручності роботи, так і швидкості доступу та обробки даних.

Для роботи з БД через ODBC на комп'ютері повинен бути встановлена ​​спеціальна програма - ODBC-драйвер. Його призначення - обробка запитів від ODBC-менеджера, до якого, у свою чергу, звертаються із запитами функції ODBC API.

Оскільки використовувана в програмі БД створена в СУБД Sybase SQL Anywhere 5.5, то для роботи програми необхідний відповідний драйвер - Sybase SQL Anywhere Database Engine і необхідні йому бібліотеки. Розробниками програми створено інсталяційний пакет, який виконує установку драйвера і вносить необхідні зміни до реєстру.

Також для роботи програми необхідні деякі бібліотеки Power Builder 7.0 - Power Builder Virtual Machine (файл pbvm70.dll), Power Builder ODBC (pbodb.dll), Power Builder DataWindow Extension (pbdwe.dll). Ці файли також поставляються разом з програмою в архіві redist.rar.

Об'єктно-орієнтований аналіз завдання

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

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

Разом з тим, незважаючи на існування низки комерційних реалізацій ООСУБД, доступних в даний час на ринку, рівень технології таких систем істотно поступається рівню розвинених реляційних систем. Це стосується і модельних характеристик систем (наприклад, мов запитів) і реалізаційних аспектів (наприклад, оптимізації запитів).

Часто виникає враження, що хоча обмеження існуючих систем намагаються пояснювати якимись принциповими міркуваннями (наприклад, що розвинені можливості конструювання класів, підкріплені коштами спадкування класів дозволяють обмежитися запитами тільки на одному класі об'єктів), насправді ці обмеження є наслідком недостатньо розвиненою технології. Здається, що в умовах відсутності визнаного лідера в області ООСУБД (яким була, наприклад, компанія IBM зі своїм проектом System R в області РСУБД), єдиним шляхом до вироблення такої технології є триваюча (іноді дублююча) робота дослідників.

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

Опис завдання

Практично всі сучасні засоби розробки використовують мови, які якщо і не є чисто об'єктно-орієнтованими, то, принаймні, мають кошти для роботи з об'єктами (C + +, Pascal, Lisp, Fortran, Basic). Це говорить про те, що сьогодні об'єктно-орієнтоване програмування практично витіснило собою процедурний підхід до розробки програм, хоча для вирішення деяких специфічних завдань, як правило, системних, останній все ще застосовується.

Основні поняття, що використовуються при описі об'єктів і зв'язків між ними:

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

Базовий об'єкт - об'єкт, що є "батьком" цього. Це означає, що останній успадковує від нього його дані і способи їх обробки, при необхідності додаючи нові або змінюючи існуючі.

Дочірній об'єкт - об'єкт, що успадковує від базового його властивості та методи.

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

Метод - сукупність дій, що впливають на об'єкт в цілому і його властивості зокрема.

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

Властивості об'єктно-орієнтованого підходу:

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

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

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

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

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

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

У рамках поставленої задачі основними об'єктами є:

прилад - він характеризується своїм ім'ям і потужністю, яка вносить свій внесок у витрату електроенергії квартири;

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

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

Опис інтерфейсу класів

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

Клас програми maxx:

містить обробник події Open. При цьому створюється об'єкт типу "Транзакція" sqlca, за допомогою якого буде здійснюється доступ до БД засобами ODBC. У обробнику инициализируются глобальні змінні і створюється головне вікно - w_main.

Класи вікон даних.

1) flats_of_month_h_num:

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

2) house_of_month_h_num:

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

3) pribors_1:

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

4) report_house:

вікно звіту про витрату енергії для заданих будинків у зазначеному діапазоні місяців. Інформація в вікні групується по полях house_c_num і house_v_month. Аргументами для отримання даних є діапазони будинків і місяців.

5) pribors_1:

містить дані для редагування списку приладів, які формують витрати електроенергії для квартири. Незмінним полем є поле ідентифікатора приладу, що ідентифікує його.

6) temp_edit:

містить дані для модифікації списку приладів у зазначеній квартирі, що використовуються в ній у заданому місяці. Ця інформація береться з тимчасової таблиці temp, дані в яку записуються з текстового рядка PRIBORS, що зберігається в таблиці FLAT_V і містить список приладів, які споживають енергію в даній квартирі за певний місяць, із зазначенням їх кількості та середнього часу роботи за добу.

Класи функцій.

1) formhouselist:

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

2) getdaycount:

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

Клас меню menu_1:

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

Клас проекту maxx:

містить опис способу побудови виконуваного файлу, що є реалізацією класу додатка maxx. Бібліотека, що містить описи класів програми, може включатися у формований EXE-файл, або генеруватися, як бібліотека динамічного компонування. При цьому можливі наступні варіанти, залежно від її вмісту:

в ній міститься машинний код (розширення DLL);

в ній містяться макровизначеннями використовуваних об'єктів (розширення PBD).

В об'єкті "проект" також перераховуються файли з описом використовуваних ресурсів.

Класи для користувача об'єктів.

1) u_closebutton:

кнопка для закриття батьківського вікна.

2) u_editmask_g0:

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

3) u_waitwindow:

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

Класи вікон.

1) w_db_struct:

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

2) w_flatpribors:

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

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

Вікно використовує об'єкт DataWindow temp_1. При модифікації інформації в ньому проводиться перерахунок кількості енергії в кВ / год, споживаного квартирою за добу.

3) w_flats:

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

Модифікація інформація про будинку проводиться в DataWindow house_of_month_h_num (постійна інформація про будинку) і призначеному для користувача елементі управління u_editmask_g0 (інформація, що залежить від місяця - тариф).

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

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

4) w_main:

головне вікно програми, що містить меню і робочу область (в програмі не використовується).

5) w_params:

вікно модифікації параметрів, що приймаються за умовчанням (у даній версії програми це - тариф оплати одного кВ / год).

6) w_pribors_edit:

вікно редагування списку приладів, які можуть бути задані в якості споживачів електроенергії. При видаленні приладу або зміну потужності вже існуючого відбувається модифікація інформація в БД: при виході з вікна виконується порівняння поточних даних про потужність з збереженими в БД. Якщо для будь-яких запису виявлено невідповідність, то відбувається зміна даних про кількість споживаної енергії квартирою і перерахунок суми для будинку шляхом виклику процедури, що зберігається GetHouseSum.

7) w_report_house:

вікно перегляду звіту про сумарних матеріальних витратах, які несуть мешканці всіх квартир будинку за місяць. Звіт можна переглядати в декількох формах:

інформація про одному будинку і одному місяці;

інформація про всіх будинках і одному місяці;

інформація про всіх будинках і всіх місяцях;

інформація про одному будинку і всіх місяцях.

Опис програми

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

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

Опис головного меню:

1) "Програма"

а) "Структура БД" - перегляд інформації про структуру БД (вмісту її таблиць і зв'язків між ними);

б) "Вихід" - завершення роботи з програмою;

2) "Дані"

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

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

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

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

Операції над будинками:

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

видалення. При цьому у користувача запитується підтвердження на виконання цієї операції;

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

Операції над квартирами:

модифікація;

видалення;

додавання. При цьому квартирі присвоюється номер, рівний максимальному номером серед всіх інших квартир плюс одиниця;

сортування. Виконуються при клацанні мишею на одному із заголовків стовпців у таблиці квартир. Перший клацання на заголовку призводить до виконання сортування за зростанням даних (Ascending), а повторний - за зменшенням (Descending).

Поруч з кожним записом з інформацією по квартирі знаходиться кнопка "Прилади", натиснувши яку викликає діалог редагування приладів даної квартири:

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

при зміні місяця або виході з діалогу виводиться запит для підтвердження збереження даних (якщо вони були змінені);

при модифікації даних за приладами автоматично оновлюється полі "кВ / год на день", що відображає добове споживання енергії квартирою;

кнопка "Копіювати" здійснює копіювання інформації про прилади в квартирі для поточного місяця в усі інші місяці року;

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

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

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

3) "Звіт"

а) "Будинку" - звіт по домівках. Користувач вибирає зі списків у верхній частині вікна будинок і місяць, за якими він бажає отримати звіт. Можливо також завдання всіх будинків і (або) всіх місяців одночасно. У цьому випадку перегляд звітних даних, які в даний момент не відображаються, здійснюється за допомогою смуги прокручування.

Відображені дані:

інформація про будинок (його номер, число квартир та мешканців);

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

4) "Вид"

а) "Toolbar" - управління видимістю панелі інструментів;

б) "Параметри" - зміна місячного тарифу, що встановлюється за умовчанням при додаванні нового будинку.

Програма та методика випробувань

Налагодження програми

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

Процес налагодження в загальному випадку можна розділити на чотири етапи:

Виявлення помилки

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

Пошук її місцезнаходження

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

Визначення причини помилки

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

Виправлення помилки

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

Налагодження програми велася протягом протягом усього терміну розробки. Виникаючі в її ході помилки можна розділити на три групи:

помилки в алгоритмах обчислень;

помилки, які полягають у неправильному виборі критеріїв для отримання інформації з БД;

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

Засобом налагодження був інтегрований відладчик середовища розробки додатків Power Builder 7.0. Його можливості налагодження не, безумовно, не можуть зрівнятися з повноцінними відладчиками, такими як Turbo Debugger, Soft-Ice, Codeview, але, при цьому, він реалізує набір налагоджувальних функцій, що дозволяють досить швидко локалізувати та усунути помилку:

перегляд програмних об'єктів у вигляді дерева з можливістю вибору тексту сценарію обробки події або користувача функції;

можливість перегляду значень змінних, як об'єктів, тобто з іерхіческім поданням їх структури;

автоматичне відображення змінних наступних типів:

глобальні;

локальні;

змінні екземпляра об'єкта;

змінні батьківського класу;

Спільні змінні - дані, які доступні всім об'єктам, що містяться всередині об'єкта-контейнера (наприклад, вікна);

об'єкти в пам'яті;

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

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

установка точок зупинки, а також завдання умов для їх спрацювання;

при виникненні помилки відладчик видає на екран повідомлення про її місцезнаходження в коді програми;

можливість віддаленої налагодження.

Тестування програми

Після закінчення розробки, програмний засіб піддалося ретельному тестуванню. Воно полягало в наступному:

а) Виконання стандартних дій по роботі з даними.

За допомогою програми виконувалися операції додавання - видалення - редагування даних про витрату електроенергії. При цьому не було помічено жодних відхилень від нормального ходу виконання програми, тобто всі її дії були передбачувані. Також не спостерігалося жодних неточностей, що стосуються обчислювальних алгоритмів, тобто суми витрат електроенергії в кВ / год і грошове їх вираження відповідали попередньо обчисленими.

Тестування виконувалося на досить значному масиві даних - кількість будинків досягало 20-ти, і кількість квартир у них варіювалося від 10 до30-ти. При цьому якихось значних тимчасових затримок при завантаженні або збереженні інформації в БД помічено не було.

Однак при редагуванні списку приладів (зміну потужності або їх видаленні) час обробки іноді доходило до 7-8 сек. Це можна пояснити особливостями формату представлення даних про прилади в таблиці FLAT_V.

б) Створення нестандартних ситуацій, що вимагають особливої ​​обробки.

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

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

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

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

У ході випробувань була доведена повна сумісність і правильність роботи програмного засобу з Windows NT 4.0, Windows 95, Windows 95 OSR2, Windows 98.

Опис застосування

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

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

Висновок

На закінчення наведемо огляд програм, поширених на ринку програмних засобів з обліку електроспоживачів.

ASODES + K - універсальна система обліку абонентів електромережі та квартиронаймачів, нарахування квартплати, комунальних платежів та обліку надходжень платежів як за квартплату, так і за електроенергію квартиронаймачем. Завдання може працювати як при застосуванні єдиної платіжної книжки, так і при роздільному розрахунку різними організаціями. ASODES враховує будь-які пільги, субсидії за квартплату, категорії будинків. Зміни тарифів і перерахунки здійснюються автоматично. Введення платежів за електроенергію може здійснюватися за різними тарифами. Видається широка гама документів як на екран, так і, при необхідності, на друк. Виписуються рахунки за нараховані платежі по квартплаті та комунальних послугах. Для освоєння системи не потрібно спеціальної комп'ютерної підготовки. Система встановлюється на будь-якому IBM-сумісному комп'ютері ХТ, АТ-386 і далі.

BANKEL - зручний, гнучкий комплекс програм для обліку, накопичення та розрахунку вартості електроенергії підприємством. BANKEL працює з електролічильниками як активної, так і реактивної енергії. Розрахунок по ел лічильників активної енергії виробляється за потужністю, за відсотками та за показаннями. Розрахунок реактивної енергії c урахуванням економічного значення і за відсотками від лічильника активної енергії. Є можливість створення груп споживачів і розрахунок по них. Здійснюється введення поточних показників об'єктів, заміна лічильника, введення лімітів абонентів, введення заявленої потужності, введення витрати за актом, введення надходжень з банку і з каси. Вихідні документи видаються в повному обсязі: зведення та платіжки, повна відомість, реалізація, поточні надходження з банку, відомість витрати за групами, реєстр, списки дебіторів, платіжка на пені, списки назв та реквізитів абонентів, об'єктів, видача статистики по роках перевірки лічильника . Існує можливість архівного накопичення надходжень по абоненту. Можлива самостійна налаштування тексту в платіжці і ПДВ. Для освоєння системи не потрібно спеціальної комп'ютерної підготовки. Система встановлюється на будь-якому IBM сумісному комп'ютері ХТ, АТ-386 і далі.

ПРОГРЕС - (програма розрахунку, оптимізації міських розподільних електричних мереж) - призначена в допомогу інженеру електромережі, що працює на міському електромережеве підприємстві, при вирішенні завдань аналізу втрат в електромережі 6-10 кв., Розробці заходів щодо зниження цих втрат, пошуку точок оптимального розподілу електромережі за критерієм мінімуму втрат потужності і енергії. Дуже корисна для моделювання навантажень при підготовці технічних умов на приєднання нових потужностей.

Програма проводить:

розрахунок токораспределения на основі навантажень, заміряних персоналом;

розрахунок напруги у вузлах мережі;

розрахунок завантаження елементів мережі (ліній, трансформаторів);

розрахунок струмів короткого замикання;

розрахунок втрат потужності і енергії в лініях, трансформаторах і н / в мережі 0,4 кв.

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

ІСПИТ - вельми корисна програма, що дозволяє проводити перевірку знань з будь-яким тематикам. Наприклад: перевірку знань з безпеки при роботі в електроустановках, перевірку знань при роботі з вантажопідйомними механізмами та ін

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

Форми вхідних і вихідних документів

Роздруківка екранних форм

Основні відомості про СУБД

Основні відомості про СУБД

Основні відомості про СУБД

Основні відомості про СУБД

Малюнки, графіки, схеми, діаграми

Структура даних

Основні відомості про СУБД

Повідомлення системи.

Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Реферат
102.9кб. | скачати


Схожі роботи:
Основні відомості про Венеру
Основні відомості про шкідників
Основні відомості про мікропроцесори фірми Intel і AMD
Основні відомості про алгоритмічну мову Turbo Pascal Графіка Pascal
Основні відомості про будову та функції ЦНС Класифікація засобів що діють на ЦНС
СУБД SQL Server основні особливості та її застосування
Загальні відомості про мінерали
Початкові відомості про Еxcel 70
Загальні відомості про повені
© Усі права захищені
написати до нас