วันศุกร์ที่ 28 มกราคม พ.ศ. 2554

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

จุดกำเนิดของระบบงาน
จุดกำเนิดของระบบงานโดยปกติจะกำเนิดขึ้นจากผู้ใช้ระบบ เนื่องจากผู้ใช้ระบบเป็นผู้ใกล้ชิดกับกิจกรรมของธุรกิจมากที่สุด ดังนั้นกิจกรรมทางธุรกิจได้ดำเนินไปอย่างต่อเนื่องนั้น ความต้องการที่จะพัฒนาปรับปรุงกิจการต่างๆย่อมเกิดขึ้น นักวิเคราะห์ระบบจึงเริ่มเข้ามามีบทบาทในการพัฒนาปรับปรุงแก้ไขระบบงาน
James Wetherbe ได้แต่งหนังสือออกมาเล่มหนึ่งในปี 2527 โดยใช้ชื่อว่า “System Analysis and Design: Traditional, Structured and Advanced Concepts and Techniques.” โดยให้แนวความคิดในการแจกแจงกลุ่มของปัญหาออกเป็น 6 หัวข้อตามความต้องการของผู้ใช้ ซึ่งแทนด้วยอักษร 6 ตัวคือ PIECES อ่านว่า “ พีซ-เซส ” โดยมีรายละเอียดดังนี้คือ
1. Performance หมายถึงความต้องการที่จะให้มีการปรับปรุงทางด้านการปฏิบัติงาน
2. Information หมายถึงความต้องการที่จะให้มีการปรับปรุงและควบคุมทางด้านข้อมูล
3. Economics หมายถึงความต้องการที่จะให้มีการปรับปรุงและควบคุมทางด้านต้นทุน
4. Control หมายถึงความต้องการที่จะให้มีการปรับปรุงระบบงานข้อมูล เพื่อให้มีการควบคุมและระบบรักษาความปลอดภัยที่ดียิ่งขึ้น
5. Efficiency หมายถึงความต้องการที่จะให้มีการปรับปรุงประสิทธิภาพของคนและเครื่องจักร
6. service หมายถึงความต้องการที่จะให้มีการปรับปรุงการบริการต่างๆ ให้ดีขึ้น เช่น การบริการลูกค้าหรือการให้บริการต่อพนักงานภายในธุรกิจเองเป็นต้น
ในแต่ละโครงการของระบบงานข้อมูลนั้น จะมีลักษณะที่จะตอบสนองความต้องการที่ได้ระบุอยู่ในพีซเซสอันใดอันหนึ่งหรือมากกว่าหนึ่งก็ได้ ดังนั้นพีซเซสจึงมีความสำคัญต่อนักวิเคราะห์ระบบในการใช้ เพื่อพิจารณาถึงปัญหาและความต้องการของผู้ใช้อย่างมีหลักเกณฑ์

