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

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Украинский
    ,
    Формат файла:
    MS Word
    612,44 Кб
  • Опубликовано:
    2015-06-30
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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

Міністерство освіти і науки, молоді та спорту України

Вінницький національний технічний університет

Інститут автоматики електроніки та комп‘ютерних систем управління

Кафедра комп’ютерних систем управління

Курсова робота

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

з дисципліни "Програмування”

за напрямом "Системна інженерія”


Керівники курсової роботи

к. т. н., доц. Москвіна С.М.,

к. т. н., доц. Ковтун В.В.

Розробив студент гр.3СІ-11

Жук О.С.

Вінниця ВНТУ 2012

Індивідуальне завдання

 

на курсову роботу з дисципліни ”Програмування”

студента ________________________________групи 3 СІ-11

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

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

Комплекс програм повинен складатися з:

-       інтерфейсу;

-       бази даних;

-       програм роботи з базою даних;

-       програм пошуку інформації в базі даних за заданими критеріями;

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

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

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

Середовище проектування: Turbo C.

Мова програмування: C++.

Особливості структури програмного комплексу:

-       кількість класів не менше 5-ти;

-       кількість модулів не менше 3-х;

-       кількість рівнів ієрархії класів не менше 3-х;

-       кількість обробок виняткових ситуацій не менше 3-х.

Таблиця 1 Вхідних та вихідних даних

вхідні дані

вихідні дані

назва

тип даних

назва

тип даних

температура зони випалювання

float

адреса команди управління

int

температура зони підігріву

float

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

char

температура зони охолодження

float

марка цегли

int

кількість подачі газу до горілок

float



кількість подачі повітря до горілок

float



вологість сирцю

float



тиск зони випалювання

float



тиск зони підігріву

float



тиск зони охолодження

float



вологість повітря

float



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

int




Вхідні дані: представлені в таблиці 1.

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

Структура курсового проекту:

-       технічне завдання;

-       пояснювальна записка;

-       програма та текст пояснювальної записки на диску.

Дата видачі ”____" _________ 2012 р. Керівник ________________

                                      (підпис)

Завдання отримав__________

                                      (підпис)

Анотація

 

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

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

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

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

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

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

Показана можливість використання даного програмного комплексу як інтерфейсної частини даного АСУТП.

Зміст

 

Вступ

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

1.1 Опис технологічного процесу

1.2 Класифікація сучасних об’єктно-орієнтованих мов програмування

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

1.4 Універсальна мова програмування UML

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

2.1 Аналіз функцій системи

2.2 Розробка UML діаграми варіантів використання комп’ютерної системи управління процесу випалювання будівельних матеріалів

2.3 Структура програмного забезпечення

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

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

3.1 Розробка модульної структури програмного забеспечення

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

4.1 Розробка тестів

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

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

6.1 Розробка інструкцій системному програмісту

Висновки

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

Додатки

Вступ

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

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

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

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

програмне забезпечення комп'ютерна система

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

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


1.1 Опис технологічного процесу


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

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

Зони випалу і підігріву працюють на від’ємному порівняно з атмосферним, тиском (на розрідження). В зону випалу до горілок подаються природній газ по газопроводу і первинне повітря по повітропроводі. Газ спалюється в зоні випалу печі і нагріває матеріал до температури, при якій в ньому проходять реакції в твердих фазах. Продукти горіння з зони випалу поступають в зону підігріву і віддають свою теплоту матеріалу, а самі охолоджуються [2].

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

По мірі переміщення до завантажувача кінця печі і більш сильного охолодження продуктів горіння, щоб відновити об'єм працюючих газів, застосовують рециркуляцію, повертають частину відпрацьованих пічних газів. Таким чином, завантажений кінець печі на 10 - 12м від початку за рахунок рециркуляції дозволяє підігріти садку виробів зверху і знизу з різницею не більше 30°С - 40°С. Без рециркуляції цей перепад температур досягає 100°С і більше. Продукти горіння з температурою близько 100-150°С вентилятором викидається в атмосферу [2].

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

В зоні випалу для більш рівномірного руху газового потоку по перерізу печі звичайно підтримується тиск, близький до атмосферного (щоб не було вибивання полум’я із печі чи заносу в цю зону холодного повітря). Щоб димові гази не вибивалися назовні, в зоні підігріву слід постійно підтримувати димососом розрідження [1].

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

На рисунку 1.1 наведена схема об'єкта автоматизації [3].

Рисунок 1.1 - Схема тунельної печі

1.2 Класифікація сучасних об’єктно-орієнтованих мов програмування


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

Перше покоління (1954-1958): FORTRAN, ALGOL-58, Flowmatic - Математичні формули.

Друге покоління (1959-1961): FORTRAN II, ALGOL-60, COBOL, Lisp.

Третє покоління (1962-1970): PL/I, ALGOL-68, Pascal, Simula - класи, абстрактні дані.

Загублене покоління (1970-1980): Багато мов створених, але мало вижили.

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

Наприкінці 60-х років з появою транзисторів, а потім інтегральних схем, вартість комп'ютерів різко знизилася, а їхня продуктивність росла майже експоненціально. Програмісти змогли описувати свої власні типи даних [6].

-і роки знаменувалися божевільним сплеском активності: було створено біля двох тисяч різних мов і їхніх діалектів [7]. CLOS (объединивший Lisp, LOOPS і Flavors), C++ (нащадок від шлюбу С и Simula) і Eiffel (відбувся від Simula і Ada) [8]. Найбільший інтерес для подальшого викладу представляє клас мов, називаних об'єктними й об’єктно-орієнтованими, котрі найбільшою мірою відповідають задачі об’єктно-орієнтованої декомпозиції програмного забезпечення. До сучасних, найбільш популярних ОО мов програмування відносяться: C++, C#, Java.(вимовляється Джава; у розмовному варіанті Ява) - об'єктно-орієнтована мова програмування, випущена компанією Sun Microsystems у 1995 році як основний компонент платформи Java. Синтаксис мови багато в чому походить від C та C++. У офіційній реалізації, Java програми компілюються у байткод, який при виконанні інтерпретується віртуальною машиною для конкретної платформи [9].++ (Сі-плюс-плюс) - універсальна мова програмування високого рівня з підтримкою декількох парадигм програмування: об'єктно-орієнтованої, узагальненої та процедурної [10].# (вимовляється Сі-шарп) - об'єктно-орієнтована мова програмування з безпечною системою типізації для платформи.net [11].

Генеалогічне дерево мов програмування представлено на рисунку 1.2.

Рисунок 1.2 - Генеалогічне дерево мов програмування

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


RAD (Rapid Application Development) в перекладі з англійської значить "прискорена розробка програм”. Ще цей термін називають "візуальним проектуванням”. Найпоширенішими в наш час мовами програмування з візуальним проектуванням можна назвати С++ Builder, Delphi, Visual Basic, Visual C++ [4].Basic - це середовище програмуваня в якому розроблено Office фірми Microsoft. Характеризується повільною швидкістю компіляції, але під час компіляції можна внести зміни до лістингу програми.C++ - це візуальне середовище проектування, що має компілятор, який працює повільніше ніж компілятор Object Pasсal, але однією з найкращих якостей цього середовища є відлагоджувальник програми, та готові компоненти бібліотеки MFC. Саме тому ми обираємо це середовище проектування для нашого проекту [12].

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

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

-       швидкість виконання програм, написаних з використанням бібліотеки, повинна бути сумісна зі швидкістю виконання програм написаних на мові С з використанням Win32 API;

-       розмір допоміжного коду повинен бути мінімальним;

-       спроможність напряму визивати будь-яку С-функцію Win32 API;

-       легкість використання Win32 API в С++ повинна бути така ж, що при використанні традиційної мови С.

1.4 Універсальна мова програмування UML


UML (англ. Unified Modeling Language) - уніфікована мова об'єктно-орієнтованого моделювання, використовується у парадигмі об'єктно-орієнтованого програмування. Є невід'ємною частиною уніфікованого процесу розробки програмного забезпечення [14].

Діаграми дають можливість представити систему (як ділову, так і програмну) у такому вигляді, щоб її можна було легко перевести в програмний код [13].

Є такі основні uml-діаграми:

-       діаграма варіантів використання (use case diagram);

-       діаграма класів (class diagram);

-       діаграма поведінки (behavior diagrams);

-       діаграма стану (statechart diagram);

-       діаграма діяльності (activity diagram);

-       діаграма взаємодії (interaction diagrams);

-       діаграма послідовності (sequence diagram);

-       діаграма взаємодії (collaboration diagram);

-       діаграма реалізації (implementation diagrams);

-       діаграма компонентів (component diagram);

-       діаграма розгортання (deployment diagram);

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

Діаграми підвищують супроводжуваність проекту і полегшують розробку документації.

Приклад UML діаграми діяльності представлено на рисунку 1.3.

Рисунок 1.3 - Приклад UML діаграми діяльності програмного забезпечення комп’ютерної системи управління

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


2.1 Аналіз функцій системи


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

         режим адміністратора;

-        режим користувача;

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

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

         моніторинг технологічного процесу;

-        запис характеристик стану технологічного процесу;

         контроль за станом технологічного процесу.

Режим адміністратора включає:

         адміністратор може вводити інформацію в базу даних;

-        створювати файли бази даних;

         редагувати записи бази даних;

         додавати записи в базу даних;

         видаляти записи з бази даних;

         переглядати базу даних;

         здійснювати пошук в базі даних за температурою, тиском та вологістю;

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

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

         виводити дані в формі графіків та таблиці;

         здійснювати реєстрацію користувачів.

Режим користувача включає:

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

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

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

         виводити дані в формі графіків та таблиці.

 

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


На основі функцій, що визначені в підрозділі 2.1 розробимо USE-CASE діаграму системи. Вона використовує 3 актора:

         адміністратор;

-        користувач;

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

На рисунку 2.1 відображено UML діаграму варіантів використання.

 

.3 Структура програмного забезпечення


На основі функцій системи, що визначені в підрозділі 2.1 та USE-CASE діаграми визначимо основні структурні елементи програмного забезпечення.

ПЗ КСУ процесу випалювання будівельних матеріалів складається з 5 підсистем (модулів): введення даних; робота з базою даних; контролю та обробки; організація інтерфейсу; виведення інформації.

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

Рисунок 2.1 - UML діаграма варіантів використання комп’ютерної системи

 

Рисунок 2.2 - UML діаграма структури програмного забезпечення

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

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

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

Головне меню складається з таких підменю:

         АСУТП;

-        ведення бази даних;

         перегляд бази даних;

         пошук інформації;

         контроль;

         вивід інформації;

         вихід.

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

         створення бази даних;

-        додавання записів у базу даних.

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

         редагування записів бази даних;

-        видалення записів з бази даних.

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

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

         пошук за температурними параметрами;

-        пошук за параметрами тиску;

         пошук за параметрами вологи;

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

         контроль температури;

-        контроль тиску;

         контроль вологи;

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

         виведення в формі таблиць;

-        виведення в формі графіків;

UML функціонування програмного забезпечення програмного забезпечення зображена на рисунку 2.3.

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


В даному курсовому база даних складається з двох файлів:

         STP. dat;

-        BD. dat.

STP. dat файл містить межі зміни параметрів контролю технологічного процесу.. dat файл містить інформацію про поточний стан параметрів технологічного процесу.

Структура файлу STP. dat. dat файл параметрів контролю містить границі зміни трьох параметрів: температури


Рисунок 2.3 - UML діаграма функціонування програмного забезпечення

тиску

вологи

Для даного технологічного процесу_min має бути 960° С_max має бути 1135° С_min має бути 580° С_max має бути 600° С_min має бути 620° С_max має бути 640° С_min має бути +1,4 мм рт. ст. відносно зовнішнього середовища_max має бути +1,9 мм рт. ст. відносно зовнішнього середовища_min має бути - 3,5 мм рт. ст. відносно зовнішнього середовища_max має бути +1,4 мм рт. ст. відносно зовнішнього середовища_min має бути +2 мм рт. ст. відносно зовнішнього середовища_max має бути +2,7 мм рт. ст. відносно зовнішнього середовища_min має бути 10%_max має бути 15%_min має бути 3%_max має бути 5%

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

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

Таблиця 2.1 - Таблиця структури запису файлу BD. dat бази даних

Ім’я

Ідентифікатор

Тип

Розмір поля

1

№ запису в БД

Info

Long

4b

2

Температура зони випалювання

tem_fire

Float

4b

3

Температура зони підігріву

tem_heat

Float

4b

4

Температура зони охолодження

