Главная страница
Навигация по странице:

  • Контрольні питання і завдання

  • Список літератури до розділу 3

  • Розділ 4. МЕТОДИ ОБЄКТНОГО АНАЛІЗУ І МОДЕЛЮВАННЯ Головна мета об’єктно-орієнтованого аналізу

  • 4.1. Огляд об’єктно-орієнтованих методів аналізу і побудови моделей

  • 4.1.1. Основні поняття об’єктно-орієнтованих методів аналізу

  • 4.1.2. Метод побудови об’єктної моделі предметної області

  • К. М. Лавріщева програмна інженерія підручник Київ, 2008


    Скачать 5.23 Mb.
    НазваниеК. М. Лавріщева програмна інженерія підручник Київ, 2008
    Дата05.05.2022
    Размер5.23 Mb.
    Формат файлаpdf
    Имя файлаlavrishcheva-6.pdf
    ТипДокументы
    #513598
    страница12 из 43
    1   ...   8   9   10   11   12   13   14   15   ...   43
    Висновки. Проанализовано підходи і методи формування вимог до системи і
    ПЗ, що створюється. Розглянуто функціональні і нефунціональні вимоги. Значна увага приділена об’єктно-орієнтованим методам інженерії вимог, що використані для побудови моделей предметних областей і на їхній основі проектовання програмної системи. Наведені приклади проектування вимог за сценаріями і прецедентами.
    Контрольні питання і завдання
    1. Наведіть класифікацію вимог.
    2. Визначте призначення функціональних і нефункціональних вимог.
    3. Назвіть джерела для завдання вимог.
    4. Наведіть задачі обстеження, аналізу і збирання вимог.
    5. Визначте інженерію вимог і задачі трасування вимог.
    6. Визначте суть об’єктно-орієнтованої інженерії вимог.
    7. Назвіть види відношень об'єктів у моделі.
    8. Охарактеризуйте сценарний підхід і підхід за прецедентами.
    Список літератури до розділу 3
    1. Вигерс К.И. Розробка вимог до ПЗ. – М.: Російська редакція Microsoft,
    2004. – 575 c.
    2. Леонов И.В. Введення в методологію розробки програмного забезпечення за допомогою Rational Rose // Ескейп, 2004. – 301 с.
    3. Zave P., Jackson M. Four Dark Corners of Requirements Engineering // ACM
    Transactions on Software Engineering, January 1997.– № 1.
    4. Pinheiro Francisco A. C., Goguen Joseph A.. An Object-Oriented tool for
    Tracing Requirements // Software.– Mach 1996.– № 3.
    5. Guckkenheimer S., Peter J. Software Engineering With Microsoft Visual Studio.
    Team System. – Adison Wesley, 2006. – 273 p.

    80
    Розділ 4. МЕТОДИ ОБ'ЄКТНОГО АНАЛІЗУ І
    МОДЕЛЮВАННЯ
    Головна мета об’єктно-орієнтованого аналізу представити предметну область як множину об’єктів з властивостями і характеристиками, що достатні для
    їх ідентифікації, а також для завдання поведінки об’єктів у рамках вибраної системи понять і абстракцій. На довільному кроці об’єктного аналізу всі поняття
    (сутності) ПрО – суть об’єкти. Кожен об’єкт – це унікальний елемент, який має принаймні одну властивість або характеристику й ідентифікується в множині об’єктів.
    Предметна область сама є самостійним об’єктом або може бути об’єктом у складі іншої предметної області.
    Аналіз ПрО проводиться за допомогою об’єктно-орієнтованих методів і відповідних стандартів. Кінцева мета аналізу ПрО – визначення об’єктної моделі
    (ОМ), що містить у собі об’єкти та зв’язки (відношення) між ними.
    При побудові ОМ виявляються функціональні задачі, формулюються вимоги до їх проектування і подання структури системи. Об’єктна модель, вимоги і задачі
    — необхідні умови побудови архітектури майбутньої системи [1–13].
    4.1. Огляд об’єктно-орієнтованих методів аналізу і побудови моделей
    На даний час створено понад 50 об’єктно-орієнтованих методів, які застосовуються практично як механізми розроблення об’єктних моделей і побудови на їхній основі програмних систем. Головним поняттям цих методів є об’єкт, а також інші означення елементів предметної області, яка створюється.
    4.1.1. Основні поняття об’єктно-орієнтованих методів аналізу
    До основних понять методів об’єктно-орієнтованого аналізу предметної області – ПрО належать наступні [1–6].
    Об’єкт – це абстрактний елемент, що має поведінку, обумовлену його характеристиками і відношеннями з іншими об’єктами предметної області.
    Відповідно до теорії Фреге [14] специфікацію об’єкта можна трактувати як трійку:
    <ім’я об’єкта > <денотат > <концепт>,
    де <ім’я об’єкта> – ідентифікатор, рядок з літер і чисел;
    <денотат> сутність реальної ПрО, що позначається цим ідентифікатором;
    <концепт > – семантика (зміст) денотата ПрО.
    Схематично це можна подати за допомогою трикутника Фреге (рис 4.1). В ньому містяться елементи реального світу, які мають такі властивості і характеристики:
    знак – ідентифікатор, який позначає денотат;
    денотат – сутність знаку, позначеного цим ідентифікатором;
    концепт – семантика денотату.
    Вони визначаються на рівнях об'єктного аналізу із залученням математичних формалізмів їхнього опису та уточнення відрізняючих один об’єкт від іншого.

    Розділ 4 81
    Рис. 4.1. Подання об’єктів ПрО за трикутником Фреге
    Тобто, об’єкт є іменована частина дійсної реальності з певним рівнем абстракції за наведеними характеристиками відносно вибраної ПрО. Як понятійна структура об’єкт відображає зміст концепту за об’єктним моделюванням предметної області. Одному об’єкту можуть відповідати кілька концептів залежно від вибраного рівня абстракції.
    Об’єкт має зовнішню відмінністі (наприклад, коричневий або білий стіл), що відрізняє його від інших об’єктів. Внутрішня особливість об’єкта (його структура, внутрішні характеристики) не впливає на зовнішню відмінність і для об’єктного моделювання не має значення.
    Сутність – це семантично важливий об’єкт або значення об’єкта, що існує в
    ПрО і є абстрактним поняттям, інформацію про яке необхідно знати і/або зберігати
    [10–13]. Ім’я сутності повинно бути унікальним в межах ПрО і може зображати тип або клас об’єктів. Сутність може мати синоніми (наприклад, аеропорт/аеродром).
    Концепт – значення деякої сутності ПрО, позначається унікальним ім’ям.
    Головний, так званий батьківський концепт ПрО, визначається деяким набором загальних атрибутів. Концепт зображається графічно в ОМ або текстом.
    Атрибут – це сутність концепту, що позначається ім’ям, унікальним у межах опису цього концепту.
    Відношення – це абстракція зв’язків, що існують між різними видами об’єктів
    ПрО. Кожен зв’язок має унікальний ідентифікатор. Для формалізації зв’язків між концептами додаються допоміжні атрибути. Деякі зв’язки утворюються як наслідок
    існування інших зв’язків.
    Клас – це множина об’єктів, що мають однакові властивості, зв’язки і методи.
    Предметна область – це те, що аналізується з метою виділення специфічної множини понять (сутностей, об’єктів) і зв’язків між ними. На множині цих понять визначається простір проблем (problem space) і простір рішень (solution space) [13].
    Простір проблем – це абстрактні сутності, концепти та поняття ПрО, а
    простір рішень – це множина програмних реалізацій задач предметної області за поняттями предметної області, а саме, відповідні функціональні компоненти, що забезпечують розв’язок задач у цьому просторі. Об’єкт ПрО, як абстракція реального світу і понятійна структура, має поведінку, обумовлену властивостями даного об’єкта і його зв’язками з іншими об’єктами.

    82 Розділ 4
    Модель ПрО – це сукупність понять, концептів, об’єктів і їхніх характеристик
    (атрибутів), а також множин синонімів і класифікованих зв’язків між об’єктами, що мають місці у просторі проблем предметної області і використовуються при проектування системи.
    Концептуальна модель – це модель ПрО з концептів і понять без орієнтації на те, як вони подаються в конкретній системі.
    Використовуючи наведені базові поняття методів об’єктно-орієнтованого аналізу ПрО, далі будемо розглядати загальний, об’єктний метод аналізу ПрО і побудови моделей, а також проектування архітектури програмних систем на основі моделей і положень стандартів.
    4.1.2. Метод побудови об’єктної моделі предметної області
    Найбільше поширення серед методів аналізу ПрО одержав метод OOAS
    Шлеєра і Меллора [1], призначений для подання ПрО за допомогою таких моделей:
    – інформаційна модель системи;
    – модель станів об’єктів, що може будуватися для будь-якого з об’єктів
    інформаційної моделі;
    – модель процесів, що відображає процеси і дії, які відбуваються в системі при проходженні моделей станів через життєві цикли – одержання, породження і завершення подій у системі.
    Згідно з цим методом ПрО аналізується в три етапи: інформаційне моделювання, моделювання станів, моделювання процесів. Як результат виконання цих процесів створюються, відповідно, вище зазначені три моделі.
    Зв’язки об’єктів визначаються на процесі інформаційного моделювання, а поведінка – на процесі моделювання станів. Модель станів відображає динамічні стани об’єктів системи і їхню поведінку. На третьому процесі визначаються дії і процеси, що породжують події. Дії мають функціональну природу. Ціль моделювання процесів полягає в тому, щоб розділити процеси на дії, які разом визначають функціональний зміст системи. Охарактеризуємо кожну модель докладніше.
    Під інформаційною моделлю розуміється сукупність об’єктів (сутностей)
    ПрО, їхніх характеристик (атрибутів) і зв’язків між ними. Вона створюється за реляційним принципом: подання зв’язків між об’єктами і їхніми атрибутами у вигляді відношень.
    Аналіз ПрО полягає у виявленні об’єктів, наданні їм унікальних імен, що відповідають важливим поняттям цієї предметної області. Об’єктами можуть бути:
    – абстракції реально існуючих об’єктів ПрО;
    – ролі як абстракції цілей або призначення людини в системі;
    – взаємодії об’єктів, одержувані шляхом установлення зв’язків між ними і частинами системи;
    – специфікації для подання правил, критеріїв і обмежень на застосування об’єктів у системі.
    Таким чином, елементами інформаційної моделі можуть бути об’єкти, їхні атрибути й ідентифікатори, а також зв’язки між об’єктами.
    Для об’єктів ПрО визначаються їхні характерні ознаки або властивості, що називають атрибутами. Кожен атрибут – це абстракція певної характеристики

    Розділ 4 83 об’єкта, властива всім представникам класу об’єктів, яка одержує унікальне ім’я.
    Розрізняються описові, додаткові атрибути та атрибути-посилання.
    Описовий атрибут установлює реальну характеристику, що може визначатися одним з таких можливих способів:
    – завданням числового діапазону;
    – перерахуванням можливих значень, що може набувати атрибут;
    посиланням на документ, що визначає можливі значення;
    – встановленням правил генерації припустимих значень.
    Додатковий атрибут може набувати значень не в усіх об’єктах класу.
    Наприклад, для об’єктів класу «персональний комп’ютер» атрибут «тип монітора»
    є обов’язковим, а «тип принтера» — додатковим.
    Атрибут-посилання визначає призначення або посилання на інший об’єкт.
    Наприклад, наукова стаття може містити у собі посилання на інші статті, книги тощо.
    В об’єктах є один або кілька атрибутів, значення яких дозволяють однозначно виділити екземпляр об’єкта в даному класі (наприклад, табельний номер співробітника, номер паспорта й ін.).
    В інформаційній моделі, а також в багатьох мовах програмування посилання на атрибут можуть уточнюватися ім’ям класу, яке записується зліва від імені атрибута і відділяється від нього крапкою, а атрибути – зв’язками, що визначаються за такими правилами:
    – кожен об’єкт – екземпляр одного класу або більш ніж одного класу, характеризується набором значень своїх атрибутів,
    – ідентифікатор об’єкта може складатися з кількох імен атрибутів, розділених крапками. Наприклад, викладач.стаж–роботи.заробітна–плата.
    Між об’єктами предметної області можуть існувати семантичні зв’язки.
    Наприклад, у певному розумінні студент зв’язаний з професором, який викладає в його групі. Зв’язок — це абстракція певної змістовної залежності між об’єктами. Як правило, зв’язки встановлюються між об’єктами одного або різних класів і характеризуються кількістю екземплярів об’єктів, що одночасно можуть брати участь у цих зв’язках.
    Зв’язки між об’єктами класифікуються за множинністю. Відповідно до цієї класифікації виділяють три різновиди зв’язків:
    один до одного (1:1) існує тоді, коли у зв’язку беруть участь по одному екземпляру від цих об’єктів (наприклад, проект ведеться менеджером, менеджер веде один проект);
    один до багатьох (1:N), існує тоді, коли один екземпляр об’єкта деякого класу може бути зв’язаний одночасно більш ніж з одним екземпляром іншого або того самого класу (наприклад, проект має виконавців, виконавці зайняті у проекті);
    багато до багатьох (M:N) існує тоді, коли у зв’язку можуть брати участь по декілька екземплярів об’єктів з кожного класу, тобто один або більше екземплярів одного класу зв’язані з одним або декількома екземплярами іншого або того самого класу (наприклад, проект має виконавців, виконавці зайняті одночасно у кількох проектах).
    Ці зв’язки можуть бути статичними (постійними) – такі, що не змінюються або змінюються рідко, і динамічними, що можуть змінюватися під час функціонування системи. Зв’язки між об’єктами з часом можуть еволюціонувати й

    84 Розділ 4
    істотно впливати на хід розв’язання задачі. Для таких випадків зв’язку будується асоціативний об’єкт і визначається модель станів цього об’єкта шляхом додавання атрибута, що фіксує поточний стан.
    Серед дій, що супроводжують переходи об’єктів у інші стани, повинні бути дії зі створення нового екземпляра асоціативного об’єкта, якщо нова пара екземплярів вступає в зв’язок, або зі знищення, якщо об’єкт або зв’язок перестають
    існувати.
    Крім зв’язків розглянутих типів, між класами об’єктів ПрО може існувати відношення успадкування, що дозволяє визначити їх спільності та розбіжності.
    Коли клас B містить у собі усі атрибути й операції класу A і, можливо, має ще додаткові атрибути або операції, він (клас B) називається підкласом або нащадком, а клас A – суперкласом, або предком. Класи можуть утворювати ієрархію успадкувань довільної глибини, в яких кожний відповідає певному рівню абстракції
    і є узагальненням класу–нащадка та конкретизацію класу–предка. Наприклад, клас
    «число» має підкласи: цілі, дійсні, комплексні числа. Ці підкласи успадковують операції суперкласу, а саме, операції додавання, віднімання тощо. Але кожний підклас має свої особливості виконання цих операцій.
    На діаграмі, що зображує ОМ, можуть бути показані не тільки класи, а й окремі їх екземпляри. Наприклад, на рис. 4.2, зображено клас дійсних чисел (х, у), а на рис. 4.2, б – його екземпляр зі значенням атрибутів х, у.
    ТОЧКА
    х: дійсне у: дійсне
    Повернути (кут: дійсне)
    Масштабувати (коефіцієнт: дійсне)
    Р1: Точка х = 3.14
    у = 2.78
    а б
    Рис. 4.2. Зображення класу дійсних чисел (а) та його екземплярів (б)
    Між об’єктами може існувати також відношення частина до цілого, яке ділиться на два різновиди: композиція (час існування об'єкта-частини не виходить за межі часу існування об'єкта-цiлого) та агрегація (для якої вказана вище умова щодо часу існування не є обов’язковою). Крім того, може бути взаємна залежність
    (асоціація) між об'єктами різних класів, кожен з яких є рівноправним членом такого зв’язку.
    Існують різні види залежностей між класами. Зокрема деякий клас-клiєнт може використовувати певний сервiс (операцію) іншого класу; наприклад, клас об’єктів аналізу перетворюється у клас об’єктів проекту, а потім у клас компонентів реалізації.
    На діаграмі, де наведено інформаційну модель, зв’язки між об’єктами зображуються стрілками. Зв’язок 1:1 позначається двонаправленою стрілкою, що має по одному «наконечнику» з кожного боку; зв’язок 1:N показується стрілкою, що має один «наконечник» з боку об’єкта, який має зв’язок з декількома об’єктами,
    і два «наконечники» з боку іншого об’єкта; і, нарешті, по два «наконечники» з

    Розділ 4 85 кожної сторони має стрілка, що характеризує зв’язок N:M. Над стрілкою вказується
    ім’я зв’язку.
    Зв’язки можуть бути умовними. Коли окремі екземпляри певного класу об’єктів можуть не брати участь у зв’язку, то відповідний кінець стрілки позначається літерою у. За звичайну назву зв’язку використовують літеру R, за якою міститься номер елемента.
    Приклад інформаційної моделі з діаграмним відображенням зв’язків наведено на рис. 4.3. У ньому зв’язок R3 є логічним наслідком зв’язків R1 і R2.
    Рис. 4.3. Приклад діаграми інформаційної моделі
    Побудована інформаційна модель супроводжується неформальним описом всіх об’єктів, їхніх атрибутів і зв’язків. На наступних процесах проектування програмної системи інформаційна модель може відображатися на структури баз даних.
    Модель станівпризначена для відображення динамічної поведінки, зміни станів об’єктів інформаційної моделі і життєвого циклу поведінки об’єктів. Стан моделі залежить від ситуації, обумовленої правилами і лінією поведінки об’єкта.
    Подія – це інцидент, що змушує об’єкт переходити з одного стану в інший. Усі екземпляри одного класу мають однакову поведінку, яка визначається:
    – станом, залежним від поточних значень окремих його атрибутів;
    – станом, що змінюється внаслідок виконаних над об’єктами дій;
    – станом ПрО, залежним від сукупності станів її об’єктів;
    – деякими процесами і діями, що змінюють стан об’єкта протягом його життєвого циклу.
    Побудова моделі станів починається з виділення в інформаційній моделі об’єктів, що мають динамічну поведінку (наприклад, зміна стану з часом), визначення часу створення екземпляра об’єкта або його видалення (наприклад, електрична лампочка перегоріла, закінчився її ЖЦ).
    У даному методі передбачені дві нотації для подання динамічних аспектів поведінки об’єктів: діаграма переходу станів і таблиця переходу в стани.
    При побудові моделі станів для кожного об’єкта інформаційної моделі визначається:
    1) множина станів, у яких об’єкт може перебувати;
    2) множина інцидентів або подій, що примушують екземпляри класу змінювати свій стан;

    86 Розділ 4 3) правила переходу об’єкта з зафіксованого стану в новий стан за умови, що відбудеться деяка подія з множини подій;
    4) дія, що виконується при переході об’єкта в новий стан.
    Ця інформація подана на діаграмі переходу станів таким чином:
    – кожний стан для класу об’єктів одержує назву, номер та унікальний
    ідентифікатор (ІD);
    – стан позначається рамкою, що містить у собі номер і назву;
    – початковий стан позначається стрілкою у напрямку до об’єкта, який змінює стан;
    – перехід від стану до стану зображується дугою, позначеною міткою і назвою події, пов’язаною з цим переходом;
    – заключний стан позначається штриховою лінією;
    Приклад моделі станів, що зображує процес обслуговування клієнтів, наведено на рис. 4.4.
    Вибір клієнта зі станом
    = 2 інакше Обслуговування
    Вибір клерка зі станом
    = 1 інакше Обслуговування
    Створює новий екземпляр – Обслуговування
    Обслуговування: ID клерка = обраний клерк
    Обслуговування: ID клієнта = обраний клієнт
    А3: клерк визначений клієнтом
    2: клерк визначений клієнтом (ID клієнта)
    ДО2: клерк визначений клієнтом (ID клерка).
    Рис. 4.4. Модель станів для обслуговування клієнтів
    Зміна стану об’єкта відбувається при виконанні таких дій:
    – обробка інформації, переданої в систему, що може вплинути на подію;
    – визначення атрибута або зміна поведінки атрибута;
    – виконання деякої операції для екземплярів або подій, повідомлення про які передається зовнішньому об’єкту;
    – взаємодія з таймером, настання певного моменту часу, за якого відбувається деяка подія.
    Для деякого екземпляра об’єкта може бути встановлений таймер для оцінки значення, відповідального за зміну стану.

    Розділ 4 87
    Альтернативою графічної діаграми переходу станів є таблична нотація, приклад якої наведено для моделі станів в таблиці.
    Переходи станів, що відповідають рис 4.3.
    Номер події
    Стан події А1
    Стан події А2
    Стан події А3 1. Чекання клієнта
    2
    Подія ігнорується Не може відбутися
    2. Чекання вільного клерка
    Подія ігнорується
    3
    Не може відбутися
    3. Визначення клерком клієнта
    Подія ігнорується
    Подія ігнорується
    1
    У цієї таблиці кожен стан подано рядком, а кожна подія, що впливає на об’єкт,
    – стовпцем. Клітинка таблиці переходу станів – це стан об’єкта, якщо у відповідному стовпчику подія відбудеться (2, 3, 1), коли об’єкт знаходився в стані, що відповідає рядку.
    При цьому допускається, що деякі комбінації подія/стан не приведуть до зміни стану екземпляра об’єкта, тобто буде отримана вказівку – «подія
    ігнорується».
    При виборі форми подання – діаграма або таблиця переходу станів – діаграмі перевагу слід віддавати, якщо важливі наочність і визначеність дій, тоді як таблична форма служить для фіксації всіх можливих комбінацій стан/подія. Цим забезпечується повнота і несуперечність заданих вимог до системи.
    Важливий принцип об’єднання об’єктів і компонентів у систему – наявність у них спільних подій, один з об’єктів породжує подію, а інші реагують на неї.
    Взаємодії
    (зовнішні
    і внутрішні) об’єктів розглядаються через обмін повідомленнями. Зовнішній об’єкт посилає повідомлення, що приводить до запуску системи й утворення зовнішньої події. Цьому об’єкту направляється повідомлення про настання або відсутність події.
    Поведінка окремого об’єкта наведена в моделі діаграмою станів, а поведінка системи – у вигляді схеми взаємодії окремих діаграм, кожна з яких одержує назву, у відповідному овалі (рис.4.5).
    Рис. 4.5. Схема взаємодії моделей поведінки об’єктів
    Овали, що відображають окремі діаграми станів, зв’язані між собою стрілками з повідомленнями про подію (наприклад, С1, С2, ..., С8), а їхній

    88 Розділ 4 напрямок відповідає напрямкові передачі повідомлення. Зовнішні об’єкти позначаються прямокутниками з назвами (наприклад, оператор системи).
    Події на стрілках схеми ініціюють діяльність згідно з моделями станів 1–5 шляхом надсилання відповідних повідомлень.
    1   ...   8   9   10   11   12   13   14   15   ...   43


    написать администратору сайта