วิชา วิศวกรรมซอฟต์แวร์ (Software Engineering)

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Chapter 11 : System Implementation
Advertisements

วงจรพัฒนาระบบ (System Development Life Cycle)
Chapter 1 : Introduction of System ข้อมูล และ สารสนเทศ
Business System Analyst
การเลือกใช้ซอฟท์แวร์ในงาน สารสนเทศ และแนวโน้มของ การพัฒนาซอฟท์แวร์ใน อนาคต การออกแบบและพัฒนา ซอฟท์แวร์ บทที่ 10.
ผู้บรรยาย พลตรีสุริยน เผือกสกนธ์
SCC - Suthida Chaichomchuen
ซอฟต์แวร์พัฒนาระบบฐานข้อมูล บทที่ 9 การเลือกใช้ซอฟท์แวร์ในงานสารสนเทศ และแนวโน้มของการพัฒนาซอฟท์แวร์ในอนาคต ปริญญา น้อยดอนไพร สาขาวิชาวิทยาการคอมพิวเตอร์
การพัฒนาและติดตั้งระบบ
บทที่ 2 การพัฒนาระบบสารสนเทศ
การพัฒนาระบบสารสนเทศ (Information System Development)
แบบจำลองกระบวนการซอฟต์แวร์
Chapter 2 Software Process.
Modeling and Activity Diagram
Chapter 1 Introduction to Software Engineering – Software Engineering Chaichan Kusoljittakorn 1.
Business System Analysis and Design (BC401)
BC424 Information Technology 1 บทที่ 7 การพัฒนาระบบ สารสนเทศ (Information System Development)
MVC DESIGN PATTERN WATTANAPON G SUTTAPAK Software Engineering, School of Information Communication Technology, University of PHAYAO 1.
Software Development and Management
ลักษณะงานของวิศวกร ซอฟต์แวร์ ● วิเคราะห์และจัดทำความ ต้องการซอฟต์แวร์ ● ออกแบบซอฟต์แวร์ ● พัฒนาซอฟต์แวร์ ● ทดสอบซอฟต์แวร์ ● บำรุงรักษาซอฟต์แวร์ ● จัดการองค์ประกอบ.
บทที่ 1 ความรู้เบื้องต้นเกี่ยวกับระบบและการวิเคราะห์ระบบ
Information Systems Development
บทที่ 1 บทนำสู่วิศวกรรมซอฟต์แวร์
13 October 2007
Thai Quality Software (TQS)
บทที่ 13 กลยุทธ์การทดสอบซอฟต์แวร์ (TESTING STRATEGIES)
บทที่ 5 แบบจำลองกระบวนการ
2 การพัฒนาระบบสารสนเทศ (Information System Development)
การปฐมนิเทศนักศึกษาชั้นปีที่ ๔ และสูงกว่า
บทที่ 9 วิศวกรรมการออกแบบ (Design Engineering)
Information System Development
Java Development Tools
Data mining สุขฤทัย มาสาซ้าย.
บทที่ 10 การนำระบบไปใช้/การบำรุงรักษาระบบ
การจัดหาหรือจัดให้มีการพัฒนา และการบํารุงรักษาระบบเครือข่ายคอมพิวเตอร์ ระบบคอมพิวเตอร์ ระบบงานคอมพิวเตอร์ และระบบสารสนเทศ มาตรฐานการรักษาความมั่นคงปลอดภัยของระบบสารสนเทศตามวิธีการแบบปลอดภัย.
บทที่ 6 วิศวกรรมระบบ (System Engineering)
บทที่ 5 ความต้องการ วิศวกรรมความต้องการ แบบจําลองการวิเคราะห์
บทที่ 7 ระบบสารสนเทศ.
บทที่ 2 ระบบสารสนเทศเพื่อการจัดการ
สื่อการสอนรายวิชา ง30204 โปรแกรมภาษาชี ภาษาคอมพิวเตอร์และโปรแกรม
การวิเคราะห์ซอฟต์แวร์
Generic View of Process
Introduction to Data mining
บทที่ 2 ภาพรวมกระบวนการ (A Generic View of Process)
(Smart Strategy Praboromarajchanok Institute: SSPI)
13 October 2007
Software Engineering ( )
กระบวนการพัฒนาระบบงาน
การประกวดสิ่งประดิษฐ์ ของคนรุ่นใหม่
ความสำคัญและประเภทของโครงงานคอมพิวเตอร์
แนวทางการดำเนินงานเสริมสร้างและพัฒนาศักยภาพองค์กรเกษตรกร ปี 2559
Development Strategies
การพัฒนาระบบสารสนเทศ
วิศวกรรมซอฟต์แวร์ (Software Engineering)
การออกแบบบทเรียนคอมพิวเตอร์
การพัฒนาและติดตั้งระบบ
ใบความรู้ที่ 2 เรื่อง ความหมายและประเภทของโครงงานคอมพิวเตอร์
การพัฒนาระบบสารสนเทศ (Information System Development)
บทที่ 12 การออกแบบส่วนต่อประสานผู้ใช้งาน (USER INTERFACE DESIGN)
บทที่ 8 ผลิตภัณฑ์การบริหารการผลิต
บทที่ 2 การพัฒนาระบบสารสนเทศ
การวิเคราะห์ข้อมูล เขตเศรษฐกิจพิเศษ เพื่อทบทวนยุทธศาสตร์จังหวัด
การพัฒนา IT ให้บูรณาการเข้ากับโครงสร้างและระบบงาน
วิศวกรรมซอฟต์แวร์ วิศวกรรมซอฟต์แวร์ (Software Engineering)
บทที่ 3 กระบวนการผลิตซอฟต์แวร์ (Software Process)
การออกแบบส่วนต่อประสานผู้ใช้งาน (USER INTERFACE DESIGN)
เขตพัฒนาเศรษฐกิจพิเศษหนองคาย
สิ่งสนับสนุน (ห้องต่าง ๆ เครื่องมืออุปกรณ์ สิ่งอำนวยความสะดวก)
วิชา วิศวกรรมซอฟต์แวร์ (Software Engineering)
Introduction to Structured System Analysis and Design
ใบสำเนางานนำเสนอ:

วิชา 4123502 วิศวกรรมซอฟต์แวร์ (Software Engineering) วัตถุประสงค์การเรียนรู้ แนะนำเนื้อหาในรายวิชา และ กำหนดข้อตกลงที่ใช้ในการเรียนการสอน แนะนำพื้นฐานของซอฟต์แวร์และวิศวกรรมซอฟต์แวร์

คำอธิบายรายวิชา เนื้อหาวิชาครอบคลุมพื้นฐานทางวิทยาศาสตร์สำหรับวิศวกรรมซอฟต์แวร์โดย เรียนรู้กระบวนการพัฒนาและ วัฏจักรในการพัฒนาซอฟต์แวร์ ซึ่งมุ่งเน้นไปที่ การนำหลักการเชิงวัตถุมาใช้กับรูปแบบการพัฒนาซอฟต์แวร์ รวมทั้ง ครอบคลุมถึงกลยุทธ์ต่างๆ ที่ใช้ในการพัฒนาซอฟต์แวร์

ข้อตกลงในชั้นเรียน เวลาเข้าเรียนไม่ต่ำกว่าร้อยละ 80 ส่งงานที่ได้รับมอบหมาย

ข้อตกลงในการกำหนดคะแนน ระหว่างภาค (70%) แบ่งเป็น ความสนใจ (การเข้าเรียน จริยธรรม และ การแต่งกาย) 10% งานที่ได้รับมอบหมาย 30% สอบกลางภาค 30% ปลายภาค (30%) สอบปลายภาค 30%

ระดับการประเมินผล (อิงเกณฑ์) 80-100 A 75-79 B+ 70-74 B 65-69 C+ 60-64 C 55-59 D+ 50-54 D 0-49 E

เรียนอะไรในวิชา สอบกลางภาค สอบปลายภาค บทนำ-วิศวกรรมซอฟต์แวร์ (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) Roger S. Pressman แปลโดย ผศ.ดร.พรฤดี เนติโสภากุล หลักการพื้นฐานของวิศวกรรมซอฟต์แวร์ ผศ.ดร. น้ำฝน อัศวเมฆิน

Introduction วิศวกรรมซอฟต์แวร์ (Software Engineering) มุมมองทางการศึกษาในแง่ของสาขาวิชา ในปี ค.ศ. 1968 คำว่า”วิศวกรรมซอฟต์แวร์(software engineering)” ถูกใช้อย่าง แพร่หลายเพื่อแสดงถึงกิจกรรมต่างๆที่รวมถึงการเขียนโปรแกรม (programming) และ การรหัส(coding) [Macro, 1987]. ก่อนปี ค.ศ. 1974 สาขาวิชาวิศวกรรมซอฟต์แวร์ยังไม่ ปรากฏ [Barnes, 1998]. สถาบันเทคโนโลยีโรเชสเตอร์ (The Rochester Institute of Technology (RIT)) ในประเทศสหรัฐอเมริกาได้อ้างว่าเป็นสถาบันแรกที่แนะนำหลักสูตร ปริญญาตรีสาขาวิศวกรรมซอฟต์แวร์ [Lutz, 1999].

วิศวกรรมซอฟต์แวร์ (Software Engineering) วิศวกรรมซอฟต์แวร์ คือกระบวนการสร้างสรรค์โปรแกรมโดยใช้หลักทาง วิศวกรรมเข้ามาช่วยในการดำเนินการสร้าง (อ.สมหมาย สุขคำ) “Software Engineering is systematic approach to the development operation , maintenance , retirement of software” (IEEE 83b) “วิชาการว่าด้วยการออกแบบโปรแกรมคอมพิวเตอร์ ตลอดจนการบริหารงาน การพัฒนาเพื่อที่จะได้มาซึ่ง ผลิตผลซอฟต์แวร์ที่มีคุณภาพสูง ราคาถูก และ ภายในเวลาที่กำหนดให้” (สุชาย ธนวเสถียร)

วิทยาการคอมพิวเตอร์และวิศวกรรมซอฟต์แวร์ วิทยาการคอมพิวเตอร์ (Computer Science) อยู่บนรากฐานของวิทยาศาสตร์ ซึ่งเน้นการทำความเข้าใจและค้นหาความจริง เกี่ยวกับความรู้ทางคอมพิวเตอร์ เพื่อสร้างแนวคิด/ทฤษฎีใหม่ หรือ ปฏิเสธ แนวคิด/ทฤษฎีเดิม และขยายวงความรู้ให้กว้างขึ้นจากแนวคิด/ทฤษฎีที่มีอยู่ * ผลงานถูกพิจารณา หรือ ตัดสินโดยกลุ่มนักวิทยาศาสตร์

วิทยาการคอมพิวเตอร์และวิศวกรรมซอฟต์แวร์ วิศวกรรมซอฟต์แวร์ (Software Engineering) อยู่บนรากฐานของวิธีการทางวิศวกรรมศาสตร์ ซึ่งประยุกต์แนวคิด/ทฤษฎี ทางวิทยาศาสตร์ คณิตศาสตร์และเทคโนโลยีขณะนั้นในการสร้างผลิตภัณฑ์ ที่เป็นประโยชน์และปลอดภัยต่อสาธารณะ * ผลงานถูกพิจารณา หรือ ตัดสินโดยกลุ่มผู้ใช้

ลักษณะของวิศวกรรมซอฟต์แวร์ เกี่ยวข้องกับการสร้างโปรแกรมขนาดใหญ่ สามารถจัดการเกี่ยวกับความซ้ำซ้อนได้ (ฐานข้อมูล) เน้นการทำงานร่วมกันของบุคลากร เช่น สามารถเข้าในระบบได้หลาย User สามารถเปลี่ยนแปลงได้ง่ายเมื่อจำเป็น (แก้ไขปรับปรุง บำรุงรักษา) เน้นการพัฒนาให้มีประสิทธิภาพ (งานที่ใช้ SW ) สนองความต้องการของผู้ใช้  วัดความสำเร็จของ SW

องค์ประกอบของการวิศวกรรมซอฟต์แวร์ การวิศวกรรมซอฟต์แวร์เป็นกระบวนการผลิต (production) ที่ประกอบด้วย กิจกรรมช่วงต่างๆ เพื่อสร้างผลิตภัณฑ์ซอฟต์แวร์ (software products) การ ทำกิจกรรมในแต่ละช่วงอาศัยเทคนิคและเครื่องมือช่วยต่างๆ (support tools) ที่นักวิชาการคอมพิวเตอร์และนักวิจัยได้เสนอไว้

องค์ประกอบของการวิศวกรรมซอฟต์แวร์ Software production processes Software products Support tools /Environments Market places / users

คุณลักษณะของกระบวนการวิศวกรรมซอฟต์แวร์ Understandability : มีการนิยามขอบเขตของกระบวนการที่ชัดแจ้งและง่าย ต่อการเข้าใจ Visibility : ทำให้กิจกรรมกระบวนการชัดเจนที่สุดเพื่อสามารถมองเห็นจาก ภายนอกได้ชัดเจน Supportability : เครื่องมือช่วยการวิศวกรรมซอฟต์แวร์ (CASE)สามารถ ช่วยสนับสนุนกิจกรรมกระบวนการในขอบเขตใด

คุณลักษณะของกระบวนการวิศวกรรมซอฟต์แวร์ Acceptability : กระบวนการที่กำหนดสามารถยอมรับและใช้โดยวิศวกร ซอฟต์แวร์ในการผลิตผลิตภัณฑ์ซอฟต์แวร์ (เครื่องมือที่พัฒนา + ภาษาที่ใช้ ในการพัฒนาโปรแกรม) Reliability : กระบวนการถูกออกแบบในแนวทางซึ่งความผิดพลาดของ กระบวนการถูกหลีกเลี่ยงก่อนที่จะส่งผลต่อความผิดพลาดของผลิตภัณฑ์ ซอฟต์แวร์ (Testing)-Unit -System Robustness : กระบวนการสามารถทำงานต่อได้แม้นว่ามีปัญหาที่ไม่ คาดการณ์เกิดขึ้น (ไม่ขึ้นกับ Platform )

คุณลักษณะของกระบวนการวิศวกรรมซอฟต์แวร์ Maintainability : กระบวนการสามารถวิวัฒนาการเพื่อตอบสนองการ เปลี่ยนแปลงความต้องการขององค์กร (บำรุงรักษาระบบ) Rapidity : กระบวนการสามารถทำให้ส่งมอบผลิตภัณฑ์ได้เร็วนับจากที่ รูปแบบคุณลักษณะของซอฟต์แวร์(Software specifications) ถูกกำหนด

Introduction ซอฟต์แวร์ (software) หมายถึงชุดคำสั่งหรือโปรแกรมที่ใช้สั่งงานให้ คอมพิวเตอร์ทำงาน ซอฟต์แวร์จึงหมายถึงลำดับขั้นตอนการทำงานที่เขียน ขึ้นด้วยคำสั่งของคอมพิวเตอร์ คำสั่งเหล่านี้เรียงกันเป็นโปรแกรม คอมพิวเตอร์ ซอฟต์แวร์ หมายรวมถึงโปรแกรมคอมพิวเตอร์ทุกประเภทที่ทำให้ คอมพิวเตอร์ทำงานได้

Introduction คุณสมบัติของซอฟต์แวร์ ซอฟต์แวร์ถูกพัฒนาหรือจัดการให้เกิดขึ้น ซอฟต์แวร์ไม่สึกหรอ ถูกสร้างตามแบบที่ลูกค้าต้องการ (Custom build)

ซอฟต์แวร์ (software) ชนิดของซอฟต์แวร์ หากแบ่งแยกชนิดของซอฟต์แวร์ตามสภาพการทำงาน แบ่งแยก ซอฟต์แวร์ได้เป็น 2 ประเภท คือ ซอฟต์แวร์ระบบ (system software) ซอฟต์แวร์ประยุกต์ (application software)

ซอฟต์แวร์ (software) ซอฟต์แวร์ระบบ คือ ซอฟต์แวร์ที่บริษัทผู้ผลิตสร้างขึ้นมาเพื่อใช้จัดการกับ ระบบ หน้าที่การทำงานของซอฟต์แวร์ระบบคือดำเนินงานพื้นฐานต่าง ๆ ของระบบคอมพิวเตอร์ เช่น รับข้อมูลจากแผงแป้นอักขระแล้วแปล ความหมายให้คอมพิวเตอร์เข้าใจ นำข้อมูลไปแสดงผลบนจอภาพหรือ นำออกไปยังเครื่องพิมพ์ จัดการข้อมูลในระบบแฟ้มข้อมูลบนหน่วยความจำ รอง

ซอฟต์แวร์ (software) ซอฟต์แวร์ประยุกต์ เป็นซอฟต์แวร์ที่ใช้กับงานด้านต่าง ๆ ตามความ ต้องการของผู้ใช้ ที่สามารถนำมาใช้ประโยชน์ได้โดยตรง ปัจจุบันมีผู้พัฒนา ซอฟต์แวร์ใช้งานทางด้านต่าง ๆ ออกจำหน่ายมาก การประยุกต์งาน คอมพิวเตอร์จึงกว้างขวางและแพร่หลาย เราอาจแบ่งซอฟต์แวร์ประยุกต์ ออกเป็นสองกลุ่มคือ ซอฟต์แวร์สำเร็จ และซอฟต์แวร์ที่พัฒนาขึ้นใช้งาน เฉพาะ

ซอฟต์แวร์ (software)

ซอฟต์แวร์ (software) ชนิดของซอฟต์แวร์ ในปัจจุบัน สามารถแบ่งลักษณะของซอฟต์แวร์ออกเป็น 7 ประเภท ดังนี้ 1. ซอฟต์แวร์ระบบ (System Software) 2. ซอฟต์แวร์ประยุกต์ (Application Software) 3. ซอฟต์แวร์เชิงวิศวกรรม/วิทยาศาสตร์ (Engineering/Scientific Software) 4. ซอฟต์แวร์ฝังตัว (Embedded Software)

ซอฟต์แวร์ (software) 5. ซอฟต์แวร์สายการผลิต (Product-line Software) ซอฟต์แวร์ที่เกี่ยวกับ สายการผลิตในโรงงาน หาจุดคุ้มทุนของเครืองจักร จัดตารางงาน 6. เว็บแอพพลิเคชั่น (Web-application) 7. ซอฟต์แวร์ปัญญาประดิษฐ์ (Artificial Intelligence Software)

Group Discussion แบ่งกลุ่มย่อย ให้นักศึกษาฝึกคิดและวิเคราะห์ รูปแบบ ชนิดของซอฟต์แวร์ประเภทต่างๆของ ซอฟต์แวร์ในปัจจุบัน โดยบอกถึงจุดเด่นจุดด้อย ความสำคัญ และยกตัวอย่าง พอสัเขป ชื่อ SW /ใช้กับงานด้านอะไร / จุดเด่น