การพัฒนาซอฟต์แวร์ เขียนโปรแกรม จัดทำข้อมูล และวิจัย

Author Archives: admin

5 ปัญหาหลักในการพัฒนาซอฟต์แวร์พบบ่อยในปัจจุบัน

5 ปัญหาหลักในการพัฒนาซอฟต์แวร์ หรือจะว่าเป็น 5 ปัญหาคลาสสิกเลยก็ว่าได้ ถึงจะไม่เคยได้พัฒนาซอฟต์แวร์อย่างเต็มรูปแบบก็ตาม แต่ในช่วงเรียนปี 3 ก็พอมีอยู่บ้างเป็นโปรเจคใหญ่ที่ต้องนำมาพัฒนามีกระบวนการการทำงานต่างๆ เหมือนกับว่าเราทำงานจริงๆเลย และ อาจารย์ก็มักจะตรวจสอบความคืบหน้าของโปรเจคเราอยู่ทุกๆสัปดาห์เลย เพื่อให้อาจารย์มองเห็นปัญหาต่างๆ ในการทำงานของเรา …และในช่วงสอบ Final เทอมหนึ่งของปีที่ 3 ก็ได้มีข้อสอบของรายวิชานึงวิชานี้จะเป็นจะมีการเรียนการสอนที่คล้ายกับ Team Software Process ข้อสอบรายวิชานี้จะเป็นปัญหาต่างๆของเราในการพัฒนาโปรเจค ซึ่งก็คือปัญหาหลักๆ หรือปัญหาคลาสสิกของนักพัฒนาซอฟต์แวร์นั่นเองความต้องการจากผู้ใช้ ที่ไม่ชัดเจน คลุมเคลือขาดความสมบูรณ์ เรียบง่ายจนเกินไป จนไม่สามารถวิเคราะห์ได้ว่าต้องการอะไรและอื่นๆ อาจมีต้นเหตุมาจากความต้องการอีกมาก แผนงานโครงการไม่ดี มีลัษกณะเป็นแผนงานที่เพ้อฝัน การวางแผนไม่ได้ตั้งอยู่บนข้อมูลที่แท้จริง ทำแบบเพ้อฝันไม่คิด ขาดข้อมูลที่ได้จากการปรึกษาหารือสมาชิกในทีม ไม่ว่าจะเกิดจากสาเหตุใดๆ ก็ตาม ขาดการประสานงานย่อยที่สำคัญกับผู้ใช้หรือลูกค้า การจัดทำแผนอาศัพเพียงความรู้ความเข้าใจของตนเองเป็นหลักการทำสอบซอฟต์แวร์ไม่เพียงพอ มักจะพบปัญหาในลักษณะที่ว่าซอฟต์แวร์นี้ผ่านการทดสอบมาได้อย่างไร ปัญหามากมาย ไม่มีคุณภาพทั้งในระดับระหว่างการทำงานร่วมกันในทีม หรือหลังส่งมอบให้ลูกค้าแล้ว หรือมีการทดสอบซอฟต์แวร์ที่ขาดความรอบคอบเวลาในการทดสอบไม่เพียงพอ และอื่นๆ อีกมากมีการเปลี่ยนแปลงไม่จบสิ้น (Always Change) ในระหว่างที่พัฒนาซอฟต์แวร์ มักจะขอให้มีการเปลี่ยนแปลง Features หรือ Functions ไม่ว่าจะเพิ่มขึ้นหรือตัดออก มั้กจะสร้างปัญหาให้กับทีมพัฒนาบ่อยครั้งที่กระทบกระเทือนถึง […]

ปัจจุบันพบว่ามีเทคโนโลยีใหม่ ๆ เกิดขึ้นมากมายไม่ว่าจะเป็นเทคโนโลยีคอมพิวเตอร์

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

การพัฒนาซอฟต์แวร์สำเร็จรูปที่ใช้สร้างสรรค์งาน

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

การใช้งานคอมพิวเตอร์ต้องมีซอฟต์แวร์ประยุกต์

