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

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Украинский
    ,
    Формат файла:
    MS Word
    448,86 Кб
  • Опубликовано:
    2012-09-29
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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






ДИПЛОМНА РОБОТА

«Розробка системи керування інформаційними потоками виробничої дільниці автоматики аглодоменного виробництва»

Вступ

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

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

Метою дипломної роботи є створення системи керування інформаційними потоками виробничої дільниці автоматики аглодоменного виробництва. Для реалізації даної системи була створена незалежна програма у вигляді exe-файлу, що працює в середовищі ОС Windows, під керуванням якої відбувається збір, обробка й відображення інформації, що зберігається в базі даних під керуванням сервера баз даних MS SQL Server 2000.

Реалізація даного завдання відбувалася за допомогою інструментального засобу прискореної розробки програм системи програмування Delphi7, технології Rave Reports і сервера баз даних MS SQL Server 2000.являє собою систему програмування, як будь-яка подібна система, Delphi призначена для розробки програм і має дві характерні риси: створювані нею програми можуть працювати не тільки під керуванням Windows, а сама вона відноситься до класу інструментальних засобів прискореної розробки програм (Rapid Application Development, RAD). Це прискорення досягається за рахунок двох характерних властивостей Delphi: візуального конструювання форм і широкого використання бібліотеки візуальних компонентів (Visual Component Library, VCL).

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

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

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

Технологія Rave Reports розроблена компанією Nevrona Designs, що є авторизованим членом Комітету відкритих систем і розробляє програмне забезпечення для Delphi й C++ Builder. У її основі лежить ідея відділення процесу розробки від процесу створення звіту за рахунок використання проміжного документа, що називається проектом звіту.

Для зручного використання, інформація повинна бути систематизована у вигляді таблиць із даними, тому зберігання інформації в даній системі виконано в базі даних під управлінням сервера баз даних MS SQL Server2000.SQL Server являє собою СКБД, що забезпечує створення інформаційних систем з архітектурою «клієнт-сервер», у якій він відіграє роль сервера баз даних. SQL Server задовольняє вимогам, пропонованим до систем розподіленої обробки інформації. Ця СКБД підтримує: тиражування даних, паралельну обробку, створення й обробку великих баз даних на недорогих апаратних платформах, відрізняється простотою керування й використання, а також забезпечує тісну інтеграцію баз даних SQL Server 2000 в Web.

Крім того, зміни в архітектурі сервера SQL Server 2000 дозволили повністю інтегрувати її зі службами Active Directory операційної системи Windows.

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

1.1  Найменування та галузь використання

Назва розробки: система керування інформаційними потоками виробничої дільниці автоматики аглодоменного виробництва. Розроблена система була випробувана на ВАТ «АрселорМіттал Кривий Ріг» у службі автоматизації технологічних процесів на дільниці автоматики аглодоменного виробництва.

1.2  Підстава для створення

Підставою для розробки є наказ №73С-01 від 29 жовтня 2009 р. по Криворізькому інституту КУЕІТУ.

Початок робіт: 1.11.09. Закінчення робіт: 25.05.10.

1.3  Характеристика розробленого програмного забезпечення

delphi автоматика аглодоменний інформаційний

Розроблена система реалізована за допомогою інструментального засобу прискореної розробки програм, системи програмування Delphi7. Система повинна працювати під керуванням операційної системи Windows XP. Додатковою умовою є наявність установленого сервера баз даних MS SQL Server 2000, на якому буде розгорнута база даних для зберігання необхідної інформації для роботи даної системи.

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

Головним завданням інформаційної системи є підготовка наступної інформації:

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

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

1.4  Мета й призначення

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

Дільниця автоматики аглодоменного виробництва є структурною одиницею служби автоматизації технологічних процесів ВАТ «АрселорМіттал Кривий Ріг». У структуру дільниці автоматики аглодоменного виробництва входять виробничі дільниці й під-дільниці розміщені на великій території підприємства. Тому лінійні керівники дільниць і під-дільниць мають проблему в оперативному доступі до даних персоналу дільниці, для своєчасного виконання своїх функціональних обов’язків.

1.5  Загальні вимоги до розробки

Вимоги до програмного забезпечення:

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

·        Простота й зрозумілість інтерфейсу.

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

·        IBM-сумісний комп'ютер, не нижче Pentium IІ, RAM-128Mb, SVGA-800*600*16bit;

·        Вільний простір на жорсткому диску не менш 2 Мб.

·        Додаткове програмне забезпечення: наявність встановленого сервера баз даних MS SQL Server 2000, на якому буде розгорнута база даних для зберігання необхідної інформації для роботи даної системи.

1.6  Джерела розробки

Джерелами розробки дипломної роботи є:

·        структурна схема виробничої дільниці автоматики аглодоменного виробництва;

·        схема інформаційних потоків виробничої дільниці автоматики аглодоменного виробництва;

·        довідкова література;

·        наукова література;

·        технічна література;

·        програмна документація.

2.     
Середовище Delphi як засіб розробки комп'ютерних систем для роботи з базами даних

2.1  Призначення й можливості Delphi

Бурхливий розвиток обчислювальної техніки, потреба в ефективних засобах розробки програмного забезпечення привели до появи систем програмування, орієнтованих на так названу «швидку розробку», серед яких можна виділити Borland Delphi й Microsoft Visual Basic.являє собою систему програмування, як будь-яка подібна система, Delphi призначена для розробки програм і має дві характерні риси: створювані нею програми можуть працювати не тільки під керуванням Windows, а сама вона відноситься до класу інструментальних засобів прискореної розробки програм (Rapid Application Development, RAD).

Перший інструмент RAD створений корпорацією Microsoft називається Visual Basic. Середовище Delphi створене трьома роками пізніше й разом з такими продуктами, як Visual C++, C++ Builder, JBuilder, PowerBuilder, також відноситься до класу інструментів прискореної розробки програм. Це прискорення досягається за рахунок двох характерних властивостей Delphi: візуального конструювання форм і широкого використання бібліотеки візуальних компонентів (Visual Component Library, VCL).

2.2  Візуальне конструювання

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

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

2.3  Бібліотека візуальних компонентів

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

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

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

2.4 
Потужність і гнучкість мови

Потужність і гнучкість мови програмування Object Pascal - безумовне достоїнство Delphi, вигідно відрізняючи це середовище від інших інструментів RAD. Ядром Object Pascal є мова Pascal, створена професором Цюрихского університету Ніклаусом Віртом ще наприкінці 60-х років спеціально для навчання студентів програмуванню. У числі його студентів були Пилип Канн й Андерс Хейлсберг. Перший заснував корпорацію Borland, другий став її головним програмістом. За довгі роки А. Хейлсберг і програмісти під його початком перетворили Pascal у потужну сучасну об'єктно-орієнтовану мову, придатну для ефективного створення програм будь-якої складності.

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

Синтаксис C++ прямо-таки провокує створення заплутаних програм, у яких важко розібратися навіть авторові, у той час як простий й ясний синтаксис Object Pascal дозволяє йому претендувати на роль мови, що ідеально підходить для опису алгоритму. У всіх випадках Object Pascal має найшвидший серед продуктів подібного роду оптимизірующій компілятор, що дозволяє створювати швидкі й відносно компактні програми.

2.5  Інструмент створення додатків баз даних

Середовище Delphi завоювала собі репутацію найефективнішого засобу розробки додатків баз даних, тобто програм, що обслуговують електронні сховища інформації. Ця репутація визначається трьома обставинами: високопродуктивною машиною доступу до даних різного формату (Borland Database Engine, BDE), наявністю численних компонентів, орієнтованих на цю сферу застосування, і поставкою разом з Delphi компактного, потужного й простого в адмініструванні сервера баз даних InterBase.

Машина BDE є засобом доступу до даних різного формату (локальним таблицям типу dBASE, Paradox, до серверів баз даних InterBase, MS SQL Server, Oracle, Informix і т.д.). Особливістю BDE є використання власних високопродуктивних драйверів для доступу до локальних таблиць dBASE, Paradox, FoxPro, а також SQL-орієнтованих драйверів для доступу до серверів баз даних (цей набір драйверів називається SQL Links). Замість власних драйверів при бажанні можуть використатися драйвери сторонні виробниками, що відповідають стандарту ODBC (Open DataBase Connectivity Interface - відкритий інтерфейс взаємодії з базами даних). Більше того, з версії 6 з'явилася можливість використання альтернативних BDE засобів доступу до технологій ADO, InterBase Express, dbExpress.

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

Поставляючи разом з Delphi (у найбільш дорогих варіантах поставки) сервер InterBase став відомий завдяки Delphi. Цей сервер створений дочірнім відділенням Borland - InterBase Software Corporation, а його поставки разом з Delphi порозумівається необхідністю дати розроблювачам засіб випробування програм, розрахованих на архітектуру «клієнт-сервер». Сервер InterBase у максимальному ступені відповідає стандарту SQL-92, якому тією чи іншою мірою відносяться всі інші сервери баз даних. З Delphi версії 6 поставляються набір компонентів InterBase Admin, що дозволяє створювати програми для адміністрування сервера.

