In der Klasse lernen wir verschiedene Methoden der Softwareentwicklung kennen. Diejenige, auf die wir uns konzentrierten und die wir zur Entwicklung unseres Projekts verwendeten, war die Wasserfallmethode.
Sie haben wahrscheinlich das klassische Wasserfallmodell gelernt, das die Person, die es von Anfang an in die Welt der Softwareentwicklung eingeführt hatte, für die Entwicklung umfangreicher Softwaresysteme als ungeeignet bezeichnete. Sie würden wahrscheinlich daran interessiert sein, Winston Royces Artikel mit dem Titel "Verwalten der Entwicklung großer Softwaresysteme" zu lesen , um mehr über die Probleme mit dem zu erfahren, was viele Menschen als Wasserfallmodell betrachten.
Das Waterfall-Modell ist jedoch gut geeignet, um den Lebenszyklus der Softwareentwicklung während des Durchlaufs zu lehren, und kann Zeit damit verbringen, Anforderungs-Engineering, Architekturdesign, detailliertes Design, Implementierung, Testen und Wartung in sehr klaren, unterschiedlichen Phasen zu erlernen und durchzuführen.
In unseren Klassendiagrammen mussten wir ALLE Eigenschaften und Methoden auflisten, einschließlich privater. Ich habe einige Bücher gelesen, nämlich Clean Code, die besagen, dass Funktionen so kurz und konzentriert wie möglich gehalten werden sollen. Es scheint mühsam, jede kleine Funktion in unseren Diagrammen aufzulisten, wenn sie anderen Entwicklern nicht hilft (sie sind privat, niemand anderes wird sie verwenden). Außerdem denke ich beim Entwerfen des Programms möglicherweise nicht an jede winzige Funktion, sondern möglicherweise beim Refactoring.
Dies sind alles sehr gültige Punkte.
Das Auflisten aller Eigenschaften und Methoden während der Entwurfsphase, auch bei Verwendung von Waterfall, ist wahrscheinlich übertrieben. Sie sollten auf jeden Fall alles auflisten, was öffentlich ist, zusammen mit den wesentlichen Eigenschaften. In Wirklichkeit ist alles andere ein Implementierungsdetail, das Sie erhalten können, indem Sie Ihre Implementierung in Diagramme zurückentwickeln.
Der Rat von Clean Code (ich habe ihn nie gelesen - ich halte mich nur an das, was Sie gepostet haben) scheint fair und auch dann anwendbar zu sein, wenn Sie die Waterfall-Methode verwenden. Sie können Ihre Klassen und Methoden in Bezug auf das Design Einzel Prinzip Verantwortung , Trennung von Bedenken und anderen Prinzipien der SOLID . Der Wasserfall sagt Ihnen nicht, wie Sie entwerfen sollen, nur wenn Sie es tun müssen. Das heißt, es ist im Vorfeld schwieriger, wenn Sie lernen und überlegen, wie Sie dies während der Implementierung besser tun können.
Ich denke, dies weist darauf hin, dass es eine klare Iteration zwischen Design und Implementierung geben muss - ein Problem, das der traditionelle Wasserfall nicht berücksichtigt.