เราได้กล่าวถึง Low code กันมาหลายตอนแล้วครับ จะเห็นว่าทุกคลิป ทุก แพลตฟอร์มล้วนแล้วแต่จะต้องพูดถึงเรื่องต้นทุน ดังนั้น Software tools และแพลตฟอร์มที่ดีจะต้องถูกพัฒนาด้วย วิศวกรรมซอฟต์แวร์ ที่ถูกต้อง ผู้สร้างเข้าใจถึงจุดสำคัญหลายๆ ประเด็นด้วยกัน
เรามาเริ่มกันเลยครับ โดย โพสต์นี้ ได้เรียบเรียงมาจาก : https://www.javatpoint.com/software-engineering-software-maintenance-cost-factors
ปัจจับสำคัญในการบำรุงรักษา Software
- ปัจจัยด้านเทคนิค
- ปัจจัยอื่นๆ ที่ไม่ใช่เรื่องเทคนิค
Non-Technical Factors
Application Domain หรือ การนำแอพพลิเคชั่นนั้นไปใช้งานอย่างไร
- หากแอปพลิเคชันของโปรแกรมได้รับการกำหนดและเข้าใจเป็นอย่างดี ความต้องการของระบบอาจอยู่ในขั้นสุดท้ายและการบำรุงรักษาเนื่องจากความต้องการที่เปลี่ยนแปลงให้เหลือน้อยที่สุด
- หากแบบฟอร์มเป็นแบบฟอร์มใหม่ทั้งหมด มีแนวโน้มว่าเงื่อนไขเริ่มต้นจะถูกแก้ไขบ่อยครั้ง เมื่อผู้ใช้ได้รับประสบการณ์กับระบบ
Staff Stability การเข้าๆ ออกๆ ของทีมงาน
- มันเป็นเรื่องง่ายสำหรับผู้เขียนโปรแกรมต้นฉบับที่จะเข้าใจและเปลี่ยนแปลงแอปพลิเคชัน แทนที่จะต้องเข้าใจบุคคลอื่นที่ต้องเข้าใจโปรแกรมโดยการศึกษารายงานและรายการรหัส
- หากการนำระบบไปใช้ยังคงรักษาระบบนั้นไว้ ค่าใช้จ่ายในการบำรุงรักษาก็จะลดลง
- ในทางปฏิบัติ คุณลักษณะของวิชาชีพการเขียนโปรแกรมคือการที่บุคคลเปลี่ยนงานเป็นประจำ เป็นเรื่องปกติที่ผู้ใช้รายหนึ่งจะพัฒนาและบำรุงรักษาแอปพลิเคชันตลอดอายุการใช้งาน
Software Lifetime หรือ อายุการใช้งาน
โปรแกรมจะล้าสมัยเมื่อโปรแกรมล้าสมัยหรือฮาร์ดแวร์เดิมถูกเปลี่ยน และค่าใช้จ่ายในการแปลงเกินกว่าค่าใช้จ่ายในการเขียนใหม่
Dependence on External Environment หรือ การพึ่งพาสภาพแวดล้อมภายนอก
- หากการใช้งานขึ้นอยู่กับสภาพแวดล้อมภายนอก จะต้องปรับเปลี่ยนตามสภาพอากาศที่เปลี่ยนแปลง
- ตัวอย่างเช่น:
- การเปลี่ยนแปลงในระบบภาษีอาจจำเป็นต้องแก้ไขโปรแกรมบัญชีเงินเดือน การบัญชี และการควบคุมสินค้าคงคลัง
- การเปลี่ยนแปลงด้านภาษีเกิดขึ้นเกือบบ่อยครั้ง และค่าบำรุงรักษาสำหรับโปรแกรมเหล่านี้สัมพันธ์กับความถี่ของการเปลี่ยนแปลงเหล่านี้
- โปรแกรมที่ใช้ในการประยุกต์ทางคณิตศาสตร์โดยทั่วไปไม่ได้ขึ้นอยู่กับมนุษย์ที่เปลี่ยนแปลงสมมติฐานที่โปรแกรมนั้นใช้เป็นหลัก
Hardware Stability หรือ ความมั่นคง ความเสถียรของฮาร์ดแวร์
- หากแอปพลิเคชันได้รับการออกแบบให้ทำงานบนการกำหนดค่าฮาร์ดแวร์เฉพาะ และการกำหนดค่านั้นไม่มีการเปลี่ยนแปลงในระหว่างอายุการใช้งานของโปรแกรม จะไม่มีค่าใช้จ่ายในการบำรุงรักษาเนื่องจากการเปลี่ยนแปลงฮาร์ดแวร์
- การพัฒนาฮาร์ดแวร์เพิ่มขึ้นมากจนเกิดสถานการณ์เช่นนี้ได้ยาก
- จะต้องเปลี่ยนแอปพลิเคชันให้ใช้ฮาร์ดแวร์ใหม่ทดแทนอุปกรณ์ที่ล้าสมัย
Techinical factors ปัจจัยทางด้านเทคนิค
Module Independence ความเป็นอิสระของโมดูล
- ควรเป็นไปได้ที่จะเปลี่ยนหนึ่งหน่วยโปรแกรมของระบบโดยไม่ส่งผลกระทบต่อหน่วยอื่น
Programming Language หรือ ภาษาโปรแกรมที่ใช้
- โดยทั่วไปโปรแกรมที่เขียนด้วยภาษาการเขียนโปรแกรมระดับสูงมักจะเข้าใจได้ง่ายกว่าโปรแกรมที่เขียนด้วยภาษาระดับต่ำ
Programming Style หรือ สไตล์การเขียนโปรแกรม
- วิธีการเขียนโปรแกรมมีส่วนทำให้โปรแกรมมีความเข้าใจและสามารถแก้ไขได้ง่าย
Program Validation and Testing หรือ การตรวจสอบและทดสอบโปรแกรม
- โดยทั่วไปแล้ว เวลาและความพยายามถูกใช้ไปกับการตรวจสอบการออกแบบและการทดสอบโปรแกรมมากขึ้น จุดบกพร่องในโปรแกรมก็น้อยลง และส่งผลให้ค่าบำรุงรักษาที่เกิดจากการแก้ไขจุดบกพร่องก็ลดลง
- ค่าบำรุงรักษาเนื่องจากการแก้ไขจุดบกพร่องจะเป็นไปตามประเภทของข้อผิดพลาดที่จะซ่อมแซม
- โดยทั่วไปข้อผิดพลาดในการเขียนโค้ดมักจะถูกในการแก้ไข ข้อผิดพลาดในการออกแบบมีราคาแพงกว่า เนื่องจากอาจรวมถึงการเขียนหน่วยโปรแกรมหนึ่งหน่วยขึ้นไปใหม่ด้วย
- ข้อบกพร่องในข้อกำหนดของซอฟต์แวร์มักจะมีราคาแพงที่สุดในการแก้ไขเนื่องจากมีการออกแบบที่รุนแรงซึ่งโดยทั่วไปเกี่ยวข้อง
Documentation หรือ เอกสารประกอบ
- หากโปรแกรมได้รับการสนับสนุนด้วยเอกสารที่ชัดเจน สมบูรณ์แต่กระชับ ฟังก์ชันในการทำความเข้าใจแอปพลิเคชันก็สามารถเชื่อมโยงได้อย่างตรงไปตรงมา
- ค่าใช้จ่ายในการบำรุงรักษาโปรแกรมมีแนวโน้มที่จะน้อยกว่าสำหรับระบบที่ได้รับรายงานอย่างดี มากกว่าสำหรับระบบที่มาพร้อมกับเอกสารที่ไม่เพียงพอหรือไม่สมบูรณ์
Configuration Management Techniques หรือ เทคนิคการจัดการ การตั้งค่าต่างๆ
- ต้นทุนสำคัญประการหนึ่งของการบำรุงรักษาคือการติดตามเอกสารของระบบทั้งหมดและรับรองว่าเอกสารเหล่านี้จะถูกเก็บไว้อย่างสม่ำเสมอ
- การจัดการการกำหนดค่าที่มีประสิทธิภาพสามารถช่วยควบคุมต้นทุนเหล่านี้ได้
Views: 69