งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Lesson 10 Software Evolution

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Lesson 10 Software Evolution"— ใบสำเนางานนำเสนอ:

1 Lesson 10 Software Evolution
KANOKWATT SHIANGJEN

2 บทนำ ภายหลังจากที่มีการติดตั้งและใช้งานระบบแล้ว ย่อมต้องพลวัตในการพัฒนา ปรับปรุง ดูแลรักษาให้ระบบสามารถใช้งานได้อย่างมีประสิทธิภาพ และประสิทธิผล ต่อไป โดยที่ 90% ของค่าใช้จ่ายเกี่ยวกับซอฟต์แวร์ จะถูกใช้ไปกับการ ปรับปรุง ดูแลรักษาซอฟต์แวร์ School of Information and Communication Technology., University of Phayao

3 วัตถุประสงค์ เพื่อให้นิสิตเข้าใจเกี่ยวกับการเปลี่ยนแปลง ซึ่งเป็นสิ่งที่แน่นอน และต้องเกิดขึ้น การทำให้โปรแกรมมีวิวัฒนาการเหมือนมนุษย์ และสิ่งมีชีวิตอื่นๆ เพื่อให้นิสิตเข้าใจถึงวิธีการดูแลรักษาระบบ และปัจจัยที่มีผลกระทบต่อค่าใช้จ่ายในการดูแลรักษาระบบ เพื่อให้นิสิตสามารถประเมินว่าควรจะเลิกใช้, ดูแลรักษา หรือต้องมีการรื้อเพื่อปรับปรุงระบบ School of Information and Communication Technology., University of Phayao

4 เนื้อหา พลวัตวิวัฒนาการของโปรแกรม (Program Evolution Dynamics)
การบำรุงรักษาซอฟต์แวร์ (Software Maintenance) กระบวนการวิวัฒนาการ (Evolution Processes) วิวัฒนาการระบบเดิม (Legacy System Evolution) School of Information and Communication Technology., University of Phayao

5 A Spiral Model of Development and Evolution
School of Information and Communication Technology., University of Phayao

6 พลวัตวิวัฒนาการของโปรแกรม (Program Evolution Dynamics) (1/3)
เป็นการศึกษาเกี่ยวกับความเปลี่ยนแปลงที่เกิดขึ้นกับระบบ โดย Lehman และ Belady ประกอบด้วยกฎ 5 ข้อ คือ ข้อที่ 1 กระบวนการดูแลรักษาระบบ (System Maintenance) เป็นสิ่งที่ต้องเกิดขึ้นอย่างแน่นอน สาเหตุเนื่องจาก สิ่งแวดล้อมของระบบเปลี่ยน ความต้องเปลี่ยน เป็นต้น ข้อที่ 2 เมื่อระบบเกิดการเปลี่ยนแปลง ทำให้โครงสร้างเปลี่ยนแปลง ซึ่งมีวิธีการป้องกันอย่างเดียว คือ ลงทุนในการดูแลรักษาระบบ โดยไม่ต้องเพิ่มฟังก์ชันใหม่เข้าไป School of Information and Communication Technology., University of Phayao

7 พลวัตวิวัฒนาการของโปรแกรม (Program Evolution Dynamics) (2/3)
ข้อที่ 3 ในระบบขนาดใหญ่หากมี พลวัตในตัวเองตั้งแต่เริ่มสร้างแล้ว จะทำให้เห็นแนวทางในกระบวนการดูแลรักษาระบบได้ ข้อที่ 4 ในโครงการพัฒนาซอฟต์แวร์ขนาดใหญ่ การเปลี่ยนแปลง พนักงาน หรือทีมงาน จะมีผลกระทบ ที่มองไม่เห็นในระยะยาว เนื่องจากจะมี Overhead ในการติดต่อประสานระหว่างทีมงาน School of Information and Communication Technology., University of Phayao

8 พลวัตวิวัฒนาการของโปรแกรม (Program Evolution Dynamics) (3/3)
ข้อที่ 5 การเปลี่ยนแปลงเกิดขึ้นตลอดเวลา ตั้งแต่เรามีการ Release ซอฟต์แวร์ออกไป เพื่อแก้ไขข้อผิดพลาด (Fault) โดยการเพิ่มฟังก์ชันใหม่เข้าไป ย่อมต้องส่งผลให้มีโอกาสเกิดข้อผิดพลาดเพิ่มขึ้นอีก ดังนั้น เราไม่ควรเตรียมงบประมาณเฉพาะ การเพิ่มฟังก์ชันใหม่เข้าไป แต่เราควรเตรียมไว้สำหรับข้อผิดพลาดที่จะเพิ่มขึ้นมาในอนาคตด้วย School of Information and Communication Technology., University of Phayao

