ขั้น ตอน การพัฒนาระบบสารสนเทศ 7 ขั้น ตอน

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)


Phase 6  การบำรุงรักษาระบบ (System Maintenance)

            เป็นขั้นตอนการดูและระบบเพื่อให้ระบบมีประสิทธิภาพในการทำงานโดยบุคลากรทางด้านเทคโนโลยีสารสนเทศมีหน้าที่ในส่วนนี้

การบำรุงรักษาระบบแบ่งได้ 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 ขั้นตอนคือ