2.6 Інтегроване середовище розробки IDE

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

Рис. 2.1 Основне вікно Delphi

Головне вікно

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

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

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

Вікно форми

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

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

Вікно дерева об'єктів призначено для наочного відображення зв'язків між окремими об'єктами (компонентами), розміщеними на активній формі або активному модулі даних.

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

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

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

У верхній частині інспектора об'єктів розташований список всіх компонентів, розміщених у формі. Іноді цей список називається селектором об'єктів. Вкладка Properties містить у лівій частині список всіх доступних під час проектування властивостей для поточного об'єкта, а в правій частині - їхнє значення. Символ [+] перед ім'ям властивості вказує, що ця властивість є складовим і містить інші вкладені властивості. Для розгортання або згортання складеної властивості варто клацнути мишею на розташованому ліворуч від нього символі [+] або [-]. Для зміни значення властивості необхідно ввести це значення або вибрати його із пропонованого списку.

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

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

Сторінка Diagram може бути використана як інструментарій для документування проекту, тому що дозволяє виводити на печатку схематично представлені взаємини між компонентами. Вікно коду являє собою потужний редактор для створення й редагування коду модулів програми. Він підтримує наступні можливості:

·        колірне й позиційне відображення коду модуля;

·        контекстно пропонований набір шаблонів операторів мови програмування, які можна додавати в код модуля;

·        редагування й додавання шаблонів пропонованого набору операторів;

·        відображення класів, функцій, методів;

·        вивід списку параметрів функції при уведенні її імені;

·        перегляд значень змінних при налагодженні;

·        перегляд коду оголошення для ідентифікаторів.

Вікно браузера об'єктів

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

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

3.     
Технологія ADO

Технологія Microsoft Active Data Objects (ADO) являє собою високорівневу об'єктну надбудову над OLE DB. Незважаючи на те, що OLE DB надає повний набір інтерфейсів для маніпулювання даними, більшість розроблювачів не має потреби в низкорівневому контролі за процесом з'єднання з даними й керування ними, що надає OLE DB. У той же час розроблювачі часто використають високорівневі мови, які не підтримують покажчики на функції й інші механізми C++. ADO може використатися для роботи з будь-якими провайдерами OLE DB. Схема наведена на рисунку 3.1.

Рис. 3.1 Доступ до даних за допомогою ADO

Як джерела даних можуть виступати різні сховища інформації, наприклад таблиці, файли й бази даних.

3.1  Основи технології ADO

Об'єктна модель ADO складається із семи об'єктів, ієрархія яких показана на рисунку 3.2. Об'єкт Connection інкапсулює у собі об'єкти OLE DB DataSource й Session. Він містить єдину сесію із джерелом даних. Об'єкт Connection визначає властивості з'єднання, визначає можливості локальних транзакцій, надає централізований об'єкт для одержання інформації про помилки Error і покажчики для використання схем запитів. Об'єкт Command інкапсулює однойменний об'єкт OLE DB Command. Об'єкт використається для виконання команд визначення й маніпуляції даними. Якщо джерелом даних виступає реляційна СКБД, об'єкт може виконати деякі SQL-оператори. Об'єкт Command дозволяє визначити параметри й установити порядок виконання запитів. Колекція об'єктів Parameter надає доступ до параметрів.

Рис. 3.2 Об'єктна модель ADO

Об'єкт Recordset інкапсулює функціональність об'єкта OLE DB Rowset. Об'єкт Recordset є поточним інтерфейсом доступу до даних, що може бути отриманий у результаті обробки запиту або яким-небудь іншим способом. Об'єкт дозволяє контролювати використовуваний механізм блокувань, тип використовуваного курсору, число рядків, що повертають в одному пакеті, і т.д. Об'єкт Recordset надає доступ до колекції об'єктів Field, які містять метадані про властивості стовпців набору даних, таких як ім'я, тип, довжина й точність. Також утримуються поточні значення записів. Об'єкт Recordset також використається для переміщення по набору даних й їхньої модифікації. Кожен високорівневий об'єкт ADO містить колекцію об'єктів Property. Об'єкт Property дозволяє ADO динамічно публікувати можливості будь-якого провайдера даних. Тому що не всі провайдери підтримують деякі функції, дуже важливою особливістю об'єктної моделі ADO є можливість надання динамічного доступу до специфічних функцій.

3.2  Застосування технології ADO в Delphi

В Delphi версій 5,6 й 7 підтримується технологія ADO, що посилено розвивається корпорацією Microsoft. На основі цієї технології створені відповідні компоненти-набори TADOTable, TADOQuery, TADOStoredProc.

Основні особливості використання технології ADO не залежать від архітектури БД: ця технологія характерна не тільки для файл-серверних БД, але також і для клієнт-серверних і трьохзвених БД.

Основним достоїнством технології ADO є її природна орієнтація на створення «полегшеного» клієнта. У рамках цієї технології на машині розроблювача БД установлюються базові об'єкти MS ADO і відповідні компоненти Delphi, що забезпечують використання технології ADO (ці установки здійснюються автоматично при розгортанні Delphi). На машині сервера даних (це може бути файловий сервер у рамках файл-серверної технології або машина із сервером даних - у технології клієнт-сервер) установлюється так званий провайдер даних - деяка надбудова над спеціальною технологією OLE DB, «розуміюча» запити об'єктів ADO й «вміє» переводити ці запити в потрібні дії з даними. Взаємодія компонентів ADO і провайдера здійснюється на основі універсальної для Windows технології Active, причому провайдер реалізується як COM-сервер, а ADO-компоненти - як COM-клієнти.

На машині сервера створюється й розміщується джерело даних. У випадку файл-серверних систем окремі таблиці типу dBASE, FoxPro, Paradox і т.д. повинні управлятися відповідним ODBC-драйвером, а в ролі провайдера використається Microsoft OLE DB Provider for ODBC drivers.

Рис. 3.3 Реалізація технології ADO в Delphi

Якщо використається промисловий сервер даних Oracle або MS SQL Server, дані не мають потреби в якій-небудь попередній підготовці, а в ролі провайдера використається відповідно Microsoft OLE DB Provider for Oracle або Microsoft OLE DB Provider for SQL Server.

На машині клієнта розташовуються зв'язні компоненти TADOConnection і компоненти-набори даних TADOTable, TADOQuery, TADOStoredProc, TADODataSet і командні компоненти TADOCommand (мал. 3.3). Кожний із цих компонентів може зв'язуватися із провайдером даних або за допомогою зв'язного компонента TADOConnection, або минаючи його й використовуючи власну властивість ConnectionString. Таким чином, компонент TADOConnection відіграє роль концентратора з'єднань із джерелом даних компонентів-наборів.

Компоненти-набори за допомогою компонентів-джерел TDataSource і візуалізірующіх компонентів TDBGrid, TDBMemo, TDBEdit і т. п. забезпечують необхідний інтерфейс із користувачем програми.

3.3 Особливості використання компонентів ADO

Базові компоненти ADO

Базові об'єкти зроблені корпорацією Microsoft і входять у комплект поставки Delphi. Базових об'єктів сім: Connection, Recordset, Command, Parameter, Field, Error й Property. Компоненти ADO у палітрі компонентів Delphi являють собою надбудови над базовими об'єктами, експонуючи більшість їхніх властивостей, методів і подій у звичному для Delphi виді.

Базові об'єкти звичайно супроводжуються колекціями пов'язаних з ними об'єктів. Наприклад, з об'єктом Connection може бути зв'язаний один або кілька об'єктів Error, що фіксують помилки встановлення зв'язку; з об'єктом Recordset - набір об'єктів Field, кожний з яких визначає єдине поле результуючого набору даних, з об'єктом Command - один або кілька об'єктів Parameter, що конкретизують виконання методу Execute цього об'єкта, і колекція об'єктів Error і т.д. У зв'язку із цим говорять про основні (Connection, Recordset, Command) і допоміжні (Error, Field, Parameter, Property) об'єкти ADO.

Connection

Об'єкт Connection призначений для встановлення з'єднання з даними - це його головне завдання. Крім того, об'єкт забезпечує механізм транзакцій. На нього може посилатися довільна кількість об'єктів Command й Recordset. У цьому випадку Connection управляє транзакціями цих об'єктів. З об'єктом зв'язаний набір об'єктів Error, у якому фіксуються всі помилки, пов'язані з роботою об'єкта Connection.

Recordset

Об'єкт Recordset являє собою поточний набір даних. Він може бути отриманий тільки після виконання методу Execute якого-небудь об'єкта Command. З об'єктом автоматично зв'язується набір об'єктів Field, у яких описуються всі поля НД. Об'єкт Recordset здатний зберігати потрібні записи, переміщатися по них, додавати, видаляти й редагувати запис як у звичайному режимі (при одночасній зміні фізичних ТБД), так й у пакетному (тобто при кєшірованії даних). При створенні об'єкта автоматично створюється й пов'язаний з ним курсор, що забезпечує перегляд, редагування й зміну записів.

Command

