ความต้องการที่คุณเขียนไม่ได้มีลักษณะของความต้องการที่ดี โดยเฉพาะมันไม่เหนียวแน่นไม่ใช่อะตอมและไม่โปร่งใส เนื่องจากขาดคุณสมบัติเหล่านี้จึงไม่สามารถตรวจสอบได้ง่าย
ข้อกำหนดสถานะเริ่มต้นของคุณคือ:
ชื่อไฟล์ที่ดาวน์โหลดอาจมีอักขระที่ไม่ใช่ ASCII และการประมวลผลจะไม่ทำให้แอปพลิเคชันเสียหาย
ฉันขอแนะนำให้ลบ "... และการประมวลผลนี้จะไม่ทำให้แอปพลิเคชันเสียหาย" หากคุณมีความต้องการที่ชิ้นส่วนของซอฟต์แวร์ต้องทำบางสิ่งบางอย่างฉันคิดว่ามันโอเคที่จะทำให้สมมติฐานที่ว่ามันควรจะทำโดยไม่ต้องชนซอฟต์แวร์
สิ่งนี้จะแปลงความต้องการเป็น:
ชื่อไฟล์ที่ดาวน์โหลดอาจมีอักขระที่ไม่ใช่ ASCII
ตอนนี้คุณมีข้อกำหนดที่เหนียวและอะตอมแล้ว อย่างไรก็ตามฉันไม่แน่ใจว่ามันไม่คลุมเครือ ในคำถามของคุณคุณพูดถึงรูปแบบที่แตกต่างกันจำนวนหนึ่ง มีตัวเลือกน้อย
บางคนขอแนะนำข้อกำหนดที่แยกต่างหากและไม่ซ้ำกันสำหรับการเข้ารหัสชื่อไฟล์แต่ละไฟล์ที่ต้องรองรับ สิ่งนี้จะสนับสนุนข้อกำหนดที่เหนียวแน่น, เป็นอะตอม, ตรวจสอบย้อนกลับได้, ไม่คลุมเครือและตรวจสอบได้ นอกจากนี้ยังจะช่วยให้ระบุความสำคัญของข้อกำหนดแต่ละรายการได้ง่ายขึ้น - บางทีการสนับสนุนการเข้ารหัสบางอย่างมีความสำคัญมากกว่าหรือจำเป็นในไม่ช้า
ผู้อื่นอาจแนะนำตารางของรูปแบบที่รองรับและข้อกำหนดนี้จะเชื่อมโยงไปยังตาราง มันจะเสร็จสมบูรณ์น้อยลง (คุณมีประโยคที่เป็นข้อความและตารางที่จะรักษา) แต่พวกเขาจะอยู่ในเอกสารหรือฐานข้อมูลเดียวกัน อย่างไรก็ตามหากคุณกำลังจะทำการเชื่อมโยงในเครื่องมือการจัดการความต้องการพวกเขาสามารถเชื่อมโยงเข้าด้วยกันเพื่อให้การเปลี่ยนแปลงหนึ่งจะเน้นความต้องการเชื่อมโยง นอกจากนี้ยังอนุญาตให้ข้อความไหลไปยังซอฟต์แวร์แพ็กเกจอื่น ๆ ตามที่เป็นอยู่ แต่มีตารางที่แตกต่างกันสำหรับการเข้ารหัสที่แตกต่างกัน
แม้ว่าคุณจะจัดทำเอกสารข้อกำหนดอย่างไรนั้นขึ้นอยู่กับความต้องการเฉพาะของคุณ