Requirements Engineering for Web Applications SR: System Vision Document Written by key stakeholders An executive summary of the solution A high-level description of the problem that the system will address as a set of issues stated in business terms. The list of stakeholders and users of the system with their descriptions, concerns, and responsibilities. A list of features of the system expressed in business terms. A list of system constraints described in business terms. A list of nonfunctional constraints related to overall enterprise environment, including development standards and processes of the organization, limitation in cost or resources, etc. SR: User-Stories An effective intermediate step to the use cases A half-day workshop with representative of the user community Ask them to write up what they expect the possible interactions of the various users with the system are as stories Not give the users too much time to write stories. User stories are a throwaway artifact, not maintained. Used as a basis for system use cases Good for user experience model User story example SR: Use Case Model - 1 Actors System use case A role played by a person or system that is external to the system but interacts with it. A sequence of actions that describe the interaction between the actors and the system for a specific task or function Use case model UML diagrams and the use case definitions A synthetic view of the functionality of the system Use case template SR: Use Case Model - 2 Objectives of the use case model Produce diagrams that represent the actors and their relationships (actor diagrams) Produce diagrams that represent the use cases with the actors and their relationships (use case diagrams) Organize the use cases into packages that map to the conceptual categorization of the system functions Initial UML diagram of actors Actor Model Actor Model SR: Use Case Model - 3 Use the following to produce first draft of use cases User stories Business use case model Business object model Vision document Organize use cases into “business packages”, each of which contributes to the realization of a specific business function Use case model: Acct Mngmnt Use case Model: Store Front Use case model: Maintenance Use case model: Organization Use case model: mind map Browse Catalog Review shopping cart Create Account Store front Use Cases User Acct Mngt Manage Account Sign in Checkout Maintenance Manage Users Sign out Use case model: system boundary Browse Catalog Create Account Anonymous User Review shopping cart Sign in Manage Account Checkout Registered Buyer Sign out Manage Users Admin Credit Card System Use case: sequence diagram SR: Use Case Model - 4 Refine use cases Use a template for use case definition Remove any ambiguity Resolve conflicts Use the business rules to identify alternative paths in the use cases Add concepts that are pertaining to the system, but the business to the business/system glossary SR: Test cases As soon as the use cases are defined, test designer should start identifying Test scenarios Test cases Preparing of test cases can also help in validating use cases SR: Summary Artifacts of SR Vision document User stories Use case definition Use case model System glossary Use case packages