จาวากับแนวทางการพัฒนาซอฟต์แวร์ในปัจจุบัน
(Java and guideline to software development in today)
บทคัดย่อ
เทคโนลียีคอมพิวเตอร์ฮาร์ดแวร์(Hardware) และซอฟต์แวร์
(Software) ในปัจจุบันมีการเปลี่ยนแปลงเร็วมาก และเมื่อเปรียบเทียบระหว่างฮาร์ดแวร์กับซอฟต์แวร์ พบว่าฮาร์ดแวร์เปลี่ยนแปลงเร็วกว่าซอฟต์แวร์ โดยการเปลี่ยนแปลงนี้เพื่อยกระดับขีดความสามารถให้สูงขึ้น ขณะเดียวกันซอฟต์แวร์ก็จำเป็นต้องปรับเปลี่ยนตามฮาร์ดแวร์เพื่อให้สามารถทำงานร่วมกันได้
และรองรับการทำงานให้สอดคล้องกับเทคโนโลยีใหม่
ๆ ของฮาร์ดแวร์
อย่างไรก็ตาม หลายท่านอาจมีความคิดว่าซอฟต์แวร์เปลี่ยนแปลงเร็วกว่าฮาร์ดแวร์ เนื่องจากได้มีซอฟต์แวร์ประยุกต์ใหม่
ๆ จำนวนมากออกวางจำหน่ายตามท้องตลาด ซึ่งบางครั้งอาจมองดูมากเกินไปจนอาจเลือกใช้งานไม่ถูก และยังมีข่าวการอัพเดท (Update)
ซอฟต์แวร์ใหม่ ๆ ตามนิตยสารคอมพิวเตอร์ เว็บไซต์ หรือแม้แต่รายการโทรทัศน์บางรายการเพื่อเป็นความรู้ให้กับผู้ใช้งานทั่วไป จากข้อมูลของหลาย ๆ
สื่อที่นำเสนอข้อมูลพบว่า แนวโน้มปัจจุบันของการเขียนโปรแกรมนั้น นักพัฒนาจะหันไปใช้โปรแกรมที่เป็นโอเพินซอร์ส
(Open Source) มากขึ้น เนื่องจากช่วยลดค่าใช้จ่ายด้านลิขสิทธิ์ซอฟต์แวร์ และเลือกที่มีความสามารถของการโปรแกรมเชิงวัตถุ
(Object Oriented Programming:OOP) ซึ่งจะช่วยลดปัญหาเมื่อขนาดของโปรแกรมนั้นใหญ่ขึ้น
ลดการเขียนชุดคำสั่งที่ซ้ำซ้อน และสามารถนำชุดคำสั่งเดิมกลับมาใช้งานใหม่ได้อีก ด้วยคุณลักษณะดังกล่าวนี้ภาษาเขียนโปรแกรมจาวา
(Java) จึงเป็นอีกภาษาหนึ่งที่มีการกล่าวถึงอย่างกว้างขวาง
บทความนี้มีวัตถุประสงค์เพื่อนำเสนอความรู้เกี่ยวกับ
การเลือกภาษาจาวาเป็นแนวทางสำหรับพัฒนาซอฟต์แวร์ในปัจจุบัน นำเสนอความรู้เกี่ยวกับจาวาและภาษาเขียนโปรแกรม ซึ่งนักพัฒนาสามารถใช้จาวาในการพัฒนาระบบสารสนเทศในองค์กรได้โดยเริ่มจากการศึกษาโครงสร้างและไวยากรณ์ของภาษา ตลอดจนนำเสนอความรู้เกี่ยวกับแนวทางการพัฒนาซอฟต์แวร์ เพื่อจะช่วยให้นักพัฒนาสามารถเลือกภาษาที่มีควาามสอดคล้องและเหมาะสมกับลักษณะงาน
แต่อย่างไรก็ดีภาษาจาวาก็ไม่ใช่คำตอบสุดท้าย ท่านอาจเลือกศึกษา
จาวาควบคู่ไปกับภาษาเขียนโปรแกรมอื่น
เพื่อจะได้วิเคราะห์ด้วยตนเองว่าภาษาใดมีความสามารถเหมาะสมที่จะนำไปประยุกต์ใช้ในการพัฒนาระบบสารสนเทศในองค์กรของท่านในลำดับต่อไป
Abstract
The
computer technologies of hardware and software nowadays alter very
rapidly. Then comparing between
hardware and software, we found that hardware has been altering more rapid than
software. Moreover, the alteration
of hardware has enhanced its capability.
Meanwhile software needs to adjust
itself for supporting and
being compatible with the new technologies of hardware.
However,
many people may think that software changes faster than hardware because there are many new application
softwares sold in the market, and sometimes the users do not know how to select them. Furthermore, there are news updating new
software from the computer magazine, web site, or some television programs in
order to give the knowledge to the users.
From the information of the various media, we find the programming trend
that the developers utilize the
open source software increasingly because the copyright cost of software can be
reduced. In addition, the developers select the software with
the capability of the object oriented programming (OOP) which will reduce the
problems of the large-size program,
reduce writing the repatitive command and can reuse the previous command. With this characteristic, the Java programming language is one of
the language that people mention extensively.
The
objectives of this article are to
present the knowledge about selecting the Java language as a guideline for the
software development nowadays and
to present the knowledge
about the Java and the programming language that the developers can utilize them for developing the information system in
organization by starting from the study of the structure and the syntax of the
language. Also, the knowledge about
the guideline for the software
development can help the developers select the programming language which is
compatible and suitable for the work.
However, the Java language is not the final answer. You may select the study of Java along
with the other programming language and can snalyze by yourself what language
is capable and appropriate for applying in the development of the information
system in your organization in the future.
บทนำ
ในปัจจุบันพบว่ามีเทคโนโลยีใหม่
ๆ เกิดขึ้นมากมาย ไม่ว่าจะเป็นเทคโนโลยีคอมพิวเตอร์
หรือเทคโนโลยีการสื่อสารบนอุปกรณ์ไร้สาย และเมื่อเทคโนโลยีเหล่านั้นวางสู่ท้องตลาด
จากนั้นจะพบว่ามีซอฟต์แวร์ใหม่ ๆ วางจำหน่ายในลำดับถัดมา จึงอาจกล่าวได้ว่า เทคโนโลยีฮาร์ดแวร์กับซอฟต์แวร์เป็นสิ่งที่คู่กัน
มักจะมีวิวัฒนาการไปพร้อม ๆ กันเสมอ
เพราะซอฟต์แวร์เป็นสิ่งที่ให้ชีวิตแก่ฮาร์ดแวร์และเพิ่มคุณค่าให้กับระบบสารสนเทศในองค์กร
การตัดสินใจเลือกซอฟต์แวร์ภาษาใดภาษาหนึ่ง
ด้วยจุดประสงค์ใด ๆ ก็ตาม เช่น เลือกเพื่อเพิ่มโอกาสในการทำงานตามสายอาชีพ
หรือเลือกเพื่อใช้พัฒนาระบบสารสนเทศขององค์กร ก็เรียกได้ว่าเป็นการลงทุนทั้งด้านกำลังทรัพย์ เวลา สมอง
และโอกาสความก้าวหน้าในอนาคต การเลือกนั้นจึงควรได้ผลลัพธ์ที่คุ้มค่าที่สุด
และจากจำนวนซอฟต์แวร์ภาษาที่มีอยู่จำนวนมากในปัจจุบัน พบว่า ภาษาจาวา ก็เป็นอีกภาษาหนึ่งที่น่าสนใจ
ที่กลุ่มนักพัฒนาซอฟต์แวร์นั้นต่างให้ความสนใจในการนำไปประยุกต์พัฒนาระบบสารสนเทศเพื่อใช้งานในหลากหลายด้าน
การเลือกศึกษาภาษาเขียนโปรแกรมจาวา จึงเป็นอีกหนึ่งแนวทางที่จะใช้สร้างโอกาสความก้าวหน้าในสายอาชีพสำหรับอนาคต
จากที่กล่าวมาข้างต้น
หากตัดสินใจเลือกศึกษาภาษาเขียนโปรแกรมจาวา
หรือภาษาอื่นใดก็ตาม นักพัฒนาควรมีความรู้เกี่ยวกับ ภาษาเขียนโปรแกรม เพื่อจะได้รู้ว่าภาษาที่เลือกมานั้นเป็นภาษาที่ทำงานในระดับใด มีขีดความสามารถมากน้อยเพียงใด และเหมาะสมกับลักษณะงานหรือไม่ นอกจากนี้ยังควรคำนึงถึงระยะเวลาและอายุการใช้งานของภาษานั้น
ๆ อีกด้วย
ภาษาเขียนโปรแกรม
โดยทั่วไปแล้ว ก่อนที่จะพัฒนาโปรแกรมระบบสารสนเทศขึ้นใช้งานในองค์กร ควรจะพิจารณาลักษณะของงาน ขอบเขตและความสามารถของระบบงานนั้น ๆ
ก่อนเป็นลำดับแรกเพื่อให้รู้ว่าควรจะเลือกใช้โปรแกรมภาษาใดในการพัฒนาระบบ นักพัฒนาระบบต้องรู้ว่า
ภาษาที่ตนเองเลือกนั้นเป็นโปรแกรมภาษาระดับใด ซึ่งสามารถแบ่งระดับของภาษาเขียนโปรแกรมได้
3 ระดับ (Harver M. Deitel
and Paul J. Deitel,2007:10) ได้แก่
1) ภาษาระดับต่ำ (Low-level language) เป็นภาษาที่มีความสามารถในการเข้าถึงหรือควบคุมฮาร์ดแวร์ได้โดยตรง คอมพิวเตอร์จะเข้าใจภาษาชนิดนี้ได้ดี แต่มนุษย์เราเข้าใจยากและมีความยุ่งยากในการเขียนชุดคำสั่งเนื่องจากชุดคำสั่งจะอยู่ในรูปแบบของเลขฐานสอง
(Binary Base) ซึ่งแทนด้วยบิต(bit)
0 และ 1
ภาษาประเภทนี้ได้แก่
ภาษาเครื่อง (Machine code language) ภาษาแอสเซมบลี้ (Assembly
language)
2) ภาษาระดับกลาง (Medium-level
language) เป็นภาษาที่มีความสามารถในการควบคุมฮาร์ดแวร์รองจากภาษาระดับต่ำ
แต่ก็มีข้อดีตรงที่สามารถเรียนรู้วิธีการเขียนโปรแกรมได้ง่ายกว่า
วัตถุประสงค์ของภาษาระดับกลางนี้ยังเน้นที่การควบคุมการทำงานของฮาร์ดแวร์
ถึงแม้จะสามารถนำไปประยุกต์ใช้กับการเขียนโปรแกรมเชิงธุรกิจได้ก็ตาม แต่ก็ไม่เป็นที่นิยม ภาษาประเภทนี้ ได้แก่ ภาษาซี
(C language)
3) ภาษาระดับสูง(High-level
language) เป็นภาษาที่มนุษย์สามารถเรียนรู้และเข้าใจได้ง่าย แต่
คอมพิวเตอร์จะเข้าใจยาก
ดังนั้นชุดคำสั่งที่เขียนด้วยภาษาระดับสูงจะต้องผ่านกระบวนการแปลภาษา(Compile) ด้วยตัวแปลภาษา (Compiler) เพื่อให้กลายเป็นภาษาที่เครื่องคอมพิวเตอร์เข้าใจ
และภาษาชนิดนี้ไม่สามารถเข้าถึงฮาร์ดแวร์ได้โดยตรง ส่วนมากนำภาษาระดับสูงมาประยุกต์ใช้กับการเขียนโปรแกรมเชิงธุรกิจ
ซึ่งภาษาประเภทนี้ ได้แก่ โคบอล (Cobol) จาวา(Java) หรือภาษาในตระกูลดอทเน็ต (.NET) เป็นต้น
อย่างไรก็ตาม ถ้าหากมีความสนใจพัฒนาซอฟต์แวร์ในเชิงธุรกิจหรือเขียนเกมคอมพิวเตอร์ ก็จำเป็นต้องศึกษาภาษาระดับสูง
ถ้าต้องการเขียนโปรแกรมเพื่อควบคุมอุปกรณ์และการทำงานโดยรวมของระบบเครื่อง เช่น การเขียนโปรแกรมระบบปฏิบัติการวินโดว์
(Windows) ก็ต้องเลือกใช้ภาษาระดับกลาง
และสุดท้ายถ้าหากต้องการเขียนโปรแกรมเพื่อควบคุมฮาร์ดแวร์โดยตรง เช่น การควบคุมหุ่นยนต์ (Robot) ก็ต้องเลือกใช้ภาษาระดับต่ำ
จากที่กล่าวมาข้างต้นจะเห็นว่า การเขียนโปรแกรมด้วยภาษาระดับสูง
จัดเป็นหัวใจสำคัญสำหรับใช้พัฒนางานด้านระบบสารสนเทศขององค์กร
ซึ่งนักพัฒนาสามารถเลือก ภาษาเขียนโปรแกรมระดับสูง ได้ตามประเภทงาน ดังตัวอย่างที่แสดงในตารางที่ 1
ตารางที่ 1 แสดงการเลือกใช้ภาษาระดับสูงเพื่อพัฒนาโปรแกรม
|
ภาษาระดับสูงสำหรับเขียนโปรแกรมด้านธุรกิจ |
|
งานส่วนบุคคลและธุรกิจขนาดย่อม
|
|
เช่น ระบบงานร้านเช่าวีดีโอ ระบบงานอพาร์ทเม้นท์ ระบบงานขาย ในการพัฒนาระบบสารสนเทศเพื่อใช้งานภายในองค์กรอาจเลือกใช้โปรแกรมภาษาไมโครซอฟต์แอคเซส
(Microsoft
Access) เดลไฟล์
(Delphi) วิสซวลเบสิค (Visual Basic) คริสตัลรีพอร์ท (Crystal Report) เอสคิวแอล (SQL) จาวาเจทูเอสอี ( Java J2SE) และซีพลัสพลัส (C++)
แต่ถ้าต้องการพัฒนาระบบงานบนเว็บ (Web) สามารถเลือกใช้โปรแกรมภาษาวีบีดอทเน็ต (VB.NET) เอเอสพีดอทเน็ต (ASP.NET) พีเอชพี (PHP) ร่วมกับฐานข้อมูลมายเอสคิวแอล (MySQL) แต่ทั้งนี้ก็ไม่เสมอไปอาจเลือกใช้โปรแกรมภาษาที่อยู่กลุ่มขององค์กรธุรกิจขนาดกลางและขนาดใหญ่ก็ได้
|
|
องค์กรธุรกิจขนาดกลางและขนาดใหญ่
|
|
เช่น ระบบงานร้านสะดวกซื้อ เว็บไซต์จำหน่ายหนังสือออนไลน์ขนาดใหญ่ ร้านเช่าวีดีโอซึทาย่า บริษัทจำหน่ายรถยนต์ ธุรกิจค้าปลีก บริษัทจำหน่ายคอมพิวเตอร์รายใหญ่ บริษัทจำหน่ายอุปกรณ์ด้านเครือข่าย ร้านสุกี้เอ็มเค (MK) เป็นต้น ซึ่งการพัฒนาระบบสารสนเทศขึ้นใช้งานนั้นส่วนใหญ่จะเชื่อมโยงข้อมูลระหว่างสาขาและรองรับการทำงานบนเว็บ
สำหรับโปรแกรมภาษาที่ใช้พัฒนาระบบสารสนเทศภายในองค์กร เชื่อมต่อเครือข่ายข้อมูลระหว่างสาขา อาจเลือกใช้โปรแกรมภาษาจาวาเจทูอีอี (Java J2EE) จาวาเซิร์ฟเลท (Java Servlet) เอสคิวแอล (SQL) ซีชาร์พ (C#) หรือโคบอล (COBOL) โดยใช้ร่วมกันฐานข้อมูลออราเคิล
(Oracle) คลังข้อมูล (Data Warehouse) หรือไมโครซอฟต์เอสคิวแอลเซิร์ฟเวอร์
(Microsoft SQL Server)
สำหรับการพัฒนาระบบงานบนเว็บไซต์สามารถเลือกใช้โปรแกรมภาษาเพิร์ล (Perl) วีบีสคริป( VBScript) เจเอสพี (JSP) เอ็กซ์เอ็มแอล (XML) ไมโครซอฟต์ดอทเน็ต (Microsoft.NET) วิสซวลสูดิโอดอทเน็ต
(Visual Studio.NET) ซีชาร์พดอทเน็ต (C#.NET) หรือวิสซวลซีชาร์พดอทเน็ต (Visual
C#.NET) ซึ่งการทำงานบนเว็บจำเป็นต้องนำซอฟต์แวร์ด้านกราฟิกและมัลติมิเดียอย่างเช่น อะโดบีโฟโตซอพ (Adobe Photoshop) และแมคโครมีเดียแฟลช (Macromedia Flash) เข้ามาทำงานร่วมด้วย
และถ้าต้องการเขียนโปรแกรมเพื่อส่งข้อความหรือทำงานบนโทรศัพท์มือถือก็สามารถเลือกใช้โปรแกรมภาษาจาวาเจทูมี (Java J2ME) |
จากข้อมูลในตารางที่
1 พบว่า
ไม่ว่าจะพัฒนาโปรแกรมเพื่อใช้งานส่วนบุคคล งานธุรกิจขนาดย่อม ธุรกิจขนาดกลาง-ขนาดใหญ่ งานบนคอมพิวเตอร์เครื่องเดียว (Stand
alone) งานที่เชื่อมข้อมูลระหว่างสาขา
(On network) งานบนเว็บ
(On web) หรือการทำงานบนอุปกรณ์มือถือ
(On mobile) ถ้าหากเลือกใช้โปรแกรมภาษาจาวาจะสามารถรองรับความต้องการที่หลากหลายและครอบคลุมการทำงานได้ทั้งหมด อีกทั้งภาษาจาวายังมีขีดความสามารถสูง ช่วยองค์กรลดต้นทุนได้เนื่องจากไม่ต้องจ่ายค่าลิขสิทธิ์ซอฟต์แวร์ และเป็นภาษาที่มีความยืดหยุ่นในการเขียนโปรแกรมสูง
โปรแกรมภาษาจาวา
ภาษาเขียนโปรแกรมจาวา
(Java
programming language)
ถูกพัฒนาขึ้นเมื่อปี ค.ศ 1995 โดยบริษัทซัน ไมโครซีสเต็ม (Sun Microsystem) บริษัทคู่แข่งของไมโครซอฟต์ (Microsoft) จัดเป็นซอฟต์แวร์โอเพินซอร์ส (Open
Source) ที่สามารถดาวน์โหลด (Download) มาใช้งานได้ฟรีโดยไม่เสียค่าใช้จ่าย มีวิวัฒนาการมาจากภาษาซี (C) และซีพลัสพลัส (C++) ดังนั้นถ้ามีพื้นฐานสองโปรแกรมนี้มาก่อนการเรียนรู้และศึกษาจาวานั้นก็ทำได้ไม่ยากนัก
จาวาพัฒนาจากแนวคิดการเขียนโปรแกรมเชิงวัตถุ
(Object
Oriented Programming:OOP) ซึ่งมีหลักการทำงานโดยอาศัยคลาส(Class) และอ็อบเจ็ค (Object) คลาสทำหน้าที่เป็นต้นแบบสำหรับจัดกลุ่ม
(Group)
อ็อบเจ็คเข้าไว้ด้วยกัน ส่วนอ็อบเจ็คเป็นตัวแปรชนิดหนึ่งของคลาสสร้างขึ้นเพื่อใช้เข้าถึงข้อมูลและเมธอด (Mothod) ภายในคลาส จาวายังสามารถจัดการกับโปรแกรมขนาดใหญ่ที่มีความซับซ้อนสูง รวมถึงมีความสามารถในการสืบทอดคลาส (Inheritance) โดยสามารถสืบทอดข้อมูลหรือคุณลักษณะทั้งหมดของคลาสแม่
(Super Class) สู่คลาสลูก(Sub Class) และคลาสลูกก็สามารถเขียนชุดคำสั่งพิเศษเพื่อเพิ่มเติมความสามารถได้
นอกจากนี้ยังมีจุดเด่นในเรื่องของการเขียนโปรแกรมเพียงครั้งเดียวแล้วสามารถนำกลับมาใหม่ได้อีก (Reuseable) ทำให้ลดระยะเวลาในการเขียนโปรแกรม และลดการเขียนโค้ด (Code) ที่ซ้ำซ้อน
พร้อมกันนั้น
สิ่งที่ทำให้จาวาแตกต่างจากภาษาเขียนโปรแกรมอื่น ๆ คือ ความสามารถของจาวาเวอชวลแมชชีน (Java Virtual Machine:JVM) ที่ทำหน้าที่เป็นตัวกลางในการแปลงไฟล์ดอทคลาส (.class) ให้สามารถนำไปใช้งานได้กับทุกแพลทฟอร์ม
(Platform) โดยไม่ยึดติดอยู่กับระบบปฏิบัติการ เรียกได้ว่าเป็นการเขียนโปรแกรมเพียงครั้งเดียวและสามารถรัน
(Run) ได้กับทุกระบบปฏิบัติการ(Multi-platform) ดังตัวอย่างในรูปที่ 1

รูปที่ 1 โครงสร้างการแปลโปรแกรม (Compile) ภาษาจาวา
จากรูปที่ 1 เมื่อทำการเขียนโปรแกรมด้วยภาษาจาวาเป็นที่เรียบร้อยแล้ว จากนั้นสั่งบันทึกโปรแกรม(Save) ไฟล์ที่ได้จากการบันทึกจะมีส่วนขยายเป็นดอทจาวา (.java) เรียกไฟล์นี้ว่าไฟล์ต้นฉบับ
โดยไฟล์นี้จะยังไม่สามารถทำงานได้
ต้องผ่านกระบวนการแปลภาษา (Compile) จากภาษาระดับสูง (High-level
language) ให้เป็นภาษาเครื่อง โดยจะแปลโปรแกรมด้วยคำสั่งจาวาซี (javac) จากนั้นจะได้ไฟล์ที่มีส่วนขยายเป็นดอทคลาส
(.class) ซึ่งจะเก็บข้อมูลในลักษณะไบต์โค้ด (Bytecode)
กล่าวคือพร้อมใช้งานแต่จะไม่สามารถแก้ไขข้อมูลที่อยู่ในไฟล์นี้ได้
หากต้องการแก้ไขจะต้องย้อนกลับไปแก้ไขที่ไฟล์ต้นฉบับแล้วสั่งแปลโปรแกรมซ้ำอีกครั้ง
และสามารถสั่งรัน (Run) โปรแกรมเพื่อแสดงผลลัพธ์โดยใช้คำสั่งจาวา (java) ในการแปลโปรแกรมนั้นจาวาจะทำการแปลสองรอบ
(Double Compile) การแปลในรอบที่สองจะถูกกระทำจาวาเวอชวลแมชชีน (Java Virtual
Machine:JVM) จะทำการแปลงไฟล์ที่มีส่วนขยายดอทคลาส (.class) ให้สามารถนำไฟล์นั้นไปทำงานได้กับทุก ๆ ระบบปฏิบัติการ
ซึ่งภาษาเขียนโปรแกรมอื่นไม่สามารถทำได้
สำหรับเทคโนโลยีจาวา (Java
Technology) นั้นได้จัดกลุ่มการทำงานออกเป็น 3
กลุ่ม
(กาญจนา ตันวิสุทธิ์,2547:3) ได้แก่
1) J2SE (Standard Edition) สำหรับใช้เขียนโปรแกรมบนเครื่องคอมพิวเตอร์ส่วนบุคคล
(Personal Computer:PC) และเครื่องสถานีงานวิศวกรรม (Work Station)
2) J2EE (Enterprise Edition) สำหรับทำงานบนเครื่องแม่ข่าย
(Server)
และรองรับการทำงานของ เซิร์ฟเลท (Servlets) เจเอสพี (JSP) และเอ็กซ์เอ็มแอล ( XML)
3) J2ME (Micro Edition) สำหรับเขียนโปรแกรมบนอุปกรณ์ไร้สายที่มีหน่วยความจำจำกัด เช่น โทรศัพท์มือถือ(Mobile Phone) เครื่องปาล์ม(Palm) หรือเครื่องพีดีเอ (PDA)
ซึ่งการเริ่มศึกษาภาษาจาวานั้น
แนะนำให้เริ่มจาก J2SE จากนั้นก็จะสามารถเรียนรู้ J2EE
และ J2ME ได้ไม่ยากนัก นอกจากนี้การเลือกเขียนโปรแกรมด้วยภาษาจาวายังมีความสอดคล้องกับแนวทางการพัฒนาซอฟต์แวร์ในปัจจุบันอีกด้วย
แนวทางการพัฒนาซอฟต์แวร์
จากที่กล่าวมาแล้วข้างต้น ว่าการเขียนโปรแกรมด้วยจาวานั้นใช้หลักการและแนวคิดเชิงวัตถุ(Object Oriented
Programming:OOP) เป็นแนวคิดที่ใช้ในการพัฒนาซอฟต์แวร์ในปัจจุบัน
มีความแตกต่างจากแนวคิดการเขียนโปรแกรมในอดีตที่ใช้แนวคิดของการโปรแกรมแบบโครงสร้าง
(Structure programming) เรียกอีกชื่อหนึ่งว่า
การเขียนโปรแกรมเชิงกระบวนการ (Procedure programming) แนวคิดแบบเดิมนี้จะส่งผลเสียต่อการพัฒนาโปรแกรมเมื่อระบบงานมีขนาดใหญ่และซับซ้อนมากขึ้น
และไม่รองรับความสามารถของการนำโค้ดของระบบงานเดิมกลับมาใช้พัฒนาใหม่ (Reuseable) เมื่อเขียนชุดคำสั่งให้ขยายความสามารถเพิ่มเติม
จากข้อจำกัดของแนวคิดดังกล่าว ส่งผลให้แนวคิดของการเขียนโปรแกรมแบบเดิมสิ้นสุดลง
และถูกแทนที่ด้วยแนวคิดแบบใหม่ที่เรียกว่า การเขียนโปรแกรมเชิงวัตถุ และเพื่อให้สอดคล้องกับแนวคิดแบบใหม่นี้
จึงได้มีการปรับเปลี่ยนวิธีในการออกแบบระบบสารสนเทศซึ่งแต่เดิม การออกแบบระบบทางด้านตรรกะ (Logic) จะใช้แผนภาพบริบท (Context
Diagram) ในการแสดงภาพรวมการทำงานของระบบสารสนเทศดังกล่าว
และใช้แผนภาพกระแสข้อมูล (Data
Flow Diagrm:DFD) เพื่อแสดงการทำงานในกระบวนการย่อยในแต่ละส่วนของระบบ ซึ่งการใช้แผนภาพบริบทกับแผนภาพกระแสข้อมูลนี้อาจส่งผลเสียในส่วนที่ไม่สามารถทำให้นักพัฒนามองภาพฟังก์ชั่น
(Function) การทำงานของระบบได้ชัดเจนอย่างที่ควรจะเป็น
สำหรับการเขียนโปรแกรมเชิงวัตถุนี้จะใช้หลักการออกแบบที่แตกต่างไปจากแบบเดิม เรียกว่า การออกแบบโปรแกรมเชิงวัตถุ ซึ่งยังคงใช้กระบวนการวิเคราะห์ระบบตามแบบของวัฎจักรการพัฒนาระบบ
(System Development Life Cycle:SDLC) ที่ประกอบด้วย 4 ขั้นตอน ได้ 1) การวางแผน (Planing) 2) การวิเคราะห์ระบบ (Analysis) 3)การออกแบบระบบ (Design)
และ 4)การพัฒนาและนำระบบไปใช้งาน (Implementation) แต่กระบวนการออกแบบนั้นจะเปลี่ยนไปใช้วิธีการของยูเอ็มแอล (Unified
Modeling Language:UML) ซึ่ง เป็นภาษาสัญลักษณ์รูปภาพมาตรฐานที่ใช้สำหรับสร้างแบบจำลองเชิงวัตถุ แทนที่การใช้แผนภาพบริบทกับแผนภาพกระแสข้อมูล
ซึ่ง UML มีผู้คิดค้นร่วมกันหลายคนได้แก่
เกรดี้ บูช (Grady Booch) เจมส์ รัมบักช์(James Raumbaugh) และไอวา เจคอบสัน ( lvar Jacobson) โดยแผนภาพ (Diagram)
ที่ใช้ในการออกแบบนั้นประกอบด้วย (Alan
Dennis,Barbara Haley Wixom and Tegarden , 2001)
1) ยูสเคสไดอะแกรม (Use-Case diagram) เป็นแผนภาพที่แสดงความต้องการของผู้ใช้(User) และบรรยายความสามารถของระบบ
ซึ่งแสดงภาพตัวอย่างของยูสเคสไดอะแกรมของระบบจัดทำใบนัดหมายระหว่างคนไข้กับแพทย์ ดังรูปที่ 2 2)คลาสไดอะแกรม (Class diagram) เป็นแผนภาพที่แสดงความสัมพันธ์ระหว่างคลาสกับอ๊อบเจ็ค 3) แอคทิวิตี้ไดอะแกรม (Activity
diagram) เป็นแผนภาพที่แสดงขั้นตอนการทำงานของยูสเคสและกิจกรรมย่อยที่เกิดขึ้นในแต่ละขั้นตอน 4)สเตทชาร์ทไดอะแกรม (Statechart
diagram) เป็นแผนภาพที่แสดงการเปลี่ยนแปลงสถานะต่าง
ๆ ของอ๊อบเจ็ค 5)ซีเควนซ์ไดอะแกรม (Sequence diagram) เป็นแผนภาพที่ใช้บรรยายการทำงานระหว่างอ๊อบเจ็คย่อยของทุก
ๆ ยูสเคส เพื่อให้ทราบว่าภายใน ยูสเคสนั้นมีเมธอด (Method) ใดบ้างและแสดงลำดับเวลาในการทำงาน 6) คะแลบบะเรชันไดอะแกรม (Collaboration
diagram) จะคล้ายกับซีเควนซ์ไดอะแกรมแต่ไม่แสดงลำดับของเวลา แต่จะบอกลำดับการทำงานของแต่ละเมธอด (Method) และ
7)ดีพลอยเมนท์ไดอะแกรม (Deployment diagram) ใช้ออกแบบแผนภาพที่เกี่ยวข้องกับฮาร์ดแวร์หรือทางด้านสถาปัตยกรรมของระบบ
ทั้งด้านโครงสร้างและด้านเครือข่าย (Network Topology)
ซึ่งในที่นี้อาจกล่าวได้ว่ายูสเคสไดอะแกรมและคลาสไดอะแกรม
เป็นแผนภาพที่มีความสำคัญ จะขาดไม่ได้สำหรับการออกแบบโปรแกรมเชิงวัตถุ
แต่ก็ไม่ได้หมายความว่าในการออกแบบระบบนั้น
นักวิเคราะห์หรือนักพัฒนาจะวาดแผนภาพเพียง 2 แผนภาพนี้เท่านั้น
ยังคงจำเป็นต้องวาดแผนภาพอื่นเพื่ออธิบายการทำงานของโปรแกรมและระบบควบคู่ไปด้วย
รูปที่ 2 ยูสเคสไดอะแกรมของระบบจัดทำใบนัดหมายคนไข้
ที่มา : Alan
Dennis,Barbara Haley Wixom and Tegarden , 2001:163
จากรูปที่
2 แสดงแผนภาพการทำงานของการจัดทำใบนัดหมาย
ซึ่งมีบุคคลที่เกี่ยวข้องกับระบบสามคนได้แก่
คนไข้ (Patient) แพทย์ (Doctor) และคนจัดทำใบนัดหมาย (Management) ในการทำงานของระบบนั้นได้จำแนกสถานะของคนไข้ออกเป็นสองสถานะ
ได้แก่ คนไข้เก่า(Old
patient) และคนไข้ใหม่
(New patient) ข้อมูลของคนไข้เหล่านี้จะเกี่ยวข้องกับยูสเคสในการสร้างใบนัดหมาย
(Make appointment) โดยยูสเคสนี้ประกอบด้วยการทำงานสองส่วนย่อยได้แก่ ยูสเคสจัดทำใบนัดหมายสำหรับคนไข้เก่า (Make
old patient appt) และทำใบนัดหมายสำหรับคนไข้ใหม่
(Make new patient appt) ดังนั้นเมื่อมีการนัดหมายเกิดขึ้นระหว่างแพทย์กับคนไข้ใหม่
ข้อมูลของคนไข้ใหม่จะต้องถูกส่งเข้ามาทำงานในกระบวนการของยูสเคสทำใบนัดหมายสำหรับคนไข้ใหม่
(Make new patient appt) ก่อน
โดยคนไข้ทุกคนมีสิทธิ์เป็นคนไข้ใหม่ได้เพียงหนึ่งครั้งเท่านั้น
จากนั้นก็จะเปลี่ยนสถานะของตนเองกลายเป็นคนไข้เก่า
ส่วนคนไข้เก่าเมื่อมีการนัดหมายเกิดขึ้นก็จะส่งข้อมูลไปทำงานในกระบวนการของการจัดทำใบนัดหมายสำหรับคนไข้เก่า
(Make old patient appt) โดยคนไข้เก่าสามารถมีการนัดหมายกับแพทย์ได้หลายครั้ง
นอกจากนี้พบว่าในยูสเคสจัดทำใบนัดหมายสำหรับคนไข้เก่า (Make old patient
appt) ยังได้แยกการทำงานย่อยออกไปอีก
กล่าวคือ
มีการจัดเรียงลำดับเวลาในการนัดหมายของคนไข้แต่ละรายในยูสเคสของการจัดลำดับรายการนัดหมาย
(Make payment arrangements) ส่วน
ยูสเคสสร้างใบนัดหมาย (Make appointment) ก็ได้แยกการทำงานย่อยออกไปอีกเพื่อให้สามารถปรับปรุงข้อมูลข่าวสารการนัดหมายของคนไข้ได้ เช่น การยกเลิกการนัดหมาย การเปลี่ยนแปลงวันและเวลานัดหมาย เป็นต้น โดยทำงานผ่านยูสเคสย่อยที่ชื่อว่าปรับปรุงข่าวสารคนไข้
(Update patient information)
คนจัดทำใบนัดหมาย
(Management) จะมีหน้าที่รวบรวมข้อมูลข่าวสารเพื่อใช้ดำเนินการในการสร้างตารางนัดหมาย
(Produce schedule information)
จากนั้นนำข้อมูลในกระบวนการนี้ไปสร้างเป็นตารางการนัดหมาย (Manage schedule)
ซึ่งก่อนที่จะสร้างเป็นตารางการนัดหมายได้นั้นต้องใช้ข้อมูลของแพทย์ (Record
avilability)
เป็นองค์ประกอบด้วยและแพทย์ (Doctor) ก็เป็นองค์ประกอบหนึ่งของยูสเคสไดอะแกรมที่สามารถเข้าใช้งานตารางการนัดหมายได้
ดังนั้น
เมื่อเลือกใช้แนวทางการออกแบบเชิงวัตถุเนื่องจากทำการเขียนด้วยโปรแกรมที่มีลักษณะเป็นการโปรแกรมเชิงวัตถุซึ่งสอดคล้องกับแนวทางการพัฒนาซอฟแวร์ในปัจจุบันอย่างเช่นภาษาจาวา ก็จำเป็นต้องเลือกเครื่องมือ (Tools) ที่มีความสามารถรองรับการทำงานดังกล่าว ในปัจจุบันพบว่าโปรแกรมแรชชันนัลโรซ (Rational
Rose) ก็เป็นอีกหนึ่งเครื่องมือที่ใช้ออกแบบการโปรแกรมเชิงวัตถุ และเป็นโปรแกรมที่ได้รับความนิยมเป็นอย่างมาก
จาวากับแนวทางการพัฒนาซอฟต์แวร์ในปัจจุบัน
จากการศึกษาเกี่ยวกับภาษาจาวา
พบว่าส่งผลต่อแนวทางการพัฒนาซอฟต์แวร์ในปัจจุบันในด้านต่าง ๆ ดังนี้
ด้านหลักสูตร ในปัจจบุนพบว่า
จาวาเป็นอีกหนึ่งภาษาเขียนโปรแกรมที่ได้รับความนิยมไม้แพ้ภาษาที่
อยู่ในตระกูลดอทเน็ต (.NET)
และตลาดงานก็มีความต้องการนักพัฒนาโปรแกรมที่สามารถเขียนภาษานี้ได้ อีกทั้งมีอัตราค่าจ้างสูง แต่ยังขาดแคลนผู้ที่มีความสามารถในภาษานี้ค่อนข้างมาก ดังนั้นสถาบันการศึกษาหลายแห่งที่เปิดสอนในหลักสูตร ปวช. ปวส. ปริญญาตรี หรือปริญญาโท ก็ได้พยายามนำเอาภาษานี้บรรจุเข้าไปในรายวิชาที่มีความเกี่ยวข้องกับการเขียนโปรแกรม
หรือบรรจุลงในรายวิชาที่เกี่ยวกับโครงสร้างข้อมูล หรืออาจจะเป็นวิชาเกี่ยวกับการออกแบบโปรแกรมเชิงวัตถุ ล้วนแล้วแต่สามารถทำได้ทั้งสิ้น
และนั่นก็นับเป็นโอกาสอันดีของนักศึกษาในรุ่นนั้น ๆ ที่มีโอกาสได้เรียนรู้โปรแกรมภาษาใหม่ ๆ
แต่สำหรับผู้ที่จบการศึกษาในหลักสูตรเก่า ความรู้ทางด้านการเขียนโปรแกรมที่เรียนมา จึงล้วนเป็นการโปรแกรมแบบโครงสร้าง (Structure
Programming) เช่น โปรแกรมฟอคซ์โปร (FoxPro) ปาสคาล
(Pascal) ฟลอแทรน(Fortran) อินฟอร์มิคซ์ (Informix) ดีเบส (dBase) และ พาราดอคซ์ (Paradox) อาจเกิดความล้าสมัยจำเป็นต้องได้รับการปรับเปลี่ยน
ในทางปฏิบัติ ผู้ที่ทำงานในสายอาชีพด้านเขียนโปรแกรมอยู่แล้ว
คงมากด้วยประสบการณ์ที่สั่งสมขึ้นเรื่อย ๆ ในแต่ละปี
ดังนั้นการที่จะเรียนรู้ภาษาใหม่เพิ่มอีกหนึ่งภาษา คงไม่ยากนัก แต่สิ่งที่อาจเป็นปัญหาได้คือ ความไม่ต้องการที่จะเปลี่ยนแปลงความเคยชินของตนเอง เมื่อเราใช้ภาษาใดภาษาหนึ่งจนเกิดความคล่องแคล่ว
เขียนโปรแกรมด้วยความคุ้นเคยและหลงรักในภาษานั้น เราอาจกลัวกับการที่ต้องเริ่มต้นใหม่กับภาษาอื่นที่ไม่คุ้นเคย ในทางกลับกันบัณฑิตที่จบใหม่ด้วยหลักสูตรเก่า ยังไม่มีโอกาสได้สัมผัสการทำงานจริง ขาดประสบการณ์ และตกอยู่ในสภาวะที่กดกัน ท่ามกลางการแข่งขันกับบัณฑิตต่างสถาบันจำนวนมาก
คงเป็นเรื่องยากที่จะทำการศึกษาโปรแกรมใหม่ด้วยตนเอง
ดังนั้นอาจกล่าวได้ว่า
จาวาเป็นโปรแกรมภาษาทางเลือกในปัจจุบันที่บัณฑิตรุ่นเก่าและรุ่นใหม่ควรศึกษาเพิ่มเติม เป็นภาษาที่ใช้หลักการเชิงวัตถุมีความสอดคล้องกับแนวทางการพัฒนาซอฟต์แวร์ในปัจจุบัน ออกแบบระบบโดยใช้ยูเอ็มแอล (UML) และทำงานร่วมกับฐานข้อมูลเชิงวัตถุ
(Object-oriented Databases) เช่นโอทู(O2) ซึ่งเป็นฐานข้อมูลที่มีความซับซ้อนและมีขนาดใหญ่ สามารถเก็บข้อมูลได้ทั้งภาพ เสียง ข้อความ ตัวเลข และมัลติมีเดีย รวมถึงคุณลักษณะของวัตถุและคลาส
ด้านการพัฒนาซอฟต์แวร์ การเริ่มต้นการเขียนโปรแกรมในปัจจุบันจะเน้นโปรแกรมที่ทำงานร่วมระหว่างเครื่องคอมพิวเตอร์ลูกข่ายและแม่ข่าย
(Client-Server) การทำงานภายใต้สถาปัตยกรรมมัลติเทียร์
(Multi-Tiered) การทำงานบนเว็บ และที่น่าสนใจก็คือ
การเขียนโปรแกรมบนโทรศัพท์มือถือและอุปกรณ์ไร้สาย ถ้าเริ่มต้นศึกษาจาวาเพื่อการทำงานดังกล่าว ควรเริ่มจากจาวามาตรฐานที่ทำงานบนเครื่องพีซี
(J2SE) โดยเลือกติดตั้งเวอร์ชั่นล่าสุดได้แก่ jdk1.6
ด้านการเลือกใช้อิดิเตอร์
(Editor) การเลือกอิดิเตอร์ที่จะใช้สำหรับเขียนโปรแกรมภาษาจาวา
สามารถเลือกได้หลากหลาย เช่น 1) โปรแกรมโน้ตแพด (NotePad) จะมาพร้อมกับการติดตั้งวินโดว์ (Windows) การใช้งานมีข้อเสียคือไม่แสดงหมายเลขบรรทัด
(line number) ทำให้ไม่สะดวกในการแก้ไขข้อผิดพลาด
(Error) ที่เกิดในแต่ละบรรทัด 2 ) โปรแกรมอีดิทพลัส
(Editplus) รองรับการเขียนโปรแกรมได้หลายภาษา เช่น เอชทีเอ็มแอล (HTML) ซีและซีพลัสพลัส (C/C++) เพิร์ล (Perl) และ จาวา (Java) เป็นโปรแกรมที่เขียนโค้ดได้เฉพาะที่เป็นข้อความ
(Text Editor)
ใช้งานง่ายสามารถดาวน์โหลดเพื่อทดลองใช้งานได้ที่เว็บไซต์ www.editplus.com 3) โปรแกรมบลูเจ (BlueJ) พัฒนาโดยมหาวิทยาลัยแห่งหนึ่งในเดนมาร์ค เมื่อทำการเขียนโปรแกรมอิดิเตอร์ (Editor) ชนิดนี้ จะสร้างคลาสไดอะแกรม
(Class Diagram) ของโปรแกรมนั้นและยังเชื่อมโยงให้เห็นความสัมพันธ์กับคลาสอื่นที่เกี่ยวข้อง แต่มีข้อเสียคือโปรแกรมทำงานได้ค่อนข้างช้า
สามารถดาวน์โหลดโปรแกรมได้ที่เว็บไซต์ http://www.bluej.org 4) โปรแกรมบอร์แลนด์เจบิลเดอร์
(Borland Jbuilder) เป็นผลิตภัณฑ์ของบริษัทบอร์แลนด์จะช่วยให้การเขียนโปรแกรมแลดูง่ายขึ้น เนื่องจากมีคอมโพเน้นท์ (Component) ให้เลือกใช้มากมายเช่นเดียวกับการเขียนโปรแกรมประเภทวิสชวล
(Visual) ภาษาอื่น ๆ แต่มีค่าใช้จ่ายด้านลิขสิทธิ์ค่อนข้างสูง สามารถดาวน์โหลดโปรแกรมเพื่อทดลองใช้งานได้ที่
www.borland.com 5) โปรแกรมซันวันสตูดิโอ (Sun
One Studio) เป็นผลิตภัณฑ์ของบริษัทซันไมโครซีสเทิม
(Sun Microsystem) ผู้พัฒนาภาษาจาวา อย่าลืมว่าถึงแม้จาวาจะเป็นโปรแกรมโอเพินซอร์ส
(Open Source) แต่ก็ไม่ได้หมายความว่าอิดิเตอร์สำหรับใช้เขียนจาวานั้นจะไม่เสียค่าใช้จ่าย
ดังนั้นจึงสามารถ ดาวน์โหลดโปรแกรมเพื่อทดลองใช้งานได้ที่เว็บไซต์ http://java.sun.com เมื่อเกิดความพึงพอใจที่จะใช้งานต่อก็สามารถจ่ายเงินซื้ออิดิเตอร์ดังกล่าว
และ 6)โปรแกรมเน็ตบีนส์
(NetBeans) ช่วยให้เขียนโปรแกรมได้ง่ายและเร็วขึ้น เหมาะสำหรับการใช้สวิง (Swing) และสร้างการโต้ตอบแบบจียูไอ (GUI) สามารถดาวน์โหลดโปรแกรมเพื่อใช้งานได้ฟรีที่เว็บไซต์ www.netbeans.org
จากที่กล่าวมาแล้วนั้น ในขั้นตอนแรกของการเริ่มต้นเขียนจาวา สามารถเริ่มเขียนภายใต้โปรแกรมด้วยอิดิทพลัส
(Editplus) เพราะจะทำให้เข้าใจหลักการและโครงสร้างของภาษาจาวาได้ดี
หลังจากนั้นอาจเปลี่ยนอิดิเตอร์ไปใช้โปรแกรม
เน็ตบีนส์ (NetBeans)
เนื่องจากจะช่วยย่นระยะเวลาในการเขียนโปรแกรมให้เร็วขึ้น
แสดงภาพตัวอย่างการเขียนโปรแกรมจากทั้งสองอิดิเตอร์ดังรูปที่ 3