วงจรการพัฒนาระบบ ( 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,000 บริษัทนั้น ควรใช้เวลาไม่เกิน 1 ปี ตั้งแต่เริ่มต้นจนใช้งานได้ ค่าใช้จ่ายเริ่มตั้งแต่พัฒนาจนถึงใช้งานได้จริงได้แก่ เงินเดือน เครื่องมือ อุปกรณ์ ต่างๆ เป็นต้น พูดถึงเรื่องผลประโยชน์ที่ได้รับอาจมองเห็นได้ไม่ง่ายนัก แต่นักวิเคราะห์ระบบควรมองและตีออกมาในรูปเงินให้ได้ เช่น เมื่อนำระบบใหม่เข้ามาใช้อาจจะทำให้ ค่าใช้จ่ายบุคลากรลดลง หรือกำไรเพิ่มมากขึ้น เช่น ทำให้ยอดขายเพิ่มมากขึ้น เนื่องจากผู้บริหารมีข้อมูลพร้อมที่จะช่วยในการตัดสินใจที่ดีขึ้น
การคาดคะเนทั้งหลายเป็นไปอย่างหยาบๆ เราไม่สามารถหาตัวเลขที่แน่นอนตายตัวได้เนื่องจากทั้งหมดยังไม่ได้เกิดขึ้นจริง หลังจากเตรียมตัวเลขเรียบร้อยแล้ว นักวิเคราะห์ระบบก็นำตัวเลข ค่าใช้จ่ายและผลประโยชน์ ( Cost-Benefit) มาเปรียบเทียบกันดังตัวอย่างในตาราง
ค่าใช้จ่าย ปีที่ 0 ปีที่ 1 ปีที่ 2 ปีที่ 3 ปีที่ 4 ปีที่ 5
ค่าใช้จ่ายในการพัฒนาระบบ 200,000 - - - - -
ค่าใช้จ่ายเมื่อปฏิบัติงาน - 50,000 52,000 60,000 70,000 85,500
ค่าใช้จ่ายรวมตั้งแต่ต้น 200,000 250,000 302,000 362,000 422,000 507,000
ผลประโยชน์ - 80,000 100,000 120,000 150,000 200,000
ผลประโยชน์ตั้งแต่ต้น - 80,000 180,000 300,000 450,000 650,000

จะเห็นว่าหลังจากปีที่ 3 บริษัทเริ่มมีกำไรเพิ่มขึ้น ดังนั้นปัญหามีอยู่ว่าเราจะยอมขาดทุนใน 3 ปีแรก และลงทุนเริ่มต้นเป็นเงิน 200,000 บาท หรือไม่

สรุปขั้นตอนที่ 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" ดังนั้นนักวิเคราะห์ระบบควรให้ความสำคัญกับการบำรุงรักษา ซึ่งปกติจะคิดว่าไม่มีความสำคัญมากนัก
เมื่อธุรกิจขยายตัวมากขึ้น ความต้องการของระบบอาจจะเพิ่มมากขึ้น เช่น ต้องการรายงานเพิ่มขึ้น ระบบที่ดีควรจะแก้ไขเพิ่มเติมสิ่งที่ต้องการได้
การบำรุงรักษาระบบ ควรจะอยู่ภายใต้การดูแลของนักวิเคราะห์ระบบ เมื่อผู้บริหารต้องการแก้ไขส่วนใดนักวิเคราะห์ระบบต้องเตรียมแผนภาพต่าง ๆ และศึกษาผลกระทบต่อระบบ และให้ผู้บริหารตัดสินใจต่อไปว่าควรจะแก้ไขหรือไม่
สรุปวงจรการพัฒนาระบบ



1. เข้าใจปัญหา 1. ตระหนักว่ามีปัญหาในระบบ
2. ศึกษาความเป็นไปได้ 1. รวบรวมข้อมูล
2. คาดคะเนค่าใช้จ่าย ผลประโยชน์และอื่น
3. ตัดสินใจว่าจะเปลี่ยนแปลงระบบหรือไม่
3. วิเคราะห์ 1. ศึกษาระบบเดิม
2. กำหนดความต้องการของระบบ
3. แผนภาพระบบเก่าและระบบใหม่
4. สร้างระบบทดลองของระบบใหม่
4. ออกแบบ 1. เลือกซื้อคอมพิวเตอร์ฮาร์ดแวร์และซอฟต์แวร์
2. เปลี่ยนแผนภาพจากการวิเคราะห์เป็นแผนภาพลำดับขั้น
3. คำนึงถึงความปลอดภัยของระบบ
4. ออกแบบ Input และ Output
5. ออกแบบไฟล์ฐานข้อมูล
5. พัฒนา 1. เตรียมสถานที่
2. เขียนโปรแกรม
3. ทดสอบโปรแกรม
4. เตรียมคู่มือการใช้และฝึกอบรม
6. นำมาใช้งานจริง 1. ป้อนข้อมูล
2. เริ่มใช้งานระบบใหม่
7. บำรุงรักษา 1. เข้าใจปัญหา
2. ศึกษาสิ่งที่จะต้องแก้ไข
3. ตัดสินใจว่าจะแก้ไขหรือไม่
4. แก้ไขเอกสาร คู่มือ
5. แก้ไขโปรแกรม
6. ทดสอบโปรแกรม
7. ใช้งานระบบที่แก้ไขแล้ว
หลักความสำเร็จของการพัฒนาระบบงาน
หลักการที่ 1 : ระบบเป็นของผู้ใช้
นักวิเคราะห์ระบบและโปรแกรมเมอร์ควรจะระลึกเสมอว่า ระบบเป็นของผู้ใช้ระบบซึ่งจะเป็นผู้นำเอาผลของระบบดังกล่าวมาก่อให้เกิดประโยชน์ต่อธุรกิจของเขา แม้ว่านักวิเคราะห์ระบบและโปรแกรมเมอร์จะทำงานอย่างหนักเพื่อที่จะนำเอาเทคโนโลยีคอมพิวเตอร์มาสร้าง เป็นระบบงานคอมพิวเตอร์ก็ตาม แต่ไม่ลืมว่าระบบงานคอมพิวเตอร์มีจุดยืนจุดเดียวกัน คือ เกิดขึ้นมาเพื่อแก้ไขปัญหาให้กับผู้ใช้หรือธุรกิจ ดังนั้น ผู้ใช้ระบบจึงมีส่วนสำคัญที่จะผลักดันให้การพัฒนาระบบงานเป็นไปอย่างถูกต้อง และ เพื่อตอบสนองกับความต้องการ นักวิเคราะห์ระบบจะต้องจะต้องนำเอาความเห็นของผู้ใช้ระบบมาเกี่ยวข้อง ในทุกขั้นตอนของการพัฒนาหรืออีกนัยหนึ่งคือ ในวงจรการพัฒนาระบบงานและโครงการ ( SDLC) จะต้องมีบทบาทของผู้ใช้ระบบอยู่เสมอทุกขั้นตอน
หลักการที่ 2 : ทำการจัดตั้งและแบ่งกลุ่มของระบบหรือโครงการออกเป็นกลุ่มงานย่อย
โดยทั่วไป วงจรการพัฒนาระบบงานและโครงการ ( SDLC) ได้จัดแบ่งขั้นตอนของการทำงานเป็นหลักอยู่แล้วดังนี้
1. ขั้นตอนการวิเคราะห์ระบบงาน ( System Analysis)
2. ขั้นตอนการดีไซน์และวางระบบงาน ( System Design)
3. ขั้นตอนการนำระบบงานเข้าสู่ธุรกิจเพื่อใช้ปฏิบัติงานจริง ( System imple- mentation)
4. ขั้นตอนการติดตามและดำเนินการภายหลังการติดตั้งระบบงาน ( System support)
สาเหตุที่มีการจัดแบ่งกลุ่มงานให้เล็กลงและเป็นลำดับขั้น ก็เพื่อที่จะให้นักบริหารโครงการหรือผู้พัฒนาระบบงานสามารถที่จะควบคุมความคืบหน้าของ การพัฒนาระบบได้อย่างใกล้ชิดและสามารถที่จะกำหนดและควบคุมระยะเวลาที่ใช้ในการพัฒนาระบบได้ดีขึ้นอีกด้วย

หลักการที่ 3 : ขั้นตอนการพัฒนาระบบงานไม่ใช่แบบอนุกรม ( sequential process)
ความหมายของหลักการนี้คือ เมื่อเราเข้าสู่วงจรการพัฒนาระบบ SDLC แล้ว เราไม่จำเป็นที่จะทำขั้นที่ 1 คือ system analysis ให้เสร็จเรียบร้อยเสียก่อน แล้วจึงค่อยทำขั้นที่ 2 คือ system design หรือต้องทำขั้นที่ 2 เสร็จค่อยทำขั้นที่ 3 เรื่อยไป การทำแบบนี้จะทำให้เราใช้ระยะเวลามากขึ้นในการพัฒนาระบบงานหนึ่งๆ


ขั้นตอนการพัฒนาระบบงานสามารถที่จะทำซ้อน ( overlap) กันได้ เช่น เมื่อได้ทำการวิเคราะห์ระบบงานไปได้ระยะหนึ่ง นักวิเคราะห์ระบบก็สามารถที่จะนำเอาผลการวิเคราะห์นั้นไปดีไซน์หรือวางระบบงานได้ก่อนโดยไม่ต้องรอให้ขั้นตอน การวิเคราะห์เสร็จสมบูรณ์จึงค่อยดีไซน์ ดังตัวอย่างในรูปที่ 1 ซึ่งแสดงให้เป็นว่าขณะที่กิจกรรมในขั้นตอนการวิเคราะห์ซึ่งใช้เวลาประมาณ 2 สัปดาห์ครึ่งยังไม่เสร็จสิ้น ในสัปดาห์ที่ 2 ก็สามารถจะเริ่มขั้นตอนการดีไซน์ระบบได้ อย่างไรก็ตาม การทำเช่นนี้จะต้องตั้งอยู่ในความเหมาะสมด้วย โดยในบางครั้งบางขั้นตอนอาจจำเป็นที่จะต้องรอให้เสร็จสมบูรณ์ก่อนแล้วจึงค่อยดำเนินในขั้นถัดไป จากรูปที่ 1 จะแสดงให้เห็นว่าการติดตั้งระบบอาจจำเป็น ต้องรอให้ขั้นตอนการดีไซน์ระบบเสร็จสิ้นลงเสียก่อนแล้วจึงค่อยดำเนินการต่อไป
หลักการที่ 4 : ระบบงานข้อมูลถือเป็นการลงทุนอย่างหนึ่ง
การพัฒนาระบบงานหนึ่งๆก็ถือว่าเป็นการลงทุนอย่างหนึ่ง ซึ่งไม่แตกต่างจากที่เราลงทุนซื้อรถ เพื่อมาขนส่งสินค้าหรือซื้อเครื่องจักรมาเพื่อทำการผลิต
เมื่อระบบงานถือว่าเป็นการลงทุนชนิดหนึ่ง สิ่งที่นักวิเคราะห์ระบบจะต้องคำนึงก็คือทางเลือกต่างๆที่จะนำเงินไปลงทุน ซึ่งหมายถึงว่านักวิเคราะห์ระบบควรคิดถึงทางเลือก ของการพัฒนาระบบงานในหลายๆงานและพิจารณาถึงความเป็นไปได้ต่างๆ รวมถึงการเปรียบเทียบต้นทุนและผลกำไรที่จะเกิดจากระบบงาน ว่าระบบนั้นๆ คุ้มค่าหรือไม่อย่างไร ยกตัวอย่าง เช่น นักวิเคราะห์กำลังรับทำระบบงานสำหรับร้านให้เช่าวิดีโอร้านหนึ่งซึ่งเป็นร้านเล็กๆ มีรายได้ประมาณ 10,000 บาทต่อเดือน เขาตัดสินใจแนะนำให้ร้านนั้นซื้อคอมพิวเตอร์ราคา 2 ล้านบาท ซึ่งเขาจะพัฒนาระบบงานให้ โดยจะเสียค่าใช้จ่ายอีกประมาณ 3 แสนบาท ลักษณะแบบนี้ท่านจะเห็นได้ชัดว่า การตัดสินใจลงทุนแบบนี้ไม่คุ้มค่าแน่ นักวิเคราะห์ควรจะทำการวิเคราะห์หาทางเลือกที่เหมาะสมและนำเสนอต่อผู้ใช้โดยให้มีข้อมูล ในการเปรียบเทียบถึงข้อดีข้อเสียต่างๆ เพื่อผู้ใช้ระบบสามารถที่จะออกความเห็นหรือปรึกษาหารือเพื่อหาข้อยุติที่เหมาะสมต่อไป
หลักการที่ 5 : อย่ากลัวที่จะต้องยกเลิก
ในทุกขั้นตอนของการพัฒนาระบบงานจะมีการศึกษาถึงความเป็นไปได้ (feasibility study) ของระบบงาน ดังนั้นในทุกขั้นตอน นักวิเคราะห์ระบบจะมีโอกาสเสมอที่จะตัดสินใจว่าจะให้ระบบงานนั้นดำเนินต่อไปหรือยกเลิก
แน่นอนที่ว่า ความรู้สึกที่จะต้องยกเลิกงานที่ทำมาอย่างยากเย็นนั้น จะต้องไม่ดีแน่ และคงไม่มีใครอยากสัมผัสเหตุการณ์เช่นนี้ แต่อย่างไรก็ดี เมื่อการพัฒนาระบบงานไม่สามารถจะทำให้เป็นไปตามความต้องการของผู้ใช้ระบบ การเริ่มต้นทำใหม่หรือยกเลิกโครงการนั้นอาจเป็นสิ่งจำเป็น จากประสบการณ์ที่เคยได้เห็นได้ยินมา มีอยู่หลายโครงการในสหรัฐอเมริกาที่ต้องยกเลิกไป และอีกหลายโครงการที่ยังดันทุรังที่จะให้อยู่แต่ไม่สามารถจะทำได้ ข้อเสียที่เห็นได้ชัดในความกลัวที่จะต้องยกเลิกก็คือ โครงการหรือระบบงานนั้นสุดท้ายก็ต้องพังลง และดันทุรังที่จะให้ฟื้นคืนชีพ มักจะใช้เงินลงทุนเพิ่มขึ้น ใช้เวลาเพิ่มขึ้นและใช้คนเพิ่มขึ้น ทำให้งบประมาณเกิดบานปลาย และไม่สามารถควบคุมได้
หลักการที่ 6 : ในทุกขั้นตอนของการพัฒนาจะต้องมีการจัดทำเอกสารเพื่อใช้อ้างอิงเสมอ
การขาดการจัดทำเอกสารมักจะส่งผลให้เกิดข้อผิดพลาดต่อระบบงานและต่อนักวิเคราะห์ระบบด้วย การจัดทำเอกสารมักจะถูกมองข้ามไป และเห็นว่าเป็นสิ่งที่ทำให้เสียเวลาแม้กระทั่งการเขียนโปรแกรมซึ่ง สามารถจะแทรกคำอธิบายเล็กๆน้อยๆว่าโปรแกรมในส่วนนั้นๆทำอะไร ก็ยังไม่มีใครทำสักเท่าไรซึ่งการขาดการทำเอกสารเช่นนี้ จะทำให้การบำรุงรักษาหรือติดตามระบบเป็นไปได้ยาก ทำให้ยากต่อการแก้ไข
การจัดทำเอกสาร จะหมายรวมถึงการบันทึกเหตุการณ์ต่างๆ และแนวความคิด รวมทั้งข้อสรุปที่เกิดขึ้นในแต่ละขั้นตอนของการพัฒนาระบบงานและโครงการ ไม่ใช่จะเอาแค่รหัสต้นกำเนิด ( source code) ของแต่ระบบเท่านั้น

ไม่มีความคิดเห็น:

แสดงความคิดเห็น