วิศวกรรมซอฟต์แวร์

Software Engineering

1. เพื่อให้นักศึกษาเข้าใจถึงหลักการของวิศวกรรมซอฟต์แวร์ การพัฒนาซอฟต์แวร์ การสร้างทีมงานพัฒนาระบบ, การบริหารโครงการ สร้างแบบจำลองการผลิตซอฟต์แวร์
2. เพื่อให้นักศึกษาเข้าใจการเก็บรวบรวมความต้องการในการพัฒนาซอฟต์แวร์ วิเคราะห์ความต้องการที่ได้รับจากผู้ใช้ซอฟต์แวร์ เพื่อนำไปสู่การออกแบบซอฟต์แวร์
3. เพื่อให้นักศึกษาสามารถทำการทดสอบซอฟต์แวร์ที่พัฒนาขึ้นได้ว่า ซอฟต์แวร์นั้นมีจุดบกพร่องส่วนใดบ้าง เพื่อให้สามารถทำการประมาณการต้นทุนของซอฟต์แวร์
4. เพื่อให้มีเจคคติที่ดีต่องานทางด้านวิศวกรรมซอฟต์แวร์
1. เพื่อปรับปรุงเนื้อหาวิชาให้ทันกับความเปลี่ยนแปลงโดยเน้นการนำไปในใช้ในการทำงานอย่างเหมาะสมในแต่ละสถานการณ์
2. เพื่อให้สอดคล้องกับระเบียบและแนวปฏิบัติ เรื่องกรอบมาตรฐานคุณวุฒิระดับอุดมศึกษาแห่งชาติ พ.ศ. 2552 ของกระทรวงศึกษาธิการและสำนักงานการอุดมศึกษา (2552) และการจัดการเรียนรู้ที่เน้นผู้เรียนเป็นสำคัญ
          ศึกษาถึง บทบาท หน้าที่ของวิศวกรซอฟต์แวร์ วิวัฒนาการของซอฟต์แวร์และหลักของตัวซอฟต์แวร์ รูปแบบลักษณะของวงจรการทำงานของซอฟต์แวร์, การเข้าใจในเรื่องการกำหนดความต้องการและข้อกำหนดต่างๆ ของการออกแบบซอฟต์แวร์, การออกแบบเพื่อนำไปสู่การพัฒนาซอฟต์แวร์, เทคนิคต่างๆ ที่ใช้ และความสำคัญของการบำรุงรักษา, คุณภาพของกระบวนการในแต่ละขั้นตอนของการพัฒนาซอฟต์แวร์, แนวคิดของกระบวนการพัฒนาซอฟต์แวร์ต่างๆ การเพิ่มประสิทธิภาพให้กับกระบวนการต่างๆ การทดสอบซอฟต์แวร์ การบริหารโครงการพัฒนาซอฟต์แวร์ การเลือกใช้เครื่องมือในการพัฒนาต่างๆ การทำการปฏิสัมพันธ์กับผู้ใช้งานในด้านของวิศวกรรมซอฟต์แวร์ ความสำคัญต่างๆ ในเรี่องของกิจกรรมที่เกิดขึ้นในทางปฏิบัติรวมถึงประสบการณ์ของวิศวกร
         1.1.3 มีภาวะความเป็นผู้นำและผู้ตาม สามารถทำงานเป็นทีมและสามารถแก้ไขข้อขัดแย้งและลำดับความสำคัญ
         1.1.5 เคารพกฎระเบียบและข้อบังคับต่างๆ ขององค์กรและสังคม
         1.1.6 สามารถวิเคราะห์ผลกระทบจากการใช้คอมพิวเตอร์ต่อบุคคลองค์กรและสังคม
         1.1.7 มีจรรยาบรรณทางวิชาการและวิชาชีพ
          1.2.1 ประเมินจากการตรงเวลาของนักศึกษาในภาพเข้าชั้นเรียน การส่งงานตามกำหนดระยะเวลาที่มอบหมายและการร่วมกิจกรรม
          1.2.2 ปริมาณการกระทำทุจริตในการสอบ
          1.2.3 ประเมินจากความรับผิดชอบในหน้าที่ที่ได้รับมอบหมาย
          1.2.4 ประเมินจากคุณภาพของงานที่ได้รับมอบหมาย ที่สะท้อนถึงความตั้งใจ ความรับผิดชอบของ
          การเข้าชั้นเรียน การแต่งกายให้ถูกระเบียบ การขาดเรียน การมาเรียนสาย การมีส่วนร่วมนำเสนอความคิดเห็นในชั้นเรียนของวิชาวิศวกรรมซอฟต์แวร์
          2.2.1 มีความรู้และความเข้าใจเกี่ยวกับหลักการและทฤษฎีที่สำคัญในเนื้อหาสาขาวิชาที่ศึกษา
          2.2.2 สามารถวิเคราะห์ปัญหา เข้าใจและอธิบายความต้องการทางคอมพิวเตอร์ รวมทั้งประยุกต์ความรู้ ทักษะ และการใช้เครื่องมือที่เหมาะสมกับการแก้ไขปัญหา
          2.2.3 สามารถวิเคราะห์ ออกแบบ ติดตั้ง ปรับปรุงปรับปรุงและ/หรือประเมินระบบองค์ประกอบต่าง ๆ ของระบบคอมพิวเตอร์ให้ตรงตามข้อกำหนด
          2.2.4 สามารถติดตามความก้าวหน้าทางวิชาการเเละวิวัฒนาการคอมพิวเตอร์ รวมทั้งการนำไปประยุกต์
          2.2.5 รู้ เข้าใจเเละสนใจพัฒนาความรู้ ความชำนาญทางคอมพิวเตอร์อย่างต่อเนื่อง
          อธิบายหลักการ ทฤษฏี วิธีการพิสูจน์ วิธีการแก้โจทย์ปัญหา
          - ทดสอบย่อย
          - สอบกลางภาคเรียน
          - มอบหมายงาน
          - สอบปลายภาคเรียน
           3.1.1 คิดอย่างมีวิจารณญาณและอย่างเป็นระบบ
           3.1.2 สามารถสืบค้น ตีความ และประเมินสารสนเทศ เพื่อใช้ในการแก้ไขปัญหาอย่างสร้างสรรค์
           3.1.3 สามารถรวบรวม ศึกษา วิเคราะห์ และสรุปประเด็นปัญหาและความต้องการ
           3.1.4 สามารถประยุกต์ความรู้และทักษะกับการแก้ไขปัญหาทางคอมพิวเตอร์ได้อย่างเหมาะสม
          3.2.1 ยกตัวอย่าง การพิสูจน์ทฤษฏี
          3.2.2 ถาม-ตอบอภิปรายกลุ่ม
          3.2.3 การสะท้อนแนวคิดจากพฤติกรรมการแสดงวิธีทำในการแก้โจทย์ปัญหา
           มีความคิดริเริ่มสร้างสรรค ปรับใช้ความรู้ในรายวิชาวิศวกรรมซอฟต์แวร์เพื่อนำไปพัฒนาการสร้างซอฟต์แวร์ที่ดี
           4.1.2 สามารถให้ความช่วยเหลือและอำนวยความสะดวกแก่การแก้ปัญหาสถานการณ์ต่างๆในกลุ่มทั้งในบทบาทของผู้นำ หรือในบทบาทของผู้ร่วมทีมทำงาน
           4.1.4 มีความรับผิดชอบในการกระทำของตนเองเเละรับผิดชอบงานในกลุ่ม
           4.1.6 มีความรับผิดชอบการพัฒนาการเรียนรู้ทั้งของตนเองและทางวิชาชีพอย่างต่อเนื่อง
          มอบหมายงานรายกลุ่มและ/หรือรายบุคคล ที่เกี่ยวข้องกับการประยุกต์ใช้ในงานวิศวกรรมคอมพิวเตอร์แล้วให้มีการนำเสนอผลงาน
           การมีส่วนร่วมนำเสนอความคิดเห็นในชั้นเรียน ต่อวิชาวิศวกรรมซอฟต์แวร์สำหรับการนำไปใช้งานจริงทางด้านวิศวกรรมทั้งที่มีใช้ภายในประเทศและต่างประเทศและการส่งงานตามกำหนดระยะเวลาที่มอบหมาย
           5.1.1 มีทักษะในการใช้เครื่องมือที่จำ เป็นที่มีอยู่ในปัจจุบันต่อการทำ งานที่เกี่ยวกับคอมพิวเตอร์
          แนะแนวทางการออกแบบเพื่อนำไปสู่การพัฒนาซอฟต์แวร์ เทคนิคต่างๆ ที่ใช้และความสำคัญของการบำรุงรักษา คุณภาพของกระบวนการในแต่ละขั้นตอนของการพัฒนาซอฟต์แวร์ แนวคิดของกระบวนการพัฒนาซอฟต์แวร์ต่างๆ
           มีการศึกษา ค้นคว้าเพิ่มเติมในรายวิชาวิศวกรรมซอฟต์แวร์ และเทคโนโลยีการพัฒนาซอฟต์แวร์ที่เกี่ยวข้อง
