सॉफ्टवेयर इंजीनियरिंग में Requirements को दो भागों में बाँटा जाता है:
ये आवश्यकताएँ यह बताती हैं कि सॉफ़्टवेयर क्या करेगा यानी उसका व्यवहार कैसा होगा।
ये आवश्यकताएँ यह बताती हैं कि सॉफ़्टवेयर कैसे काम करेगा – जैसे परफॉर्मेंस, सिक्योरिटी आदि।
बिंदु | Functional Requirements | Non-Functional Requirements |
---|---|---|
परिभाषा | सॉफ़्टवेयर क्या करेगा | सॉफ़्टवेयर कैसे करेगा |
उदाहरण | लॉगिन, सर्च, रिपोर्ट जनरेट | लोड टाइम, सिक्योरिटी, परफॉर्मेंस |
यूज़र इंटरैक्शन | सीधा | अप्रत्यक्ष |
महत्व | आवश्यक फीचर्स | गुणवत्ता और अनुभव |
जांच कैसे करें | Functional Testing | Performance / Security Testing |
एक सफल सॉफ़्टवेयर के लिए Functional और Non-Functional दोनों प्रकार की आवश्यकताएँ महत्वपूर्ण होती हैं। Functional यह तय करता है कि सिस्टम क्या करेगा, और Non-Functional तय करता है कि वो कार्य कैसे और कितनी गुणवत्ता के साथ करेगा।
Q: Functional और Non-functional में क्या मुख्य अंतर है?
A: Functional "क्या करेगा", Non-functional "कैसे करेगा"।
Q: Non-functional requirements जरूरी हैं?
A: हां, ये सिस्टम की गुणवत्ता, सुरक्षा और प्रदर्शन सुनिश्चित करते हैं।
Q: Functional requirements किसके लिए लिखी जाती हैं?
A: डेवलपर्स, टेस्टर्स और क्लाइंट सभी के लिए।