วิธีการพัฒนาระบบสารสนเทศ

นักวิชาการหลายคน (ศรีไพร ศักดิ์รุ่งพงศากุล, 2549 : 321-328 ; พรรณี สวนเพลง, 2552 : 309-316 ) ได้อธิบายถึงวิธีการพัฒนาระบบสารสนเทศ ไว้ดังนี้
  1. การพัฒนาระบบงานแบบดั้งเดิม (Traditional SDLC Methodology) เป็นการพัฒนาระบบสารสนเทศตามวงจรการพัฒนาระบบ เป็นวิธีที่เก่าแก่ที่สุดเรียกย่อๆ ว่า เอสดีแอลซี (SDLC) และยังเป็นวิธีที่ใช้กันอยู่ ซึ่งมักจะนำมาใช้กับการพัฒนาระบบสารสนเทศที่มีขนาดกลางจนถึงขนาดใหญ่ที่มีความซับซ้อน วิธีนี้จะใช้เวลานาน ค่าใช้จ่ายสูงและขาดความยืดหยุ่นต่อการเปลี่ยนแปลง
  2. การสร้างต้นแบบ (Prototyping) เป็นการสร้างต้นแบบขึ้นมาเพื่อให้ผู้ใช้ทดลองใช้งานซึ่งนอกจากผู้ใช้จะได้แนวคิดเกี่ยวกับสารสนเทศที่ต้องการแล้วยังช่วยให้มองเห็นภาพของระบบที่จะพัฒนาได้อย่างชัดเจน การพัฒนาระบบโดยการสร้างต้นแบบนี้ แบ่งออกเป็น 4 ขั้นตอน ได้แก่
    1. ขั้นที่ 1 ระบุความต้องการเบื้องต้นของผู้ใช้ ผู้ออกแบบระบบทำการศึกษาและรวบรวมความต้องการสารสนเทศเบื้องต้นของผู้ใช้
    2. ขั้นที่ 2 พัฒนาต้นแบบเริ่มแรก ผู้ออกแบบระบบทำการสร้างต้นแบบโดยทั่วไปจะใช้เครื่องมือซอฟต์แวร์ยุคที่ 4 (4GL) เพื่อช่วยในการสร้างระบบให้เร็วขึ้น
    3. ขั้นที่ 3 นำต้นแบบมาใช้ ผู้ใช้จะได้รับการสนับสนุนให้ทดลองใช้ต้นแบบเพื่อประเมินว่าต้นแบบสามารถทำงานได้ตามที่ผู้ใช้ต้องการเพียงใด ซึ่งผู้ใช้อาจให้ข้อคิดเห็นหรือข้อเสนอแนะเพิ่มเติมเพื่อนำมาปรับปรุงต้นแบบต่อไป
    4. ขั้นที่ 4 ปรับปรุงแก้ไขต้นแบบ นำข้อคิดเห็นหรือข้อเสนอแนะมาปรับปรุงแก้ไขต้นแบบ และนำเสนอผู้ใช้ซึ่งเป็นการวนกลับไปในขั้นตอนที่ 3 จนกระทั่งต้นแบบนั้นได้รับการยอมรับจากผู้ใช้ ดังแสดงไว้ในภาพที่ 2.18
  3. การพัฒนาระบบโดยผู้ใช้ (End-user Development) ปัจจุบันผู้ใช้มีความรู้และทักษะเกี่ยวกับคอมพิวเตอร์มากขึ้น และมีเครื่องมือต่างๆ ที่ช่วยให้ผู้ใช้สามารถพัฒนาระบบด้วยตนเองได้ ซึ่งการพัฒนาระบบสารสนเทศโดยผู้ใช้นี้อาจไม่จำเป็นต้องรับความช่วยเหลือจากผู้เชี่ยวชาญทางเทคนิค หรืออาจจะได้รับบ้างอย่างไม่เป็นทางการ แต่ผู้ใช้จะทำกิจกรรมในการพัฒนาระบบเอง
  4. การใช้บริการจากแหล่งภายนอก (Outsourcing) ในกรณีที่องค์กรไม่ต้องการใช้ทรัพยากรขององค์กร หรือไม่มีบุคลากรที่มีทักษะและความชำนาญในการสร้างและดำเนินการระบบสารสนเทศ ก็สามารถเลือกวิธีการจ้างหน่วยงานหรือบริษัทภายนอก (Outsourcer) ที่มีความชำนาญด้านนี้มาทำการพัฒนาระบบให้ การจ้างแหล่งภายนอกนี้เป็นทางเลือกในการบริหารจัดการด้านเทคโนโลยีสารสนเทศที่ได้รับความนิยมมาก 
  5. การใช้ซอฟต์แวร์สำเร็จรูป (Application Software Package) ซอฟต์แวร์สำเร็จรูปประยุกต์เป็นทางเลือกหนึ่งในการพัฒนาระบบสารสนเทศ ในองค์กรต่างๆ จะมีงานส่วนหนึ่งที่มีขั้นตอนการทำงานเป็นมาตรฐานหรือคล้ายกัน เช่น ระบบงานเงินเดือน ระบบบัญชีลูกหนี้ หรือระบบควบคุมสินค้าคงคลัง เป็นต้น ซอฟต์แวร์สำเร็จรูปสำหรับงานทั่วๆ ไป นี้สามารถสนองต่อความต้องการระบบงานขององค์กรได้ องค์กรไม่จำเป็นต้องพัฒนาขึ้นมาเอง สามารถซื้อหรือเช่าซอฟต์แวร์สำเร็จรูปประยุกต์มาใช้งานได้ เนื่องจากซอฟต์แวร์สำเร็จรูปได้รับการออกแบบและผ่านการทดสอบแล้ว จึงช่วยลดค่าใช้จ่ายและเวลาในพัฒนาระบบใหม่ลงมาก และยังช่วยให้การทดสอบการติดตั้ง และการบำรุงรักษาระบบเป็นไปได้ง่ายขึ้น




