собою об'єкти багаторазового використання. Ці об'єкти можуть групуватися різними способами, формуючи нові програми.
Об'єктно-орієнтоване проектування - це методологія проектування, що сполучає в собі процес об'єктної декомпозиції і прийоми уявлення логічної і фізичної, а також статичної та динамічної моделей проектованої системи.
Об'єктно-орієнтоване проектування дає можливість створювати розширювані системи (extensible systems). Розширюваність (extensibility) означає, що існуючу систему можна змусити працювати з новими компонентами без внесення до неї будь-яких змін.. Це унікальне і дуже потужне поняття, бо реальне завдання постійно потребує змін. Це унікальне і дуже потужне поняття, бо реальне завдання постійно потребує змін.
Таким чином, щоб скласти коректну оцінку об'єктно-орієнтованої моделі програмного забезпечення, слід звернутися до опису об'єкта дослідження, або, іншими словами, до постановки задачі, в якій описані необхідні для реалізації функції і пристрій банкомату, для якого проектується інформаційна система.
Будильник - це програма, що дозволяє створити завдання і виклик звукового сигналу, якщо досягло певний час.
Будильник підключений до бази даних комп'ютера, де зберігаються всі завдання коли-небудь створені користувачем.
У проектованої системі використовуються назви предметів чи явищ, що мають певне конкретне значення в контексті розглянутого об'єкта - банкомату. У таблиці 1 наведені зустрічаються в роботі терміни, для полегшення розуміння структури програмного забезпечення.
Таблиця 1 - Основні поняття в програмному забезпеченні банкомату (глосарій)
ПользовательЛюбой людина, яка користується будільніком.ЗадачаТо, що потрібно сделать.Звуковой сігналВибор відповідного звукового сигналу при досягненні певного времені.База даннихБаза з усіма завданнями і часу їх срабативанія.ЧасиОбикновенние годинник для перегляду поточного часу.
1.2 Дослідження моделі програмного забезпечення будильника
Модель варіантів використання являє собою модель взаємодії користувачів для вирішення проблем і завдань.
Модель варіантів використання описує цілі користувачів, взаємодія між користувачами і системою і необхідну поведінку системи для задоволення цих цілей.
Модель варіантів використання складається з ряду модельних елементів (або графічних примітивів). До найбільш важливих з них відносяться варіанти використання [use cases], дійові особи або актори [actors] і відношення (зв'язки) між ними [relationships].
Для того, щоб описати те, як може використовуватися дана проектована система, необхідно виявити дійові особи - тобто, всі об'єкти, які будуть взаємодіяти з системою. В даному випадку, виділяється один об'єкт і розглядається його поведінку в системі.
Дійова особа:
Користувач - Будь-яка людина, що користується програмним забезпеченням будильника.
Варіанти використання:
Виходячи з потреб користувача, виділяються наступні варіанти використання:
? Вибір мелодії.
? Вибір дати/часу.
? Перегляд предедущіх завдань.
Малюнок 1 - Діаграма варіантів використання
2. ПРОЕКТУВАННЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ БУДИЛЬНИКА
2.1 Проектування компонентів програмного забезпечення будильника
Для того щоб почати виконання проектування системи з погляду програмного забезпечення, необхідно виділити ті компоненти системи, які будуть її «каркасом» - класи та їх специфікації.
Опис класів даної інформаційної системи (ієрархія системи наведена в додатку А):
Граничні класи (Boundary) - класи, які розташовані на кордоні системи і всієї навколишнього середовища. До них відносяться всі обробники взаємодій користувача з системою. У програмному забезпеченні будильника такими класами є:
? Каталог Мелодій (Catalog) - Граничний клас, що обробляє запити на перегляд переліку мелодій, тобто безпосередньо реагує на дії користувача.
? Дата (Data) - Клас, що містить календар для вибору дати виконання завдання.
Класи сутності (Entity) - містять збережену інформацію. Вони мають найбільше значення для користувача, і тому в їхніх назвах часто використовують терміни з предметної області. Зазвичай для кожного класу-сутності створюють таблицю в базі даних.
. Завдання
Атрибути:
Id - Ідентифікаційн...