Автоматизированная система по учету жителей и их расчетов. Моя ДЗ. Автоматизована система житлоуправління з обліку мешканців та їх розрахунків
Скачать 0.91 Mb.
|
Проектування архітектури ПЗ Component diagram (діаграма компонентів) Діаграма компонентів (Component diagram) описує фізичне представлення системи та забезпечує перехід від логічного представлення до реалізації проекту в формі програмного коду. Діаграма компонентів UML (рис.14) Вербальний опис діаграми компонентів (рис.14): Як зрозуміло з діаграми на рис.15, компонент “Main_page.html” є головною веб-сторінкою, через яку відбувається взаємодія користувача із системою. Функціонал сторінки реалізований через модуль “User_interaction”,який написаний на мові програмуванні Python. Даний модуль для своїх потреб використовує динамічну бібліотеку “User”, яка призначена для дій користувача. Веб-сторінка під’єднана до сервера, що працює через додаток Main_Server.exe, який також знаходиться на діаграмі (рис.14). В свою чергу, його реалізація здійснена через файл Server_implementation.py, який також написаний на мові Python. Даний файл для свого функціонування використовує динамічну бібліотеку Server.dll. Для зберігання інформації про жильців та працівників сервер використовує наступні бази даних: Inmates та Employees відповідно. Їх також можна побачити на діаграмі (рис.14). Deployment diagram (діаграма розгортання) Діаграма розгортання (Deployment diagram) відображає загальну конфігурацію і топологію системи, фізичний взаємозв’язок між програмними та апаратними компонентами. Діаграма розгортання UML (рис.15) Вербальний опис діаграми розгортання(рис.15): Діаграма розгортання, яка зображена на рис.15, складається з наступних вузлів: Administrator, Server, Technical support, Printer , System programmer, User. Такі вузли як Administrator, Technical support, System programmer та User є людськими ресурсами. Server – це обчислювальний ресурс, а Printer – ресурс механічної обробки даних. Адміністратор отримує всі звіти і документи по запиту від сервера. Йому не принципово отримувати ці звіти одразу чи на декілька секунд пізніше, тому для економії коштів, адміністратора можна забезпечити швидкістю в 100Мб. Робітник технічної підтримки перевіряє повідомлення які надходять з сервера від клієнтів. Клієнти не хочуть довго чекати тому зв’язок між сервером і робітником потрібно встановити не менше як 200Мб. Очевидно що для внесення змін у сервер або налагодження серверу системному програмісту потрібна велика швидкість передачі даних. Кожен із працівників має пряме підключення до принтера, яке забезпечується за допомогою Ethernet 100Mb. Звичайні користувачі підключаються до сервера за допомогою всесвітньої мережі Internet. Детальне проектування Проектування інтерфейсу користувача Діаграма стану для інтерфейсу користувача (рис.16) Вербальний опис діаграми стану (рис.16): Відкривши програму, на першому етапі користувач потрапляє в початкове вікно. В нього є вибір: авторизуватися, зареєструватися або вийти з програми. Якщо користувач натиснув на кнопку “авторизуватися”, то він потрапляє в наступне вікно де йому потрібно ввести логін і пароль, після чого натиснути кнопку увійти. Якщо ж користувач натиснув кнопку “зареєструватися”, то він потрапляє у вікно під назвою “Реєстрація”, де йому потрібно заповнити наступні поля: прізвище, ім’я, по батькові, електронна пошта, паспорт (серія, номер, орган), адреса проживання, номер телефону, банківська карта (для оплати послуг). Після заповнення всіх полів користувач повинен натиснути кнопку “зареєструватися”, після чого він потрапляє в головне вікно програми, яке містить наступні кнопки: замовити послуги, оплатити послуги з кошика, змінити особисті дані, звернутися в техпідтримку, вийти з програми. Якщо користувач натисне кнопку “замовити послуги”, то він потрапить у вікно під назвою “Послуги”. В даному вікні наявні комунальні послуги (електрика, вода, газ)та інші послуги (електрик, сантехнік, майстер, Інтернет). При натисканні кнопки електрика потрібно ввести кількість кіловат-годин яку ви хочете замовити, після цього дане замовлення попадає у ваш кошик. Теж саме можна зробити з кнопкою вода і газ. Якщо натиснути на кнопку електрик, сантехнік, або майстер, то до вас в кошик додасться відповідна послуга. Натиснувши на кнопку Інтернет можна оплати послуги Інтернету. В головному вікні при натисканні на кнопку “Оплатити послуги з кошика”, з вашої банківської карти, яку ви вказали при реєстрації, буде знята відповідна сума за всі послуги, які на даний момент перебували у кошику. У разі нестачі коштів буде виведено на екран відповідне попередження. Натиснувши на кнопку “Змінити особисті дані” можна змінити особисті дані: адреса проживання, банківська карта, електронна пошта, номер телефону і т.д. В головному вікні також наявна кнопка, яка надає можливість звернутися в техпідтримку у разі виникнення запитань або проблем. Прототипиграфічних форм інтерфейсу користувача Меню входу (рис.17) Меню реєстрації (рис.18) Головне меню (рис.19) Меню послуг (рис.20) Генерація програмного коду Код, згенерований програмою StarUML на основі діаграми класів: Клас “Адміністратор”: #ifndef _АДМІНІСТРАТОР_H #define _АДМІНІСТРАТОР_H class Адміністратор { private: void Сформувати звіт(); void Надіслати звіт(); void Відбір кадрів(); }; #endif //_АДМІНІСТРАТОР_H #include "Адміністратор.h" /** * Адміністратор implementation */ void Адміністратор::Сформувати звіт() { } void Адміністратор::Надіслати звіт() { } void Адміністратор::Відбір кадрів() { } Клас “БД користувачів”: #ifndef _БД КОРИСТУВАЧІВ_H #define _БД КОРИСТУВАЧІВ_H class БД користувачів { protected: void Список користувачів; void Резервне копіювання(); private: void Додати користувача(); void Видалити користувача(); void Змінити дані користувача(); }; #endif //_БД КОРИСТУВАЧІВ_H #include "БД користувачів.h" /** * БД користувачів implementation */ void БД користувачів::Резервне копіювання() { } void БД користувачів::Додати користувача() { } void БД користувачів::Видалити користувача() { } void БД користувачів::Змінити дані користувача() { } Клас “Вікно програми”: #ifndef _ВІКНО ПРОГРАМИ_H #define _ВІКНО ПРОГРАМИ_H class Вікно програми { public: void Зареєструватися(); void Замовити послуги(); void Оплатити борги(); void Авторизуватися(); void Викликати майстра(); void Звернутися в техпідтримку(); }; #endif //_ВІКНО ПРОГРАМИ_H #include "Вікно програми.h" /** * Вікно програми implementation */ void Вікно програми::Зареєструватися() { } void Вікно програми::Замовити послуги() { } void Вікно програми::Оплатити борги() { } void Вікно програми::Авторизуватися() { } void Вікно програми::Викликати майстра() { } void Вікно програми::Звернутися в техпідтримку() { } Клас “Жилець”: #ifndef _ЖИЛЕЦЬ_H #define _ЖИЛЕЦЬ_H class Жилець { public: Жилець я; private: void Пароль; void Логін; }; #endif //_ЖИЛЕЦЬ_H #include "Жилець.h" /** * Жилець implementation */ Клас “Інформація про користувача”: #ifndef _ІНФОРМАЦІЯ ПРО КОРИСТУВАЧА_H #define _ІНФОРМАЦІЯ ПРО КОРИСТУВАЧА_H class Інформація про користувача { protected: void ПІБ; void Адреса; void Список замовлених послуг; void Заборгованість; }; #endif //_ІНФОРМАЦІЯ ПРО КОРИСТУВАЧА_H #include "Інформація про користувача.h" /** * Інформація про користувача implementation */ Клас “Майстер”: #ifndef _МАЙСТЕР_H #define _МАЙСТЕР_H class Майстер { private: void Прийняти замовлення(); void Виконати замовлення(); }; #endif //_МАЙСТЕР_H #include "Майстер.h" /** * Майстер implementation */ void Майстер::Прийняти замовлення() { } void Майстер::Виконати замовлення() { } Клас “Робітники техпідтримки”: #ifndef _РОБІТНИКИ ТЕХПІДТРИМКИ_H #define _РОБІТНИКИ ТЕХПІДТРИМКИ_H class Робітники техпідтримки { private: void Прийняти повідомлення(); void Проаналізувати повідомлення(); void Надіслати відповідь(); }; #endif //_РОБІТНИКИ ТЕХПІДТРИМКИ_H #include "Робітники техпідтримки.h" /** * Робітники техпідтримки implementation */ void Робітники техпідтримки::Прийняти повідомлення() { } void Робітники техпідтримки::Проаналізувати повідомлення() { } void Робітники техпідтримки::Надіслати відповідь() { } Висновок В результаті виконання даної роботи була спроектована автоматизована система житлоуправління з обліку мешканців та їх розрахунків. Розробка даного ПЗ допомогла мені закріпити отримані навички по моделюванню та розробці програмного продукту під конкретні вимоги користувача. Протягом всієї роботи було створено документ опису вимог до системи, календарне та ресурсне планування у Microsoft Project, у Microsoft Visio створено діаграми UML, що відображають предметну галузь та розкривають сутність усіх розглянутих напрямків проектування системи. Використання автоматизованої системи (АС) допоможе прискорити процес отримання і обробки інформації, отримання інформації про клієнта, видах наданих послуг, його оплатах, заборгованості тощо. Таким чином розробка даного програмного засобу (ПЗ) виправдовує себе автоматизацією великого набору процесів, які в підсумку знижують витрати часу роботи у багато разів. Список літератури Лекційний матеріал, підготовлений Поперешняк С.В. [Електронний ресурс] : [Веб-сайт] ─ Доступ за посиланням: http://moodle.fit.knu.ua/course/view.php?id=124 Лабораторні роботи № 1-10 [Електронний ресурс] :[Веб-сайт] Доступ за посиланням: http://moodle.fit.knu.ua/course/view.php?id=124 Сидоров М.О. Вступ до інженерії програмного забезпечення. – К.: НАУ, 2008. – 65с. Моделі життєвого циклу інформаційних систем [Електронний ресурс] : [Веб-сайт] ─ Доступ за посиланням: https://pidruchniki.com/1701120547727/informatika/modeli_zhittyevogo_tsiklu РЕКОМЕНДОВАНА ЛІТЕРАТУРА: АРЧИБАЛЬД Р. Управление высокотехнологичными программами и проектами. – М.: ДМК Пресс; Компания АйТи, 2006. – 472с. БАТЕНКО Л. П., ЗАГОРОДНІХ О. А., ЛІЩИНСЬКА В. В. Управління проектами. – К.: КНЕУ, 2003. – 232с. БУЧ Г., РАМБО Д., ЯКОБСОН И. Язык UML. Руководство пользователя. – М.: ДМК Пресс, 2007. – 496с. ДСТУ ISO/IEC 12119:2003. Пакети програм. Тестування і вимоги до якості КВАТРАНИ Т. Визуальное моделирование с помощью Rational Rose 2002 UML. – М.: Вильямс, 2003. – 192с. МАКГРЕГОР Д., САЙКС Д. Тестирование объектно-ориентированного программного обеспечения. − М: Diasoft, 2002. − 220с. СОММЕРВИЛ И. Инженерия программного обеспечения. – М.: Вильямс, 2002. – 624с. ЯКОБСОН А, БУЧ. Г., РАМБО Дж. Унифицированный процесс разработки программного обеспечения. – СПб.: Питер, 2002. – 496с. |