Wymóg, który napisałeś, nie ma cech dobrego wymagania . W szczególności nie jest spójny, nie jest atomowy i nie jest jednoznaczny. Z powodu braku tych cech nie jest to również łatwe do zweryfikowania.
Wymagany stan początkowy to:
Pobrana nazwa pliku może zawierać znaki spoza ASCII, a przetwarzanie tego nie spowoduje awarii aplikacji
Polecam usunięcie „... a przetwarzanie tego nie spowoduje awarii aplikacji”. Jeśli masz wymaganie, że oprogramowanie musi coś zrobić, myślę, że można założyć, że powinno to robić bez awarii oprogramowania.
Przekształca to wymaganie w:
Pobrana nazwa pliku może zawierać znaki inne niż ASCII
Teraz masz spójny i atomowy wymóg. Nie jestem jednak pewien, czy jest to jednoznaczne. W swoim pytaniu wymieniasz wiele różnych formatów. Istnieje kilka opcji.
Niektórzy zalecają osobne i unikalne wymagania dla każdego kodowania nazw plików, które muszą być obsługiwane. To najlepiej wspiera spójne, atomowe, identyfikowalne, jednoznaczne i weryfikowalne wymagania. Ułatwiłoby to również określenie znaczenia każdego wymagania - być może obsługa niektórych kodowań jest ważniejsza lub potrzebna wcześniej.
Inni mogą zalecić tabelę obsługiwanych formatów, a wymaganie to prowadzi do tabeli. Byłoby to mniej kompletne (masz zdanie tekstowe i tabelę do utrzymania), ale byłyby w tym samym dokumencie lub bazie danych. Jeśli jednak zamierzasz wykonać łączenie w narzędziu do zarządzania wymaganiami, można je połączyć ze sobą, aby zmiany w jednym z nich uwypukliły powiązane wymaganie. Pozwoliłoby to również na przepływ tekstu do innych pakietów oprogramowania, ale jest z inną tabelą dla różnych kodowań.
Sposób dokumentowania wymagań zależy jednak od konkretnych potrzeb.