บทที่ 2
1.
จงเปรียบเทียบจุดเด่น จุนด้อยของระเบียบวิธีปฎิษัติของวิศวกรซอฟต์แวร์
ระหว่างวิธีเชิงโครงสร้าง(Structured
Approach) และวิธีเชิงวัตถุ (Object-Oriented Approach )
ระเบียบวิธีปฏิบัติของวิศวกรรมซอฟแวร์
จึงเป็นไปตามแนวทางการพัฒนาซอฟแวร์ ซึ่งมีสองแนวทางที่รู้จักกันอย่างกว้างขวางคือ 1. แนวทางเชิงโครงสร้าง
(Structured Approach) เป็นแนวทางแบบตั้งเดิม
มีการแบ่งระบบและความต้องการออกเป็นระบบย่อย
ตามลักษณะฟังก์ชันงานและแต่ละระบบย่อยสามารถแบ่งออกเป็นส่วนย่อยลงไปได้อีก
หากยังมีความสลับซับซ้อนอยู่ จึงเป็นโครงสร้างแบบสำดับชั้น
ระเบียบวิธีการปฏิบัติชนิดหนึ่งที่นิยมนำมาใช้ในขั้นตอนการวิเคราะห์ออกแบบ ระบบ
คือ การวิเคราะห์และโดย Yourdan& Demarco 2. แนวทางเชิงวัตถุ
(Object-Oriented Approach) เป็นแนวทางใหม่ที่คิดค้นโดย Grady
Booch, James Rubaughและ Ivar Jacobson ด้วยวิธีการวิเคราะห์และอกแบบระบบเชิงวัตถุ
เป็นการวิเคราะห์ระบบโดยหารมองทุกย่างในระบบเป็นอ็อบเจ็กต์
ซึ่งภายในอ็อบเจ็กต์นั้น จะมีทั้งส่วนข้อมูลและพฤติกรรมของระบบรวมอยู่ด้วย
ทำให้การวิเคราะห์และออกแบบระบบเร็วขึ้นด้วย
ซึ่งปัจจุบันได้รับความนิยมย่างสูงและกำลังเพิ่มขึ้นในอนาคตด้วย
2.
Waterfall
Model แตกต่างจาก Spiral Model อย่างไร
จงอธิบายตามความเข้าใจของนักศึกษา
Waterfall Model ข้อดีของ Waterfall Model
1.แบ่งงานยากให้เป็นงานที่เล็ก
ง่ายต่อการจัดการ
2.มีการกำหนดProductที่ต้องส่งมอบในแต่ละงานอย่างชัดเจน
ข้อเสียของ Waterfall Model
1.ลูกค้าเห็นและทดลองใช้Software
ก็ต่อเมื่อถึงขั้นตอนสุดท้าย
หากมีบางอย่างที่ไม่ตรงกับความต้องการของลูกค้า การแก้ไขยาก แพง เสียเวลา
2.ถ้า ค้นพบข้อผิดพลาดของขั้นที่เสร็จสิ้นแล้ว
ไม่สามารถแก้ไขได้ การแก้ไขจำเป็นต้องเริ่มรอบ (Iteration) ใหม่
Spiral Model ข้อดีของ Spiral Model
1.โมเดลผ่านการใช้งานเพื่อพัฒนาซอฟต์แวร์หลายประเภทอย่างประสบความสำเร็จ
จากการสำรวจ 25 โครงการพบว่าทุกโครงการมีความสามารถในการผลิต (Product tivity) สูงขึ้นอย่างน้อย 50 %
ข้อเสียของ Spiral Model
1.เป็น Model ที่เหมาะกับซอฟต์แวร์ขนาดใหญ่
เนื่องจากการวิเคราะห์และจัดการความเสี่ยงเป็นค่าใช้
จ่ายที่อาจจะไม่คุ้มสำหรับโครงการขนาดเล็กและผู้ที่จะจัดการความเสี่ยงได้ต้องมีประสบการณ์
2.
เหมาะกับงานที่มีโอกาสเปลี่ยนแปลงบ่อย หรือมีความต้องการใหม่เรื่อย ๆ
3.
ในฐานะที่นักศึกษาเป็นวิศวกซอฟตแวร์
ควรจะเลือกพิจารณาใช้แบบจำลองกระบวนการผลิต
ซอฟตแวร์(Software Parocess
Model) แบบใด เพราะเหตุใด จงให้เหตุผล
Incremental
Model ข้อดี Incremental model
1. เราสามารถส่งมอบงานได้เร็ว
2. ลดอัตราเสี่ยงการเลิกจ้าง
3. เราและ Customer สามารถมองเห็นความก้าวหน้าของโครงการได้
สรุปบทที่ 2
The
software process คือกระบวนการที่ทำการพัฒนา Software ให้ประสบผลสำเร็จ แบ่งเป็น 4Process ใหญ่ๆคือ
-
Specification – เป็นกระบวนการกำหนดคุณสมบัติของ software ที่พัฒนา
-
Development – เป็นขั้นตอนการพัฒนา software
-
Validation – เป็นขั้นตอนการตรวจสอบความถูกต้องของ software ให้ตรงกับความต้องการ
-
Evolution – เป็นกระบวนการทำให้ software มีวิวัฒนาการ
เป็นการปรับเปลี่ยนเพิ่มสิ่งดีๆเข้ามาและเอาสิ่งที่ไม่ดีหรือไม่จำเป็นออกไป
ซึ่งจะเปลี่ยนแปลงไปตามเทคโนโลยีหรือตามความต้องการของผู้ใช้
Waterfall
Model ประกอบด้วย 5 ขั้นตอน
-
Requirement
Definition : การกำหนดหรือระบุความต้องการของระบบและคุณสมบัติของความต้องการ
-
System
and Software Design : ออกแบบระบบ
-
Implementation
and Unit testing : ลงมือพัฒนาและทำการทดสอบ
-
Integration
and System testing : เอาแต่ละส่วนย่อยๆมาประกอบรวมกัน
-
Operation
and Maintenance : ติดตั้งใช้งานจริงและขั้นตอนการบำรุงรักษา
โดยที่สามารถย้อนกลับไปทำขั้นตอนเดิมๆได้เมื่อเกิดปัญหา
ข้อดี
: เราทำตามขั้นตอนได้ชัดเจน เพราะมีการบ่งบอกว่าแต่ละขั้นตอนต้องทำอะไร
และติดตามความคืบหน้าได้ชัดเจน
ข้อเสีย
: เมื่อผ่านขั้น Requirement
ไปแล้ว และเราไปทำขั้นตอนอื่นๆ จะมายุ่งกับ Requirement อีกไม่ได้แล้วจนกว่าจะจบกระบวนการถึงจะกลับไปทำ Requirement อีกทีได้ ทำให้เสียเวลาสิ้นเปลืองทรัพยากร
Evolutionary
Development
-
การพัฒนาซอฟต์แวร์ในลักษณะพัฒนาเป็นวิวัฒนาการไปเรื่อยๆ
-
เป็นการพัฒนาคุณสมบัติที่ต้องพัฒนาเพิ่มขึ้นเรื่อยๆ
Reuse-Oriented
Development
1.
พัฒนา ซอฟต์แวร์ใหม่ล้วนๆเลย โดยพัฒนาเป็นลักษณะ Object เพื่อเอากลับมาใช้ได้ใหม่อีก
2. พัฒนา ซอฟต์แวร์ไม่ทั้งหมด
100% แต่เราหา ซอฟต์แวร์อื่นๆที่พัฒนาแล้วมาเชื่อมกับของเรา
Process Iteration
การวนรูปพัฒนาซ้ำๆโดยที่วิธีการพัฒนาที่ทำซ้ำมี
2 ลักษณะใหญ่ๆคือ
- Incremental
Development
- Spiral Development
Incremental Development
จะสอดคล้องกับ Model ต่างๆที่กล่าวไว้เป็นส่วนใหญ่
จะทำเป็นทีละส่วนย่อยๆแล้วนำไปทำการทดสอบหรือไม่ก็ส่งงานไปเหมือนกับเป็น Milestone
ย่อยๆไป
ข้อดี :
- ถ้า Requirement
เปลี่ยนแปลงก็สามารถนำรวมเข้าไปได้เรื่อยๆ
Spiral modal
แบ่งการพัฒนาเป็น 4 โซน
1. เป็นโซนของการวางแผนสำหรับ
Phase ถัดๆไป
2. เป็นโซนที่จะพิจารณาว่าวัตถุประสงค์ของสิ่งที่พัฒนา
ณ เวลานั้นมีอะไรบ้าง และมีปัญหาที่จะต้องแก้ไขหรืออุปสรรคอะไรบ้าง
3. เป็นการวิเคราะห์ว่าจะมีความเสี่ยงอะไรบ้าง
และสามารถสร้างทางเลือกเพื่อแก้ปัญหาอะไรได้บ้าง
4. ลงมือพัฒนาและทดสอบระบบ
ขั้นตอนที่เกี่ยวข้องกับ
Requirement
1. ศึกษาความเป็นไปได้ -
เป็นสิ่งแรกที่ควรจะทำในการพัฒนาระบบหรือ SW ใดๆ
ซึ่งจะเป็นการศึกษาว่าคุ้มทุนหรือเปล่าที่จะสร้างหรือสร้างแล้วจะพบกับปัญหาอะไรมากน้อยแค่ไหน
2. เก็บรวบรวมและวิเคราะห์
Requirement - เกิดจากการสัมภาษณ์ผู้บริหารและผู้ปฏิบัติ ,ดูเอกสารและแบบฟอร์มต่างๆ , สังเกตจากการทำงานจริง
และนำมาวิเคราะห์ได้ออกมาเป็น System model
3. กำหนด Specification
– ซึ่งก็จะมีการวนกลับไปมาระหว่างการกำหนด Spec. และเก็บ Req.เพิ่มเติม ได้ออกมาเป็น User
Requirement กับ System Requirement เขียนมาเป็นข้อๆชัดเจนว่าต้องการให้ระบบทำอะไรบ้าง
4. ตรวจสอบ Requirement
ว่าถูกต้อง, ไม่คลุมเครือ
และนำไปให้ผู้บริหารหรือผู้ใช้อ่านอีกครั้งว่าใช่หรือไม่ ซึ่งจะได้ออกมาเป็น Requirement
document
กระบวนการออกแบบ
1.
Software
specification
2.
Software
design
3.
Software
validation
4.
Software
evolution
นายอดุลวิทย์ อาหมัด 510702473611
ไม่มีความคิดเห็น:
แสดงความคิดเห็น