Клієнтська частина системи збору інформації про ПЗ клієнтів
Клієнтська частина системи збору інформації про ПЗ клієнтів
ЗМІСТ - ПЕРЕЛІК УМОВНИХ ПОЗНАЧЕНЬ, СИМВОЛІВ, ОДИНИЦЬ, СКОРОЧЕНЬ І ТЕРМІНІВ
- ВСТУП
- ТЕХНІЧНЕ ЗАВДАННЯ
- 1. Аналіз існуючих рішень
- 1.1 Програма «Облік Програмного Забезпечення»
- 1.2 Програма «Інвентаризація програмного забезпечення на комп'ютерах мережі»
- 1.3 Висновки
- 2. Середовище розробки
- 2.1 C++
- 2.2 Framework Qt
- 2.3 XML
- 2.4 DOM
- 2.5 Висновки
- 3. ОПИС ПРОГРАМИ
- 4. ІНСТРУКЦІЯ КОРИСТУВАЧА
- ВИСНОВКИ
- ПЕРЕЛІК ПОСИЛАНЬ
- ДОДАТОК А : Основний код програми
- ДОДАТОК Б: Алгоритм роботи програми
- ДОДАТОК В: Діаграма класів
- ПЕРЕЛІК УМОВНИХ ПОЗНАЧЕНЬ, СИМВОЛІВ, ОДИНИЦЬ, СКОРОЧЕНЬ І ТЕРМІНІВ
- ОС - операційна система.
- ПК - персональний комп'ютер.
- Модуль - незалежно компільований програмний модуль, що динамічно підключається до основної програми, призначений для розширення або використання її можливостей. Модулі зазвичай виконуються у вигляді динамічних бібліотек.
- ПЗ - програмне забезпечення
- WMI - Windows Management Instrumentation - інструментарій управління Windows.
- ООП - об'єктно-орієнтоване програмування.
- ЕСПД - єдина система програмної документації -- комплекс державних стандартів, що встановлюють взаємозалежні правила розробки, оформлення й обігу програм і програмної документації.
- XML - extensible Markup Language -- розширювана мова розмітки.
- DOM - Document Object Model - об'єктна модель документа -- не залежний від платформи й мови програмний інтерфейс, що дозволяє програмам і скриптом одержати доступ до вмісту HTML, XHTML і Xml-документів, а також змінювати вміст, структуру й оформлення таких документів.
- HTML - Hypertext Markup Language -- мова розмітки гіпертексту -- стандартна мова розмітки документів у Всесвітній павутині.
- XHTML - Extensible Hypertext Markup Language -- Розширювана мова розмітки гіпертексту -- мова розмітки веб-сторінок, по можливостях порівнянний з HTML, створений на базі XML.
ВСТУПТема даної курсової роботи: «Клієнтська частина системи збору інформації про ПЗ клієнтів».На сьогоднішній день для того щоб зібрати дані про встановлене програмне забезпечення треба запускати програму збору інформації на кожному комп'ютері в ручну, що займає багато часу. Та й для створення звіту про встановлене ПЗ також треба час. Звичайно вже є системи для інвентаризації й аудита програмного забезпечення комп'ютерів які входять у локальну мережу, що дозволяють адміністраторам мереж вести базу даних обліку програм на комп'ютерах, але недоліком цих програм є те, що вони багато коштують й у більшості випадків не мають інтуїтивно-зрозумілого інтерфейсу.Сьогодні актуально створити систему, що дозволить швидко і без проблем одержати інформацію о комп'ютерах в локальній сеті та при необхідності створити звіт про ПЗ. При наявності такої програми адміністратор може вести облік програм встановлених на клієнті, переглянути коли була встановлена якась програма чи які програми і коли били вилучені, упевнитися, що на ЕВМ стоїть тільки ліцензійне або безкоштовне ПЗ, а також складати підсумкові звіти.Даний програмний продукт, можливо, використовувати всіх підприємствах і ВНЗ, де є локальна мережа, що мають потребу в обліку програмного забезпечення. У пояснювальній записці представлені аналогічні системи і контрольний приклад роботи розробленої програми, описана мова програмування, на якій вона створена й алгоритм її реалізації.ТЕХНІЧНЕ ЗАВДАННЯВступСистема збору інформації встановленого програмного забезпечення клієнтів дозволяє зменшити витрати праці на підтримку працездатності великої кількості персональних комп'ютерів під управлінням операційної системи Windows.Клієнтська частина в системі збору інформації формує звіт на основі отриманих даних із клієнтських додатків і надає його користувачеві для подальшої обробки. Система знімків станів клієнтів використовувана сервером дозволяє швидко відслідковувати зміни в програмної конфігурації. Розроблена система сбіру інформації є децентралізованою при певних обставинах.1. Підстава для розробки Відсутність безкоштовних рішень задовольняючих потреби користувачів. Наказ на кафедрі «Інформаційних систем» про виконання дипломного проекту згідно із програмою. 2. Призначення розробки Створити клієнтську частину для системи збору інформації про програмне. Результатом впровадження даної системи буде більш якісне й швидке відстеження, яких або змін у клієнтських комп'ютерах під керуванням операційної системи Windows 7, XP. 3. Вимоги до пакету прикладних програм 3.1. Вимоги до функціональних характеристик основної частини системи: · клієнтська частина повинна працювати під операційними системами: Windows XP, 7; · модуль повинен працювати в мінімізованому режимі (згорнутий в системний лоток). 3.2. При функціонуванні системи повинні забезпечуватися рішення задач: · обробка запиту, який надійшов від сервера; · збір даних про програмне забезпечення, установлене на клієнтському комп'ютері; · формування звіту про програмне забезпечення, установлене на клієнтському комп'ютері; · передача звіту серверу. 3.3. Вимоги до користувацького інтерфейсу: · інтерфейс повинен бути мінімальним; · пункти контекстного меню програми: - інформація. У даному пункті відображатися дата останнього запиту з боку сервера, - настроювання. У цьому пункті можна змінити мережний порт, - вихід; · при вступі запиту на збір інформації із сервера програма повинна: - підготувати список установленого встаткування, - підготувати список установленого програмного забезпечення, - відіслати підготовлені списки серверу. 4. Вимоги до надійності і якості Надійність і стійкість функціонування системи повинні забезпечуватися: · раціональною технологією обробки інформації; · контролем вхідної інформації. 5. Умови експлуатації Вихідні дані можуть бути представлені візуально або записані у файл. Для експлуатації повинна використовуватися робоча копія системи. Користувач не має права вносити які-небудь зміни до програм, записаних на магнітному носієві, і використовувати систему для зняття копій з метою передачі іншим організаціям. 6. Вимоги до складу і параметрів технічних засобів Система орієнтовані на функціонування на ПЕВМ типу IBM РС під управлінням операційної системи Windows. Апаратне забезпечення технічного встаткування має бути наступним: · ПК із процесором не менше Intel Pentium IV; · Вільне місце у оперативної пам'яті не менш ніж 8мб; · вільне місце на диску не менше 15мб. 7. Вимоги до контрольного прикладу Контрольний приклад повинен забезпечувати перевірку правильності і працездатності функціонального наповнення системи і його програмній реалізації. Контрольний приклад повинен охопити всі варіанти рішення, передбачені функціональним описом і алгоритмами, відображати всі етапи рішення, демонструвати можливості системи. 8. Вимоги до упаковки Система повинна поставлятися користувачеві, на гнучкому магнітному диску, що має достатній розмір. Упаковка експлуатаційної документації і магнітних носіїв повинна забезпечувати захист від атмосферних опадів, механічних пошкоджень, і виключати можливість переміщення в ній носія при транспортуванні. 9. Вимоги до транспортування і збереження: Транспортування системи повинне здійснюватися при температурі навколишнього повітря від -30С до +40С і відносній вологості повітря не більше 80%. Повинні бути прийняті заходи, оберігаючи магнітні носії від атмосферних опадів, механічних пошкоджень і пилу. Зберігання магнітних носіїв з програмами і іншою інформацією допускається в спеціально обладнаних приміщеннях. Умови зберігання системи повинні відповідати вимогам технічних умов використовуваних типів носіїв даних. Умови транспортування і зберігання повинні виключати різкі зміни температури і вологості навколишнього повітря. 10. Вимоги до програмної документації. Вимоги до складу, змісту і оформленню програмних документів визначаються стандартами ЕСПД. 1. Аналіз існуючих рішень1.1 Програма «Облік Програмного Забезпечення» «Облік Програмного Забезпечення» - програма для інвентаризації й аудита програмного забезпечення на комп'ютерах у локальних мережах, дозволяє адміністраторам мереж вести базу даних обліку програм на комп'ютерах. При наявності прав адміністратора ви зможете по мережі переглядати й відслідковувати зміни в списках програмного забезпечення вилучених комп'ютерів. Наприклад, довідатися про типи встановлених ОС, додатках, програмах в автозавантаженні, і так далі.Рис.1. Програма «Облік Програмного Забезпечення»Способи застосування програми:· Інвентаризація встановленого програмного забезпечення. Можна створювати звіти по наявності певних програм і їх кількості на комп'ютерах. Наприклад, створити звіт по версіях операційних систем, по встановлених відновленнях, по наявності встановлених кодеков, або по наявності певних програм в автозавантаженні. · Контроль і аудит програмного забезпечення. Відстеження зміни в списках установлених програм на комп'ютерах мережі. Можна виявити нові встановлені програми, а також нові об'єкти в автозавантаженні. Гідності програми: · Програма збирає дані за допомогою технології WMI. · Програма записує всі зібрані дані у власну базу, що дозволяє переглядати списки встановлених програм мережних комп'ютерів у будь-який момент. 1.2 Програма «Інвентаризація програмного забезпечення на комп'ютерах мережі»Програма «10-Страйк: Інвентаризація Комп'ютерів» дозволяє здійснювати інвентаризацію програмного забезпечення комп'ютерів мережі. Передбачений огляд списків установлених програм віддалено й створення звітів по наявності певного програмного забезпечення на комп'ютерах.«10-Страйк: Інвентаризація Комп'ютерів» містить генератор звітів, що дозволяє створювати звіти в різних форматах, як по окремих комп'ютерах, так і по декільком відразу. Групи даних, що включаються у звіт по встановленім програмнім забезпеченню на комп'ютерах мережі, настроюються.Програма виявляє зміни в програмнім забезпеченні комп'ютерів і записує їх у журнал. Таким чином, адміністратор завжди може виявити, хто з користувачів мережі, що собі встановив або вилучив.1.3 ВисновкиІснує кілька програм завдяки яким можна провести інвентаризацію й аудит програмного забезпечення на комп'ютерах у локальних мережах. Але ці програми мають не дуже зрозумілий інтерфейс, який не дозволяє з ними працювати людям, які не мають спеціальних навичок користування комп'ютером. Ще одним недоліком цих програм є те, що не кожний може їх придбати через їх вартості. Тому з'явилася необхідність у створенні програмного продукту з інтуїтивно-зрозумілим інтерфейсом, який дозволяє швидко й без проблем одержувати інформацію про встановлені програми на комп'ютерах у локальних мережах і при необхідності створити звіт.2. Середовище розробки2.1 C++В ході аналізу різних об'єктно-орієнтованих мов програмування таких як C#, JAVA, Python було обрано С++ тому що він відповідає вимогам програмного продукту:· Підтримка об'єктно-орієнтованого програмування через класи; · Простори імен; · Перевантаження операторів; · Перевантаження імен функцій; · Посилання і оператори управління вільно розподіленою пам'яттю; · Висока швидкість роботи. 2.2 Framework QtQt - крос-платформовий інструментарій розробки ПЗ мовою програмування C++. Дозволяє запускати написане з його допомогою ПЗ у більшості сучасних операційних системах шляхом простої компіляції програми для кожної ОС без зміни вихідного коду. Містить у собі всі основні класи, які можуть знадобитися при розробці прикладного програмного забезпечення, починаючи від елементів графічного інтерфейсу і закінчуючи класами для роботи з мережею, базами даних і XML. Qt є повністю об'єктно-орієнтованим, легко розширюваним і підтримуючим техніку компонентного програмування.Qt дозволяє створювати власні модулі й розміщати їх безпосередньо в панелі візуального редактора. Також існує можливість розширення звичної функціональності віджетов, пов'язаної з розміщенням їх на екрані, відображенням, перемальовуванням при зміні розмірів вікна.2.3 XMLXML - (Extensible Markup Language - розширювана мова розмітки) -- запропонований консорціумом World Wide Web (WWW) мова розмітки, що фактично представляє собою звід загальних синтаксичних правил. XML -- текстовий формат, призначений для зберігання структурованих даних, замість існуючих файлів баз даних, для обміну інформацією між програмами, а також для створення на його основі більш спеціалізованих мов розмітки, іноді називаних словниками. XML є спрощеною підмножиною мови SGML.Метою створення XML було забезпечення сумісності при передачі структурованих даних між різними системами обробки інформації, особливо при передачі таких даних через Інтернет. Словники, засновані на XML (наприклад, RDF, RSS, MathML, XHTML, SVG), самі по собі формально описані, що дозволяє програмно змінювати й перевіряти документи на основі цих словників, не знаючи їх семантики, тобто не знаючи значеннєвого значення елементів. Важливою особливістю XML також є застосування так званих просторів імен. 2.4 DOMDOM - (Document Object Model -- «об'єктна модель документа») -- це не залежний від платформи й мови програмний інтерфейс, що дозволяє програмам і скриптам одержати доступ до вмісту HTML, XHTML і XML- документів, а також змінювати вміст, структуру й оформлення таких документів.Модель DOM не накладає обмежень на структуру документа. Будь-який документ відомої структури за допомогою DOM може бути представлений у вигляді дерева вузлів, кожний вузол якого являє собою елемент, атрибут, текстовий, графічний або кожний інший об'єкт. Вузли зв'язані між собою відносинами батьківський-дочірній.Споконвічно різні браузери мали власні моделі документів (DOM), не сумісні з іншими. Для того, щоб забезпечити взаємну й зворотну сумісність, фахівці міжнародного консорціуму W3C класифікували цю модель по рівнях, для кожного з яких була створена своя специфікація. Усі ці специфікації об'єднані в загальну групу, що носить назву W3C DOM.2.5 ВисновкиДля створення клієнтської частини системи збору інформації встановленого програмного забезпечення клієнтів, мною була обрана мова програмування C++ з використанням Framework Qt. Тому, що платформа Qt забезпечує додаткам кращу продуктивність і ефективність використання пам'яті. Також C++ виграє за рахунок більш кращих засобів розробки. Файли, що містять відомості про програмне забезпечення клієнтського комп'ютера, представлені у вигляді XML документа, побудованого за технологією DOM.3. ОПИС ПРОГРАМИВ процесі виконання курсової роботи мною була взята участь у розробці системи збору інформації програмного забезпечення встановленого на персональних комп'ютерах які об'єднані в єдину мережу.Ця система складається з трьох компонентів:1. Резидентна програма (Node) 2. Модуль збору інформації встановленого ПЗ (ClientSidePlugin) 3. Модуль обробки інформації встановленого ПЗ (ServerSidePlugin) Рис 2. Структура системи збору інформації програмного забезпечення Мною був розроблений модуль збору інформації встановленого ПЗ (ClientSidePlugin). Він збирає дані про програмне забезпечення, установлене на клієнтському комп'ютері системи. Ця програма написана на С++ з використанням Framework Qt. Компоненти Qt які використовує цей програмний продукт: · QtCore4 - ядро не-GUI класів, що використовується іншими модулями; · QtGui4 - компоненти графічного інтерфейсу користувача; · QtXML4 - класи для програмування мережевих програм. Модуль QtCore4 містить ядро функціональності, що не стосується GUI. Усі інші модулі Qt опираються на цей модуль. Для включення визначень класів цього модуля використовуэться наступна директива: #include <QtCore> Модуль QtCore є частиною всіх версій Qt. Qtcore4необхідний програмі для використання специфічних типів даних Qt такі як: · QDir - доступ до структури каталогів і їх умісту; · QFile - інтерфейс для читання даних з файлів і запису в них; · QStringList - список рядків; · QTextIStream - допоміжний клас для потоків уведення; · QThread - платформо-незалежні потоки. Модуль QtGui4 доповнює QtCore функціональністю GUI. Для включення визначень класів обох цих модулів, використовуйте наступну директиву: #include <Qtgui> Модуль Qtgui4 є частиною Qt Desktop Light Edition, Qt Desktop Edition і Qt Open Source Edition. QtGui4 необхідний програмі для використання компонентів графічного інтерфейсу, щоб відображати значок у системному треї, контекстне меню, та меню конфігурації. У программі використовується клас QApplication, який управляє потоком команд і основними настроюваннями GUI додатка. Модуль QtXml4 забезпечує роботу з потоками читання й записи XML документів і реалізацію їх у формі SAX і DOM. SAX - це стандартний, заснований на подіях інтерфейс для аналізаторів XML. Для включення визначень класів цього модуля використовуйте наступну директиву: #include <QtХml> Цей модуль є частиною Qt Console Edition, Qt Desktop Edition і Qt Open Source Edition. У программі використовується клас QDomDocument, який Представляє документ XML. Модуль збору інформації встановленого ПЗ умовно можна розділити на дві логічні частини основу й частину збору інформації. Основна частина відповідає за спілкування з основним модулем програми. У програмі реалізовані три класи: ClientSidepLuginClass - клас, що реалізує програмний інтерфейс Iplugin, що у свою чергу дозволяє ухвалювати повідомлення від головного модуля програми. Також цей клас відповідає за ініціалізацію компонентів модуля. Методи класу: void ClientSidePluginClass::InitializePlugin(IMainApp *xIMainApp); void ClientSidePluginClass::ExecuteCommand(QString xNodeIP, quint16 xNodePort, QString xCommand); void ClientSidePluginClass::ReceiveFile(QString xNodeIP, quint16 xNodePort, QString xPluginName, QString xFilePath); void ClientSidePluginClass::ClosePlugin(); void ClientSidePluginClass::run(); void ClientSidePluginClass::CollectInfo(QString xNodeIP, quint16 xNodePort); InstalledProgram - клас, що реалізує сутність установленої програми. Як правило, при складанні звіту, створитися список установлених програм, що полягає з безлічі екземплярів цього класу. Методи класу: InstalledProgram::InstalledProgram(QSettings *xSettings); InstalledProgram::~InstalledProgram(); SoftInfoCollector - клас, відповідальний за збір інформації про встановлене програмне забезпечення. Він сканує в реєстрі вітку HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Currentversion\Uninstall і на основі отриманих даних створює список установлених програм Список складається з безлічі екземплярів класу InstalledProgram. Потім отриманий список установлених програм зберігає в XML файл, що має об'єктну модель документа (DOM). Методи класу: SoftInfoCollector::SoftInfoCollector(); SoftInfoCollector::~SoftInfoCollector(); void SoftInfoCollector::CollectSoftInfo(); QString SoftInfoCollector::WriteToFile(QString xFilePath); 4. ІНСТРУКЦІЯ КОРИСТУВАЧАДля запуску програми необхідно запустити Node.exe. Після запуску програми, з'являється її значок в системному треї. (Рис.3)Рис.3. Значок програми у системному треїПісля запуску програми потрібно перевірити підключення модулю. Для цього треба натиснути правою кнопкою мишки на значок програми та у контекстному меню вибрати пункт «Настройки». (Рис.4)Рис.4. Контекстне меню програмиПри натисканні пункту «Настройки» з'являється меню налаштовування програми. В ньому потрібно перейти на вкладу «Модули» та переконатися у тому, що у списку звантажених модулів відображається така строчка. Рис.5. Автор, ім'я та версія модулю збору інформації встановленого ПЗ У разі відсутності цього запису потрібно перезавантажити модулі або обновити список завантажених модулів.Рис.6. Меню налаштовування програми, вкладка «Модули»При отриманні запиту від головної програми, модуль збору інформації формує звіт про встановлене на клієнті програмне забезпечення. Цей звіт становить собою таблицю з такими полями:· Ім'я програми - ім'я під яким програма зберігається на комп'ютері· Версія програми · Розробник - фірма, яка розробила цей програмний продукт· Дата інсталяції - дата, коли була встановлена ця програма у форматі YYYYMMDD · Шлях інсталяції - шлях по якому на комп'ютері зберігається ця програма. Якщо шлях не відображається це означає те, що програма приховує своє місце знаходження. Рис.6. Звіт про встановлене на комп'ютері програмне забезпеченняВИСНОВКИВ процесі виконання курсової роботи я прийняла участь у розробці системи збору інформації програмного забезпечення встановленого на персональних комп'ютерах в мережі. Мною був розроблений модуль збору інформації встановленого програмного забезпечення. При надходженні запиту від сервера, модуль його обробляє, після цього він збирає дані про програмне забезпечення, установлене на клієнті. Далі відбувається формування звіту про це програмне забезпечення та передача звіту серверу.Завдяки модульній системі, даний програмний продукт може розширяти свій функціонал, що надає йому можливість подальшого розвитку в інших напрямках. А завдяки мережевій частині цей програмний продукт має велику актуальність в нинішній час тому, що на даний момент кількість ПК об'єднаних в єдину мережу Інтернет зростає. ПЕРЕЛІК ПОСИЛАНЬ1. Бьерн Страуструп. «Язык программирования С++» Второе дополненное издание2. Жасмин Бланшет, Марк Саммерфилд «QT 4: Программирование GUI на С++»3. Інтернет ресурс http://qt.nokia.com/4. Інтернет ресурс http://blog.qt.nokia.com/5. Інтернет ресурс http://www.qtcentre.org/6. Інтернет ресурс http://www.prog.org.ru/7. Інтернет ресурс http://www.doc.crossplatform.ru/
|