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

Category Archives: เทคโนโลยี

กระบวนการพัฒนา Softwar

กระบวนการพัฒนา Software หมายถึงโครงสร้างหรือขั้นตอนในการพัฒนา Software ซึ่งมีคำเหมือนและคำคล้ายคือ Software life cycle และ Software process ซึ่งกระบวนการพัฒนา Software ที่กล่าวถึงในที่นี้จะมีหลายรูปแบบ (model) ด้วยกัน ซึ่งในแต่ละรูปแบบนั้นจะอธิบายถึงวิธีการหรือกลุ่มของกิจกรรมที่เป็นขั้นตอนในระหว่างของการพัฒนา Software กระบวนการพัฒนา Software นั้นจะประกอบด้วยหลายกิจกรรมซึ่งอาจแสดงได้ดังต่อไปนี้ Conception คือการกำหนดถึงเป้าหมายและสิ่งที่ต้องการของธุรกิจในการพัฒนา Software Requirements Analysis คือการระบุถึงความต้องการของผู้ใช้งานต่อการทำการพัฒนา Software ซึ่งการกำหนดความต้องการของผู้ใช้งานบางอย่างนั้นอาจมีความจำเป็นต้องใช้ทักษะและความสามารถในการพัฒนา Software อย่างมาก Specification คือการกำหนดความต้องการของผู้ใช้งานในขั้นตอน Requirements Analysis ลงในรูปแบบที่สามารถอธิบายได้ ซึ่งอาจเป็นภาษาทางคณิตศาสตร์หรือ Programming language ก็ได้ Software Architecture เป็นขั้นตอนการสร้างแบบจำลองของ Software ขึ้นมาเพื่อให้ผู้ใช้งานสามารถมองเห็น Software ที่จะทำการพัฒนาได้อย่างเป็นรูปธรรมมากขึ้น โดนส่วนมาก ขั้นตอนนี้จะเป็นการยืนยันว่าการพัฒนา Software เป็นไปตามความต้องการของผู้ใช้งานหรือไม่ บางครั้งอาจรวมไปถึงการกำหนดความต้องการของผู้ใช้งานในอนาคต (Future requirements) รวมถึงการเชื่อมโยง […]

เปิดตัว Office เวอร์ชั่น 2016 ที่ปลอดภัยที่สุด

ปัจจุบันเทคโนโลยีมีบทบาทสำคัญในการขับเคลื่อนนวัตกรรมในองค์กร และสามารถเป็นกำลังสำคัญในการช่วยให้ทุกคนและทุกองค์กรบนโลกบรรลุผลสำเร็จที่ดียิ่งขึ้น การเปิดตัว Office เวอร์ชั่น 2016 ซึ่งเป็นโปรแกรมออฟฟิสที่ปลอดภัยที่สุดในครั้งนี้เป็นการแสดงให้เห็นถึงความตั้งใจของไมโครซอฟท์ในการพัฒนาเพื่อเปลี่ยนรูปแบบการใช้ชีวิตและการทำงานยุคดิจิตัล เชื่อว่าด้วยการทำงานของ Office 365 บนระบบคลาวด์จะช่วยเพิ่มขีดความสามารถให้คนไทยและธุรกิจในประเทศไทยทำงานร่วมกันได้อย่างคล่องตัวและมีประสิทธิภาพ โดย Office 2016 บน Windows นั้นมีการปรับโฉมฟังก์ชั่นการทำงานใหม่ๆของ Word, Excel, PowerPoint, Outlook, OneNote, Project, Visio, Publisher และ Access โดยที่ไม่กระทบกับการทำงานของผู้ใช้เวอร์ชั่นเดิม อีกทั้งผู้ใช้งานที่สมัครสมาชิก Office 365 แน่นอนว่าจะสามารถดาวน์โหลดเวอร์ชั่น 2016 ได้ทันที และเมื่อติดตั้งอย่างเต็มรูปแบบแล้วจะสามารถใช้งานได้บนอุปกรณ์ที่หลากหลาย รวมไปถึงบริการฟีเจอร์ต่างๆ โดย office 2016 เวอร์ชั่นใหม่นี้พร้อมใช้งานใน 40 ภาษา รวมถึงภาษาไทย และสามารถใช้งานบน Windows 7 ขึ้นไป ผู้ใช้งานที่เป็นสมาชิกของ Office 365 สามารถเลือกดาวน์โหลด Office 2016 ได้แล้ววันนี้ สำหรับสมาชิกที่เป็นลูกค้ารายบุคคลและลูกค้าเอสเอ็มอีจะได้รับการอัปเดทอัตโนมัติในเดือนตุลาคมเป็นต้นไป […]

