Skip to main content

สัญญาการดำเนินงานคืออะไร?

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

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

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

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

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