วันพุธที่ 25 กรกฎาคม พ.ศ. 2555

สรุปบทเรียนที่ 2 Software Process

The Software Process

ขั้นตอนการพัฒนาระบบ สามารถแบ่งออกได้เป็น 4 ขั้นตอน

       1. Specification กำหนดความต้องการ เป็นขั้นตอนที่กำหนดว่า Program ทำอะไรได้บ้าง ต้องการอะไรบ้าง
       2. Design เป็นขั้นตอนการออกแบบระบบ ตามความต้องการที่ได้กำหนดเอาไว้ในข้อที่ 1
       3. Validation การทดสอบ ทวนสอบ การทำงานหรือฟังก์ชันของระบบว่าตรงกับความต้องการของลูกค้าหรือไม่
       4. Evolution การปรับปรุงระบบ ตือขั้นตอนการปรับปรุงเปลี่ยนแปลงระบบให้ตรงกับความต้องการที่เปลี่ยนไปของลูกค้าในอนาคาต เพื่อให้ระบบสามารถทำงานต่อไปได้ ซึ่งก็คือการอัพเวอร์ชัน

>แบบจำลองที่ใช้ในการพัฒนาระบบมี 4 แบบจำลอง

        1. Waterfall Model (แบบน้ำตก)
        2. Evolutionary Development (ปรังปรุง Version ไปเรื่อยๆ จนลูกค้าพอใจจึงจะเสร็จ)
        3. Component-based software engineering (การนำ Component ที่มีอยู่แล้วกลับมาใช้ใหม่)
        4.  Process iteration (การพัฒนาซ้ำๆ)


1. Waterfall Model



Waterfall Model

          เป็นแบบจำลองที่ประกอบขึ้นด้วยขั้นตอนที่ต่อเนื่องเป็นลำดับ ตั้งแต่ลำดับแรกจนถึงลำดับสุดท้ายว่ามีอะไรบ้าง ไหลจากที่สูงลงสู่ที่ต่ำ สามารถย้อนกลับไปแก้ไขในขั้นตอนก่อนหน้าได้ (ข้อเสีย)แต่จะมีความยุ่งยากในการในการปรับเปลี่ยน เช่น ต้องการในขั้นตอนที่ 3 ก็ต้องย้อนกลับไปขั้นตอนที่ 1, 2 ด้วย

2. Evolutionary development



Evolutionary Model

          การพัฒนาแบบนี้ทำให้เกิดการปรับปรุง ปรับเปลี่ยนความต้องการให้อยู่ในรูปแบบของ Version มี 4 ขั้นตอน 
      1. Requirement วิเคราะห์ความต้องการ
      2. System Design ออกแบบระบบ
      3. Coding and Testing ขั้นตอนการเขียนและทดสอบระบบ
      4. Assignment การประเมินผล

ปัญหา
      1. ขาดความชัดเจนในการทำงาน
      2. ระบบที่สร้างขึ้นมาไม่ค่อยเป็นระบบเท่าไร
      3. ผู้ใช้ระบบ ต้องมีความชำนาญสุูง

ข้อเสีย
      1. อาจจะรบกวนเวลาทำงานของลูกค้า ทำให้เกิดความลำคาญใจ
      2. บอกความคืบหน้าในการทำงานลำบาก

การนำแบบจำลองไปใช้
      1. ใช้กับระบบเล็กหรือขนาดกลาง
      2. นำไปใช้ในส่วนของระบบงานขนาดใหญ่
      3. นำไปใช้ในโครงงานที่มีอายุการดำเนินงานสั้นๆ

3. CBSE (Component-Based Software Engineering)



Reuse-oriented development
ข้อดี
      1. รวดเร็วขึ้น
      2. ประหยัดต้นทุน
      3. ระบบมีความเชื่อมั่นเพิ่มมากขึ้น
      4. ความเสี่ยงที่จะเกิดความล้มเหลวลดลง

ข้อเสีย
      1. หา Component ที่ตรงตามความต้องการได้ยาก
      2. ยากในการปรับปรุง Component ให้ตรงตามความต้องการ 

4. Process Iteration
       การพัฒนาแบบวนซ้ำๆ (loop) มี 2 วิธี
             1. Increment delivery การส่งระบบเพิ่มเติมไปเรื่อยๆ ทีละชุดจนเสร็จ
             2. Spiral delivery พัฒนาแบบก้หอย

   4.1 Increment delivery



Increment delivery

      ประโยชน์
         1. ลูกค้าได้รับประโยชน์ในการส่งมอบเร็วขึ้น คือการที่ลูกค้าสามารถนำระบบบางส่วนไปใช้งานได้
         2. ลดความเสี่ยงที่โครงการจะล่ม
         3. ฟังก์ชันที่มีความเสี่ยงจะถูกทดสอบมากที่สุด ทำให้เกิดความผิดพลาดได้น้อย

  4.2 Spiral delivery


Spiral Development

     เป็นการพัฒนาหนุมเป็นรอบๆ เป็นเกียววนคล้ายก้นหอย แบ่งออกเป็น 4 ส่วน
         1. กำหนดวัตถุประสงค์และความสำคัญ
         2. ประเมินความเสี่ยง
         3. พัฒนา และตรวจสอบความต้องการ
         4. วางแผน



2 ความคิดเห็น: