อะไรคือความแตกต่างระหว่างต้นแบบการทิ้งและการวิวัฒนาการ?


12

ฉันมีบันทึกเกี่ยวกับวิธีการทำต้นแบบหลายแบบและฉันพบคำจำกัดความหลายอย่างบนอินเทอร์เน็ต แต่ฉันต้องการยืนยันสิ่งที่ฉันเรียนรู้

ฉันเข้าใจว่าการสร้างต้นแบบการปล่อยทิ้งนั้นได้รับการพัฒนาจากโครงร่างของข้อมูลจำเพาะต้นแบบที่หลากหลายจะถูกส่งและแก้ไขจนกว่าลูกค้าจะพอใจกับการทำงานของมัน

ในอีกแบบหนึ่งวิวัฒนาการต้นแบบถูกสร้างขึ้นจากความต้องการขั้นพื้นฐานที่รวบรวมจากผู้ใช้ปลายทาง ต้นแบบเริ่มต้นจะถูกนำเสนอให้กับผู้ใช้และประเมินผล ต้นแบบถูกปรับเปลี่ยนตามความคิดเห็นจนกว่าลูกค้าจะพอใจ

ถูกต้องหรือไม่ มีคำจำกัดความที่ดีกว่าของการทิ้งและการสร้างต้นแบบหรือไม่?


2
บ่อยกว่านั้นดูเหมือนว่าต้นแบบจะเปลี่ยนเป็นผลิตภัณฑ์สำเร็จรูป ไม่เคยได้ยินเรื่องของการโยนทิ้งเมื่อเทียบกับวิวัฒนาการมาก่อน
itsmatt

1
สวัสดี Mifas ฉันขอโทษที่ย้ายข้อมูลแล้ว แต่ถ้าคุณได้คำจำกัดความของคุณจากเว็บขอให้เว็บยืนยันว่าคำจำกัดความนั้นถูกต้องหรือไม่และไม่ได้อยู่ที่นี่จริงๆ

1
@ MarkTrapp หากเราลบคำจำกัดความแล้วเราจะเปิดใหม่ได้ไหม ทั้งคำจำกัดความในการโพสต์เช่นเดียวกับคำตอบที่มีอยู่ไม่ถูกต้องในแง่ของความหมายอย่างเป็นทางการของวลี มีซ้ำกันใน Stack Overflow แต่ไม่มีใครที่ฉันสามารถหาที่นี่และฉันคิดว่ามันเป็นสิ่งสำคัญอย่างน้อยที่สุดไม่ได้ใส่ข้อมูลที่ผิดพลาดมากขึ้นบนอินเทอร์เน็ต
Thomas Owens

@Mifas หากคุณลบคำจำกัดความไม่มีเนื้อความสำหรับคำถามจะมีหรือไม่ หาก Mifas ต้องทำตามคำถามที่นี่และอัปเดตเพื่ออธิบายสิ่งที่เขาพยายามทำนั่นคือทำให้เขาถามถึงคำนิยามเหล่านี้นั่นเป็นคำถามที่ดีมาก

1
@ Mark Fantastic ขอบคุณ ทำงานกับคำตอบของฉันตอนนี้
Thomas Owens

คำตอบ:


11

วิธีการสร้างต้นแบบทั้งสองจะใช้เมื่อมีบางแง่มุมของระบบที่คุณไม่เข้าใจทั้งหมด อย่างไรก็ตามความแตกต่างที่สำคัญคือวิธีการวงจรชีวิตที่คุณใช้ ด้วยการทำต้นแบบวิวัฒนาการคุณมักเข้าใจบางแง่มุมของระบบและไม่แน่ใจเกี่ยวกับสิ่งอื่น ในการสร้างต้นแบบการปล่อยทิ้งคุณมีความเข้าใจทั่วไปที่คุณต้องทำให้เสร็จก่อนที่จะสร้างระบบที่พร้อมใช้งานจริง

โปรดทราบว่ามีการทำต้นแบบของใบปลิวมากมายและไม่ จำกัด เฉพาะระบบทั้งหมด ตัวอย่างเช่นการใช้กระดาษหรือร่างไวท์บอร์ดของส่วนต่อประสานผู้ใช้ถือเป็นแบบอย่างของการปล่อยทิ้ง ใช่คุณอาจต้องทำซ้ำหลาย ๆ ครั้งและทิ้งการออกแบบก่อนหน้านี้ แต่คุณจะไม่ใช้ต้นแบบขั้นสุดท้ายในระบบ

หากคุณสนใจในหัวข้อวิศวกรรมซอฟต์แวร์ทั่วไปและความกว้างของ SE ฉันขอแนะนำให้ยกหนังสือ Sommerville ที่ฉันพูด เป็นเรื่องที่ดีจริงๆสำหรับการครอบคลุมหัวข้อต่างๆ หากคุณสนใจแบบจำลองกระบวนการและวิธีการมากขึ้นและวิธีที่คุณสามารถนำไปใช้กับโครงการต่าง ๆ ได้ฉันขอแนะนำหนังสือ McConnell - มันมีทั้งบทที่อุทิศให้กับการสร้างต้นแบบวิวัฒนาการและอีกบทหนึ่งที่อุทิศให้กับการทำต้นแบบ

