วิธีการวิเคราะห์ปัญหา

การเขียนโปรแกรมเพื่อสั่งให้คอมพิวเตอร์ทำงานที่ต้องการนั้น สิ่งที่จำเป็นและสำคัญที่สุดคือ การวิเคราะห์ปัญหา เพื่อศึกษาถึงลักษณะและรายละเอียดของปัญหาที่จะนำมาใช้ในการเขียนโปรแกรม เช่น ต้องการให้คอมพิวเตอร์ทำงานอะไร รูปแบบของผลลัพธ์ที่ต้องการ ข้อมูลที่จะต้องป้อนเข้าไปเพื่อใช้ในการประมวลผล วิธีการประมวลผลที่ได้มาซึ่งผลลัพธ์ที่กำหนด ถ้าวิเคราะห์ข้อมูลผิดพลาดก็จะทำให้การเขียนโปรแกรมสั่งให้คอมพิวเตอร์ทำงานผิดพลาดไปด้วย

          ขั้นตอนการวิเคราะห์ปัญหา จำเป็นต้องอ่านโจทย์อย่างระมัดระวัง โดยการวิเคราะห์และตีโจทย์ให้แตก เพื่อให้เข้าใจถึงแก่นแท้ของปัญหาให้จงได้ เพื่อให้ได้มาซึ่งความต้องการที่แท้จริง ทั้งนี้หากไม่สามารถตอบโจทย์ได้ หรือตีความสิ่งที่โจทย์ต้องการผิดพลาดไป ก็ย่อมส่งผลกระทบต่อเนื่องกันเป็นทอดๆ ทำให้โปรแกรมที่เขียนขึ้นไม่ตรงกับความต้องการในที่สุด ซึ่งส่งผลต่อการสูญเสียงบประมาณและสูญเสียโอกาสตามมา สำหรับขั้นตอนการวิเคราะห์ปัญหานั้น จะมีการแบ่งส่วนประกอบออกเป็น 3 ส่วนหลักๆ ด้วยกัน ดังนี้1) ส่วนข้อมูลนำเข้า (Input)2) ส่วนการประมวลผล (Processing) และ 3) ส่วนผลลัพธ์ (Output)    

ตัวอย่างการวิเคราะห์ปัญหา

ปัญหา    บ้านเช่าหลังหนึ่ง คิดค่าเช่าบ้านเดือนละ 3,000 บาท ค่าไฟฟ้าหน่วยละ 5 บาท ค่าน้ำประปาหน่วยละ 6 บาท จงเขียนโปรแกรมเพื่อคำนวณยอดเงินรวมที่ผู้เช่าบ้านจะต้องชำระให้เจ้าของบ้านในแต่ละเดือน

1.สิ่งที่ต้องการ (Requirement) คำนวณหายอดเงินรวมที่ผู้เช่าบ้านต้องชำระในแต่ละเดือน แล้วรายงานผลการคำนวณ
2. รูปแบบของผลลัพธ์ (Output) ให้มีการแสดงผลออกทางเครื่องพิมพ์ ดังนี้

3. ข้อมูลนำเข้า (Input)
– จำนวนเงินค่าเช่าบ้าน
– จำนวนหน่วยการใช้ไฟฟ้า
– จำนวนหน่วยการใช้น้ำประปา

4. ตัวแปรที่ใช้ (Variable)
   – Home แทน จำนวนเงินค่าเช่าบ้าน
   – UE  แทน จำนวนหน่วยการใช้ไฟฟ้า
– E      แทน จำนวนเงินค่าไฟฟ้า
– UW  แทน จำนวนหน่วยการใช้น้ำประปา
– W     แทน จำนวนเงินค่าน้ำประปา
– Pay  แทน ยอดเงินรวมที่ต้องชำระ

