สิ่งแวดล้อมในการ พัฒนา...
TRANSCRIPT
สงแวดลอมในการพฒนาซอฟตแวร
สงแวดลอมในการพฒนาซอฟตแวร• หมายถง ภาษาหรอเครองมอ(Tool) ทใชในการพฒนาซอฟตแวร
• ภาษาทใชในการพฒนา เชน C++ , JAVA , PHP , VB , C# เปนตน
• เครองมอ(Tool) หมายถงเครองมอทใชแปลภาษาเหลานน ใหเปนภาษาเครองท สงคอมพวเตอรใหท างานโดยตรง เชน Compiler หรอ Linker
กลไกของเครองมอในการพฒนา
กลไกของCompiler
โปรแกรม 1 โปรแกรม n
Compile (แปลงเปน Object File)
Object 1 Object n
Linker (รวม Object เขาดวยกน)
กลไกของInterpreter
โปรแกรมท างานโดย Interpreter
โปรแกรมb = 100c = 200
a = (b + c) * 100d = a/5
Print d , a
โปรแกรมท างานทละบรรทด
เขยนโปรแกรม
Compiler แปลงโปรแกรมทงหมดใหเปนไฟลทสงงานคอมพวเตอรไดโดยตรง จงมความรวดเรว
Interpreter คอยๆ แปลงโปรแกรมทละบรรทดใหเปนไฟลทสงงานคอมพวเตอร จงชา แต
แกไขงาย
สงแวดลอมในการพฒนาซอฟตแวร• ดบกเกอร (Debugger) ส าหรบคนหาขอผดพลาดในโปรแกรม
• สงแวดลอมแบบเดม เครองมอแตละชนดท างานแบบแยกสวนกน ท าใหการพฒนาไมคอยมประสทธภาพเทาทควร
IDE(Integrated Development Environment)
• เปนเครองมอทรวมเครองมอตาง ๆ ในกระบวนการพฒนาโปรแกรมเขาไวดวยกน
• IDE เปนสงแวดลอมหนงเดยวทสามารถท าไดทกอยาง เชน การคอมไพลSource code ของโปรแกรม การลงค กาสราง Executable file ไปจนถงการดบก(Debug)
IDEToolในการพฒนาแบบเดม
Compiler
Interpreter
Debugger
ใช Tool แตละตวแยกกน
Toolในการพฒนาแบบ IDE
Compiler Interpreter
Debugger
รวมTool ทกตวเขาดวยกน
ตวอยาง IDEชอสนคา บรษท ภาษา ฐานขอมลVisual BASIC Microsoft BASIC SQL Server , Oracle ,
ODBC , OLE DB
Visual C++ Microsoft C, C++ SQL Server , Oracle , ODBC , OLE DB
Borland C++ Builder
Inprise C , C++ dBASE , Paradox , Access , ODBC
Delphi Studio Inprise Delphi SQL Server , Oracle , ODBC , DB2
Power Builder Sybase Power Script ODBC
Developer 2000 Oracle PL/SQL Oracle , ODBC
Visual Studio Microsoft C , C++ , VBA ,Java
SQL Server , Oracle , ODBC , OLE DB
Supporting Tool• IDE ชวยใหการพฒนาโปรแกรมงายขน แตไมสนบสนนการทดสอบและการจนระบบ(System Tuning) ซงถอเปนกระบวนการทส าคญตอจากการเขยนโปรแกรม
• จนระบบ(System Tuning) เปนการจดสรรเวลาของ CPU , พนทในฮารดดสก หนวยความจ า ฯลฯ เพอใหระบบโดยรวมมประสทธภาพสงสด
• ท าใหม Supporting Tool ตางๆ เกดขนมากมาย ซงชวยใหลดเวลาและแรงงานในการพฒนาระบบลง และไดงานทมคณภาพมากขน
ตวอยาง Supporting Tool• Test Tool : คนหา error ใหอตโนมต
• Profiler : แนะน าวาตองจนระบบอยางไร
• Version and Structure Control Tool : ควบคมเวอรชนและควบคมการแกไขโปรแกรมโดยโปรแกรมเมอรหลายคน
• Help Creation Tool : ลดงานหลงตดตงระบบ
• Installer Creation Tool : ชวยใหการตดตงราบรน
พฒนาการของ OS กบ User Interface• PC หรอคอมพวเตอร ถอก าเนดขนปลายทศวรรษ 1970 ในยคแรกของ
PC โปรแกรมถกเขยนโดยใชภาษา BASIC ในรปแบบของ ROM-BASIC ซงฝงโปรแกรมขนาดเลกลงในฮารดแวรทเปนหนวยความจ า
• หลงจากนนกม Floppy Disk และ Hard disk เกดขน และเกดระบบปฏบตการแบบ DOS(Disk Operating System) ขน
• ในกลางทศวรรษ 1980 บรษทแอปเปล ไดน าระบบปฏบตการแมคอนทอชออกจ าหนาย ซงเปนระบบปฏบตการแบบกราฟก(Graphics User Interface หรอ GUI)
• หลงจากนนกเกดระบบปฏบตการแบบ GUI อน ๆ ตามมา เชน Window บน UNIX , OS/2 ของ IBM และ Window ของ Microsoft
การเขยนโปรแกรมบนวนโดวส• Event Driving Method
– Tool ในการพฒนาไดกลายเปน GUI Based Tool เชน Visual Basic
– จะเขยนค าสงควบคมลงในแตละ Event ทจะเกดขนในแตละ Control และจะท างานตาม Event(เหตการณ) ทเกดขน
– เปนหลกการทมใชทวไป เชน เมอหยดเหรยญลงในตหยอดเหรยญและกดปมเลอกน าอดลม กจะมน าอดลมตามทเลอกไหลออกมา
Event Driving Method
กดป ม
คลก , ขยบ
แปลงภาพ เคลอนไหวของฮารดแวรเปนขอความ
OS(Windows) Application Program
เขยนโปรแกรม : หลงอนพต “ชอลกคา” ขยบเคอรเซอรไปทชอสนคา
เขยนโปรแกรม : หลงกดป ม “ลงทะเบยน” ใหบนทกขอมลลงในฐานขอมล
การเขยนโปรแกรมบนวนโดวส• การประสานงานกนระหวางแอพพลเคชน
– บนวนโดวส เราสามารถสงใหโปรแกรมหลายโปรแกรมท างานพรอมกนได(Multitask) และสามารถท างานประสานงานกนได
– นอกจากนยงม คณสมบตชอ Multithread เปนการทโปรแกรมหนงสามารถเปดโปรแกรมยอยหลายโปรแกรมขนมาท างานพรอมกนได โดยโปรแกรมยอยแตละโปรแกรมอาจมฟงกชนหรอเปาหมายในการท างานตางกน
Single Thread กบ MultithreadSingle Thread
ตอตโนมต
คนทตองการท างานหลายอยางเชน ถอนเงน โอนเงน ช าระคาบรการ
คนทตองการตรวจสอบยอด
คนทตองการฝากเงน
คนทตองการถอนเงน
หงดหงด รอนาน ทงทใชบรการเดยวเดยว
Multi Thread
ตอตโนมต ต อตโนมต ต อตโนมต
ตรวจสอยอดเทานน ฝากเงน
คนทตองการท างานหลายอยาง
คนทตองการตรวจสอบยอด
คนทตองการฝากเงน
การเขยนโปรแกรมบนวนโดวส• ซอฟตแวรชนสวน
– คอ การน าโปรแกรมเกาบางสวนกลบมาใชใหมอก เรยกสวนทน ามากลบมาใชไดอกวา “ซอฟตแวรชนสวน”
– ม 3 รปแบบใหญ ๆ ไดแก• ชนสวนแบบ(Component) เชน ActiveX
• ชนสวนแบบโมดล(Module) เชน DLL(Dynamic Link Library)
• Web Service น าซอฟตแวรมาใชซ า โดยการรยกใช Service ผานอนเทอรเนต
Web Based Programming• แนวคดของ Web Based Application Server คอ โปรแกรมทงหมดท างานอยบนเซรฟเวอร และผใชงานสามารถใชงานจากคอมพวเตอรทมบราวเซอรไดเลย โดยไมตองลงโปรแกรมพเศษในคอมพวเตอรอก
• จงสะดวกเพราะไตองลงซอฟตแวรในเครองของผใชงาน(Client) ลดภาระในการบ ารงรกษาซอฟตแวรทเครองผใชงาน เชน การควบคมเวอรชน
การแพรหลายของ Web ServerClient Server แบบเดม
Window Server + RBMS
Web Server
Web Services• เวบเซอรวส ( Web Services) คอ แอปพลเคชนหรอโปรแกรม ซงท างาน
อยางใดอยางหนงในลกษณะใหบรการ โดยจะถกเรยกใชงานจาก แอปพลเคชน หรอ โปรแกรมอนๆ ผานเวบ ในรปแบบ RPC (Remote Procedure Call) หรอระบบสงงานระยะไกล การใหบรการของเวบเซอรวส จะมเอกสารอธบายคณสมบตของบรการก ากบไว มภาษาทถกใชเปนสอในการแลกเปลยนขอมล คอ XML ท าใหผใชสามารถเรยกใชบรการตางๆของ แอปพลเคชน ทอยบน แพลตฟอรม ใด ๆ กได บนโพรโตคอล HTTP ส าหรบ World Wide Web อนเปนชองทางทไดรบการยอมรบทวโลก ในการตดตอสอสารกนระหวาง แอปพลเคชน กบ แอปพลเคชน และมการน าเสนอใหสาธารณชนรบทราบ ผใชบรการจงสามารถคนหาเวบเซอรวส ไดโดยทไมจ าเปนตองรทอยจรงของแอปพลเคชน หรอ โปรแกรมนน
สวนประกอบของ Web Services• Application : โปรแกรมทท าหนาทใหบรการ
• SOAP (Simple Object Access Protocol) : คอโปรโตคอลหรอระเบยบวธในการสอสารระหวางเวบเซอรวส โดยใชขอมลทก าหนดรปแบบดวยภาษา XML ท าใหเวบเซอรวสสามารถสอสารกนไดแมวา จะอยบนเครองคอมพวเตอรคนละเพลตฟอรม หรอพฒนาดวยภาษาโปรแกรมทตางกนกตาม
• WSDL (Web Services Description Language) : คอ เอกสาร XML ทอธบายรายละเอยดในการตดตอกบเวบเซอรวส เพอให แอพพลเคชนทตองการเรยกใชเวบเซอรวสรวาเซอรวสนนใหบรการอะไรบาง และจะตดตอไดอยางไร
• UDDI (Universal Description, Discovery and Integration) : เปนไดเรกทอร ทเกบรวบรวม Web Service ทมการลงทะเบยนไว ซงอาจรวมไปถงบรการอนๆทเปนอเลคทรอนกส และไมเปนอเลคทรอนกสดวย UDDI จะเกบรวบรวมขอมลของ Web Service ตางๆไวในรปแบบ WSDL
Web Services
Web Services• "Web Service" กลาวคอ Web Service คอซอฟตแวรคอมโพเนนท (Software Component) ทสามารถน า มาสรางเปน แอพพลเคชนส าหรบใหบรการการท างาน ๆ หนงใหแกผรองขอบนอนเทอรเนต หรอสามารถทจะน า Web Service แตละตวมาประกอบกนตามกระบวนการทางธรกจ เพอรวมกนท างานในลกษณะ Interoperability รวมกนเปน "Web Services" ซงสามารถจ าลองภาพการท างานของ Web Services ทเกดจากการท างานรวมกนของ SOAP, UDDI และ WSDL
Web Services