ฉันยังเอาอย่างรวดเร็วในบทความวิกิพีเดียในการสร้างต้นแบบซอฟต์แวร์ บางส่วนของมันแปลกเล็กน้อย (อย่างน้อยในการอ่านอย่างรวดเร็วของฉัน) แต่ดูเหมือนจะไม่มีอะไรที่ฉันไม่เห็นด้วยอย่างจริงจัง บางส่วนก็เน้นไปที่ด้านใดด้านหนึ่ง แต่ก็ไม่ผิดที่ฉันเห็น ฉันชอบคำจำกัดความด้านล่าง แต่อาจเป็นการอ่านที่น่าสนใจเกี่ยวกับการสร้างต้นแบบหลายประเภท


การสร้างต้นแบบเชิงวิวัฒนาการ

การพัฒนาเชิงสำรวจที่วัตถุประสงค์ของกระบวนการคือการทำงานร่วมกับลูกค้าเพื่อสำรวจความต้องการและส่งมอบระบบขั้นสุดท้าย การพัฒนาเริ่มต้นด้วยส่วนต่าง ๆ ของระบบที่เข้าใจ ระบบวิวัฒนาการโดยการเพิ่มคุณสมบัติใหม่ที่เสนอโดยลูกค้า (Sommerville: วิศวกรรมซอฟต์แวร์, รุ่นที่ 8)


การสร้างต้นแบบเชิงวิวัฒนาการ (Evolutionary Prototyping) เป็นรูปแบบวงจรชีวิตที่ระบบได้รับการพัฒนาเพิ่มขึ้นเพื่อให้สามารถแก้ไขได้อย่างง่ายดายเพื่อตอบสนองต่อความคิดเห็นของผู้ใช้และลูกค้า ความพยายามในการสร้างต้นแบบส่วนใหญ่เริ่มต้นด้วยการสร้างต้นแบบส่วนต่อประสานกับผู้ใช้แล้วพัฒนาระบบที่สมบูรณ์จากนั้น แต่การสร้างต้นแบบสามารถเริ่มต้นด้วยพื้นที่ที่มีความเสี่ยงสูง การทำ Prototyping เชิงวิวัฒนาการนั้นไม่เหมือนกับการทำต้นแบบของ Throwaway และการเลือกที่ถูกต้องเกี่ยวกับการพัฒนาต้นแบบการวิวัฒนาการหรือ Protaway Prototype เป็นกุญแจสู่ความสำเร็จ กุญแจสู่ความสำเร็จอื่น ๆ รวมถึงการใช้นักพัฒนาที่มีประสบการณ์การจัดการกำหนดการและความคาดหวังของงบประมาณและการจัดการกิจกรรมการสร้างต้นแบบ (McConnell: การพัฒนาอย่างรวดเร็ว: ทำให้เชื่องตารางซอฟต์แวร์ป่าไม้)


ต้นแบบการโยนทิ้ง:

การสร้างต้นแบบ Throwaway เป็นจุดประสงค์ของกระบวนการพัฒนาเชิงวิวัฒนาการเพื่อทำความเข้าใจความต้องการของลูกค้าและพัฒนาข้อกำหนดที่ดีกว่าสำหรับระบบ ต้นแบบมุ่งเน้นที่การทดสอบกับความต้องการของลูกค้าที่เข้าใจได้ไม่ดี (Sommerville: วิศวกรรมซอฟต์แวร์, รุ่นที่ 8)


ด้วย Throwaway Prototyping โค้ดนั้นถูกพัฒนาขึ้นเพื่อสำรวจปัจจัยที่มีความสำคัญต่อความสำเร็จของระบบและจากนั้นรหัสนั้นจะถูกโยนทิ้งไป การนำต้นแบบไปใช้นั้นใช้ภาษาโปรแกรมหรือแนวทางการพัฒนาหรือทั้งสองอย่างนั้นเร็วกว่าภาษาเป้าหมายและแนวปฏิบัติ อินเทอร์เฟซผู้ใช้นั้นถูกสร้างต้นแบบโดยทั่วไปมากกว่าส่วนอื่น ๆ ของระบบ แต่ส่วนอื่น ๆ ของบางระบบก็สามารถได้รับประโยชน์จากการถูกทำต้นแบบ เมื่อใช้เป็นเครื่องช่วยในการระบุข้อกำหนดการฝึกฝนการทำต้นแบบของ Throwaway สามารถเร่งโครงการตามแบบจำลองวงจรชีวิตแบบดั้งเดิมเช่นโครงการ DoD สามารถเริ่มได้ทั้งในระดับบริหารและด้านเทคนิค (McConnell: การพัฒนาอย่างรวดเร็ว: ทำให้เชื่องตารางซอฟต์แวร์ป่าไม้)


-2

การสร้างต้นแบบ Throwaway - ด้วยส่วนเล็ก ๆ ของระบบนี้ได้รับการพัฒนาและมอบให้กับลูกค้าและผู้ใช้ปลายทางเพื่อลองและประเมินผลผู้ใช้จะให้ข้อเสนอแนะซึ่งสามารถนำไปปฏิบัติได้อย่างรวดเร็วในการพัฒนาระบบหลัก

การสร้างต้นแบบเชิงวิวัฒนาการ - เป็นรูปแบบวงจรชีวิตที่ระบบได้รับการพัฒนาเพิ่มขึ้นเพื่อให้สามารถแก้ไขได้อย่างง่ายดายเพื่อตอบสนองต่อผู้ใช้ปลายทางและความคิดเห็นของลูกค้า


1
คำถามนี้ถูกถามในปี 2011 คำตอบของคุณไม่ได้เพิ่มคำตอบที่ได้รับไปมากนัก
Jan Doggen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.