Chapter 2 Software Process
Software Process กระบวนการในการพัฒนาซอฟต์แวร์ จะมีอยู่ 4 ขั้นตอนใหญ่ๆดังนี้ Specification คือ ขั้นตอนการกำหนดคุณสมบัติและความต้องการของระบบ Design คือ ขั้นตอนการออกแบบระบบ หรือ ออกแบบตัว SW Validation คือ รวมตั้งแต่การพัฒนาขึ้นมาและทดสอบว่ามันใช้งานได้จริงตามต้องการหรือไม่ Evolution คือ พัฒนาการของ SW ที่มีการปรับเปลี่ยนไปตามความต้องการหรือความเหมาะสมให้มีประสิทธิภาพมากขึ้น
Software Development Life Cycle Problem Definition Feasibility Requirement Gathering & Elictation Analysis Design Implement Maintenamce
Software Process Model Linear Model Iterative Model Incremental Model Evolutionary Model
The Linear Model หรือ Classic Life Cycle , Waterfall Model
Waterfall Model Requirement Analysis Design Implementation Testing Maintenance
Waterfall Model (V&V) Requirement Analysis V & V Design Implementation Testing Maintenance
V&V หมายถึงอะไร Verification Validation การตรวจสอบว่า ระบบทำงานตามที่กำหนดไว้หรือไม่ ? Are we building the system right ? Validation การตรวจสอบว่า ระบบสามารถทำงานตามความต้องการของผู้ใช้หรือไม่ ? Are we building the right system ?
WFM แบบ V- Toshiba Qualification Product System Planning 2. System Design 3. Preliminary 4. Detailed 9. System Quality Test 8. System Test 7. Integration 6. Unit Test 5. Implementation ( Coding and Debugging ) Qualification Product System Preliminary Product Qualification Software System จุดทบทวนเอกสาร ของขั้นตอนนั้น Software Test Module (Program) Program Design Program Test
Iterative or Prototyping Model
แบบจำลองทางซอฟท์แวร์ พิมพ์เขียว แบบจำลอง สร้างช่วงสั้นๆ เพื่อ Validate Requirement Design Prototyping
ขั้นตอนการทำ Prototype ตั้งเป้าหมาย (Objective) เลือก Function ที่ Meet Objective สร้าง Develop Protoype ให้ผู้ใช้ดูแล้ว Feedback
การสร้างต้นแบบ มี 3 ลักษณะ เพื่อวิเคราะห์ความต้องการของผู้ใช้ เพื่อขยายให้เป็นระบบที่ปฏิบัติงานจริง เพื่อหาทางแก้ปัญหาที่ดีที่สุด เพื่อใช้เป็นเครื่องมือในการทดลอง
ข้อควรพิจารณาในการสร้างต้นแบบ ความเร็วในการทำงานของต้นแบบ ไม่มี Security , Performance , Response Time Prototype ไม่ใช่ของจริง รอ Feedback อย่างใจเย็น ที่สุดแล้วต้อง “โยนทิ้ง”
Incremental Model ใช้การพัฒนาแบบ Waterfall แบ่งระบบออกเป็น Subsystem ทำทีละส่วนแล้วให้ผู้ใช้ใช้งาน
Incremental Development
Design Requirement Analysis Implementation Maintenance Testing
ข้อควรพิจารณา กำหนด Boundary(ขอบเขต) ให้ชัดเจน Output ของ Subsystem หนึ่ง เป็น Input ของ Subsystem หนึ่ง ได้ ไม่ควรทำกับระบบใหญ่
ข้อเปรียบเทียบระหว่าง Prototype กับ Incremental Outline Requirement สร้างเสร็จทิ้ง สร้างเสร็จ นำไปใช้ Prototype Incremental
Evolutionary or Spiral Model Customer Communication Planning Risk Analysis Engineering Construction and Release Customer Evaluation
Evolutionary or Spiral Model
THE SPIRAL MODEL Go, no-go decision Risk analysis based on initial requirements Toward a completed system Initial software prototype Next level prototype Engineered system Engineering Customer evaluation Risk analysis Planning Initial requirements gathering and project planning Customer evaluates THE SPIRAL MODEL Risk analysis based on customer reaction