tem_cool

Float

4b

5

Тиск зони випалювання

pressure_fire

Float

4b

6

Тиск зони підігріву

pressure_heat

Float

4b

7

Тиск зони охолодження

pressure_cool

Float

4b

8

Кількість подачі газу

fuel_gas

Float

4b

9

Кількість подачі повітря

fuel_air

Float

4b

10

Вологість сирцю

moisture_res

Float

4b

11

Вологість повітря

moisture_air

Float

4b

12

Границя на стиск готової цегли

lim_compres_str [5]

Int

10b

13

Марка цегли

mark

Int

2b


На основі даної таблиці розробляємо структуру запису файлу, яка має вигляд:struct record{info; /*порядковий номер запису файлу*/

// температурні показники в зонахtem_fire; /* Температура зони випалювання */tem_heat; /* Температура зони підігріву */tem_cool; /* Температура зони охолодження */

// показники тиску в зонахpressure_fire; /* Тиск зони випалювання */pressure_heat; /* Тиск зони підігріву */pressure_cool; /* Тиск зони охолодження */

// витрати паливаfuel_gas; /* кількість подачі газу */fuel_air; /* кількість подачі повітря */

// вологістьmoisture_res; /* вологість сирцю */moisture_air; /* вологість повітря */

// параметри цеглиlim_compres_str [5]; /* границя на стиск 5 цеглин*/mark; /* марка цегли */

}Record;

Все розроблене в даній роботі алгоритмічне забезпечення відповідає ГОСТам 19.701-90, 5807-85.

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

Таблиця 2.2 - Таблиця тестової бази даних

Температура зони

Тиск зони

Кількість подачі

Вологість

Границя на стиск готової цегли

Марка цегли


випалю- вання

нагрі вання

охолодження

випалю вання

нагрі вання

охолод-ження

газу

повітря

повітря



1

1050

595

630

1.66

-0.75

1.93

450

649

12.5

2.93

175

180

144

163

158

 125

2

1095

589

632

1.72

-1.21

2.01

455

675

12.9

2.98

187

196

175

172

175

 150

3

1148

597

637

1.83

-2.69

2.05

453

698

12.3

3.05

146

160

174

166

180

125

4

1026

604

642

1.81

-2.57

2.11

467

653

11.8

3.09

171

170

153

183

159

 150

5

989

596

639

1.89

-1.20

2.15

459

661

12.7

3.12

167

195

181

201

176

 150

6

993

593

637

1.94

-0.43

2.25

476

697

11.5

3.18

163

171

188

197

169

 150

7

975

597

634

1.82

0.21

2.30

471

642

11.3

3.25

175

198

189

201

169

 150

8

969

592

630

1.80

0.84

2.39

479

655

11.9

3.34

205

176

154

188

162

 150

9

953

586

627

1.78

1.26

2.40

453

674

12.3

3.48

182

175

164

145

155

 125

10

971

583

622

1.72

1.48

2.48

467

681

12.5

3.50

164

189

169

180

154

 150

11

1006

584

615

1.69

0.75

2.51

497

687

12.6

3.60

196

185

187

173

208

 150

12

1052

581

621

1.62

0.01

2.37

431

696

12.9

3.79

184

155

168

196

186

 150

13

1025

578

626

1.57

-0.5

2.43

497

685

13.1

3.87

185

210

161

182

190

 150

14

1064

583

631

1.45

-0.75

2.51

483

671

13.9

3.99

164

167

183

207

173

 150

15

1091

585

634

1.38

-0.23

2.67

470

663

12.8

4.25

180

147

165

170

178

 125

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


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

 

.1 Розробка модульної структури програмного забеспечення


Дана програма комп’ютерної системи управління, що розроблена в даній курсовій роботі, складається з 3х модулів:

Структура програмного забезпечення представлена на рисунку 3.1.

Рисунок 3.1 - Структура програмного забезпечення

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

1.1    Розробка модуля меню

.1.1   Структура модуля меню WINOW. CPP

Структура модуля меню WINOW. CPP представлена на рисунку 3.2.

.1.2   Опис функцій модуля меню

Функція void menu () виконує роботу головного меню, та виклику підменю;

функція void Window (int x1, int y1, int x2, int y2, int bg, int rect, char ch) утворює вікна в яких подається інформація, де x1, y1, x2, y2 - координати кутків вікна, bg - колір фону вікна, rect - колір рамки вікна, ch - підтвердження малювання рамки;

Рисунок 3.2 - Структура модуля меню

функція void helpinfo (const char *str) виводить вміст рядку str в зону підказок користувачеві;

функція void MainMenu () ініціалізує початкові параметри головного меню;

функція void podmenu1 () організовує роботу з меню АСУТП;

функція void podmenu2 () організовує роботу меню з базою даних;

функція void podmenu3 () організовує роботу меню пошуку;

функція void podmenu4 () організовує роботу меню контролю;

функція void podmenu5 () організовує роботу меню виводу результатів контролю;

функція void podmenu6 () організовує вихід з програми;

функція void CreateNewBd () організовує діалоги для створення нової бази даних;

функція void AddDataInBd () виводить вікно з полями для запису даних, що будуть записуватись базу даних;

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

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

функція void BDwiev () в формі таблиці виводить вміст бази даних;

функція void Search_temp () організовує налаштування температурних параметрів пошуку за якими буде виведено вміст бази даних що відповідають вказаним параметрам;

функція void Search_presure () організовує налаштування параметрів пошуку по тиску за якими буде виведено вміст бази даних що відповідають вказаним параметрам;

функція void Search_moisture () організовує налаштування параметрів пошуку по вологості за якими буде виведено вміст бази даних що відповідають вказаним параметрам;

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

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

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

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

функція void dispgraph () малює графік зміни параметрів згідно записів бази даних;

функція float* getMDG (int num, int *size) допоміжна функція що повертає масив значень параметрів що виводимуться в графіку, де num - код типу параметру, size - розмір масиву який функція повертатиме;

функція void getMIMAX (int num, float *min, float *max) функція що повертає еталонні значення по параметру який буде виводитись в графіку, де min, max - границі еталонних значень;CheakPasword () функція що перевіряє пароль, та за результатами надає доступ до захищених ресурсів

.2      Розробка модуля бази даних

.2.1   Структура модуля бази даних DB. CPP

Структура модуля бази даних DB. CPP представлена на рисунку 3.3.

