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


