Skip to main content

ซอฟต์แวร์วิวัฒนาการคืออะไร?

วิวัฒนาการของซอฟต์แวร์เป็นกระบวนการที่โปรแกรมคอมพิวเตอร์เชิงพาณิชย์ต้องการการปรับปรุงการบำรุงรักษาและการปรับปรุงอย่างต่อเนื่องตลอดเวลาเพื่อให้มันยังคงเป็นผลิตภัณฑ์ที่มีศักยภาพในแง่นี้วิวัฒนาการของซอฟต์แวร์ได้รับแรงผลักดันจากความต้องการทางธุรกิจภายนอกและความต้องการของผู้บริโภคที่เปลี่ยนแปลงไปเมื่อซอฟต์แวร์และเทคโนโลยีอื่น ๆ ก้าวไปรอบ ๆอย่างไรก็ตามปัจจัยผลักดันที่อยู่เบื้องหลังวิวัฒนาการของซอฟต์แวร์มักจะเป็นสิ่งภายในที่มุ่งเน้นไปที่ทีมวิศวกรรมที่ผลิตผลิตภัณฑ์และ บริษัท ที่ขึ้นอยู่กับความสำเร็จในการทำกำไรImperial College of London ประเทศอังกฤษประกาศใช้กฎหมายพื้นฐานสามประการของวิวัฒนาการซอฟต์แวร์ในต้นปี 1970 ซึ่งได้ขยายไปถึงกฎหมายทั้งหมดแปดฉบับในปี 2554โมเดลลำดับเชิงเส้นและโมเดลต้นแบบ แต่กระบวนทัศน์ที่ดูเหมือนว่าจะเหมาะสมที่สุดในวงจรชีวิตเอนโทรปีของซอฟต์แวร์คือสิ่งหนึ่งที่คล้ายกับวิวัฒนาการของดาร์วินสำหรับสิ่งมีชีวิตอัพเกรดเครื่องจักรอุตสาหกรรมหรือขั้นตอนการปฏิบัติงานมาตรฐานเนื่องจากความต้องการทางสังคมเปลี่ยนแปลงเนื่องจากซอฟต์แวร์ถูกนำมาใช้มากขึ้นความต้องการหรือฟังก์ชั่นใหม่ ๆ เพื่อให้เห็นได้ชัดว่าจะต้องทำงานในรุ่นต่อไปของผลิตภัณฑ์ซอฟต์แวร์ทั้งหมดได้รับการปล่อยตัวพร้อมกับข้อผิดพลาดที่ไม่รู้จักก่อนหน้านี้ดังนั้นแพตช์และขั้นตอนการบำรุงรักษาจะต้องดำเนินการเพื่อแก้ไขสถานการณ์เช่นช่องโหว่ความปลอดภัยที่อาจทำให้ บริษัท เสี่ยงต่อการโจมตีซอฟต์แวร์เองกุญแจสำคัญในการวิวัฒนาการของซอฟต์แวร์คือความจริงที่ว่าโปรแกรมดังกล่าวจะต้องปรับให้เข้ากับอุปกรณ์คอมพิวเตอร์ที่เกิดขึ้นใหม่ได้มากขึ้นและภายในสถาปัตยกรรมระบบปฏิบัติการต่างๆเพื่อให้โปรแกรมมีความน่าดึงดูดมากขึ้น

การตอบสนองความต้องการทั้งหมดเหล่านี้มีความสำคัญต่อการพิจารณาว่าโปรแกรมซอฟต์แวร์ยังคงทำงานได้หรือไม่และเนื่องจากสินทรัพย์ซอฟต์แวร์เป็นสิ่งสำคัญของเศรษฐกิจข้อมูล ณ ปี 2011 วิวัฒนาการของซอฟต์แวร์ได้กลายเป็นพื้นฐานของการปรับตัวทางธุรกิจและการเติบโตMeir Lehman นักวิทยาศาสตร์คอมพิวเตอร์ที่ Imperial College of London ได้รับการยกย่องในการสร้างกฎหมาย Lehmans ซึ่งกำหนดกระบวนการวิวัฒนาการซอฟต์แวร์และผู้พัฒนาที่มีแนวทางในการคิดล่วงหน้าของการสร้างภาพซอฟต์แวร์กฎหมายของ Lehmans ขึ้นอยู่กับหลักฐานที่ว่าซอฟต์แวร์วิวัฒนาการเป็นข้อเสนอแนะเกี่ยวกับการเพิ่มประสิทธิภาพและแนวโน้มที่หลีกเลี่ยงไม่ได้คือการมีความซับซ้อนมากขึ้นเรื่อย ๆ

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

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