ПРИКЛАД ОФОРМЛЕННЯ КУРСОВОЇ РОБОТИ

 
 

 


Реферат

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

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

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

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

 

ПЕРЕЛІК УМОВНИХ СКОРОЧЕНЬ

ПЗ програмне забезпечення
ІСР інтегроване середовище розробки
ПЕОМ персональна електронно-обчислювальна машина
ЧС чорний список
ІЧ інтерфейсна частина
ОС операційна система
ГВД головне вікно додатку
НСД несанкціонований доступ
АРМ автоматизоване робоче місце
НСД несанкціонований
ІзОД Інформація з обмеженим доступом

 

 

ЗМІСТ

ВСТУП......................................................................................................................4

РОЗДІЛ 1 АНАЛІЗ ПРОБЛЕМАТИКИ, МЕТОДІВ ТА ЗАСОБІВ

ВИРІШЕННЯ ЗАДАЧІ ЗА НАПРЯМКОМ КУРСОВОЇ РОБОТИ

1.1 Аналіз проблеми, засобів та методів її вирішення…………………..5

1.2 Порівняльний аналіз програм аналогічної функціональності………6

1.3 Аналіз засобів вирішення задачі………………………………………8

1.4 Технічне завдання на курсову роботу………………………………...12

Висновки з першого розділу………………………………………………16

РОЗДІЛ 2 РОЗРОБКА ЗАГАЛЬНОГО І ФУНКЦІОНАЛЬНОГО

АЛГОРИТМІВ РОБОТИ ПРОГРАМИ

2.1 Розробка загального алгоритму роботи програми.. …………………17

2.2 Розробка функціонального алгоритму роботи програми……………19

2.3 Розробка схеми класів………………………………………………….22

2.4 Розробка інтерфейсної частини додатку……………………………...25

2.5 Розробка програмного коду додатку………………………………….28

Висновки з другого розділу………………………..………………………31

РОЗДІЛ 3 ОПИС РОБОТИ З ДОДАТКОМ ТА ЙОГО ТЕСТУВАННЯ

3.1 Опис роботи з додатком……………………………………………….32

3.2 Проведення тестування розробленого додатку………………………34

Висновки з третього розділу………………………………………………39

Заключення ..............................................................................................................40

Перелік використаної літератури...........................................................................41

Додаток.....................................................................................................................41

 

ВСТУП

В даній курсовій роботі наведено процес створення програмного забезпечення, яке проводить контроль виконуваних процесів в ПЕОМ. Тобто, наводиться опис усіх етапів розробки вказаного ПЗ. Розробка такого ПЗ в останні роки стає все більш актуальною, оскільки потрібно виключити НСД до ІзОД, унеможливити роботу небезпечного ПЗ та роботу небажаних додатків на комп’ютерах.

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

Для реалізації ПЗ використано потужний та сучасний засіб ІСР MicrosoftVisualStudio. ПЗ представляє собою Windows-додаток, оскільки вони є найбільш поширеними серед звичайних користувачів та є зручними у користуванні. Як результат розробки ПЗ отримано два незалежних файли з розширення «exe», які працюють незалежно один від одного і «спілкуються» через створювані файли з даними.

 

 

1. АНАЛІЗ ПРОБЛЕМАТИКИ, МЕТОДІВ ТА ЗАСОБІВ ВИРІШЕННЯ ЗАДАЧІ ЗА НАПРЯМКОМ КУРСОВОЇ РОБОТИ

1.1. Аналіз проблеми, методів та засобів її вирішення

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

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

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

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

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

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

ü програми, які відслідковують мережевий трафік;

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

ü програми для спостереження за потенційно небезпечним ПЗ;

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

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

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

