📝 Requirements Engineering

📝 Requirements Engineering (Functional vs Non-Functional) 

         # Functional Requirements                                               
          • What system should do       
          • User actions / behavior     
          • Examples: Login, Add to Cart, Payment

           
         # Non-Functional Requirements                                     
         • How system should behave                                         
         • Quality / Performance                                                  
         • Examples: Load time < 2s, Handle 1000 users, Data security

🔹 What is Requirements Engineering?

Requirements Engineering (RE) ek process hai jisme software ke needs aur expectations ko identify, document, aur validate kiya jata hai.

  • Ye software development ka pehla aur crucial step hai.

  • Agar requirements clear nahi hongi → software failure ya customer dissatisfaction ho sakta hai.


🔹 Types of Requirements

1️⃣ Functional Requirements

  • Software ko kya kaam karna hai ye specify karte hain.

  • Directly user ke actions ya system behavior se related hote hain.

  • Example:

    • User login kar sake.

    • Product cart me add kar sake.

    • Payment process ho jaye.

  • Question: “System kya karega?” → Functional requirement ka jawab hai.


2️⃣ Non-Functional Requirements (NFR)

  • Software kaise kaam karega ye specify karte hain.

  • Quality, performance, usability, security, scalability se related hote hain.

  • Example:

    • App 2 seconds me load ho.

    • System 1000 concurrent users handle kare.

    • Data encrypted ho (Security).

  • Question: “System ka quality aur behavior kaisa hoga?” → NFR ka jawab hai.


🔹 Comparison Table

FeatureFunctional RequirementNon-Functional Requirement
DefinitionKya system karegaKaise system karega
FocusBehavior / ActionsQuality / Performance
ExamplesLogin, Add to Cart, PaymentResponse Time, Security, Reliability
TestingUnit / Integration TestingPerformance / Load / Security Testing

🔹 Importance

  • Clear requirements → Better design

  • Avoid ambiguity → Less rework & cost saving

  • Helps in Testing and Validation

0 Comments:

Post a Comment