Na wikipedii wygląda na to że ktoś rozbił wymagania niefunkcjonalne na : Wymagania pozafunkcjonalne + Wymagania ograniczeń, przez co wyszedł podział na trzy, zamiast na dwa, na najwyższym poziomie abstrakcji.
Pierwszy raz się z takim podziałem spotykam i bym się raczej wikipedią nie sugerował, bo ten cały akapit jest napisany kiepsko.
Zwykle przyjęło się dzielić wymagania na:
- funkcjonalne (ang functional requirements)
- niefunkcjonalne (Wymagania pozafunkcjonalne z wikipedii) (ang Quality Attributes/non-functional requirements)
Natomiast oprócz tego czynnikami które mają wpływ na architekturę są :
- ograniczenia (Wymagania ograniczeń z wikipedii) (ang constraints of the environment)
- zasady (ang design principles)
Jeśli chodzić o przykład dotyczące ograniczeń to:
- chociażby może być system operacyjny na którym dane rozwiązanie ma działać
- różne narzucone technologie przez daną organizację
- czas
- budżet
- zasoby