ЖВІ НАУ.10.170101.21.000 – ПЗ  
Також, існує багато програм, що мають схоже призначення розроблюваним програмним забезпеченням. Одними з таких додатків є Radmin, Actual Spy, ProcessExplorer. Для прикладу наведемо деякі з можливостей даних додатків. ProcessExplorer дозволяє працювати з запущеними процесами. Використовується кольорове підкреслення процесів. Так, запущений процес та процес в момент запуску мають підкреслення різних кольорів в вікні даного додатку. Також, можна отримувати багато інформації по певному запущеному процесу. Для кожного запущеного процесу також можна спостерігати розмір використовуваної памяті, використання ресурсів процесора у відсотковому відношенні, розмір вхідних та вихідних файлів для додатку та інше. Додаток Actual Spy дозволяє відслідковувати роботу інших користувачів за комп’ютером. Програма відслідковує всі нажаті клавіші, виконує знімки екрану та відсилає дану інформацію на e-mail, по локальній мережі чи на FTP. Radmin – програма віддаленого користування. На віддаленому комп’ютері потрібно запустити Radmin. Після цього зявляється можливість роботи на віддалено комп’ютері, використовуючи засоби Radmin на власному комп’ютері. Спектр дій на віддаленому комп’ютері визначається з поставлених цілей. Так, описані додатки та проектовний потрібні для адміністрування комп’ютера, захисту від небажаних впливів з боку інших користувачів. Для прикладу на наступному рисунку наведено вигляд найближчого по функціональності до створюваного один з описаних додатків.

Рисунок 1.1. – Вікно додатку “procexp.exe”

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

 

1.3. Аналіз засобів вирішення задачі

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

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

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

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

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

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

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

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

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

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

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

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

Резидентна частина має виконувати наступну задачу.

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

Крім основних функцій перелік виконуваних додатком задач можна розширити - передбачити можливість роботи з системними службами. Тобто, розробити інтерфейсну частину за допомогою якої можна зупиняти, запускати, призупиняти, продовжувати та закривати системні служби. Також, за допомогою проектованого додатку можна буде зупиняти процеси та запускати нові. Для цього проектований додаток потрібно буде створити на мові програмування, що має можливість виконувати команди такого рівня. При використанні мов програмування низького та середньо рівня очікувано виникне багато труднощів. Оскільки, основними діями розроблюваного додатку буде взаємодія з комп’ютером, потрібно мати гарні можливості по доступу до компонентів комп’ютера. Наприклад, це буде робота з потоками, а саме, зчитуванням і записом у файл. Також, динамічно потрібно отримувати список запущених процесів на комп’ютері в певні інтервали часу. Всі ці дії є доволі складними в аспекті розробки програмного коду. При використанні, наприклад, мови програмування Pasсal, Basic чи Java програмний код був би дуже великого об’єму.

Безліч проблемних питань вирішиться за умови вибору для створення проекту мови С#, зокрема, інтегрованого середовища розробки MicrosoftVisualStudio.

Розглянемо більш детально переваги використання С# для створення проектованого проекту.

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

Враховуючі всі побажання, Microsoft розробив нову мову – С#. Вона має безліч переваг: простота, об’єктна орієнтованість, типова захищеність, «збір мусора», підтримка сумісності версій та багато іншого. Дані можливості дозволяють швидко та легко розроблювати додатки. С# створювався з «нуля». Тому, розробники проаналізували недоліки уже розроблених мов і не перенесли їх до нової мови програмування. Особливо, це стосується проблеми сумісності з іншими версіями. В результаті вийшла дійсно проста, зручна і сучасна мова, яка по потужності не поступається С++, але суттєво підвищує продуктивність розробок.

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

 

 

1.4. Технічне завдання на курсову роботу.

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

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

· головне вікно;

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

· вікно для запуску нових процесів;

· вікно для введення паролю при запуску;

· вікно для зміни паролю.

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

Вікно зміни паролю:

· перевірка старого паролю;

· зміна паролю на новий.

Вікно для запуску нових процесів:

· вибір задачі для запуску;

· запуск задачі.

Вікно для введення паролю при запуску:

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

· перевірка введеного паролю.

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

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

· відкривання інших файлів;

· створення нового файлу;

· зберігання файлу звітності;

· зміна стилю тексту;

· друк файлу звітності з допомогою принтера;

· вихід.

Головне вікно програми:

· відображення запущених додатків з віконною архітектурою:

Ø виведення списку додатків при виборі даного пункту;

Ø для запуску нового процесу викликається вікно для запуску нових процесів;

· відображення запущених процесів:

Ø закриття вибраного процесу;

Ø негайне закриття існуючого процесу;