5. วิธีการประมวลผล (Process)
5.1 เริ่มต้น
5.2 รับจำนวนเงินค่าเช่าบ้าน
5.3 รับค่าจำนวนหน่วยการใช้ไฟฟ้า
5.4 รับค่าจำนวนหน่วยการใช้น้ำประปา
5.5 คำนวณเงินค่าไฟฟ้าจากสูตร E = UEx5
5.6 คำนวณเงินค่าน้ำประปาจากสูตร W = UWx6
5.7 คำนวณยอดเงินรวมที่ต้องชำระ จากสูตร Pay = Home + E + W
5.8 พิมพ์จำนวนยอดเงินที่ต้องชำระHome, E, W, Pay
5.9 จบการทำงาน

          ความรู้ในการวิเคราะห์และออกแบบระบบมีความสำคัญ เพราะเป็นปัจจัยในการสร้างและพัฒนาระบบสารสนเทศ การวิเคราะห์ระบบเป็นเรื่องที่น่าสนใจ เพราะนักวิเคราะห์ระบบต้องติดต่อกับคนหลายคน ได้รู้ถึงการจัดการและการทำงานในองค์การ ทำให้เรามีความรู้เกี่ยวกับระบบคอมพิวเตอร์หลายแบบมากขึ้น ผู้ที่สามารถวิเคราะห์ระบบได้ดี ควรมีประสบการณ์ในการเขียนโปรแกรม มีความรู้ทางด้านธุรกิจ ความรู้เกี่ยวกับระบบเครือข่ายและฐานข้อมูล ซึ่งใช้เป็นความรู้ในการออกแบบระบบที่มีความแตกต่างกันออกไปตาม สภาพงาน ดังนั้น หน้าที่ของนักวิเคราะห์ ก็คือการศึกษาระบบ แล้วให้คำแนะนำในการปรับปรุงและพัฒนาระบบนั้นจนเสร็จสมบูรณ์ ซึ่งการทำงานทั้งหมดต้องมีลำดับขั้นตอนและการศึกษาวิธีการวิเคราะห์และการออกแบบระบบในแต่ละขั้นตอน ทำให้เข้าใจการวิเคราะห์ระบบนั้นๆ ดียิ่ง และสามารถออกแบบระบบใหม่โดยไม่ยากเย็นนัก โดยสามารถตัดสินใจว่า ระบบใหม่ควรใช้คอมพิวเตอร์ประเภทไหน ใช้โปรแกรมอะไร ออกแบบInput/Outputอย่างไรเป็นต้น

1.  ความหมายการวิเคราะห์ระบบ

        ระบบคือกลุ่มขององค์การต่างๆ ที่ทำงานร่วมกันเพื่อจุดประสงค์อันเดียวกัน ระบบอาจจะประกอบด้วยบุคคลากร เครื่องมือ เครื่องใช้ พัสดุ วิธีการ ซึ่งทั้งหมดนี้จะต้องมีระบบจัดการอันหนึ่งเพื่อให้บรรลุจุดประสงค์อันเดียวกัน ตัวอย่างเช่นในร่างกายคนเราจะมีระบบในตัวคือมีความสัมพันธ์ติดต่อกันระหว่างสอง เส้นประสาท เซลล์รับรู้ความรู้สึก เพื่อบรรลุเป้าหมายในการรับรู้ความรู้สึกร้อนหนาว เป็นต้นในการใช้ภาษาก็ถือทำอย่างเป็นระบบนั่นคือ ความสัมพันธ์ติดต่อกันระหว่าง การใช้คำสัญลักษณ์ต่างๆ เพื่อบรรลุเป้าหมายในการตีความให้เข้าใจภาษานั้นๆในธุรกิจก็เป็นระบบอย่างหนึ่ง ซึ่งมีส่วนประกอบคือ การตลาด โรงงาน การขาย การค้นคว้า การขนส่ง การเงิน บุคคล การทำงาน โดยที่ทั้งหมดมีการติดต่อสัมพันธ์ระหว่างกัน เพื่อให้บรรลุเป้าหมายให้เกิดกำไร

        องค์ประกอบของระบบการเรียนการสอน
1. บุคคลากรได้แก่ ครูและนักเรียน
2. เครื่องมือได้แก่ เครื่องฉายแผ่นใส ชอล์ก กระดานดำ
3. พัสดุได้แก่ โต๊ะ เก้าอี้
4. วิธีการได้แก่ เขียนบนกระดานดำ ใช้แผ่นใส หรืออื่นๆ
5. การจัดการได้แก่ โรงเรียนจัดตารางเรียน เก็บเงินค่าเล่าเรียน จ่ายค่าสอนให้แก่ครู

