1 / 66

มาตรฐาน SEEK

มาตรฐาน SEEK. 19/01/10. The Software Engineering Discipline. หัวข้อนี้จะกล่าวถึงธรรมชาติของวิศวกรรมซอฟต์แวร์และประวัติความเป็นมา ที่มีความสัมพันธ์เกี่ยวข้องต่อการพัฒนาหลักสูตรวิศวกรรมซอฟต์แวร์

Download Presentation

มาตรฐาน SEEK

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. มาตรฐาน SEEK 19/01/10

  2. The Software Engineering Discipline • หัวข้อนี้จะกล่าวถึงธรรมชาติของวิศวกรรมซอฟต์แวร์และประวัติความเป็นมา ที่มีความสัมพันธ์เกี่ยวข้องต่อการพัฒนาหลักสูตรวิศวกรรมซอฟต์แวร์ • จุดประสงค์ของการทำความเข้าใจในระเบียบวินัย กฏบังคับของวิศวกรรมซอฟต์แวร์ก็เพื่อให้ทราบถึงที่มาที่ไปและเหตุผลสำหรับปัจจัยต่างๆของหลักสูตรของสาขาวิชานี้

  3. The Discipline of Software Engineering • เนื่องจากปัจจุบันมีการนำซอฟต์แวร์มาใช้เหมือนเป็นสิ่งสำคัญในชีวิตประจำวัน ไม่ว่าจะใช้ในงานการบริหารประเทศ งานธนาคารและการเงิน การศึกษา การคมนาคม บันเทิง การแพทย์ การเกษตรและกฎหมาย ซึ่งเหล่านี้ล้วนส่งผลให้มีการเพิ่มทั้ง จำนวน ขนาด และส่วนของแอพพลิเคชันจำนวนมากตามไปด้วย ทำให้ต้องใช้เงินหลายแสนล้านเหรียญในการพัฒนาซอฟต์แวร์ และชีวิตความเป็นอยู่ของประชากรส่วนใหญ่จึงขึ้นอยู่กับประสิทธิภาพของการพัฒนาซอฟต์แวร์เหล่านี้ด้วย

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

  5. ความก้าวหน้าในเทคโนโลยีด้านซอฟต์แวร์และคอมพิวเตอร์ทำให้ต้องการของใหม่และผลิตภัณฑ์ซอฟต์แวร์ใหม่ๆเสมอ ทำให้ลูกค้ามีความคาดหวัง และเกิดการแข่งขันผลักดันให้จะต้องผลิตซอฟต์แวร์ที่มีคุณภาพ และอยู่ในตารางการพัฒนาซอฟต์แวร์ที่ยอมรับได้

  6. Definitions of Software Engineering • “การสร้างและใช้หลักการ(วิธีการ)ทางวิศวกรรมเพื่อให้ได้ซอฟต์แวร์ที่คุ้มค่า มีความน่าเชื่อถือและทำงานบนเครื่องได้จริง” [Bauer 1972] • "Software engineering คือรูปแบบของวิศวกรรมซึ่งประยุกต์หลักการของวิทยาการคอมพิวเตอร์และคณิตศาสตร์เพื่อให้ได้ผลลัพธ์ทางซอฟต์แวร์ที่มีประสิทธิภาพคุ้มค่า [CMU/SEI-90-TR-003] • “การประยุกต์ใช้ แบบแผน ที่เป็นไปตามระเบียบ และวิธีการกำหนดปริมาณ เพื่อให้ได้การพัฒนา การทำงาน และการบำรุงรักษาของซอฟต์แวร์ " [IEEE 1990].

  7. Software Engineering as a Computing Discipline • ระเบียบแบบแผนของ software engineering มีความแตกต่างจากระเบียบแบบแผนของวิศวกรรมสาขาอื่น เนื่องจากทั้ง ไม่สามารถเห็นได้จริงและมีลักษณะไม่ปะติดปะต่อกันของการทำงานด้านซอฟต์แวร์ ด้วยเหตุนี้จึงต้องการ การรวมหลักการทางคณิตศาสตร์และวิทยาการคอมพิวเตอร์ด้วยหลักการทางวิศวกรรมที่พัฒนาขึ้นเพื่อให้ได้สิ่งประดิษฐ์ทางกายภาพ และเป็นสิ่งที่จับต้องได้ • การใช้พื้นฐานด้านคณิตศาสตร์มาใช้ด้านวิศวกรรมซอฟต์แวร์ก็เพื่อให้ได้มาซึ่งการพัฒนาการจำลองระบบและเทคนิคที่น่าเชื่อถือ เพื่อผลิตซอฟต์แวร์ที่มีคุณภาพสูง

  8. Software Engineering as an Engineering Discipline • กฎระเบียบของวิศวกรรมซอฟต์แวร์อาจมองได้ว่าเป็นด้านวิศวกรรมที่มีการเชื่อมต่อกับกฎระเบียบของวิทยาการคอมพิวเตอร์มากกว่างานด้านวิศวกรรมด้านอื่น ในกระบวนการการสร้างนั้น จะให้ความสนใจด้านการรวมกันของการปฏิบัติของวิศวกรรมในด้านการพัฒนาของซอฟต์แวร์ ซึ่งสิ่งนี้จะเป็นความแตกต่างจากหลักสูตรวิทยาการคอมพิวเตอร์ • แม้ว่าจะมีความคล้ายกันอย่างมากระหว่างวิศวกรรมซอฟต์แวร์และวิศวกรรมด้านอื่นๆแต่ก็ยังมีความแตกต่างที่สามารถเห็นได้ดังต่อไปนี้ • มีรากฐานหลักมาจากวิทยาการคอมพิวเตอร์ ไม่ใช่วิทยาศาตร์ธรรมชาติ (natural sciences) • มุ่งเน้นไปที่ discrete mathematics มากกว่า continuous mathematics

  9. ลงลึกในด้าน abstract/logical entities แทนด้านสิ่งประดิษฐ์ที่จับต้องได้ (concrete/physical artifacts) • เหมือนเป็นงานที่ไม่มีเฟสในด้านการประดิษฐ์ (manufacturing phase) • การบำรุงรักษาซอฟต์แวร์ จะหมายถึงการพัฒนาอย่างต่อเนื่อง หรือการวิวัฒนาการ และไม่ใช่รูปแบบเก่าๆที่เคยเป็นมา

  10. SWEBOK (Software Engineering Body of Knowledge) • สิ่งท้าทายหลักในการเป็นแนวทางในการทำหลักสูตร เพื่อการหาและระบุข้อจำกัดของระเบียบ เมื่อการหาข้อระเบียบที่เป็นทั้งของใหม่และมีการเปลี่ยนแปลงตลอดเวลา ดังนั้นจึงต้องการมีการหาองค์ความรุ้ (body of knowledge) ต่อไปนี้เป็นการอธิบายถึง efforts ชนิดต่างๆ • SWEBOK คือ การอธิบายโดยรวมถึงความรู้ต่างๆที่เป็นที่ต้องการเพื่อใช้ในการปฏิบัติของวิศวกรรมซอฟต์แวร์ เพื่อให้เป็นไปตามวัตถูประสงค์ของรายงานนี้นั่นคือ “เพื่อให้พื้นฐานสำหรับการพัฒนาหลักสูตร ” เพื่อให้ตรงตามวัตถุประสงค์ SWEBOK ได้รวมเอาระบบการจัด rating สำหรับหัวข้อของความรู้บนพื้นฐานแนวคิดด้านการศึกษาของ Bloom [Bloom 1956]

  11. แม้ว่า ไม่ใช่ปัจจัยหลักที่ใช้ในการพัฒนาของ SEEK และมีการสื่อสารแบบปิดระหว่าง SWEBOK และ SE2004 projects ซึ่งสามารถเห็นความแตกต่างของสองหลักการนี้ ดังนี้ The SWEBOK ใช้ในการอธิบายถึงการคลอบคลุมความรู้หลังจากได้มีการปฏิบัติได้สี่ปี • The SWEBOK จะไม่คลอบคลุมความรู้ที่ไม่ใช่วิศวกรรมซอฟต์แวร์ที่ซึ่งวิศวกรรมซอฟต์แวร์จะต้องมี • The SE2004 จะรองรับเฉพาะการศึกษาวิศวกรรมซอฟต์แวร์ ระดับปริญญาตรีเท่านั้น

  12. The PMBOK (แนวทางขององค์ความรู้ในด้านการจัดการโครงการ) [PMI 2000] จะอธิบายความรู้เกี่ยวกับการจัดการโครงการ(ไม่ใช่แค่ software projects) นอกจากความสัมพันธ์โดยตรงกับการจัดการโครงการซอฟต์แวร์แล้ว รูปแบบและองค์รวมของ PMBOK's มีอิทธิพลคล้ายกันกับระเบียบวิธีทางคอมพิวเตอร์ด้วย

  13. The IS'97 report (Model Curriculum and Guidelines for Undergraduate Degree Programs in Information Systems) [Davis, 1997] อธิบายถึงแบบจำลองทางการศึกษาสำหรับระดับปริญญาตรีในด้าน Information Systems เอกสารนั้นได้รวมถึงการอธิบาย IS body of knowledge ซึ่งรวม SE knowledge และ การวัดที่คล้ายคลึงกับ Bloom's levels สำหรับการกำหนดเงื่อนไขที่จำเป็นในความรู้ระดับปริญญาตรี

  14. Guiding Principles • จะกล่าวถึงแนวคิดพื้นฐานและความเชื่อที่นำไปสู่การพัฒนา SE2004 : แนวทางหลักสำหรับ SE2004 และผลลัพธ์ด้านผู้เรียนที่ได้ออกแบบไว้สำหรับหลักสูตรระดับปริญญาตรีในสาขาวิศวกรรมซอฟต์แวร์

  15. SE2004 Principles จะกล่าวถึงหลักการที่มีอิทธิลอย่างมากต่อการสร้างหลักสูตร โดยหลักการที่เขียนไว้ใน CCCS บางกรณีจะต้องมีการแปลงถ้อยคำที่ไม่ได้เป็นคำหลักของหลักการชนิดนี้ • คอมพิวเตอร์เป็นฟิลด์ที่กว้างซึ่งสามารถขยายไปในขอบเขตของแบบแผนคอมพิวเตอร์ได้ SE2004 จะเน้นไปที่ความรู้และวิชาครู (pedagogy) ที่สัมพันธ์กับหลักสูตรวิศวกรรมซอฟต์แวร์ หากมีความเหมาะสม จะมีการแบ่งหรือคาบเกี่ยวกับหลักสูตรด้านคอมพิวเตอร์อื่น และอาจให้แนวทางบนการร่วมมือกันภายในระเบียบวิธีอื่นๆได้

  16. SE2004 Principles (cont.) • Software Engineering การศึกษาระดับปริญญาตรีสาขาวิศวกรรมซอฟต์แวร์นั้นอาศัยหลักการทางทฤษฎีและพื้นฐานแนวทางจากสาขาวิทยาการคอมพิวเตอร์หลายอย่าง แต่ยังต้องการให้ผู้เรียนนั้นได้ประโยชน์จากฟิลด์อื่นๆเช่น คณิตศาสตร์ วิศวกรรม และการจัดการโครงการซอฟต์แวร์ และแอพพลิเคชันด้านต่างๆ ผู้เรียนด้านวิศวกรรมซอฟต์แวร์จะต้องเรียนทั้งทฤษฏีและปฏิบัติเพื่อสร้างแนวคิดและการจำลองที่สำคัญเพื่อให้ได้ความรู้ที่พิเศษที่เป็นระเบียบวิธีด้านคอมพิวเตอร์ เพื่อรองรับการพัฒนาด้านซอฟต์แวร์ในด้านการสร้างแอพพลิเคชันและเพื่อให้ได้มาซึ่งการออกแบบที่ดี

  17. การวิวัฒนาการที่รวดเร็วและธรรมชาติในด้านอาชีพของวิศวกรรมซอฟต์แวร์นั้นต้องการการทบทวนพิจารณาของหลักสูตรให้ตรงกัน สมาคมผู้เชี่ยวชาญในระเบียบวิธีนี้ต้องสร้างและดำเนินการทบทวนพิจารณากระบวนการซึ่งมีการพิจารณาหลักสูตรต่างๆ ต้องได้รับการยอมรับหลักสูตรว่าเป็นไปตามเกณฑ์เสมอนอกจากนั้นเนื่องจากหน้าที่ของ professional พิเศษของวิศวกรรมซอฟต์แวร์อีกหย่างคือจะต้องทำให้หลักสูตรปรากฏสู่สาธารณะ นั่นคือแนวทางหลักสูตรต้องรองรับการประเมินจากภายนอกว่ามีประสิทธิผลและได้รับวิทยฐานะในด้านโปรแกรมวิศวกรรมซอฟต์แวร์จริง

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

  19. SE2004 ต้องดำเนินไปมากว่าความรู้ต่างๆ เพื่อให้ได้แนวทางสำคัญในเทอมของส่วนที่เป็นหลักสูตรที่แยกออกมารูปแบบหลักสูตร SE2004 ควรจะรวบรวมความรู้ต่างๆตามหลักเหตุผล ทำให้ง่ายต่อการนำไปใช้ในการเรียนรู้ กล่าวคือหลักสูตรนี้จะต้องทำให้สถาบันนั้นสามารถใช้ยุทธวิธีหรือเครื่องมือต่างๆด้านคุณครูได้สะดวก และยังสามารถให้เฟรมเวิร์คเพื่อการนำเสนอ e-book หรือเครื่องมืออื่นๆได้

  20. SE2004 ต้องรองรับการพิสูจน์พื้นฐานด้านทักษะและความรู้ซึ่งผู้สำเร็จหลักสูตรวิศวกรรมซอฟต์แวร์ต้องมีคุณสมบัติตรงตามนั้น • SE2004 ต้องช่วยกำหนดหัวใจหลักของระเบียบของวิศวกรรรมซอฟต์แวร์และแน่ใจว่าผู้เรียนระดับปริญญาตรีสาขานี้ทั้งหมดมีสิ่งเหล่านี้

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

  22. SE2004 จะต้องฝ่าฟันเพื่อให้ได้ความเป็นสากล แม้ว่าจะมีปัจจัยด้านความแตกต่างในด้านความต้องการหลักสูตรของแต่ละประเทศ • SE2004 ต้องเป็นประโยชน์เพื่อผู้ศึกษาด้านคอมพิวเตอร์ทั่วทั้งโลก หากเป็นไปตามนี้แล้วทุกๆมาตรฐานควรได้สร้างขึ้นเพื่อให้มั่นใจว่าหลักสูตรที่ได้รับการยอมรับนั้นมีประโยชน์ต่อชาติและวัฒนธรรมที่มีความแตกต่างเพื่อที่จะสามารถประยุกต์ไช้ได้อย่างกว้างขวางทั้งโลกจากความเกี่ยวเนื่องในด้านสังคมคอมพิวเตอร์ในแต่ละชาตินั้น จึงควรรับอาสาสมัครจากต่างประเทศให้เข้าร่วมกิจกรรมหลักสูตรนี้ด้วย

  23. การพัฒนาของ SE2004 ต้องอยู่บนพื้นฐานสากล ในการที่สำเร็จได้นั้น กระบวนการการสร้างการยอมรับด้านการศึกษาสาขาวิศวกรรมซอฟต์แวร์ต้องรวมผู้เข้าร่วมจำนวนมากที่เป็นตัวแทนจากผู้ศึกษาสาขาวิศวกรรมซอฟต์แวร์และจากอุตสาหกรรม การค้า และผู้เชี่ยวชาญจากทางรัฐบาล • SE2004 ต้องมีการลงมือปฏิบัติทางวิชาชีพที่รวมเอาองค์ประกอบของหลักสูตรระดับปริญญาตรีมาใช้ การฝึกวิชาชีพทางวิศวกรรมซอฟต์แวร์นั้นรวมทั้งกิจกรรมที่มีการแก้ปัญหา การจัดการ ที่มีจรรยาบรรณและถูกต้องตามกฎหมาย ทั้งการสื่อสารด้วยการเขียนหรือการพูด เป็นการทำงานแบบทีมและเป็นปรับเปลี่ยนให้เป็นปัจจุบันอยู่เสมอ

  24. SE2004 ต้องมีการถกประเด็นทางยุทธวิธีและแทคติกในการนำไปใช้ให้เป็นไปตามการรับรองระดับสูง แม้ว่า SE2004 จะต้องบอกชัดเจนถึงวิสัยทัศน์สากล ของการศึกษาด้านวิศวกรรมซอฟต์แวร์ ความสำเร็จของหลักสูตรใดก็ตามขึ้นอยู่กับรายละเอียดในการนำใช้ที่จริงจัง • SE2004 ต้องให้การแนะนำในทางปฏิบัติกับสถาบันที่จัดตั้งหลักสูตรนี้ด้วย

  25. Student Outcomes ต่อไปนี้จะกล่าวถึงผลลัพธ์สำหรับหลักสูตรปริญญาตรีที่ได้สร้างขึ้นเพื่อใช้กับหลักสูตรวิศวกรรมซอฟต์แวร์ ซึ่งผู้จบการศึกษาโปรแกรมนี้ • ต้องแสดงให้เห็นถึงความรู้และทักษะด้านวิศวกรรมซอฟต์แวร์และความรู้ทางวิชาชีพที่จำเป็นที่จะสามารถปฏิบัติในการเป็นวิศวกรรมซอฟต์แวร์ ผู้เรียนต้องผ่านการส่งเสริมและปฏิบัติ เพื่อให้ได้ความเชื่อมั่นในความรู้ความสามารถตามหลักสูตรวิศวกรรมซอฟต์แวร์ ซึ่งได้แก่ ความรู้ต่างๆ ทักษะ ทั้งนี้เป็นไปตามขั้นตอนที่มีระดับต่างกันที่จะสำเร็จได้ในแต่ละสถาบันการศึกษา นอกจากนั้นผู้สำเร็จยังต้องการได้ความเข้าใจและความพอใจในวิชาชีพที่เป็นไปตามจริยธรรม และความต้องการในการปฏิบัติในทางวิชาชีพ เศรษฐกิจ และสังคม

  26. [2] การทำงานที่แยกตัวนั้นจะต้องเป็นส่วนหนึ่งของการทำงานเป็นทีมเพื่อพัฒนาและสามารถผลิตภัณฑ์ซอฟต์แวร์ที่มีคุณภาพ ผู้เรียนต้องการการปฏิบัติที่สมบูรณ์ซึ่งอาจต้องทำงานเดี่ยวแต่ต้องอยู่ในเงื่อนไขว่าจะต้องได้การทำงานเป็นทีมในท้ายสุด สำหรับการทำงานเป็นทีมนั้น ผู้เรียนควรจะทราบถึงธรรมชาติการทำงานเป็นกลุ่มและกิจกรรมกลุ่ม บทบาทต่างๆอย่างชัดเจน ซึ่งอาจรวมถึงการเน้นหนักไปที่ความสำคัญของสาระเนื้อหาที่เป็นไปตามระเบียบของหลักสูตร ความต้องการนั้นต้องยืดมั่นใน การตรงต่อเวลา การสื่อสาร และการทำงานเดี่ยวที่สามารถสร้างศักยภาพของความเป็นทีมได้ดี

  27. [3] แก้ไขปัญหาความขัดแย้งในแนวคิดทางโครงการ หาข้อตกลงที่ยอมรับได้ภายใต้ข้อจำกัด ค่าใช้จ่าย เวลา ความรู้ความเข้าใจ ระบบที่ใช้ และองค์กร • ผู้เรียนควรได้ทำแบบฝึกหัดซึ่งทำให้เขาได้พบปัญหาในด้าน การเปลี่ยนแปลง และความต้องการต่างๆ ผู้เรียน จึงควรได้เรียนรู้รับประสบการณ์จริง หน่วยของหลักสูตรควรระบุสิ่งสำคัญเหล่านี้ด้วยการพุ่งเป้าในเรื่องความต้องการด้านคุณภาพ และความเป็นไปได้ในการออกแบบซอฟต์แวร์

  28. [4] การออกแบบให้เหมาะสมกับปัญหาในด้านแอพพลิเคชันจากการใช้วิธีการทางวิศวกรรมซอฟต์แวร์ซึ่งได้รวมเอาจรรยาบรรณ สังคม กฎหมายและเศรษฐกิจ • ตลอดการศึกษาหลักสูตร ผู้เรียนต้องมีความรู้ที่เหมาะสมเพื่อสร้างการออกแบบที่ถูกต้องและระบุการแก้ไขปัญหาในชนิดของแอพพลิเคชันที่มีความหลากหลายของซอฟต์แวร์ผู้เรียน ต้องสามารถเข้าใจถึงจุดอ่อนจุดแข็งแกร่ง ของงานที่มีความแตกต่างกัน และแสดงให้เห็นถึงทางเลือกของวิธีที่เหมาะสมในการแก้ไขปัญหาในงานที่ได้มอบหมาย การแก้ไขปัญหาด้านการออกแบบที่จะนำเสนอนั้นจะต้องทำภายใต้ของเขตของ จริยธรรม สังคม กฎหมาย ความปลอดภัยและด้านเศรษฐกิจ

  29. [5]แสดงให้เห็นถึงความเข้าใจของการประยุกต์ใช้ทฤษฎีปัจจุบัน รูปแบบและเทคนิคซึ่งให้พื้นฐานเพื่อการระบุปัญหาและวิเคราะห์ การออกแบบซอฟต์แวร์ การพัฒนา การสร้าง การทวนสอบ และเอกสาร • ความสำคัญของกิจกรรมสุดท้ายในการจบหลักสูตรวิศวกรรมซอฟต์แวร์ คือ การพิจารณาถึงความเอาใจใส่ ให้ผู้เรียนได้มีโอกาสในการขบคิดโครงการหลักและทำให้เห็นถึงความสามารถในการนำความรู้ด้านต่างๆที่เรียนมาประยุกต์ใช้ให้เกิดประสิทธิผล ซึ่งกลไกเหล่านี้ทำให้ผู้เรียนได้แสดงถึงความรู้อย่างกว้างขวางด้านวิศวกรรมซอฟต์แวร์ และมีความสามารถที่จะประยุกต์ทักษะเหล่านั้นให้เกิดประสิทธิผลแท้จริง ซึ่งควรรวมความสามารถที่จะสะท้อนความสำเร็จของพวกเขาด้วย

  30. [6]แสดงให้เห็นถึงความเข้าใจและความพอใจในความสำคัญของข้อตกลงมีการลงมือทำงานที่เกิดประสิทธิผล มีความเป็นผู้นำ และการติดต่อสื่อสารที่ดีกับstakeholders ในด้านการพัฒนาซอฟต์แวร์ที่สำคัญ • จำเป็นที่จะต้องมีการศึกษาอย่างน้อยหนึ่งกิจกรรมหลักซึ่งเกี่ยวข้องกับการสร้างผลิตภัณฑ์ให้กับ client วิศวกรรมซอฟต์แวร์ต้องทำให้เห็นว่าพวกเขาได้สร้างซอฟต์แวร์ที่มีประโยชน์ หากเป็นไปได้ควรรวบรวมภายในโปรแกรมการสอนที่ว่าด้วยประสบการณ์เชิงอุตสาหกรรม หรือควรเชิญผู้บรรยายที่มีประสบการณ์ในงานด้านวิศวกรรมซอฟต์แวร์มาบรรยายให้ความรู้ หรือ มีประสบการณ์ในงานด้านธุรกิจซอฟต์แวร์จากภายนอก ซึ่งเหล่านี้จะเพิ่มพูลประสบการณ์และช่วยให้สามารถสร้างสรรค์สิ่งต่างๆที่มีประโยชน์ทำให้ได้ผู้สำเร็จการศึกษาที่มีคุณภาพสูง

  31. [7] เรียนรู้โมเดล เทคนิคและเทคโนโลยีใหม่ๆ ให้ผู้เรียนสามารถนำออกมาและเห็นถึงความสำคัญเพื่อที่จะนำมาพัฒนาในเชิงวิชาชีพได้อย่างต่อเนื่อง • เมื่อถึงเวลาจบโปรแกรมการเรียน ผู้เรียนควรแสดงให้เห็นถึงมีความสามารถที่จะเป็นผู้ที่เรียนรู้ตลอดชีวิตด้วยตัวเอง ในช่วงการศึกษาสุดท้าย ผู้เรียนควรพร้อมที่จะเรียนรู้สิ่งใหม่ๆอยู่เสมอ นั่นคือผู้เรียนจะต้องได้บทเรียนที่ดีที่สุดในช่วงการศึกษาก่อนหน้า

  32. Overview of Software Engineering EducationKnowledge (SEEK) • จะกล่าวถึงองค์ความรู้ซึ่งเหมาะสมสำหรับโปรแกรมระดับปริญญาตรีในสาขาวิศวกรรมซอฟต์แวร์ ความรู้เหล่านี้เรียกว่า SEEK (Software Engineering Education Knowledge).

  33. การพัฒนาโมเดล SE2004 นั้นจะอยู่บนพื้นฐานโมเดลที่ใช้สร้าง CCCS (the Computer Science Volume) การเลือกแต่แรกเริ่มของ SEEK อยู่บนพื้นฐานของความรู้ SWEBOK และ การนำความรู้ การแลกเปลี่ยนความคิดเห็นหลายๆครั้งจากอาสาสมัครในงาน SEEK โดยอาสาสมัคร SEEK จะต้องแบ่งออกเป็นกลุ่มที่เป็นตัวแทนและส่วนของ SEEK แต่ละกลุ่มต้องประกอบด้วยอาสาสมัครไม่ต่ำกว่าเจ็ดคน ซึ่งกลุ่มเหล่านั้นถูกกำหนดให้ทำหน้าที่ในการให้รายละเอียดของหน่วยต่างๆซึ่งประกอบด้วยความรู้ทางการศึกษาแบบพิเศษและทำการปรับแต่งแต่ละหน่วยให้เป็นที่ยอมรับ • เพื่อความสะดวกในงาน จะอ้างองค์ความรู้ด้านวิศวกรรมซอฟต์แวร์แบบต่างๆเช่น SWEBOK, CSDP Exam, and SEI และเซ็ตของรูปแบบเพื่อใช้สร้างหน่วยกิตและชื่อวิชา

  34. Knowledge Areas, Units, and Topics • ความรู้เป็นเทอมที่ใช้ในการอธิบายระเบียบข้อบังคับซึ่งประกอบด้วย ข่าวสาร การใช้ถ้อยคำ สิ่งประดิษฐ์ ข้อมูล บทบาท วิธีการ โมเดล ขั้นตอน เทคนิค การปฏิบัติ กระบวนการ และเรื่องของการทำเป็นลายลักษ์อักษร SEEK ถูกสร้างเป็นลักษณะลำดับขั้นทั้งหมดสามขั้น • ชั้นสูงสุดคือการศึกษาในเนื้อหาความรู้ การแทนแบบแผนย่อยแบบพิเศษของวิศวกรรมซอฟต์แวร์ซึ่งถูกสร้างเป็นส่วนสำคัญขององค์ความรู้ด้านวิศวกรรมซอฟต์แวร์ซึ่งผู้ศึกษาระดับปริญญาตรีต้องทราบ

  35. ส่วนของความรู้ที่เป็นโครงสร้างระดับสูง ที่ใช้เพื่อสร้าง แบ่ง และอธิบายความรู้ด้านวิศวกรรมซอฟต์แวร์ แต่ละด้านจะถูกเรียบแบบย่อด้วยตัวอักษรเช่น PRF คือ professional practices • แต่ละด้านจะถูกแตกออกเป็นส่วนเล็กๆที่เรียกว่าหน่วย (units) ต่างๆ และเพิ่มด้วยตัวอักษรสองหรือสามตัวเพื่อบอกถึงชนิดของหน่วยการเรียนนั้นๆ PRF.com คือหน่วยของทักษะด้านการการสื่อสาร (communication skills.)

  36. Core Material • จะกล่าวถึงความสำคัญที่ชัดเจน SEEK และ ขั้นตอนการดำเนินให้เป็นไปตามเป้าหมายของคณะกรรมการ ในการให้คำรับรองหลักสูตรวิศวกรรมซอฟต์แวร์ระดับปริญญาตรี • วิชาหลักไม่ใช่หลักสูตรที่สมบูรณ์ เนื่องจากวิชาหลักกำหนดได้ถูกกำหนดไว้เป็นอย่างน้อย ทุกๆโปรแกรมระดับปริญญาตรีจะต้องรวมหน่วยวิชาอื่นทั้งภายในและภายนอกองค์ความรู้วิศวกรรมซอฟต์แวร์ • หน่วยวิชาหลักไม่จำเป็นต้องถูกจำกัดแค่เซ็ตของคอร์สที่ได้กำหนดไว้ก่อนหน้าแล้วในหลักสูตรปริญญาตรี มีหน่วยวิชาหลักบางตัวซึ่งต้องถูกควบเข้ากับวิชาอื่นๆหลังจากที่ผู้เรียนได้มีพื้นฐานในฟิลด์ที่สำคัญไว้แล้ว เช่น ชื่อวิชาในส่วนของการจัดการโครงงาน การเฟ้นหาความต้องการ และ abstract high-level modeling เหล่านี้ต้องการความรู้ซึ่งผู้เรียนระดับต่ำกว่านี้ไม่เข้าใจ คล้ายกันนี้คอร์สแนะนำจะต้องรวมหน่วยวิชาเลือกไว้ 1 วิชาตลอดหลักสูตรที่สำคัญ

  37. Unit of Time • SEEK ต้องกำหนดหน่วยการวัดซึ่งสร้างมาตรฐานในการวัด เพื่อตัดสินผลรวมของเวลาที่ต้องใช้เพื่อให้คลอบคลุมหน่วยการเรียนพิเศษ การเลือกหน่วยการวัดนี้จะยากเนื่องจากไม่มีมาตรฐานการวัดที่เป็นที่ยอมรับระดับโลก เพื่อให้ตรงกับรายงานหลักสูตรที่มีมาก่อนแล้ว โดยเฉพาะสาขาวิชาด้านคอมพิวเตอร์ที่สัมพันธ์กัน ดังนั้นจะกำหนดเวลาเป็น ชั่วโมง • ชั่วโมงการสอนที่ได้กำหนดไว้นั้นไม่ได้รวมถึงเวลาที่นอกเหนือคลาสสอน • ชั่วโมงที่ได้ลงไว้ในหลักสูตรสำหรับหนึ่งหน่วยการเรียนจะแทนระดับต่ำสุดที่จะต้องมี การวัดเวลาที่ได้กำหนดไว้แต่ละหน่วยควรได้อธิบายให้เป็นเวลารวมต่ำสุดที่จำเป็นที่จะสามารถให้ผู้เรียนสร้างการเรียนรู้ในหน่วยการเรียนนั้นๆ

  38. Relationship of the SEEK to the Curriculum • SEEK ไม่ได้เป็นการแทนหลักสูตร แต่ให้รากฐานสำหรับการออกแบบ การนำไปใช้และการส่งมอบของหน่วยการศึกษาซึ่งสร้างหลักสูตรวิศวกรรมซอฟต์แวร์ บทอื่นๆของ SE2004 ให้แนวทางและการรองรับในการใช้ SEEK เพื่อพัฒนาหลักสูตร ที่สำคัญคือองค์รวมและขอบเขตของความรู้และหน่วยความรู้ไม่ควรถูกลงความเห็นให้เป็นนัยถึงวิธีที่ความรู้นั้นควรถูกรวบรวมไว้ในหน่วยของการศึกษาหรือกิจกรรม

  39. Selection of Knowledge Areas • SWEBOK Guide จะให้จุดเริ่มต้นสำหรับการหาขอบเขตความรู้ เนื่องจากทั้งผู้ที่เกี่ยวข้องในด้าน SE2004 และ SEEK ต้องทราบเป็นอย่างดีเกี่ยวกับความสำคัญของระเบียบการศึกษาของวิศวกรรมซอฟต์แวร์ ขอบเขตที่ถูกเลือกเพื่อแทนในทางทฤษฏีและพื้นฐานด้านวิทยาศาสตร์ของการพัฒนาชิ้นงานซอฟต์แวร์ ซึ่งจะถูกเตรียมพร้อมเพื่อการปรับปรุงเปลี่ยนแปลงเสมอ ไม่ว่าเป้าหมายดั้งเดิมตามกฎระเบียบต่างๆที่ได้มีไว้จะสำเร็จหรือไม่ก็ตาม ผลลัพธ์ของส่วนของความรู้ต่างๆนั้นจะต้องถูกนำมาทำให้สมดุล อีกครั้งเพื่อรองรับเป้าหมายต่างๆ ผลลัพธ์นั้นต้องยืนยันได้ถึงหลักการพื้นฐาน ความรู้ และการปฏิบัติซึ่งอยู่ภายใต้กฎระเบียบวิศวกรรมซอฟต์แวร์ในรูปแบบที่เหมาะสมสำหรับการศึกษาระดับปริญญาตรี

  40. SE Education Knowledge Areas ในส่วนนี้จะกล่าวถึง ขอบเขตความรู้ 10 ประการในการสร้าง SEEK ประกอบด้วย • Computing Essentials (CMP), • Mathematical & Engineering Fundamentals (FND), • Professional Practice (PRF), • Software Modeling & Analysis (MAA), • Software Design (DES), Software Verification & Validation (VAV), • Software Evolution (EVL), • Software Process (PRO), • Software Quality (QUA), • Software Management (MGT)

  41. ซึ่งขอบเขตความรู้เหล่านี้จะไม่ร่วมเนื้อหาเกี่ยวกับ continuous mathematics หรือ natural sciences แต่ละความรู้นั้นจะมีการอธิบายสั้นๆและตารางซึ่งจะจำแนกหน่วยและชื่อของแต่ละขอบเขต สำหรับแต่ละหน่วยความรู้นั้นจะใช้เป็นชั่วโมง แต่ละชื่อวิชานั้นจะใช้ระดับการแบ่งหมวดหมู่ของ Bloom (เป็นการแสดงถึงความสามารถที่ผู้จบการศึกษาจะต้องได้) และจะต้องกำหนดความสัมพันธ์ของขื่อวิชาด้วย (แสดงถึงความสำคัญหรือไม่ จำเป็นหรือไม่ หรือ เป็นแค่ทางเลือกเท่านั้น) ตารางที่ 1 จะสรุปขอบเขตความรู้ของ SEEK พร้อมบอกถึงเซ็ตของหน่วยความรู้และรายการของชั่วโมงต่ำสุดของการเรียนที่เป็นที่ยอมรับของแต่ละหน่วยและขอบเขตวิชา

  42. Bloom's attributes จะใช้อักษร k, c, หรือ a แทนความหมายต่างๆดังนี้ • Knowledge (k) – การจดจำระลึกถึงวิชาที่ได้เรียนไปก่อน เช่นวันที่ เหตุการณ์ สถานที่ ความรู้ที่เป็นแนวคิดหลัก วิชา สาระสำคัญของเนื้อหารายวิชา เป็นต้น • Comprehension (c) – ความเข้าใจในข้อมูลและความหมายของวิชาที่ได้นำเสนอ เช่น สามารถแปลความรู้นั้นเป็นคำอธิบายได้ แปลได้ตรง เปรียบเทียบ เทียบเคียง จัดกลุ่มได้ เป็นต้น • Application (a) – ความสามารถในการใช้วิชาที่ได้เรียนไปใช้ในการแก้ปัญหาสถานการณ์ หรืองานต่างๆได้

  43. ความสัมพันธ์ของชื่อวิชาที่เป็นส่วนหลักมีดังต่อไปนี้ความสัมพันธ์ของชื่อวิชาที่เป็นส่วนหลักมีดังต่อไปนี้ • Essential (E) - วิชานี้เป็นวิชาหลัก • Desirable (D) – วิชานี้ไม่ใช่วิชาหลักแต่ควรรวมให้เป็นโปรแกรมพิเศษที่เป็นเนื้อหาหลักหรือวิชาหลักสำคัญที่สามารถเลือกได้ • Optional (O) - วิชานี้ควรเป็นวิชาเลือกเท่านั้น

  44. Computing Essentials Description • Computing essentials ได้รวมพื้นฐานด้าน computer science ซึ่งรองรับการออกแบบและโครงสร้างของซอฟต์แวร์ และยังรวมถึงความรู้ด้านการแปลงการออกแบบให้เป็นการสร้างโปรแกรมให้สามารถทำงานได้ เครื่องมือที่ใช้ในระหว่างกระบวนการสร้าง และวิธีการสร้างซอฟต์แวร์แบบ formal software ดังภาพตัวอย่างนี้

  45. Mathematical and Engineering Fundamentals • คณิตศาสตร์และพื้นฐานวิศวกรรมของวิศวกรรมซอฟต์แวร์เป็นการให้ทฤษฎีและสนับหนุนทางวิทยาศาสตร์เพื่อการสร้างซอฟต์แวร์ที่ได้ออกแบบไว้ หัวใจสำคัญคือการออกแบบในเชิงวิศวกรรม กระบวนการตัดสินใจในการคำนวณ คณิตศาสตร์ และวิทยาศาสตร์เชิงวิศวกรรมจะถูกประยุกต์ใช้เพื่อการจัดการทรัพยากรที่มีอยู่ให้เกิดประสิทธิผลและเป็นไปตามเป้าหมาย

  46. Professional Practice • การปฏิบัติเชิงวิชาชีพ (Professional Practice) เกี่ยวข้องกับความรู้ ทักษะ และความประพฤติซึ่งนักวิศวกรรมซอฟต์แวร์จะต้องมีเพื่อปฏิบัติงานด้านวิศวกรรมซอฟต์แวร์เชิงวิชาชีพ ความรับผิดชอบ และจริยธรรม ซึ่งรวมถึงการสื่อสารทางเทคนิค การทำงานเป็นกลุ่มและความรับผิดชอบทางสังคม

  47. Software Modeling and Analysis • การออกแบบจำลองและการวิเคราะห์เป็นส่วนสำคัญหลักของระเบียบวิศวกรรมเนื่องจากเป็นสาระสำคัญในการสร้างเอกสารและการประเมินการตัดสินใจในการออกแบบและประเมินทางเลือกต่างๆ เป็นวิชาที่นำมาประยุกต์ในการออกแบบ การระบุรายละเอียดและความถูกต้องของ requirement ซึ่ง requirements จะแทนถึงความต้องการที่แท้จริงของ users, customers และ stakeholders อื่นๆที่มีผลต่อระบบที่สร้าง ซึ่งโครงสร้างของ requirements นั้นจะรวมการวิเคราะห์ความเป็นไปได้ของระบบที่ได้รับการออกแบบไว้ การวิเคราะห์และการล้วงนำเอาความต้องการของ stakeholders ได้ การสร้างการอธิบายอย่างละเอียดถึงสิ่งที่ระบบควรทำหรือไม่ควรตลอดการทำงานและการสร้าง และการทวนสอบการอธิบายเหล่านี้หรือการระบุรายละเอียดจาก stakeholders.

More Related