1. การกำหนดปัญหา (Problem Definition) หรือการเลือกสิ่งที่จะนำมาพัฒนาระบบงาน (Project Identification and Selection) นับว่าเป็นขั้นตอนแรกในวงจรของการพัฒนา ขั้นตอนนี้มักจะเกิดขึ้นอย่างเป็นทางการ จากการประชุมของฝ่ายบริหาร เพื่อที่จะค้นหาวิธีการทำงานที่มีประสิทธิภาพ และ มุ่งหวังที่จะใช้แทนวิธีการทำงานแบบเดิม ปรับปรุงวิธีการทำงาน หรือ เพื่อสร้างรูปแบบบริการแบบใหม่ เป็นต้น 2. การวิเคราะห์ปัญหา (Analysis) เมื่อผ่านขั้นตอนการการกำหนด หรือ เลือกโครงการที่จะทำการพัฒนาแล้ว ขั้นตอนต่อไปก็จะต้องนำเอาสิ่งที่ได้จากขั้นตอนแรกมาทำการวิเคราะห์โดยนักวิเคราะห์ระบบจะต้องทำการ วิเคราะห์ระบบในขั้นตอนนี้เป็นขั้นตอนที่มีความสำคัญมากและไม่ควรทำอย่างรีบเร่งเนื่องจากโครงการพัฒนาจำนวนมากที่ประสบความล้มเหลวเพราะการวิเคราะห์ และออกแบบที่ไม่ถูกต้อง 3. การออกแบบ(Design) จะเป็นการนำเอาสิ่งที่ได้จากการวิเคราะห์มาออกแบบเป็นระบบงานสำหรับการพัฒนาในขั้นตอนถัดไป เช่น การออกแบบ Form , Report, Dialogues, Interface, Files & Database, Program & Process design เป็นต้น 4. การพัฒนาระบบงาน (Development) หรือ การสร้างระบบงานจริง ขั้นตอนนี้จะเป็นขั้นตอนที่นำเอาสิ่งที่ได้จากการออกแบบระบบมาทำการ Coding หรือสร้างตัวระบบงานขึ้นมาใช้งานจริงผู้ที่มีบทบาทสูงในขั้นตอนนี้คือ Programmer นั่นเอง 5. การทดสอบ (Testing) การทดสอบระบบจะเป็นการตรวจสอบความถูกต้องของระบบงานที่ถูกสร้างขึ้นมาว่าตรงตามกับความต้องการจริงๆ หรือไม่ การ Test จะมีด้วยกัน หลายระดับ กล่าวคือ 1. การทดสอบในระดับ Module หรือ Unit test เป็นการทดสอบการทำงานโดยแยกเป็นส่วนย่อยๆในแต่ละ module 2.การทดสอบ Integrate test จะนำเอา module ย่อยๆ มาทำการทดสอบการทำงานเป็นกระบวนการร่วมกัน 3. System test การทดสอบโดยนำเอาโปรแกรมย่อยมาทดสอบการทำงานร่วมกันทั้งระบบ 4. Acceptance test เป็นการทดสอบขั้นสุดท้ายโดย user (มี 2 ระดับ Alfa testing using simulated data, Beta testing using real data) - การติดตั้ง (Deployment) Direct installation, Para ell Installation, Single location installation, Phased installation - การบำรุงรักษา (Maintenance) Obtain Maintenance Request, Transforming Request into Change, Designing Change, Implementing Change กระบวนการพัฒนาระบบสารสนเทศ ความจำเป็นในการพัฒนาระบบสารสนเทศ 1. การเปลี่ยนแปลงกระบวนการบริหารและการปฏิบัติงาน ระบบเดิมไม่สามารถให้ข้อมูลหรือทำงานได้ตามต้องการ มีการดำเนินงานหลายขึ้นตอน ยุ่งยากในการรวบรวมข้อมูลเพื่อนำมาจัดทำข้อมูลสรุปสำหรับการติดตามการปฏิบัติงานโดยรวมขององค์การ จึงจำเป็นต้องพัฒนาหรือปรับปรุงระบบสารสนเทศที่สามารถช่วยให้ขั้นตอนการปฏิบัติงานภายในและกระบวนการบริหารมีประสิทธิภาพมากขึ้น 2. การเปลี่ยนแปลงด้านเทคโนโลยี เทคโนโลยีที่ใช้อยู่ในระบบสารสนเทศปัจจุบันล้าสมัย ค่าช้จ่ายในการบำรุงรักษาระบบมีราคาสูง จึงต้องรับเอาเทคโนโลยีใหม่ๆ มาประยุกต์ใช้ซึ่งทำให้มีการเปลี่ยนแปลงระบบการทำงานที่มีอยู่เดิม 3. การปรับองค์การและสร้างความได้เปรียบในการแข่งขัน - ระบบที่ใช้งานอยู่ปัจจุบันมีขั้นตอนการทำงานที่ยุ่งยากซับซ้อน ขนาดเอกสารอ้างอิงหรือเอกสารที่มีอยู่ไม่ได้มารตรฐาน ทำให้การปรับปรุงหรือแก้ไขทำได้ยาก - ความต้องการปรับองค์การให้เหมาะสมเพื่อสามารตอบสนองต่อการเปลี่ยนแปลงสภาพแวดล้อมทางธุรกิจ - ระบบปัจจุบันไม่สามารถรองรับการเปลี่ยนแปลงในอนาคตได้ การพัฒนาระบบประกอบด้วย 1) กระบวนการทางธุรกิจ (Business Process) เกี่ยวข้องกับวัตถุประสงค์ เป้าหมาย และขั้นตอนการดำเนินธุรกิจขององค์การ - การปรับปรุงคุณภาพ - การติดตามความล้มเหลวจากการดำเนินงาน - การปรับค่าตอบแทนของพนักงานโดยใช้การปรับปรุงคุณภาพเป็นดัชนี - การค้นหาและแก้ไขสาเหตุที่แท้จริงของความล้มเหลว 2) บุคลากร (People) 3) วิธีการและเทคนิค (Methodology and Technique) การเลือกใช้วิธีการและเทคนิคที่เหมาะสมกับลักษณะของระบบเป็นสิ่งสำคัญ 4) เทคโนโลยี (Technology) เทคโนโลยีมีการเปลี่ยนแปลงอย่างรวดเร็วจึงต้องมีการพิจารณาอย่างรอบคอบในการเลือกใช้เทคโนโลยีสารสนเทศให้มีความเหมาะสมกับลักษณะขอบเขตของระบบสารสนเทศแล ะงบประมาณที่กำหนด 5) งบประมาณ (Budget) 6) ข้อมูลและโครงสร้างพื้นฐานภายในองค์การ (Infrastructure) 7) การบริหารโครงการ (Project Management) ทีมงานพัฒนาระบบ การพัฒนา IT เกี่ยวข้องกับบุคคลที่มีหน้าที่รับผิดชอบกระบวนการพัฒนาระบบหลายกลุ่ม โดยทั่วไปจะมีการทำงานเป็นทีมที่ต้องอาศัยความรู้ ประสบการณ์ และทักษะจากกลุ่มบุคคล 1) คณะกรรมการ (Steering Committee) 2) ผู้บริหารโครงการ (Project Manager) 3) ผู้บริหารหน่วยงานด้านสารสนเทศ (MIS Manager) 4) นักวิเคราะห์ระบบ (System Analyst) ควรมีทักษะในด้านต่างๆ คือ - ทักษะด้านเทคนิค - ทักษะด้านการวิเคราะห์ - ทักษะดานการบริหารจัดการ - ทักษะด้านการติดต่อสื่อสาร 5) ผู้ชำนาญการทางด้านเทคนิค - ผู้บริหารฐานข้อมูล (Database Administrator : DBA) - โปรแกรมเมอร์ (Programmer) 6) ผู้ใช้และผู้จัดการทั่วไป (User and Manager) หลักในการพัฒนาระบบสารสนเทศให้มีประสิทธิภาพ 1) คำนึงถึงเจ้าของและผู้ใช้ระบบ 2) เข้าถึงปัญหาให้ตรงจุด ซึ่งมีแนวทางการแก้ปัญหาที่เป็นระบบมีขั้นตอนดังนี้ - รวบรวมและกำหนดความต้องการ - หาวิธีการแก้ปัญหาหลายๆ วิธีและเลือกวิธีที่ดีที่สุด - ออกแบบและทำการแก้ปัญหาตามวิธีที่เลือก - สังเกตและประเมินผลกระทบจากวิธีแก้ปัญหาที่นำมาใช้ และปรับปรุงวิธีการให้มีประสิทธิภาพมากที่สุด 3) กำหนดขั้นตอนหรือกิจกรรมในการพัฒนาระบบ 4) กำหนดมาตรฐานในการพัฒนาระบบ 5) ตระหนักว่าการพัฒนาระบบเป็นการลงทุนประเภทหนึ่ง 6) เตรียมความพร้อมหากจะต้องยกเลิกหรือทบทวนระบบสารสนเทศที่กำลังพัฒนา 7) แตกระบบสารสนเทศที่จะพัฒนาออกเป็นระบบย่อย 8) ออกแบบระบบให้สามารถรองรับต่อการขยายหรือการปรับเปลี่ยนในอนาคต ขั้นตอนในการพัฒนาระบบสารสนเทศ - การกำหนดและเลือกโครงการ (System Identification and Selection) - การเริ่มต้นและวางแผนโครงการ (System Initiation and Planning) - การวิเคราะห์ระบบ (System Analysis) - การออกแบบระบบ (System Design) - การพัฒนาและติดตั้งระบบ (System Implementation) - การบำรุงรักษาระบบ (System Maintenance) การพัฒนาระบบมีรูปแบบต่างๆ 1. การพัฒนาระบบแบบน้ำตก (Waterfall Model) แต่ละขั้นตอนของการพัฒนาระบบจะเริ่มได้ก็ต่อเมื่อได้ทำขั้นตอนก่อนหน้านี้เสร็จเรียบร้อยและจะไม่ย้อนกลับไปทำขั้นตอนก่อนหน้านี้อีก 2. การพัฒนาระบบแบบน้ำตกที่ย้อนกลับขั้นตอนได้ (Adapted Waterfall ) เป็นรูปแบบการพัฒนาที่หากดำเนินการในขั้นตอนใดอยู่สามารถย้อนกลับไปขั้นตอนก่อนหน้านี้ได้เพื่อแก้ไขข้อผิดพลาดหรือ 3. การพัฒนาระบบอย่างรวดเร็ว (Rapid Application Development) เป็นรูปแบบการพัฒนาที่มีการทำซ้ำบางขั้นตอนจนกว่าขั้นตอนต่างๆ ของระบบที่สร้างจะได้รับการยอมรับ 4. การพัฒนาระบบในรูปแบบขดลวด (Evolutionary Model SDLC) เป็นการพัฒนาระบบแบบวนรอบเพื่อให้การพัฒนาระบบมีความรวดเร็วโดยการพัฒนาระบบจะเริ่มจากแกนกลาง ในรอบแรกของการพัฒนาจะได้ ระบบรุ่น(Version) แรกออกมาและจะปรับปรุงให้ดีขึ้นในรุ่นที่สอง และดำเนินการแบบนี้ไปเรื่อยๆจนกว่าจะได้รุ่นที่สมบูรณ์ วงจรการพัฒนาระบบ Phase 1 การกำหนดและเลือกสรรโครงการ (System Identification and Selection) ผลของการพิจารณาของคณะกรรมการอาจเป็นไปได้ดังนี้ - อนุมัติโครงการ - ชะลอโครงการ - ทบทวนโครงการ - ไม่อนุมัติโครงการ Phase 2 การเริ่มต้นและวางแผนโครงการ (System Initiation and Planning) จะเริ่มจัดทำโครงการ โดยจัดตั้งทีมงานพร้อมทั้งกำหนดหน้าที่และความรับผิดชอบ - การศึกษาความเป็นไปได้ - การพิจารณาผลประโยชน์หรือผลตอบแทนที่จะได้รับจากโครงการ - การพิจารณาค่าใช้จ่ายหรือต้นทุนของโครงการ - การวิเคราะห์ความคุ้มค่าของการพัฒนาระบบสารสนเทศ Phase 3 การวิเคราะห์ระบบ (System Analysis) ในขั้นตอนนี้จะเกี่ยวกับการเก็บข้อมูล - Fact-Finding Technique - Joint Application Design (JAD) - การสร้างต้นแบบ Phase 4 การออกแบบระบบ (System Design) การออกแบบแบ่งเป็น 2 ส่วน - การออกแบบเชิงตรรกะ (Logical Design) - การออกแบบเชิงกายภาพ (Physical Design) Phase 5 การดำเนินการระบบ (System Implementation) ซึ่งจะครอบคลุมกิจกรรมดังต่อไปนี้ - จัดซื้อหรือจัดหาฮาร์ดแวร์ (Hardware) และซอฟต์แวร์ (Solfware) - เขียนโปรแกรมโดยโปรแกรมเมอร์ (Coding) - ทำการทดสอบ (Testing) - การจัดทำเอกสารระบบ (Documentation) - การถ่ายโอนระบบงาน (System Conversion) - ฝึกอบรมผู้ใช้ระบบ (Training)
เป็นขั้นตอนการดูและระบบเพื่อให้ระบบมีประสิทธิภาพในการทำงานโดยบุคลากรทางด้านเทคโนโลยีสารสนเทศมีหน้าที่ในส่วนนี้ การบำรุงรักษาระบบแบ่งได้ 4 ประเภท - Corrective Maintenance เพื่อแก้ไขข้อผิดพลาดของระบบ - Adaptive Maintenance เพื่อให้ระบบสามารถรองรับความต้องการที่เพิ่มขึ้น - Perfective Maintenance เพื่อบำรุงรักษาระบบให้ทำงานได้อย่างมีประสิทธิภาพ - Preventive Maintenance เพื่อบำรุงรักษาระบบป้องกันข้อผิดพลาดที่จะเกิด วิธีการพัฒนาระบบสารสนเทศ 1) การพัฒนาระบบงานแบบดั้งเดิม (Traditional SDLC Methodology) เป็นการพัฒนาระบบสารสนเทศตามวงจรการพัฒนาระบบที่มีขั้นตอนที่แน่นอน วิธีนี้เป็นวิธีเก่าแก่ที่สุดและนิยมเรียกย่อๆ ว่า SDLC 2) การสร้างต้นแบบ (Prototyping) เป็นการสร้างระบบต้นแบบขึ้นมาเพื่อให้ผู้ใช้ทดลองใช้งานซึ่งนอกจากผู้ใช้จะได้แนวคิดเกี่ยวกับสารสนเทศที่ต้องการแล้วยังช่วยให้มองเห็นภาพของระบบที่จะพัฒนาได้ชัดเจนขึ้น การพัฒนาระบบโดยใช้ตนแบบแบงออกเป็น 4 ขั้นตอน ขั้นที่ 1 : ระบุความต้องการเบื้องต้นของผู้ใช้ ขั้นที่ 2 : พัฒนาต้นแบบเริ่มแรก ขั้นที่ 3 : นำต้นแบบมาใช้ ขั้นที่ 4 : ปรับปรุงแก้ไขต้นแบบ 3) การพัฒนาระบบโดยผู้ใช้ (End-user Development) 4) การใช้บริการจากแหล่งภายนอก (Outsourcing) เนื่องจากองค์การไม่มีบุคลากรที่มีทักษะความชำนาญ การจ้างหน่วยงานหรือบริษัทภายนอกที่มีความชำนาญด้านนี้มาทำการพัฒนาระบบให้ ซึ่งการทำสัญญาจ้างให้หน่วยงานภายนอกมาทำงานเกี่ยวกับการดำเนินงานของฝ่ายคอมพิวเตอร์นี้เรียกว่า IT Outsourcing ในที่นี้จะเรียกสั้นๆ ว่า Outsourcing 5) การใช้ซอฟแวร์สำเร็จรูปประยุกต์ (Application Software Package) เป็นทางเลือกหนึ่งในการพัฒนา เช่น ระบบงานเงินเดือน ระบบบัญชีลูกหนี้ หรือระบบควบคุมสินค้าคลคลัง หากซอฟต์แวร์สำเร็จรูปสามารถสนองต่อความต้องการระบบงานขององค์การได้ องค์การก้ไม่จำเป็นต้องพัฒนาขึ้นเอง เนื่องจากโปรแกรมสำเร็จรูปได้รับการออกแบบและผ่านการทดสอบแล้ว จึงช่วยลดค่าใช่จ่ายและเวลาในการพัฒนาระบบใหม่และยังช่วยให้การทดสอบ การติดตั้ง และการบำรุงรักษาระบบเป็นไปได้ง่ายขึ้น การพัฒนาระบบแบบออบเจ็กต์ (Object-Oriented Methodology) ประกอบด้วยกลุ่มของวัตถุ (Class of Objects) ซึ่งทำงานร่วมกัน มีการจัดกลุ่มของข้อมูลและพฤติกรรมหรือฟังก์ชันที่กระทำกับข้อมูลนั้นเป็นกลุ่มๆ ในรูปของออบเจ็กต์ เนื่องจากออบเจ็กต์มีคุณสมบัติในการนำกลับมาใช้ใหม่ได้ (Reusability) การพัฒนาโปรแกรมแบบออบเจ็กต์จึงใช้เวลาในการพัฒนาน้อยกว่าวิธีอื่น การพัฒนาระบบงานประยุกต์แบบรวดเร็ว (Rapid Application Development) เป็นขั้นตอนในการพัฒนาระบบที่ใช้ระยะเวลาในการพัฒนารวดเร็วกว่าและคุณภาพดีกว่าวิธีพัฒนาระบบงานแบบดั้งเดิม โดยมีการนำเครื่องมือซอฟต์แวร์มาช่วยในการพัฒนาระบบซึ่งมีขั้นตอนในการพัฒนาระบบอยู่ 4 ขั้นตอนคือ |