เมื่อเราศึกษาระบบใดระบบหนึ่ง เราควรจะต้องเข้าใจการทำงานของระบบนั้นให้ดีโดย การถามตัวเองตลอดเวลาด้วยคำถามเหล่านี้ระบบทำอะไร (What) ทำโดยใคร (Who) ทำเมื่อไร (When)และทำอย่างไร (How)

       การวิเคราะห์ระบบและการออกแบบ (System Analysis and Design)
       การวิเคราะห์และออกแบบระบบคือวิธีการที่ใช้ในการสร้างระบบสารสนเทศขึ้นมาใหม่ในธุรกิจใดธุรกิจหนึ่งหรือระบบย่อยของธุรกิจ นอกจากการสร้างระบบสารสนเทศใหม่แล้ว การวิเคราะห์ระบบช่วยในการแก้ไขระบบสารสนเทศเดิมที่มีอยู่แล้วให้ดีขึ้นด้วยก็ได้ การวิเคราะห์ระบบคือการหาความต้องการ(Requirements) ของระบบสารสนเทศว่าคืออะไร หรือต้องการเพิ่มเติมอะไรเข้ามาในระบบและการออกแบบก็คือการนำเอาความต้องการของระบบนั้นมาเป็นแบบแผนหรือเรียกว่าพิมพ์เขียวในการสร้างระบบสารสนเทศนั้นให้ใช้ในงานได้จริง ผู้ที่ทำหน้าที่นี้ก็คือ นักวิเคราะห์และออกแบบระบบ (System Analysis : SA)

       นักวิเคราะห์ระบบคือใคร
       คอมพิวเตอร์เป็นเพียงเครื่องมือที่ใช้สำหรับเก็บรวบรวมและประมวลผลให้กับผู้ใช้โดยให้ประโยชน์ต่อผู้ใช้คือ ความรวดเร็วและความถูกต้องของข้อมูล ซึ่งเป็นหัวใจสำคัญต่อการบริหารของธุรกิจในปัจจุบันที่มีการแข่งขันสูงผู้ใช้(Users) จึงเป็นผู้กำหนดปัญหาและแนวทางของระบบงานที่นำมาแก้ไขซึ่งปัญหาแต่ผู้ใช้เองไม่ทราบวิธีจะนำเอาคอมพิวเตอร์มาใช้แก้ปัญหา หรือช่วยเหลือในการบริหาร ในทางตรงกันข้ามโปรแกรมเมอร์(programmers)และช่างเทคนิค(technicians)เป็นผู้ที่สามารถจะใช้เทคโนโลยีของคอมพิวเตอร์และป้อนคำสั่งให้คอมพิวเตอร์ทำงานได้ตามต้องการ แต่โปรแกรมเมอร์หรือช่างเทคนิคมักจะไม่เข้าใจถึงระบบธุรกิจมากนัก ดังนั้น ช่องว่างระหว่างนักธุรกิจหรือระบบงานในหน่วยงานต่างๆ กับโปรแกรมเมอร์หรือกับช่างเทคนิคจึงอาจเกิดขึ้นได้นักวิเคราะห์ระบบจึงทำหน้าที่เป็นผู้สมานช่องว่างนี้ นักวิเคราะห์ระบบเป็นผู้ที่เกี่ยวข้องโดยตรงที่จะนำเอาความเข้าใจและเทคโนโลยีของคอมพิวเตอร์มาใช้ในการพัฒนาระบบงานข้อมูลเพื่อช่วยแก้ปัญหาให้กับงานในหน่วยงานต่างๆ

2. บทบาทของนักวิเคราะห์ระบบ
        นักวิเคราะห์ระบบจะเป็นผู้ที่ศึกษาถึงปัญหาและความต้องการของนักธุรกิจ โดยนำเอาปัจจัย 3 ประการคือ คน(people) วิธีการ(method) และคอมพิวเตอร์เทคโนโลยี(computer technology) ใช้ในการปรับปรุงหรือแก้ปัญหาให้กับนักธุรกิจเมื่อได้มีการนำเอาพัฒนาการทางเทคโนโลยีของคอมพิวเตอร์มาใช้ นักวิเคราะห์ระบบจะต้องรับผิดชอบถึงการกำหนดลักษณะของข้อมูล (data) ที่จะจัดเก็บเข้าสู่ระบบงานคอมพิวเตอร์ การหมุนเวียน การเปลี่ยนแปลงของข้อมูลและระยะเวลาเพื่อให้เกิดประโยชน์สูงสุดต่อผู้ใช้หรือธุรกิจ(business users)นักวิเคราะห์ระบบไม่ได้เพียงวิเคราะห์หรือดีไซน์ระบบงานเท่านั้น หากแต่ยังขายบริการทางด้านระบบงานข้อมูล โดยนำเอาประโยชน์จากเทคโนโลยีล่าสุดมาใช้ควบคู่กันไปด้วย
