requirement elicitation

Software requirements elicitation:

Software requirements elicitation is the practice of collecting requirements of a system from users, customers and stockholders.
Problems in requirements elicitation :

1) Problems of scope : System boundary is not well defined, that may lead to unnecessary design information, or necessary design information may left out.

2) Problems of understanding : It occurs in following way -

  • Users have incomplete understanding of their needs.
  • Analysts have poor knowledge of the problem domain.
  • User and analyst (engineer) speak different languages, which may cause improper understanding by analyst of user's requirements.
  • Different users may have conflicting needs of their needs.
  • Different users may have different view of their needs.
  • Requirements are often uncertainty expressed, e.g. “System must be user friendly”.

3) Problems of volatility : Requirements evolve over time, either because of changing needs or because of changing perceptions by the stakeholders.

Requirements elicitation methods:

1) Dealing with the problem of lack of user input
  • Structured and Unstructured Interview with stakeholders
  • Template document for keywords

2) Define precise system requirements
  • Requirements should be meaningful,  precise and realistic

New techniques for requirements elicitation:

1) Training sessions to eliminate “lack of user input” and “poor understanding”
2) Recording keywords
3) Pictorial representation of needs and wants to reduce language barriers
4) Keyword Mapping
5) Operational definition extraction

More topics from Software Engineering to read
Software Engineering covered following topics in Software Engineering.
Python Programming ↓ 👆
Java Programming ↓ 👆
JAVA covered following topics in these notes.
JAVA Programs
Principles of Programming Languages ↓ 👆
Principles of Programming Languages covered following topics in these notes.

Previous years solved papers:
A list of Video lectures References:
  1. Sebesta,”Concept of programming Language”, Pearson Edu 
  2. Louden, “Programming Languages: Principles & Practices” , Cengage Learning 
  3. Tucker, “Programming Languages: Principles and paradigms “, Tata McGraw –Hill. 
  4. E Horowitz, "Programming Languages", 2nd Edition, Addison Wesley

    Computer Organization and Architecture ↓ 👆

    Computer Organization and Architecture covered following topics in these notes.

    1. Structure of desktop computers
    2. Logic gates
    3. Register organization
    4. Bus structure
    5. Addressing modes
    6. Register transfer language
    7. Direct mapping numericals
    8. Register in Assembly Language Programming
    9. Arrays in Assembly Language Programming


    1. William stalling ,“Computer Architecture and Organization” PHI
    2. Morris Mano , “Computer System Organization ”PHI

    Computer Network ↓ 👆
    Computer Network covered following topics in these notes.
    1. Data Link Layer
    2. Framing
    3. Byte count framing method
    4. Flag bytes with byte stuffing framing method
    5. Flag bits with bit stuffing framing method
    6. Physical layer coding violations framing method
    7. Error control in data link layer
    8. Stop and Wait scheme
    9. Sliding Window Protocol
    10. One bit sliding window protocol
    11. A protocol Using Go-Back-N
    12. Selective repeat protocol
    13. Application layer
    1. Andrew S. Tanenbaum, David J. Wetherall, “Computer Networks” Pearson Education.
    2. Douglas E Comer, “Internetworking with TCP/IP Principles, Protocols, And Architecture",Pearson Education
    3. KavehPahlavan, Prashant Krishnamurthy, “Networking Fundamentals”, Wiley Publication.
    4. Ying-Dar Lin, Ren-Hung Hwang, Fred Baker, “Computer Networks: An Open Source Approach”, McGraw Hill.