Рисунок 3.3 - Структура модуля бази даних

.2.2   Опис функцій бази даних

Функція int CreateDB (const char *path) створює файл бази даних з path іменем;

функція FILE *OpenDB (const char *path, Record *header) відкриває для роботи файл бази даних та зчитує заголовочний запис header;

функція int ReadRecord (FILE *f, long recnum, Record *recp) зчитує recnum запис в буфер recp;

функція int WriteRecord (FILE *f, long recnum, Record *recp) записує з буфера запис у вказану позицію;

функція int AppendRecord (FILE *f, long recnum, Record *recp) додає запису у кінець файлу;

функція int DeleteRecord (const char *f_name, long recnum) видаляє з файлу з іменем f_name вказаний запис за номером recnum;

функція int CreateSTPF (const char *path) створє файл за іменем path з еталонними значеннями параметрів;

функція void SetRecSTDP (RecSTDP *rec) функція що створює запис rec з еталонними параметрами;

функція int ReadSTPF (const char *path, RecSTDP *recp) функція для зчитування з файлу еталонних параметрів;

.2.3   Алгоритм пошуку в базі даних за заданим критерієм

Схема алгоритму пошуку в базі даних представлено на рисунку 3.4.

.3      Розробка модуля заставки

.3.1   Структура модуля заставки ZAST. CPP

Структура модуля заставки ZAST. CPP представлена на рисунку 3.5.

Рисунок 3.4 - Схема алгоритму пошуку в базі даних за заданим критерієм

Рисунок 3.5 - Структура модуля заставки

1.3.2 Опис функцій модуля заставки

Функція void InitGraph () ініціалізує графічний режим;

функція CShape* CreateShape () повертає створений динамічний масив фігур;

функція void DrawShape (CShape *ArrCShape) виводить на екран масив фігур ArrCShape;

функція void OutInfo () виводить на екран інформацію про автора;

функція void CloseGraph (CShape *ArrCShape) звільняє динамічно виділену пам'ять під масив ArrCShape та завершує графічний режим.

Все розроблене програмне забезпечення в даній роботі відповідає ГОСТам 19.781-74, 19.101-77.

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


4.1 Розробка тестів


Все тестування програмного забезпечення розіб’ємо на дві групи тестів:

         тестування меню;

-        тестування алгоритмічне.

Тестування інтерфейсу включає наступні тести:

Тест 1: перевірка правильності формування головного вікна меню.

Тест 2: перевірка правильності формування вікна підменю APCS.

Тест 3: перевірка правильності формування вікна підменю BD work.

Тест 4: перевірка правильності формування вікна BD view.

Тест 5: перевірка правильності формування вікна підменю Search.

Тест 6: перевірка правильності формування вікна підменю Control.

Тест 7: перевірка правильності формування вікна підменю Display.

Тест 8: перевірка правильності формування вікна Create BD.

Тест 9: перевірка правильності формування вікна Add Rec.

Тест 10: перевірка правильності формування вікна Edit REC.

Тест 11: перевірка правильності формування вікна Delete REC.

Алгоритмічне тестування включає наступні тести:

Тест 12: перевірка правильності створення бази даних.

Тест 13: перевірка правильності додавання записів.

Тест 14: перевірка правильності редагування записів.

Тест 15: перевірка правильності видалення записів.

Тест 16: перевірка правильності виведення записів.

Тест 17: перевірка алгоритму пошуку.

Тест 18: перевірка алгоритму контролю.

Тест 19: перевірка алгоритму перевірки паролю.

Тест 20: перевірка алгоритму виведення графіку.

.1      Аналіз результатів тестування

Результати тестування представлено на рисунку 4.1

Рисунок 4.1 - Результати тестування за Тестом 1

Тест 2. Для перевірки правильності формування вікна підменю APCS необхідно за допомогою стрілок клавіатури підсвітити зеленим пункт APSC та натиснути ENTER, ввести пароль "1111", в результаті повинно з’явитись 2 пункти підменю в вигляді вертикального меню.

Результати тестування представлено на рисунку 4.2

Рисунок 4.2 - Результати тестування за Тестом 2

Тест 4. Для перевірки правильності формування вікна BD view необхідно за допомогою стрілок клавіатури підсвітити зеленим пункт BD view та натиснути ENTER. Повинна з’явитись таблиця із вмістом бази даних.

Результати тестування представлено на рисунку 4.3

Рисунок 4.3 - Результати тестування за Тестом 4

Тест 9. Для перевірки правильності формування вікна Add Rec необхідно за допомогою стрілок клавіатури підсвітити зеленим пункт APCS та натиснути ENTER, ввести пароль "1111", підсвітити зеленим пункт Add Rec натиснути ENTER. Повинна з’явитись таблиця з нульовими записами та двома кнопками.

Результати тестування представлено на рисунку 4.4

Рисунок 4.4 - Результати тестування за Тестом 9

Тест 17. Для перевірки алгоритму пошуку необхідно вибирати меню Search та підменю Temperature, змінити межі пошуку та активувати кнопку SEARCH. В результаті повинна з'явитись таблиця з записами бази даних, що відповідають вказаним параметрам.

Введені параметри представлено на рисунку 4.5 та результати пошуку на рисунку 4.6

Рисунок 4.5 - Таблиця введених значень для тестування за Тестом 17

Рисунку 4.6 - Результати пошуку за Тестом 17

Тест 18. Для перевірки алгоритму контролю необхідно вибирати меню Control та підменю Pressuree. В результаті повинна з'явитись таблиця з номерами записів бази даних, що не відповідають нормам технологічного процесу.

Результати тестування представлено на рисунку 4.7

Рисунку 4.7 - Результати тестування за Тестом 18

Тест 19. Для перевірки алгоритму перевірки паролю необхідно за допомогою стрілок клавіатури підсвітити зеленим пункт APCS та натиснути ENTER. При введенні паролю відмінного від "1111" має з’явитись вікно з попередженням і програма вийти в головне меню.

Результати тестування представлено на рисунку 4.8

Рисунку 4.8 - Результати тестування за Тестом 19

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


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

         швидкодія;

-        розмір використання оперативної пам'яті.

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

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

За рахунок використання динамічних масивів програма виграє в швидкості та раціональному використанні пам’яті.

У таблиці 5.1 показана файлова структура проекту

Таблиця 5.1 - Таблиця ефективності