การเขียนเขียนคุณลักษณะซอฟต์แวร์

คุณลักษณะซอฟต์แวร์ (Software Specification) เป็นข้อกำหนดลักษณะหน้าที่ และวิธีการทำงานของซอฟต์แวร์ว่า ซอฟต์แวร์นี้ต้องทำอะไรบ้าง จึงจะสนองความต้องการของผู้ใช้ เช่น จะต้องใช้ข้อมูลอะไร จะจัดเก็บข้อมูลอะไร จะผลิตหรือประมวลผลข้อมูลอะไร ลักษณะของข้อมูลเป็นอย่างไร มีขอบเขตข้อจำกัดอะไร ฯลฯ การกำหนดคุณลักษณะซอฟต์แวร์สามารถ ทำได้หลายวิธี เช่น สอบถามผู้ใช้โดยตรงว่า ต้องการให้ซอฟต์แวร์ทำหน้าที่อะไรบ้าง การสอบถามต้องมีเทคนิคในการสื่อสารที่ดี โดยอาจจะมีการยกตัวอย่างสภาพการณ์ (scenario-based requirement analysis) ในแนวว่า “ถ้า (สถานการณ์) เกิดขึ้น จะทำอย่างไร” เช่น ถ้าโจทย์คือ การจัดการพัสดุของร้านค้า นักวิเคราะห์ระบบอาจถามว่า “ถ้าสินค้าที่สั่งซื้อไม่มาส่งตามกำหนด ทางร้านจะทราบได้เมื่อใด และจะดำเนินการอย่างไร” ศึกษาวิธีการดำเนินงานตามปกติก่อนนำคอมพิวเตอร์มาใช้ และหาจุดอ่อนที่จะต้องนำซอฟต์แวร์เข้ามาใช้ เพื่อเพิ่มประสิทธิภาพ สำรวจความต้องการของตลาดว่า คนส่วนใหญ่ต้องการให้คอมพิวเตอร์ช่วยงานด้านใด ในลักษณะใด และต้องการความบันเทิงจากคอมพิวเตอร์อย่างไร ฯลฯ ศึกษาจากลักษณะของซอฟต์แวร์เก่าที่ทำงานด้านนี้อยู่แล้ว ฯลฯ สรุปผลการวิเคราะห์ข้อกำหนดลักษณะของซอฟต์แวร์สามารถแบ่งได้เป็น ๓ รูปแบบ คือ รูปแบบข้อมูล รูปแบบหน้าที่งาน และรูปแบบการทำงาน วิธีการนำเสนออาจแสดงเป็นแผนผังแบบต่างๆ เช่น […]

การลดความเสี่ยงในการพัฒนา Software

