Створення баз даних для електричних силових підстанцій

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

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

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

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

Размещено на http://www.allbest.ru/

ВСТУП

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

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

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

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

- ліній електропередач;

- трансформаторних підстанцій;

- розподільчих пунктів.

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

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

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

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

1. ЗАГАЛЬНИЙ РОЗДІЛ

1.1 Опис предметної області

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

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

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

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

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

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

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

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

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

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

, (1.1)

де I - сила струму;

U - напруга;

R - опір.

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

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

, (1.2)

де, R - повний опір;

l - довжина лінії(проводу);

x - активний опір;

r - індуктивний опір.

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

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

1.2 Аналітичний огляд існуючих рішень

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

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

Розглянемо деякі наявні програмні продукти, що забезпечують автоматизацію роботи у заданій предметній області: «Plant Intelligence Foundation».

Програмний комплекс розроблений під операційну систему Windows, має можливість зберігати інформацію у таких джерелах даних як MS SQL, Oracle, та інших.

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

Основні функції:

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

- вмикання та вимикання високовольтних ліній електропередач;

- визначення критичних станів на підстанції;

- визначення короткого замикання;

- контролювання напруги на лініях електропередачі.

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

Також у програмній системі реалізовані можливості архівування даних за допомогою системи iHistorian, та експорту даних у додаток пакету Microsoft Office - Excel.

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

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

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

Рисунок 1.1 - Вигляд програмного засобу FIX компанії Intellution «Электроснабжение»

Основні функції:

- визначення електричних навантажень на мережу;

- визначення потужності трансформаторів на підстанції;

- вибір типів підстанцій;

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

- визначення допустимих втрат напруги;

- визначення навантаження на мережу високої напруги;

- розрахунок перерізу проводів в мережі високої напруги.

Рисунок 1.2 - Вигляд програмного засобу «Электроснабжение»

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

«Elsna Work».

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

Рисунок 1.3 - Програма «Elsna Work»

Основні функції:

- створення електричних схем;

- визначення електричних навантажень на мережу;

- визначення параметрів джерел електроенергії;

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

- визначення навантаження на мережу високої напруги;

- розрахунок споживання електроенергії на секціях мережі.

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

«Релейщик 10/35».

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

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

Основні функції:

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

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

- визначення реактансів на шинах високої напруги;

- розрахунок ліній нормального живлення;

- розрахунок трансформаторів;

- здійснювати налаштування ліній електропередачі;

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

- розрахунок релейного захисту;

- створення звітів та експортування даних із вибраної підстанції.

Рисунок 1.4 - Програма «Релейщик 10/35»

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

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

1.3 Технічне завдання

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

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

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

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

Призначення розробки

Головні завдання, які виконує дана підсистема, можна поділити на задачі обліку та задачі автоматизації.

До задач обліку віднесемо:

- збереження детальної інформації про підстанції та їх вміст;

- збереження інформації про співробітників, що працюють у компанії;

- збереження інформації кабелів, констант та коефіцієнтів;

- збереження інформації про роботи проведені на певних підстанціях.

До задач автоматизації відносять:

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

- автоматизація генерування звітностей;

- автоматизація формування статистичних даних по роботі на підстанціях.

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

Для вирішення задач автоматизації ведення обліку доцільно використовувати засоби СУБД, у якому буде реалізована система.

Для інших задач доцільно використати тип проекту WindowsFormsApplication, що працюватиме на платформі .NET Framework 4.0, програмне забезпечення реалізувати за допомогою об'єктно-орієнтованої мови програмування C#. Оброблення даних проекту здійснити за допомогою реляційної бази даних MySQL.

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

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

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

Вимоги до проектної документації

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

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

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

При проектуванні програмного продукту використати наявний інструментарій побудови UML-діаграм, що б наглядно демонстрували сам процес проектування, полегшили б подальшу програмну реалізацію, інсталяцію програми. Для цього слід реалізувати наступні UML-діаграми: діаграма використання, діаграма активності, діаграма компонентів, діаграма розгортання, діаграма послідовності дій.

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

Етапи проектування

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

- визначення вимог до програмного забезпечення сервера баз даних:

- аналіз вхідних та вихідних даних;

- визначення зв'язків між сутностями;

- нормалізація структури даних.

Розробка інтерфейсу користувача:

- визначення з основними принципами побудови інтерфейсу;

- створення попереднього шаблону зовнішнього вигляду;

- розробка макетів;

- вибір зовнішнього оформлення інтерфейсу.

Проектування та розробка програмної частини:

- визначення середовища розробки та інших інструментальних засобів;

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

- проектування архітектури системи;

- розробка класів для реалізації системної логіки.

Порядок тестування розробки

При тестуванні розробленого програмного продукту слід використати інтеграційне та модульне тестування. При цьому слід спиратись на наступні стандарти з перевірки і тестування модулів:IEEE 829:1996 і IEEE 1008:1987.

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

При проведені різних видів перевірок необхідно зібрати дані про помилки, дефекти, відмови тощо і оформити відповідну документацію.

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

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

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

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

2. ПРОЕКТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ

2.1 Проектування архітектури програмного продукту

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

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

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

Рисунок 2.1 - Діаграма прецедентів (Use Case)

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

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

Рисунок 2.2 - Діаграма послідовності (Sequence Diagram)

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

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

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

Рисунок 2.3 - Діаграма діяльності створення нової підстанції

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

Рисунок 2.4 - Діаграма діяльності добавлення робітника

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

Рисунок 2.5 - Діаграма діяльності роботи проекту

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

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

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

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

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

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

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

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

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

2.2 Проектування структур даних

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

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

Рисунок 2.6 - Діаграма класів

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

Рисунок 2.7 - Діаграма компонентів бази даних системи

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

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

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

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

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

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

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

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

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

Було розроблено ряд макетів форм, що дозволять якісно спроектувати інтерфейс.

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

- заголовк форми, що має містити назву програмного продукту;

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

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

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

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

3. ПРОГРАМНА РЕАЛІЗАЦІЯ ПРОЕКТНИХ РІШЕНЬ ТА ТЕСТУВАННЯ

3.1 Програмування структур даних

Для реалізації програмного виробу було обране IDE Microsoft Visual C# 2013 Express. Вибір цього середовища був не випадковим, оскільки він дозволяє розробляти як консольні додатки, так і додатки з графічним інтерфейсом, в тому числі з підтримкою технології Windows Forms для всіх платформ, які підтримують Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework і Microsoft Silverlight.

Microsoft Visual C# Express - інтегроване віртуальне середовище розробки додатків на мові програмування C# із закритим вихідним кодом, розроблене корпорацією Microsoft. У Microsoft Visual C# є всі інструменти для повноцінної розробки й налагодження програм на мові C# на платформі .NET Framework.

Visual C# Express є частиною продуктової лінійки Visual Studio Express family - вільного набору інструментів, які Windows розробники будь-якої кваліфікації можуть використовувати для створення власних додатків, використовуючи базові або розширені можливості. Visual C# створений для роботи над різними типами додатків, які виконуються в середовищі .NET Framework. Завдяки безлічі інновацій, Visual C# забезпечує швидку розробку додатків, при цьому зберігає виразність і елегантність, властиву мовам в стилі С:

- підтримка платформи .NET Framework 4. Visual C# Express підтримує .NET Framework 4, що дозволяє застосувати безліч компонент та методів при створенні власного програмного продукту;

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

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

- підтримка платформи розробки. Незалежно від досвіду розробника, Visual C# Express допоможе реалізувати ідеї для операційної системи Microsoft Windows;

- всі продукти Microsoft Visual Studio версій Express є безкоштовними для людей, які навчаються.

C# - об'єктно-орієнтована мова програмування. Розроблена в 1998-2001 роках групою інженерів під керівництвом Андерса Хейлсберга в компанії Microsoft, як мова розробки програмного забезпечення для платформи Microsoft .NET Framework і згодом була стандартизована як ECMA-334 і ISO/IEC 23270.

C# відноситься до сім'ї мов з C-подібним синтаксисом. Мова має статичну типізацію, підтримує поліморфізм, перевантаження операторів (у тому числі операторів явного і неявного приведення типу), делегати, атрибути, події, властивості, узагальнені типи і методи, ітератори, анонімні функції з підтримкою замикань, LINQ, виключення, коментарі у форматі XML.