สรุปแล้ววงจรการพัฒนาระบบ (System Development Life Cycle : SDLC) ประกอบด้วยขั้นตอนในการพัฒนา 6 ขั้นตอน ได้แก่ การกำหนดและเลือกสรรโครงการ การเริ่มต้นและวางแผนโครงการ การวิเคราะห์ระบบ การออกแบบระบบ การดำเนินการระบบ และการบำรุงรักษาระบบ โดยมีรูปแบบวงจรการพัฒนาระบบที่สำคัญ ได้แก่ รูปแบบน้ำตก รูปแบบวิวัฒนาการ รูปแบบค่อยเป็นค่อยไป รูปแบบเกลียว เป็นต้น ส่วนวิธีการพัฒนาระบบสารสนเทศนั้น ก็มีหลายวิธีเช่นกัน ได้แก่ การพัฒนาระบบงานแบบดั้งเดิม การสร้างต้นแบบ การพัฒนาระบบโดยผู้ใช้ การใช้บริการจากแหล่งภายนอก การใช้ซอฟต์แวร์สำเร็จรูป ในการพัฒนาระบบสารสนเทศนั้น ผู้พัฒนาควรยึดหลักการดำเนินพัฒนาตามขั้นตอนการพัฒนาทั้ง 6 ขั้นตอนเป็นสำคัญเพื่อป้องกันความสับสน ส่วนรูปแบบวงจรหรือวิธีการพัฒนาระบบสารสนเทศนั้น ผู้พัฒนาจะต้องเลือกให้เหมาะสมกับระบบสารสนเทศที่จะทำการพัฒนานั้น ๆ เพราะรูปแบบวงจรและวิธีการพัฒนา แต่ละแบบจะมีข้อดี ข้อเสีย และข้อจำกัดแตกต่างกันไป

*************************************

รูปแบบวงจรการพัฒนาระบบ

รูปแบบวงจรการพัฒนาระบบมีการคิดค้นและพัฒนาขึ้นอย่างหลากหลาย (ศรีไพร ศักดิ์รุ่งพงศากุล, 2549 : 308-320 ; ณัฎฐพันธ์ เขจรนันทน์, 2551 : 68-72 ; พรรณี สวนเพลง, 2552 : 303-308) ได้อธิบายถึงรูปแบบวงจรการพัฒนาระบบบางรูปแบบ ไว้ดังต่อไปนี้

1.รูปแบบน้ำตก (Waterfall Model) เป็นรูปแบบที่นิยมมานานตั้งแต่อดีตจนถึงปัจจุบัน มีหลักการเสมือนกับน้ำตกซึ่งไหลจากที่สูงลงที่ต่ำ เมื่อในอดีตในแต่ละขั้นตอนไม่สามารถย้อนกลับได้จึงเป็นจุดอ่อน จนปัจจุบันขั้นตอนการทำงานสามารถที่จะวนหรือย้อนกลับ (Iteration) ไปแก้ไขได้ หรือที่เรียกว่า Adapted Waterfall Model ดังภาพที่ 2.14


