สิ่งแวดล้อมในการ พัฒนา...

22
สิ ่งแวดล้อมในการ พัฒนาซอฟต์แวร์

Upload: others

Post on 03-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: สิ่งแวดล้อมในการ พัฒนา ...sci.udru.ac.th/websci/download/com/rewadee/Information/... · 2014-02-27 · กลไกของเครื่องมือในการพัฒนา

สงแวดลอมในการพฒนาซอฟตแวร

Page 2: สิ่งแวดล้อมในการ พัฒนา ...sci.udru.ac.th/websci/download/com/rewadee/Information/... · 2014-02-27 · กลไกของเครื่องมือในการพัฒนา

สงแวดลอมในการพฒนาซอฟตแวร• หมายถง ภาษาหรอเครองมอ(Tool) ทใชในการพฒนาซอฟตแวร

• ภาษาทใชในการพฒนา เชน C++ , JAVA , PHP , VB , C# เปนตน

• เครองมอ(Tool) หมายถงเครองมอทใชแปลภาษาเหลานน ใหเปนภาษาเครองท สงคอมพวเตอรใหท างานโดยตรง เชน Compiler หรอ Linker

Page 3: สิ่งแวดล้อมในการ พัฒนา ...sci.udru.ac.th/websci/download/com/rewadee/Information/... · 2014-02-27 · กลไกของเครื่องมือในการพัฒนา

กลไกของเครองมอในการพฒนา

กลไกของ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 คอยๆ แปลงโปรแกรมทละบรรทดใหเปนไฟลทสงงานคอมพวเตอร จงชา แต

แกไขงาย

Page 4: สิ่งแวดล้อมในการ พัฒนา ...sci.udru.ac.th/websci/download/com/rewadee/Information/... · 2014-02-27 · กลไกของเครื่องมือในการพัฒนา

สงแวดลอมในการพฒนาซอฟตแวร• ดบกเกอร (Debugger) ส าหรบคนหาขอผดพลาดในโปรแกรม

• สงแวดลอมแบบเดม เครองมอแตละชนดท างานแบบแยกสวนกน ท าใหการพฒนาไมคอยมประสทธภาพเทาทควร

Page 5: สิ่งแวดล้อมในการ พัฒนา ...sci.udru.ac.th/websci/download/com/rewadee/Information/... · 2014-02-27 · กลไกของเครื่องมือในการพัฒนา

IDE(Integrated Development Environment)

• เปนเครองมอทรวมเครองมอตาง ๆ ในกระบวนการพฒนาโปรแกรมเขาไวดวยกน

• IDE เปนสงแวดลอมหนงเดยวทสามารถท าไดทกอยาง เชน การคอมไพลSource code ของโปรแกรม การลงค กาสราง Executable file ไปจนถงการดบก(Debug)

Page 6: สิ่งแวดล้อมในการ พัฒนา ...sci.udru.ac.th/websci/download/com/rewadee/Information/... · 2014-02-27 · กลไกของเครื่องมือในการพัฒนา

IDEToolในการพฒนาแบบเดม

Compiler

Interpreter

Debugger

ใช Tool แตละตวแยกกน

Toolในการพฒนาแบบ IDE

Compiler Interpreter

Debugger

รวมTool ทกตวเขาดวยกน

Page 7: สิ่งแวดล้อมในการ พัฒนา ...sci.udru.ac.th/websci/download/com/rewadee/Information/... · 2014-02-27 · กลไกของเครื่องมือในการพัฒนา

ตวอยาง 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

Page 8: สิ่งแวดล้อมในการ พัฒนา ...sci.udru.ac.th/websci/download/com/rewadee/Information/... · 2014-02-27 · กลไกของเครื่องมือในการพัฒนา

Supporting Tool• IDE ชวยใหการพฒนาโปรแกรมงายขน แตไมสนบสนนการทดสอบและการจนระบบ(System Tuning) ซงถอเปนกระบวนการทส าคญตอจากการเขยนโปรแกรม

• จนระบบ(System Tuning) เปนการจดสรรเวลาของ CPU , พนทในฮารดดสก หนวยความจ า ฯลฯ เพอใหระบบโดยรวมมประสทธภาพสงสด

• ท าใหม Supporting Tool ตางๆ เกดขนมากมาย ซงชวยใหลดเวลาและแรงงานในการพฒนาระบบลง และไดงานทมคณภาพมากขน