คอมพิวเตอร์จะมีประโยชน์สำหรับเราก็ต่อเมื่อมีซอฟต์แวร์ที่สั่งให้คอมพิวเตอร์ทำงานคอมพิวเตอร์ที่ไม่มีซอฟต์แวร์เปรียบเสมือนคนที่ไม่มีวิญญาณ ดังนั้น ซอฟต์แวร์จึงเป็นสิ่งที่มีคุณค่ามาก แต่ขณะที่คอมพิวเตอร์ในปัจจุบันมีประสิทธิภาพสูงขึ้น และมีขนาดเล็กลงเรื่อย ๆ ซอฟต์แวร์ที่ต้องใช้กับเครื่องเหล่านี้ก็ยิ่งซับซ้อนมากขึ้นและมีขนาดใหญ่ขึ้นมาก เนื่องจาก software นั้นไม่มีรูปแบบที่แน่นอนยากต่อการทำความเข้าใจยิ่งเมื่อมีหลายๆ ระบบทำงานด้วยกันยิ่งน่ากลัวความเสี่ยงก็เพิ่มมากขึ้นไปอีก ดังนั้น ในขั้นตอนการพัฒนา software ที่ดีควรสนใจในการลดความเสี่ยงต่างๆ ลงไป โดยการค้นหาปัญหาตั้งแต่เนิ่นเพราะจะได้มีเวลาในการแก้ไขและปรับปรุงให้ดีขึ้นโดย 1.Integrate continuously ที่ควรทำก่อนอันดับแรกเพื่อจะได้รู้ว่ามีปัญหาอะไรบ้างเป็นการลดความเสี่ยงในการพัฒนา software 2.Avoid branching ถ้ามี code เพียงชุดเดียว ความเสี่ยงก็จะน้อยลงไปมาก 3.Invest in automated tests โดยการตรวจสอบความถูกต้องในการทำงานต่างๆของการพัฒนาที่มันซ้ำๆ 4.Identify areas of risk ความเสี่ยงต่างๆ ในการพัฒนา software มักจะมาจากสิ่งที่เราไม่รู้และไม่สามารถควบคุมได้ ดังนั้น จึงเริ่มต้นด้วยการหาวิธีการแก้ไขและแยกส่วนนั้นๆ ออกมา 5.Work through unknowns โดยเริ่มต้นการพัฒนา software ด้วยการแยกสิ่งที่รู้และไม่รู้ ออกจากกัน 6.uild the smallest pieces that show […]

ภาษาคอมพิวเตอร์ สำหรับการพัฒนาโปรแกรมให้มีคุณภาพ

ภาษาคอมพิวเตอร์ หมายถึง โปรแกรมหรือชุดคำสั่งที่มนุษย์เขียนขึ้นเพื่อสั่งงานให้คอมพิวเตอร์ทำงานตามความต้องการ ภาษาที่ใช้เขียนโปรแกรมคอมพิวเตอร์มีมากมาย แต่ละภาษาจะมีลักษณะโครงสร้างและกฎเกณฑ์ที่แตกต่างกัน โดยทั่วไปจะแบ่งภาษาคอมพิวเตอร์ได้ 3 ระดับคือ 1. ภาษาเครื่อง (Machine Language) ภาษาเครื่องเป็นภาษารหัสตัวเลข ที่เครื่องคอมพิวเตอร์สามารถรับรู้และปฏิบัติตามได้ทันที ผู้ใช้เครื่องคอมพิวเตอร์ยุคแรก ๆ ต้องเขียนโปรแกรมด้วยภาษาเครื่อง ซึ่งเป็นภาษาที่คนทำความเข้าใจยาก นอกจากนั้นเครื่องคอมพิวเตอร์แต่ละเครื่องยังใช้รหัสเลขที่ต่างกันด้วย ดังนั้นการใช้คอมพิวเตอร์ โดยใช้ภาษาเครื่องจึงเป็นเรื่องที่ยุ่งยาก และมักจะเกิดความผิดพลาดเสมอ แต่ก็เป็นภาษาที่เครื่องคอมพิวเตอร์สามารถเข้าใจและทำงานได้อย่างง่ายดาย 2. ภาษาระดับต่ำ (Low Level Language) ภาษาระดับต่ำเป็นภาษาที่ใกล้เคียงกับภาษาเครื่องมาก จึงเรียกได้ว่าเป็นภาษาอิงเครื่อง (Machine Oriented Language) เป็นภาษาที่ใช้รหัสตัวเลขประกอบกับอักขระภาษาอังกฤษด้วย เช่น ภาษาแอสเซมบลี (Assembly Language) ภาษาระดับต่ำนี้ เขียนได้ง่ายขึ้น แต่ภาษาแอสเซมบลี นี้ เครื่องคอมพิวเตอร์ไม่สามารถเข้าใจภาษาได้โดยตรง เวลาใช้งานจำเป็นต้องอาศัยโปรแกรมแปลภาษาเอสเซมเบลอ (Assembler Programme) และโปรแกรมเอสแซมเบลอที่ใช้กับคอมพิวเตอร์เครื่องหนึ่งจะใช้กับคอมพิวเตอร์เครื่องอื่น ๆ ไม่ได้ 3. ภาษาระดับสูง (High Level Language) ภาษาระดับสูงเป็นภาษาที่อำนวยความสะดวก […]