แผนที่แสดงการกระจายความรับผิดชอบมาตรฐานผลการเรียนรู้จากหลักสู่รายวิชา (Curriculum Mapping)
กลุ่มวิชา 1. คุณธรรม จริยธรรม 2. ด้านความรู้ 3. ทักษะทางปัญญา 4. ทักษะความสัมพันธ์ระหว่างบุคคลและความรับผิดชอบ 5. ทักษะการวิเคราะห์เชิงตัวเลข การสื่อสาร และการใช้เทคโนโลยีสารสนเทศ 6. ทักษะพิสัย
ลำดับ รหัสวิชา ชื่อวิชา 3 5 6 7 1 2 3 4 5 1 2 3 4 2 4 6 1 1 2
1 32091306 วิศวกรรมซอฟต์แวร์
กิจกรรมที่ ผลการเรียนรู้ * วิธีการประเมินผลนักศึกษา สัปดาห์ที่ประเมิน สัดส่วนของการประเมินผล
1 หน่วยเรียนที่ 1-11 การเข้าชั้นเรียน การแต่งกายให้ถูกระเบียบ การขาดเรียน การมาเรียนสาย การมีส่วนร่วมนาเสนอความคิดเห็นในชั้นเรียนของวิชาวิศวกรรมซอฟต์แวร์ ตลอดสัปดาห์ที่สอน 5%
2 หน่วยเรียนที่ 1-3 หน่วยเรียนที่ 1-6 หน่วยเรียนที่ 5-11 หน่วยเรียนที่ 7-11 ทดสอบย่อย สอบกลางภาค มอบหมายชิ้นงาน สอบปลายภาค 3 9 10 18 10% 30% 10% 30%
3 หน่วยเรียนที่ 1-11 มีความคิดริเริ่มสร้างสรรค ปรับใช้ความรู้ในรายวิชาวิศวกรรมซอฟต์แวร์เพื่อนำไปพัฒนาการสร้างซอฟต์แวร์ที่ดี ตลอดภาคการศึกษา 5%
4 หน่วยเรียนที่ 1-11 การมีส่วนร่วมนำเสนอความคิดเห็นในชั้นเรียน ต่อวิชาวิศวกรรมซอฟต์แวร์สำหรับการนำไปใช้งานจริงทางด้านวิศวกรรมทั้งที่มีใช้ภายในประเทศและต่างประเทศและการส่งงานตามกำหนดระยะเวลาที่มอบหมาย ตลอดภาคการศึกษา 5%
5 หน่วยเรียนที่ 1-11 มีการศึกษา ค้นคว้าเพิ่มเติมในรายวิชาวิศวกรรมซอฟต์แวร์ และเทคโนโลยีการพัฒนาซอฟต์แวร์ที่เกี่ยวข้อง ตลอดภาคการศึกษา 5%
จรณิต แก้วกังวาล, วิศวกรรซอฟต์แวร์ หลักการออกแบบพัฒนาระบบเชิงวิศวกรรมและองค์ประกอบมนุษย์. พิมพ์ครั้งที่ 1. กรุงเทพฯ: ซีเอ็ดยูเคชั่น, 2540.
พรฤดี เนติโสภากุล, วิศวกรรมซอฟต์แวร์ ทฤษฎี หลักการ และการประยุกต์ใช้. พิมพ์ครั้งที่ 1. กรุงเทพฯ: สำนักพิมพ์ท้อป จำกัด, 2549.
กิตติ ภักดีวัฒนะกุล และพนิดา พานิชกุล, วิศวกรรมซอฟต์แวร์. พิมพ์ครั้งที่ 1. กรุงเทพฯ: เคทีพี คอมพ์ แอนด์ คอนซัลท์, 2550.
อภิรักษ์ จิรายุสกุล, CT484 วิศวกรรมซอฟต์แวร์. พิมพ์ครั้งที่ 1. กรุงเทพฯ: สำนักพิมพ์มหาวิทยาลัยรามคำแหง, 2544.
น้ำฝน อัศวเมฆิน, หลักการพื้นฐานของ วิศวกรรมซอฟต์แวร์. พิมพ์ครั้งที่ 1. กรุงเทพฯ: บริษัท ซีเอ็ดยูเคชั่น, 2558.
วิทยา สุคตบวร, วิศวกรรมซอฟต์แวร์ เบื้องต้น. พิมพ์ครั้งที่ 1. กรุงเทพฯ: ซีเอ็ดยูเคชั่น, 2551.
สุวรรณี อัศวกุลชัย, วิศวกรรมซอฟต์แวร์. พิมพ์ครั้งที่ 1. กรุงเทพฯ: สำนักพิมพ์มหาวิทยาลัยรามคำแหง, 2561.
โอภาส เอี่ยมสิริวงศ์, การวิเคราะห์และออกแบบระบบ. กรุงเทพฯ: ซีเอ็ดยูเคชั่น, 2548.
โอภาส เอี่ยมสิริวงศ์, การวิเคราะห์และออกแบบระบบ. กรุงเทพฯ: ซีเอ็ดยูเคชั่น, 2555.
ฝ่ายผลิตหนุงสือตำราวิชาการคอมพิวเตอร์ บริษัท ซีเอ็ดยูเคชั่น จำกัด (มหาชน), การวิเคราะห์และออกแบบระบบ. พิมพ์ครั้งที่ 1. กรุงเทพฯ: บริษัท ซีเอ็ดยูเคชั่น, 2551.
กิตติ ภักดีวัฒนะกุล และจำลอง ครูอุตสาหะ, คัมภีร์ ระบบฐานข้อมูล. พิมพ์ครั้งที่ 1. กรุงเทพฯ: เอ-บุ๊ค ดิสทริบิวชั่น, 2542.
โอภาส เอี่ยมสิริวงศ์, ระบบฐานข้อมูล. พิมพ์ครั้งที่ 1. กรุงเทพฯ: ซีเอ็ดยูเคชั่น, 2551.
สายชล สินสมบูรณ์ทอง, การควบคุมคุณภาพเชิงสถิติและวิศวกรรม. พิมพ์ครั้งที่ 1. กรุงเทพฯ: จามจุรีโปรดักท์, 2554.
ศิริพร ขอพรกลาง, การควบคุมคุณภาพ. พิมพ์ครั้งที่ 1. กรุงเทพฯ: สกายบุ๊กส์, 2544.
เอกพันธุ์ คำปัญโญ, การเขียนโปรแกรมคอมพิวเตอร์. พิมพ์ครั้งที่ 1. กรุงเทพฯ: ซัคเซส มีเดีย, 2558.
เยาวดี เต็มธนาภัทร์, การเขียนโปรแกรมเชิงวัตถุ. พิมพ์ครั้งที่ 1. กรุงเทพฯ: สำนักพิมพ์มหาวิทยาลัยธรรมศาสตร์, 2558.
ธนัญชัย ตรีภาค, กรณีศึกษาการเขียนโปรแกรมด้วยภาษา C. พิมพ์ครั้งที่ 1. กรุงเทพฯ: บริษัท ซีเอ็ดยูเคชั่น, 2555.
ธีรวัฒน์ ประกอบผล, เขียนโปรแกรมเชิงวัตถุภาษา Java OOP. พิมพ์ครั้งที่ 1. กรุงเทพฯ: สำนักพิมพ์ซิมพลิฟาย, 2556.
Douglas Bell, Software Engineering A Programming Approach. 3rd Edition. England, Pearson Education, 1944.
Roger S. Pressman, Software Engineering A Practitioner’s Approach. Sixth Edition. McGraw-Hill, 2005.
Eric J. Braude, Software Engineering An Object-Oriented Perspective. Boston University, John wiley & Sons, inc. 2000.
Ian Sommerville, Software Engoneering. Fifth Edition. Lancaster University. England, Addison Wesley, 1998.
จัดกิจกรรมในการรวบรวมแนวคิดและความเห็นจากนักศึกษา ด้วยวิธีการดังนี้
          1.1 การสนทนากลุ่มระหว่างผู้สอนและผู้เรียน
          1.2 แบบประเมินผู้สอน และแบบประเมินรายวิชา