จากบทบาทของนักวิเคราะห์ระบบที่กล่าวมาแล้วข้างต้น ทำให้นักวิเคราะห์ระบบจะต้องมีความรู้ทั้งทางภาคธุรกิจหรือการดำเนินงานในหน่วยงานต่างๆ และคอมพิวเตอร์ควบคู่กัน นักวิเคราะห์ระบบโดยส่วนใหญ่สามารถที่จะดีไซน์ระบบงานและเขียนโปรแกรมขึ้นได้ด้วยตัวเอง ส่วนนี้เองกลับทำให้บุคคลภายนอกเกิดความสับสนระหว่างโปรแกรมเมอร์กับนักวิเคราะห์ระบบ

3. ความแตกต่างระหว่างโปรแกรมเมอร์และนักวิเคราะห์ระบบ
        โปรแกรมเมอร์(Programmer) หมายถึงบุคคลที่รับผิดชอบในด้านการเขียนโปรแกรม สิ่งที่เขาจะเชื่อมโยงนั้น ได้แก่ อุปกรณ์คอมพิวเตอร์ ระบบปฏิบัติ ( Operating System :OS ) หรือแม้กระทั่งภาษาที่ใช้ในการเขียน เช่น Cobol, Basicและ C++ งานของโปรแกรมเมอร์จะเป็นไปในลักษณะที่มีขอบเขตที่แน่นอนคือโปรแกรมที่เขาเขียนขึ้นนั้นถูกต้องตามจุดประสงค์หรือไม่ กิจกรรมงานของโปรแกรมจะเกี่ยวข้องกับคนจำนวนน้อย เช่น กับโปรแกรมเมอร์ด้วยกันเองหรือกับนักวิเคราะห์ระบบที่เป็นผู้วางแนวทางของระบบให้แก่เขานักวิเคราะห์ระบบ หรือที่เรียกกันย่อๆ ว่า SA (System Analysis) นั้น นอกจากจะต้องรับผิดชอบต่อการโปรแกรมคอมพิวเตอร์แล้ว ยังจะต้องรับผิดชอบงานในส่วนที่เกี่ยวกับการจัดหาอุปกรณ์ต่างๆ เกี่ยวกับคอมพิวเตอร์ ผู้ที่จะใช้ระบบแฟ้มหรือฐานข้อมูลต่างๆ รวมทั้งข้อมูลดิบที่จะป้อนเข้าระบบงานของนักวิเคราะห์ระบบไม่ได้อยู่ในลักษณะที่แน่นอนแบบโปรแกรมเมอร์ไม่มีคำตอบที่แน่นอนจากระบบที่เขาวางไม่ว่าผิดหรือถูกงานของเขาเกิดจากการประนีประนอมและผสมผสานของปัจจัยต่างๆ ที่เกี่ยวข้องกับระบบงาน คือ ผู้ใช้ วิธีการ เทคโนโลยี และอุปกรณ์จนได้ผลลัพธ์ที่เหมาะสมออกมาเป็นระบบงาน (Application System) งานของนักวิเคราะห์ระบบจึงมักจะต้องเกี่ยวข้องกับคนหลายระดับตั้งแต่ลูกค้าหรือผู้ใช้นักธุรกิจ โปรแกรมเมอร์ ผู้ตรวจสอบบัญชีหรือแม้กระทั่งเซลล์แมนที่ขายระบบงานข้อมูลแม้ว่างานของนักวิเคราะห์ระบบจะดูเป็นงานที่ยากและซับซ้อน แต่งานในลักษณะนี้ก็เป็นงานที่ท้าทายให้กับบุคคลที่มีความคิดสร้างสรรค์และกว้างไกลเข้ามาอยู่เสมอ ความรู้สึกภาคภูมิใจที่ได้วางระบบงานออกมาเป็นรูปร่างและสามารถใช้ปฏิบัติได้จริง จะฝังอยู่ในสำนึกของเขาตลอดเวลา ความรู้สึกอันนี้คงจะถ่ายทอดออกมาเป็นตัวหนังสือไม่ได้ แต่จะทราบกันเองในหมู่ของนักวิเคราะห์ระบบด้วยกันเพื่อให้เข้าใจความหมายของนักวิเคราะห์ระบบมากยิ่งขึ้น ตารางต่อไปนี้จะแสดงให้เห็นรายละเอียดของหน้าที่ของนักวิเคราะห์ระบบ