รูปที่ 3
แสดงหน้าจอการเขียนจาวาด้วยโปรแกรมอิดิทพลัส (Editplus) กับโปรแกรมเน็ตบีนส์ (NetBeans)
จากรูปที่
3 ด้านซ้ายมือเป็นการเขียนจาวาด้วยโปรแกรมอิดิทพลัส
(Editplus)
ซึ่งการใช้โปรแกรมชนิดนี้นักพัฒนาจะต้องเขียนชุดคำสั่งทั้งหมดด้วยตนเองโดยพิมพ์ได้เฉพาะข้อความเท่านั้น
(Text Editor) ดังนั้นจึงใช้เวลานานในการพัฒนาแอพพลิเคชั่น
(Application) เมื่อพิมพ์คำสั่งเป็นที่เรียบร้อยจากนั้นจึงสั่งแปล
(Compile)และรัน (Run) โปรแกรมเพื่อแสดงผลลัพธ์ ส่วนรูปด้านขวามือเป็นการเขียนจาวาด้วยโปรแกรมเน็ตบีนส์
(NetBeans) จะช่วยประหยัดเวลาให้กับนักพัฒนาเพราะมีเครื่องมือต่าง
ๆ ในลักษณะของวิสชวล (Visual)
ให้เลือกใช้ระหว่างการออกแบบ
และลดจำนวนของการเขียนโค้ดให้น้อยลงเนื่องจากโค้ดใดที่เป็นคำสั่งในโครงสร้างพื้นฐานของจาวาโปรแกรมเน็ตบีนส์จะทำการสร้าง
(Generate) ให้โดยอัตโนมัติ
ดังนั้นนักพัฒนาเพียงแต่เพิมเติมชุดคำสั่งที่ใช้สำหรับควบคุมเหตุการณ์ (Event) ในการทำงานเท่านั้น
หลังจากที่มีพื้นฐานการเขียนจาวาโปรแกรมมิง (Java Programming) แล้ว หากต้องการเพิ่มขีดความสามารถโดยการเขียนโปรแกรมบนคอมพิวเตอร์แม่ข่าย
(Server) หรือบนเว็บก็สามารถดาวน์โหลด โปรแกรมเน็ตบีนส์ (NetBeans) สำหรับจาวา J2EE และจาวา J2ME สำหรับเขียนโปรแกรมบนโทรศัพท์มือถือ
หรือถ้าต้องการเขียนโปรแกรมบนโทรศัพท์มือถือโดยไม่ใช้โปรแกรมเน็ตบีนส์
(NetBeans) ก็สามารถติดตั้งโปรแกรม J2ME Wireless Toolkit 2.1 ซึ่งจะมี KToolbar สำหรับสร้างโปรเจ็ค (Project) บิลด์ (Build) และ รันโปรเจ็ค (Run project) โดยจะแสดงผลลัพธ์ของชุดคำสั่งที่เขียนโปรแกรมบนโทรศัพท์มือถือที่โปรแกรมมือถือจำลอง
(Emulator)
แต่ก็ยังคงต้องอาศัยการเขียนโค้ดในโปรแกรมอิดิทพลัส (Editplus) เช่นเดิมแสดงตัวอย่างองค์ประกอบบางส่วนของการเขียนโปรแกรมบนโทรศัพท์มือถือดังรูปที่
4