2.รูปแบบวิวัฒนาการ (Evolutionary Model) วงจรการพัฒนาระบบในรูปแบบวิวัฒนาการมีแนวความคิดที่เกิดมาจากทฤษฎีวิวัฒนาการ โดยจะพัฒนาระบบจนเสร็จสิ้นสมบูรณ์ในเวอร์ชั่น (Version) แรกก่อน จากนั้นจึงพิจารณาข้อดีและข้อเสียของระบบ หาข้อผิดพลาดโดยการทดสอบและประเมินระบบ จากนั้นจึงเริ่มกระบวนการพัฒนาระบบใหม่จนได้ระบบงานในเวอร์ชั่นที่ 2 เวอร์ชั่นที่ 3 เวอร์ชั่นที่ 4 และเวอร์ชั่นต่อๆ ไป จนกว่าจะได้ระบบที่สมบูรณ์ที่สุด แต่ต้องมีการวางแผนกำหนดจำนวนเวอร์ชั่นตั้งแต่เริ่มโครงการพัฒนาระบบให้ชัดเจน ดังภาพที่ 2.15



3.รูปแบบค่อยเป็นค่อยไป (Incremental Model) วงจรการพัฒนาระบบในรูปแบบค่อยเป็นค่อยไปมีลักษณะคล้ายคลึงกับรูปแบบวิวัฒนาการ แต่มีข้อแตกต่างกันตรงที่ระบบที่ได้ในแต่ละช่วง เนื่องจากระบบที่เกิดขึ้นในการพัฒนาขั้นแรกนั้นจะยังไม่ใช่ระบบที่สมบูรณ์ แต่เป็นระบบเพียงส่วนแรกเท่านั้นจากระบบที่ต้องการทั้งหมด จนเมื่อมีการพัฒนาในขั้นตอนที่ 2 จึงได้ระบบที่มีส่วนที่ 2 เพิ่มเติมเข้าไป และจะมีการเพิ่มส่วนอื่นๆ เข้าไปจนครบทุกส่วน จนกลายเป็นระบบที่สมบูรณ์ที่สุด เหมาะสมกับการพัฒนาระบบที่มีงานหลายส่วนและมีความเกี่ยวเนื่องกัน ดังภาพที่ 2.16



4.รูปแบบเกลียว (Spiral Model) วงจรการพัฒนาระบบในรูปแบบเกลียวจะมีลักษณะที่กระบวนการวิเคราะห์ ออกแบบ และพัฒนา จะวนกลับมาในแนวทางเช่นเดิมเช่นนี้ไปเรื่อยๆ จนกระทั่งได้ระบบที่สมบูรณ์ การพัฒนาระบบงานด้วยวงจรการพัฒนาในรูปแบบนี้มีความยืดหยุ่นมากที่สุด เนื่องจากกระบวนการทำงานใน 1 รอบไม่จำเป็นต้องได้ระบบ และระยะเวลาแต่ละขั้นตอนในแต่ละรอบนั้นจะใช้เวลาเท่าใดก็ได้ ไม่จำเป็นต้องเท่ากันในทุกๆ รอบ และถ้าหากไม่มีความจำเป็น บางขั้นตอนอาจจะถูกข้ามไปก็ได้ ดังภาพที่ 2.17


******************************

วงจรการพัฒนาระบบสารสนเทศ