Перейнявши багато що від своїх попередників - мов C++, Java, Delphi, Модула і Smalltalk - С#, спираючись на практику їх використання, виключає деякі моделі, що зарекомендували себе як проблематичні при розробці програмних систем. Наприклад, C# на відміну від C++ не підтримує множинне успадкування класів (між тим допускається множинне спадкування інтерфейсів).

C# розроблявся як мова програмування прикладного рівня для CLR і, як така, залежить, насамперед, від можливостей самої CLR. Це стосується, перш за все, системи типів C#, яка відображає BCL. Присутність або відсутність тих чи інших виразних особливостей мови диктується тим, чи може конкретна мовна особливість бути трансльована у відповідні конструкції CLR. Так, з розвитком CLR від версії 1.1 до 2.0 значно розширились можливості і самої C#, подібної взаємодії слід чекати і надалі. Проте ця закономірність була порушена з виходом C# 3.0, що представляє собою розширення мови, не спираються на розширення платформи. NET. CLR надає C#, як і всім іншим .NET-орієнтованим мовам, багато можливостей, яких позбавлені «класичні» мови програмування. Наприклад, збірка сміття не реалізована в самому C#, а проводиться CLR для програм, написаних на C# точно так само, як це робиться для програм на VB.NET, J# та ін.

У Microsoft Visual C# інтегрована підтримка роботи із різними СУБД для побудови програмних додатків на основі роботи із базами даних. Розглянемо СУБД MySQL, що було б доцільно використати для реалізації АІС.

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

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

Гнучкість СУБД MYSQL забезпечується підтримкою великої кількості типів таблиць: користувачі можуть вибрати як таблиці типу MYISAM, що підтримують повнотекстовий пошук, так і таблиці INNODB, що підтримують транзакції на рівні окремих записів. Більш того, СУБД MYSQL поставляється із спеціальним типом таблиць EXAMPLE, що демонструє принципи створення нових типів таблиць. Завдяки відкритій архітектурі і GPL-ліцензуванню, в СУБД MYSQL постійно з'являються нові типи таблиць.

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

Підстанції - зберігає інформацію про назву підсистеми, виконує зв'язну функцію у інших сутностях:

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

- name - назва підстанції.

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

- Id - порядковий номер запису, ключове поле;

- Type - тип роботи на підстанції, може набувати значення ремонтна або планова;

- date - відповідає за значення дати, коли виконувалась робота;

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

- idstantion - значення підстанції, на якій виконувалася робота;

- header - заголовок завдання, дуже стислий опис роботи.

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

- Id - порядковий номер, ключове поле;

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

- Idworker - робітник, що напрявляється на завдання.

Кабелі - довідник для зберігання параметрів кабелів та проводів, що використовуються на підстанціях:

- idKabel - порядковий номер запису, ключове поле;

- Name - назва марки кабелю;

- Value1 - значення першого параметру кабелю;

- Value2 - значення другого параметру кабелю;

- Value3 - значення іншого параметру кабелю;

- Idtype - значення, що відповідає за відношення конкретного кабелю, до певного типу.

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

- idKoeficient - порядковий номер запису, ключове поле;

- Name - назва коефіцієнта;

- Value - значення коефіцієнта.

Лінія 10кВ - призначена для зберігання даних про лінії 10000 вольт, із зазначенням потужностей, протяжності лінії її типом та ін.:

- idLine10kV - ключове поле, порядковий номер запису;

- Name - назва лінії;

- Number - номер лінії на підстанції;

- ComutationAparate - значення комутаційного апарату;

- PowerOfTransformator - значення потужності трансформатора;

- TC - вибір силового трансформатора;

- TypeLine - вибір типу лінії, що надасть можливість вибрати конкретний кабель за вибраним типом;

- Length - значення довжини лінії;

- Security - значення захисту лінії;

- idStantion - вказання, до якої підстанції відноситиметься лінія;

- MaxReleToka - значення максимального струму, що проходить через релейний захист.

Лінія 110кВ - призначена для зберігання даних про лінії 110000 вольт, із зазначенням потужностей, захисту лінії її типом та ін.:

- idLine110kV - ключове поле, порядковий номер запису;

- TypePowerOff- значення типу вимикача, який може набувати лише двох значень;

- TC - значення силового трансформатора;

- Security - захист лінії;

- Idstantion - до якої підстанції відноситься дана лінія.

Оперативний струм- призначена для зберігання даних про силу струма, ампераж та ін.:

- idOperatingTok - порядковий номер запису, ключове поле;

- Amper - ампераж оперативного струму;

- SecondaryLineTok - тип струму на другорядних лініях, може бути або змінний, або постійний.

Панель - зберігання назв панелей, що входять у склад ОПУ на конкретній підстанції:

- idPanel - порядковий номер запису, ключове поле;

- Name - назва панелі;

- Idstantion - до якої підстанції відноситься.

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

- Id - порядковий номер запису, ключове поле;

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

- Power - значення потужності трансформатора;

- RPN - значення ручного перемикача напруги, який може набути значення від 1 до 19;

- Securiry - релейний захист трансформатора;

- ConnectingGroup - значення групи з'єднань, що присутні на силовому трансформаторі;

- InTransformatorTok - значення вбудованих трансформаторів струму;

- TransformatorCount - значення кількості обмоток, що присутнє на силовому трансформаторі;

- TypeOfTransformator - значення типу трансформатора;

- Idstantion - вказання, до якої підстанції відноситься силовий трансформатор.

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

- idRele - порядковий номер запису, ключове поле;

- Value1 - перше значення параметру реле;

- Value2 - друге значення параметру реле;

- Name - назва релейного пристрою.

Секційний вимикач - зберігає властивості вимикача, у якому вказується його тип, та який силовий трансформатор при цьому використовується:

- idSV - ключове поле, порядковий номер запису;

- Type - значення типу секційного вимикача;

- TC - значення силового трансформатора.

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

- idTypeLine - порядковий номер запису, ключове поле;

- Name - назва типу лінії.

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

- idVoltageTransformator - ключове поле, порядковий номер запису;

- PKA - значення приводу комутаційного апарату;

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

Робітник - призначена для того, щоб зберігати дані про робітників електропостачальної компанії, з подальшим обліком їх виконаних робіт та завдань на підстанціях:

- Id - порядковий номер запису, ключове поле;

- Name - прізвище, ім'я та по батькові робітника;

- Tel - номер його телефону для швидкого налагодження зв'язку із особою;

- Adres - домашня адреса проживання робітника;

- Posada - посада, яку займає у компанії даний співробітник.

Для збереження даних в програмній системі було вибрано реляційну базу даних. Як раніше зазначалося у якості СУБД використано Mу SQL.

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

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

Якщо підключення здійснюється до локального серверу, по потрібно у властивість “HostName” ввести значення localhost, або 127.0.0.1, що є внутрішньою адресою сервера. Далі у поле “UserName” потрібно ввести назву користувача серверу, на локальному сервері початковий користувач має назву root, для якого при встановлені серверу можна було ввести персональний пароль, який у програмі потрібно надати у параметр “Password”.

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

Після того, як було введено параметри підключення, закриваємо вікно та під'єднуємося до серверу. У головному вікні додатку натискаємо на піктограму під назвою “New Schema”, або вибираємо пункт контекстного меню на сервері БД, для створення нової бази даних, після чого у робочій області появляється нова вкладка, у якій потрібно ввести назву створюваної бази даних та тип кодування текстових даних.

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

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

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

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

3.2 Програмування інтерфейсу та логіки роботи проекту

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

Як зазначалося програмна система має використовувати тип проекту WindowsFormsApplication, який працює на платформі .NET Framework 4.0. Тому спершу потрібно у середовищі MS Visual Studio 2013 створити проект відповідного типу із зазначенням, що реалізація буде здійснюватись об'єктно-орієнтованою мовою програмування C#, та вказанням назви проекту.

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

Але, перш ніж перейти до створення вікон, підключимо до проекту бібліотеку, яка надасть можливість обмінюватись даними із сервером MySql, з можливостями технології ADO.NET. Для цього потрібно створити посилання на відповідну бібліотеку.

Отже, викликаємо вікно менеджера посилань, натиснувши на пункт відповідного контекстного меню “Add Reference…”, далі натискаємо на кнопку “Browse”, для виклику діалогового вікна вибору файлів, та вибираємо файл бібліотеки, для доступу даних, що має назву “MySql.Data.dll”, після чого маємо можливість пересвідчитись, що бібліотека приєднана до проекту, переглянувши структуру проекту.

Тепер для доступу до можливостей цієї бібліотеки потрібно лише прописати наступний рядок у директиві підключень об'єктів: using MySql.Data.MySqlClient;

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