Page 9: สิ่งแวดล้อมในการ พัฒนา ...sci.udru.ac.th/websci/download/com/rewadee/Information/... · 2014-02-27 · กลไกของเครื่องมือในการพัฒนา

ตวอยาง Supporting Tool• Test Tool : คนหา error ใหอตโนมต

• Profiler : แนะน าวาตองจนระบบอยางไร

• Version and Structure Control Tool : ควบคมเวอรชนและควบคมการแกไขโปรแกรมโดยโปรแกรมเมอรหลายคน

• Help Creation Tool : ลดงานหลงตดตงระบบ

• Installer Creation Tool : ชวยใหการตดตงราบรน

Page 10: สิ่งแวดล้อมในการ พัฒนา ...sci.udru.ac.th/websci/download/com/rewadee/Information/... · 2014-02-27 · กลไกของเครื่องมือในการพัฒนา

พฒนาการของ 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

Page 11: สิ่งแวดล้อมในการ พัฒนา ...sci.udru.ac.th/websci/download/com/rewadee/Information/... · 2014-02-27 · กลไกของเครื่องมือในการพัฒนา

การเขยนโปรแกรมบนวนโดวส• Event Driving Method

– Tool ในการพฒนาไดกลายเปน GUI Based Tool เชน Visual Basic

– จะเขยนค าสงควบคมลงในแตละ Event ทจะเกดขนในแตละ Control และจะท างานตาม Event(เหตการณ) ทเกดขน

– เปนหลกการทมใชทวไป เชน เมอหยดเหรยญลงในตหยอดเหรยญและกดปมเลอกน าอดลม กจะมน าอดลมตามทเลอกไหลออกมา

Page 12: สิ่งแวดล้อมในการ พัฒนา ...sci.udru.ac.th/websci/download/com/rewadee/Information/... · 2014-02-27 · กลไกของเครื่องมือในการพัฒนา

Event Driving Method

กดป ม

คลก , ขยบ

แปลงภาพ เคลอนไหวของฮารดแวรเปนขอความ

OS(Windows) Application Program

เขยนโปรแกรม : หลงอนพต “ชอลกคา” ขยบเคอรเซอรไปทชอสนคา

เขยนโปรแกรม : หลงกดป ม “ลงทะเบยน” ใหบนทกขอมลลงในฐานขอมล

Page 13: สิ่งแวดล้อมในการ พัฒนา ...sci.udru.ac.th/websci/download/com/rewadee/Information/... · 2014-02-27 · กลไกของเครื่องมือในการพัฒนา

การเขยนโปรแกรมบนวนโดวส• การประสานงานกนระหวางแอพพลเคชน

– บนวนโดวส เราสามารถสงใหโปรแกรมหลายโปรแกรมท างานพรอมกนได(Multitask) และสามารถท างานประสานงานกนได

– นอกจากนยงม คณสมบตชอ Multithread เปนการทโปรแกรมหนงสามารถเปดโปรแกรมยอยหลายโปรแกรมขนมาท างานพรอมกนได โดยโปรแกรมยอยแตละโปรแกรมอาจมฟงกชนหรอเปาหมายในการท างานตางกน

Page 14: สิ่งแวดล้อมในการ พัฒนา ...sci.udru.ac.th/websci/download/com/rewadee/Information/... · 2014-02-27 · กลไกของเครื่องมือในการพัฒนา

Single Thread กบ MultithreadSingle Thread

ตอตโนมต

คนทตองการท างานหลายอยางเชน ถอนเงน โอนเงน ช าระคาบรการ

คนทตองการตรวจสอบยอด

คนทตองการฝากเงน

คนทตองการถอนเงน

หงดหงด รอนาน ทงทใชบรการเดยวเดยว

Multi Thread

ตอตโนมต ต อตโนมต ต อตโนมต

ตรวจสอยอดเทานน ฝากเงน

คนทตองการท างานหลายอยาง

คนทตองการตรวจสอบยอด

คนทตองการฝากเงน

Page 15: สิ่งแวดล้อมในการ พัฒนา ...sci.udru.ac.th/websci/download/com/rewadee/Information/... · 2014-02-27 · กลไกของเครื่องมือในการพัฒนา

การเขยนโปรแกรมบนวนโดวส• ซอฟตแวรชนสวน

– คอ การน าโปรแกรมเกาบางสวนกลบมาใชใหมอก เรยกสวนทน ามากลบมาใชไดอกวา “ซอฟตแวรชนสวน”