9 การบำรุงรักษาซอฟต์แวร์ (Software Maintenance)
การบำรุงรักษาซอฟต์แวร์ เป็นกระบวนการทั่วไปที่ต้องเกิดขึ้นภายหลังจากการส่งมอบซอฟต์แวร์ แบ่งได้ 3 ประเภท คือ เพื่อแก้ไขข้อบกพร่องของซอฟต์แวร์ (Corrective Maintenance) เมื่อสิ่งแวดล้อมในการดำเนินการเปลี่ยนแปลงไป (Adaptive Maintenance) เมื่อมีการเพิ่ม หรือแก้ไขฟังก์ชันการทำงานของระบบ (Perfective /Enhancement Maintenance) School of Information and Communication Technology., University of Phayao

10 Maintenance Cost COCOMO 2 Model of Cost Estimation สามารถใช้ในการประมาณการ แรงงานที่ต้องใช้ในการบำรุงรักษาซอฟต์แวร์ School of Information and Communication Technology., University of Phayao

11 กระบวนการวิวัฒนาการ (Evolution Processes)
กระบวนการวิวัฒนาการซอฟต์แวร์ ขึ้นอยู่กับปัจจัยหลายด้าน เช่น ประเภทของซอฟต์แวร์ กระบวนการในการพัฒนาซอฟต์แวร์ กลุ่มบุคคลที่เกี่ยวข้องในการพัฒนาซอฟต์แวร์ School of Information and Communication Technology., University of Phayao

12 Evolution Processes School of Information and Communication Technology., University of Phayao

13 System Evolution Process
School of Information and Communication Technology., University of Phayao

14 Change Implementation
The Emergency Repair Process School of Information and Communication Technology., University of Phayao

15 Software Re-Engineering
Forward Engineering Software Re-Engineering School of Information and Communication Technology., University of Phayao

16 The Re-Engineering Process
School of Information and Communication Technology., University of Phayao

17 Re-Engineering Approaches
School of Information and Communication Technology., University of Phayao

18 วิวัฒนาการระบบเดิม (Legacy System Evolution)
ในองค์กรที่มีงบประมาณจำกัด สำหรับการดูแลรักษาระบบเดิมให้ทันสมัย มีทั้งหมด 4 กลยุทธ์ในการวิวัฒนาการ ทิ้งระบบเดิม ไม่เปลี่ยนแปลงระบบ แต่ดูแลรักษาอย่างต่อเนื่อง ปรับปรุงระบบ (Re-Engineering) แทนที่ด้วยระบบงานใหม่บางส่วน หรือทั้งหมด School of Information and Communication Technology., University of Phayao

19 System Quality VS. Business Value
Low ต้นทุนสูง แต่ได้ผลตอบแทนต่ำ ควรยกเลิกใช้งาน High ต้นทุนสูง และผลตอบแทนสูง ควร Re-Engineering เพื่อเพิ่มคุณภาพให้สูงขึ้น ต้นทุนต่ำ และผลตอบแทนต่ำ อาจดูแลรักษาตามปกติ หรือถ้าไม่คุ้ม ก็ยกเลิกการใช้งาน ต้นทุนต่ำ แต่ผลตอบแทนสูง ควรทำการดูแลรักษาอย่างต่อเนื่อง School of Information and Communication Technology., University of Phayao

20 สรุป การดูแลรักษา ระบบ เกิดขึ้นภายหลังจากที่เราได้ทำการส่งมอบซอฟต์แวร์ให้กับลูกค้า สิ่งที่เกิดขึ้นก็คือ ความเปลี่ยนแปลง เนื่องจากเหตุผล 3 ประการ คือ แก้ไขข้อบกพร่อง (Corrective) ปรับให้เข้ากับสิ่งแวดล้อมใหม่ (Adaptive) การเพิ่ม/แก้ไขฟังก์ชันการทำงาน (Perfective/Enhancement) ค่าใช้จ่ายเกี่ยวกับวิวัฒนาการซอฟต์แวร์นั้น มีอัตราส่วนประมาณ 90% ของค่าใช้จ่ายทั้งหมด การพิจารณาว่าคุ้มค่าหรือไม่ในการดูแลรักษา คือ Business Value School of Information and Communication Technology., University of Phayao

21 References Ian Sommerville. Software Engineering 8th Edition. Addison Wesley Publishers., 2007 Watts S Humphrey. A Self Improvement Process for Software Engineers. Addison Wesley Professional., 2005 Software Engineering Institute | Carnegie Mellon. [online] School of Information and Communication Technology., University of Phayao


ดาวน์โหลด ppt Lesson 10 Software Evolution

งานนำเสนอที่คล้ายกัน


Ads by Google