Ім’я файлу

Розширення

Розмір (б)

Час виконання (сек)

1

MAIN

CPP

138


2

ZAST

CPP

4 958


3

WINOW

CPP

56 530


4

DB

CPP

10 030


5

BD

DAT

896


6

STP

DAT

64


7

MAIN

EXE

112 784

0.1


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


6.1 Розробка інструкцій системному програмісту


СD диск містить 2 папки:

.        Program, що містить файли програмного забезпечення;

2.      Text, що містить документацію до програмного забезпечення.

Для успішного запуску програми необхідно:

.        Створити директорію з довільним ім’ям на будь-якому диску (програма не прив’язана до імені диску).

2.      В програмі використовуються функції стандартної бібліотеки "graphics. h", але успішного виконання графічної частини програми необхідно щоб файл egavga. bgi був розміщений в спільній директорії з MAIN. EXE.

.        Для використання шрифтів необхідно в директорію додати файл tscr. chr.

Для розширення можливостей модуля програми, що генерує меню необхідно:

.        Відкрити WINOW. CPP файл у середовищі Turbo C.

2.      Доповнити необхідними функціями.

.        Зберегти змінений файл.

.        Перекомпілювати файл MAIN. CPP.

Для розширення можливостей роботи бази даних необхідно:

.        Відкрити DB. CPP файл у середовищі Turbo C.

2.      Доповнити необхідними функціями.

.        Зберегти змінений файл.

.        Перекомпілювати файл MAIN. CPP.

Для розширення можливостей графічної заставки меню необхідно:

.        Відкрити ZAST. CPP файл у середовищі Turbo C.

2.      Доповнити необхідними функціями.

.        Зберегти змінений файл.

.        Перекомпілювати файл MAIN. CPP.

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

СD диск містить 2 папки:

.        Program, що містить файли програмного забезпечення;

2.      Text, що містить документацію до програмного забезпечення.

Для запуску програмного забезпечення необхідно:

.        Створити окрему директорію на будь-якому диску.

2.      Скопіювати з CD диску вміст папки Program у виділену директорію.

.        Запустити MAIN. EXE із створеної директорії.

Для управління програми використовувати:

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

2.      Перехід між меню та підменю здійснюється за допомогою стрілок на клавіатурі: UP/DOWN - вертикального; LEFT/RIGHT - горизонтального.

.        Вибір пунктів меню, та підменю здійснюється клавішею ENTER.

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

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

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

.        Для виходу з програми необхідно вибрати пункт головного меню EXIT або натиснути клавішу ESC в головному меню.

Висновки


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

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

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

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

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

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

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

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

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


1.      Бушуев С.Д. Автоматика и автоматизация производственных процессов / С.Д. Бушуев В.С. Михайлов - М., 1990. - 256 с.

2.      Бронхин А.С. Основы автоматики производства и контрольно-измерительные приборы на предприятиях промышленности строительных материалов / А.С. Бронхин, Ю.С. Гризак. - М., 1974. - 375 с.

3.      Ковалюк Д.О. Моделювання тепло-технологічних об’єктів з розподіленими параметрами. / Д.О. Ковалюк, С.М. Москвіна. - Вінниця: КІВЦ ВНТУ, 2010. - 158 с.

4.      Объектно-ориентированные технологии проектирования прикладных программных систем [Електронний ресурс] / С.С. Гайсарян // Библиотека on-line - Режим доступу до журн.: http://citforum.ru/programming/oop_rsis/index. shtml

5.      Брой М. Информатика. Основополагающеее введение: в 4-х ч. Ч.1. - М.: Диалог-МИФИ, 1996. - 304 с.

6.      Калянов Г.Н. Структурный системный анализ (автоматизация и применение). - М.: "Лори", 1996. - 242 с.

.        Електронна бібліотека Вікіпедія [Електронний ресурс] Smalltalk - Вікіпедія - [Режим доступу] http://uk. wikipedia.org/wiki/Smalltalk

.        Електронна бібліотека Вікіпедія [Електронний ресурс] Ада - Вікіпедія - [Режим доступу] http://ru. wikipedia.org/wiki/Ада

.        Л.А. Калиниченко Язык определения интерфейсов IDL в архитектуре / Калиниченко Л.А., Когаловский М.Р. CORBA. - М. - 176 с.

.        Подбельский В.В. Язык Си++ - М.: Финансы и статистика, 2001. - 560 с.

.        Герберт Шилдт. Сетевое программирование для профессионалов.

.        - М.: Наука, 2006. - 712 с.

.        Тихомиров Ю.В. Самоучитель MFC. - СПб.: БХВ-Петербург, 2002. - 640 с.

.        Шлеер С. Объектно-ориентированный анализ: моделирование мира в состояниях / Шлеер С., Меллор С. - К.: "Диалектика", 1993. - 240 с.

15.    Електронна бібліотека Вікіпедія [Електронний ресурс] UML - Вікіпедія - [Режим доступу] http://ru. wikipedia.org/wiki/UML

16.    ГОСТ 19.701 - 90 (ИСО 5807.85) - Схеми алгоритмів програм, даних та систем. - М.: Госстандарт, 1990.

17.    ГОСТ 19.781 - 83 - Програмне забезпечення систем обробки даних. - М.: Госстандарт, 1983.

18.    ГОСТ 19.101 - 77 - Розробка програмної документації, видів програм та програмних документів. - М.: Госстандарт, 1977.

.        ГОСТ 19.401 - 78 - Текст програми. Вимоги до змісту оформлення. - М.: Госстандарт, 1978.

.        ДСТУ 3008 - 95 - Розробка технічної документації. - К.: Держстандарт України, 1995.

.        ГОСТ 7.1 - 2003 - Система стандартів з інформації, бібліотечної та видавничої справи. Бібліографічний запис. Бібліографічний опис. Загальні вимоги та правила складання. - М.: Госстандарт, 2003.

Додатки


Додаток А

 

Міністерство освіти і науки, молоді та спорту України

Вінницький національний технічний університет

Інститут автоматики, електроніки та комп’ютерних систем управління

Керівник курсової роботи

к. т. н., доц. Москвіна С.М.

_______________________

"___”_____________2012р.

Розробив студент гр.3СІ-11

Жук О. С.

_______________________"___”_____________2012р.

ТЕХНІЧНЕ ЗАВДАННЯ

на курсову роботу на тему:

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