การที่เทคโนโลยีคอมพิวเตอร์ได้พัฒนาก้าวหน้าอย่างรวดเร็ว โดยเฉพาะการที่มีคอมพิวเตอร์ขนาดเล็ก ทำให้มีการใช้งานคล่องตัวขึ้น จนในปัจจุบันสามารถนำคอมพิวเตอร์ขนาดเล็ก ติดตัวไปใช้งานในที่ต่าง ๆ ได้สะดวก การใช้งานคอมพิวเตอร์ต้องมีซอฟต์แวร์ประยุกต์ ซึ่งอาจเป็นซอฟต์แวร์สำเร็จที่มีผู้พัฒนาเพื่อใช้งานทั่วไปทำให้ทำงานได้สะดวกขึ้น หรืออาจเป็นซอฟต์แวร์ใช้งานเฉพาะ ซึ่งผู้ใช้เป็นผู้พัฒนาขึ้นเองเพื่อให้เหมาะสมกับสภาพการทำงานของตน ในบรรดาซอฟต์แวร์ประยุกต์ที่มีใช้กันทั่วไป ซอฟต์แวร์สำเร็จ (package) เป็นซอฟต์แวร์ที่มีความนิยมใช้กันสูงมาก ซอฟต์แวร์สำเร็จเป็นซอฟต์แวร์ที่บริษัทพัฒนาขึ้น แล้วนำออกมาจำหน่าย เพื่อให้ผู้ใช้งานซื้อไปใช้ได้โดยตรง ไม่ต้องเสียเวลาในการพัฒนาซอฟต์แวร์อีก ซอฟต์แวร์สำเร็จที่มีจำหน่ายในท้องตลาดทั่วไป และเป็นที่นิยมของผู้ใช้มี 5 กลุ่มใหญ่ ได้แก่ ซอฟต์แวร์ประมวลคำ (word processing software) ซอฟต์แวร์ตารางทำงาน (spread sheet software) ซอฟต์แวร์จัดการฐานข้อมูล (data base management software) ซอฟต์แวร์นำเสนอ (presentation software) และซอฟต์แวร์สื่อสารข้อมูล (data communication software) 1) ซอฟต์แวร์ประมวลคำ เป็นซอฟต์แวร์ประยุกต์ใช้สำหรับการพิมพ์เอกสาร สามารถแก้ไข เพิ่ม แทรก ลบ และจัดรูปแบบเอกสารได้อย่างดี เอกสารที่พิมพ์ไว้จัดเป็นแฟ้มข้อมูล เรียกมาพิมพ์หรือแก้ไขใหม่ได้ การพิมพ์ออกทางเครื่องพิมพ์ก็มีรูปแบบตัวอักษรให้เลือกหลายรูปแบบ […]

การพัฒนาซอฟต์แวร์ให้ประสบความสำเร็จนั้นไม่ใช่เรื่องง่าย

ความจริงแล้ว การพัฒนาซอฟต์แวร์ให้ประสบความสำเร็จนั้นไม่ใช่เรื่องง่าย ประเทศไทยยังต้องปรับปรุงศักยภาพของซอฟต์แวร์อีกมากจึงจะสามารถแข่งขันในตลาดโลกได้ ปัญหาและอุปสรรคที่เห็นได้อย่างชัดเจนในปัจจุบัน ได้แก่ปัญหาด้านการตลาด ปัญหาด้านการทำวิจัยและพัฒนาเทคโนโลยี และปัญหาด้านคุณภาพ 1. ปัญหาด้านการตลาด บริษัทซอฟต์แวร์ไทยประสบปัญหาการละเมิดลิขสิทธิ์ซอฟต์แวร์ เช่นเดียวกับบริษัทซอฟต์แวร์ทั่วโลกคือ หลังจากลงทุนมหาศาลในการผลิตซอฟต์แวร์ แต่เมื่อนำออกจำหน่าย ก็ถูกลอกเลียนแบบด้วยการอัดสำเนา และจำหน่ายในราคาที่ถูกกว่าต้นแบบถึง ๑๐ เท่า ซึ่งเป็นสาเหตุที่ทำให้ต้นแบบจำหน่ายได้น้อย ผู้ผลิตจึงขาดทุน 2. ปัญหาด้านการวิจัยและพัฒนาเทคโนโลยี ซอฟต์แวร์ที่สามารถอำนวยความสะดวกให้แก่คนไทยได้อย่างแท้จริงนั้น จะต้องทำให้คอมพิวเตอร์ทำงานโดยใช้ภาษาไทยได้ เช่น อ่านออกเขียนและตรวจไวยากรณ์ได้ ฟังรู้เรื่อง พูดเป็นฯลฯ แต่การพัฒนาซอฟต์แวร์ให้สามารถทำเรื่องเหล่านี้ได้เป็นเรื่องที่ยาก จึงต้องอาศัยการทำวิจัยและพัฒนาเทคโนโลยีมาสนับสนุน นักวิจัยหลายร้อยคนต้องค้นคว้าทดลองนานนับสิบปี จึงจะสามารถพัฒนาซอฟต์แวร์ที่ฟังพูด และเขียนภาษาอังกฤษได้สำเร็จ แต่นักวิทยาศาสตร์และนักวิจัยในเรื่องเหล่านี้ของไทยมีอยู่น้อยมาก ดังนั้น จึงมีความจำเป็นอย่างมากที่จะต้องเพิ่มทรัพยากรมนุษย์ในส่วนนี้ 3. ปัญหาด้านคุณภาพ ซอฟต์แวร์ที่ได้รับการพัฒนาโดยคนไทยจะมีความแตกต่างด้านคุณภาพ ส่วนใหญ่ประเทศไทยจะประสบปัญหาในเรื่องการประเมินคุณภาพของซอฟต์แวร์ กล่าวคือ เมื่อขาดการประเมินคุณภาพที่ดี คนไทยก็จะไปนิยมซอฟต์แวร์จากต่างประเทศ เพราะไม่เชื่อถือฝีมือคนไทยด้วยกัน ทั้งที่ซอฟต์แวร์ของไทยก็มีคุณภาพดี ในทางกลับกัน เมื่อมีซอฟต์แวร์ที่ด้อยคุณภาพ ผู้พัฒนาก็ไม่ทราบจุดบกพร่อง จึงไม่ได้ปรับปรุงคุณภาพให้ดีเท่าที่ควร สาเหตุอื่นๆ ที่ทำให้ซอฟต์แวร์ของไทยขาดคุณภาพ ได้แก่ การขาดการบริหารโครงการที่ดีการขาดบุคลากรที่มีทักษะทันสมัยในด้านการพัฒนาและทดสอบซอฟต์แวร์ การขาดวิธีการกำหนดคุณลักษณะซอฟต์แวร์ที่เหมาะสม ฯลฯ หากจะมีการเพิ่มคุณภาพของซอฟต์แวร์ไทย […]

