Requirements engineering Process Elicitation anal ysis ecification Validation
Requirements Engineering Process Elicitation Analysis Specification Validation
Requirements elicitation Elicitation is to gather Functions that the system should perform Non-functional requirements that the system should exhibit Elicitation is critical but difficult Customers are not good at describing what they want Software engineers are not good at understanding what customers want Customers and software engineers speak different languages Problemy 理解的 期望的
Requirements Elicitation • Elicitation is to gather Functions that the system should perform Non-functional requirements that the system should exhibit • Elicitation is critical but difficult Customers are not good at describing what they want Software engineers are not good at understanding what customers want Customers and software engineers speak different languages {Problem} 理解的 期望的
Elicitation Approaches Brainstorming Gather stakeholders, collect ideas and prun Interviewing Formal or informal interviews with stakeholders Strawman/Prototype GUI. flow charts ofUS Testable User Story
Elicitation Approaches • Brainstorming Gather stakeholders, collect ideas and prune • Interviewing Formal or informal interviews with stakeholders • Strawman/Prototype GUI, flow charts of UIs • Testable User Story • …
Requirements analysis, Why? Requirements analysts have to understand the system from each stakeholders point of view Stakeholders have different views of the system Requirements analysts resolve conflicting views Requirements analysts prioritize requirements Essential requirements Desirable requirements Optional requirements
Requirements Analysis, Why? • Requirements analysts have to understand the system from each stakeholder's point of view Stakeholders have different views of the system • Requirements analysts resolve conflicting views • Requirements analysts prioritize requirements Essential requirements Desirable requirements Optional requirements
Requirements analysis roa Determine the scope of the software Categorization, negotiation, and decision Few established fixed approaches Large amount of mental work based on domain knowledge
Requirements Analysis • Goal Determine the scope of the software • Categorization, negotiation, and decision: Few established fixed approaches Large amount of mental work based on domain knowledge