. Призначення та галузь застосування розробки.

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

.2 Галузь застосування - промисловість будівельних матеріалів.

. Основа розробки - робочий навчальний план дисципліни.

. Мета розробки.

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

.2 Перелік головних функцій. Програмне забезпечення комп’ютерної системи управління повинне працювати в 2-х режимах:

-       режим адміністратора;

-       режим користувача;

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

-       робота з базою даних;

-       створення бази даних;

-       перегляд бази даних;

-       редагування бази даних;

-       видалення бази даних.

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

-       пошук інформації;

-       пошук інформації в базі даних за заданими критеріями;

-       статистична обробка даних (мінімальне, максимальне, середньо квадратичне відхилення, коефіцієнт кореляції тощо);

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

·   4. Вхідні дані представлені в індивідуальному завданні в вигляді таблиці.

·   5. Вихідні дані відповідають задачам, що розв’язує система.

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

-       Лаура Томсон и Люк Веллинг,: Москва, 2003. - 672 c.

-       Гради Буч. Объектно-ориентированный анализ и проектирование с примерами применения. - М.: Конкорд, 1992 - 519 с.

-       Леоненков А.В. Розробка UML-діаграм [Електронний ресурс] /Електронний посібник - [режим доступу] http://khpi-iip. mipk. kharkiv.edu/library/case/ <http://khpi-iip.mipk.kharkiv.edu/library/case/>

7. Технічні вимоги.

7.1 Вимоги до програмної платформи

7.1.1 Наявність програмного середовища PHP.

.1.2   Операційна система - WINDOWS.

5.1.3 ПЗ необхідно протестувати та зробити висновки щодо придатності його до використання.

Все програмне забезпечення та супроводжуюча технічна документація повинні задовольняти наступним ГОСТам:

ГОСТ 19.701-90

ИСО 5807-85 - ГОСТ на розробку програмних документів, схеми алгоритмів програм, даних та системи.

ГОСТ 19.781-74 - Вимоги до розробки програмного забезпечення

ГОСТ 19.101-77 (СТ СЭВ 1626-79) - держстандарт на розробку програмної документації, видів програм та програмних документів.

ГОСТ 19.401-78 - Текст програми. Вимоги до змісту та оформлення.

ГОСТ 19.106-78 - Вимоги до програмної документації.

ГОСТ 7.1 - 84 та ДСТУ 3008-95 - Розробка технічної документації.

. Стадії та етапи розробки.

.1 Граничні терміни виконання.

-       постановка задачі;

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

-       розробка алгоритмічного забезпечення - 01.11.2012

-       розробка UML-діаграм проекту - 10.11.2012

-       програмна реалізація модулів - 01.12.2012

-       тестування та аналіз результатів - 05.12.2012

-       розробка документів на супроводження програмного забезпечення 05.12.2012

. Вимоги до надійності.

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

-       програма працює під керівництвом єдиного меню;

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

10. Порядок контролю і приймання.

Отримання завдання на виконання курсового проекту - 10.09.2012 р.

Термін здачі курсового проекту на перевірку - до 05.12.2012 р.

Термін захисту курсового проекту - до 15.12.2012 р.

. Коректування технічного завдання допускається з дозволу керівника проекту.

Лістинг "DB. CPP"

Додаток Б

 

#include <stdio. h>

#include <string. h>

#include <stdlib. h>

#include <limits. h>

#include <conio. h>

#include <graphics. h>

#define FALSE 0

#define TRUE 1struct record{info; /* кількість записів у файлі */tem_fire; /* Температура зони випалювання */tem_heat; /* Температура зони підігріву */tem_cool; /* Температура зони охолодження */pressure_fire; /* Тиск зони випалювання */pressure_heat; /* Тиск зони підігріву */pressure_cool; /* Тиск зони охолодження */fuel_gas; /* кількість подачі газу */fuel_air; /* кількість подачі повітря */moisture_res; /* вологість сирцю */moisture_air; /* вологість повітря */lim_compres_str [5]; /* границя на стиск 5 цеглин*/mark; /* марка цегли */

}Record;struct standartparam{Tfire_min;Tfire_max;Theat_min;Theat_max;Tcool_min;Tcool_max;Pfire_min;Pfire_max;Pheat_min;Pheat_max;Pcool_min;Pcool_max;Mres_min;Mres_max;Mair_min;Mair_max;

}RecSTDP;

#define MAXREC (LONG_MAX / sizeof (Record))

// Create new DB with name path. Returned FILE or NULLCreateDB (const char *path);

// Opened DB with name path. Returned FILE or NULL end header*OpenDB (const char *path, Record *header);

// Readed record with namber recnum in to rec. Returned TRUE/FALSEReadRecord (FILE *f, long recnum, Record *recp);

// Writen record with namber recnum and rec. Returned TRUE/FALSEWriteRecord (FILE *f, long recnum, Record *recp);

// Added Record into end of file. Returned TRUE/FALSEAppendRecord (FILE *f, long recnum, Record *recp);

// Delete Record from file. Returned TRUE/FALSEDeleteRecord (const char *f_name, long recnum);CreateSTPF (const char *path);SetRecSTDP (RecSTDP *rec);ReadSTPF (const char *path, RecSTDP *recp);GetMarka (const int *arrey);GetMin (const int *arrey);SerArufm (const int *arrey);InitGraphika ();Grafik (float *y, float min, float max, int kilk, char *name);MAX (float *y, int kilk);MIN (float *y, int kilk);* setycoord (float *mas, float min, float max, int num);gety (float cur, float min, float max);drawLine (float x1, float y1, float x2, float y2, float ymin, float ymax);

// *********************** // CreateDB (const char *path)

{*f;rec;result;=fopen (path,"wb"); // creater new file db(! f) return FALSE;(&rec,0,sizeof (Record));. info=0; // started param numrec=0, as db is empty=WriteRecord (f,0,&rec);(f);result;

}*OpenDB (const char *path, Record *header)

{*f=fopen (path,"r+b"); // opened file f(f) ReadRecord (f,0, header); // reading info record, get numrecf;

}

// reading record with recnum from file f in Record, thet are point *recp.ReadRecord (FILE *f, long recnum, Record *recp) //

{(recnum>MAXREC) return FALSE;(fseek (f,recnum * sizeof (Record),SEEK_SET)! =0) return FALSE;(fread (recp, sizeof (Record), 1, f) ==1);

}WriteRecord (FILE *f, long recnum, Record *recp)

