จุดเน้นของคำถามนี้:ซอฟต์แวร์บางตัวทำงาน "งานพิเศษ" เพื่อเพิ่มโอกาสของผลลัพธ์ "ประสบความสำเร็จ / เป็นที่น่าพอใจที่สุด" แม้จะมีข้อผิดพลาดภายในหนึ่งครั้งหรือมากกว่าในซอฟต์แวร์ซึ่งต้องใช้เวลาดำเนินการนานขึ้นเมื่อเกิดข้อผิดพลาดเหล่านั้น สิ่งเหล่านี้เกิดขึ้นโดยที่ผู้ใช้ไม่ทราบถ้าผลลัพธ์สำเร็จ
คำจำกัดความของซอฟต์แวร์ที่ซับซ้อน:
- มีโค้ดที่เขียนโดย (สนับสนุนจาก) นักพัฒนาซอฟต์แวร์มากกว่า 10 คนตลอดช่วงอายุการใช้งานและไม่ได้เขียนในกรอบเวลาเดียวกัน
- ขึ้นอยู่กับห้องสมุดภายนอกมากกว่า 10 แห่งแต่ละแห่งมีคำเตือน
- งานซอฟต์แวร์ทั่วไป (สำหรับการสร้างผลลัพธ์ที่ผู้ใช้ต้องการ) ต้องใช้พารามิเตอร์อินพุต 10 ตัวขึ้นไปซึ่งส่วนใหญ่มีค่าเริ่มต้น แต่สามารถกำหนดค่าได้หากผู้ใช้ต้องการการควบคุม
- สิ่งสำคัญที่สุดคือซอฟแวร์ที่มีความซับซ้อนญาติที่เหมาะสมกับงานที่มีการดำเนินการคือไม่ซับซ้อนโดยไม่จำเป็น
แก้ไข:อะไรซับซ้อน โปรดดูมีความแตกต่างใหญ่ระหว่างที่ซับซ้อนและมีความซับซ้อนเป็น (ลิงก์โดยตรง)
คำจำกัดความของความซ้ำซ้อน / ความทนทาน ภายในคำถามนี้ :
(เพิ่มความทนทานตามความคิดเห็น)
- หากงานซอฟต์แวร์ล้มเหลวเมื่อใช้ชุดพารามิเตอร์ปัจจุบันให้ลองใช้พารามิเตอร์อื่น
- เห็นได้ชัดว่าจะต้องมีความรู้ภายในว่าพารามิเตอร์ "แตกต่าง" เหล่านั้นใช้เส้นทางโค้ดที่แตกต่างกันซึ่งอาจส่งผลให้ผลลัพธ์ที่แตกต่างกัน
- บางครั้งพา ธ ของรหัสที่แตกต่างกันเหล่านี้จะถูกเลือกตามการสังเกตของไลบรารีภายนอก
- ในตอนท้ายถ้างานจริงที่ดำเนินการแตกต่างจากข้อกำหนดของผู้ใช้เล็กน้อยผู้ใช้จะได้รับรายงานรายละเอียดความคลาดเคลื่อน
- สุดท้ายเช่นเดียวกับพารามิเตอร์ที่กำหนดค่าได้ 10-plus ความซ้ำซ้อนและการรายงานก็สามารถกำหนดค่าได้เช่นกัน
ตัวอย่างของซอฟต์แวร์ดังกล่าว:
- การย้ายฐานข้อมูล
- ฐานข้อมูลธุรกิจ
- ฐานข้อมูลการควบคุมแหล่งที่มา ฯลฯ
- รุ่นที่แปลงระหว่างเอกสาร Word และเอกสาร OpenOffice, PowerPoint และ OpenOffice Draw เป็นต้น
- แปลอัตโนมัติทั้งเว็บไซต์
- การวิเคราะห์อัตโนมัติของซอฟต์แวร์สำเร็จรูปเช่น Doxygen แต่การวิเคราะห์นั้นจะต้องเชื่อถือได้มากกว่า (เช่นไม่ใช่เครื่องมือเอกสาร)
- การสื่อสารผ่านเครือข่ายซึ่งอาจทำให้แพ็กเก็ตสูญหายและคาดว่าจะมีการลองซ้ำหลายครั้ง
แต่เดิมคำถามนี้ได้รับแรงบันดาลใจจากคุณจะจัดการกับโค้ดที่ไม่ดีโดยเจตนาได้อย่างไร
แต่ตอนนี้มุ่งเน้นเพียงหนึ่งในสาเหตุของการขยายตัวของซอฟต์แวร์ คำถามนี้ไม่ได้ระบุสาเหตุอื่นของการขยายตัวของซอฟต์แวร์เช่นการเพิ่มคุณสมบัติใหม่
อาจเกี่ยวข้อง: