CRUD เป็นเพียงสร้างอ่านอัปเดตลบแอปพลิเคชัน
ตัวติดตามบั๊กก็เป็นแอพ CRUD เช่นกัน สร้างข้อบกพร่องอ่าน (แสดง) ข้อบกพร่องอัปเดตข้อบกพร่องและอาจจะลบพวกเขา
อย่างไรก็ตามมีตัวติดตามข้อผิดพลาดมากกว่า CRUD
- นักพัฒนาไม่ได้รับอนุญาตให้ทำเครื่องหมายข้อผิดพลาดที่ตรวจสอบหรือปิดซึ่งเป็นส่วนหนึ่งของงานของ QA ดังนั้นจึงมีรหัสบางส่วนเพื่อให้แน่ใจว่าคนที่ขาดบทบาทของการประกันคุณภาพไม่สามารถทำเครื่องหมายข้อบกพร่องเป็นปิดหรือตรวจสอบแล้ว
- ไม่มีใครยกเว้นผู้จัดการโครงการสามารถลบบั๊กได้จริง
- เพื่อให้ข้อผิดพลาดที่จะทำเครื่องหมายว่า "ทดสอบฉัน" จะต้องมีอย่างน้อยหนึ่งการกระทำของรหัสต่อข้อผิดพลาด
- เฉพาะข้อบกพร่องที่อยู่ในสถานะ 'ปิด' เท่านั้นที่อาจถูกย้ายไปที่สถานะ 'เปิดใหม่'
- นักพัฒนาซอฟต์แวร์ที่ได้รับมอบหมายข้อผิดพลาดไม่สามารถย้ายจาก 'ตรวจสอบรหัส' เป็น 'ตรวจสอบโค้ดเสร็จสมบูรณ์'
- QA และผู้พัฒนาสามารถเห็นบั๊กในโครงการที่ได้รับมอบหมายเท่านั้น
รหัสที่ใช้ด้านบนเป็นตรรกะทางธุรกิจของแอปพลิเคชัน
ข้อ จำกัด ของเวิร์กโฟลว์หรือผู้ที่สามารถทำการดำเนินการต่าง ๆ ใน CRUD นี่คือสิ่งที่แยกแอป CRUD หนึ่งแอปออกจากแอปอื่น พวกเขาเป็นส่วนที่คุณต้องการที่จะได้รับธุรกิจที่จริงบอกว่าวิธีการทำงานของแอพลิเคชัน ตรรกะเป็นอย่างไรกัน ... ดีที่กล่าวถึงที่ดีที่สุดกว่าเบียร์ออกจากหูของผู้จัดการโครงการ แต่นั่นคือเหตุผลทางธุรกิจอะไร
แน่นอนว่าเป็นไปได้ที่จะเขียนแอป CRUD ที่ 'บริสุทธิ์' โดยที่ไม่มีบทบาททุกอย่างสามารถแก้ไขและดูได้ - แต่สิ่งเหล่านี้เป็นข้อยกเว้นมากกว่ากฎ
ตรรกะทางธุรกิจเป็นตรรกะที่คุณเขียนลงในโปรแกรมของคุณเพื่อจัดการกับกฎเกณฑ์ทางธุรกิจที่คุณได้รับ
เมื่อคุณเริ่มใช้กฎเกณฑ์ทางธุรกิจสิ่งนี้มีแนวโน้มที่จะอยู่ในระดับที่สูงกว่าตัวของตัวเองหรือตรรกะทางธุรกิจ นี่เป็นสิ่งที่คุณได้รับจากนักวิเคราะห์ธุรกิจที่ทำงานกับธุรกิจนี้
ลองพิจารณาในตัวอย่างนี้โปรแกรมที่กำหนดวิธีจัดการการส่งคืนสินค้าที่โต๊ะรับคืนในร้านค้า
- หากใบเสร็จรับเงินเท่ากับหรือมากกว่า 90 วันอาจได้รับเครดิตร้านค้าเท่านั้น
- หากใบเสร็จรับเงินมีอายุน้อยกว่า 90 วันให้เครดิตการประกวดราคาที่ใช้ในการซื้อพร้อมกับ (เครดิตกลับไปที่บัตรเครดิตเงินสดจะกลับเป็นเงินสดในเครดิตของร้านค้าจะเป็นเครดิตในร้านค้า) ... เว้นแต่จะเป็น เป็นเช็คซึ่งในกรณีนี้ใช้เงินสด
นี่เป็นกฎทางธุรกิจบางอย่าง พวกเขาไม่ได้พูดกับส่วน CRUD ของแอปพลิเคชัน
เมื่อทำงานกับกฎเกณฑ์ทางธุรกิจคุณมักพบสิ่งเหล่านี้เขียนในเอ็นจินกฎ (ตัวอย่างเช่นWindows Workflow Foundation Rules Engine ) แทนที่จะเขียนโค้ดดิบในระบบของคุณ
ตระหนักดีว่าตรรกะ / กฎแตกต่างเป็นหนึ่งในคำศัพท์และสามารถโต้เถียงได้ตลอดทั้งคืน (ดีกว่าเบียร์อีกครั้ง) แม้ว่านี่จะไม่ใช่ความแตกต่างที่ผิดปกติ แต่ทั้งสองสามารถผสมผสานกัน