กระบวนทัศน์การเขียนโปรแกรมและผู้พัฒนาการบำรุงรักษา [ปิด]


9

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

  • ข้อเท็จจริงที่ 41: การบำรุงรักษามักใช้ต้นทุนซอฟต์แวร์ 40 ถึง 80 เปอร์เซ็นต์ (โดยเฉลี่ย 60 เปอร์เซ็นต์) ดังนั้นจึงน่าจะเป็นช่วงวงจรชีวิตที่สำคัญที่สุดของซอฟต์แวร์
  • ข้อเท็จจริงที่ 42: การปรับปรุงมีหน้าที่รับผิดชอบประมาณร้อยละ 60 ของต้นทุนการบำรุงรักษาซอฟต์แวร์ การแก้ไขข้อผิดพลาดประมาณ 17 เปอร์เซ็นต์ ดังนั้นการบำรุงรักษาซอฟต์แวร์ส่วนใหญ่เกี่ยวกับการเพิ่มความสามารถใหม่ให้กับซอฟต์แวร์เก่าไม่ใช่การแก้ไข
  • ความเป็นจริง 45: การพัฒนาวิศวกรรมซอฟต์แวร์ที่ดีกว่านำไปสู่การบำรุงรักษาที่มากขึ้นไม่น้อย

ซอฟต์แวร์ตัวนี้ดีกว่ามีการบำรุงรักษามากกว่าเพราะง่ายต่อการเปลี่ยนแปลง ดังนั้นจึงยังคงใช้งานได้นานกว่าซึ่งนำไปสู่การเปลี่ยนแปลงที่ใช่

กระบวนทัศน์ใด (เช่นการทำงาน, เชิงวัตถุ, ขั้นตอน) ที่มีการบำรุงรักษาที่ดีที่สุดและมีงานวิจัยที่จะสำรองข้อมูลนี้หรือไม่?


ฉันเป็นเจ้าของสำเนาของข้อเท็จจริงและความเข้าใจผิดและสำหรับแต่ละความจริง (และการเข้าใจผิด) มีการอ้างอิงสำหรับสิ่งพิมพ์ต่าง ๆ ที่สนับสนุน ฉันไม่มีสำเนาที่มีประโยชน์ แต่การอ้างอิงเหล่านี้พูดถึงผลกระทบของกระบวนทัศน์ในการบำรุงรักษาหรือไม่?
Thomas Owens

หนังสือเล่มนี้เขียนขึ้นในปี 2003 ข้อสรุปส่วนใหญ่ยังคงมีความเกี่ยวข้องในปัจจุบัน ฉันสงสัยว่าผู้คนมีการศึกษาใหม่ในกระบวนทัศน์เฉพาะ การบำรุงรักษาดูเหมือนจะมองข้ามส่วนหนึ่งของการสนทนา
KaizenSoze

หากการศึกษาหรือตีพิมพ์ใด ๆ ที่อ้างถึงในข้อเท็จจริงและความเข้าใจผิดเกี่ยวกับความสามารถในการบำรุงรักษาของกระบวนทัศน์เฉพาะทางเลือกหนึ่งคือการค้นหาฐานข้อมูล IEEE หรือ ACM สำหรับบทความและเอกสารอื่น ๆ ที่อ้างถึงบทความนั้น หากคุณไม่มีสิทธิ์เข้าถึงฐานข้อมูล IEEE หรือ ACM ฉันสามารถดูสำเนาหนังสือของฉันเมื่อฉันกลับถึงบ้านและดูว่าฉันสามารถทำการค้นหาได้หรือไม่ น่าเสียดายที่ฉันจะได้ชื่อของเอกสารอื่นมาให้คุณเท่านั้น
โธมัสโอเวนส์

คำตอบ:


12

ฉันคิดว่าคุณจะพบว่ากระบวนทัศน์เช่นการทำงาน OO และกระบวนการอาจไม่ได้ยืนยันความสามารถในการบำรุงรักษาซอฟต์แวร์ในทางที่มีความหมาย

สิ่งที่คุณอาจพบว่า corellates ต่อไปนี้มีความชัดเจนมากขึ้นด้วยความสามารถในการบำรุงรักษาซอฟต์แวร์:

  • ระดับของการรวบรวมความต้องการและวิศวกรรมความต้องการ

  • แนวทางปฏิบัติในการพัฒนาที่ดี: (ข้อต่อหลวมการเชื่อมต่อที่สูงการทดสอบหน่วย YAGNI ... )

  • วิศวกรซอฟต์แวร์ที่มีทักษะและมีคุณสมบัติ (พวกเขามีค่ามากกว่า 10 เท่าของปัญญาอ่อน)

  • ทีม QA ด้านเทคนิคที่ผ่านการรับรองและจัดระบบ

  • การจัดการโครงการที่ดีนำโดยผู้จัดการโครงการที่มีความสามารถ (หาได้ยากกว่าผู้พัฒนาซอฟต์แวร์ที่มีทักษะ IMHO)

  • เจ้าของผลิตภัณฑ์ที่ดีหรือผู้จัดการแอปพลิเคชันความเป็นผู้นำที่แข็งแกร่งทิศทางในระยะยาวที่ดีผลตอบรับที่ดีต่อทีมงานโครงการวิสัยทัศน์โดยรวม


+1 ฉันต้องการเพิ่มเอกสารที่ดีในรายการ
treecoder

+1 เพิ่ม "มุ่งเน้นคุณค่า" ไปยังรายการ กระบวนการนี้กำหนดและผลักดันสิ่งที่ทำและไม่ได้ทำ สิ่งที่กระบวนการวัดมีความสำคัญและสิ่งที่กระบวนการไม่ได้วัดนั้นมีความสำคัญ จริงโดยเฉพาะอย่างยิ่งเมื่อพวก HR เริ่มเติมที่นั่งด้วย "ปัญญาอ่อน"
mattnz

2

ซอฟต์แวร์ตัวนี้ดีกว่ามีการบำรุงรักษามากกว่าเพราะง่ายต่อการเปลี่ยนแปลง ดังนั้นจึงยังคงใช้งานได้นานกว่าซึ่งนำไปสู่การเปลี่ยนแปลงที่ใช่

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

ขึ้นอยู่กับสิ่งที่คุณถามมันสำคัญว่าซอฟต์แวร์ "ดี" ถูกเขียนใน: functional, OOP หรือรหัสขั้นตอน การให้พลังงานเลเซอร์นำทางแก่ใครบางคนจะช่วยประหยัดไม้ถ้าคนไม่รู้วิธีวัด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.