การศึกษาวิจัยด้านการสื่อสารภายในองค์กร

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

การพัฒนาโปรแกรมระบบปฏิบัติการของโปรแกรมที่ใช้ควบคุมและติดต่อกับอุปกรณ์ต่าง ๆ ในซอฟต์แวร์

ซอฟต์แวร์ คือ โปรแกรมหรือชุดคำสั่ง ที่จะสั่งและควบคุมให้ฮาร์ดแวร็คอมพิวเตอร์ทำงาน เราไม่สามารถจับต้อง ซอฟต์แวร์ ได้โดยตรงเหมือนกับตัวฮาร์ดแวร์ เพราะซอฟต์แวร์หรือโปรแกรมนี้จะถูกจัดเก็บอยู่ในสื่อ ที่ใช้ในการบันทึกข้อมูล เช่น แผ่นดิสก์ ซอฟต์แวร์ ที่มักติดตั้งไว้ในฮาร์ดดิสก์เพื่อทำงานทันที่ที่เปิดเครื่องคือ ซอฟต์แวร์ระบบปฏิบัติการ สรุปแล้ว ซอฟต์แวร์ คือ โปรแกรมชุดคำสั่งไว้ควบคมคอมฯให้ทำงาน ซอฟต์แวร์ระบบ คือโปรแกรมที่ใช้ในการควบคุมระบบการทำงานของเครื่องคอมพิวเตอร์ทั้งหมด เช่น การบูตเครื่อง การสำเนาข้อมูล การจัดการระบบของดิสก์ ชุดคำสั่งที่เขียนเป็นคำสั่งสำเร็จรูปโดยผู้ผลิตเครื่องคอมพิวเตอร์ และมีมาพร้อมแล้วจากโรงงานผลิต การทำงานหรือการประมวลผลของซอฟต์แวร์เหล่านี้ขึ้นกับเครื่องคอมพิวเตอร์แต่ละเครื่องระบบของซอฟต์แวร์เหล่านี้ออกแบบมาเพื่อการปฏิบัติควบคุม และมีความสามารถในการยืดหยุ่นการประมวลผลของเครื่องคอมพิวเตอร์ แบ่งออกเป็น 4 ประเภทคือ โปรแกรมระบบปฏิบัติการเป็นโปรแกรมที่ใช้ควบคุมและติดต่อกับอุปกรณ์ต่าง ๆ ของเครื่องคอมพิวเตอร์ โดยเฉพาะการจัดการระบบของดิสก์ การบริหารหน่วยความจำของระบบ กล่าวโดยสรุปคือ หากจะทำงานใดงานหนึ่งโดยใช้คอมพิวเตอร์เป็นเครื่องมือในการทำงานแล้วจะต้องติดต่อกับซอฟต์แวร์ระบบก่อน ถ้าขาดซอฟต์แวร์ชนิดนี้จะทำให้เครื่องคอมพิวเตอร์ไม่สามารถทำงานได้ ตัวอย่างของซอฟต์แวร์ประเภทนี้ได้แก่ โปรแกรมระบบปฏิบัติการ DOS Unix Windows Sun OS/2 Warp Netware และ Linux ตัวแปลภาษาจาก Source Code ให้เป็น Object Code […]

การใช้ซอฟต์แวร์ในภาคอุตสาหกรรมการศึกษา

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

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 ขั้น […]