Ø оновлення списку завантажених процесів;

· відображення чорного списку

Ø виведення чорного списку при виборі даного пункту;

Ø подвійне натиснення миші змінює ім’я елементу списку;

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

Ø завантаження чорного списку з файлу;

Ø видалення елемента списку;

Ø зберігання даних у файл.

· відображення системних сервісів на комп’ютері:

Ø виведення списку сервісів при виборі даного пункту меню;

Ø запуску сервісу;

Ø зупинення сервісу;

Ø призупинення сервісу;

Ø продовження сервісу;

Ø закриття сервісу.

· завантаження вікна:

Ø при необхідності створюється каталог для відображення власних файлів, які потрібні для роботи програми;

Ø викликається вікно для введення паролю при запуску додатку та відбувається його перевірка.

· меню головного вікна програми:

Ø вихід з додатку;

Ø виклик вікна для зміни паролю;

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

Ø встановлення видимості додатку;

Ø встановлення швидкості оновлення списку запущених процесів у вікні програми;

Ø встановлення швидкості огляду запущених процесів резидентною частиною;

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

Ø виклик довідки по роботі з додатком.

Ø запуск роботи резидентної частини програми;

Ø зупинка роботи резидентної частини програми.

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

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

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

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

 

 

Висновки з першого розділу

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

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

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

Проаналізовано середовища та мовні засоби розробки ПЗ.

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

 

2. РОЗРОБКА ЗАГАЛЬНОГО І ФУНКЦІОНАЛЬНОГО АЛГОРИТМІВ РОБОТИ ПРОГРАМИ

2.1. Розробка загального алгоритму роботи програми

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

Рисунок 2.1 – Схема загального алгоритму роботи програми

Опис загального алгоритму роботи програми наведено нижче.

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

· значення хеш-функції паролю;

· чорний список;

· коментарій до елементів чорного списку;

· звіт про час та дату закриття запущених процесів створюваним додатком.

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

Після виконання описаних дій визивається вікно для ведення паролю. На нього накладається певні обмеження. Довжина слова-паролю не повинна буди меншою 5 символів. Для подальшої роботи з додатком потрібно вірно вести слово-пароль. Інакше відбувається припинення роботи додатку. Він автоматично закривається. Якщо ж пароль введено вірно, відкривається головне вікно програми. Далі, вибирається один з п’яти основних напрямків діяльності:

· напрям «Запущені додатки» дозволяє працювати з запущеними додатками. Це може бути запуск нових чи зупинка існуючих;

· напрям «Запущені процеси» вибирати певні активні процеси на комп’ютері та зупиняти їхню роботу;

· напрям «Чорний список» включає в себе спектр дій по формуванню чорного спису;

· напрям «Сервіси» дозволяє виконувати всі дії з існуючими сервісами на комп’ютері, які описані у технічному завданні;

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

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

2.2 Розробка функціонального алгоритму роботи програми

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

End
Start
+
+
+
+
-
-
-
-

Рисунок 2.2 Схема функціонального алгоритму роботи програми

Для роз’яснення виконуваних дій у даній частині курсового проекту наведено опис роботи схеми. Для зручності, пронумеровано всі складові схеми (номери від 1 до 17).

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

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

