Software Engineering (4123502) บทนำ-วิศวกรรมซอฟต์แวร์ (Introduction to Software Engineering) ภาพรวมของกระบวนการ (A Generic View of Process) แบบจำลองกระบวนการพัฒนาระบบ (Process Model) การประมาณการซอฟต์แวร์ (Software Estimation) วิศวกรรมความต้องการ (Requirement Engineering) การสร้างแบบจำลองการวิเคราะห์ (Analysis Model) การวิเคราะห์เชิงวัตถุ (Object Oriented Analysis) วิศวกรรมการออกแบบ (Design Engineering) การออกแบบส่วนต่อประสานผู้ใช้ (User Interface Design) การทดสอบซอฟต์แวร์ (Testing) สอบกลางภาค สอบปลายภาค
Software Engineering (4123502) Amarita Ritthipakdee Information Technology PNRU
Chapter 1: Introduction to Software Engineering Software is: 1.) Instructions (computer programs) that when executed provide desired features, function, and performance 2.) Data structures that enable the programs to adequately manipulate information 3.) Documentation that describes the operation and use of the programs
Chapter 1: Introduction to Software Engineering System software Application software Engineering/Scientific Embedded - Web applications Artificial intelligence (AI) Mobile Applications (Mobile Apps)
Chapter 1: Introduction to Software Engineering Software New Categories Open world computing : allow mobile devices, personal computers, and enterprise systems to communicate across vast networks (Cloud Computing) Netsourcing : allows customers to receive business applications as a service over the Internet or other networks via browser (the Web as a computing engine) Open source : “free”
Chapter 1: Introduction to Software Engineering Definition วิศวกรรมซอฟต์แวร์ คือ กระบวนการทางวิศวกรรมที่พัฒนาอย่างมีขั้นตอน นำไปสู่ออกแบบซอฟแวร์เพื่อใช้กับงานที่ต้องการให้บรรลุวัตถุประสงค์ได้
Chapter 1: Introduction to Software Engineering Layers of Software Engineering Software Engineering
Chapter 1: Introduction to Software Engineering A quality focus : สิ่งที่องค์กรต้องการ นโยบาย แผนงาน การบริหารจัดการคุณภาพการผลิตซอฟต์แวร์ Process : กระบวนการพัฒนาซอฟต์แวร์ Methods: เทคนิควิธีการพัฒนาซอฟต์แวร์ Tools: เครื่องมือที่ใช้ในการสนับสนุนการพัฒนาซอฟต์แวร์
Chapter 1: Introduction to Software Engineering หลักสำคัญของวิศวกรรมซอฟต์แวร์ Understand the problem: ผู้ที่เกี่ยวข้องกับการพัฒนาซอฟต์แวร์ครั้งนี้ ข้อมูลที่จำเป็นต้องใช้ในระบบ แยกประเด็นที่สำคัญ เพื่อหาวัตถุประสงค์หลักของการทำงานในระบบ
Chapter 1: Introduction to Software Engineering หลักสำคัญของวิศวกรรมซอฟต์แวร์ (ต่อ) Plan a solution : ประเด็นปัญหาที่เกิดขึ้น เคยเกิดขึ้นมาก่อนหรือไม่ ก่อนหน้านี้ใช้วิธีใดในการแก้ปัญหา การแก้ปัญหาในครั้งก่อนนั้นได้ผลดีหรือไม่
Chapter 1: Introduction to Software Engineering หลักสำคัญของวิศวกรรมซอฟต์แวร์ (ต่อ) Carry out the plan: วิธีการที่นำอยู่นี้สอดคล้องกับแผนงานหรือไม่อย่างไร การออกแบบและการเขียนโปรแกรมมีความสอดคล้องกันหรือไม่ มีการตรวจสอบการพัฒนาโปรแกรมเป็นไปตามความต้องการหรือไม่
Chapter 1: Introduction to Software Engineering หลักสำคัญของวิศวกรรมซอฟต์แวร์ (ต่อ) Examine the result for accuracy : มีกระบวนการในการทดสอบ โดยแบ่งเป็นการทดสอบในส่วนย่อย และการรวมกันของระบบใหญ่ ซอฟต์แวร์ที่พัฒนาขึ้นได้รับความเห็นชอบจากผู้ใช้อย่างไร
@Work01 ให้นักศึกษาค้นคว้าข้อมูลเกี่ยวกับ ซอฟต์แวร์ ที่ถูกพัฒนาขึ้นเพื่อใช้ในงานด้านต่างๆที่สำคัญ ดังนี้ ด้านวิทยาศาสตร์และวิศวกรรมศาสตร์ ด้านการประมวลผลข้อมูลขนาดใหญ่ ด้านวิศวกรรมเครื่อข่ายคอมพิวเตอร์ ด้านระบบช่วยเหลือ และระบบคอมพิวเตอร์อัจฉริยะ
@Work01 โดยจัดเรียงเนื้อหาตามลำดับดังนี้ (1 หน้ากระดาษ A4) ชื่อซอฟต์แวร์ บริษัท หรือ หน่วยงานที่พัฒนาขึ้น รายละเอียด (อาจจะมีภาพประกอบ) พอสังเขป อ้างอิง (แหล่งที่มาเชื่อถือได้ เช่น หนังสือ งานวิจัย บทความ)