การพัฒนาระบบสารสนเทศ (Information System Development) อาจารย์ศรีนวล ฟองมณี
การพัฒนาระบบสารสนเทศ การพัฒนาระบบสารสนเทศ เป็นกระบวนการในการสร้างระบบสารสนเทศขึ้นมา เพื่อใช้แก้ปัญหาหรือสร้างมูลค่าเพิ่มให้กับธุรกิจ การพัฒนาระบบสารสนเทศรวมถึงการปรับเปลี่ยนระบบงานเดิมที่มีอยู่แล้ว ให้สามารถทำงานแก้ปัญหาการดำเนินงานทางธุรกิจ ตามความต้องการของผู้ใช้งาน โดยอาจนำเอาระบบคอมพิวเตอร์เข้ามาช่วยประมวลผล เรียบเรียง เปลี่ยนแปลงและจัดเก็บข้อมูล เพื่อให้ได้สารสนเทศที่ถูกต้อง และเป็นการเพิ่มประสิทธิภาพในการทำงานขององค์กรอีกด้วย
ปัจจัยที่ส่งผลต่อโครงการพัฒนาระบบ ปัจจัยภายในองค์กร (Internal Factors) 1.แผนกลยุทธ์ (Strategic Plan) 2.ผู้บริหารระดับสูง (Top Mangers) 3.ความต้องการของผู้ใช้ระบบ (User Requests) 4.แผนกเทคโนโลยีสารสนเทศ (IT Department)
ปัจจัยที่ส่งผลต่อโครงการพัฒนาระบบ(ต่อ) ปัจจัยภายนอก (External Factors) 1.การเปลี่ยนแปลงทางเทคโนโลยี 2.ผู้ขาย (Suppliers) 3.ลูกค้า (Customers) 4.คู่แข่งขัน (Competitors) 5.เศรษฐกิจ (Economy) 6.รัฐบาล (Government)
หลักในการพัฒนาระบบสารสนเทศ 1.ศึกษาถึงความต้องการของเจ้าของระบบและผู้ใช้ระบบ 2.ศึกษาถึงปัญหาให้ตรงจุด สาเหตุสำคัญที่ทำให้เกิดข้อผิดพลาด (1) การเลือกแนวทางแก้ไขปัญหาผิด (2) การแก้ไขปัญหาไม่ตรงจุด (3) การแก้ไขปัญหาแล้วเกิดข้อผิดพลาด แนวทางในการศึกษาปัญหามีดังนี้ 1) ศึกษาและทำความเข้าใจสาเหตุของการเกิดปัญหา 2) ศึกษาหาแนวทางในการแก้ปัญหาพร้อมระบุข้อดีข้อเสียในแต่ละแนวทาง 3) เลือกแนวทางที่ดีที่สุดในการแก้ปัญหา 4) ลงมือปฏิบัติตามแนวทางที่เลือกในการแก้ปัญหา 5) ประเมินผลจากการปฏิบัติงานและทำการปรับปรุงจนเสร็จสมบูรณ์
หลักในการพัฒนาระบบสารสนเทศ(ต่อ) 3.การวางแผนการพัฒนาระบบ ควรมีการประชุมทีมพัฒนาระบบเพื่อวางแผนการทำงาน การกำหนดขั้นตอนในการปฏิบัติงาน กำหนดระยะเวลาในการปฏิบัติงานในแต่ละขั้นตอน การแบ่งกิจกรรมย่อยในแต่ละขั้นตอน ผู้รับผิดชอบในการปฏิบัติงานแต่ละกิจกรรม 4.กำหนดกฎ/ระเบียบในระหว่างการพัฒนาระบบ ด้านต่างๆ ดังนี้ 4.1.ด้านการปฏิบัติงาน (Activity) กำหนดให้มีการปฏิบัติงานเป็นไปตามลำดับขั้นตอนของการพัฒนาระบบที่ได้กำหนดไว้ 4.2.ด้านหน้าที่ความรับผิดชอบ (Responsibility) กำหนดขอบเขตและหน้าที่ความรับผิดชอบของแต่ละฝ่าย 4.3.ด้านการตรวจสอบคุณภาพ (Quality Checks) เป็นการตรวจสอบคุณสมบัติของระบ 4.4.ด้านเอกสารหรือรายละเอียดความต้องการ (Documentation Guidelines/ Requirements) จะต้องมีความเป็นระเบียบ ถูกต้องและเป็นปัจจุบันมากที่สุด
หลักในการพัฒนาระบบสารสนเทศ(ต่อ) 5.พิจารณาถึงประสิทธิภาพและประสิทธิผลของระบบที่พัฒนา 6.เตรียมพร้อมหากโครงการถูกยกเลิกหรือลดขอบเขต 6.1.เมื่อทำการวิเคราะห์ความสามารถของระบบที่จะพัฒนาพบว่าไม่สามารถช่วยแก้ปัญหาที่เกิดขึ้นในองค์กรได้ อาจถูกให้ยกเลิกโครงการพัฒนาระบบในทันที 6.2.เมื่อมีการเพิ่มขอบเขตโครงการ จะต้องทำการประเมินต้นทุนและวางแผนการปฏิบัติงานของโครงการใหม่ 6.3.เมื่อมีการลดงบประมาณในการปฏิบัติงานโครงการ ควรมีการลดขอบเขตของโครงการลง
การพัฒนาระบบสารสนเทศ งานพัฒนาระบบสารสนเทศจะมีกิจกรรมและขั้นตอนต่างๆ มากมาย รวมถึงความซับซ้อนของระบบงาน ดังนั้นการมีแนวทางที่เป็นลำดับขั้นตอนที่ส่งผลต่อมาตรฐานของระบบงานจึงเป็นสิ่งที่นักวิเคราะห์ระบบต้องการ ทั้งนี้ก็เพื่อให้งานพัฒนาระบบเป็นไปในทิศทางเดียวกันมีขั้นตอนลำดับกิจกรรมที่ต้องทำอย่างชัดเจนในแต่ละขั้นตอน จึงเกิด “วงจรการพัฒนาระบบ” ขึ้นมา
วงจรการพัฒนาระบบ (System Development life Cycle) ประกอบด้วยกิจกรรม 7 ขั้นตอน 1. การกำหนดปัญหา (Problem Definition) 2. การวิเคราะห์ระบบ (Analysis) 3. การออกแบบ (Design) 4. การพัฒนา (Development) 5. การทดสอบ (Testing) 6. การติดตั้งระบบ (Implement) 7. การบำรุงรักษา (Maintenance)
วงจรการพัฒนาระบบ (System Development Life Cycle: SDLC) 1.การกำหนดความต้องการของระบบ 2.การวิเคราะห์ระบบ 3.การออกแบบระบบ 4.การพัฒนาระบบ 5.การทดสอบระบบ 6.การติดตั้งระบบ 7.การบำรุงรักษา
ขั้นตอนที่ 1 การกำหนดปัญหา (Problem Definition) ในขั้นตอนนี้นักวิเคราะห์ระบบจะต้องค้นหาปัญหาและศึกษาทำความเข้าใจปัญหา ข้อเท็จจริงต่างๆ ที่เกิดขึ้นจากการทำงานในระบบงานเดิม โดยนักวิเคราะห์ระบบจะต้องทำความเข้าใจปัญหาอย่างถ่องแท้ คิดหาทางแนวทางและวัตถุประสงค์ในการแก้ปัญหา ศึกษาความเป็นไปได้ในการแก้ปัญหา รวบรวมความต้องการและสรุปข้อกำหนดต่างๆ ให้ชัดเจน ถูกต้องและเป็นที่ยอมรับทั้งสองฝ่าย พร้อมทั้งกำหนดแผนการดำเนินกิจกรรม ซึ่งแบ่งออกเป็น 3 ขั้นตอนย่อย คือ ขั้นตอนย่อยที่ 1 การกำหนดปัญหา (Problem Definition) ขั้นตอนย่อยที่ 2 การศึกษาความเป็นไปได้ (Feasibility study) ขั้นตอนย่อยที่ 3 การกำหนดความต้องการของระบบ (System Requirements)
ขั้นตอนย่อยที่ 1 การกำหนดปัญหา (Problem Definition) เป็นขั้นตอนที่นักวิเคราะห์ระบบเข้าไปทำความเข้าใจปัญหา คือ การทำความเข้าใจกับปัญหาที่เกิดขึ้นอย่างถ่องแท้ว่าปัญหาที่แท้จริงคืออะไร พร้อมทั้งคิดหาแนวทางหรือสถานการณ์ที่นักวิเคราะห์ระบบเชื่อว่าสามารถปรับปรุงระบบให้ดีขึ้นโดยใช้ระบบสารสนเทศ และนักวิเคราะห์ระบบต้องค้นหาว่าธุรกิจต้องการอะไร เพื่อทำให้เป้าหมายบรรลุวัตถุประสงค์ ในขั้นตอนนี้นักวิเคราะห์ระบบจะทำการเก็บรวบรวมข้อมูลจากผู้ใช้ระบบ โดยการตรวจสอบเอกสาร การสัมภาษณ์ การออกแบบสอบถาม หรือสังเกตพฤติกรรมและสภาพแวดล้อมของธุรกิจ
ขั้นตอนย่อยที่ 2 การศึกษาความเป็นไปได้ (Feasibility study) เป็นขั้นตอนที่นักวิเคราะห์ระบบทำการศึกษาความเป็นไปได้ ในการดำเนินการปรับปรุงระบบ พิจารณาถึงความพร้อมในด้านต่างๆ รวมถึงความเสี่ยงที่อาจส่งผลกระทบต่อความล้มเหลวในการปรับปรุงระบบ โดยทำการศึกษาความเป็นไปได้ในแง่มุมต่างๆ เช่น - ความเป็นไปได้ทางเทคนิค คือ ความเป็นไปได้ของการปรับปรุงระบบหรือพัฒนาระบบใหม่ โดยนำเทคโนโลยีปัจจุบันมาใช้งาน หรือ การอัปเกรดเครื่องคอมพิวเตอร์ หรือตัดสินใจใช้ในทางเทคโนโลยีใหม่ทั้งหมด - ความเป็นไปได้ทางเศรษฐศาสตร์ คือ ความเป็นไปได้ในเชิงเศรษฐศาสตร์ ด้วยการคำนึงถึงต้นทุนค่าใช้จ่ายในการพัฒนาระบบงาน ความคุ้มค่าของระบบด้วยการเปรียบเทียบผลลัพธ์ที่ได้จากระบบกับค่าใช้จ่ายที่ต้องลงทุน
ขั้นตอนย่อยที่ 2 การศึกษาความเป็นไปได้ (Feasibility study) - ความเป็นไปได้ด้านการปฏิบัติงาน คือ ความเป็นไปได้ของระบบใหม่ที่จะให้สารสนเทศที่ถูกต้องตรงความต้องการของผู้ใช้งาน ทัศนคติ ทักษะกับระบบงานใหม่ที่มีการปรับเปลี่ยนโครงสร้างการทำงานใหม่ว่าเป็นที่ยอมรับ หรือไม่ - ความเป็นไปได้ทางด้านเวลาในการดำเนินการ คือ ความเป็นไปได้ของระยะเวลาในการดำเนินงานในการพัฒนาระบบใหม่
ขั้นตอนย่อยที่ 3 การกำหนดความต้องการของระบบ (System Requirements) เป็นขั้นตอนที่นักวิเคราะห์ระบบ ทำการวิเคราะห์ถึงการทำงานของระบบเดิม เพื่อหาปัญหาที่เกิดขึ้นจริงๆ และรวบรวมรายละเอียดต่างๆ เพื่อจุดประสงค์ในการหาข้อสรุปที่ชัดเจนในด้านของความต้องการ ระหว่างผู้พัฒนากับผู้ใช้งาน หรือเรียกว่า ข้อกำหนดความต้องการ (Requirement Specification) เพื่อใช้ในการพัฒนาซอฟต์แวร์ โดยนักวิเคราะห์ระบบจะต้องนำข้อกำหนดความต้องการเสนอต่อผู้บริหารเพื่อพิจารณาและตัดสินใจในการดำเนินการพัฒนาระบบหรือล้มเลิกการพัฒนาระบบ
การรวบรวมข้อมูลหรือความต้องการในด้านต่างๆ เพื่อสรุปเป็นข้อกำหนด
ขั้นตอนที่ 2 การวิเคราะห์ระบบ (Analysis) ในขั้นตอนนี้หลังจากที่ผู้บริหารได้ทำการตัดสินใจที่จะพัฒนาระบบงานหรือปรับปรุงระบบงานเดิม นักวิเคราะห์ระบบจะต้องดำเนินการวิเคราะห์ระบบงานปัจจุบัน (Current System) เพื่อนำมาพัฒนาแนวคิดสำหรับระบบใหม่ (New System) วัตถุประสงค์หลักในการวิเคราะห์ระบบคือ จะต้องศึกษาและทำความเข้าใจในความต้องการต่างๆที่ได้รวบรวมมาจากกระบวนการขั้นตอนการกำหนดความต้องการ โดยนักวิเคราะห์ระบบจะต้องนำข้อมูลความต้องการมาวิเคราะห์เพื่อประเมินว่าควรมีอะไรบ้างที่ระบบใหม่ต้องดำเนินการด้วยการพัฒนาเป็นแบบจำลองลอจิคัล (Logical Model) ขึ้นมา ซึ่งได้แก่แบบจำลองแผนภาพกระแสข้อมูล (Data Flow Diagram) แบบจำลองกระบวนการ (Process Model) และแบบจำลองข้อมูล (Data Model) เป็นต้น
การนำข้อกำหนดมาวิเคราะห์ เพื่อสร้างเป็นแบบจำลองกระบวนการของระบบใหม่
ขั้นตอนที่ 3 การออกแบบ (Design) ในขั้นตอนนี้ นักวิเคราะห์ระบบจะต้องออกแบบระบบสารสนเทศที่จะพัฒนาให้สอดคล้องกับความต้องการที่ได้ระบุไว้ในเอกสารขั้นตอนของการวิเคราะห์ ที่เป็นแบบจำลองเชิงตรรกะมาพัฒนาเป็นแบบจำลองเชิงกายภาพ โดยแบบจำลองเชิงตรรกะที่ได้จากขั้นตอนการวิเคราะห์ มุ่นเน้นว่ามีอะไรที่ต้องทำในระบบ ในขณะที่แบบจำลองเชิงกายภาพจะนำแบบจำลองเชิงตรรกะมาพัฒนาต่อด้วยการมุ่งเน้นว่าระบบจะดำเนินงานอย่างไร เพื่อให้เกิดผลตามความต้องการ โดยการออกแบบระบบจะประกอบด้วยการออกแบบที่เกี่ยวข้องกับฮารด์แวร์ ซอฟต์แวร์และระบบเครือข่าย การออกแบบรายงาน การออกแบบหน้าจอนำเข้าข้อมูล การออกแบบรูปแบบข้อมูลที่นำเข้าและรูปแบบการรับข้อมูล การออกแบบผังระบบงาน การออกแบบฐานข้อมูล การสร้างต้นแบบและการออกแบบโปรแกรม
การออกแบบ จะนำแบบจำลองเชิงตรรกะที่ได้จากการวิเคราะห์ระบบมาออกแบบให้เป็นแบบจำลองเชิงกายภาพ เพื่อนำไปสู่การใช้งานเพื่อแก้ไขปัญหาจริง
ขั้นตอนที่ 4 การพัฒนา (Development) เป็นขั้นตอนที่มีการนำเอาระบบที่ได้ออกแบบไว้จากขั้นตอนออกแบบมาทบทวนเพื่อกำหนดการจัดทำซอฟต์แวร์ การออกแบบซอฟต์แวร์ การเขียนโปรแกรม และการทดสอบโปรแกรม ในกระบวนการนี้ทีมงานโปรแกรมเมอร์จะต้องพัฒนาโปรแกรมตามที่นักวิเคราห์ระบบได้ออกแบบไว้ การเขียนชุดคำสั่งเพื่อสร้างเป็นระบบงานทางคอมพิวเตอร์ขึ้นมา โดยโปรแกรมเมอร์สามารถนำเครื่องมือเข้ามาช่วยในการพัฒนาโปรแกรม เพื่อช่วยให้ระบบงานสามารถพัฒนาได้เร็วขึ้นและมีคุณภาพ และในกระบวนการนี้จะต้องจัดทำเอกสารโปรแกรมควบคู่ไปกับการพัฒนาโปรแกรมเพื่อทำให้ง่ายต่อการตรวจสอบและแก้ไข ข้อกำหนดเกี่ยวกับการพัฒนาโปรแกรม ผู้บริหารขององค์กรจะเป็นผู้ตัดสินใจเลือกวิธีการพัฒนาโปรแกรม บางองค์กรอาจมีทีมงานพัฒนาโปรแกรมในองค์กร หรือซื้อซอฟต์แวร์สำเร็จรูปมาใช้ หรือจ้างบริษัทที่รับพัฒนาระบบโดยเฉพาะ
การเขียนโปรแกรม ทดสอบ เพื่อนำไปติดตั้งใช้งานจริง
ขั้นตอนที่ 5 การทดสอบ (Testing) เมื่อโปรแกรมได้พัฒนาขึ้นมาแล้ว ยังไม่สามารถนำระบบไปใช้งานได้ทันที จำเป็นต้องดำเนินการทดสอบระบบก่อนที่จะนำระบบไปใช้งานจริง การทดสอบเบื้องต้นด้วยการสร้างข้อมูลจำลองขึ้นมาเพื่อตรวจสอบการทำงานของระบบงาน หากพบข้อผิดพลาดก็ทำการปรับปรุงแก้ไขให้ถูกต้อง การทดสอบระบบจะมีการตรวจสอบไวยากรณ์ของภาษาที่ใช้ และตรวจสอบว่าระบบทำงานตรงกับความต้องการของผู้ใช้หรือไม่
ขั้นตอนที่ 6 การติดตั้งระบบ (Implement) เมื่อทำการทดสอบระบบจนมั่นใจว่าระบบที่ได้รับการทดสอบนั้นพร้อมที่จะนำไปติดตั้งเพื่อใช้งานบนสถานการณ์จริง จึงนำระบบไปติดตั้ง การติดตั้งระบบคือการเปลี่ยนการทำงานจากระบบงานเดิมไปเป็นระบบงานใหม่ แต่การเปลี่ยนแปลงไปสู่สิ่งใหม่ย่อมมีผลกระทบต่อผู้งานบางกลุ่ม ที่ยังคงมีความคุ้นเคยกับวิธีการดำเนินงานแบบเก่า รวมทั้งข้อจำกัดในเรื่องของความพร้อมในการเปลี่ยนแปลง ดังนั้นจึงควรเลือกแนวทางที่เหมาะสมในการติดตั้งด้วย ซึ่งแบ่งออกเป็น 4 แนวทางดังนี้
ขั้นตอนที่ 6 การติดตั้งระบบ (Implement) - การติดตั้งแบบทันทีทันใด (Direct Installation) เป็นวิธีการติดตั้งระบบใหม่ทันทีและยกเลิการใช้งานระบบเก่าทันทีเช่นเดียวกัน - การติดตั้งแบบขนาน (Parallel Installation) เป็นวิธีการติดตั้งระบบใหม่ไปพร้อมๆ กับการใช้งานระบบเก่า จนกว่าผู้ใช้และผู้บริหารจะมีความพอใจระบบใหม่จึงตัดสินใจหยุดใช้งานระบบเก่า - การติดตั้งแบบนำร่อง (Single Location Installation/Pilot Installation) เป็นวิธีการติดตั้งที่มีการใช้งานระบบงานใหม่เพียงหน่วยเดียวขององค์กรก่อนเพื่อเป็นการนำร่อง แล้วจึงค่อยปรับเปลี่ยนทั้งหมดเมื่อเห็นว่าระบบใหม่นั้นลงตัวแล้ว - การติดตั้งแบบทยอยติดตั้งเป็นระยะ (Phased Installation) เป็นวิธีการที่ติดตั้งระบบใหม่เพียงบางส่วนก่อนระยะหนึ่งควบคู่ไปกับการใช้งานระบบเก่า แล้วจึงค่อยๆ ทยอยใช้ระบบงานใหม่เพิ่มขึ้นทีละส่วนจนกระทั่งครบทุกส่วนของระบบงานใหม่อย่างเต็มรูปแบบ
ขั้นตอนที่ 6 การติดตั้งระบบ (Implement) ในการใช้งานระบบใหม่ทดแทนระบบงานเดิม นักวิเคราะห์ระบบจำเป็นต้องมีการแปลงข้อมูลจากระบบงานเดิมมาให้อยู่ในรูปแบบที่ระบบใหม่สามารถนำไปใช้งานได้ และในขั้นตอนนี้นักวิเคราะห์ระบบจะต้องดำเนินการจัดทำเอกสารคู่มือระบบ รวมถึงการฝึกอบรมผู้ใช้
ขั้นตอนที่ 7 การบำรุงรักษา (Maintenance) หลังจากที่ระบบงานที่พัฒนาขึ้นมาใหม่ได้ถูกนำไปใช้งานเป็นที่เรียบร้อยแล้ว หากพบข้อผิดพลาดหรือข้อบกพร่องจากการทำงานของระบบงานใหม่ นักวิเคราะห์ระบบจึงจำเป็นต้องดำเนินการติดตามและแก้ไขให้ถูกต้อง รวมถึงกรณีที่ข้อมูลจัดเก็บมีปริมาณมากขึ้น การขยายระบบเครือข่ายเพื่อรองรับเครื่องลูกข่ายที่มีจำนวนมากขึ้น บางกรณีอาจจำเป็นต้องเขียนโปรแกรมเพิ่มเติม หากผู้ใช้มีความต้องการเพิ่มขึ้น ดังนั้นในขั้นตอนของการกำหนดความต้องการนักวิเคราะห์ระบบจึงจำเป็นต้องมีการจัดทำเอกสารข้อตกลงร่วมกันทั้งสองฝ่ายถึงขอบเขตในการพัฒนาระบบงาน และกรณีที่มีการแก้ไขหรือพัฒนาระบบงานเพิ่ม
หลักในการพัฒนาระบบสารสนเทศ 1. คำนึงถึงเจ้าของระบบและผู้ใช้ระบบ ควรคำนึงถึงบทบาทของเจ้าของระบบเนื่องจากเจ้าของระบบ คือผู้ตัดสินใจลำดับสุดท้ายในการแสดงความพึงพอใจต่อระบบที่พัฒนาขึ้นมา เนื่องจากเจ้าของระบบเป็นผู้พิจารณาถึงต้นทุนและการตัดสินใจในการพัฒนาระบบ เพื่อให้ระบบที่พัมนาส่งผลให้เกิดประโยชน์สูงสุดต่อองค์กร 2. พยายามเข้าถึงปัญหาให้ตรงจุด ควรหาสาเหตุของปัญหาให้ได้ โดยมีแนวทางดังนี้ - ศึกษาและทำความเข้าใจถึงสาเหตุของปัญหาของระบบที่เกิดปัญหานั้น - กำหนดความต้องการที่จะแก้ไขปัญหาที่เกิดขึ้น - ระบุถึงวิธีแก้ไขปัญหาแต่ละวิธีและเลือกวิธีที่ดีที่สุด - ออกแบบหรือลงมือแก้ปัญหานั้น - สังเกตและประเมินผลกระทบจากวิธีแก้ปัญหาที่นำมาใช้ และทำการปรับปรุงจนสมบูรณ์ในที่สุด
หลักในการพัฒนาระบบสารสนเทศ หากการแก้ไขปัญหาเกิดข้อผิดพลาด ให้พิจารณาประเด็นหลัก 3 ประการคือ - การเลือกแนวทางแก้ไขปัญหาผิด - การแก้ไขปัญหาไม่ตรงจุด - การแก้ไขปัญหาแล้วเกิดข้อผิดพลาด
หลักในการพัฒนาระบบสารสนเทศ 3. การกำหนดขั้นตอนหรือกิจกรรมในการทำงาน ในการพัฒนาระบบจะต้องมีการกำหนดขั้นตอนหรือกิจกรรมต่างๆ ที่ควรจะทำอย่างชัดเจน อย่างเช่นในวงจรการพัฒนาระบบ (SDLC) ก็มีขั้นตอนในการปฏิบัติอย่างชัดเจน ถึงแม้ว่าในการลงมือปฏิบัติจริงๆ นั้น อาจจะมีการย้อนกลับไปปรับปรุงแก้ไขขั้นตอนที่ผ่านมาบ้างเพื่อความถูกต้อง แต่นั่นก็เป็นสิ่งที่ไม่อาจหลีกเลี่ยงได้ในบางกรณี 4. กำหนดมาตรฐานในระหว่างการพัฒนาระบบและจัดทำเอกสารประกอบในทุกขั้นตอน ควรมีการกำหนดมาตรฐานในระหว่างการพัฒนาระบบเพื่อให้เป็นกฎ/ระเบียบ ในการปฏิบัติงาน อันจะส่งผลให้การปฏิบัติงานเกิดข้อผิดพลาดน้อยที่สุด เพราะหากเกิดข้อผิดพลาดขึ้น นั่นคือความล้มเหลวในการพัฒนาระบบ ดังนั้นมาตรฐานในระหว่างการพัฒนาระบบนั้นมีขึ้นเพื่อกำหนดลักษณะการทำงานในด้านต่างๆ มีรายละเอียดดังนี้
หลักในการพัฒนาระบบสารสนเทศ มาตรฐานในระหว่างการพัฒนาระบบ - ด้านการปฏิบัติงาน (Activity) จะต้องเป็นไปตามลำดับขั้นตอนของการพัฒนาระบบที่ได้กำหนดไว้ - ด้านหน้าที่ความรับผิดชอบ (Responsibility) เป็นการกำหนดขอบเขตความรับผิดชอบของแต่ละฝ่ายที่เกี่ยวข้อง ว่ามีขอบข่ายงานอย่างไร ทำให้มีการทำงานที่ชัดเจนขึ้น - ด้านการตรวจสอบคุณภาพ (Quality Checks) เป็นการตรวจสอบการปฏิบัติงานในการพัฒนาระบบว่าเป็นไปตามความต้องการของเจ้าของระบบหรือผู้ใช้ระบบหรือไม่ ด้านเอกสารคู่มือหรือรายละเอียดความต้องการ (Documentation Guidelines/ Requirements) จะต้องมีความเป็นระเบียบ ถูกต้องและเป็นปัจจุบันมากที่สุด มาตรฐานที่กำหนดการทำงานและเอกสารต่างๆ ควรจะมีการจัดทำขึ้นในการพัฒนาระบบทุกๆขั้นตอน
หลักในการพัฒนาระบบสารสนเทศ 5. การพัฒนาระบบคือการลงทุน การพัฒนาระบบคือการลงทุน นั่นหมายถึงการลงทุนไปจะไม่ได้ผลกำไรกลับคืนมา ดังนั้นนักวิเคราะห์ระบบควรเพิ่มความรอบคอบในการวิเคราะห์ถึงปัญหาต่างๆ ไม่ควรรีบร้อนตัดสินใจที่จะเลือกวิธีการแก้ปัญหาใดๆ ในทันที ควรหาทางเลือกให้มากพอสมควร แล้วนำมาเปรียบเทียบกันเสียก่อน และหลังจากที่ได้กำหนดทางเลือกต่างๆ ที่สามารถนำมาใช้ในการแก้ปัญหา การตัดสินใจเลือกทางเลือกที่ดีที่สุดนั้นควรมีการพิจารณาถึง ประสิทธิผลของความคุ้มค่าในการลงทุน (Cost-effectiveness) ของแต่ละแนวทางเลือก ประสิทธิผลของความคุ้มค่าในการลงทุน (Cost-effectiveness) คือ ผลที่ได้จากการเปรียบเทียบระหว่างต้นทุนและผลตอบแทนที่จะได้รับจาการใช้ระบบนั้น
หลักในการพัฒนาระบบสารสนเทศ 6. เตรียมความพร้อมหากแผนงานหรือโครงการต้องถูกยกเลิกหรือต้องทบทวนใหม่ ในระหว่างการพัฒนาระบบนั้น อาจมีความเป็นไปได้ที่โครงการหรือแผนงาน จะถูกยกเลิกหรือทบทวนใหม่ อันเนื่องจากการวิเคราะห์และประเมินผลแล้วว่าเป็นโครงการที่มีข้อผิดพลาดหรือไม่คุ้มค่าในการลงทุน ซึ่งอาจทำให้เกิดความเสียหายต่อองค์กรได้ ดังนั้นจึงมีแนวทางในการพิจารณาการยกเลิกโครงการดังนี้ - ให้ยกเลิกโครงการทันทีถ้าเห็นว่าโครงการนั้นไม่สามารถบรรลุผลได้ - ให้ทำการประเมินค่าต้นทุนและวางแผนระยะเวลาดำเนินการโครงการเสียใหม่ ถ้ามีการเพิ่มขอบเขตของโครงการ - ให้ลดขอบเขตของโครงการลง เมื่อมีการจำกัดงบประมาณและแผนการของโครงการ
หลักในการพัฒนาระบบสารสนเทศ 7. แตกระบบใหญ่ให้เป็นระบบย่อย ระบบที่มีกลุ่มของระบบอื่นๆ ที่เล็กกว่าเป็นส่วนประกอบ เรียกระบบนี้ว่า “Supersystems” ส่วนระบบเล็กๆ ที่เป็นส่วนประกอบของระบบใหญ่กว่า เรียกระบบนี้ว่า “Subsystems” ดังนั้น SuperSystems และ SubSystems ย่อมมีความสัมพันธ์กัน เมื่อ Supersystems เกิดการเปลี่ยนแปลง Subsystems ย่อมมีความเปลี่ยนแปลงตามไปด้วย จากแนวคิดดังกล่าว เมื่อนำมาประยุกต์เข้ากับปัญหาที่เกิดขึ้น โดยจากระบบที่ต้องการพัฒนา (Supersystem) ให้แบ่งออกเป็นระบบเล็กๆ (Subsystem) แล้วทำการแก้ปัญหาไปทีละส่วน นั่นคือ การแบ่งแยกปัญหาที่เกิดขึ้นว่าเกิดจากสาเหตุใดบ้าง แล้วแก้ปัญหานั้นทีละสาเหตุ ก็จะสามารถทำให้กระบวนการแก้ไขปัญหานั้นมีประสิทธิภาพมากขึ้น
หลักในการพัฒนาระบบสารสนเทศ 8. ออกแบบระบบเพื่อรองรับการเติบโตและการเปลี่ยนแปลงในอนาคต ความต้องการสำคัญที่นำมาใช้ในการพัฒนาระบบ ก็คือความต้องการจากผู้ใช้งาน ซึ่งเป็นสิ่งที่นักวิเคราะห์ระบบตระหนักดีอยู่เสมอ และสิ่งที่ควรตระหนักเพิ่มมากขึ้นคือ ความต้องการของผู้ใช้งานนั้นไม่เฉพาะขณะทำการพัฒนาระบบเท่านั้น แต่รวมไปถึงการคาดการณ์ถึงความต้องการของผู้ใช้ระบบที่อาจเกิดขึ้นในอนาคตด้วย นั่นเป็นสิ่งที่ทำให้อาจะจะต้องเสียค่าใช้จ่ายมากมายหากมีการเติบโตและเปลี่ยนแปลงของระบบ เนื่องจากต้องมีการออกแบบระบบใหม่อีกครั้งเพื่อปรับเปลี่ยนระบบเดิมให้สามารถทำงานร่วมกันได้กับเทคโนโลยีใหม่ที่เกิดขึ้น ดังนั้นนักวิเคราะห์ระบบควรออกแบบระบบเพื่อรองรับการเจริญเติบโตและการเปลี่ยนแปลงที่จะเกิดขึ้นในอนาคตด้วย
วิธีการพัฒนาระบบ (System Development Approaches) การพัฒนาระบบเชิงโครงสร้าง (Structured System Development) เป็นวิธีการพัฒนาระบบแบบดั้งเดิม ที่เกี่ยวข้องกับ การวิเคราะห์เชิงโครงสร้าง การออกแบบเชิงโครงสร้างและการโปรแกรมเชิงโครงสร้าง โดยสามารถเรียกเทคนิคทั้งสามได้ว่า “เทคนิคการวิเคราะห์และออกแบบเชิงโครงสร้าง (Structured Analysis and Design Technique: SADT)”
วิธีการพัฒนาระบบ (System Development Approaches) การพัฒนาระบบเชิงโครงสร้าง (Structured System Development) เทคนิคการโปรแกรมเชิงโครงสร้าง (Structured Programming Technique) ถูกพัฒนาขึ้นเมื่อปี ค.ศ. 1960 และนำมาใช้งานเป็นครั้งแรก เพื่อเป็นแนวทางในการปรับปรุงคุณภาพการเขียนโปรแกรมคอมพิวเตอร์ให้ดียิ่งขึ้น โดยมีแนวคิดว่า โปรแกรมที่มีคุณภาพสูง มิใช่แค่การแสดงผลลัพธ์ที่ถูกต้องเท่านั้น แต่จะต้องเป็นโปรแกรมที่อ่านง่าย โปรแกรมเมอร์คนอื่นๆ อ่านแล้วเข้าใจ เพื่อสามารถนำไปปรับปรุงแก้ไขในภายหลังได้ง่าย โดยตัวโปรแกรมที่เขียน จะมีลักษณะสำคัญคือ จะต้องมีหนึ่งจุดเริ่มต้นและหนึ่งจุดสิ้นสุดเสมอ (one beginning and one ending) โดยจะมีขั้นตอนการประมวลผล 1 ใน 3 รูปแบบดังนี้ ชุดคำสั่งเรียงเป็นลำดับ (Sequence) ชุดคำสั่งกำหนดทางเลือกหรือการตัดสินใจ (Decision) ชุดคำสั่งเพื่อการทำซ้ำหรือวนลูป (Repetition/Looping)
วิธีการพัฒนาระบบ (System Development Approaches)
วิธีการพัฒนาระบบ (System Development Approaches) เทคนิคการออกแบบเชิงโครงสร้าง (Structure Design Technique) ถูกพัฒนาขึ้นเมื่อปี ค.ศ.1970 ซึ่งเป็นยุคที่ระบบสารสนเทศเริ่มมีความซับซ้อน โดยระบบหนึ่งๆ อาจประกอบไปด้วยฟังก์ชั่นต่างๆ มากมาย แต่ละฟังก์ชั่นก็ยังมีการแยกย่อยออกเป็นโปรแกรมต่างๆ จำนวนมาก สามารถจัดการกับกลุ่มโปรแกรม ด้วยการนำเสนอผ่าน ผังโครงสร้าง (Structure Chart) ซึ่งเป็นแผนภาพที่แสดงให้เห็นถึงโมดูลภายในโปรแกรม แสดงถึงวิธีการจัดการกับโมดูลและการส่งผ่านข้อมูลระหว่างโมดูล คำนึงหลักการของ Coupling และ Cohesion ทำให้ทราบว่า สิ่งที่ระบบต้องทำ มีอะไรบ้าง อะไรคือฟังก์ชั่นหลักของระบบ ข้อมูลที่ต้องการใช้ คืออะไร และ เอาต์พุตที่ต้องการคืออะไร ต่อมาเทคนิคการออกแบบแฟ้มข้อมูลและฐานข้อมูลได้รับการพัฒนาขึ้นมา เพื่อนำมาใช้ควบคู่กับการออกแบบเชิงโครงสร้าง การออกแบบเชิงโครงสร้างเวอร์ชั่นใหม่ๆ จึงมีการนำระบบจัดการฐานข้อมูล (DBMS) มาใช้ในระบบ และโมดูลโปรแกรมก็ได้รับการออกแบบให้มีการโต้ตอบกับฐานข้อมูล ประกอบกับผู้ใช้หรือผู้ที่มีส่วนร่วมกับระบบ ได้เข้ามามีบทบาทร่วมกันในระบบสารสนเทศมากขึ้น ดังนั้นเทคนิคการออกแบบยูสเซอร์อินเตอร์เฟซจึงได้รับการพัฒนาขึ้น และการวิเคราะห์เชิงโครงสร้างสมัยใหม่ (Modern Structured Analysis) ก็ได้ถูกนำมาใช้ ดังนั้นการกำหนดความต้องการของระบบ (System Requirements) จึงได้รับการพัฒนาขึ้น โดยความต้องการของระบบจะกำหนดถึงสิ่งที่ระบบต้องทำ
ตัวอย่าง การวิเคราะห์เชิงโครงสร้าง (Structure Analysis Technique
วิธีการพัฒนาระบบ (System Development Approaches) พัฒนาระบบเชิงวัตถุ (Object-Oriented System Development) เป็นวิธีการพัฒนาที่จะมองระบบสารสนเทศเป็นแหล่งรวมของการโต้ตอบระหว่างวัตถุ (Objects) เพื่อทำงานร่วมกันจนกระทั่งงานสำเร็จ
วิธีดั้งเดิม (เชิงโครงสร้าง) ข้อมูลเปรียบเทียบวิธีการวิเคราะห์และออกแบบระบบแบบดั้งเดิมและแบบเชิงวัตถุ วิธีดั้งเดิม (เชิงโครงสร้าง) วิธีเชิงวัตถุ วิเคราะห์ข้อมูลจากเอกสาร รายงาน และขั้นตอนการทำงานของระบบงานเดิม วิเคราะห์จากออบเจ็กต์ที่เกี่ยวข้อง แตกกระบวนการทำงานออกเป็นโมดูลย่อยๆ จัดกลุ่ม จัดประเภทของออบเจ็กต์ที่เป็นไปตามคุณลักษณะ โปรแกรมต่างๆ ในระบบ จะมีความเกี่ยวข้องกัน ซึ่งการเปลี่ยนแปลงที่เกิดขึ้น อาจส่งผลกระทบต่อโปรแกรมอื่นๆ ที่เกี่ยวข้อง ออบเจ็กต์แต่ละตัวจะมีความเป็นอิสระกัน ในการเปลี่ยนแปลงรายละเอียดใดๆ จะไม่มีผลกระทบซึ่งกันและกัน กรณีปรับปรุงหรือเปลี่ยนแปลงระบบ จะทำได้ด้วยการแก้ไขชุดคำสั่งหรือซอร์สโค้ด การปรับปรุงหรือเปลี่ยนแปลงระบบ จะทำได้ด้วยการเปลี่ยนรายละเอียดด้านคุณสมบัติ และฟังก์ชั่นการทำงานของออบเจ็กต์นั้นๆ เครื่องมือที่นำมาสนับสนุนระบบ ปัจจุบันเริ่มมีน้อยลง เครื่องมือที่นำมาสนับสนุนระบบ มีมาขึ้นเรื่อยๆ