จะปรากฎ
Wireless
Toolkit ที่ Start Menu หลังติดตั้ง โปรแกรมเสร็จเรียบร้อย

Project
และโค๊ดที่เขียนขึ้นจะเก็บอยู่ที่
C:\WTK2.1\apps
การแสดงผลลัพธ์ของโปรแกรมภายใต้
Emulator
รูปที่ 4
องค์ประกอบบางส่วนของการเขียนโปรแกรมบนโทรศัพท์มือถือ
จากรูปที่ 4
เป็นการเขียนโปรแกรมจาวาบนโทรศัพท์มือถือ โดยใช้ J2ME Wireless Toolkit 2.1
เป็นโปรแกรมอิดิเตอร์ ซึ่งเมื่อติดตั้งอิดิเตอร์เป็นที่เรียบร้อยแล้วจะปรากฏ Wireless
Toolkit ที่สตาร์ทเมนู ( Start Menu) พร้อมกับโปรมแกรมที่เกี่ยวข้อง
โดยนักพัฒนาสามารถเลือกคำสั่ง KToolbar เพื่อเริ่มต้นการเขียนโปรแกรมจาวาบนโทรศัพท์มือถือ
เมื่อเข้าไปในอิดิเตอร์ของ
Ktoolbar แล้วสามารถสร้างโปรเจ็ค (Project) เพื่อเริ่มงานโปรแกรม เมื่อนักพัฒนาสร้างโปรเจ็คเป็นที่เรียบร้อย เครื่องจะทำการสร้างโฟลเดอร์ (Folder)
ตามชื่อของโปรเจ็คสำหรับเก็บโปรแกรมที่จะถูกสร้างขึ้นในภายหลัง
จากให้ผู้พัฒนาจะต้องทำการย้ายโปรแกรมที่มีส่วนขยาย (.java) ที่เขียนไว้แล้วในโปรแกรมอิดิทพลัส
(Editplus) ไปเก็บไว้ที่
ไดเรคทอรี่ C:\WTK21\apps\ตาชื่อโฟลเดอร์ของโปรเจ็คที่สร้าง\scr จากนั้นสลับหน้าจอกลับมาที่หน้าต่างของโปรแกรมอิดิเตอร์
Ktoolbar แล้วคลิก (Click) ที่ปุ่บิลด์
(Build) และปุ่มรัน
(Run) เพื่อแสดงผลลัพธ์ของโปรแกรมภายใต้หน้าจอโทรศัพท์จำลอง
(Emulator)
สรุปได้ว่า การนำภาษาจาวามาประยุกต์ใช้สำหรับเขียนโปรแกรมทางด้านธุรกิจ สามารถประยุกต์ใช้ได้กับทุกหน่วยงาน
ทุกองค์กร
ที่มีการพัฒนาระบบสารสนเทศบนพื้นฐานของคอมพิวเตอร์ (Computer-Base
Information System:CBIS) นอกจากนี้แนวโน้มในอนาคตของโทรศัพท์มือถือทุกรุ่น ทุกยี่ห้อ คาดว่าจะพัฒนาโทรศัพท์ให้สามารถรองรับการทำงานของจาวาเทคโนโลยี
บทสรุป
จากการศึกษาถึงแนวทางการพัฒนาซอฟต์แวร์ในปัจจุบัน พบว่าจาวาเป็นอีกหนึ่งภาษาเขียนโปรแกรมที่ถูกพัฒนาขึ้นเพื่อแก้ไขปัญหาการเขียนโปรแกรมแบบดั้งเดิม
(Structure
Programming) ซึ่งมีปัญหาเกี่ยวกับการจัดการโปรแกรมที่มีขนาดใหญ่ ปัญหาการนำโค้ดโปรแกรมกลับมาใช้ใหม่
(Reuseable) รวมถึงปัญหาการทำงานร่วมกับเทคโนโลยีอุปกรณ์สมัยใหม่
และการผูกติดอยู่กับระบบปฏิบัติการ
ซึ่งปัญหาดังกล่าวสามารถถูกขจัดให้หมดไปภายใต้การเขียนโปรแกรมด้วยภาษา จาวา นอกจากนี้ยังพบว่า
จาวาเป็นภาษาระดับสูงสามารถเรียนรู้และเข้าใจโค้ดได้ไม่ยากนัก นำไปประยุกต์เพื่อการพัฒนาระบบสารสนเทศในองค์กรได้อย่างหลากหลาย
ทั้งระบบสารสนเทศที่ทำงานบนคอมพิวเตอร์เครื่องเดียว (Stand Alone) ทำงานบนสถาปัตยกรรมเครื่องแม่ข่ายและลูกข่าย
(Client/Server)
สามารถใช้พัฒนาโปรแกรมบนเว็บ ใช้เขียนเกม ตลอดจนการเขียนโปรแกรมบนโทรศัพท์มือถือและอุปกรณ์ขนาดเล็กที่มีน่วยความจำจำกัด ผู้ที่มีความสามารถในการเขียนโปรแกรมจาวา ยังสามารถเพิ่มโอกาสในการเลือกงานได้มากกว่า และเป็นที่ต้องการของตลาดงานในสายอาชีพ ดังนั้นจาวาจึงสามารถเป็นภาษาทางเลือกที่สำหรับการทำงาน เป็นภาษาที่มีขีดความสามารถสูงและทำงานได้อย่างครอบคลุม
ถึงแม้จะใช้ทรัพยากรของระบบมากก็ตาม ถ้าท่านไม่กลัวกับการเริ่มต้นเรียนรู้สิ่งใหม่ จาวาก็จะไม่น่ากลัวสำหรับท่าน หากรู้จักการสร้างวินัย ฝึกฝนเขียนโปรแกรมเป็นประจำอย่างต่อเนื่อง ก็จะทำให้เกิดความชำนาญและเรียนรู้ได้อย่างรวดเร็ว
เป็นการเพิ่มคุณค่าให้กับตนเองและเป็นทางเลือกที่คุ้มค่า
อย่างไรก็ตามถึงแม้จาวาจะมีข้อดีมากมาย ผู้ใช้ยังคงต้องคำนึงถึงข้อจำกัดของเทคโนโลยีที่จะนำมาใช้พัฒนาและรองรับการทำงานร่วมด้วย
เนื่องจากจาวาเป็นโปรแกรมภาษาที่ใช้ทรัพยากรของระบบค่อนข้างมาก เช่น ต้องการหน่วยความจำที่มีความจุสูง ต้องการความเร็วของ RAM มากกว่าปกติ เครื่องคอมพิวเตอร์ที่มีประสิทธิภาพสูง หรือบางครั้งอาจรวมถึงโทรศัพท์มือถือหรืออุปกรณ์อื่นที่รองรับการทำงานของจาวาอีกด้วย ซึ่งข้อจำกัดเหล่านี้จะเป็นการเพิ่มต้นทุน
(Cost) ในการดำเนินงานเมื่อท่านเลือกใช้จาวา
บรรณานุกรม
กาญจนา ตันวิสุทธิ์.(2547).
การเขียนเกมและโปรแกรมบนมือถือ J2ME.กรุงเทพฯ:
บริษัทไอดีซี อินโฟ
ดิสทริบิวเตอร์
เซ็นเตอร์ จำกัด.
Alan Dennis,Barbara Haley Wixom and
Tegarden.(2001).System Analysis & Design :An Object-Oriented
Approach
with UML. USA: Wiley, John & Sons, Incorporated.
Arnold K,J. Gosling and D. Holmes.(2000).The
JavaTM Programming Language:Third
Edition.MA:Addison-Wesley.
Harver M. Deitel and Paul J. Deitel.(2007).Java How
to Program. USA: Prentice Hall.