การพัฒนาโปรแกรมภาษาคอมพิวเตอร์เพื่อช่วยในการแก้ปัญหา

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

การพัฒนาซอฟต์แวร์และโปรแกรมอินเตอร์เน็ตให้ทันสมัยในปัจจุบัน

การพัฒนาซอฟต์แวร์ หรือโปรแกรมนั้น ๆ มีขั้นตอนกว้าง ๆ อยู่ 4 ขั้นตอน คือ การศึกษาความต้องการ สมมุติว่าเราต้องการพัฒนาโปรแกรมสำหรับช่วยคำนวณ ภาษีเงินได้บุคคลธรรมดาหรือ ภ.ง.ด. 91 เราจำเป็นจะต้องกำหนดความชัดเจนของเราก่อนว่า ต้องการให้คอมพิวเตอร์ทำอะไรได้บ้าง เช่น ต้องการให้คอมพิวเตอร์คำนวณภาษีสำหรับเจ้าของรายได้ เมื่อแยกยื่นภาษีกับผู้สมรส หรือจะให้สามารถรวมภาษีรวมได้ เราต้องการให้ซอฟต์แวร์พิมพ์ตัวเลขต่าง ๆ เกี่ยวกับภาษีออกมาให้เรานำไปเขียนกรอกในแบบฟอร์ม หรือเราต้องการให้ซอฟต์แวร์สามารถพิมพ์แบบฟอร์มได้เองโดยอัตโนมัติ รายละเอียดเหล่านี้เราต้องศึกษาให้พร้อม อนึ่ง เราต้องศึกษาขั้นตอนการคิดเงินภาษีด้วยว่ามีอะไรบ้างจะต้องทำขั้นตอนไหนก่อนหลัง แต่ละขั้นตอนมีการใช้สูตรอะไรบ้างออกแบบโปรแกรมเมื่อทราบความต้องการแล้ว ต่อมาจะต้องออกแบบโปรแกรมว่าจะ ให้แสดงข้อความอะไรบนจอภาพบ้าง รายการหลักหรือเมนูที่จะให้ปรากฏหน้าจอจะมีข้อความอย่างไร จะใช้วิธีเลือกรายการอย่างไร โปรกแกรมจะต้องมีกี่ส่วน จะต้องพิมพ์รายงานอะไรบ้าง จะเก็บข้อมูลอะไรไว้บ้าง การเขียนโปรแกรมหลังจากออกแบบเค้าโครงออกโปรแกรมแล้ว เราสามารถเลือกเขียน ภาษาคอมพิวเตอร์แบบใดแบบหนึ่ง ซึ่งเราถนัดและมีตัวแปลรักษาอยู่แล้ว ภาษาอยู่แล้วมาใช้ในการเขียนโปรแกรมทดสอบโปรแกรม เมื่อเราเขียนโปรแกรมเสร็จก็จะต้องทดสอบว่า โปรแกรมที่จะทำขึ้น นั้นสามารถทำงานได้ถูกต้องตรงกับความต้องการ วิธีทดสอบนั้นเราจะจัดเตรียมข้อมูล ทดสอบเอาไว้ล่วงหน้า โดยข้อมูลทดสอบนั้นจะเป็นข้อมูลพิเศษที่เรารู้คำตอบล่วงหน้าแล้ว เมื่อนำข้อมูลนี้ไปใช้กับโปรแกรมที่จัดทำขึ้น เราก็มุ่งหวังที่จะได้คำตอบตรงกับคำตอบที่คิดไว้แล้ว หากไม่ตรงก็อาจเป็นก็เพราะมีสิ่งที่ผิดในโปรแกรม ถ้าเป็นเช่นนั้น นักโปรแกรมก็จะพิจารณาตรวจหาสิ่งผิดพลาดในโปรแกรม เพื่อแก้ไขและนำโปรแกรมนั้นมาทดสอบอีก จนกว่าจะเห็นว่าโปรแกรมทำงานได้ถูกต้องครบถ้วน การค้นหาที่ผิดนี้นิยมเรียกเป็นภาษาอังกฤษว่า Debugging เมื่อได้จัดทำโปรแกรมขึ้นมาถึง 4 ขั้น […]