Наступна дія передбачає доступ до раніше створеного файлу «чорного списку», до якого занесені назви додатків, що повинні бути закриті програмою (3). Так, відкривається потік для читання даних з файлу, розміщеного за адресою, яка передалася в конструктор при створенні об’єкту типу StreamReader. В наступній дії зчитується перший рядок файлу за допомогою обєкта типу StreamReader (4). Вище було описано, що при формуванні даного файлу першою в нього записується саме кількість елементів списку. Кожен наступний рядок містить назву вказаного для закриття процесу. Для визначення подальшого вмісту файлу створюється масив рядкового типу (5). Його розмір визначає змінна, утворена на попередньому кроці. Дія під номером 6 передбачає створення циклу, з числом ітерацій рівному кількості назв процесів для закриття, вказаних у «чорному списку». Наступна дія є тілом циклу (7). До масиву, створеного на шостому кроці, заносяться елементи файлу почергово при кожній наступній ітерації циклу. Перед записом до масиву відбувається розшифровування даних за допомогою раніше створеної функції. При завершенні даного блоку потік повинен бути закритий (8). Дев’ята дія передбачає створення об’єкту типу StreamWriter. Як параметри в конструктор передаються шлях до файлу-звіту, куди будуть вноситися певні дані, та змінна, яка дозволяє дописувати дані до файлу без втрати попередніх. Ще однією дією (10) створюється змінна текстового типу, яка буде тимчасово містити значення елементів масиву, створеного на шостому кроці. Після цього формується новий цикл (11), з числом ітерацій, рівному кількості елементів масиву з назвами процесів для закриття. Всередині циклу формується ще один цикл з числом ітерацій, рівному кількості активних процесів при спрацювання таймера (12). В тринадцятому рядку в змінну заноситься певне значення масиву з іменем процесів для закриття. Чотирнадцята дія являє собою перевірку на спів падання імені певного активного процесу з значенням змінної, яка містить ім´я процесу, виконання якого потрібно припинити. За істинної умови відбувається виконання п’ятнадцятої дії. Тобто, безпосереднє закриття процесу. Наступним є занесення до файлу-звіту дати, часу та імені «убитого» процесу (16). В результаті виконання сімнадцятої дії значення змінної кількості активних процесів зменшується на одиницю, яка є лічильником для циклу, запущеного одинадцятого рядку. Остання дія (End) означає закінчення роботи обробника події спрацювання таймера .

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

 

2.3 Розробка схеми класів

При розробці програмного забезпечення власні користувацькі класи не будуть розроблятися, оскільки в цьому немає потреби. ПЗ буде реалізовано за допомогою використання ІСР MicrosoftVisualStudio. Як проект буде вибрано «Windows Form Application». При цьому майстер автоматично створить клас Form1. В ньому вже буде створено конструктор, всередині якого поміщено стандартний код, зо забезпечує створення форми при запуску додатку. Так, створений клас при розробці потрібного ПЗ лише буде розширюватися власними властивостями та методами.

Властивості:

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

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

ü змінна для збереження індексу обраного елемента зі списку;

ü змінна для збереження розміру використовуваної фізичної пам’яті;

ü змінна для збереження розміру використовуваної віртуальної пам’яті;

ü масив для збереження списку активних процесів на комп’ютері в певні проміжки часу;

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

ü змінна, яка визначає шлях до файлу з чорним-списком;

ü змінна з зазначенням шляху до help-файлу;

ü змінна, яка містить значення шляху, за яким зберігається файл-звіт;

ü змінна типу ListViewItem, яка буде містити значення створюваного екземпляру класу;

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

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

Методи:

ü відображення списку активних процесів у вікні програми;

ü відображення чорного списку у вікні програми;

ü конструктор класу Form1, в якому зазначаються початкові налаштування при запуску додатку;

ü метод для за шифрування даних перед записом їх у файл;

ü метод для розшифрування даних перед зчитуванням їх з файлу;

ü відображення списку наявних сервісів на комп’ютері;

ü метод, що викликається при зміні статусу сервісу для пере визначення стану певних елементів інтерфейсу;

ü відображення списку запущених додатків;

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

ü метод для обробки натиснутих клавіш. Тобто, відбувається виклик подій, при зазначених комбінація «гарячих клавіш»;

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

ü методи, які викликаються при активації вкладок головного вікна;

Наступні методи відносяться до обробників подій, що викликаються інтерфейсними одиницями головного вікна програми:

ü запуск нового процесу;

ü припинення роботи обраного процесу;

ü вихід з додатку;

ü зміна паролю;

ü зазначення видимості додатку;

ü швидкість оновлення списку процесів на комп’ютері;

ü швидкість огляду активних процесів на комп’ютері для припинення їхнього виконання;

ü виклик допомоги;

ü перегляд файлу-звіту;

ü запуск сканування активних процесі;

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

ü припинення роботи активних додатків;

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

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

2.4 Розробка інтерфейсної частини додатку

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

Для початку, створено новий проект в ІСР MS Visual Studio, в якому буде проводитися розробка нового програмного забезпечення. Етап створення нового нового проекту наведено на рисунку 2.3

