Головна |
Поганий розробник, маючи систему автоматичного проектування, зможе створити свого програмного монстра за більш короткий термін ніж раніше. Великі проекти створюються великими проектувальниками, а не інструментами. Інструменти проектування дають можливість проявитися індивідуальності, звільняють її, щоб вона могла зосередитися виключно на творчих завданнях проектування і аналізу. Існують речі, які автоматизовані системи проектування можуть робити добре, і є речі, які вони взагалі не вміють. Наприклад, якщо ми використовуємо діаграму об'єктів, щоб показати сценарій з повідомленням, посланим від одного об'єкта іншому, автоматизована система проектування може гарантувати, що посилається повідомлення буде в протоколі об'єкта; це приклад перевірки сумісності. Якщо ми введемо інваріант, наприклад, такий: "існує не більше трьох примірників даного класу", то ми очікуємо, що наш інструмент простежить за дотриманням цієї вимоги; це приклад перевірки обмеження. Крім того, система може оповістити вас, якщо будь-які оголошені класи або методи не використовуються в проекті (перевірка на повноту). Нарешті, більш складна автоматична система проектування може визначити тривалість конкретної операції або досяжність стану на діаграмі станів; це приклад автоматичного аналізу. Але, з іншого боку, ніяка автоматична система не зможе виявити новий клас, щоб спростити вашу систему класів. Ми, звичайно, можемо спробувати створити такий інструмент, використовуючи експертні системи, але для цього знадобляться, по-перше, експерти як в області об'єктно-орієнтованого програмування, так і в предметної області, а по-друге, чітко сформульовані правила класифікації і багато здорового сенсу. Ми не очікуємо появи таких коштів в найближчому майбутньому. У той же час, у нас є цілком реальні проекти, якими варто зайнятися.
5.2. Діаграма класів
Логічна і фізична моделі | Істотне: класи і відносини між ними
Як вибрати операції? | Як вибирати відносини | вибір реалізації | Класифікація | Об'єктно-орієнтований аналіз | Ключові абстракції | ідентифікація механізмів | позначення | Необхідність різних точок зору | Моделі і ракурси |