ตำแหน่งงาน : นักวิเคราะห์ระบบ
รายละเอียดของงาน :
1. รวบรวมและวิเคราะห์ข้อมูลเพื่อพัฒนาระบบงานข้อมูล (Information System) รับผิดชอบในการศึกษาถึงปัญหาและความต้องการของธุรกิจ เพื่อที่จะหาทางนำเอาอุปกรณ์คอมพิวเตอร์ วิธีการทางธุรกิจ รวมถึงบุคลากรต่างๆ มาใช้ในการพัฒนาเพื่อหาทางแก้ไขซึ่งปัญหา และบรรลุถึงความต้องการของธุรกิจนั้นๆ
2. ดีไซต์และจัดวางระบบฐานข้อมูล รวมทั้งการติดตั้งด้วย
3. ให้คำแนะนำและอบรมทั้งทางด้านเอกสารและการพบปะพูดจา หรือสัมมนาในหัวข้อของระบบงาน
ความรับผิดชอบ :
1. วิเคราะห์และประเมินผล เพื่อหาความเป็นไปได้ (Feasibility Study) ของระบบ
2. วิเคราะห์ซึ่งปัญหาที่เกิดขึ้นจากระบบธุรกิจที่เป็นอยู่
3. แจกแจงถึงสิ่งต่าง ๆ ที่จำเป็นจะร้องพัฒนาขึ้นเพื่อใช้หรือทดแทนระบบเดิม
4. กำหนดทางเลือกต่างๆ ที่เป็นไปได้ (Altermative solution) ในการแก้ปัญหา
5. เลือกอุปกรณ์คอมพิวเตอร์และซอฟต์แวร์ตามความเหมาะสม
6. ดีไซน์และวางระบบงานให้คล้องจองกัน เพื่อแก้ปัญหาของธุรกิจ
7. ให้คำแนะนำต่างๆ เมื่อระบบงานถูกนำมาใช้จริง
หน้าที่ :
1. จัดทำงบประมาณค่าใช้จ่ายต่างๆ รวมทั้งด้านกำลังคน
2. กำหนดแผนงานและระยะเวลาที่ใช้ในการพัฒนาระบบงาน
3. ดำเนินการสัมภาษณ์และรวบรวมข้อมูลที่สำคัญต่อการพัฒนาระบบงาน
4. จัดทำเอกสารและวิเคราะห์ระบบงานธุรกิจในปัจจุบัน
5. พัฒนาระบบงานโดยใช้เทคโนโลยีปัจจุบันเพื่อปัญหาให้แก่ธุรกิจ
6. วิเคราะห์ถึงความเหมาะสมต่างๆ ของเทคโนโลยี การปฏิบัติการ และฐานทางเศรษฐกิจ
7. ทบทวนและยื่นข้อเสนอของระบบงานเพื่อพิจารณาอนุมัติ
8. ดีไซน์และตรวจสอบความถูกต้องของระบบงาน
9. ดีไซน์แฟ้มหรือฐานข้อมูลและโครงสร้างต่างๆ ที่ใช้ในระบบ
10. ดีไซน์ลักษณะการติดต่อระหว่างผู้ใช้ระบบกับระบบงานคอมพิวเตอร์ (Users) กับโปรแกรมเมอร์ (Programmers) อย่างไรก็ตามธุรกิจหรือหน่วยงานต่างๆ จึงมักจะมีความคิดที่ว่า
11. ดีไซน์วิธีการเก็บข้อมูลและเทคนิค
12. ดีไซน์ระบบรักษาความปลอดภัย และการควบคุมระบบ
13. ให้คำแนะนำทางด้านการเขียนโปรแกรมเพื่อให้ระบบดำเนินไปได้ตามเป้าหมาย
14. วางแผนงานต่างๆ เพื่อให้ระบบได้พัฒนาขึ้นใหม่ถูกนำมาใช้แทนระบบเดิมโดยให้มีความยุ่งยากน้อยที่สุด (CONVERSION PLANS)

