ก่อนหน้า1/2ถัดไป

บทที่5 เรื่องSoftware Process  Model

Process  – เป็นกระบวนการ ลำดับของขั้นตอนต่าง ๆ ในการ                  

                 ดำเนินงานการพัฒนาและบำรุงรักษาซอฟต์แวร์       

      - เป็นพื้นฐานที่ใช้พัฒนาระบบ

Waterfall  Model
•เหมาะกับ Project ที่มีขนาดใหญ่
•Waterfall  Model   แบ่งกระบวนการทำงานออกเป็นขั้นตอนต่าง ๆ ขั้นตอนในแต่ละช่วงจะสืบเนื่องกันไปจากขั้นหนึ่งสู่อีกขั้นหนึ่งตามลำดับเหมือนสายน้ำตก  สามารถย้อนกลับไปปรับปรุงขั้นตอนก่อนหน้าได้ตามลำดับ
•ข้อดี Project มีความถูกต้องและตรงตามความต้องการ  การควบคุมเป็นอย่างมีประสิทธิภาพ

ข้อเสีย  ใช้ระยะเวลานาน

RAD  (Rapid Application Development)

•วิธีการและเครื่องมือที่ทำให้การพัฒนาระบบเร็วขึ้นโดยเฉพาะระบบที่มี user เข้ามาเกี่ยวข้องเป็นส่วนสำคัญ  เช่น การนำโปรแกรมเก่ามาเรียบเรียงใหม่   RAD สามารถทำให้โปรแกรมเสร็จเร็ว  เวลาทำควรอยู่ใน 60-90 วัน  โดยใช้  Tool ต่าง ๆ  เช่น  Case Tool   เน้นที่  Business  Requirement  โดยเร่งทำ Requirement  หลักก่อน
Joint Application Development (JAD)
•เป็นแนวคิดของของบริษัท IBM  คือทำอย่างไรให้คนที่เกี่ยวข้องกับ Requirement มาตัดสินใจร่วมกัน  โดยทำแบบ Workshop ร่วมกัน
•คนที่จะมาร่วมปรึกษาหารือกันตัดสินใจร่วมกัน ได้แก่
–Euceutive Sponsor - ผู้บริหารระดับสูง  เชิญมาเพื่อมีอำนาจในการตัดสินใจ
–Project Manager หรือ Project Leader
–Facilitator  เช่น  Consultant  หรือ  ผู้ที่เคยทำ , คนในองค์กรที่มีประสบการณ์
–Recorder / Clerk / Secretary  เช่น  คนจดรายงาน
–Participants คนที่เกี่ยวข้อง เช่น user ที่เกี่ยวข้อง
–IT  Development  เช่น โปรแกรมเมอร์ Observers ผู้สังเกตการณ์
V-Process Model
•คล้ายกับ Waterfall  Model  ข้อดีคือ จะมีการทดสอบ ทำให้สามารถแก้ไขปัญหาที่เกิดขึ้นได้

Prototyping Model

การทำ Prototypes  มี 2 แบบ

1.Throw – away prototypes ได้แก่ prototypes ที่ทำให้ user มองเห็นภาพของระบบ เช่น หน้าจอ  ไม่จำเป็นต้องใช้เครื่องที่ Implement จริง ๆ ทำเสร็จยกเลิกไป  โดยส่วนใหญ่ใช้ Desktop ทำ Prototypes
2.Evalutionary Prototypes  เป็น Prototypes ใช้ทำงานกับSoftware และเครื่องที่ใช้งานจริง  ส่วนมากใช้กับ user ที่อยู่ในหน่วยงานเดียวกัน  โปรแกรมอาจเสร็จทีละส่วน แล้วให้ user ทดสอบโดยไม่ต้องรอให้เสร็จทั้งหมด

ข้อดีของการทำ Prototypes

•เรียนรู้จาก Software จริง
•ช่วยสื่อสารระหว่าง  user กับ Developer  เพื่อทำให้ทราบว่างานก้าวหน้าไปถึงไหน
•user  มีส่วนร่วมในการทำ
•ทำให้ Requirement ชัดเจน (ใช่หรือไม่ ที่ต้องการ)
•การ Test Prototypes ทำให้ Project สมบูรณ์
•ลดความต้องการ  Document-user เห็นแล้วเข้าใจ
•ลดต้นทุนในการ Maintenance - user เคยเห็นแล้ว   จะทำให้ลดต้นทุน , ค่าใช้จ่าย ในการ Maintenance   ลงเหลือ 10-20 % ส่วนใหญ่ Maintenance ในส่วนของ Error
•ลดข้อจำกัดของ Feature ต่างๆ ในการทำงาน
•ทำให้เห็นผลลัพธ์ว่าเป็นอย่างไร
ข้อเสียของ Prototypes
*user เห็น Prototypes  เข้าใจว่าเสร็จแล้ว  มักต้องการรู้ว่าจะใช้ได้เมื่อไหร่
*ไม่มี Security , Response Time
*ควบคุมยาก เมื่อเห็นแล้ว user มักจะมีการเปลี่ยนแปลง Requirement
*เสียเวลาและค่าใช้จ่ายในการทำ Prototypes
*ประสิทธิภาพของจริงกับ Prototype ต่างกันได้ เช่น Prototypes เร็ว ของจริง ช้า , Prototypes ช้าของจริงเร็ว
*user กับ Developer ไม่ได้อยู่ที่เดียวกันทำให้ไม่สะดวกในการทำPrototype
รูปแบบของการทำ Prototypes
•Mock – ups  ทำหน้าจอให้เห็น  แต่ใช้จริงไม่ได้ (ใช้อธิบาย)
•Simulated  Interaction  จำลองการใช้งานจริง เช่น การกรอกข้อมูล การเรียกใช้ข้อมูล แต่ใช้งานจริงไม่ได้ (วิธีนี้นิยมมาก)
•Partial  working Model แบ่งเป็น
–Vertical (ลึก)  สามารถใช้งาน Feature บางส่วนได้จริง (ไม่ทั้งหมด) ใช้กับ Simulate
–Horizontal (กว้าง) มี Feature ครบ ทำให้ทราบว่ามี Feature อะไรบ้าง แต่ใช้งานไม่ได้ทั้งหมด (ไม่ลึก) ใช้กับ Mock – up
Incremental Model

Incremental Model  คือ การนำ Project ใหญ่มาแบ่งเป็นส่วนๆ และ

Implement เป็นส่วนๆ

 

 

 

 

website templates.