{(recnum > MAXREC) return FALSE;

// позиціювання покажчика(fseek (f,recnum* sizeof (Record),SEEK_SET)! =0) return FALSE;(fwrite (recp,sizeof (Record),1,f) ==1);

}AppendRecord (FILE *f, long *recnum, Record *recp)

{

// установка файлового покажчика в кінець файлу(fseek (f,0, SEEK_END)! =0) return FALSE;

// ftell (f) повертає значення покажчика у файлі

// визначення номера запису, що додається

*recnum = ftell (f) / sizeof (Record);>info = *recnum;WriteRecord (f, *recnum, recp); // дозапис у кінець файлу

}DeleteRecord (const char *f_name, long recnum) {*f;*bf;header, buf;curnum, wnum, size;= OpenDB (f_name,&header);=header. info;(! f) return 0;(! CreateDB ("buferfile")) return - 1;(! ReadRecord (f, 0, &buf)) return - 2;(curnum=1, wnum=1; curnum<=size; curnum++) {(! ReadRecord (f, curnum, &buf)) return - 3;= OpenDB ("buferfile",&header);(! bf) return - 4;(recnum! =curnum) {(! AppendRecord (bf, &wnum, &buf)) return - 5;. info=wnum;(! WriteRecord (bf, 0, &header)) return - 6;(fclose (bf)! =0) return - 7;++;

}

}(fclose (f)! =0) return - 8;= OpenDB ("oldata",&header);(bf) {(bf);(remove ("oldata")! =0) return - 9;

}fclose (bf);(rename (f_name,"oldata")! =0) return - 10;(rename ("buferfile",f_name)! =0) return - 11;1;

}

// *********************** // CreateSTPF (const char *path)

{*f;rec;result;=fopen (path,"wb");(! f) return FALSE;(&rec);= (fwrite (&rec,sizeof (RecSTDP),1,f) ==1);(f);result;

}ReadSTPF (const char *path, RecSTDP *recp) //

{*f;=fopen (path,"rb");(! f) return FALSE;rez= (fread (recp, sizeof (RecSTDP), 1, f) ==1);(f);rez;

}SetRecSTDP (RecSTDP *rec) {>Tfire_min=960;>Tfire_max=1135;>Theat_min=580;>Theat_max=600;>Tcool_min=620;>Tcool_max=640;>Pfire_min=1.4;>Pfire_max=1.9;>Pheat_min=-3.5;>Pheat_max=1.4;>Pcool_min=2;>Pcool_max=2.7;>Mres_min=10;>Mres_max=15;>Mair_min=3;>Mair_max=5;

}GetMarka (const int *arrey) {min = GetMin (arrey);ser = SerArufm (arrey);(ser<min) return ser;return min;

}GetMin (const int *arrey) {min=arrey [0];(int i=1; i<5; ++i) {(min>arrey [i]) min=arrey [i];

}/=25;*=25;(min<50) return 0;min;

}SerArufm (const int *arrey) {rez=0;(int i=0; i<5; ++i) rez+=arrey [i];/=125;*=25;(rez<75) return 0;rez;

}Grafik (float *y, float min, float max, int kilk, char *name)

{minznach, maxznach;= MIN (y, kilk);= MAX (y, kilk);(minznach>min) minznach=min;(maxznach<max) maxznach=max;delta = maxznach-minznach;/=8;=delta;+=delta;*ycoord =setycoord (y,minznach,maxznach,kilk);ymax=gety (max, minznach, maxznach);ymin=gety (min, minznach, maxznach);knum=1;();(3);();(15);(40,0,40,460);(40,460,640,460);i;(i=60; i<640; i+=60) line (i,455, i,465);(i=0; i<460; i+=46) line (37, i,43, i);mes [10] [10];kurzn=maxznach;(i=0; i<10; ++i) sprintf (mes [i],"% -6.2f",kurzn-=delta);(i=0; i<10; ++i) outtextxy (0, i*46+40,mes [i]);(i=0; i<10; ++i) {(mes [0],"%5d",knum+i);(i*60+25,470,mes [0]);

}(160,8,name);=0;(kilk<11) {(1);(40,ymin,640,ymin);(40,ymax,640,ymax);(i=0; i<kilk-1; ++i) drawLine (i*60+60,ycoord [i], i*60+120,ycoord [i+1],ymin,ymax);();

}{chs;maxzn=kilk-10;=0;{(15);(1,3);(40,465,640,480);(45,0,640,455);(i=0; i<10; ++i) {(mes [0],"%5d",knum+i+1);(i*60+25,470,mes [0]);

}(160,8,name);(160,16,"Use 'a' / 'd' to list graph ENTER to exit");(1);(40,ymin,640,ymin);(40,ymax,640,ymax);(i=0; i<9; ++i) DrawLine (i*60+60, ycoord [i+knum], i*60+120, ycoord [i+knum+1], ymin,ymax);=getch ();(chs) {'a': if (knum>0) - -knum; break;'d': if (knum<maxzn) ++knum; break;: break;

}

}while (chs! =13);

}();(ycoord);0;

}InitGraphika () {/* request auto detection */gdriver = DETECT, gmode, errorcode;

/* initialize graphics mode */(&gdriver, &gmode,". \bgi");

/* read result of initialization */= graphresult ();(errorcode! = grOk) /* an error occurred */

{("Graphics error: %s\n", grapherrormsg (errorcode));("Press any key to halt: ");();(1); /* return with error code */

}

}MAX (float *m, int n) {z;=m [0];(int i=1; i<n; i++) if (m [i] >z) z=m [i];z;

}MIN (float *m, int n) {z;=m [0];(int i=1; i<n; i++) if (m [i] <z) z=m [i];z;

}* setycoord (float *mas, float min, float max, int num) {*rez;= (float*) calloc (num,sizeof (float));(int i=0; i<num; ++i) rez [i] = gety (mas [i], min, max);rez;

}gety (float cur, float min, float max) {rez=460;*= (max-cur) / (max-min);rez;

}drawLine (float X1, float Y1, float X2, float Y2, float ymin, float ymax) {x1=X1, y1=Y1, x2=X2, y2=Y2;int deltaX = abs (x2 - x1);int deltaY = abs (y2 - y1);int signX = x1 < x2? 1: - 1;int signY = y1 < y2? 1: - 1;color;error = deltaX - deltaY;(y2>ymin||y2<ymax) color=RED;color = YELLOW;(x2, y2, color);(x1! = x2 || y1! = y2) {(y1>ymin||y1<ymax) color=RED;color = YELLOW;(x1, y1, color);int error2 = error * 2;

// (error2 > - deltaY) {- = deltaY;+= signX;

}(error2 < deltaX) {+= deltaX;+= signY;

}

}

}

