วันพฤหัสบดีที่ 26 กรกฎาคม พ.ศ. 2555

ตอบคำถามบทเรียนที่ 2

1. จงเปรียบเทียบจุดเด่นจุดด้อยของระเบียบวิธีปฎิบัติของวิศวกรรมซอฟต์แวร์ ระหว่างวิธีเชิงโครงสร้าง (Structured Approach) และวิธีเชิงวัตถุ (Object-Oriented Approach) 
    ตอบ วิธีเชิงโครงสร้าง
              จุดเด่น  1. เป็นวิธีการวิเคราะห์ออกแบบเชิงโครงสร้าง
                           2. มีการแบ่งระบบออกเป็นส่วนย่อยๆ
                           3. มีลักษณะเป็นลำดับชั้น
              จุดด่อย 1. การวิเคราะห์และรวบรวมข้อมูลมีการแยกออกเป็นส่วนๆ ทำให้ใช้เวลานาน
                           2. ต้นทุนสูง
                           3. เนื่องจากใช้เวลานาน ทำให้เสี่ยงต่อการเปลี่ยนแปลงความต้องการของผู้ใช้
            วิธีเชิงวัตถุ
              จุดเด่น  1. การวิเคราะห์และออกแบบทำได้อย่างรวดเร็ว
                           2. รองรับระบบงานที่มีความซับซ้อนสูง
                           3. ทันต่อการเปลี่ยนแปลงความต้องการของผู้ใช้
              จุดด่อย 1. ต้องใช้ผู้ที่มีความสามารถความเชี่ยวชาญในการเขียนโปรแกรมสูง


 2. Waterfall model แตกต่างจาก Spiral model อย่างไร จงอธิบายตามความเข้าใจของนักศึกษา 
    ตอบ ตามความเข้าใจของผม Waterfall model แตกต่างจาก Spiral model 2 อย่างด้วยกัน คือ 1. ขั้นตอนในการพัฒนาระบบ และ 2. การวนกลับไปแก้ไขในขั้นตอนก่อนหน้า Waterfall model จะย้อนกลับไปแก้ไขในขั้นตอนก่อนหรือขั้นตอนที่ผ่านมาแล้ว ก็ต่อเมื่อเกิดปัญหาในการพัฒนา หรือต้องการเพิ่มความต้องการในด้านต่างๆ ให้กับระบบ ซึ่ง Spiral model จะต่างกันคือเป็นการวนซ้ำตั้งแต่ต้นจนจบแล้ววนซ้ำไปเรื่อยๆ 


3. ในฐานะที่นักศึกษาเป็นนักวิศวกรรมซอฟต์แวร์ ควรจะเลือกพิจารณาใช้แบบจำลองกระบวนการผลิตซอฟต์แวร์ (Software Process Model) แบบใด เพราะเหตูใด จงให้เหตุผลประกอบการเลือก 
    ตอบ ตามความคิดและความถนัดส่วนตัว ผมได้พิจารณาใช้แบบจำลองกระบวนการผลิตซอฟต์แวร์ แบบ Increment delivery ซึ่งเป็นแบบจำลองการผลิตซอฟต์แวร์ที่มีการพัฒนาโดยแบ่งโปรแกรมออกเป็นส่วนย่อยๆ หลายๆ ส่วน ซึ่งจะทำการพัฒนาเพิ่มเติมไปเรื่อยๆ ที่ละชุด เมื่อพัฒนาจนเสร็จแล้ว จึงนำมารวมกันเป็นระบบใหญ่ แล้วทำการทดสอบระบบทั้งระบบ สาเหตุที่เลือกแบบจำลองนี้ เพราะเป็นแบบจำลองที่มีการวางแผนโครงสร้างและกำหนดความต้องการทั้งหมด จนเสร็จสิ้นก่อนแล้วจึงเริ่มพัฒนาที่ละชังก์ชันของระบบ แล้วค่อยนำมารวมกัน ซึ่งเป็นกระบวนการพัฒนาซอฟต์แวร์ที่ผมถนัด

ไม่มีความคิดเห็น:

แสดงความคิดเห็น