มุ่งเน้นไปที่สิ่งที่และเหตุผลและหลีกเลี่ยงวิธีเมื่อเขียนเรื่องราวของผู้ใช้
สิ่งที่คุณเผชิญคือการออกกำลังกายที่ดีมากสำหรับนักพัฒนาทั้งหมด ความสามารถในการแสดงความต้องการอย่างง่ายเงื่อนไขทางธุรกิจเป็นทักษะที่สำคัญ
คุณควรมุ่งเน้นไปที่ข้อกำหนดทั่วไปเช่น "ต้องสามารถเลือกได้เพียงรายการเดียวจากรายการแบบหล่นลงของวัตถุเพื่อให้ผู้ใช้สามารถเปิดใช้งานการกระทำของ Foo" แทนที่จะระบุด้วยการใช้ combobox หรือกล่องรายการหรืออะไรก็ตามที่เรียกรูทีนเฉพาะ .
อีกวิธีหนึ่งในการเข้าถึงสิ่งนี้ก็คือการทำท่าเหมือนฐานรหัส / เฟรมเวิร์คที่เป็นกล่องดำเกือบสมบูรณ์ เมื่อใดก็ตามที่คุณพบว่าพูดว่า "ใช้ object XYZ" คุณสามารถตรวจสอบตัวเองได้โดยถามว่าคุณจะรู้เรื่องนี้ในระบบกล่องดำหรือไม่
อัปเดต:
IMO ไม่เป็นไรที่จะใส่รายละเอียดลงในกรณีใช้งานซึ่งระบุระดับรายละเอียดที่จำเป็นสำหรับข้อมูล ตัวอย่างเช่นระบบการลงทะเบียนเป็นเกมที่ยุติธรรมที่จะระบุ
- นามสกุล; ฟิลด์ที่จำเป็น
- ชื่อ; ฟิลด์ที่ต้องระบุ
- ID บัญชี; ระบบไม่จำเป็นต้องสร้างอินพุต
- สัญญาณโหราศาสตร์; ฟิลด์ตัวเลือก - (ข้อเสนอแนะ) ให้การค้นหาจากการป้อนวันเกิด?
- ฯลฯ ....
กุญแจสำคัญคือคุณไม่ได้ระบุวิธีการทางเทคนิคสำหรับข้อมูลนั้น หากคุณพบว่าพูดว่า "ใช้คลาส String / อักขระอาร์เรย์ / หรือ varchar ฟิลด์" สำหรับนามสกุลคุณก็รู้ว่าคุณกำลังระบุตัวตนมากเกินไป
หากคุณพูดได้หลายภาษาให้ใช้สองภาษาที่แตกต่างกันเป็นการทดสอบสารสีน้ำเงินของคุณ ตัวอย่างเช่นสตริงใน C โดยทั่วไปจะเป็นอาร์เรย์ char (นักแสดง) ในขณะที่ C ++, Java และ C # (โอเคและเกือบทุกคนอื่น ๆ ... ) มีสตริงเหมือนวัตถุจริง หากคุณพบว่าข้อกำหนดของคุณไม่ถูกต้องโดยใช้หนึ่งในภาษาเหล่านั้นคุณจะรู้ว่าคุณระบุไว้มากเกินไป
เป็นที่น่าสังเกตว่าฉันใช้คำว่าUse Case โดยเฉพาะเมื่อเทียบกับเรื่องราวของผู้ใช้ถึงแม้ว่าตัวแปรที่ฉันใช้ท้ายจะเป็นลูกผสมของทั้งคู่ เป้าหมายการใช้งานของฉันคือการให้ภาพรวมของสิ่งที่เกิดขึ้น (เรื่องราวของผู้ใช้ในแง่ที่เข้มงวดที่สุด) แต่จากนั้นทำงานผ่านนักแสดงระบบและฟังก์ชั่นทั่วไปที่จำเป็น แนวทางของฉันใกล้เคียงกับสิ่งที่ฟาวเลอร์แนะนำในบทความวิกิพีเดียนั้นซึ่งตรงข้ามกับแนวทางของเบิร์นเบิร์น
ดังนั้นฉันจะมีกรณีการใช้งานครั้งเดียว (หรือมากกว่านั้น) สำหรับสถานการณ์การลงทะเบียนหรือรายการงาน ถ้ามันซับซ้อนจริงๆฉันจะแบ่งมันออกเป็นทวีคูณ แต่นั่นไม่ใช่เรื่องใหญ่ กรณีการใช้งานนั้นสามารถแบ่งออกเป็นงานส่วนบุคคลตามความจำเป็น สิ่งที่โยนลงไปในการต่อสู้เฉพาะนั้นขึ้นอยู่กับตัวแปรจำนวนมาก แต่ไม่มีอะไรในวิธีการนี้ที่ป้องกันไม่ให้คุณมีองค์ประกอบที่สามารถสาธิตได้ในตอนท้ายของการต่อสู้