За допомогою об'єкта Command користувач може виконати над даними будь-яку SQL-команду. З ним може бути зв'язаний набір об'єктів Parameter, у якому описуються відповідні параметри, необхідні для виконання запиту. Характерною рисою об'єкта є можливість асинхронного виконання пов'язаної з ним команди. При виявленні помилки з об'єктом зв'язується своя колекція об'єктів Error.

Parameter

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

Error

Колекція об'єктів Error зберігає всі помилки, пов'язані з роботою інших об'єктів, і насамперед об'єктів Connection, Command й Recordset.

Field

Об'єкт Field зберігає всю необхідну інформацію про одне поле НД. Оскільки звичайно НД містить кілька полів, з об'єктом Recordset зв'язана колекція об'єктів Field. З будь-яким полем Field можна зв'язати довільну колекцію об'єктів Property, що визначають індивідуальні характеристики поля.

Property

Об'єкт Property може бути пов'язаний з будь-яким іншим об'єктом ADO, крім об'єктів Connection й Error. Він може зберігати як статичні, так і динамічні властивості. Статичних (тобто заздалегідь заданих) властивостей в об'єкта всього чотири: Name, Type, Value, Attributes. Інші властивості динамічні й створюються в ході виконання програми. В об'єкті Property задаються деякі індивідуальні характеристики пов'язаного з ним об'єкта ADO.

Зв'язувальний компонент TADOConnection

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

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

Для встановлення зв'язку потрібно за допомогою властивості ConncetionString сформувати зв'язні параметри й потім установити значення True у властивість Active або викликати метод Open. Для розриву зв'язку виконується метод Close компонента або в його властивість Active установлюється значення False.

Компонент TADOCommand

Компонент TADOCommand призначений в основному для реалізації SQL-запитів, що не повертають ніяких даних. До DDL (Data Definition Language - мова визначення даних) відносяться практично всі запити, які не починаються зарезервованим словом SELECT.

Компонентів-наборів

До складу ADO-компонентів входять 4 компоненти-набори: TADODataSet, TADOTable, TADOQuery й TADOStoredProc. Вони мають загального родича - абстрактний клас TDataSet, і, отже, більшу частину своїх методів, властивостей і подій вони успадкували від цього класу.набори мають безпосереднього родича TCustomAdoDataSet, від якого вони успадкували багато специфічних властивостей.

Насамперед - це властивості Connection й ConnectionString, за допомогою яких ADO-набір може самостійно зв'язатися із джерелом даних.

На відміну від BDE набори ADO можуть створювати курсори двох типів - на стороні клієнта й на стороні сервера (властивість CursorConnection). У сполученні із властивістю CursorType це дає програмістові гнучкий інструмент впливу на швидкісні якості передачі даних і розмежування доступу до даних.

Новим у порівнянні з BDE-орієнтованими компонентами є також властивість LockType, що дозволяє підвищити швидкість роботи в багато користувальницькому середовищі за рахунок обліку специфіки БД.

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

Важливою відмінністю є те, що ADO-компоненти мають властивість RecordSet, що містить посилання на однойменний базовий об'єкт. Якщо програміст добре знайомий з технологією ADO, він може прямо звернутися до цієї властивості для більше гнучкого доступу до даних.компоненти здатні працювати з кєшірованими даними, але роблять це по-своєму. По-перше, у термінології ADO замість терміна «кєшірованія даних» використається поняття «пакетна обробка даних», після завершення якої всі зроблені в пакеті зміни або підтверджуються, або відкидаються.

Компонент TADODataSet

Компонент TADODataSet забезпечує доступ до однієї або декількох таблиць БД за допомогою запиту типу SELECT. Компонент розрахований на повернення набору даних, тому його не можна використати для виконання підмножини операторів DDL. (У компоненті є властивість CommandText, однак у нього можна помістити тільки оператор SELECT. Для виконання DDL-пропозицій мови SQL можна використати метод Execute компонента TADOCommand або метод ExecSQL компонента TADOQuery.)

На відміну від компонента TADOTable компонент TADODataSet може звертатися не тільки до однієї, але відразу до декількох таблиць.

Компонент TADOTable

Компонент TADOTable є прямим аналогом популярного BDE-компонента TTable. Так само як TTable, він здатний одержувати й обслуговувати НД, що складається із записів єдиної фізичної таблиці БД, ім'я якої містить його властивість TableName. Будучи, як і всі інші компоненти-набори, надбудовою до базового об'єкта Command, компонент TADOTable має властивість CommandText, що недоступно програмістові.

Компонент TADOQuery

На відміну від компонента TADOCommand компонент TADOQuery переважно призначений для одержання набору записів з однієї або декількох таблиць БД. Насправді фактично він цілком повторює функціональність компонента TQuery, тому що в нього включений специфічний метод ExecSQL, за допомогою якого компонент може виконувати пропозиції DDL мовою SQL. Сам запит формується у властивості SQL.

Компонент TADOQuery має властивість DataSource, що дозволяє передати параметри запиту від одного компонента іншому.

4.     
Основи технології Rave Reports

Технологія Rave Reports розроблена компанією Nevrona Designs, що є авторизованим членом Комітету відкритих систем і розробляє програмне забезпечення для Delphi й C++ Builder. У її основі лежить ідея відділення процесу розробки від процесу створення звіту за рахунок використання проміжного документа, що називається проектом звіту. Проект звіту створюється за допомогою середовища Rave (Report Authoring Visual Environment - візуальне середовище автора звіту), а в створювану програму впроваджується так названа машина генератора звіту, що за даними, отриманим з файлу проекту, створює документ звіту.

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

На вкладці Rave є два ключових компоненти - RvProject й RvSystem, перенос яких у програму впроваджує в неї машину генератора звітів. Проект майбутнього звіту створюється заздалегідь за допомогою утиліти Report Manager Designer, що викликається з Delphi і взаємодіє із завантаженої в середовище Delphi програмою.

4.1  Візуальне середовище Rave Designer

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

Утиліта Rave Designer має власну палітру компонентів, дерево об'єктів, інспектор об'єктів і набір інструментальних кнопок. Центральну частину вікна займає робоча область із двома вкладками - Page Designer й Event Editor. Перша використається подібно вікну форми середовища Delphi - на ній автор звіту розміщає потрібні компоненти з палітри Rave. На вкладці Event Editor він може написати код для оброблювачів подій OnBef orePrint, OnBef oreReport, OnAf terPrint, OnAf terReport, OnGetText для будь-якого розміщеного на вкладці Page Designer компонента звіту. Оброблювачі пишуться мовою, що являє собою підмножину мови Delphi.

