ในชั้นเรียนเราเรียนรู้เกี่ยวกับวิธีการพัฒนาซอฟต์แวร์ที่หลากหลาย สิ่งที่เรามุ่งเน้นและใช้ในการพัฒนาโครงการของเราคือวิธีน้ำตก
คุณอาจได้เรียนรู้โมเดล Waterfall แบบดั้งเดิมซึ่งบุคคลดังกล่าวได้นำเสนอต่อโลกการพัฒนาซอฟต์แวร์ที่ระบุไว้ตั้งแต่เริ่มต้นนั้นไม่เหมาะสมสำหรับการพัฒนาระบบซอฟต์แวร์ขนาดใหญ่ คุณอาจสนใจอ่านบทความของWinston Royce ที่ชื่อผู้จัดการฝ่ายพัฒนาระบบซอฟต์แวร์ขนาดใหญ่เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับปัญหาที่คนหลายคนคิดว่าเป็นแบบจำลอง Waterfall
อย่างไรก็ตามโมเดล Waterfall เหมาะสำหรับการสอนวงจรการพัฒนาซอฟต์แวร์ในขณะที่คุณผ่านการเรียนรู้และสามารถใช้เวลาในการเรียนรู้และปฏิบัติตามข้อกำหนดวิศวกรรมการออกแบบสถาปัตยกรรมการออกแบบโดยละเอียดการใช้งานการทดสอบและการบำรุงรักษาในขั้นตอนที่ชัดเจนและชัดเจน
ในแผนภาพระดับของเราเราต้องแสดงรายการคุณสมบัติและวิธีการทั้งหมดรวมถึงรายการส่วนตัว ฉันได้อ่านหนังสือสองสามเล่มคือ Clean Code ที่บอกว่าให้ฟังก์ชั่นสั้นและเน้นเท่าที่จะเป็นไปได้ ดูเหมือนว่าน่าเบื่อที่จะแสดงรายการฟังก์ชั่นเล็ก ๆ น้อย ๆ ในไดอะแกรมของเราหากพวกเขาไม่ได้ช่วยนักพัฒนาอื่น ๆ (พวกเขาเป็นส่วนตัวไม่มีใครจะใช้พวกเขา) นอกจากนี้ฉันอาจไม่คิดว่าทุกฟังก์ชั่นเล็ก ๆ เมื่อออกแบบโปรแกรมพวกเขาอาจมาพร้อมกับการปรับโครงสร้าง
นี่คือจุดที่ถูกต้องทั้งหมด
การแสดงรายการคุณสมบัติและวิธีการทั้งหมดในระหว่างขั้นตอนการออกแบบแม้เมื่อใช้ Waterfall อาจมีค่าเกินจริง คุณควรแสดงรายการทุกอย่างที่เป็นสาธารณะพร้อมกับคุณสมบัติที่สำคัญอย่างแน่นอน ในความเป็นจริงแล้วทุกสิ่งทุกอย่างคือรายละเอียดการนำไปใช้งานที่คุณสามารถทำได้โดยย้อนกลับวิศวกรรมการนำไปใช้งานของคุณเป็นไดอะแกรม
คำแนะนำของ Clean Code (ฉันไม่เคยอ่านมาก่อน - ฉันแค่ดำเนินการตามที่คุณโพสต์ไว้) ดูเหมือนว่าจะยุติธรรมและใช้ได้แม้ว่าจะใช้วิธีการ Waterfall แล้วก็ตาม คุณสามารถออกแบบการเรียนและวิธีการของคุณเกี่ยวกับSingle รับผิดชอบหลักการ , แยกของความกังวลและหลักการอื่น ๆ ของมูลฝอย น้ำตกไม่ได้บอกวิธีการออกแบบเพียงแค่คุณต้องทำ ที่กล่าวว่ามันเป็นเรื่องยากขึ้นในขณะที่คุณเรียนรู้และคิดว่าวิธีที่ดีกว่าที่จะทำในระหว่างการดำเนินการ
ฉันคิดว่าสิ่งนี้ชี้ให้เห็นความจริงที่ว่าต้องมีการวนซ้ำระหว่างการออกแบบและการใช้งานอย่างชัดเจน - ปัญหาที่ Waterfall ดั้งเดิมไม่ได้มีไว้สำหรับ