- •2 Аналіз вимог до програмного забезпечення створення засобів опису програми для побудови її автоматної моделі
- •2.1 Виділення первинних вимог
- •2.2 Виділення детальних вимогчерез uml-діаграми
- •2.2.1 Діаграма прецедентів
- •2.2.2 Діаграми діяльності
- •2.2.4 Діаграма станів
- •2.4 Висновки
- •3 Проектування програмного забезпечення створення засобів опису програми для побудови її автоматної моделі
- •3.1 Архітектурне проектування
- •3.1.1 Об’єктно орієнтована парадигма
- •3.1.1 Структурна ієрархія системи
- •3.1.2Структурна схема системи
- •3.2 Детальне проектування
- •3.2.1 Діаграма класів
- •3.3.2 Діаграма послідовності
- •3.3 Висновки
- •4 Конструювання та тестування програмного забезпечення
- •4.1 Розробка інтерфейсу користувача
- •4.2 Кодування системи
- •4.2.1 Вибір мови програмування
- •4.2.2Опис розробки програмних компонентів
- •4.2.2.1 Модуль ядра
- •4.2.2.2 Модуль віджетів
- •4.2.2.3 Модуль алгоритмів заміщення
- •4.2.2.4 Модуль графічного інтерфейсу
- •4.3. Детальне тестування програмного засобу
- •4.4. Висновки
2 Аналіз вимог до програмного забезпечення створення засобів опису програми для побудови її автоматної моделі
2.1 Виділення первинних вимог
Аналіз вимог полягає в визначенні потреб та умов які висуваються щодо нового, чи зміненого продукту, враховуючи можливо конфліктні вимоги різних замовників, таких як користувачі.
Аналіз вимог є критичним для успішної розробки проекту. Вимоги мають бути задокументованими, вимірними, протестованими, пов’язаними з бізнес-потребами, і описаними з рівнем деталізації достатнім для конструювання системи. Вимоги можуть бути архітектурними, структурними, поведінковими, функціональними, та не функціональними
Основні вимоги для створення системи:
підтримка сучасних версій операційних систем сімейства Windows;
установка значення розміру фізичної пам’яті при старті системи;
визначення розміру сторінки пам’яті при запуску системи;
можливість додавання сегментів пам’яті із довільним розміром (в тому числі розміром, що перевищує розмір фізичної пам’яті);
вибір кольору сегменту для наочного представлення сегменту у віртуальній пам’яті;
введення імені сегменту;
візуальне представлення моделі віртуальної пам’яті;
візуалізація завантаження сегменту у фізичну пам’ять;
інтерактивна демонстрація емуляції звертання до сторінок у віртуальній пам’яті;
реалізація як вибіркових звертань до сторінки сегменту із типом читання та запису, так і реалізація випадкових звертань;
реалізація алгоритмів заміщення, додавання, витіснення.
2.2 Виділення детальних вимогчерез uml-діаграми
2.2.1 Діаграма прецедентів
Діаграма прецедентів — в UML, діаграма, на якій зображено відношення між акторами та прецедентами в системі. Також, перекладається як діаграма варіантів використання.
Діаграма прецедентів є графом, що складається з множини акторів, прецедентів (варіантів використання) обмежених границею системи (прямокутник), асоціацій між акторами та прецедентами, відношень серед прецедентів, та відношень узагальнення між акторами. Діаграми прецедентів відображають елементи моделі варіантів використання.
Суть даної діаграми полягає в наступному: проектована система представляється у вигляді безлічі сутностей чи акторів, що взаємодіють із системою за допомогою так званих варіантів використання. Варіант використання використовують для описання послуг, які система надає актору. Іншими словами, кожен варіант використання визначає деякий набір дій, який виконує система при діалозі з актором. При цьому нічого не говориться про те, яким чином буде реалізована взаємодія акторів із системою[*].
Діаграма прецедентів системи представлена на рис. 2.1.
Рис. 2.1. Діаграма прецедентів системи
В даній системі є один актор, що є безпосереднім користувачем додатку. За допомогою взаємодії з графічним інтерфейсом, він виконує всі дії, що зображені на діаграмі.
Початковим прецедентом системи є завантаження системи. При цьому, даний прецедент розширюють два інші — встановлення розміру фізичної пам’яті та встановлення розміру сторінки пам’яті. Дані значення використовуються в подальшій роботі системи для обрахунків, що стосуються моделі віртуальної пам’яті.
Наступним прецедентом системи є додавання системи. Оскільки при запуску додатку, список сегментів буде порожній, до даний прецедент логічно слідує з попереднього. При додаванні сегменту вказується такі параметри як ім’я, розмір та колір (для графічної візуалізації), що відповідають трьом включаючим прецедентам на діаграмі.
Прецедент завантаження сегменту виконує графічну візуалізацію завантаження сегменту в фізичну пам’ять. Оскільки розмір фізичної пам’яті може бути менший за розмір сегментів, тут потрібний механізм віртуалізації пам’яті.
Основним прецедентом системи є емуляція звертання до сторінки. Він виконує основну функціональну роль системи. При звертанні до сторінки пам’яті, вона може бути відсутня у фізичній пам’яті і її потрібно завантажити із зовнішньої. В таких випадках може виникати ряд проблемних ситуацій, зв’язаних в першу чергу відсутністю вільного місця в фізичній пам’яті. Тому повинна бути реалізація алгоритмів додавання, витіснення і заміщення, що зображено відповідними прецедентами на діаграмі. Основним алгоритмічним суб’єктом в даному випадку є алгоритм заміщення. В різних архітектурах використовують різні реалізації таких алгоритмів.
