Professional Documents
Culture Documents
Lec 4
Lec 4
UML.
Документування за
допомогою JavaDoc.
Лекція 4
Agenda
Призначення UML :
1. Моделювання програмних систем
2. Документація
3. Комунікація
4. Аналіз систем
5. Варіанти використання і сценарії
6. Моделювання бізнес-процесів
7. Тестування і валідація
Use case diagram (діаграма варіантів
використання)
1. Класи (Classes) представляють об'єкти або компоненти системи. Кожен клас має ім'я та визначає
структуру та поведінку об'єктів цього класу.
2. Відносини (Relationships) вказують на взаємозв'язки між класами.
3. Коментарі (Comments) використовуються для надання пояснень та докладного опису елементів діаграми
класів.
4. Інтерфейси (Interfaces) визначають набір методів, які мають бути реалізовані в класах, які реалізують
цей інтерфейс.
Найпоширеніші типи відносин:
- Спадкування (Inheritance): Показує, що
один клас успадковує атрибути та методи
іншого класу.
- Агрегація (Aggregation): Показує частину-
ціле відношення між класами. Наприклад,
клас "автомобіль" може агрегувати клас
"двигун".
- Композиція: Показує на те, що один об'єкт
(частину) складається з інших об'єктів
(частин), і ці частини існують тільки в межах
цього об'єкта.
- Асоціація (Association): Вказує на зв'язок
між класами, але не обов'язково частина-ціле
відношення. Наприклад, класи "студент" і
"викладач" можуть бути асоційовані через
"курс".
- Залежність (Dependency) вказує на те, що
зміни в одному елементі можуть вплинути на
інший елемент.
Dependency (Залежність)
Залежність вказує на те, що один елемент // Клас, який є залежним
(наприклад, клас або об'єкт) в системі залежить class КласA {
від іншого елемента, і зміни в залежному public void методA() {
елементі можуть вплинути на залежний // Використовуємо функціональність іншого
елемент. класу
КласB об'єктB = new КласB();
об'єктB.методB();
}
}
У цьому прикладі КласA залежить від КласуB,
оскільки він створює об'єкт КласуB та // Інший клас, на якому залежить КласA
використовує його метод. class КласB {
public void методB() {
// Логіка методу B
}
}
Association (Асоціація)
// Клас, який асоціюється з іншим класом
Асоціація вказує на те, що існує зв'язок або class Client{
відношення між двома або більше private String ім'я;
елементами (наприклад, класами або
об'єктами), і це відношення може бути більш public void createOrder(Order order) {
сильним, ніж зв'язок залежності. // Логіка розміщення замовлення клієнтом
}
}
Узагальнення: клас розширює інший клас. Наприклад, клас Book може розширити клас Document,
який також може включати клас Email. Класи Book і Email успадковують поля та методи класу
Document (можливо, змінюючи методи), але можуть додавати додаткові поля та методи.
Реалізація
Клас реалізує інтерфейс. Наприклад, інтерфейс власника може визначати методи придбання
власності та розпорядження нею. Класи Person і Corporation повинні реалізувати ці методи.
Композиція
class Department {
public Department(String title) {Title = title;}
class University {
public University(){}
/** /**
* Цей клас представляє об'єкт "Книга". * Додає два цілих числа разом і повертає
* Він містить інформацію про назву, результат.
автора та рік видання книги. *
*/ * @param a Перше число для додавання.
public class Book { * @param b Друге число для додавання.
// Код класу Book тут * @return Результат додавання a і b.
} */
public int add(int a, int b) {
return a + b;
Документація для }
поля
/**
* Це поле представляє назву книги.
*/
private String title;
Теги JavaDoc:
/** /**
* Див. також {@link * @deprecated Використовуйте {@link #newMethod()} замість цього
OtherClass}. методу.
*/ */
public void someMethod() { @Deprecated
// Код методу public void oldMethod() {
} // Код методу
}
Генерація документації
Для генерації документації з JavaDoc коментарів ви можете використовувати інструмент javadoc, який поставляється з JDK.
Виконайте наступну команду в командному рядку:
javadoc -d директорія_для_документації ваш_пакет
1. Виберіть Tools.
2. Оберіть "Generate JavaDoc". Це відкриє вікно для
створення JavaDoc коментарів.
3. Заповніть вікно JavaDoc коментаря відповідно до
ваших потреб. Ви можете додавати опис класу,
методу або поля, опис параметрів, поверненого
значення, винятків та інших аспектів коду.
4. Натисніть "OK", щоб зберегти JavaDoc коментар.