Структура створеного класу: class MySqlUsing

{ private string ConnectionStringDb; - рядок підключення до бази даних, в якому зберігається адреса серверу, назва облікового запису та пароль доступу до БД.

private static bool msg = false; - значення, яке сигналізує чи виводити повідомлення, чи не потрібно.

public MySqlUsing(); - конструктор класу, у якому автоматично завантажується рядок підключення.

public string getConnectingString(); - функція, що повертає рядок підключення.

public bool Connected(); - функція, що перевіряє наявність підключення із завантаженим рядком підключення.

public void SetConnectionString(string ConStr); - функція для встановлення рядка підключення до БД.

public ArrayList GetDataQuery(string query, bool nil); - функція для виконання запиту та повернення масиву записів, що підлягають умовам запиту.

public DataSet GetaDataQuery(string query); - функція для виконання запиту та повертає колекцію таблиць, що підлягають умовам запиту.

public void Insert(string Table, string Polya, string Value); - функція для занесення даних до БД, потрібно зазначити назву таблиці у яку будуть заноситись дані, перелік полів та відповідно їм значення.

public void Update(string Table, string Set, string Where); - функція для занесення змін до записів БД, де потрібно зазначити до якої таблиці потрібно застосувати зміни, які саме зміни, та умову під яку повинні відповідати записи.

public void Delete(string DBTable, string DBWhere); - функція для видалення записів із БД, де зазначається із якої таблиці та за яких критеріїв потрібно здійснити видалення запису.

public int GetId(string DBTable, string DBWhere); - функція для повернення ключового поля таблиці.}

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

В програмі повинна бути реалізована можливість роботи користувача у багатовіконному режимі, тому було використано контейнерну технологію дочірніх вікон MDI(multiple document interface). Дочірні діалогові вікна не повинні виходити за межі батьківської форми та керуватися за допомогою меню головної форми. Для цього потрібно скористатися властивістю “Parent”, значення якої буде вказано на головне вікно.

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

Але спершу на вікні розмістимо головне меню, створимо підпункти, задавши їм відповідні назви, та надавши стилю згідно із спроектованим раніше інтерфейсом.

Після того, як була створена батьківська форма та головне меню програми потрібно створити дочірні форми. Для цього потрібно скористатись головним меню Visual Studio: File/Add/Add Item/Windows Form. З'явиться порожня форма. При її виклику потрібно вказати параметр MdiParent на головну форму програми. Далі потрібно розмістити необхідні елементи керування, використовуючи створений клас доступу до бази даних, заносити дані до компонент.

Приклад занесення інформації у таблицю.

dataGrid1.DataSource = (new MySqlUsing()).GetaDataQuery("select `header` as 'Завдання', `Name` as 'Станція', `jobs`.`type` as 'Тип' from `jobs`, `stantion` where `jobs`.`idstantion` = `stantion`.`idStantion` ").Tables[0];

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

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

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

for (int i = 0; i < x; i++)

{

TransfUI tr2 = new TransfUI();

tr2.Dock = DockStyle.Left;

tp2panel.Controls.Add(tr2);

tr2.BringToFront();

}

Звіти, що мають створюватись у програмній системі, реалізовані з використанням додатку офісного пакету Microsoft Office Word, та для використання, потрібно підключити простір імен, щоб була можливість використати класи:

- Microsoft.Office.Interop.Word.Application wordapp;

- Microsoft.Office.Interop.Word.Paragraph wordparagraph;

- Microsoft.Office.Interop.Word.Document worddocument.

3.3 Тестування проекту

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

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

Для перевірки коду є наступні форми: інтеграційна та модульна. Спершу використовують стандарти (IEEE 829:1996 і IEEE 1008:1987) з перевірки і тестування модулів. Потім проводять інтеграційне тестування модулів системи із врахуванням роботи їх інтерфейсів під час виконання. При проведені різних видів перевірок збираються дані про помилки, дефекти, відмови тощо і оформляється відповідна документація.

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

Під час фази розробки тестів було спроектовано 6 функціональних тестових випадків. Тестові випадки функціонального тестування:

- облік працівників;

- пошук та фільтрація перевірок;

- формування документів;

- створення та редагування підстанції;

- здійснення формування бригади працівників;

- розрахунок струму короткого замикання.

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


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

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