การพัฒนาระบบเทคโนโลยีสารสนเทศที่เป็นประโยชน์สูงสุด

ระบบสารสนเทศ เป็นกลุ่มข้อมูลที่ถูกจัดการตามกฎหรือถูกกำหนดความสัมพันธ์เพื่อให้ข้อมูลเหล่านั้นเกิดประโยชน์หรือมีความหมายเพิ่มมากขึ้น ประเภทของระบบสารสนเทศขึ้นอยู่กับความสัมพันธ์ระหว่างข้อมูลที่มีอยู่ เป็นขบวนการประมวลผลข่าวสารที่มีอยู่ให้อยู่ในรูปของข่าวสารที่เป็นประโยชน์สูงสุด เพื่อเป็นข้อสรุปที่ใช้สนับสนุนการตัดสินใจของบุคคลระดับบริหาร ซึ่งปัจจุบันขอบเขตการทำงานของระบบสารสนเทศขยายตัวจากการรวบรวมข้อมูลที่มาจากภายในองค์การไปสู่การเชื่อมโยงกับแหล่งข้อมูลจากสิ่งแวดล้อมภายนอก ทั้งจากภายในท้องถิ่น ประเทศ และระดับนานาชาติ ปัจจุบันธุรกิจต้องใช้เทคโนโลยีสารสนเทศที่มีศักยภาพสูงขึ้นเพื่อให้สามารถปฏิบัติหน้าที่ได้อย่างมีประสิทธิภาพ และเป็นเครื่องมือสำคัญที่ช่วยเพิ่มขีดความสามารถของธุรกิจ และขีดความสามารถในการบริหารงานของผู้บริหารในยุคปัจจุบัน การที่นำระบบคอมพิวเตอร์มาประยุกต์ในการดำเนินงานทางธุรกิจ การจัดการระบบสารสนเทศได้รับการยอมรับว่ามีความสำคัญต่อความสำเร็จในการดำเนินธุรกิจในปัจจุบัน เทคโนโลยีสารสนเทศช่วยสร้างความแข็งแกรงเชิงกลยุทธ์ โดยพัฒนาความสามารถในการแข่งขันให้กับองค์การ เทคโนโลยีสารสนเทศถูกนำมาประยุกต์ให้การปฏิบัติงานในระดับต่างๆขององค์การมีประสิทธิภาพสูงขึ้น หลายองค์การได้ให้ความสนใจในการพัฒนาระบบสารสนเทศสำหรับผู้บริหารเพื่อให้การตัดสินใจในปัญหาหรือโอกาสทางธุรกิจมีประสิทธิภาพสูงขึ้น ถูกพัฒนาขึ้นโดยเฉพาะเพื่อให้สอดคล้องกับความต้องการ ทักษะ และความสามารถในการเข้าถึงสารสนเทศสำหรับผู้บริหาร เนื่องจากผู้บริหารเป็นกลุ่มบุคคลที่ต้องการข้อมูลที่มีลักษณะเฉพาะ โดยเฉพาะด้านระยะเวลาในการเข้าถึงและทำความเข้าใจกับข้อมูล โดยเฉพาะการเปลี่ยนแปลงและการแข่งขันทางธุรกิจที่เกิดขึ้นและปรับตัวอย่างรวดเร็ว ระบบสารสนเทศทางธุรกิจ 1. ระบบสารสนเทศด้านการบัญชี (Accounting Information System) 2. ระบบสารสนเทศด้านการเงิน (Financial Information System) 3. ระบบสารสนเทศด้านการตลาด (Marketing Information System) 4. ระบบสารสนเทศด้านการผลิตและการดำเนินงาน (Production and Operations Information System) 5. ระบบสารสนเทศด้านทรัพยากรบุคคล (Human Resource Information System) การพัฒนาระบบระบบสารสนเทศ 1)กระบวนการทางธุรกิจ […]

การพัฒนาซอฟต์แวร์ เพื่อการเขียนโปรแกรมที่มีคุณภาพ

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

การพัฒนาระบบและซอฟต์แวร์ในการใช้งานในด้านต่างๆ

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