tailieunhanh - Lecture Software requirements engineering - Lecture­ 17: Elaboration & negotiation process

After this chapter the student should have acquired the following knowledge and skills: Structure analysis, flow oriented modeling, DFDs, CFD, processing narratives, elaboration process summary, negotiation process. | Elaboration & Negotiation Process Lecture-17 Recap Structure analysis Flow oriented modeling DFDs CFD Processing narratives Today’s lecture Elaboration process summary Negotiation process Elaboration Where it lies in RE process? Why we do it? What we do in it? How we do it? Object Oriented Approach 5 Scenario based modeling 6 Scenario based modeling - use case text 7 Scenario based modeling - Activity diagram Object Oriented Approach 8 Class modeling – Class diagram Object Oriented Approach 9 Class modeling – CRC modeling Object Oriented Approach 10 Behavioral modeling – state diagram Object Oriented Approach 11 Behavioral modeling – sequence diagram 12 Structured approach Flow oriented modeling - DFDs Things to remember during analysis 13 The analysis model should focus on requirements that are visible within the problem or business domain The level of abstraction should be relatively high Each element of the analysis model should add to an overall understanding of software requirements and provide insight into the following Information domain, function, and behavior of the system The model should delay the consideration of infrastructure and other non-functional models until the design phase First complete the analysis of the problem domain The model should minimize coupling throughout the system Reduce the level of interconnectedness among functions and classes The model should provide value to all stakeholders The model should be kept as simple as can be Requirements Management Validation Inception Elicitation Elaboration Negotiation Specification Negotiation as a process 15 Requirements negotiation Disagreements about requirements are inevitable when a system has many stakeholders. Conflicts are not ‘failures’ but reflect different stakeholder needs and priorities Requirements negotiation is the process of discussing requirements conflicts and reaching a compromise that all stakeholders can agree to In planning a requirements engineering process, it is important to leave enough time for negotiation. Finding an acceptable compromise can be time-consuming 16 Software Requirements Engineering Negotiation 17 During negotiation, the software engineer reconciles the conflicts between what the customer wants and what can be achieved given limited business resources Requirements are ranked (., prioritized) by the customers, users, and other stakeholders Risks associated with each requirement are identified and analyzed Rough guesses of development effort are made and used to assess the impact of each requirement on project cost and delivery time Using an iterative approach, requirements are eliminated, combined and/or modified so that each party achieves some measure of satisfaction Summary 18 Elaboration process summary Negotiation process