ในการเก็บข้อมูลเพื่อประเมินการสอน ด้วยวิธีการดังนี้
          2.1 การสังเกตการณ์สอนของผู้ร่วมทีมสอนหรือหัวหน้าหลักสูตร
          2.2 ผลการเรียนของนักศึกษา
          2.3 การทวนสอบผลประเมินการเรียนรู้
หลังจากผลการประเมินการสอนในข้อ 2 จึงมีการปรับปรุงการสอน โดยการจัดกิจกรรมในการระดมสมอง และหาข้อมูลเพิ่มเติมในการปรับปรุงการสอน ดังนี้
          3.1 สัมมนาการจัดการเรียนการสอน
          3.2 การวิจัยในและนอกชั้นเรียน
          ในระหว่างกระบวนการสอนรายวิชา มีการทวนสอบผลสัมฤทธิ์ในรายหัวข้อ ตามที่คาดหวังจากการเรียนในวิชา ได้จาก การสอบถามนักศึกษา หรือการสุ่มตรวจผลงานของนักศึกษา รวมถึงพิจารณาจากผลการ ทดสอบย่อย และหลังการออกผลการเรียนรายวิชา มีการทวนสอบผลสัมฤทธิ์โดยรวมในวิชาได้ดังนี้
          4.1 การทวนสอบการให้คะแนนจากการสุ่มตรวจผลงานของนักศึกษาโดยอาจารย์อื่น หรือผู้ทรงคุณวุฒิ ที่ไม่ใช่อาจารย์ประจําหลักสูตร
          4.2 มีการตังคณะกรรมการในสาขาวิชา ตรวจสอบผลการประเมินการเรียนเของนักศึกษา โดยตรวจสอบข้อสอบ รายงาน วิธีการให้คะแนนสอบ และการให้คะแนนพฤติกรรม
จากผลการประเมิน และทวนสอบผลสัมฤทธิ์ประสิทธิผลรายวิชา ได้มีการวางแผนการปรับปรุงการสอนและรายละเอียดวิชา เพื่อให้เกิดคุณภาพมากขึ้น ดังนี้
          5.1 ปรับปรุงรายวิชาทุก 3 ปี หรือตามข้อเสนอแนะและผลการทวนสอบมาตรฐานผลสัมฤทธิ์     ตามข้อ 4
          5.2 เปลี่ยนหรือสลับอาจารย์ผู้สอน เพื่อให้นักศึกษามีมุมมองในเรื่องการประยุกต์ความรู้นี้กับปัญหาที่มาจากงานวิจัยของอาจารย์หรืออุตสาหกรรมต่าง ๆ