วันเสาร์ที่ 17 มีนาคม พ.ศ. 2555

วงจรการพัฒนาระบบ (System Development Life Cycle :SDLC)

วัฎจักรการพัฒนาระบบงาน (System development Life Cycle : SDLC
                       ในการพัฒนาระบบสารสนเทศในองค์กรจะต้องมีการวิเคราะห์กระบวนการทํางานขององค์กร เราเรียกว่า System development Life Cycle (SDLC) การพัฒนาระบบในองค์กรเป็นหน้าที่ของนักวิเคราะห์ระบบที่จะต้องทําการติดต่อกับหน่วยงานที่ต้องการพัฒนาระบบสารสนเทศ ว่าการทํางานมีองค์ประกอบอะไรบ้าง เช่นขนาดขององค์กร รายละเอียดการทํางาน ถ้าเป็นบริษัทขนาดใหญ่นักวิเคราะห์จะต้องเข้าใจให้ชัดเจนเกี่ยวกับมาตรฐานการทํางาน กระบวนการทํางาน

 
            
                    วัฎจักรการพัฒนาระบบงาน (System development Life Cycle : SDLC) หมายถึง ขั้นตอนหรือกระบวนการในการพัฒนาระบบงาน ซึ่งมีจุดเริ่มต้นในการทํางานและจุดสิ้นสุดของการปฏิบัติงาน
             
               การพัฒนาซอฟต์แวร์ ตามปกติแล้วจะประกอบไปด้วยกลุ่มกิจกรรม 3 ส่วนหลักๆ ด้วยกัน คือ การวิเคราะห์ (Analysis), การออกแบบ (Design) และการนำไปใช้ (Implementation) ซึ่งกิจกรรมทั้งสามนี้สามารถใช้งานได้ดีกับโครงการซอฟต์แวร์ขนาดเล็ก ในขณะที่โครงการซอฟต์แวร์ขนาดใหญ่ มักจำเป็นต้องใช้แบบแผนการพัฒนาซอฟต์แวร์ตามแนวทางของ SDLC จนครบทุกกิจกรรม
วงจรการพัฒนาระบบ (System Development Life Cycle :SDLC)ระบบสารสนเทศทั้งหลายมีวงจรชีวิตที่เหมือนกันตั้งแต่เกิดจนตายวงจรนี้จะเป็นขั้นตอน ที่เป็นลำดับตั้งแต่ต้นจนเสร็จเรียบร้อย เป็นระบบที่ใช้งานได้ ซึ่งนักวิเคราะห์ระบบต้องทำความเข้าใจให้ดีว่าในแต่ละขั้นตอนจะต้องทำอะไร และทำอย่างไร ขั้นตอนการพัฒนาระบบมีอยู่ด้วยกัน 7 ขั้น ด้วยกัน คือ
1. เข้าใจปัญหา (Problem Recognition)
2. ศึกษาความเป็นไปได้ (
Feasibility Study)
3. วิเคราะห์ (
Analysis)
4. ออกแบบ (
Design)
5. สร้างหรือพัฒนาระบบ (
Construction)
6. การปรับเปลี่ยน (
Conversion)
7. บำรุงรักษา (
Maintenance)
ขั้นที่ 1 : เข้าใจปัญหา (Problem Recognition)
ระบบสารสนเทศจะเกิดขึ้นได้ก็ต่อเมื่อผู้บริหารหรือผู้ใช้ตระหนักว่า ต้องการระบบสารสนเทศหรือระบบจัดการเดิม ได้แก่ระบบเอกสารในตู้เอกสาร ไม่มีประสิทธิภาพเพียงพอที่ตอบสนองความต้องการในปัจจุบัน
ปัจจุบันผู้บริหารตื่นตัวกันมากที่จะให้มีการพัฒนาระบบสารสนเทศมาใช้ในหน่วยงานของตน ในงานธุรกิจ อุตสาหกรรม หรือใช้ในการผลิต ตัวอย่างเช่น บริษัทของเรา จำกัด ติดต่อซื้อสินค้าจากผู้ขายหลายบริษัท ซึ่งบริษัทของเราจะมีระบบ MIS ที่เก็บข้อมูลเกี่ยวกับหนี้สินที่บริษัทขอเราติดค้างผู้ขายอยู่ แต่ระบบเก็บข้อมูลผู้ขายได้เพียง 1,000 รายเท่านั้น แต่ปัจจุบันผู้ขายมีระบบเก็บข้อมูลถึง 900 ราย และอนาคตอันใกล้นี้จะเกิน 1,000 ราย ดังนั้นฝ่ายบริหารจึงเรียกนักวิเคราะห์ระบบเข้ามาศึกษา แก้ไขระบบงาน
ปัญหาที่สำคัญของระบบสารสนเทศในปัจจุบัน คือ ระบบเขียนมานานแล้ว ส่วนใหญ่เขียนมาเพื่อติดตามเรื่องการเงิน ไม่ได้มีจุดประสงค์เพื่อให้ข้อมูลข่าวสารในการตัดสินใจ แต่ปัจจุบันฝ่าย บริหารต้องการดูสถิติการขายเพื่อใช้ในการคาดคะเนในอนาคต หรือความต้องการอื่นๆ เช่น สินค้าที่มียอดขายสูง หรือสินค้าที่ลูกค้าต้องการสูง หรือการแยกประเภทสินค้าต่างๆที่ทำได้ไม่ง่ายนัก
การที่จะแก้ไขระบบเดิมที่มีอยู่แล้วไม่ใช่เรื่องที่ง่ายนัก หรือแม้แต่การสร้างระบบใหม่ ดังนั้นควรจะมีการศึกษาเสียก่อนว่า ความต้องการของเราเพียงพอที่เป็นไปได้หรือไม่ ได้แก่ "การศึกษาความเป็นไปได้" (Feasibility Study)
สรุป ขั้นตอนที่ 1: เข้าใจปัญหา
หน้าที่
: ตระหนักว่ามีปัญหาในระบบ
ผลลัพธ์ : อนุมัติการศึกษาความเป็นไปได้
เครื่องมือ : ไม่มี
บุคลากรและหน้าที่ความรับผิดชอบ : ผู้ใช้หรือผู้บริหารชี้แจงปัญหาต่อนักวิเคราะห์ระบบ
ขั้นตอนที่ 2 : ศึกษาความเป็นไปได้ (Feasibility Study)จุดประสงค์ของการศึกษาความเป็นไปได้ก็คือ การกำหนดว่าปัญหาคืออะไรและตัดสินใจว่าการพัฒนาสร้างระบบสารสนเทศ หรือการแก้ไขระบบสารสนเทศเดิมมีความเป็นไปได้หรือไม่โดยเสียค่าใช้จ่ายและเวลาน้อยที่สุด และได้ผลเป็นที่น่าพอใจ
ปัญหาต่อไปคือ นักวิเคราะห์ระบบจะต้องกำหนดให้ได้ว่าการแก้ไขปัญหาดังกล่าวมีความเป็นไปได้ทางเทคนิคและบุคลากร ปัญหาทางเทคนิคก็จะเกี่ยวข้องกับเรื่องคอมพิวเตอร์ และเครื่องมือเก่าๆถ้ามี รวมทั้งเครื่องคอมพิวเตอร์ซอฟต์แวร์ด้วย ตัวอย่างคือ คอมพิวเตอร์ที่ใช้อยู่ในบริษัทเพียงพอหรือไม่ คอมพิวเตอร์อาจจะมีเนื้อที่ของฮาร์ดดิสก์ไม่เพียงพอ รวมทั้งซอฟต์แวร์ ว่าอาจจะต้องซื้อใหม่ หรือพัฒนาขึ้นใหม่ เป็นต้น ความเป็นไปได้ทางด้านบุคลากร คือ บริษัทมีบุคคลที่เหมาะสมที่จะพัฒนาและติดตั้งระบบเพียงพอหรือไม่ ถ้าไม่มีจะหาได้หรือไม่ จากที่ใด เป็นต้น นอกจากนั้นควรจะให้ความสนใจว่าผู้ใช้ระบบมีความคิดเห็นอย่างไรกับการเปลี่ยนแปลง รวมทั้งความเห็นของผู้บริหารด้วย
หน้าที่ : กำหนดปัญหา และศึกษาว่าเป็นไปได้หรือไม่ที่จะเปลี่ยนแปลงระบบ
ผลลัพธ์ : รายงานความเป็นไปได้
เครื่องมือ : เก็บรวบรวมข้อมูลของระบบและคาดคะเนความต้องการของระบบ
บุคลากรและหน้าที่ความรับผิดชอบ : ผู้ใช้จะมีบทบาทสำคัญในการศึกษา
1. นักวิเคราะห์ระบบจะเก็บรวบรวมข้อมูลทั้งหมดที่จำเป็นทั้งหมดเกี่ยวกับปัญหา
2. นักวิเคราะห์ระบบคาดคะเนความต้องการของระบบและแนวทางการแก้ปัญหา
3. นักวิเคราะห์ระบบ กำหนดความต้องการที่แน่ชัดซึ่งจะใช้สำหรับขั้นตอนการวิเคราะห์ต่อไป
4. ผู้บริหารตัดสินใจว่าจะดำเนินโครงการต่อไปหรือไม่
ขั้นตอนที่ 3 การวิเคราะห์ (Analysis)เริ่มเข้าสู่การวิเคราะห์ระบบ การวิเคราะห์ระบบเริ่มตั้งแต่การศึกษาระบบการทำงานของธุรกิจนั้น ในกรณีที่ระบบเราศึกษานั้นเป็นระบบสารสนเทศอยู่แล้วจะต้องศึกษาว่าทำงานอย่างไร เพราะเป็นการยากที่จะออกแบบระบบใหม่โดยที่ไม่ทราบว่าระบบเดิมทำงานอย่างไร หรือธุรกิจดำเนินการอย่างไร หลังจากนั้นกำหนดความต้องการของระบบใหม่ ซึ่งนักวิเคราะห์ระบบจะต้องใช้เทคนิคในการเก็บข้อมูล (Fact-Gathering Techniques) ดังรูป ได้แก่ ศึกษาเอกสารที่มีอยู่ ตรวจสอบวิธีการทำงานในปัจจุบัน สัมภาษณ์ผู้ใช้และผู้จัดการที่มีส่วนเกี่ยวข้องกับระบบ เอกสารที่มีอยู่ได้แก่ คู่มือการใช้งาน แผนผังใช้งานขององค์กร รายงานต่างๆที่หมุนเวียนใน ระบบการศึกษาวิธีการทำงานในปัจจุบันจะทำให้นักวิเคราะห์ระบบรู้ว่าระบบจริงๆทำงานอย่างไร ซึ่งบางครั้งค้นพบข้อผิดพลาดได้ ตัวอย่าง เช่น เมื่อบริษัทได้รับใบเรียกเก็บเงินจะมีขั้นตอนอย่างไรในการจ่ายเงิน ขั้นตอนที่เสมียนป้อนใบเรียกเก็บเงินอย่างไร เฝ้าสังเกตการทำงานของผู้เกี่ยวข้อง เพื่อให้เข้าใจและเห็นจริงๆ ว่าขั้นตอนการทำงานเป็นอย่างไร ซึ่งจะทำให้นักวิเคราะห์ระบบค้นพบจุดสำคัญของระบบว่าอยู่ที่ใด
การสัมภาษณ์เป็นศิลปะอย่างหนึ่งที่นักวิเคราะห์ระบบควรจะต้องมีเพื่อเข้ากับผู้ใช้ได้ง่าย และสามารถดึงสิ่งที่ต้องการจากผู้ใช้ได้ เพราะว่าความต้องการของระบบคือ สิ่งสำคัญที่จะใช้ในการออกแบบต่อไป ถ้าเราสามารถกำหนดความต้องการได้ถูกต้อง การพัฒนาระบบในขั้นตอนต่อไปก็จะง่ายขึ้น เมื่อเก็บรวบรวมข้อมูลแล้วจะนำมาเขียนรวมเป็นรายงานการทำงานของ ระบบซึ่งควรแสดงหรือเขียนออกมาเป็นรูปแทนที่จะร่ายยาวออกมาเป็นตัวหนังสือ การแสดงแผนภาพจะทำให้เราเข้าใจได้ดีและง่ายขึ้น หลังจากนั้นนักวิเคราะห์ระบบ อาจจะนำข้อมูลที่รวบรวมได้นำมาเขียนเป็น "แบบทดลอง" (Prototype) หรือตัวต้นแบบ แบบทดลองจะเขียนขึ้นด้วยภาษาคอมพิวเตอร์ต่างๆ และที่ช่วยให้ง่ายขึ้นได้แก่ ภาษายุคที่ 4 (Fourth Generation Language) เป็นการสร้างโปรแกรมคอมพิวเตอร์ขึ้นมาเพื่อใช้งานตามที่เราต้องการได้ ดังนั้นแบบทดลองจึงช่วยลดข้อผิดพลาดที่อาจจะเกิดขึ้นได้
เมื่อจบขั้นตอนการวิเคราะห์แล้ว นักวิเคราะห์ระบบจะต้องเขียนรายงานสรุปออกมาเป็น ข้อมูลเฉพาะของปัญหา (Problem Specification) ซึ่งมีรายละเอียดดังนี้
รายละเอียดของระบบเดิม ซึ่งควรจะเขียนมาเป็นรูปภาพแสดงการทำงานของระบบ พร้อมคำบรรยาย, กำหนดความต้องการของระบบใหม่รวมทั้งรูปภาพแสดงการทำงานพร้อมคำบรรยาย, ข้อมูลและไฟล์ที่จำเป็น, คำอธิบายวิธีการทำงาน และสิ่งที่จะต้องแก้ไข. รายงานข้อมูลเฉพาะของปัญหาของระบบขนาดกลางควรจะมีขนาดไม่เกิน 100-200 หน้ากระดาษ
สรุป ขั้นตอนที่3 : การวิเคราะห์ (Analysis)
หน้าที่
: กำหนดความต้องการของระบบใหม่ (ระบบใหม่ทั้งหมดหรือแก้ไขระบบเดิม)
ผลลัพธ์ : รายงานข้อมูลเฉพาะของปัญหา
เครื่องมือ : เทคนิคการเก็บรวบรวมข้อมูล
, Data Dictionary, Data Flow Diagram, Process Specification, Data Model, System Model, Prototype, system Flowcharts
บุคลากรและหน้าที่รับผิดชอบ : ผู้ใช้จะต้องให้ความร่วมมือเป็นอย่างดี
1. วิเคราะห์ระบบ ศึกษาเอกสารที่มีอยู่ และศึกษาระบบเดิมเพื่อให้เข้าใจถึงขั้นตอนการทำงานและทราบว่าจุดสำคัญของระบบอยู่ที่ไหน
2. นักวิเคราะห์ระบบ เตรียมรายงานความต้องการของระบบใหม่
3. นักวิเคราะห์ระบบ เขียนแผนภาพการทำงาน (
Diagram) ของระบบใหม่โดยไม่ต้องบอกว่าหน้ามที่ใหม่ในระบบจะพัฒนาขึ้นมาได้อย่างไร
4. นักวิเคราะห์ระบบ เขียนสรุปรายงานข้อมูลเฉพาะของปัญหา
5. ถ้าเป็นไปได้นักวิเคราะห์ระบบอาจจะเตรียมแบบทดลองด้วย
ขั้นตอนที่4 : การออกแบบ (Design)ในระยะแรกของการออกแบบ นักวิเคราะห์ระบบจะนำการตัดสินใจ ของฝ่ายบริหารที่ได้จากขั้นตอนการวิเคราะห์การเลือกซื้อคอมพิวเตอร์ ฮาร์ดแวร์และซอฟต์แวร์ด้วย (ถ้ามีหรือเป็นไปได้) หลังจากนั้นนักวิเคราะห์ระบบจะนำแผนภาพต่างๆ ที่เขียนขึ้นในขั้นตอนการวิเคราะห์มาแปลงเป็นแผนภาพลำดับขั้น (แบบต้นไม้) ดังรูปข้างล่าง เพื่อให้มองเห็นภาพลักษณ์ที่แน่นอนของโปรแกรมว่ามีความสัมพันธ์กันอย่างไร และโปรแกรมอะไรบ้างที่จะต้องเขียนในระบบ หลังจากนั้นก็เริ่มตัดสินใจว่าควรจะจัดโครงสร้างจากโปรแกรมอย่างไร การเชื่อมระหว่างโปรแกรมควรจะทำอย่างไร ในขั้นตอนการวิเคราะห์นักวิเคราะห์ระบบต้องหาว่า "จะต้องทำอะไร (What)" แต่ในขั้นตอนการออกแบบต้องรู้ว่า " จะต้องทำอย่างไร(How)"
ในการออกแบบโปรแกรมต้องคำนึงถึงความปลอดภัย (Security) ของระบบด้วย เพื่อป้องกันการผิดพลาดที่อาจจะเกิดขึ้น เช่น "รหัส" สำหรับผู้ใช้ที่มีสิทธิ์สำรองไฟล์ข้อมูลทั้งหมด เป็นต้น
นักวิเคราะห์ระบบจะต้องออกแบบฟอร์มสำหรับข้อมูลขาเข้า (Input Format) ออกแบบรายงาน (Report Format) และการแสดงผลบนจอภาพ (Screen Fromat) หลักการการออกแบบฟอร์มข้อมูลขาเข้าคือ ง่ายต่อการใช้งาน และป้องกันข้อผิดพลาดที่อาจจะเกิดขึ้น
ถัดมาระบบจะต้องออกแบบวิธีการใช้งาน เช่น กำหนดว่าการป้อนข้อมูลจะต้องทำอย่างไร จำนวนบุคลากรที่ต้องการในหน้าที่ต่างๆ แต่ถ้านักวิเคราะห์ระบบตัดสินใจว่าการซื้อซอฟต์แวร์ดีกว่าการเขียนโปรแกรม ขั้นตอนการออกแบบก็ไม่จำเป็นเลย เพราะสามารถนำซอฟต์แวร์สำเร็จรูปมาใช้งานได้ทันที สิ่งที่นักวิเคราะห์ระบบออกแบบมาทั้งหมดในขั้นตอนที่กล่าวมาทั้งหมดจะนำมาเขียนรวมเป็นเอกสารชุดหนึ่งเรียกว่า "ข้อมูลเฉพาะของการออกแบบระบบ " (System Design Specification) เมื่อสำเร็จแล้วโปรแกรมเมอร์สามารถใช้เป็นแบบในการเขียนโปรแกรม ได้ทันที่สำคัญก่อนที่จะส่งถึงมือโปรแกรมเมอร์เราควรจะตรวจสอบกับผู้ใช้ว่าพอใจหรือไม่ และตรวจสอบกับทุกคนในทีมว่าถูกต้องสมบูรณ์หรือไม่ และแน่นอนที่สุดต้องส่งให้ฝ่ายบริหารเพื่อตัดสินใจว่าจะดำเนินการ ต่อไปหรือไม่ ถ้าอนุมัติก็ผ่านเข้าสู่ขั้นตอนการสร้างหรือพัฒนาระบบ (Construction)
สรุปขั้นตอนที่ 4 : การออกแบบ (Design)
หน้าที : ออกแบบระบบใหม่เพื่อให้สอดคล้องกับความต้องการของผู้ใช้และฝ่ายบริหาร
ผลลัพธ์ : ข้อมูลเฉพาะของการออกแบบ(
System Design Specification)
เครื่องมือ : พจนานุกรมข้อมูล
Data Dictionary, แผนภาพการไหลของข้อมูล (Data Flow Diagram), ข้อมูลเฉพาะการประมวลผล (Process Specification ), รูปแบบข้อมูล (Data Model), รูปแบบระบบ (System Model), ผังงานระบบ (System Flow Charts), ผังงานโครงสร้าง (Structure Charts), ผังงาน HIPO (HIPO Chart), แบบฟอร์มข้อมูลขาเข้าและรายงาน
บุคลากรและหน้าที่ :
1. นักวิเคราะห์ระบบ ตัดสินใจเลือกคอมพิวเตอร์ฮาร์ดแวร์และซอฟต์แวร์ (ถ้าใช้)
2. นักวิเคราะห์ระบบ เปลี่ยนแผนภาพทั้งหลายที่ได้จากขั้นตอนการวิเคราะห์มาเป็นแผนภาพลำดับขั้น
3. นักวิเคราะห์ระบบ ออกแบบความปลอดภัยของระบบ
4. นักวิเคราะห์ระบบ ออกแบบฟอร์มข้อมูลขาเข้า รายงาน และการแสดงภาพบนจอ
5. นักวิเคราะห์ระบบ กำหนดจำนวนบุคลากรในหน้าที่ต่างๆและการทำงานของระบบ
6. ผู้ใช้ ฝ่ายบริหาร และนักวิเคราะห์ระบบ ทบทวน เอกสารข้อมูลเฉพาะของการออกแบบเพื่อความถูกต้องและสมบูรณ์แบบของระบบ
ขั้นตอนที่ 5 : การพัฒนาระบบ (Construction)
ในขั้นตอนนี้โปรแกรมเมอร์จะเริ่มเขียนและทดสอบโปรแกรมว่า ทำงานถูกต้องหรือไม่ ต้องมีการทดสอบกับข้อมูลจริงที่เลือกแล้ว ถ้าทุกอย่างเรียบร้อย เราจะได้โปรแกรมที่พร้อมที่จะนำไปใช้งานจริงต่อไป หลังจากนั้นต้องเตรียมคู่มือการใช้และการฝึกอบรมผู้ใช้งานจริงของระบบ
ระยะแรกในขั้นตอนนี้นักวิเคราะห์ระบบต้องเตรียมสถานที่สำหรับ เครื่องคอมพิวเตอร์แล้วจะต้องตรวจสอบว่าคอมพิวเตอร์ทำงานเรียบร้อยดี
โปรแกรมเมอร์เขียนโปรแกรมตามข้อมูลที่ได้จากเอกสารข้อมูลเฉพาะของการออกแบบ (Design Specification) ปกติแล้วนักวิเคราะห์ระบบไม่มีหน้าที่เกี่ยวข้องในการเขียนโปรแกรม แต่ถ้าโปรแกรมเมอร์คิดว่าการเขียนอย่างอื่นดีกว่าจะต้องปรึกษานักวิเคราะห์ระบบเสียก่อน เพื่อที่ว่านักวิเคราะห์จะบอกได้ว่าโปรแกรมที่จะแก้ไขนั้นมีผลกระทบกับระบบทั้งหมดหรือไม่ โปรแกรมเมอร์เขียนเสร็จแล้วต้องมีการทบทวนกับนักวิเคราะห์ระบบและผู้ใช้งาน เพื่อค้นหาข้อผิดพลาด วิธีการนี้เรียกว่า "Structure Walkthrough " การทดสอบโปรแกรมจะต้องทดสอบกับข้อมูลที่เลือกแล้วชุดหนึ่ง ซึ่งอาจจะเลือกโดยผู้ใช้ การทดสอบเป็นหน้าที่ของโปรแกรมเมอร์ แต่นักวิเคราะห์ระบบต้องแน่ใจว่า โปรแกรมทั้งหมดจะต้องไม่มีข้อผิดพลาด
หลังจากนั้นต้องควบคุมดูแลการเขียนคู่มือซึ่งประกอบด้วยข้อมูลการใช้งานสารบัญการอ้างอิง "Help" บนจอภาพ เป็นต้น นอกจากข้อมูลการใช้งานแล้ว ต้องมีการฝึกอบรมพนักงานที่จะเป็นผู้ใช้งานจริงของระบบเพื่อให้เข้าใจ และทำงานได้โดยไม่มีปัญหาอาจจะอบรมตัวต่อตัวหรือเป็นกลุ่มก็ได้
สรุปขั้นตอนที่ 5 : การพัฒนาระบบ (Construction)
หน้าที่ : เขียนและทดสอบโปรแกรม
ผลลัพธ์ : โปรแกรมที่ทดสอบเรียบร้อยแล้ว เอกสารคู่มือการใช้ และการฝึกอบรม
เครื่องมือ : เครื่องมือของโปรแกรมเมอร์ทั้งหลาย
Editor, compiler,Structure Walkthrough, วิธีการทดสอบโปรแกรม การเขียนเอกสารประกอบการใช้งาน
บุคลากรและหน้าที่ :
1. นักวิเคราะห์ระบบ ดูแลการเตรียมสถานที่และติดตั้งเครื่องคอมพิวเตอร์ (ถ้าซื้อใหม่)
2. นักวิเคราะห์ระบบ วางแผนและดูแลการเขียนโปรแกรม ทดสอบโปรแกรม
3. โปรแกรมเมอร์เขียนและทดสอบโปรแกรม หรือแก้ไขโปรแกรม ถ้าซื้อโปรแกรมสำเร็จรูป
4. นักวิเคราะห์ระบบ วางแผนทดสอบโปรแกรม
5. ทีมที่ทำงานร่วมกันทดสอบโปรแกรม
6. ผู้ใช้ตรวจสอบให้แน่ใจว่า โปรแกรมทำงานตามต้องการ
7. นักวิเคราะห์ระบบ ดูแลการเขียนคู่มือการใช้งานและการฝึกอบรม
ขั้นตอนที่ 6 : การปรับเปลี่ยน (Construction)ขั้นตอนนี้บริษัทนำระบบใหม่มาใช้แทนของเก่าภายใต้การดูแลของนักวิเคราะห์ระบบ การป้อนข้อมูลต้องทำให้เรียบร้อย และในที่สุดบริษัทเริ่มต้นใช้งานระบบใหม่นี้ได้
การนำระบบเข้ามาควรจะทำอย่างค่อยเป็นค่อยไปทีละน้อย ที่ดีที่สุดคือ ใช้ระบบใหม่ควบคู่ไปกับระบบเก่าไปสักระยะหนึ่ง โดยใช้ข้อมูลชุดเดียวกันแล้วเปรียบเทียบผลลัพธ์ว่าตรงกันหรือไม่ ถ้าเรียบร้อยก็เอาระบบเก่าออกได้ แล้วใช้ระบบใหม่ต่อไป
ขั้นตอนที่ 7 : บำรุงรักษา (Maintenance)
การบำรุงรักษาได้แก่ การแก้ไขโปรแกรมหลังจากการใช้งานแล้ว สาเหตุที่ต้องแก้ไขโปรแกรมหลังจากใช้งานแล้ว สาเหตุที่ต้องแก้ไขระบบส่วนใหญ่มี 2 ข้อ คือ 1. มีปัญหาในโปรแกรม (Bug) และ 2. การดำเนินงานในองค์กรหรือธุรกิจเปลี่ยนไป จากสถิติของระบบที่พัฒนาแล้วทั้งหมดประมาณ 40% ของค่าใช้จ่ายในการแก้ไขโปรแกรม เนื่องจากมี "Bug" ดังนั้นนักวิเคราะห์ระบบควรให้ความสำคัญกับการบำรุงรักษา ซึ่งปกติจะคิดว่าไม่มีความสำคัญมากนัก
เมื่อธุรกิจขยายตัวมากขึ้น ความต้องการของระบบอาจจะเพิ่มมากขึ้น เช่น ต้องการรายงานเพิ่มขึ้น ระบบที่ดีควรจะแก้ไขเพิ่มเติมสิ่งที่ต้องการได้
การบำรุงรักษาระบบ ควรจะอยู่ภายใต้การดูแลของนักวิเคราะห์ระบบ เมื่อผู้บริหารต้องการแก้ไขส่วนใดนักวิเคราะห์ระบบต้องเตรียมแผนภาพต่าง ๆ และศึกษาผลกระทบต่อระบบ และให้ผู้บริหารตัดสินใจต่อไปว่าควรจะแก้ไขหรือไม่

วันอังคารที่ 7 กุมภาพันธ์ พ.ศ. 2555

ทฤษฎีต้นทุนธุรกรรม - ทฤษฎีตัวแทน

ทฤษฎีต้นทุนธุรกรรม Transaction cost Theory
ค่าใช้จ่ายหลักๆอันเนื่องมาจากการทำธุรกรรม (Transaction) เช่น การค้นหาข้อมูล (customers, suppliers, products) การติดต่อสื่อสาร หรือการนำข้อมูลมาเปรียบเทียบเพื่อตัดสินใจ โดยในอดีต ทั้งนี้องค์กรขนาดเล็กมักจะเสียเปรียบในเรื่องการเข้าถึงข้อมูลเนื่องจากมีจำนวนพนักงานน้อย หากต้องการพัฒนาศักยภาพการเข้าถึงข้อมูล จำเป็นต้องขยายขนาดขององค์กร แต่ในปัจจุบัน เทคโนโลยีจาก internet ทำให้องค์กรขนาดเล็กมีศักยภาพการเข้าถึงข้อมูลมากขึ้นโดยไม่มีความจำเป็นต้องขยายขนาดองค์กร และสามารถลด Transaction Cost ได้
ทฤษฎีตัวแทน (Agency Theory)
ทฤษฎีตัวแทนมองว่า มนุษย์ทุกคนในองค์กรย่อมมีแรงผลักดันที่จะทำเพื่อผลประโยชน์
ส่วนตัวด้วยกันทั้งสิ้น ดังนั้นผู้บริหารหรือฝ่ายจัดการจะพยายามหาหนทางสร้างมูลค่าสูงสุดให้
กับกิจการก็ต่อเมื่อพิจารณาแล้วเห็นว่าหนทางนั้นเอื้ออำนวยประโยชน์ให้กับตนเองด้วย สมมติฐาน
ที่อยู่เบื้องหลังทฤษฎีการเป็นตัวแทนก็คือ ผู้เป็นเจ้าของกิจการหรือผู้ถือหุ้นกับผู้บริหารหรือ
ฝ่ายจัดการต่างมีความขัดแย้งทางด้านผลประโยชน์ซึ่งกันและกัน โดยที่ผู้บริหารหรือฝ่ายจัดการ
จะสร้างอรรถประโยชน์สูงสุดให้กับตัวเองโดยไม่คำนึงถึงว่าการกระทำเช่นนั้นจะก่อให้เกิด
ประโยชน์หรือความมั่งคั่งสูงสุดแก่ตัวผู้เป็นเจ้าของกิจการหรือไม่
ความสัมพันธ์ในทางธุรกิจเป็นความสัมพันธ์ที่เกิดจากความยินยอมพร้อมใจระหว่างบุคคล
สองฝ่าย โดยที่บุคคลฝ่ายหนึ่งคือ ตัวแทน (Agent) ตกลงที่จะทำการในฐานะที่เป็นตัวแทนให้กับ
อีกฝ่ายหนึ่งที่เรียกว่า ตัวการ (Principal) โดยที่แต่ละฝ่ายย่อมมีแรงจูงใจที่จะตัดสินใจที่จะก่อให้เกิด
ผลประโยชน์ส่วนตัว ความขัดแย้งกันในผลประโยชน์อาจเกิดขึ้นเมื่อแต่ละฝ่ายดำเนินการเพื่อ
แสวงหาผลประโยชน์ให้แก่ตนเองกล่าวคือ ผู้ถือหุ้นเป็นผู้มอบหมายให้ผู้บริหารดำเนินการแทนตน
การที่ผู้ถือหุ้นไม่สามารถล่วงรู้ข้อมูลการตัดสินใจของผู้บริหารย่อมทำให้เกิดต้นทุนจาก
การมอบอำนาจดำเนินการขึ้น (Agency Costs) ซึ่งประกอบด้วยต้นทุนในการตรวจสอบ
ผลการปฏิบัติงานของผู้บริหาร และต้นทุนในการจูงใจให้ผู้บริหารตัดสินใจดำเนินการที่ไม่
ก่อให้เกิดความเสียหายแก่ผู้ถือหุ้น (วรศักดิ์ ทุมมานนท์, 2543)

ปัญหาความขัดแย้งระหว่างตัวการและตัวแทน (Agency Problems) ตามการศึกษาของ
McColgan (2001) สามารถแยกสาเหตุการเกิดปัญหาได้ดังนี้

1) Moral-Hazard คือ ปัญหาความขัดแย้งที่เกิดจากผู้บริหารซึ่งเป็นตัวแทน บริหารงาน
โดยคำนึงถึงผลประโยชน์ส่วนตนมากกว่าผลประโยชน์ของผู้ถือหุ้น เช่น ผู้บริหารหรือครอบครัว
ของผู้บริหารนำทรัพยากรของบริษัทไปใช้ส่วนตัว ทรัพยากรเหล่านั้นจึงไม่ได้ถูกนำมาใช้ใน
กิจกรรมที่มีประโยชน์ในการสร้างรายได้ให้แก่บริษัท เป็นต้น

2) Earnings Retention คือ ปัญหาความขัดแย้งที่เกี่ยวข้องกับขนาดของกิจการ (Firm Size)
ที่วัดโดยกำไรสะสมของบริษัท ซึ่งผู้บริหารจะใช้ประโยชน์จากกำไรสะสมโดยการใช้นโยบาย
โครงสร้างเงินทุนที่เป็นแหล่งเงินทุนภายใน (กำไรสะสม) มากกว่าการหาแหล่งเงินทุนจาก
ภายนอก (เจ้าหนี้) เพื่อลดการถูกตรวจสอบการบริหารงานจากบุคคลภายนอก ซึ่งการใช้โครงสร้าง
เงินทุนดังกล่าวทำให้ผลตอบแทนของผู้ถือหุ้นในรูปเงินปันผลลดลง

3) Time Horizon คือ ปัญหาความขัดแย้งที่เกิดจากระยะเวลาการลงทุน โดยผู้ถือหุ้นจะให้
ความสำคัญต่อกระแสเงินสดของบริษัทในอนาคต แต่ผู้บริหารจะให้ความสำคัญต่อกระแสเงินสด
ของบริษัทในช่วงระยะเวลาที่ตนบริหารอยู่เท่านั้น ดังนั้นผู้บริหารมักจะลงทุนในโครงการระยะสั้น
มากกว่าโครงการระยะยาวถึงแม้ว่าโครงการนั้นจะให้ผลตอบแทนสูงกว่า ซึ่งปัญหาดังกล่าวมักเกิด
กับผู้บริหารระดับสูงที่ใกล้เกษียณแล้ว

4) Risk Aversion คือ ปัญหาความขัดแย้งที่เกิดจากพฤติกรรมการยอมรับความเสี่ยงจาก
การลงทุนของผู้บริหาร ซึ่งเกิดจากค่าตอบแทนที่ผู้บริหารได้รับไม่ได้ขึ้นอยู่กับผลการดำเนินงาน
ของบริษัท ผู้บริหารจะได้รับเพียงผลตอบแทนที่เป็นเงินเดือนเท่านั้น โดยเงินเดือนจะเป็นจำนวน
ที่คงที่ ดังนั้นผู้บริหารย่อมเลือกลงทุนในโครงการที่มีความเสี่ยงต่ำ เพราะผู้บริหารจะไม่ได้รับ
ประโยชน์ส่วนเพิ่มจากโครงการนั้นๆ แม้ว่าโครงการดังกล่าวจะประสบความสำเร็จและ
มีผลตอบแทนสูง แต่โครงการที่มีผลตอบแทนสูงย่อมจะมีความเสี่ยงสูงด้วย ขณะเดียวกัน
หากบริหารงานล้มเหลวก็ย่อมมีผลกระทบต่อตำแหน่งหน้าที่งาน ส่วนผู้ถือหุ้นจะชอบผู้บริหาร
ที่ตัดสินใจลงทุนในโครงการที่มีความเสี่ยงสูงเพราะย่อมจะได้รับผลตอบแทนที่สูงด้วย เท่ากับ
เป็นการเพิ่มความมั่งคั่งให้แก่ตัวผู้ถือหุ้นเอง

ดังนั้นการกำกับดูแลกิจการเป็นเครื่องมือหนึ่งที่จะใช้ป้องกันและแก้ไขปัญหาความขัดแย้ง
ระหว่างตัวการและตัวแทน รวมทั้งถือเป็นกลไกควบคุมการทำงานของฝ่ายบริหารของบริษัทให้
นำไปสู่ความมีประสิทธิภาพสูงสุด โดยจารุพรรณ อินทรรุ่ง (2550) ได้กล่าวว่า การกำกับดูแล
กิจการที่ดีช่วยสร้างความเชื่อมั่นในการลงทุน เนื่องจากกรรมการหรือผู้บริหารของบริษัทย่อมมีการ
ปฏิบัติหน้าที่อย่างสุจริต ส่งผลให้บริษัทมีผลประกอบการดีขึ้น ฐานะการเงินของบริษัทจึงมั่นคง
สามารถจ่ายเงินปันผลได้อย่างต่อเนื่อง ทำให้มีผู้สนใจมาลงทุนเพิ่มขึ้นและในที่สุดราคาหุ้นของ
บริษัทย่อมเพิ่มขึ้นตามไปด้วย