วงจรการพัฒนาระบบ (System Development Life Cycle ; SDLC) คือ กระบวนการทางความคิดในการพัฒนาระบบสารสนเทศเพื่อแก้ปัญหาทางธุรกิจ และตอบสนองความต้องการของผู้ใช้ ขั้นตอนในการพัฒนาระบบแบ่งออกได้เป็น 6 ขั้นตอน (พรรณี สวนเพลง, 2552 : 294-303 ; ศรีไพร ศักดิ์รุ่งพงศากุล, 2549 : 308-320) คือ 
  1. การกำหนดและเลือกสรรโครงการ (System Identification and Selection) โดยกำหนดปัญหาที่ต้องการจะพัฒนา ดำเนินการตั้งกลุ่มอาจจะอยู่ในรูปคณะกรรมการเพื่อทำหน้าที่ในการพัฒนาโครงการ โดยเลือกโครงการที่เหมาะสม คณะกรรมการควรประกอบด้วยผู้บริหารระดับสูงขององค์กร ผู้บริหารหน่วยงานต่างๆ ในองค์กร ผู้บริหารของหน่วยงานที่ต้องการให้มีระบบ และผู้บริหารหน่วยงานเทคโนโลยีสารสนเทศขององค์กร 
  2. การเริ่มต้นและวางแผนโครงการ (System Initiation and Planning) หลังจากที่ได้เลือกโครงการและได้รับการอนุมัติโครงการแล้ว เริ่มจัดตั้งคณะทำงาน ผลลัพธ์ที่จะได้ในขั้นนี้คือ แผนงานของโครงการ และรายงานการสำรวจเบื้องต้น โดยมีขั้นตอนย่อยๆ ดังนี้
    1. การศึกษาความเป็นไปได้ (Feasibility Study) เป็นการพิจารณาถึงความเหมาะสมในการนำระบบมาใช้งาน และประเมินความคุ้มค่า หรือผลประโยชน์ที่คาดว่าจะได้รับ เปรียบกับค่าใช้จ่ายในการพัฒนาระบบ โดยอย่างน้อยควรศึกษาใน 4 ด้านคือ ความเป็นได้ทางเทคนิค (Technical Feasibility) ความเป็นไปได้ในด้านการปฏิบัติงาน (Operation Feasibility) ความเป็นไปได้ด้านระยะเวลาดำเนินงาน (Schedule Feasibility) และความเป็นไปได้ด้านการเงิน (Economical Feasibility)
    2. การพิจารณาผลประโยชน์หรือผลตอบแทนที่จะได้รับ โดยแบ่งออกเป็น 2 ประเภท คือ ผลประโยชน์ที่สามารถวัดค่าได้ (Tangible Benefits) และผลประโยชน์ที่ไม่สามารถวัดค่าได้ (Intangible Benefits) 
    3. พิจารณาค่าใช้จ่ายต้นหรือต้นทุนของโครงการ โดยแบ่งออกเป็น 2 ประเภทเช่นกัน คือ ต้นทุนที่สามารถวัดค่าได้ (Tangible Costs) และต้นทุนที่ไม่สามารถวัดค่าได้ (Intangible Costs) นอกจากนั้นต้นทุนยังสามารถจำแนกได้อีกหลายแบบ เช่น ต้นทุนที่เกิดครั้งเดียว ต้นทุนที่เกิดซ้ำ ต้นทุนคงที่ และต้นทุนผันแปร เป็นต้น
    4. การวิเคราะห์ความคุ้มค่าของการพัฒนาระบบสารสนเทศ ซึ่งสามารถวิเคราะห์ได้หลายวิธี ได้แก่ วิธีมูลค่าปัจจุบันสุทธิ วิธีดัชนีผลกำไร อัตราผลตอบแทนจากการลงทุน การวิเคราะห์จุดคุ้มทุน
  3. การวิเคราะห์ระบบ (System Analysis) เพื่อทำความเข้าใจกับระบบงานปัจจุบัน ใช้เป็นแนวทางในการออกแบบระบบใหม่ ขั้นตอนนี้จะเกี่ยวข้องกับกระบวนการเก็บรวบรวมข้อมูล การวิเคราะห์ข้อมูลที่ได้รวบรวมมา การวิเคราะห์กระบวนการต่างๆ ในระบบ การวิเคราะห์ลักษณะของผลลัพธ์และสิ่งนำเข้า เพื่อศึกษาถึงการทำงานของระบบปัจจุบัน และวิเคราะห์ว่ามีงานใดบ้างที่มีปัญหาเกิดขึ้น ควรจะปรับปรุงหรือมีแนวทางในการแก้ปัญหาอย่างไร สำหรับเทคนิคการรวบรวมข้อมูล มีหลายวิธี อาทิ การวิเคราะห์รายละเอียดของงาน การพัฒนาร่วมกัน และสร้างต้นแบบ เป็นต้น
  4. การออกแบบระบบ (System Design) มีวัตถุประสงค์เพื่อออกแบบระบบให้เข้ากับความต้องการของระบบใหม่ตามที่ได้มีการวิเคราะห์ไว้แล้ว โดยนักวิเคราะห์ระบบจะต้องออกแบบส่วนนำเข้าข้อมูลเข้าสู่ระบบ ผลลัพธ์ที่ได้จากระบบ ฐานข้อมูล โปรแกรม ระบบปฏิบัติการ กระบวนการทำงาน เครือข่าย และออกแบบวิธีการที่จะทำให้ผู้ใช้มั่นใจได้ว่า ระบบมีความถูกต้อง เชื่อถือได้ และปลอดภัย โดยทั่วไป การออกแบบจะแบ่งเป็น 2 ส่วน คือ การออกแบบเชิงตรรกะ (Logical Design) และการออกแบบเชิงกายภาพ (Physical Design) 
  5. การดำเนินการระบบ (System Implementation) มีวัตถุประสงค์เพื่อสร้างระบบและติดตั้งระบบ ซึ่งจะครอบคลุมกิจกรรมต่างๆ ดังนี้
    1. การจัดซื้อหรือจัดหาฮาร์ดแวร์และซอฟต์แวร์ที่เกี่ยวข้อง
    2. เขียนโปรแกรมด้วยโปรแกรมเมอร์ หรือการจัดหาโปรแกรมสำเร็จรูปมาใช้งาน
    3. ทำการทดสอบ โดยก่อนที่จะนำระบบไปใช้งานจะต้องทำการทดสอบในทุกๆ ด้าน เพื่อให้แน่ใจว่าระบบที่พัฒนาขึ้นมานั้น สามารถทำงานได้อย่างถูกต้องตามต้องการ โดยทำการทดสอบว่า มีความถูกต้องสมบูรณ์หรือไม่ การทดสอบรวม การทดสอบทั้งระบบ การทดสอบการยอมรับระบบ
    4. การจัดทำเอกสารระบบ ซึ่งมีความสำคัญต่อการปฏิบัติงานและดูแลรักษาระบบ เช่น เอกสารคู่มือและระบบโปรแกรม คู่มือการปฏิบัติงาน คู่มือผู้ใช้ เป็นต้น
    5. การถ่ายโอนระบบงาน เป็นการเปลี่ยนจากระบบงานเก่าเป็นระบบงานใหม่ โดยสามารถทำได้ 4 แนวทาง คือ ถ่ายโอนแบบขนาน ถ่ายโอนแบบทันที การใช้ระบบทดลอง และการถ่ายโอนทีละขั้น
    6. ฝึกอบรมผู้ใช้ระบบ ก่อนเริ่มใช้งาน ควรทำการฝึกอบรมผู้ใช้ เพื่อให้ผู้ใช้มีความรู้ความเข้าใจในขั้นตอนการทำงาน และช่วยให้สามารถใช้ระบบเป็น และใช้ได้อย่างมีประสิทธิภาพ
  6. การบำรุงรักษาระบบ (System Maintenance) เป็นขั้นตอนการดูแลระบบ เพื่อให้ระบบมีประสิทธิภาพในการทำงาน โดยบุคลากรทางด้านเทคโนโลยีสารสนเทศมีหน้าที่ในส่วนนี้ การบำรุงรักษาระบบอาจอยู่ในรูปแบบของการแก้ไขข้อผิดพลาดของโปรแกรม การปรับปรุง หรือแก้ไขโปรแกรมให้รองรับกับความต้องการใหม่ๆ ที่เพิ่มขึ้นของผู้ใช้ระบบ หรือเพื่อเพิ่มประสิทธิภาพให้กับระบบ การบำรุงรักษาระบบนี้ สามารถแบ่งได้ 4 ประเภท คือ 
    1. การบำรุงรักษาระบบเพื่อแก้ไขข้อผิดพลาดให้ถูกต้อง
    2. การบำรุงรักษาระบบเพื่อให้สามารถรองรับความต้องการที่เพิ่มขึ้น 
    3. การบำรุงรักษาระบบเพื่อให้ระบบสามารถทำงานได้อย่างมีประสิทธิภาพเพิ่มขึ้น
    4. การบำรุงรักษาระบบเพื่อป้องกันข้อผิดพลาดที่อาจเกิดขึ้นในอนาคต
ระยะของการบำรุงรักษาระบบนั้น จะมีเวลายาวนานเท่าใดขึ้นอยู่กับหลายปัจจัย อาทิ ระบบล้าสมัย และไม่สามารถให้ผลลัพธ์ตามที่ผู้ใช้ระบบต้องการใช้ เทคโนโลยีเก่าทำให้มีค่าใช้จ่ายในการบำรุงรักษาทั้งฮาร์ดแวร์และซอฟต์แวร์สูงเพิ่มขึ้นเรื่อยๆ รวมถึงการเปลี่ยนแปลงทางเศรษฐกิจและสภาพแวดล้อม ทำให้ต้องปรับปรุงแก้ไขระบบเดิมอย่างมาก เนื่องจากระบบงานเดิมที่ใช้อยู่ไม่สามารถตอบสนองความต้องการของผู้ใช้ระบบได้ต่อไป จึงมีการนำเสนอโครงการด้านสารสนเทศใหม่เพื่อทดแทนระบบเดิม และเป็นการวนกลับไปเริ่มต้นวงจรพัฒนาระบบใหม่ ดังแสดงในภาพประกอบที่ 2.13


***********************