SCC - Suthida Chaichomchuen std@kmitnb.ac.th Introduction SCC - Suthida Chaichomchuen std@kmitnb.ac.th
Software? ซอฟต์แวร์ หมายถึง โปรแกรมหรือชุดคำสั่งที่เขียนขึ้นเพื่อให้ เครื่องคอมพิวเตอร์ทำงานตามที่ต้องการ
Software Engineering? กระบวนการที่ประกอบด้วยกิจกรรมช่วงต่าง ๆ เพื่อสร้างผลิตภัณฑ์ซอฟต์แวร์ (Software Product) โดยอาศัยหลักการ เทคนิคและเครื่องมือแบบต่าง ๆ ที่นักวิทยาการคอมพิวเตอร์และนักวิจัยได้เสนอใช้
Software products attributes Maintainability ซอฟต์แวร์จะต้องมีวิวัฒนาการเพื่อตอบสนองต่อการเปลี่ยนแปลงความต้องการขององค์กร Dependability ซอฟต์แวร์จะต้องมีความน่าเชื่อถือ
Software products attributes Efficiency การใช้ทรัพยากรระบบน้อยที่สุด รวมทั้งหน่วยความจำ และเวลากระทำการ Usability ซอฟต์แวร์จะต้องมีความง่ายในการเรียนรู้และใช้งาน
Software Process? กลุ่มกิจกรรมของการพัฒนาซอฟต์แวร์ ที่ถูกเสนอโดยนักวิทยาการคอมพิวเตอร์ ซึ่งอาจมีความแตกต่างกันในเรื่องวิธีการและเทคนิคที่ใช้
Software process activities Specification การกำหนดหน้าที่การทำงานและเงื่อนไขของซอฟต์แวร์ที่จะถูกสร้าง Development การผลิตซอฟต์แวร์ที่ตรงกับรูปแบบที่ได้กำหนดไว้
Software process activities Validation การตรวจสอบความถูกต้องของระบบซอฟต์แวร์ เพื่อให้ได้ความมั่นใจว่าตรงตามความต้องการ Evolution ซอฟต์แวร์มีวิวัฒนาการตามการเปลี่ยนแปลงของผู้ใช้
Software process characteristics Understandability มีการนิยามขอบเขตกระบวนการที่ชัดแจ้งและง่ายต่อความเข้าใจ Visibility ทำให้กิจกรรม กระบวนการมีความชัดเจนที่สุด
Software process characteristics Supportability เครื่องมือช่วยในการวิเคราะห์ซอฟต์แวร์ สามารถช่วยสนับสนุนกิจกรรมกระบวนการในขอบเขตใด Acceptability กระบวนการที่กำหนดสามารถยอมรับและใช้ได้โดยวิศวกรต่อผลิตภัณฑ์ซอฟต์แวร์นั้น
Software process characteristics Reliability กระบวนการถูกออกแบบในแนวทางที่หลีกเลี่ยงที่จะส่งต่อความผิดพลาดของซอฟต์แวร์ Robustness กระบวนการสามารถทำงานต่อได้ แม้ว่ามีปัญหาที่ไม่ได้คาดการณ์ไว้เกิดขึ้น
Software process characteristics Maintainability กระบวนการสามารถวิวัฒนาการเพื่อตอบสนองต่อการเปลี่ยนแปลงความต้องการขององค์กร Rapidity กระบวนการสามารถทำให้ส่งมอบผลิตภัณฑ์ได้รวดเร็ว ตรงตามคุณลักษณะที่ได้กำหนดไว้
Software Process Model? แผนภาพที่แสดงถึงกิจกรรมต่าง ๆ ในกระบวนการพัฒนาซอฟต์แวร์ ซึ่งอาจจะได้มาจากเทคนิคที่แตกต่างกัน
Generic process models Waterfall approach Evolutionary development Formal Transformation System assembly from reusable components
What is CASE Tools? CASE Tools ย่อมาจาก Computer-Aided Software Engineering Tools CASE คือ ซอฟต์แวร์หรือโปรแกรมประยุกต์ที่ช่วยในการพัฒนาระบบ คอยสนับสนุนการทำงานในแต่ละขั้นตอนของการพัฒนา ด้วยการเตรียมฟังก์ชันการทำงานต่าง ๆ ที่ทำให้การทำงานแต่ละขั้นตอนมีความรวดเร็วและมีคุณภาพมากขึ้น
What is CASE can do? Context Diagram Flowchart E-R Diagram Report Form Source Code etc.
CASE Tool Framework แบ่งขอบเขตการทำงานเป็น 2 ช่วง Upper-CASE Lower-CASE
CASE Tool Framework Upper-CASE เป็นเครื่องมือที่ช่วยสนับสนุนการทำงานในขั้นตอนต้น ๆ ของการพัฒนาระบบ ได้แก่ ขั้นตอนการวางแผน ขั้นตอนการวิเคราะห์ ขั้นตอนการออกแบบ
CASE Tool Framework Lower-CASE เป็นเครื่องมือที่ช่วยสนับสนุนการทำงานในขั้นตอนสุดท้ายในการพัฒนาระบบ ได้แก่ ขั้นตอนการพัฒนาและทดสอบ ขั้นตอนการให้บริการหลังติดตั้งระบบ