4. การเตรียมตัวเป็นนักวิเคราะห์บทบาทของนักวิเคราะห์ระบบ
        หลังจากที่เราได้วิเคราะห์ว่า นักวิเคราะห์ระบบจะทำหน้าที่เป็นแกนกลางระหว่างนักธุรกิจ (Business People) หรือผู้ใช้ระบบ (Users) กับโปรแกรมเมอร์(Programmers) อย่างไรก็ตามธุรกิจหรือหน่วยงานต่างๆ จึงมักจะมีความคิดที่ว่านักวิเคราะห์ระบบจะต้องมีพื้นฐานการเขียนโปรแกรมเป็นอันดับแรกแนวความคิดนี้แท้จริงแล้วเป็นเพียงส่วนหนึ่งเท่านั้นในคุณสมบัติอันควรมีของนักวิเคราะห์ระบบนักวิเคราะห์ระบบจะต้องมีความสามารถที่จะพัฒนาระบบเพื่อแก้ปัญหาให้กับผู้ใช้หรือธุรกิจอย่างมีเทคนิคและแบบแผน โปรแกรมเมอร์ที่เก่งมิได้หมายความว่าเขาจะเป็นนักวิเคราะห์ระบบที่ดีได้ในทางตรงกันข้ามโปรแกรมเมอร์ที่ไม่เก่งมิได้หมายความว่าเขาจะเป็นนักวิเคราะห์ระบบที่ดีไม่ได้หากเราจะพิจารณาถึงคุณสมบัติพื้นฐานที่นักวิเคราะห์ระบบควรมี โดยยึดตามแนวทางของงานที่นักวิเคราะห์ระบบต้องใช้ปฏิบัติ ก็จะเป็นดังต่อไปนี้

        1. ความรู้ทางด้านเทคนิคของระบบงานข้อมูลและเทคโนโลยี
นักวิเคราะห์ระบบมักจะถูกมองว่าเป็น “ตัวแทนแห่งความเปลี่ยนแปลง” เหตุที่ว่างงานของนักวิเคราะห์ระบบเป็นงานที่ก่อให้เกิดความเปลี่ยนแปลงของระบบงานโดยตรง นักวิเคราะห์ระบบจะต้องนำเอาความรู้ทางด้านเทคนิคและเทคโนโลยีมาช่วยให้เกิดประโยชน์ต่อระบบงานของผู้ใช้หรือธุรกิจนักวิเคราะห์ระบบจะต้องทำตัวเองให้ทันสมัยอยู่เสมอ และทราบถึงแนวโน้มที่จะเป็นไปในอนาคตด้วยการอ่านแม็กกาซีนรายเดือนหรือรายสัปดาห์ ในส่วนของระบบงานข้อมูลหรือคอมพิวเตอร์แม็กกาซีนจึงเป็นสิ่งที่นักวิเคราะห์ระบบสมควรต้องติดตามอย่างสม่ำเสมอ นอกจากนี้การสัมมนาทางด้านเทคโนโลยีใหม่ๆ ก็เป็นอีกสิ่งหนึ่งที่ควรติดตามเช่นกัน

        2.ประสบการณ์ทางด้านการเขียนโปรแกรม
เป็นที่แน่นอนว่านักวิเคราะห์ระบบจะต้องทำงานใกล้ชิดกับโปรแกรมเมอร์ ความรู้ทางโปรแกรมจึงเป็นสิ่งสำคัญยิ่งที่จะช่วยให้การสื่อสารระหว่างนักวิเคราะห์ระบบกับโปรแกรมเมอร์ดำเนินไปได้โดยสะดวกและเข้าใจกัน ถึงแม้ว่านักวิเคราะห์ระบบอาจจะไม่ได้ไปนั่งเขียนโปรแกรมด้วยตนเองก็ตามนักวิเคราะห์ระบบควรจะมีความรู้ทางด้าน High-Level Programming Languageอย่างน้อย 1 ภาษา เช่น Fortran, Basic, Cobol,Adaหรือ ที่เราเรียกกันอย่างย่อๆ ว่า 4GL อย่างน้อย 1 ภาษาเช่น DBase, Foxpro,Oracle,Magic, หรือ RBaseเป็นต้นภาษาที่เลือกเพื่อนำไปใช้ในการพัฒนาระบบควรจะพิจารณาตามความเหมาะสม เช่น หากเป็นบริษัททีพัฒนาซอฟต์แวร์เพื่อขายโดยตรงก็อาจเลือกใช้ภาษา C เป็นต้น หรือหากระบบงานเกี่ยวข้องกับงานทางด้านวิศวกรรมหรืองานค้นคว้าทางด้านวิทยาศาสตร์ ก็อาจเลือก Fortranเป็นภาษาหลัก อย่างไรก็ตามการเลือกใช้ภาษามิได้จำกัดอยู่เฉพาะว่าภาษานั้นเหมาะสมกับงานชนิดใดหากแต่ควรคำนึงถึงว่าภาษาที่จะใช้นั้นเป็นภาษาที่สามารถนำไปพัฒนาระบบได้อย่างต่อเนื่อง และมีความสามารถที่จะรองรับงานนั้นได้จึงเป็นจุดสำคัญ

        3. ความรู้ทั่วไปทางด้านธุรกิจ