– ม 3 รปแบบใหญ ๆ ไดแก• ชนสวนแบบ(Component) เชน ActiveX

• ชนสวนแบบโมดล(Module) เชน DLL(Dynamic Link Library)

• Web Service น าซอฟตแวรมาใชซ า โดยการรยกใช Service ผานอนเทอรเนต

Page 16: สิ่งแวดล้อมในการ พัฒนา ...sci.udru.ac.th/websci/download/com/rewadee/Information/... · 2014-02-27 · กลไกของเครื่องมือในการพัฒนา

Web Based Programming• แนวคดของ Web Based Application Server คอ โปรแกรมทงหมดท างานอยบนเซรฟเวอร และผใชงานสามารถใชงานจากคอมพวเตอรทมบราวเซอรไดเลย โดยไมตองลงโปรแกรมพเศษในคอมพวเตอรอก

• จงสะดวกเพราะไตองลงซอฟตแวรในเครองของผใชงาน(Client) ลดภาระในการบ ารงรกษาซอฟตแวรทเครองผใชงาน เชน การควบคมเวอรชน

Page 17: สิ่งแวดล้อมในการ พัฒนา ...sci.udru.ac.th/websci/download/com/rewadee/Information/... · 2014-02-27 · กลไกของเครื่องมือในการพัฒนา

การแพรหลายของ Web ServerClient Server แบบเดม

Window Server + RBMS

Web Server

Page 18: สิ่งแวดล้อมในการ พัฒนา ...sci.udru.ac.th/websci/download/com/rewadee/Information/... · 2014-02-27 · กลไกของเครื่องมือในการพัฒนา

Web Services• เวบเซอรวส ( Web Services) คอ แอปพลเคชนหรอโปรแกรม ซงท างาน

อยางใดอยางหนงในลกษณะใหบรการ โดยจะถกเรยกใชงานจาก แอปพลเคชน หรอ โปรแกรมอนๆ ผานเวบ ในรปแบบ RPC (Remote Procedure Call) หรอระบบสงงานระยะไกล การใหบรการของเวบเซอรวส จะมเอกสารอธบายคณสมบตของบรการก ากบไว มภาษาทถกใชเปนสอในการแลกเปลยนขอมล คอ XML ท าใหผใชสามารถเรยกใชบรการตางๆของ แอปพลเคชน ทอยบน แพลตฟอรม ใด ๆ กได บนโพรโตคอล HTTP ส าหรบ World Wide Web อนเปนชองทางทไดรบการยอมรบทวโลก ในการตดตอสอสารกนระหวาง แอปพลเคชน กบ แอปพลเคชน และมการน าเสนอใหสาธารณชนรบทราบ ผใชบรการจงสามารถคนหาเวบเซอรวส ไดโดยทไมจ าเปนตองรทอยจรงของแอปพลเคชน หรอ โปรแกรมนน

Page 19: สิ่งแวดล้อมในการ พัฒนา ...sci.udru.ac.th/websci/download/com/rewadee/Information/... · 2014-02-27 · กลไกของเครื่องมือในการพัฒนา

สวนประกอบของ 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

Page 20: สิ่งแวดล้อมในการ พัฒนา ...sci.udru.ac.th/websci/download/com/rewadee/Information/... · 2014-02-27 · กลไกของเครื่องมือในการพัฒนา

Web Services

Page 21: สิ่งแวดล้อมในการ พัฒนา ...sci.udru.ac.th/websci/download/com/rewadee/Information/... · 2014-02-27 · กลไกของเครื่องมือในการพัฒนา

Web Services• "Web Service" กลาวคอ Web Service คอซอฟตแวรคอมโพเนนท (Software Component) ทสามารถน า มาสรางเปน แอพพลเคชนส าหรบใหบรการการท างาน ๆ หนงใหแกผรองขอบนอนเทอรเนต หรอสามารถทจะน า Web Service แตละตวมาประกอบกนตามกระบวนการทางธรกจ เพอรวมกนท างานในลกษณะ Interoperability รวมกนเปน "Web Services" ซงสามารถจ าลองภาพการท างานของ Web Services ทเกดจากการท างานรวมกนของ SOAP, UDDI และ WSDL

Page 22: สิ่งแวดล้อมในการ พัฒนา ...sci.udru.ac.th/websci/download/com/rewadee/Information/... · 2014-02-27 · กลไกของเครื่องมือในการพัฒนา

Web Services