За допомогою головного меню вирішуються завдання загального керування проектом (команда File - створення нового проекту, включення в проект нового звіту, зв'язок з наборами даних і т.д.), настроювання параметрів середовища й проекту (команди Zoom й Edit > Preferences) і виклик майстрів створення звітів (команда Tools). Деякі найбільш важливі команди представлені вісьма верхніми інструментальними кнопками. Сім нижніх інструментальних кнопок спрощують настроювання середовища.

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

Нижче вікна властивостей перебуває допоміжне вікно, що містить довідку про обрану властивість.

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

Таблиця 4.1. Призначення вкладок області компонентів й інструментальних панелей

Вкладка

Призначення

Drawing

Компоненти для вставки у звіт найпростіших геометричних фігур

BarCode

Компоненти для відображення різних штрихових кодів

Standard

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

Report

Компоненти для вставки у звіт даних із БД

Zoom

Інструментальна панель із кнопками, що управляють масштабом відображуваного звіту

Colors

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

Lines

Інструментальна панель для керування товщиною й стилем поточної лінії

Fills

Інструментальна панель для вибору стилю заповнення поточної фігури

Fonts

Інструментальна панель для вибору шрифту поточного елемента з текстом

Alignment

Інструментальна панель для керування положенням обраного елемента


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

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

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

4.2  Прив'язка проекту звіту до додатка

Для вказівки зв'язку додатка із проектом звіту ім'я файлу звіту міститься у властивість ProjectFile компонента TRvProject.

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

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

Наприклад:TForml. FormCreate (Sender: TObject);: String;:= Application. ExeName;S [Length(S)] <> '\' do Delete (S, Length(S), 1);. ProjectFile:= S+rvProject. ProjectFile;

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

5.1  Структурна схема виробничої дільниці автоматики аглодоменного виробництва

Дільниця автоматики аглодоменного виробництва є структурною одиницею служби автоматизації технологічних процесів ВАТ «АрселорМіттал Кривий Ріг».

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

До складу кожної дільниці за штатним розкладом входять:

·        Лінійний керівник (Начальник дільниці, старший майстер, старший змінний майстер або майстер по автоматиці);

·        Інженерно технічні працівники (майстер-наладчик, змінний майстер-наладчик);

·        Робітники (Слюсар по КВПйА (бригадир), Слюсар по КВПйА (денний), Слюсар по КВПйА (змінний)).

5.2 Рух інформаційних потоків на виробничій дільниці автоматики аглодоменного виробництва

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

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

Така організація руху інформації має ряд недоліків:

·        Збір інформації й обробка її для видачі на вимогу, приводить до більших витрат часу;

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

По організації руху вся інформація ділиться на вхідну й вихідну.

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

Нижче наведена таблиця з переліком вхідної інформації

Таблиця 5.1. Перелік вхідної інформації

Інформація

Від кого надходить

Коли надходить

Табельні дані

Від вищестоящого керівництва, начальника дільниці й лінійного керівника.

Після зміни штатного розкладу.

Відпустки

Від вищестоящого керівництва, начальника дільниці й лінійного керівника.

Після утвердження графіка відпусток по дільниці.

Медогляд, проходження флюорографії

Від начальника дільниці й лінійного керівника.

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

Необхідність перевірки знань на право роботи в електроустановках й у газозахисній апаратурі

Від начальника дільниці або лінійного керівника.

Відповідно до строків наступної перевірки знань зазначених у посвідченні.

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

Нижче наведена таблиця з переліком вихідної інформації

Таблиця 5.2. Перелік вихідної інформації

Інформація

Від кого надходить

Коли надходить

Призначення

Дані по персоналі, адреси, телефони, діти.

Від персоналу дільниці, лінійного керівника, начальника дільниці.

Після прийняття на дільницю або зміни даних.

Для надання на вимогу.

Табельні дані.

Від лінійного керівника дільниці, начальника дільниці.

На вимогу вищестоящого керівництва.

Для контролю штатної численності на дільницях.

Освіта.

Від персоналу дільниці, лінійного керівника дільниці, начальника дільниці.

На вимогу вищестоящого керівництва.

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

Відпустки.

Від персоналу дільниці, лінійного керівника дільниці, начальника дільниці.

При складанні графіка відпусток на наступний рік на дільниці.

Для затвердження графіка відпусток на наступний рік на дільниці.

Дані по проходженню медогляду й флюорографії.

Від персоналу дільниці, лінійного керівника дільниці, начальника дільниці.

Після проходження медогляду персоналом дільниці згідно графіка.

Для контролю проходження щорічного медогляду персоналом дільниці згідно графіка.

Строк наступної перевірки знань на право роботи в електроустановках й у газозахисній апаратурі.

Від персоналу дільниці, лінійного керівника дільниці.

Після здачі іспитів персоналом дільниці.

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


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

6.1  Архітектура побудови проектованої системи

На рисунку 6.1 наведена архітектура побудови проектованої системи керування інформаційними потоками виробничої дільниці автоматики аглодоменного виробництва.

Рис. 6.1 Архітектура побудови проектованої системи

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

У ролі сервера баз даних виступає система керування базами даних MS SQL Server 2000, з розгорнутої на ньому базою даних «Infomedia».

У ролі клієнта - ПЕОМ лінійного керівника, з розгорнутим на ній клієнтським додатком «Infomedia.exe».

6.2  Схема інформаційних потоків проектованої системи

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

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

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

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

До вхідної основної інформації ставиться вся інформація з персоналу й роботи дільниці (особисті дані, табельні дані, зміни в роботі дільниці).

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

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

Подання - це інформація виведена у вигляді таблиць із даними, зібрані в певні групи (загальні дані, табельні дані, освіта й.т.д.).

Звітні документи - це інформація сформована певним чином і виведена в друкованому виді для передачі вищестоящому керівництву або використанні усередині дільниці.

6.3 Сервер баз даних MS SQL Server 2000

Опис структури й схеми взаємозв'язку таблиць бази даних «Infomedia»

База даних «Infomedia» представлена у вигляді 15-ти таблиць із даними. Всі таблиці можна розділити на три типи:

·        Основні таблиці - призначені для зберігання основної інформації;

·        Допоміжні таблиці - призначені для зберігання додаткової інформації.

·        Системні таблиці - призначені для службового використання клієнтським додатком.

Нижче наведені таблиці з переліком, описом і структурою таблиць бази даних «Infomedia».

Таблиця 6.1. Перелік таблиць бази даних «Infomedia»

Назва таблиці

Тип таблиці

Опис

dbo. Personnel

Основна

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

dbo. Baby

Основна

Інформація про дітей персоналу дільниці.

dbo. Leave

Основна

Інформація з відпусток.

dbo. District

Допоміжна

Список районів.

dbo. Address

Допоміжна

Список вулиць, проспектів, мікрорайонів.

dbo. EdInstitution

Допоміжна

Список навчальних закладів.

dbo. Formation

Допоміжна

Список освіти.

dbo. Section

Допоміжна

Список дільниць.

dbo. Post

Допоміжна

Список посад

dbo. Month

Допоміжна

Список місяців і сезонів.

dbo. Users

Системна

Список користувачів системи.

dbo. Menu

Системна

Список меню клієнтського додатка.

dbo. Views

Системна

Список подань клієнтського додатка.

dbo. RulesMenu

Системна

Список правил доступу до меню клієнтського додатка.

dbo. RulesViews

Системна

Список правил доступу до подань клієнтського додатка.


Таблиця 6.2. Структура полів таблиці - dbo. Personnel

Ім'я поля

Тип поля

Опис

TabNum

Int

Табельний номер (ключове поле)

Surname

Char[20]

Прізвище

Name

Char[20]

Ім'я

Patronymic

Char[20]

По батькові

Char[10]

пол

Foto

Image

Фотографія

DateWork

Datetime

Дата прийняття на роботу

DateOutWork

Datetime

Дата звільнення

CauseOutWork

Char[100]

Причина звільнення

[Section]

Int

Код дільниці

Post

Int

Код посади

DatePost

Datetime

Дата призначення на посаду

Category

Int

Розряд

Shift

Int

Зміна

Schedule

Int

Графік роботи

Birthday

Datetime

Дата народження

ARegistration

Int

Код вулиці, проспекту або мікрорайону (прописаний)

ARHouse

Char[5]

Номер будинку (прописаний)

ARRoom

Int

Номер квартири (прописаний)

ALive

Int

Код вулиці, проспекту або мікрорайону (проживає)

ALHouse

Char[5]

Номер будинку (проживає)

ALRoom

Int

Номер квартири (проживає)

HomePhone1

Int

Домашній телефон №1

HomePhone2

Int

Домашній телефон №2

WorkMPhone

Bigint

Робочий мобільний телефон

HomeMPhone

Bigint

Домашній мобільний телефон

HomeEMail

Char[100]

Email - домашній

WorkEMail

Char[100]

Email - робітник

Formation

Int

Код освіти

EdInstitution

Int

Код навчального закладу

Specialnost

Char[100]

Спеціальність

DataInstitut

Int

Дата закінчення інституту

Diplom

Image

Копія диплома

Fluorography

Datetime

Дата проходження флюорографії

NumFluorography

Int

Номер флюорографії

MedicalFluorography

Char[50]

Медична установа

MedicalCommission

Datetime

Дата наступного проходження медогляду

PTE

Datetime

Дата наступної здачі іспитів ПТЕ

PlanPTE

Bit

Контроль непланових іспитів

GSS

Datetime

Дата наступної здачі іспитів ГСС

NumGSS

Int

Номер посвідчення ГСС


Опис збережених процедур бази даних «Infomedia»

База даних «Infomedia» представлена у вигляді 16-ти збережених процедур.

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

Таблиця 6.3. Перелік збережених процедур бази даних «Infomedia»

Назва Збереженої процедури

Опис

dbo. Add_Menu

Процедура обновляє список меню клієнтського додатка й додає правила доступу користувачів ІС для знов створеного підменю. Вхідні дані: @Menu - Ім'я підміню; @Description - Опис підміню

dbo. Add_Section

Процедура додає в ІС нову дільницю. (Обновляє список дільниць і додає правила доступу користувачів ІС для подань по доданій дільниці). Вхідні дані: @TypeSection - Тип додаваємой дільниці, (3-основна дільниця; 2-дільниця; 3-під-дільниця); @Section - Найменування дільниці; @IDOwnerSection - ID Дільниця власника.

dbo. Add_Users

Процедура додає нового користувача ІС. (Обновляє список користувачів ІС, додає правила доступу знов створеного користувача для подань і підміню) Вхідні дані: @UserName - Ім'я користувача; @PSW - зашифрований пароль.

dbo. Add_YearLeave

Процедура підготовляє таблицю dbo. Leave (відпустки персоналу) додаючи зазначений рік по всіх записах персоналу. Вхідні дані: @Year - Додаваємий рік.

dbo. Create_RulesMenu

Процедура створює заново таблицю dbo. RulesMenu (правила доступу користувачів ІС до меню клієнтського додатка)

dbo. Create_RulesViews

Процедура створює заново таблицю dbo. RulesViews (правила доступу користувачів ІС до подань клієнтського додатка)

dbo. Create_tmpRulesMenu

Процедура створює копію таблиці dbo. RulesMenu (правил доступу користувачів ІС до меню клієнтського додатка)

dbo. Create_tmpRulesViews

Процедура створює копію таблиці dbo. RulesViews (правил доступу користувачів ІС до подань клієнтського додатка)

dbo. Del_Section

Процедура видаляє з ІС існуючу дільницю. (Видаляє зі списку дільниць, видаляє правила доступу користувачів ІС для подань по вилученій дільниці). Вхідні дані: @TypeSection - Тип видаляємої дільниці, (3-основна дільниця; 2-дільниця; 3-під-дільниця); @Section - Найменування дільниці.

dbo. Del_Users

Процедура видаляє існуючого користувача ІС. (Видаляє зі списку користувачів ІС, видаляє правила доступу користувача для подань і підміню клієнтського додатка) Вхідні дані: @UserName - Ім'я видаляємого користувача.

dbo. Personnel_Baby

Процедура надає інформацію з дітей персоналу. (Інформація надається згідно правил доступу для користувача ІС запитуваного ці дані) Вхідні дані: @Views - Назва подання. @IDUsers - ID Користувача ІС запитуваного ці дані.

dbo. Personnel_Card

Процедура надає всю інформацію з персоналу. (Інформація надається згідно правил доступу для користувача ІС запитуваного ці дані) Вхідні дані: @Views - Назва подання. @IDUsers - ID Користувача ІС запитуваного ці дані.

dbo. Save_RulesMenu

Процедура застосовує змінені правила доступу користувачів ІС до меню клієнтського додатка.

dbo. Save_RulesViews

Процедура застосовує змінені правила доступу користувачів ІС до подань клієнтського додатка.

dbo. Select_Section

Процедура формує список дільниць дозволених для перегляду або зміни й згідно правил доступу для користувача ІС запитуваного ці дані. Вхідні дані: @Views - Назва подання; @IDUsers - ID Користувача ІС.

.4 Клієнтський додаток Infomedia.exe

Логіко-функціональна схема роботи користувача із клієнтським додатком

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

·        Підключення до сервера баз даних;

·        Вхід у систему під обліковим записом користувачів ІС і настроювання клієнтського додатка під користувача ІС;

·        Робота користувача із клієнтським додатком.

Інтерфейс клієнтського додатка

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

Головне меню й панелі інструментів клієнтського додатка

Інтерфейс користувача має головне меню й пінили інструментів із кнопками.

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

Всі вікна клієнтського додатка діляться на наступні типи:

·        Основні вікна;

·        Допоміжні вікна;

·        Системні вікна.

Подання клієнтського додатка

Для відображення інформації з персоналу виробничої дільниці автоматики аглодоменного виробництва в додатку передбачене основне вікно «Картотека по персоналу» у якому відображаються наступні подання:

·        Загальні дані - (подання відображає основні дані по персоналі: Таб №; прізвище; ім'я; по батькові; пол; наявність фотокартки.);

·        Табельні дані - (подання відображає: загальні дані; дата прийняття на роботу; зміну; графік роботи; стаж роботи; посада; дата призначення на посаду; розряд);

·        Адреси - (подання відображає адреси прописки й проживання персоналу дільниці);

·        Телефони - (подання відображає мобільні й стаціонарні телефони персоналу дільниці);

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

·        Вік - (подання відображає дату народження й вік персоналу дільниці);

·        Відпустка - (подання відображає основні й додаткові відпустки персоналу дільниці на поточний рік);

·        Медогляд - (подання відображає дані про проходження персоналом дільниці щорічних медоглядів і флюорографії);

·        Діти - (подання відображає інформацію про дітей персоналу);

·        ПТЕ - (подання відображає інформацію про перевірку знань на право роботи в електроустановках у персоналу дільниці);

·        ГСС - (подання відображає інформацію про наявність у персоналу дільниці права на виконання робіт у газозахисній апаратурі);

·        Звільнені - (подання відображає інформацію про персонал звільнений або переведений на іншу дільницю);

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

Для швидкого доступу до потрібного подання у вікні передбачені бічні кнопки виклику подання.

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

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

У додатку доступні наступні діаграми:

·        Подання «Табельні дані»

o        Кількість працівників по ділянках;

o   Кількість працівників по посадах;

o   Кількість ІТП і робітників;

·        Подання «Освіта»

o        Отримана освіта;

o   Кінчені навчальні заклади;

·        Подання «Вік»

o        Вікова діаграма по персоналу дільниці;

·        Подання «Відпустка»

o        Кількість відпусток з розбивкою по місяцях;

o   Кількість відпусток з розбивкою по сезонах;

·        Подання «ГСС»

o        Наявність посвідчень на право роботи в газозахисній апаратурі у персоналу дільниці;

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

Вікна для уведення й зміни даних подання

Всі дані в поданні необхідно доповнювати або змінювати. Для цього в додатку передбачено два вікна, вікно «Прийняти на роботу або змінити дані по персоналу» і вікно «Звільнити персонал». Ці вікна доступні з панелі інструментів із кнопками керування розміщені у верхній частині вікна «Картотека по персоналу» або з контекстного меню викликуваного з будь-якого подання.

Вікно «Прийняти на роботу або змінити дані по персоналу» призначено для уведення або зміни всіх даних по персоналу дільниці (рис. 6.10). Вся інформація для уведення або зміни розбита на типи у вигляді закладок: загальні дані, табельні дані, адреси, телефони, освіта, відпустка, медогляд, діти, ПТЕ, ГСС.

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

Вікно «Звільнити персонал» призначено для перекладу даних по персоналу в подання «Звільнені», для цього необхідно вказати дату звільнення й причину.

Зміна зовнішнього вигляду подання

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

Користувач може міняти місцями поля подання, групувати дані по обраному полю, збирати поля в одну групуючу смугу, міняти назву й зовнішній вигляд полів і смуг, сортувати дані в полях, додавати необхідну додаткову інформацію з вікна «Сховище полів і групуючих смуг», виконувати фільтрацію значень полів за допомогою вікна «Конструктора відбору даних», міняти колірну схему й стилі відображення подань за допомогою вікна «Настроїти вид подання».

Всі опції й вікна для зміни зовнішнього вигляду подання доступні з панелі інструментів із кнопками керування що розміщені у верхній частині вікна «Картотека по персоналу» або з підменю «Подання» контекстного меню викликуваного з будь-якого подання.

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

Звітні документи клієнтського додатка

У системі передбачені наступні звіти:

·        Картотека - (у цьому звіті відбиті всі основні дані по персоналу, такі як П. І. Б., табельні дані, адреси, телефони й освіта);

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

·        Адреси - (у цьому звіті відбиті адреси прописки й проживання персоналу дільниці);

·        Телефони - (у цьому звіті відбиті мобільні й стаціонарні телефони персоналу дільниці);

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

·        Вік - (у цьому звіті зазначені дні народження персоналу і його вік);

·        Відпустки - (у цьому звіті відображені основні й додаткові відпустки персоналу дільниці на поточний рік);

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

·        Діти - (у цьому звіті відображена інформація про дітей персоналу дільниці);

·        Перевірка ЭБ - (у цьому звіті відбиті дати наступної перевірки знань на право роботи в електроустановках);

·        Посвідчення ГСС - (у цьому звіті наведена інформація про наявність у персоналу посвідчень на право роботи в газозахисній апаратурі);

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

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

Всі звіти можуть бути збережені у вигляді файлів наступного формату: Rave Snapshot File (*.ndr); Native Printer Output (*.prn); Adobe Acrobat (*.pdf); Web page (*.html); Rich Text Format (*.rtf); Plain text (*.txt). Це значно розширює можливості для використання даних звіту в будь-яких цілях.

Допоміжні вікна клієнтського додатка

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

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

·        Вікно «Меню.» - призначено для включення знову створеного підміню програми в ІС. Для цього підменю створюється правило доступу користувачів ІС;

·        Вікно «Перелік районів й адрес» - призначено для додавання або зміни існуючого переліку назв районів, мікрорайонів, вулиць, проспектів і поштових індексів.

·        Вікно «Освіта…» - призначено для додавання або зміни існуючого типу освіти.

·        Вікно «Навчальні заклади…» - призначено для додавання або зміни існуючої абревіатури й повної назви навчального закладу.

·        Вікно «Дільниці…» - призначено для додавання або зміни існуючої основної дільниці, дільниці або під-дільниці.

·        Вікно «Посади…» - призначено для додавання або зміни існуючої назви посади й типу класифікації.

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

Системні вікна

Системні вікна надають користувачеві ІС можливість підключення до ІС і доступ до настроювань облікового запису користувача ІС.

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

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

·        Адміністратор - Основний обліковий запис має доступ до всіх настроювань ІС;

·        Користувачі ІС - Облікові записи користувачів ІС призначені для доступу до бази даних ІС.

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

Підключення користувача до ІС відбувається за допомогою вікна «Підключення користувача». Для цього необхідно зі списку користувачів вибрати потрібного користувача й увести пароль.

Для того щоб користувач міг змінити пароль облікового запису в системі передбачене вікно «Змінити підключення», куди необхідно ввести старий пароль, новий пароль і підтвердження нового пароля.

Так само в системі передбачена можливість додавання й видалення існуючого облікового запису користувача ІС, для цього в системі передбачені вікна «Додати підключення» й «Видалити підключення». Ці вікна доступно тільки з облікового запису «Адміністратор».

Кожен обліковий запис користувача ІС має права доступу до меню й поданням клієнтського додатка для забезпечення безпечного доступу до даних ІС. Для настроювання облікових записів передбачене вікно «Настроїти підключення». Це вікно доступно тільки з облікового запису «Адміністратор».

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

6.5 Програмна реалізація проектованої системи

Доступ до бази даних «Infomedia» за допомогою технології ADO

На основній формі клієнтського додатка «fmInfomedia», розміщений компонент TADOConnection, призначений для встановлення з'єднання з даними бази даних «Infomedia». Для цього в нього є властивість ConnectionString, яку необхідно заповнити рядком з даними для підключення.

У клієнтському додатку це відбувається за допомогою функції ConnectDB. Вхідними даними для цієї функції є глобальні змінні (NameServer - ім'я сервера баз даних; Namedb - ім'я бази даних; UNdb - ім'я користувача сервера баз даних; PSWdb - пароль користувача), а сама функція повертає наступні значення типу Boolean (true - підключення відбулося або false - помилка підключення).

TfmInfomedia. ConnectDB:boolean;. Connected:=false;. ConnectionString:= 'Provider=SQLOLEDB.1' +

'; Data Source=' + NameServer +

'; Initial Catalog=' + Namedb +

'; User ID=' + UNdb +

'; Password=' + PSWdb +

'; Persist Security Info=True';// Попытка подключится. Connected:=true;:=true;:=false;;;

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

Доступ користувачів ІС до даних для перегляду й змін

Всі дані по облікових записах користувачів ІС розміщені в таблиці dbo. Users. Кожен запис таблиці має три поля IDUser - код користувача, User - ім'я користувача, Password - пароль користувача.

Всі паролі користувачів зберігаються в таблиці в шифрованому вигляді, c використанням методу шифровки «перестановка біт». Всі функції для роботи із шифром розміщені окремо в модулі Crypto.pas і містять дві основні функції function Code (S: String) - закодувати інформацію й function DeCode (S: String) - декодувати інформацію:

= array [0..7] of Byte;: CodeKey =(3,1,6,8,4,7,2,5);: CodeKey =(2,7,1,5,8,3,6,4);

Code (S: String):String;, nf: Integer;, cb: Byte;:=1;n<=Length(S) do:=ord (S[n]);:=0;nf:=0 to 7 doRol (bx, ckey[nf]) then cb:= OnBit (cb, 8-nf);[n]:=Chr(cb);(n);;:=S;;

DeCode (S: String):String;, nf: Integer;, cb: Byte;:=1;n<=Length(S) do:=ord (S[n]);:=0;nf:=0 to 7 doRol (bx, dkey[nf]) then cb:= OnBit (cb, 8-nf);[n]:=Chr(cb);(n);;:=S;;

Пароль користувача не може бути порожнім значенням поля, інакше при підключенні до системи обліковий запис, у якому порожній пароль, буде заблоковано й розблокувати його зможе лише «Адміністратор».

Основним обліковим записом ІС є «Адміністратор», код якого завжди має значення «0», і цей обліковий запис не може бути вилучено із системи.

Перевірка підключення користувача до системи відбувається за допомогою функції ConnectIM (xUN: String; xPSW: String). Вхідними даними, є змінні xUN - ім'я користувача ІС й xPSW - пароль користувача, а повертає функція числове значення типу Integer («-1» - помилка підключення, «0» - підключився «Адміністратор», «значення >0» - код користувача ІС).

TfmInfomedia. ConnectIM (xUN: String; xPSW: String):Integer;: TadoQuery;:=-1;:=select ('SELECT Password, IDUser FROM dbo. Users WHERE ([User] = «'+ xUN +''')', false);(not adoqSelect. IsEmpty) and (DeCode (ClearBlank (adoqSelect. Fields[0].AsString)) = xPSW) then:=adoqSelect. Fields[1].AsInteger;;;

Після підключення до ІС відбувається настроювання клієнтського додатка згідно правил доступу до підменю основного меню додатка.

Правила доступу користувача до головного меню клієнтського додатки перебувають у таблиці dbo. RulesMenu. Кожен запис таблиці має чотири поля IDRulesMenu - код правила, IDMenu - код підміню основного меню клієнтського додатка, IDUsers - код користувача ІС, Accept - доступ до меню, що мають наступні значення («0» - доступ заборонений, «1» - доступ дозволений). Для того щоб одержати інформацію об доступі підменю клієнтського додатка необхідно зробити запит до таблиці dbo. RulesMenu з умовою відбору інформації з коду користувача, а потім за значенням поля Accept активувати відповідне підменю.

У клієнтському додатку ці дії виконує процедура ActiveMenu (xIDUN: Integer). Вхідними даними, якої є глобальна змінна xIDUN - код користувача.

TfmInfomedia. ActiveMenu (xIDUN: Integer);: TadoQuery;: Integer;:=select ('SELECT dbo. Menu. Menu, dbo. RulesMenu. Accept '

'FROM dbo. Menu INNER JOIN ' +

'dbo. RulesMenu ON dbo. Menu.IDMenu = dbo. RulesMenu.IDMenu INNER JOIN ' +

'dbo. Users ON dbo. RulesMenu.IDUser = dbo. Users.IDUser ' +

'WHERE (dbo. Users.IDUser = '+ IntToStr(xIDUN) +')', false);(not adoqSelect. IsEmpty) then(FindComponent(ClearBlank (adoqSelect. Fields[0].AsString))).Enabled:=adoqSelect. Fields[1].AsBoolean;not adoqSelect. FindNext;xIDUN = 0 then. Visible:= ivAlways else. Visible:= ivInCustomizing;:= xIDUN;:=NameIM + ' Вход выполнил [' + UNim + '].';

// Сообщить всем окнам сменился пользовательn:=0 to fmInfomedia.MDIChildCount-1 do(fmInfomedia.MDIChildren[n].Handle, SX_MYMESSAGE, 0,0);;;

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

Формування даних для подань

Правила доступу користувача до даних подання клієнтського додатка перебувають у таблиці dbo. RulesView. Кожен запис таблиці має шість полів IDRulesViews - код правила, IDViews - код подання клієнтського додатка, IDUsers - код користувача ІС, IDSection - код дільниці, [View] - дозвіл перегляду даних й [Update] - дозвіл зміни даних, що мають наступні значення («0» - заборонено, «1» - дозволено).

Фактично правила доступу надаються до інформації з дільниць. Для того щоб одержати інформацію про доступні до перегляду або зміни дільниці необхідно зробити запит до таблиці dbo. RulesView з умовою відбору інформації з коду користувача й коду подання, і за значенням поля [View] визначити по якій ділянці дозволений перегляд, а за значенням поля [Update] визначити по якій ділянці дозволена зміна даних.

Вся інформація для подань формується за допомогою збережених процедур dbo. Personnel_Card й dbo. Personnel_Baby. Дані процедури надають всю інформацію згідно правил доступу для користувача ІС, запитуваного ці дані. Вхідними даними для всіх збережених процедур є наступні змінні @Views - назва подання й @IDUsers - ID користувача ІС запитуваного ці дані. Вихідними даними буде таблиця з інформацією з персоналу, дозволеному для перегляду користувачу ІС. По кожному рядку вихідної таблиці додається поле [Update] відповідно до прав доступу з таблиці dbo. RulesView.

Доступ до зміни даних подання відбувається за допомогою обробки події AfterScroll (перехід на наступний рядок) компонента TADOStoredProc розміщеного на формі fmPersonnelCard (Вікно «Картотека по персоналу») і підключеного до збереженої процедури dbo. Personnel_Card.

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

TfmPersonnelCard.adosPersonnel_CardAfterScroll (: TDataSet);. Enabled:=true;adosPersonnel_CardUpdate. AsBoolean thennot adosPersonnel_Card. IsEmpty then. Enabled:= true;. Enabled:= true;else begin. Enabled:= false;. Enabled:= false;;else begin. Enabled:= false;. Enabled:= false;;;

Формування даних для діаграм

Вся інформація для побудови діаграм формується за допомогою ADO-компонента TADOQuery розміщеного на формі fmPersonnelCard (Вікно «Картотека по персоналу»), у властивість SQL якого завантажується запит на формування діаграми. Отриманий набір даних виводиться за допомогою компонента TDBChart у вигляді діаграм.

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

Нижче наведена процедура DiagrammTabData для формування діаграми по поданню «Табельні дані», у ній формується три типи діаграми: кількість працівників по дільницях, кількість працівників по посадах, кількість ІТП і робітників. Всі діаграми мають додатковий критерій відбору, по якій дільниці робити відбір.

TfmPersonnelCard. DiagrammTabData;, xSQL1, xSQL2, xSQL3: String;. Active:= false;:='SELECT ';rgTD. ItemIndex of

: begin:= 'dbo. Section. [Section], ';:= 'GROUP BY dbo. Section. [Section] ';:= 'ORDER BY COUNT (dbo. Personnel. TabNum) ';(dbcrDiagramm, 0);;

: begin:= 'dbo. Post. Post, ';:= 'GROUP BY dbo. Post. Post ';:= 'ORDER BY COUNT (dbo. Personnel. TabNum) ';(dbcrDiagramm, 1);;

: begin:= 'RSS = CASE WHEN dbo. Post.RSS =1 then «ИТР» else «Рабочие» end, ';:= 'GROUP BY dbo. Post.RSS ';:= 'Order By dbo. Post.RSS ';(dbcrDiagramm, 2);;;:=xSQL + xSQL1;:=xSQL + 'COUNT (dbo. Personnel. TabNum) AS Count ' +

'FROM dbo. Views INNER JOIN ' +

'dbo. RulesViews ON dbo. Views.IDViews = dbo. RulesViews.IDViews INNER JOIN ' +

'dbo. Personnel INNER JOIN ' +

'dbo. Section ON dbo. Personnel. [Section] = dbo. Section.IDSection ON dbo. RulesViews.IDSection = dbo. Section.IDSection INNER JOIN ' +

'dbo. Post ON dbo. Personnel. Post = dbo. Post.IDPost ' +

'WHERE (dbo. RulesViews.IDUsers = 25) ' +

'AND (dbo. Views. Views = «vPeronnel_Card») ' +

'AND (dbo. RulesViews. [View] = 1) AND (dbo. Personnel. DateOutWork is null) ';cbSection. Text <> «Все» then:=xSQL + 'AND (dbo. Section. [Section] = «' + cbSection. Text + «') ';:=xSQL + xSQL2 + xSQL3;.SQL. Clear;.SQL. Add(xSQL);. Active:= true;;

Формування даних для звітів

Вся інформація для звітів формується за допомогою ADO-компонента TADOQuery розміщеного на формі fmSelectReport (Вікно «Вибір для звіту»), у властивість SQL якого завантажується запит на формування звіту. Отриманий набір даних передається за допомогою компонента TRvDataSetConnection у проект звіту Report.rav.

Одержання рядка SQL-запиту для звіту відбувається, програмно використовуючи той же метод, як і для діаграм за допомогою процедури CreateReport (nReport: Integer), вхідними даними якої є номер звіту nReport, а вихідними - рядок SQL-запиту.

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

Потім після натискання користувачем на кнопку «Показати», отримана строка SQL-запиту міститься у властивість SQL, ADO-компонента TADOQuery і за допомогою властивості Active компонента TADOQuery відкривається набір даних, які через компонент TRvDataSetConnection передаються в проект звіту.

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

Завантаження рядка SQL-запиту й вибір потрібної форми для відображення відбуваються в процедурі btViewClick (Sender: TObject) оброблювача події натискання кнопки «Показати».

TfmSelectReport.btViewClick (Sender: TObject);. Active:= false;.SQL. Clear;.SQL. Add (CreateReport(xReport));. Active:=true;.rp1. ProjectFile:= ReportFile;xReport of

: fmInfomedia.rp1. ExecuteReport('rPersonnel');

: fmInfomedia.rp1. ExecuteReport('rTabData');

: fmInfomedia.rp1. ExecuteReport('rAddress');

: fmInfomedia.rp1. ExecuteReport('rPhone');

: fmInfomedia.rp1. ExecuteReport('rFormation');

: fmInfomedia.rp1. ExecuteReport('rAge');

: fmInfomedia.rp1. ExecuteReport('rLeave');

: fmInfomedia.rp1. ExecuteReport('rFluorography');

: fmInfomedia.rp1. ExecuteReport('rBaby');

: fmInfomedia.rp1. ExecuteReport('rPTE');

: fmInfomedia.rp1. ExecuteReport('rGSS');;E:EOleException do('Ошибка!' +

#13 + 'Источник ошибки [' + E. Source + '].' +

#13 + 'Код ошибки №' + IntToStr (E. ErrorCode) +

#13 + 'Сообщение об ошибке: [' + E. Message + '].', [mbCancel], 0);;

7. Економічне обґрунтування доцільності розробки програмного продукту

Метою дипломної роботи є створення системи керування інформаційними потоками виробничої дільниці автоматики аглодоменного виробництва. Розроблена система була випробувана на ВАТ «АрселорМиттал Кривий Ріг» у службі автоматизації технологічних процесів на дільниці автоматики аглодоменного виробництва.

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

Визначення витрат на створення програмного продукту.

Оскільки середа розробки є безкоштовною, витрати на створення програмного продукту складаються з витрат по оплаті праці розробника програми і витрат по оплаті машинного часу при відладці програми:

Зспп=Ззпспп мвсппобщ,

де

Зспп - витрати на створення програмного продукту;

Ззпспп - витрати на оплату праці розробника програми;

Змвспп - витрати на оплату машинного часу;

Зобщ - загальні витрати.

деo - витрати праці на підготовку опису завдання;

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

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

Ззпспп=t•Tчас.

 

Розрахунок трудомісткості створення програмного продукту.

Трудомісткість розробки програмного продукту можна визначити таким чином:

= to+ tа+ tб+ tп+ tд+ tот,

п - витрати праці на складання програми по готовій блок-схемі;д - витрати праці на підготовку документації завдання;от - витрати праці на відладку програми на ЕОМ при комплексній відладці завдання.

Складові витрат можна виразити через умовне число операторів Q. У нашому випадку число операторів у відлагодженій програмі Q=1050.

Розрахунок витрат праці на підготовку опису завдань.

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

o= Q•B/(75…85•K),

де- коефіцієнт збільшення витрат праці унаслідок недостатнього опису завдання, уточнень і деякої недоробки, B=1,2…5;- коефіцієнт кваліфікації розробника, для тих, що працюють до 2 років K=0,8;

Коефіцієнт В приймаємо рівним 2.

Таким чином отримаємоo= 1050•2/(78•0,8) = 33,65 (люд-год).

Розрахунок витрат праці на розробку алгоритму.

Витрати праці на розробку алгоритму рішення задачі:

а = Q/(60…75•K)а = 1050/(70•0,8)=18,75 (люд-год).

Розрахунок витрат праці на розробку блок-схеми.

б= Q/(60…75•K)б = 1050/(71•0,8)=18,48 (люд-год).

Розрахунок витрат праці на складання програми.

Витрати праці на складання програми по готовій блок-схемі обчислимо таким чином:

п= Q/(60…75•K)п = 1050/(72•0,8)=18,23 (люд-год).

Розрахунок витрат праці на відладку програми.

Витрати праці на відладку програми на ЕОМ при комплексній відладці завдання:

tот=1.5• tAот,

де tAот - витрати праці на відладку програми на ЕОМ при автономній відладці одного завдання;

Aот= Q/(40…50•K)Aот = 1050/(48•0,8)=27,34 (люд-год)

Звідси tот=1.5•27,34=41,01 (люд-год).

Розрахунок витрат праці на підготовку документації.

Витрати праці на підготовку документації по завданню визначаються:

д= tдр+ tдо,

дедр - витрати праці на підготовку матеріалів в рукопису;до - витрати на редагування, друк і оформлення документації;

др= Q/(150…200•K)др = 1050/(180•0.8) = 7,29 (люд-год)до=0.75•tдр

tдо =0.75•7,29=5,47 (люд-год)

Звідсид=7,29+5,47=12,76 (люд-год).

Отже, загальну трудомісткість програмного продукту можна розрахувати:= 33,65 +18,75 +18,48+18,23 +41,01+12,76 =142,88 (люд-год).

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

Середня зарплата програміста в сучасних ринкових умовах може варіюватися в широкому діапазоні. Для розрахунку візьмемо середню годинну оплату праці, яка складає Тчас.=8 грн/година, що означає 1408 грн/мес при 8-ми годинному робочому дні і 5-ти денному робочому тижню.

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

,2% - пенсійний фонд;

,4% - соціальне страхування;

.6% - відрахування до державного фонду зайнятості на випадок безробіття;

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

Разом нарахування на соціальні потреби складають 37,2%.

Тобто 1408 грн•37,2%=520,96 грн

Звідси витрати на оплату праці програміста складають:

Ззпспп= 1408+520,96=1928,96 грн.

Витрати на оплату машинного часу.

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

Змвспп час•tЕОМ,

де

Счас - ціна машино-години орендного часу, грн/год;ЕОМ - фактичний час відладки програми на ЕОМ;

Розрахунок фактичного часу відладки.

Фактичний час відладки обчислимо за формулою:

tеом = tп + tдо + tот;еом =18,23 +5,47 +41,01 = 64,71 години

Розрахунок ціни машино-години.

Ціну машино-години знайдемо по формулі:

Сгод = Зеомеом,

де

Зеом - повні витрати на експлуатацію ЕОМ на протязі року;

Теом - дійсний річний фонд часу ЕОМ, год/рік.

Розрахунок річного фонду часу роботи ПЕОМ.

Загальна кількість днів в році - 365. Число святкових і вихідних днів - 114 (10 святкових і 52•2 - вихідні).

Час простою в профілактичних роботах визначається як щотижнева профілактика по 3 години.

Разом річний фонд робочого часу ПЕОМ складає:

Теом = 8•(365-114) - 52•3=1852 год.

Розрахунок повних витрат на експлуатацію ЕОМ.

Повні витрати на експлуатацію можна визначити по формулі:

Зеом = (Ззп+ Зам+ Зэл+ Здм+ Зпр+ Зін),

де,

Ззп - річні витрати на заробітну плату обслуговуючого персоналу, грн/рік;

Зам - річні витрати на амортизацію, грн/рік;

Зэл - річні витрати на електроенергію, споживану ЕОМ, грн/рік;

Здм - річні витрати на допоміжні матеріали, грн/рік;

Зпр - витрати на поточний ремонт комп'ютера, грн/рік;

Зін - річні витрати на інші і накладні витрати, грн/рік.

Амортизаційні відрахування.

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

Замбал•Нам,

де Сбал - балансова вартість комп’ютера, грн/шт.;

Нам - норма амортизації, %;

Нам =25%.

Балансова вартість ПЕОМ включає відпускну ціну, витрати на транспортування, монтаж устаткування і його відладку:

Сбал = Срин уст;

де

Срин - ринкова вартість комп’ютеру, грн/шт.,

Зуст - витрати на доставку і установку комп'ютера, грн/шт.;

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

Срин =5000 грн, витрати на установку і наладку склали приблизно 10% від вартості комп'ютера.

Зуст = 10%• Срин

Зуст =0.1•5000=500 грн.

Звідси, Сбал = 5000 +500 =5500 грн./шт.;

а Зам=5500•0,25= 1375 грн/год.

Розрахунок витрат на електроенергію.

Вартість електроенергії, споживаної за рік, визначається по формулі:

Зел = Реом • Теом • Сел • А,

де

Реом - сумарна потужність ЕОМ,

Теом - дійсний річний фонд часу ЕОМ, год/рік;

Сел - вартість 1кВт•год електроенергії;

А - коефіцієнт інтенсивного використання потужності машини.

Згідно технічному паспорту ЕОМ Реом =0.22 кВт, вартість 1кВт•год електроенергії для споживачів Сел =0,2436 грн., інтенсивність використання машини А=0.98.

Тоді розрахункове значення витрат на електроенергію:

Зел = 0.22 • 1852• 0.2436• 0.30 = 29,78 грн.

Розрахунок витрат на поточний ремонт.

Витрати на поточний і профілактичний ремонт приймаються рівними 5% від вартості ЕОМ:

Зтр = 0.05• Сбал

Зтр = 0.05• 5500 = 275 грн.

Розрахунок витрат на допоміжні матеріали.

Витрати на матеріали, необхідні для забезпечення нормальної роботи ПЕОМ, складають близько 1% від вартості ЕОМ:

Звм =0,01• 5500 =55 грн.

Інші витрати по експлуатації ПЕОМ.

Інші непрямі витрати, пов'язані з експлуатацією ПЕОМ, складаються з вартості послуг сторонніх організацій і складають 5% від вартості ЕОМ:

Зпр = 0,05• 5500 =275 грн.

Річні витрати на заробітну плату обслуговуючого персоналу.

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

Ззп = Зоснзп допзп отчзп.

Основна заробітна плата визначається, виходячи із загальної чисельності тих, що працюють в штаті:

Зоснзп =12 •∑Зіокл,

де

Зіокл - тарифна ставка і-го працівника в місяць, грн;

- кількість місяців.

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

Зоснзп = 12•(1500+1200)/20=1620 грн.

Додаткова заробітна плата складає 60% від основної заробітної плати:

Здопзп = 0.6 •1620 = 972 грн.

Відрахування на соціальні потреби складають 37,2% від суми додатковою і основною заробітних плат:

Зотчзп = 0,372•(1620 + 972) = 959,04 грн.

Тоді річні витрати на заробітну плату обслуговуючого персоналу складуть:

Ззп = 1620 +972 +959,04 = 3551,04 грн.

Повні витрати на експлуатацію ЕОМ в перебігу року складуть:

Зеом = 3551,04 + 1375+ 29,78 + 55 + 275+ 275= 5560,82 грн.

Тоді ціна машино-години часу, що орендується, складе

Сгод = 5560,82 /1852 = 3 грн.

А витрати на оплату машинного часу складуть:

Змвспп год•tеом

Змвспп = 3 • 64,71= 194,13 грн.

Розрахунок загальних витрат.

Загальні витрати - 643

Зспп=Ззпспп мвсппзаг

Зспп =1928,96+194,13 +643=2766,09 грн.

Тобто собівартість програмного продукту 2766,09 грн.

А зараз визначимо ціну програмного продукту:

Ц = Зспп + Р,

Где Ц - ціна програмного продукту;

Р - 15% від витрат на створення програмного продукту.

Ц = 2766,09 +414,91=3181 грн.

Ціна програмного продукту дорівнює 3181 грн.

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

Економія від використання однієї розробленої програми представлятиме:

,1 - курс долара Національного банку України

ЕК = $1000 * 8,1-3181= 4919 грн.


Висновки


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

·        Поліпшити ефективність роботи лінійних керівників дільниць;

·        Підвищити швидкість обробки інформації;

·        Зменшити бумага-обіг на дільниці;

·        Зменшити витрати часу на збір інформації.

Щоб реалізувати поставлене завдання, необхідно було вибрати оптимальну мову програмування що дозволяє працювати з базами даних. Тому реалізація даного завдання вироблялася за допомогою інструментального засобу прискореної розробки програм системи програмування Delphi7 і технології Rave Reports.

Середовище Delphi завоювала собі репутацію найефективнішого засобу розробки додатків баз даних, тобто програм, що обслуговують електронні сховища інформації. Ця репутація визначається трьома обставинами: високопродуктивною машиною доступу до даних різного формату (Borland Database Engine, BDE), наявністю численних компонентів, орієнтованих на цю сферу застосування, і відношенням самого середовища до класу інструментальних засобів прискореної розробки програм (Rapid Application Development, RAD).

Це прискорення досягається за рахунок двох характерних властивостей Delphi: візуального конструювання форм і широкого використання бібліотеки візуальних компонентів (Visual Component Library, VCL).

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

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


1.   Архангельский Алексей. Интегрированная среда разработки Delphi (версии 1 - 5). Практическое пособие с примерами.

2.       Архангельский А.Я. Работа с локальными базами данных в Delphi 5.

.        Атре Ш. Структурный подход к организации баз данных. - М.: Финансы и статистика, 2000.

.        Бобровский С.И. Delphi 7. Учебный курс.

.        Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. - М.: Финансы и статистика, 1999. - 351 с.

.        Борри Х. Firebird: руководство разработчика баз данных: Пер. с анrл. - СПб.: БХВ Петсрбурr, 2006.

.        Горев А., Ахаян Р., Макашарипов С. «Эффективная работа с СУБД».СПб.:Питер, 2001.

.        Дейт К., «Введение в системы баз данных», Москва, 'Hаука', 2000 г.

.        Диго С.М., «Проектирование и использования баз данных». Москва: Финансы и статистика 2000.

.        Дунаев С.В. Borland-технологии. SQL-Link. Interbase. Paradox for Windows. Delphi.

.        Елманова Наталия. ADO в Delphi.

.        Епанешников A.M., «Программирование в среде Delphi 5.0».

.        Кириллов В.В. Структурированный язык запросов (SQL). - СПб.: ИТМО, 2001.

.        Когловский М.Р., «Технология баз данных на персональных ЭВМ», Москва, 'Финансы и статистика', 1992 г.

15.     Кожедуб О.А., Скиба С.А., Подольский С.В. Разработка интернет-приложений в Delphi.

.        Кузнецов С.Д. Основы баз данных: учебное пособие - М.: Интернет-Университет Информационных Технологий; БИНОМ. Лаборатория знаний, 2007.

.        Мамаев Е. MS SQL Server 2000. Наиболее полное руководство. - СПб.: Питер, 2001.

.        Мартин Дж., «Организация баз данных в вычислительных системах» М: Мир 1998 г.

.        Матчо Джон, Дэвид Р. Фолкнер. «Delphi» - пер. с англ. - М.:Бином, 1999 г.

.        Мейер М. Теория реляционных баз данных. - М.: Мир, 1997.

.        Оспищев Д.А., Paradox for Windows: Практическое руководство. Под редакцией Оспищева Д.А. Издательство АОЗ’ «Алевар».

.        Сорокин А.В. Delphi. Разработка баз данных. - СПб.: Питер, 2005.

.        Тельман Дж., «Основы систем баз данных», Москва, Финансы и статистика, 1999 г.

.        Тиори Т., Фрай Дж. Проектирование структур баз данных. В 2 кн., - М.: Мир, 1995.

.        Фаранов В., «Программирование баз данных в Delphi 7», Питер, 2003.

.        Фаранов В., «Учебный курс Delphi 6», Питер, 2002.

27.     Хендерсон К. Профессиональное руководство по SQL Server: хранимые процедуры, XML, HTML. - СПб.: Питер, 2005.

.        Цикритизис Д., Лоховски Ф. Модели данных. - М.: Финансы и статистика, 1999.

.        Шумаков П.В. «Delphi 5.0 и создание баз данных». Москва 2001 г.

.        Borland Delphi 6. Руководство разработчика.

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

 

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