คงเป็นไปไม่ได้ว่านักวิเคราะห์ระบบจะเป็นผู้เชี่ยวชาญไปซะทุกเรื่องทั้งทางด้านคอมพิวเตอร์และธุรกิจ แต่อย่างไรก็ดีเนื่องจากนักวิเคราะห์ระบบเป็นตัวกลางที่จะเชื่อมต่อระหว่างการใช้ความสามารถของคอมพิวเตอร์มาเป็นประโชน์ต่อธุรกิจหรือผู้ใช้ ดังนั้น นักวิเคราะห์ระบบจึงควรจะมีความรู้ในเชิงธุรกิจบ้าง เช่น การตลาด การบัญชี ระบบงานสินค้าคงคลัง หรือธุรการงานบุคคลจากความรู้พื้นฐานดังกล่าว อาจได้มาเองในระหว่างการพัฒนาระบบ จากการสัมภาษณ์ หรือสอบถามจากผู้รู้หรือจากหนังสือ

        4. ความสามารถในการแก้ปัญหาและวิธีแก้ปัญหา
นักวิเคราะห์ระบบจะต้องมีความสามารถที่จะตีปัญหาใหญ่ที่เกิดขึ้นแก่ธุรกิจเป็นส่วนๆ และวิเคราะห์ซึ่งปัญหาเหล่านั้นเพื่อที่จะหาวิธีการแก้ปัญหา นักวิเคราะห์ระบบจะต้องรู้จักวิเคราะห์ปัญหาในแง่ของการหาเหตุและผลอย่างมีขั้นตอน และรู้จักที่จะใช้ความสามารถของตนเพื่อหาวิธีการต่างๆ เพื่อแก้ปัญหา (Alternative Solutions) แม้ว่าความสามารถอันนี้จะเป็นพรสวรรค์ที่มีมาในแต่ละคนซึ่งไม่เหมือนกัน อย่างไรก็ตาม ความสามารถที่จะแก้ปัญหาต่างๆ ก็สามารถที่จะพัฒนาและเรียนรู้ได้หัวใจสำคัญของการหาวิธีการแก้ปัญหานั่นก็คือ พยายามมองภาพของปัญหาให้กว้างอย่าคิดว่าวิธีการแก้ปัญหาวิธีแรกที่ตนคิดเป็นวิธีที่ดีที่สุดและเป็นวิธีเดียวเท่านั้น อย่าคิดว่าวิธีการแก้ปัญหาที่คนอื่นคิดเพื่อแก้ปัญหาที่คล้ายๆ กันกับของตนจะเป็นวิธีมาตรฐานและใช้ได้กับกรณีของเรา เราควรจะพิจารณาจุดแข็งและจุดอ่อน (Strongand Weak Points) ของแต่ละวิธีโดยละเอียดก่อนตัดสินในที่จะนำวิธีการนั้นมาพัฒนาเป็นระบบใช้จริง

        5. มนุษยสัมพันธ์และความสามารถในการติดต่อสื่อสาร
