- •3. Об’єктно-орієнтований підхід до розробки програмного забезпечення. Дайте визначення поняття класу, об’єкту, поля, методу. З чого складається життєвий цикл об’єкту?
- •Опишіть внутрішню структуру об’єкта. Що таке інформація про тип під час виконання rtti і як вона використовується?
- •6. В чому полягає принцип спадковості? Що таке одинична та множинна спадковості? Як реалізується принцип одиничної та множинної спадковості в об’єктно-орієнтованих мовах програмування?
- •12. Поняття виключної ситуації, наведіть приклади виключних ситуацій. Як реалізуються виключні ситуації та їх обробка в об’єктно-орієнтованих мовах програмування?
- •13. Основні етапи і задачі об’єктно-орієнтованого аналізу предметної області. Які артефакти розробляються на етапі оОаналізу?
- •14. Визначення прецеденту. Що таке сценарій прецеденту та правила його опису?
- •Основні етапи і задачі об’єктно-орієнтованого проектування. Які артефакти розробляються на етапі оОпроектування?
- •18. Як під час проектування здійснюється розподіл обов’язків між класами? що таке шаблони проектування? Наведіть приклади шаблонів з прикладами їх застосування.
- •19. Охарактеризуйте мову uml та її призначення. Які діаграми для подання моделі складної системиё надає uml, дайте коротку характеристику діаграм. Для чого на діаграмах uml застосовується мова ocl?
- •Призначення та правила побудови діаграми прецедентів uml: типи зв’язків між прецедентами(з прикладами), зображення на діаграмі прецедентів ролей (акторів).
- •24. Різновид діаграм реалізації. Що спільного і в чому різниця в uml діаграмах компонентів та розгортання?
- •Призначення компонувальника та завантажувача. В чому різниця між статичним та динамічним компонування бібліотек? Дайте порівняльну характеристику програмних модулів та динамічних бібліотек.
- •Як організувати багато потокове застосування? Які проблеми можуть виникнути під час взаємодії потоків і які методи їх уникнення?
13. Основні етапи і задачі об’єктно-орієнтованого аналізу предметної області. Які артефакти розробляються на етапі оОаналізу?
OOA, object-oriented analysis, Об'єктно-орієнтований аналіз - це методологія, при якій вимоги до системи сприймаються з точки зору класів та об'єктів, виявлених в предметної області.
Необхідність аналізу предметної області до початку написання програми була усвідомлена давно при розробці масштабних проектів. Процес розробки баз даних істотно відрізняється від написання програмного коду для вирішення обчислювальної задачі.Головна відмінність полягає в тому, що при проектуванні бази даних виникає необхідність у попередньої розробці концептуальної схеми, яка відображала б загальні взаємозв'язку предметної області та особливості організації відповідної інформації.Предметна область включає в себе тільки ті об'єкти та взаємозв'язки між ними, які необхідні для опису вимог і умов вирішення певної задачі.
Виділення вихідних або базових компонентів предметної області, необхідних для вирішення тієї чи іншої задачі, представляє, в загальному випадку, нетривіальною проблему. Складність даної проблеми проявляється у неформальному характері процедур або правил, які можна застосовувати для цієї мети.Більш того, така робота повинна виконуватися спільно з фахівцями або експертами, добре знали предметну область.
Для виділення або ідентифікації компонентів предметної області було запропоновано декілька способів і правил.Сам цей процес одержав назву концептуалізації предметної області. При цьому під компонентою розуміють деяку абстрактну одиницю, яка має функціональністю, тобто може виконувати певні дії, пов'язані з вирішенням поставлених завдань.
Для створення програмного додатка необхідно описати проблему та вимоги до системи. Етап аналізу полягає в дослідженні проблеми, а не в пошуках шляхів її вирішення.
У процесі ОО аналізу основну увагу приділяється визначення та опису об'єктів (або понять) в термінах предметної області.
ООА пов'язаний зі створенням специфікації предметної області проблеми, з визначенням вимог з точки зору класифікації об'єктів, а також з формуванням термінів, які використовуються в предметної області.
Завдання:
- Визначити сутності в предметної області та взаємозв'язки між ними.
Етапи:
- Аналіз вимог - виділення економічних процесів і вимог і їх формулювання у вигляді прецедентів. Прецедент - це текстовий опис процесів, що відбуваються в системі.
- Складання концептуальної моделі, яка відображає різні категорії елементів предметної області: не тільки види діяльності учасників, але і все що відносяться до справи поняття.
Артефакт - (від лат. Artefactum - штучно (исскуственно) зроблене) – процес або утворення, що не є природнім для досліджуваного об’єкта і виникає зазвичай під час його дослідження.
Стосовно UML: моделі компонуються з інших моделей, або артефактів (Artіfact) - діаграм і документів, що описують певні поняття. Діаграми UML – це візуальні проекції (представлення моделей). Кожна діаграма UML є конкретним артефактом.
Модель системи =модель аналізу (analisys model) + модель проектування (design model). Перша модель повязана з дослідженням предметної області і простору задачі, але не з її розв’язком. Друга пов’язана з логікою вирішення поставленої задачі.
Артефакти:
- Прецеденти (які процеси відбуваються в предметної області);
- Концептуальна модель (які розглядаються поняття та терміни);
- Діаграми послідовностей (які події та операції відбуваються в системі);
- Описи системних операцій (що роблять системні операції).