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