Рисунок 2.3 - Створення нового в проекту ІСР MS Visual Studio

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

Рисунок 2.4 - Пустий проект

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

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

Рисунок 2.6 - Вікно введення паролю

Рисунок 2.7 - Вікно зміни паролю

Рисунок 2.8 - Головне вікно додатку

Рисунок 2.9 - Вікно запуску нового процесу

2.5 Розробка програмного коду додатку

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

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

Таблиця 2.1

Назва методу Номер рядка Програмний код методу
Функція зашифрування даних

public string CRYPT_text_bef_wr(string s,int some_index) {char[] ctext = s.ToCharArray(); for (int i = 0; i < ctext.Length; i++) ctext[i] = ((char)(ctext[i] ^ some_index)); string text = String.Empty; for (int i = 0; i < ctext.Length; i++) text = text.Insert(i, char.ToString(ctext[i])); return text;}
Функція розшифрування даних

public string DECRYPT_text_bef_rd(string s,int some_index) {char[] ctext = s.ToCharArray(); for (int i = 0; i < ctext.Length; i++) ctext[i] = ((char)(ctext[i] ^ some_index)); string text = String.Empty; for (int i = 0; i < ctext.Length; i++) text = text.Insert(i, char.ToString(ctext[i])); return text;}

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

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

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

Повний текст програми наведено в додатках.

Висновки

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

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

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

 

 

 

РОЗДІЛ 3 ОПИС РОБОТИ З ДОДАТКОМ ТА ЙОГО ТЕСТУВАННЯ

3.1 Опис роботи з додатком

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

 

Рисунок 3.1 - Вікно введення паролю

Рисунок 3.2 - Вікно зміни паролю

Рисунок 3.3- Вікно запуску нового процесу

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

Рисунок 3.5 - Головне вікно додатку

Рисунок 3.6 - Вкладка “Process” головного вікна

 

Рисунок 3.7 - Вкладка «Чорний список» головного вікна

Рисунок 3.8 - Вкладка «Служби» головного вікна

 

3.2 Тестування роботи програмного забезпечення

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

Для запуску додатку потрібно запустити на виконання отриманий після компілювання створеного проекту «exe» файл. Викликається вікно для введення паролю. По замовчуванню потрібно ввести “quattro”. Після підтвердження запускається головне вікно додатку. При цьому були створені службові файли (дивитися рисунок 3.9).

Рисунок 3.9 - Створені додатком конфігураційні файли

Для проведення тестування додатку на комп’ютері запущені різні програми. На рисунку 3.10 зображено запущений додаток.

Рисунок 3.10 Запущене на виконання ПЗ

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

Рисунок 3.11 - Припинення роботи додатку

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

Рисунок 3.12 Запуск нової задачі на виконання

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

Рисунок 3.13 - Служба «Темы» працює

Рисунок 3.14 - Служба «Темы» зупинена

Нарешті, проводиться перевірка на виконання створеним програмний продуктом зупинення процесів, внесених до чорного списку. Для цього потрібно перейти на вкладку “Black List” та сформувати чорний список, тобто внести до нього імена процесів, які повинні бути зупинені додатком. В попередньому пункті курсового проектування було описано, як проводити дані дії. До списку потрібно вносити імена процесів, які відповідають запущеним додаткам. Розширення вказувати не потрібно. В колонку “info” вноситься інформація, яка використовується лише в якості коментарів. Вона потрібна лише для зручності і реально не використовується при роботі додатку. Так, до списку внесено назву додатків, які можуть бути запущені на комп’ютері. Результат сформованого списку наведено на наступному рисунку.

Рисунок 3.15 - Сформований чорний список

Залишилося запустити резидентну частину ПЗ, яка і повинна проводити зупинку процесів. Для цього потрібно натиснути на елемент інтерфейсу “Start_Log”. Після цього буде запущено декілька раз додатки, внесені до чорного списку. В для зупинки сканування потрібно натиснути “Stop_LOG”. Результат роботи можна переглянути, запустивши вікно для перегляду файлу-звіту. Саме воно зображене на наступному рисунку.

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

 

Висновки

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

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

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

Заключення