Лістинг "ZAST. CPP" Додаток В

#include <dos. h>

#include <stdlib. h>

#include <conio. h>

#include <graphics. h>

#include <stdio. h>CShape{:void Draw () {};

};CPoint: public CShape{:x;y;color;:(int X, int Y, int Color) {x=X; y=Y; color=Color; }Draw () {putpixel (x,y,color); }

};CCircle: public CPoint{:r;:(int X, int Y, int R, int Color): CPoint (X, Y, Color) {r=R; }Draw () {setcolor (color); setfillstyle (1, color); fillellipse (x, y, r, r); }

};CRectangle: public CPoint{:x1;y1;:(int X, int Y, int X1, int Y1, int Color): CPoint (X, Y, Color) {x1=X1; y1=Y1; }Draw () {setcolor (color); setfillstyle (1, color); bar (x, y, x1, y1); }

};CMoveblePoint: public CPoint{:dx;xmodif;modcol;:(int X, int Y, int Dx, int Xm, int Mc, int col): CPoint (X,Y,col) {dx=Dx; xmodif=Xm; modcol=Mc; }Draw () {x+=dx; if (x>xmodif) color=modcol; putpixel (x,y,color); }

};CMCircle: public CMoveblePoint{:r;:(int X, int Y, int R, int Dx, int Xm, int Mc, int Color): CMoveblePoint (X, Y, Dx, Xm, Mc, Color) {r=R; }Draw () {x+=dx; if (x>xmodif) color=modcol; setcolor (color); setfillstyle (1, color); fillellipse (x, y, r, r); }

};CMRectangle: public CMoveblePoint{:x1;y1;:(int X, int Y, int X1, int Y1, int Dx, int Xm, int Mc, int Color): CMoveblePoint (X, Y, Dx, Xm, Mc, Color) {x1=X1; y1=Y1; }Draw () {x+=dx; x1+=dx; if (x>xmodif) color=modcol; setcolor (color); setfillstyle (1, color); bar (x, y, x1, y1); }

};CMLine: public CMRectangle{:(int X, int Y, int X1, int Y1, int Dx, int Xm, int Mc, int Color): CMRectangle (X, Y, X1, Y1, Dx, Xm, Mc, Color) {};Draw () {x+=dx; x1+=dx; if (x>xmodif) color=modcol; setcolor (color); line (x, y, x1, y1); }

};InitGraph ();* CreateShape (); // створює масив фігурDrawShape (CShape *ArrCShape); // виводить фігури на екранOutInfo (); // виводить інформацію на екранCloseGraph (CShape *ArrCShape); // завершує графічний режимZastavka ();Zastavka ()

{();*arr= CreateShape ();(arr);();(arr);0;

}InitGraph ()

{

/* request auto detection */gdriver = DETECT, gmode, errorcode;

/* initialize graphics mode */(&gdriver, &gmode,". \bgi");

/* read result of initialization */= graphresult ();(errorcode! = grOk) /* an error occurred */

{("Graphics error: %s\n", grapherrormsg (errorcode));("Press any key to halt: ");();(1); /* return with error code */

}

}* CreateShape () {i=0;*p [100];[i++] =new CRectangle (0, 0, getmaxx (), getmaxy (),

);[i++] =new CCircle (0, 0, 80, 14);[i++] =new CCircle (250, 50, 25, 15);[i++] =new CCircle (275, 35, 25, 15);[i++] =new CCircle (285, 65, 25, 15);[i++] =new CCircle (310, 50, 25, 15);[i++] =new CCircle (450, 50, 25, 15);[i++] =new CCircle (475, 45, 25, 15);[i++] =new CCircle (485, 55, 25, 15);[i++] =new CCircle (510, 50, 25, 15);[i++] =new CRectangle (0,399,getmaxx (),getmaxy (),BLACK);[i++] =new CRectangle (275,299,300,399,BLUE);[i++] =new CRectangle (285,309,300,399,RED);

// telega[i++] =new CMRectangle (5,380,95,385, 20,600,0,DARKGRAY);[i++] =new CMCircle (25, 392, 7, 20,600,0, LIGHTGRAY);[i++] =new CMCircle (75, 392, 7, 20,600,0, LIGHTGRAY);[i++] =new CMRectangle (10,343,90,379, 20,300,RED,YELLOW);[i++] =new CMLine (10,352,90,352, 20,600,RED,DARKGRAY);[i++] =new CMLine (10,361,90,361, 20,600,RED,DARKGRAY);[i++] =new CMLine (10,370,90,370, 20,600,RED,DARKGRAY);j,k;=1;(j=20; j<90; j+=10) {(k>0) {[i++] =new CMLine (j,343,j,352, 20,600,RED,DARKGRAY);[i++] =new CMLine (j,361,j,370, 20,600,RED,DARKGRAY);

}{[i++] =new CMLine (j,352,j,361, 20,600,RED,DARKGRAY);[i++] =new CMLine (j,370,j,379, 20,600,RED,DARKGRAY);

}=k*-1;

}

// end telega[i++] =new CRectangle (300,299,400,399,BLUE);p;

}DrawShape (CShape *ArrCShape) {t=0;

// Out rezult(t<25) {++;=0;( (i<100) && (ArrCShape [i]! =NULL)) {[i] - > Draw ();++;

}(50);

}

}OutInfo () {(LIGHTGREEN);style=7;size=3;(style, HORIZ_DIR, size);(200, 100, "Kursova robota");(100, 150, "Compuret system control proccec");(150, 200, "burning of bricks");(250, 250, "ZHUK O. S.3si-11");();

}CloseGraph (CShape *ArrCShape) {( (i<100) && (ArrCShape [i]! =NULL)) {ArrCShape [i];++;

}

сlosegraph ();

}

Лістинг "MAIN. CPP" Додаток Д

#include "\. \ready\workbd\winow. cpp"

#include "\. \ready\workbd\ZAST. CPP"main () {();();1;

}

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

 

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