На уроці ми дізнаємось про різні методи розробки програмного забезпечення. Той, на якому ми зосередились і використовували для розробки нашого проекту, був методом водоспаду.
Ви, мабуть, дізналися класичну модель водоспаду, яку людина, пов’язана із введенням її у світ розробки програмного забезпечення, заявила з самого початку, що не підходить для розробки масштабних програмних систем. Напевно, вам буде цікаво прочитати статтю Вінстона Ройса під назвою «Управління розвитком великих програмних систем», щоб дізнатися більше про проблеми з тим, що багато хто вважає моделлю водоспаду.
Однак модель Водоспад хороша для викладання життєвого циклу розробки програмного забезпечення під час проходження та може витратити час на вивчення та виконання вимог проектування, архітектурного проектування, детального проектування, впровадження, тестування та обслуговування в дуже чітких, чітких фазах.
У діаграмах нашого класу нам довелося перелічити ВСІ властивості та методи, включаючи приватні. Я прочитав декілька книг, а саме «Чистий код», які говорять про те, щоб функції були максимально короткими та цілеспрямованими. Перераховувати кожну маленьку функцію на наших діаграмах здається нудною, якщо вони не допомагають іншим розробникам (вони приватні, ніхто більше їх не використовуватиме). Плюс до цього, я не можу думати про кожну крихітну функцію при розробці програми, вони можуть виникати під час рефакторингу.
Це все дуже справедливі моменти.
Перерахування всіх властивостей та методів на етапі проектування, навіть при використанні водоспаду, ймовірно, надмірне. Ви обов'язково повинні перелічити все, що є загальнодоступним, а також основні властивості. Насправді все інше - це детальна інформація про реалізацію, яку ви можете отримати шляхом зворотної інженерії своєї реалізації на схемах.
Поради чистих кодексів (я ніколи не читав - я просто проводжу те, що ви розмістили), здається, справедливим і застосовним навіть при використанні методології водоспаду. Ви можете розробити свої класи та методи відповідно до Принципу єдиної відповідальності , розділення проблем та інших принципів SOLID . Водоспад не говорить про те, як проектувати, коли саме це потрібно зробити. Однак, це важче наперед, коли ви дізнаєтесь і придумаєте кращі способи зробити це під час впровадження.
Я думаю, що це вказує на той факт, що між розробкою та впровадженням потрібно чітко пройти ітерацію - проблема, якої традиційний Водоспад не має.