RUP - Rational Unified Process


The Rational Unified Process (RUP) คือ กระบวนการทางวิศวกรรม Software ซึ่ง RUP จะกำหนดถึงงาน หรือ สิ่งที่จะต้องดำเนินการเพื่อพัฒนา Software โดยจะแบ่งระยะเวลา หรือช่วง (Phase) การทำงานออกเป็นช่วงๆ โดยมีเป้าหมายเพื่อให้ได้ Software ที่มีคุณภาพสูง ตรงตามความต้องการของผู้ใช้ ตามเวลา และงบประมาณที่กำหนดไว้ตามแผนงานของโครงการ แผนภาพข้างต้นจะแสดงถึงภาพโดยรวมของการทำงานตามโครงสร้างของ RUP

RUP ประกอบด้วยมุมมอง 2 มิติ:

มุมมองในแนวนอน (horizontal axis) จะแสดงให้เห็นถึงเวลาและวงจรการพัฒนาในแต่ละช่วงของโครงการ การเปลี่ยนแปลงของกระบวนการทำงาน โดยจะนำเสนอออกมาในรูปแบบของ ช่วงการทำงาน(Phase), การแบ่งการทำงานออกเป็นงานย่อยๆ(iteration) และ ระยะการทำงาน หรือ หลักไมล์การทำงาน (milestone)

มุมมองในแนวตั้ง (vertical axis) จะแสดงให้เห็นถึงกลุ่มกิจกรรมที่เกิดขึ้น ซึ่งจะถูกแบ่งกลุ่มออกตามวิธีการหรือลักษณะของการทำงานของกิจกรรมนั้นๆ จะอธิบายให้เห็นถึงส่วนประกอบของกระบวนการ, กิจกรรมที่เกิดขึ้น, Workflow, บทบาท และ อื่นๆ

รูปภาพในด้านบนจะแสดงให้เห็นถึงสิ่งที่เป็นจุดสำคัญของ RUP ในแต่ละช่วงเวลา(Phase) เช่นในช่วงแรกของการทำงานจะเน้นที่การทำงานที่เกี่ยวข้องกับ Requirement และหลังจากนั้นก็จะมาเน้นการทำงานที่ส่วนการ implement coding เป็นต้น


The phases and milestones of a project

จากมุมมองของการบริหารจัดกาารตามวิธีหรือ กระบวนการ RUP จะพบว่ามีการแบ่งระยะ หรือ phase การทำงานออกเป็น 4 phase แต่ละ phase การทำงานก็จะเน้นที่กิจกรรมที่แตกต่างกัน มีเป้าหมายในแต่ละช่วงที่ไม่เหมือนกัน น้ำหนักหรือความสำคัญก็จะไม่เท่ากันด้วย บางกิจกรรมอาจมีการดำเนินการมาก หรือ น้อย หรือ อาจจะยังไม่เกิดขึ้นเลยในช่วงการทำงานใน phase นั้นๆ ได้ เช่น Inception Phase จะมุ่งไปที่การวางแผนโครงการ การรวบรวม Requirement ในขณะที่การทำการ coding ยังไม่มีบทบาทมากนัก หรือ อาจยังไม่เกิดขึ้น แต่เมื่อถึง Construction phase ก็จะเน้นไปที่การ Coding เป็นต้น

Phases การทำงานในแต่ละช่วงจะมีการเปลี่ยนแปลง หรือ ขึ้นอยู่องค์ประกอบต่างๆ มากมายที่มาเกี่ยวข้องในระหว่างการพัฒนา ซึ่งจะขึ้นอยู่กับโครงการแต่ละโครงการ หรือ แต่ละประเภท Software Project อีกด้วย แตโดยทั่วไป โครงการพัฒนา Software ขนาดกลาง โดยทั่วไป สามารถนำมาเขียนเป็นตารางสรุปถึงสัดส่วนของ phase แต่ละ phase ที่ใช้ในแต่ละช่วงดังนี้



Inception
Elaboration
Construction
Transition
Effort
~5 %
20 %
65 %
10%
Schedule
10 %
30 %
50 %
10%

และเขียนเป็นแผนภาพได้ดังนี้


ในวงจรการพัฒนา inception และ elaboration phases จะถูกกำหนดให้มีสัดส่วนของการทำงานที่น้อยกว่าการทำงานในช่วง Construction อย่างไรก็ตามเครื่องมือต่างๆ ในปัจจุบันที่มีประสิทธิภาพสูงจะช่วยให้การทำงานในช่วง Construction Phase ลดน้อยลง และสามารถน้อยกว่าการทำงานในช่วง inception และ elaboration phases รวมกันก็ได้