บทที่ 2 วงจรการพัฒนาระบบ System Development Life Cycle
วงจรการพัฒนาระบบ (System Development Life Cycle) วงจรชีวิตการพัฒนาระบบ (SDLC) แบ่งออกเป็น 5 ระยะ (Phase) ดังนี้ ระยะที่ 1 : การวางแผนโครงการ (Project Planning Phase) ระยะที่ 2 : การวิเคราะห์ (Analysis Phase) ระยะที่ 3 : การออกแบบ (Design Phase) ระยะที่ 4 : การทดสอบ/นำไปใช้ (Implementation Phase) ระยะที่ 5 : การบำรุงรักษา (Maintenance/Support Phase)
วงจรการพัฒนาระบบ (Systems Development Life Cycle) SDLC 1 Project Planning Phase 2 Analysis Phase 3 Design Phase 4 Implementation Phase 5 Maintenance/Support Phase
วงจรการพัฒนาระบบ (System Development Life Cycle) ระยะที่ 1: การวางแผนโครงการ (Project Planning Phase) กำหนดปัญหา (Problem Definition) ศึกษาความเป็นไปได้ของโครงการ (Feasibility Study) จัดทำตารางกำหนดเวลาโครงการ (Project scheduling) จัดตั้งทีมงานโครงการ (Staff the project) ดำเนินการโครงการ (Launch the project)
วงจรการพัฒนาระบบ (System Development Life Cycle) กำหนดปัญหา (Problem Definition) ระบบสารสนเทศจะเกิดขึ้นได้ก็ต่อเมื่อผู้บริหารหรือผู้ใช้ตระหนักว่า ต้องการระบบสารสนเทศหรือระบบจัดการเดิม (ได้แก่ ระบบเอกสารในตู้เอกสาร) ไม่มีประสิทธิภาพเพียงพอที่จะตอบสนองต่อความต้องการในปัจจุบัน ตัวอย่างเช่น บริษัท ก้านกล้วย จำกัด ติดต่อซื้อสินค้าจากผู้ขายหลายบริษัท ซึ่งบริษัทก้านกล้วยได้มีระบบ MIS ทำหน้าที่เก็บข้อมูลเกี่ยวกับหนี้สินที่บริษัทติดค้างผู้ขายอยู่ ระบบดังกล่าวสามารถเก็บข้อมูลผู้ขายได้เพียง 1,000 รายเท่านั้น ปัจจุบันข้อมูลผู้ขายในระบบได้ถูกจัดเก็บข้อมูลไว้แล้ว 900 ราย และอนาคตอันใกล้คาดว่าจะเกิน 1,000 ราย ด้วยเหตุนี้ ฝ่ายบริหารจึงเรียกนักวิเคราะห์ระบบเข้ามาศึกษา แก้ไขระบบงาน
วงจรการพัฒนาระบบ (System Development Life Cycle) กำหนดปัญหา (Problem Definition) อีกหนึ่งตัวอย่าง ปัจจุบันฝ่ายบริหารต้องการให้ระบบสามารถดูสถิติการขาย เพื่อใช้ในการคาดคะเนยอดขายในอนาคต หรือความต้องการอื่น ๆ ได้ ปัญหาที่สำคัญของระบบดังกล่าว คือ ระบบเขียนมานานแล้ว ส่วนใหญ่เขียนมาเพื่อติดตามเรื่องการเงิน ไม่ได้มีจุดประสงค์เพื่อให้ข้อมูลข่าวสารในการตัดสินใจ ดังนั้น นักวิเคราะห์ระบบควรจะต้องทำการศึกษาเสียก่อนว่า ความต้องการดังกล่าวนั้นเพียงพอที่จะเป็นไปได้หรือไม่ ได้แก่ "การศึกษาความเป็นไปได้" (Feasibility Study)
วงจรการพัฒนาระบบ (System Development Life Cycle) ศึกษาความเป็นไปได้ของโครงการ (Feasibility Study) จุดประสงค์ก็คือ การกำหนดว่าปัญหาคืออะไรและตัดสินใจว่าการพัฒนาสร้างระบบสารสนเทศ หรือการแก้ไขระบบสารสนเทศเดิมนั้นมีความเป็นไปได้หรือไม่ โดยเสียค่าใช้จ่ายและเวลาน้อยที่สุด และได้ผลเป็นที่น่าพอใจ และนักวิเคราะห์ระบบจะต้องกำหนดให้ได้ว่าการแก้ไขปัญหาดังกล่าวมีความเป็นไปได้ทางด้านเทคนิคและบุคลากรอย่างไร ปัญหาทางเทคนิคก็จะเกี่ยวข้องกับเรื่องคอมพิวเตอร์ และเครื่องมือเก่า ๆ รวมทั้งเครื่องคอมพิวเตอร์ซอฟต์แวร์ด้วย สุดท้ายนักวิเคราะห์ระบบจะต้องวิเคราะห์ความเป็นไปได้เรื่องค่าใช้จ่าย เวลาที่ใช้ในการพัฒนาระบบ และผลประโยชน์ที่จะได้รับ
วงจรการพัฒนาระบบ (System Development Life Cycle) ศึกษาความเป็นไปได้ของโครงการ (Feasibility Study) การคาดคะเนทั้งหลายเป็นไปอย่างคร่าว ๆ เราไม่สามารถหาตัวเลขที่แน่นอนตายตัวได้เนื่องจากทั้งหมดยังไม่ได้เกิดขึ้นจริง หลังจากเตรียมตัวเลขเรียบร้อยแล้ว นักวิเคราะห์ระบบจะนำตัวเลข ค่าใช้จ่ายและผลประโยชน์ (Cost-Benefit) มาเปรียบเทียบกันดังตัวอย่างในตาราง ค่าใช้จ่าย ปีที่ 0 ปีที่ 1 ปีที่ 2 ปีที่ 3 ปีที่ 4 ปีที่ 5 ค่าใช้จ่ายในการพัฒนาระบบ 200,000 - ค่าใช้จ่ายเมื่อปฏิบัติงาน 50,000 52,000 60,000 70,000 85,000 ค่าใช้จ่ายรวมตั้งแต่ต้น 250,000 302,000 362,000 432,000 517,500 ผลประโยชน์ที่จะได้รับ 80,000 100,000 120,000 150,000 ผลประโยชน์รวมตั้งแต่ต้น 180,000 300,000 450,000 650,000
วงจรการพัฒนาระบบ (System Development Life Cycle) จัดทำตารางกำหนดเวลาโครงการ (Project scheduling) ตัวอย่าง การส่งแมวตัวหนึ่งให้ขึ้นไปเหยียบดวงจันทร์ภายในห้าปีและนำแมวกลับมาบ้านอย่างปลอดภัย แผนการอย่างคร่าว ๆ หรือการศึกษาความเป็นไปได้ ซึ่งอาจจะต้องใช้รูปแบบอย่างที่แสดงไว้ในภาพที่ 1 – 2 แผนเรื่องการส่งแมวไปยังอวกาศ Design/build cat space vehicle ออกแบบ/สร้างยานอวกาศสำหรับแมว Test space vehicle ทดสอบยานอวกาศ Study cat in space physiology ศึกษาเกี่ยวกับสภาพร่างกายของแมวเมื่ออยู่ในอวกาศ Recruit/train cat crew จัดหา/ฝึกแมวที่จะขึ้นไปกับยานอวกาศ Build launch/recovery systems สร้างระบบปล่อยยาน/นำยานกลับ Test launch/recovery systems ทดสอบระบบปล่อยยาน/นำยานกลับ Launch/recover cat ส่งแมวขึ้นยาน/นำยานกลับ
วงจรการพัฒนาระบบ (System Development Life Cycle) จัดตั้งทีมงานโครงการ (Staff the project) แผนเรื่องการส่งแมวไปยังอวกาศ Design/build cat space vehicle ออกแบบ/สร้างยานอวกาศสำหรับแมว Test space vehicle ทดสอบยานอวกาศ Study cat in space physiology ศึกษาเกี่ยวกับสภาพร่างกายของแมวเมื่ออยู่ในอวกาศ Recruit/train cat crew จัดหา/ฝึกแมวที่จะขึ้นไปกับยานอวกาศ Build launch/recovery systems สร้างระบบปล่อยยาน/นำยานกลับ Test launch/recovery systems ทดสอบระบบปล่อยยาน/นำยานกลับ Launch/recover cat ส่งแมวขึ้นยาน/นำยานกลับ
วงจรการพัฒนาระบบ (System Development Life Cycle) ระยะที่ 2: การวิเคราะห์ (Analysis Phase) มุ่งเน้นการแก้ปัญหาอะไร : What วัตถุประสงค์หลักของระยะการวิเคราะห์ คือ การรวบรวมความต้องการ (Requirements Gathering) การรวบรวมข้อมูลหรือความต้องการในด้านต่าง ๆ เพื่อสรุปเป็นข้อกำหนด …………………… Business Process Requirements Gathering And Analysis Business Information Business Rules
วงจรการพัฒนาระบบ (System Development Life Cycle) ระยะที่ 2: การวิเคราะห์ (Analysis Phase) การนำข้อกำหนดเหล่านั้นไปพัฒนาเป็นความต้องการของระบบใหม่ โดยใช้การพัฒนาแบบจำลองกระบวนการ ซึ่งเป็นแผนภาพที่ใช้อธิบายถึงกระบวนการที่ต้องทำในระบบว่ามีอะไรบ้าง และพัฒนาแบบจำลองข้อมูล (Data Model) …………………… Analysis
วงจรการพัฒนาระบบ (System Development Life Cycle) ระยะที่ 2: การวิเคราะห์ (Analysis Phase) วิเคราะห์ระบบงานปัจจุบัน รวบรวมความต้องการในด้านต่าง ๆ และนำมาวิเคราะห์เพื่อสรุปเป็นข้อกำหนดที่ชัดเจน นำข้อกำหนดมาพัฒนาออกมาเป็นความต้องการของระบบใหม่ สร้างแบบจำลองกระบวนการของระบบใหม่ด้วยการวาดแผนภาพกระแสข้อมูล (Data Flow Diagram : DFD) สร้างแบบจำลองข้อมูล ด้วยการวาดอีอาร์ไดอะแกรม (Entity Relationship Diagram : ERD)
วงจรการพัฒนาระบบ (System Development Life Cycle) ระยะที่ 3 : การออกแบบ (Design Phase) มุ่งเน้นการแก้ปัญหาอย่างไร : How ออกแบบสถาปัตยกรรมระบบ (Architecture Design) ที่เกี่ยวข้องกับอุปกรณ์ฮาร์ดแวร์ ซอฟต์แวร์ เครือข่าย การออกแบบรายงาน (Output Design) การออกแบบจอภาพเพื่อปฎิสัมพันธ์กับผู้ใช้ (User Interface) ฐานข้อมูล (Database) และ ไฟล์ (File) เป็นต้น ขั้นตอนการนำแบบจำลองลอจิคัลมาผ่านการออกแบบเพื่อพัฒนาเป็นแบบจำลองทางฟิสิคัล Design Logical Model Physical Model
ประเภทของแบบจำลองที่ใช้ในการพัฒนาระบบสารสนเทศ คือ แบบจำลองเชิงตรรกะ (Logical Model) เป็นแบบจำลองที่อธิบายการดำเนินงานในระบบว่ามีการทำงานและความต้องการใดบ้าง โดยไม่คำนึงถึงเทคโนโลยี หรือโปรแกรมภาษาใด ๆ ที่นำมาติดตั้งใช้งาน แบบจำลองเชิงกายภาพ (Physical Model) เป็นแบบจำลองที่นอกจากจะอธิบายการดำเนินงานของระบบว่าทำงานอะไรแล้ว ยังอธิบายว่ามีการดำเนินงานอย่างไร นอกจากนี้ยังมีการแสดงถึงประสิทธิภาพของเทคโนโลยีที่เลือกมาติดตั้งใช้งานเพื่อสนองความต้องการ และแสดงข้อจำกัดของเทคโนโลยีนั้น ๆ ด้วย
ความแตกต่างระหว่าง Physical กับ Logical ความแตกต่างระหว่าง Physical กับ Logical นั้น อาจทำให้เกิดความสับสน ดังนั้นจึงขอยกตัวอย่างการ เปรียบเทียบระหว่าง Physical และ Logical ดังนี้ สมมติว่าไปซื้อสินค้าที่ห้างสรรพสินค้า เมื่อซื้อสินค้าได้ครบตามที่ต้องการแล้ว เราก็จะไป “ชำระเงิน” การชำระเงินนี้ถือเป็น “Logical” แต่การชำระเงินยังสามารถชำระด้วยเงินสดหรือบัตรเครดิตรายละเอียดตรงนี้เรียกว่า “Physical” นั่นหมายความว่าLogical จะไม่เน้นรายละเอียด
วงจรการพัฒนาระบบ (System Development Life Cycle) ระยะที่ 4 : การนำไปใช้ (Implementation Phase) สร้างระบบขึ้นมาด้วยการเขียนโปรแกรม (Construct software components) ตรวจสอบความถูกต้องและดำเนินการทดสอบระบบ (Verify and test) แปลงข้อมูล (Convert Data) ติดตั้งระบบ (Install the system) และจัดทำคู่มือเอกสาร (Document the system) ฝึกอบรมผู้ใช้ (Train users) และประเมินผลระบบใหม่ (Evaluation)
วงจรการพัฒนาระบบ (System Development Life Cycle) ระยะที่ 4 : การนำไปใช้ (Implementation Phase) Coding/Testing Implement Implement Model Physical Model
วงจรการพัฒนาระบบ (System Development Life Cycle) ระยะที่ 5 : การบำรุงรักษา (Maintenance Phase) การบำรุงรักษาระบบ (Maintain the system) การเพิ่มเติมคุณสมบัติใหม่ ๆ เข้าไปในระบบ (Enhance the System) การสนับสนุนงานของผู้ใช้ (Support the users)
วงจรการพัฒนาระบบ (System Development Life Cycle) การบำรุงรักษาระบบ (Maintain the system) ได้แก่ การแก้ไขโปรแกรมหลังจากการใช้งานแล้ว สาเหตุที่ต้องแก้ไขโปรแกรมหลังจากใช้งานแล้ว ส่วนใหญ่มี 2 ข้อ คือ 1. มีปัญหาในโปรแกรม (Bug) และ 2. การดำเนินงานในองค์กรหรือธุรกิจเปลี่ยนไป ดังนั้นนักวิเคราะห์ระบบควรให้ความสำคัญกับการบำรุงรักษา ซึ่งปกติจะคิดว่าไม่มีความสำคัญมากนัก เมื่อธุรกิจขยายตัวมากขึ้น ความต้องการของระบบอาจจะเพิ่มมากขึ้น เช่น ต้องการ รายงานเพิ่มขึ้น ระบบที่ดีควรจะแก้ไขเพิ่มเติมสิ่งที่ต้องการได้ การบำรุงรักษาระบบ ควรจะอยู่ภายใต้การดูแลของนักวิเคราะห์ระบบ เมื่อผู้บริหารต้องการแก้ไขส่วนใด นักวิเคราะห์ระบบต้องเตรียมแผนภาพต่าง ๆ และศึกษาผลกระทบต่อระบบ และให้ผู้บริหารตัดสินใจต่อไปว่าควรจะแก้ไขหรือไม่
Q & A