• Like
Software languge
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Published

วิวัฒนาการของการพัฒนาซอฟแวร์ …

วิวัฒนาการของการพัฒนาซอฟแวร์

สำหรับเป็นข้อมูลค้นคว้า

สำหรับนักเรียน

Published in Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,962
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
12
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Software Technology
  • 2. เนื้อหา
    • บทนำ
    • ซอฟต์แวร์ระบบ
    • ซอฟต์แวร์ประยุกต์
    • การพัฒนาซอฟต์แวร์
    • การจัดซื้อซอฟต์แวร์
    • กฎหมายลิขสิทธิ์ของซอฟต์แวร์
  • 3. ซอฟต์แวร์คืออะไร ?
    • ซอฟต์แวร์ (Software) หมายถึง ชุดคำสั่ง หรือโปรแกรมที่บอกให้ส่วนต่าง ๆ ของคอมพิวเตอร์ทำงาน (Telling the machine what to do)
    • ซอฟต์แวร์ หมายความรวมไปถึงการควบคุมการทำงานของอุปกรณ์แวดล้อมต่างๆ เช่น Modem, CD ROM, Drive เป็นต้น
    • ซอฟต์แวร์ เป็นสิ่งที่มองไม่เห็นจับต้องไม่ได้ แต่รับรู้การทำงานของมันได้ ซึ่งต่างกับ ฮาร์ดแวร์ (Hardware) ที่สามารถจับต้องได้
  • 4. ซอฟต์แวร์คืออะไร ?
    • ซอฟต์แวร์เป็นศัพท์ที่มีความหมายกว้างขวางมาก
    • อาจรวมถึง ผลลัพธ์ต่างๆ เช่น ผลการพิมพ์ที่ได้จากเครื่องคอมพิวเตอร์ เอกสารการพัฒนาซอฟต์แวร์ ตลอดจนคู่มือการใช้ ในการสั่งงานใดๆ ให้เครื่องคอมพิวเตอร์ทำงานตามที่เราต้องการนั้นต้องอาศัยซอฟต์แวร์เป็นตัวเชื่อมระหว่างคน หรือผู้ใช้เครื่องคอมพิวเตอร์กับเครื่องคอมพิวเตอร์
  • 5. ความหมายของซอฟต์แวร์
    • เป็นส่วนสำคัญของระบบคอมพิวเตอร์ คอมพิวเตอร์จะทำอะไรไม่ได้เลยถ้าขาดชุดคำสั่ง เพราะคอมพิวเตอร์เป็นเพียงอุปกรณ์ชิ้นหนึ่งที่จะไม่มีการตัดสินใจ ไม่มีการคำนวณ หรือจัดการงานใด ๆ
  • 6. วิวัฒนาการของซอฟต์แวร์
    • ยุคแรก ( ค . ศ .1950-1965)
      • เสียบสายไฟฟ้าลงในแผงควบคุม
      • บันทึกคำสั่งลงในเทปกระดาษและบัตรเจาะรู
      • ใช้คำสั่งที่เป็นภาษาเครื่อง
      • ไม่เน้นเรื่องหลักเกณฑ์และเทคนิคการเขียนโปรแกรม
      • เริ่มคิดจัดทำภาษาสัญญลักษณ์และภาษาชั้นสูง
      • ต้นยุคเป็น Batch processing และพัฒนาไปเป็น Online processing
  • 7. Batch / Online Processing
    • Batch processing
      • Transactions accumulated and stored until processing
    • On-line processing
      • Transactions are entered directly into computer and processed immediately
  • 8. วิวัฒนาการของซอฟต์แวร์
    • ยุคที่สอง ( ค . ศ .1960-1975)
      • มีการพัฒนาการทำงานแบบ Online อย่างกว้างขวาง
      • ผู้ขายคอมพิวเตอร์เริ่มเปลี่ยนจากการให้ซอฟต์แวร์ฟรีมาเป็นการเช่า มีการลงทุนตั้งบริษัทซอฟต์แวร์เพิ่มมากขึ้น
      • เริ่มมองปัญหาการพัฒนาซอฟต์แวร์ที่ไม่เป็นระบบและไม่มีหลักการที่ดีมากขึ้น
      • มีงานพัฒนาซอฟต์แวร์ที่คั่งค้างไม่ทันกับความต้องการของผู้ใช้
  • 9. วิวัฒนาการของซอฟต์แวร์
    • ยุคที่สาม ( ค . ศ . 1975-1985)
      • ฮาร์ดแวร์เป็นระบบเครือข่าย การประมวลผลแบบกระจาย
      • มีการพัฒนาไมโครโปรเซสเซอร์
      • มีการเผยแพร่คิดหลักการโปรแกรมและเทคนิคโครงสร้าง
      • ไมโครคอมพิวเตอร์ทำให้ขายซอฟต์แวร์ได้กว้างขวาง
      • งบประมาณทางด้านซอฟต์แวร์เพิ่มมากขึ้น
  • 10. Client / Server Computing
  • 11. วิวัฒนาการของซอฟต์แวร์
    • ยุคที่สี่ ( ค . ศ .1985- ปัจจุบัน )
      • เกิดแนวคิดเรื่องภาษายุคที่ 4 (4th Generation Language)
      • พัฒนาโปรแกรม Editor ให้ใช้แก้ไขคำสั่งในโปรแกรมได้ดีขึ้น
      • Logic Programming เช่น Prolog
      • Object-oriented Programming เช่น Smalltalk
      • Functional Programming เช่น Lisp
  • 12. ประเภทซอฟต์แวร์
    • ซอฟต์แวร์ระบบ (System Software)
    • ซอฟต์แวร์ประยุกต์ (Application Software)
    System Software Hardware Applications Software ผู้ใช้ (User) 2001 : Windows XP
  • 13. ประเภทซอฟต์แวร์
  • 14. โปรแกรมระบบ (System Software)
    • ชุดคำสั่งที่เขียนไว้เป็นคำสั่งสำเร็จรูปโดยผู้ผลิตเครื่องคอมพิวเตอร์ และมีมา พร้อมแล้วจากโรงงานผลิต เพื่อการปฏิบัติควบคุม และมีความยืดหยุ่นในการประมวลผลของเครื่องคอมพิวเตอร์ ซึ่งหน้าที่ที่สำคัญ
      • ควบคุมคอมพิวเตอร์
      • เป็นตัวกลางการทำงานระหว่างคอมพิวเตอร์และโปรแกรมประยุกต์
  • 15. System Software แบบต่าง ๆ
    • System Management Programs
      • ระบบปฏิบัติการ (Operating System)
      • ระบบการจัดการฐานข้อมูล (DataBase Management System)
    • System Development Programs
      • Programming Language Translators
      • Computer Aided Software Engineering
    • System Support Programs
      • System Utilities, Performance Monitor and Security Monitor
  • 16. ระบบปฏิบัติการ (Operating System)
    • Supervisory Programs หรือ Monitors Programs นับว่าเป็นซอฟต์แวร์ที่มีความสลับซับซ้อนมาก ทำหน้าที่เป็นตัวกลางเชื่อมระหว่างซอฟต์แวร์กับฮาร์ดแวร์ ระบบปฏิบัติการอยู่เบื้องหลังการทำงานของโปรแกรมระบบงานต่างๆ ให้ติดต่อกับฮาร์ดแวร์ และผู้ใช้เครื่องคอมพิวเตอร์อย่างมีประสิทธิภาพ
    • ควบคุมและดูแลตรวจตราทุกๆ การทำงานของฮาร์ดแวร์ในระบบคอมพิวเตอร์ นับตั้งแต่เปิดเครื่องคอมพิวเตอร์ จนกระทั่งปิดเครื่องคอมพิวเตอร์
  • 17. ระบบปฏิบัติการ (Operating System) : ประเภทการจัดไฟล์ ( File Manager) … ..New, Cut, Copy, Delete , Rename, Find Partition, Format ….. Windows Explorer Computer Management :Storage
  • 18. ประเภทการลบทิ้งโปรแกรม ( Uninstall )
  • 19. โปรแกรมจัดการดิสก์ ( Disk Utility ) … . กำจัดแฟ้มข้อมูลที่ไม่ต้องการจากเครื่อง จัดระเบียบแฟ้มข้อมูลในฮาร์ดดิส … . Disk Cleanup Disk Defragmenter
  • 20. หน้าที่ของระบบปฏิบัติการ
    • กำหนดลำดับการทำงานแต่ละงาน
    • ควบคุมการทำงาน แบบ Multi-programming
    • ควบคุมการรับข้อมูล และแสดงผลลัพธ์โดยผ่านอุปกรณ์ต่างๆ
    • ควบคุมการโยกย้ายข้อมูล
    • จัดสรรที่สำหรับเก็บบันทึกข้อมูลของ
    • หน่วยความจำหลัก
    • จัดสรรเวลาในหน่วย CPU
    • ทำหน้าที่เป็นซอฟต์แวร์
    • ที่ควบคุมซอฟต์แวร์อื่นๆ
  • 21. Single-program Execute and Multiprograming
  • 22. Multitasking and Virtual Storage
    • Multitasking
    • Multiprogramming capability of single-user operating systems
    • Virtual Storage
    • Handles programs more efficiently by dividing the programs into small fixed or variable length
  • 23. Virtual Storage
  • 24. ระบบปฏิบัติการ
    • ส่วนติดต่อกับผู้ใช้ (user interface) เป็นส่วนที่อำนวยความสะดวกในการติดต่อกับคอมพิวเตอร์ มี 2 แบบ
      • Text-based หรือ Command Line Interface (CLI) โดยใช้พิมพ์ข้อความเป็นคำสั่ง
      • Graphic-based user interface (GUI)
        • ใช้เมาส์
        • มีรายการคำสั่ง (menu command)
        • มีหน้าต่าง ไอคอน และ เครื่องมือทางกราฟฟิกอื่น ๆ
    • ตัวอย่าง MS-DOS, Windows, OS/2, UNIX etc.
  • 25.  
  • 26. ภาษาคอมพิวเตอร์
    • เราใช้ภาษาไทย ภาษาอังกฤษ ภาษาจีน และภาษาอื่นๆ อีกมากเพื่อสื่อสารระหว่างมนุษย์ ภาษามนุษย์ที่ใช้กันก็มีกฎเกณฑ์ของภาษามีโครงสร้างที่แน่นอน ผู้คิดค้นคอมพิวเตอร์ได้นำความรู้ด้านภาษาที่มนุษย์ใช้มาคิดค้นใช้กับคอมพิวเตอร์ จึงเกิดภาษาคอมพิวเตอร์ (Computer Language) ซึ่งถือว่าเป็นภาษาประดิษฐ์ (Artificial Language) ที่รวบรวมคำสั่งเฉพาะสำหรับการประมวลผลของคอมพิวเตอร์
  • 27. ภาษาเครื่องและล่ามแปลภาษา
    • ภาษาเครื่อง (Machine Language) คือภาษาที่เครื่องคอมพิวเตอร์เข้าใจ โดยมีโครงสร้าง พื้นฐาน เป็น เลขฐานสอง
    • แต่การสื่อสารระหว่างมนุษย์และเครื่องคอมพิวเตอร์โดยตรงจึงเป็นไปได้ด้วยความยากลำบาก
    • มนุษย์จึงพยายามสร้างเครื่องมือที่จะมาช่วยในการแปลภาษาที่มนุษย์เข้าใจให้คอมพิวเตอร์เข้าใจด้วย
    • เครื่องมือดังกล่าวเรียกว่าล่ามแปลภาษา (Language Translator)
  • 28. ล่ามแปลภาษา (Language Translator)
    • คำสั่งที่มนุษย์สร้างขึ้นหรือเขียนขึ้นมา จะเรียกว่า (Source Code)
    • เมื่อนำ Source Code มาผ่านกระบวนการแปลภาษาของล่ามแปลภาษา ก็จะได้เป็น Object Code
    • และผ่านขั้นตอนอีกเล็กน้อยก็จะได้เป็นภาษาเครื่อง (Machine Language)
    Source Code Lang Translator Object Code
  • 29. การทำงาน / ประเภทของล่ามแปลภาษา Source Code Lang Translator Object Code .EXE .COM Link Compiler Interpreter ใช้ Runtime ไม่ใช้ Runtime
  • 30.
    • สามารถแบ่งภาษาคอมพิวเตอร์ออกได้เป็น 5 ยุค
    •    ภาษาเครื่อง ( Machine Language )
    •     ภาษาแอสเซมบลี ( Assembly Language )
    •     ภาษาชั้นสูง ( High - level Language )
    •     ภาษาชั้นสูงมาก ( Very High - level Language )
    •     ภาษาธรรมชาติ ( Natural Language )
    ภาษาคอมพิวเตอร์
  • 31. ภาษาคอมพิวเตอร์
    • ภาษา ยุค ที่ 1 ภาษาเครื่อง ( Machine Language )
      • ภาษาเครื่อง (Machine Language) ใช้อักขระ 0 และ 1
      • ลักษณะของภาษาเป็นภาษาที่ขึ้นอยู่กับฮาร์ดแวร์ของ คอมพิวเตอร์แต่ละระบบ
      • รูปของรหัสของระบบเลขฐานสอง ประกอบด้วย เลข 0 และเลข 1 ที่นำมาเขียน เรียงติดต่อกัน
  • 32.
    • ภาษา ยุค ที่ 2 ภาษาระดับต่ำแอสเซมบลี ( Assembly Language )
      • ภาษาสัญลักษณ์และภาษาแอสแซมลี (Symbolic and Assembly)
      • ผู้พัฒนาโปรแกรมต้องทราบขั้นตอนการทำงานภายในตัวประมวลผลโดยละเอียด
      • ภาษาที่ใช้มีมากเท่ากับจำนวนตัวประมวลผลที่มีชุดของคำสั่ง (Instruction set)
      • ตัวอย่างเช่นมีการใช้สัญลักษณ์ต่อไปนี้
      • A ย่อมาจาก ADD หมายถึงการบวก S ย่อมาจาก SUBTRACT หมายถึงการลบ C ย่อมาจาก COMPLARE หมายถึงการเปรียบเทียบ MP ย่อมาจาก MULTIPLY หมายถึงการคูณ
    ภาษาคอมพิวเตอร์
  • 33. ภาษาคอมพิวเตอร์
    • ภาษา ยุคที่ 3 ภาษาระดับสูง    
      • การพัฒนาภาษาเขียนโปรแกรม (Programming Language)
      • จอห์น เบคัส (1954) ภาษา FORTRAN
      • CODASYL (1962) ภาษา COBOL
      • ซูริค (1958-60) ภาษา ALGOL
      • จอห์น เคมเมนี และ ธอมัส เดิรตส์ ม . ดาร์ทเมิร์ท ภาษา BASIC
      • มีคอมไพเลอร์ ( Compiler ) จะทำการแปลโปรแกรมทั้งโปรแกรมให้เป็นภาษาเครื่องทีเดียว การแปลนี้จะเป็นการตรวจสอบไวยากรณ์ของภาษา
      • อินเตอร์พรีเตอร์ ( Interpreter ) เป็นตัวแปลภาษาอีกตัวหนึ่งที่จะทำการแปลโปรแกรมภาษาชั้นสูงทีละคำสั่งให้เป็นภาษาเครื่องและทำการเอ็กซ์วีคิวท์หรือ ทำงานคำสั่งนั้นทันทีทันใดเลยก่อนที่จะไปทำการแปลต่อในบรรทัดถัดไป
  • 34. ภาษาคอมพิวเตอร์
    • ภาษา ยุค ที่ 4 ภาษาชั้นสูงมาก (Very high - Level Language)
      • ภาษารุ่นที่ 4 เป็นการระบุผลลัพธ์ที่ผู้ใช้ต้องการ ไม่ได้ระบุขั้นตอน (Non-procedural language)
      • ภาษาสอบถาม (Query Language) ออกแบบสำหรับใช้ในการสืบค้นข้อมูล เช่น SQL (Structure Query Language) โดย อี . เอฟ . คอดด์
      • ตัวสร้างโปรแกรม (Program Generator) ใช้สร้างโปรแกรมภาษาเป็นภาษารุ่นที่ 3 จากคำสั่งง่าย ๆ มักทำงานร่วมกับโปรแกรมจัดการฐานข้อมูลและมีส่วนที่กำหนดลักษณะจอภาพด้วย
  • 35. ภาษาคอมพิวเตอร์
    • ภาษา ยุค ที่ 5 ภาษาธรรมชาติ    
      • ภาษารุ่นที่ 5 เป็นการระบุผลลัพธ์ที่ผู้ใช้ต้องการ ไม่ได้ระบุขั้นตอน (Non-procedural language)
      • ภาษาธรรมชาตินี้ ถูกสร้างขึ้นมาจากเทคโนโลยีทางด้านระบบผู้เชี่ยวชาญ ( Expert System ) ซึ่งเป็นงานที่อยู่ในสาขาปัญญาประดิษฐ์ ( Artificial Intelligence )
      • เช่น การแพทย์ พยากรณ์อากาศ การวิเคราะห์ทางเคมี การลงทุน ฯลฯ จะต้องมีการเก็บรวบรวมข้อมูลจำนวนมหาศาลและให้ผู้ใช้สามารถใช้ภาษาธรรมชาติในการดึงข้อมูลจากฐานความรู้นี้ได้ ดังนั้นเราจึงอาจเรียก ระบบผู้เชี่ยวชาญนี้ได้อีกอย่างว่าเป็น ระบบฐานความรู้ ( Knowledge Base System )
  • 36.
    • Question ?
    • Visual Basic เป็นภาษายุคใด ?
    • การบ้าน จงหาตัวอย่างโปรแกรมภาษาอะไรก็ได้มานำเสนอ ประกอบด้วย
      • โปรแกรม
      • ภาษาของโปรแกรม
      • การทำงานของโปรแกรม