เนื่องจากนักวิเคราะห์ระบบจะต้องพบปะกับบุคคลหลายประเภท หลายอาชีพ และหลายระดับ เช่น ผู้อำนวยการ ผู้จัดการ ช่างเทคนิค โปรแกรมเมอร์ เลขานุการ และนักบัญชี การสื่อสารจึงเป็นสิ่งสำคัญอย่างยิ่งที่จะทำให้บุคคลต่างๆ ที่นักวิเคราะห์ระบบติดต่อผู้นั้นได้เข้าใจสิ่งที่นักวิเคราะห์ต้องการมนุษยสัมพันธ์และความสามารถในการสื่อสาร ในที่นี้หมายรวมถึงความสามารถที่จะสัมภาษณ์ (Interviewing) ความสามารถที่จะอธิบายหรือชี้แจงในที่ประชุม (Presentation) รวมทั้งความสามารถในการรับฟัง (Listening) ด้วยนอกจากนี้ ความสามารถที่จะทำงานเป็นกลุ่ม (Group Workor Team) ก็เป็นสิ่งหนึ่งที่นักวิเคราะห์จะขาดเสียไม่ได้ เนื่องจากงานของนักวิเคราะห์ส่วนใหญ่จะต้องกระจายให้กับโปรแกรมเมอร์ หรือถัดลงไปการทำงานเป็นกลุ่มหรือทีมจึงย่อมส่งผลต่อความสำเร็จและความเชื่อถือต่อนักวิเคราะห์ระบบเองโดยตรง
นักวิเคราะห์ระบบควรเล็งเห็นความสำคัญของการทำงานเป็นกลุ่ม ไม่ใช่เฉพาะแต่กับฝ่ายของตนเองหรือกับโปรแกรมเมอร์เท่านั้น หากแต่ต้องแฝงตัวเองเป็นสมาชิกในกลุ่มของผู้ใช้ระบบหรือธุรกิจที่ตนวางระบบให้อีกด้วย การทำเช่นนั้น หากแต่ต้องแฝงตัวเองเป็นสมาชิกในกลุ่มของผู้ใช้ระบบหรือธุรกิจที่ตนวางระบบให้อีกด้วย การทำเช่นนั้นจะทำให้ผู้ใช้ระบบรู้สึกเป็นนักวิเคราะห์และจะทำให้การติดตั้งระบบงานคอมพิวเตอร์เป็นไปโดยสะดวกขึ้น พร้อมกับลดแรงกดดันหรือต่อต้านจากผู้ใช้ระบบที่มีแนวความคิดว่า ตนโดนยัดเยียดระบบงานใหม่ให้แทนระบบงานแบบดั้งเดิมนักวิเคราะห์ระบบจะต้องทำตัวเองให้ทันสมัยอยู่เสมอ และทราบถึงแนวโน้มที่จะเป็นไปในอนาคตด้วยการอ่าน
แม็กกาซีนรายเดือนหรือรายสัปดาห์ ในส่วนของระบบงานข้อมูลหรือคอมพิวเตอร์แม็กกาซีนจึงเป็นสิ่งที่นักวิเคราะห์ระบบสมควรต้องติดตามอย่างสม่ำเสมอ นอกจากนี้การสัมมนาทางด้านเทคโนโลยีใหม่ๆ ก็เป็นอีกสิ่งหนึ่งที่ควรติดตามเช่นกัน

 

เอกสารอ้างอิง 

น้อย สุวรรณมณี และคณะ.(2553).หนังสือเรียนแม็ค การงานอาชีพและเทคโนโลยี
ชั้นมัธยมศึกษาปีที่ 4-6 เล่มที่ 3. (หน้า 80-81).กรุงเทพฯ : แม็ค.

สถาบันพัฒนาคุณภาพวิชาการ (พว.)(2558). คู่มือครูหนังสือเรียน เทคโนโลยีสารสนเทศ
และการสื่อสารชั้นมัธยมศึกษาปีที่ 4-6 เล่มที่ 3 (หน้า 78-79).กรุงเทพฯ :

คุณภาพวิชาการ (พว.). สถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี (สสวท.) กระทรวงศึกษาธิการ(2553). เทคโนโลยี

สารสนเทศและการสื่อสารชั้นมัธยมศึกษาปีที่ 4-6(หน้า 185-195).กรุงเทพฯ :
สกสค.ลาดพร้าว.

ฝ่ายตำราวิชาการคอมพิวเตอร์. (2553). การเขียนโปรแกรมคอมพิวเตอร์ (ภาษาซี)(หน้า 11-15)กรุงเทพฯ : ซีเอ็ดยูเคชั่น.

อาณัติ  รัตนถิรกุล. (2553).สร้างระบบ e-Learning ด้วย moodle.กรุงเทพฯ : ซีเอ็ดยูเคชั่น.
อำไพ วรรณสินธุ์. เอกสารประกอบการสอนรหัสวิชา 4122502 การวิเคราะห์และออกแบบระบบ 1. [ระบบออนไลน์]. http://www.oocities.org/s_analysis/mean_new.html.  (25 ตุลาคม 2557).