1 / 45

Requirements Engineering Fundamentals: Elicitation to Analysis

Learn about eliciting, modeling, negotiating, and validating software requirements. Explore scenario-based modeling, negotiation activities, and the importance of validating requirements. Enhance your skills in analyzing requirements for software development.

dwilkins
Download Presentation

Requirements Engineering Fundamentals: Elicitation to Analysis

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UNIT-II Requirements Engineering - Prof. Prasad Mahale

  2. Syllabus • ELICITING REQUIREMENTS • BUILDING THE REQUIREMENTS MODEL • NEGOTIATING REQUIREMENTS • VALIDATING REQUIREMENTS • REQUIREMENTS ANALYSIS • SCENARIO-BASED MODELING • REQUIREMENTS MODELING STRATEGIES • FLOW-ORIENTED MODELING • DATA MODELING CONCEPTS • CLASS BASED MODELING • SRS.

  3. ELICITING REQUIREMENTS(also called requirements gathering) • Collaborative Requirements Gathering Basic guidelines: • Meetings are conducted and attended by both software engineers and other stakeholders. • Rules for preparation and participation are established. • An agenda is suggested that is formal enough to cover all important points but informal enough to encourage the free flow of ideas. • A “facilitator” (can be a customer, a developer, or an outsider) controls the meeting. • A “definition mechanism” (can be work sheets, flip charts, or wall stickers or an electronic bulletin board, chat room, or virtual forum) is used. For Example- Safe Home Security Software

  4. Quality Function Deployment QFD identifies three types of requirements • Normal requirements (graphical displays, specific system function, level of performance) • Expected requirements(ease of interaction, operational correctness, s/w installation) • Exciting requirements(multi touch screen, visual voice mail) • Usage Scenarios (use cases) • Elicitation Work Products

  5. BUILDING THE REQUIREMENTS MODEL • Elements of the Requirements Model • Scenario-based elements • Class-based elements • Behavioral elements • Flow-oriented elements • Analysis patterns

  6. NEGOTIATING REQUIREMENTS Boehm defines a set of negotiation activities are defined: • Identification of the system or subsystem’s key stakeholders. • Determination of the stakeholders’ “win conditions.” • Negotiation of the stakeholders’ win conditions to reconcile them into a set of win-win conditions for all concerned (including the software team).

  7. VALIDATING REQUIREMENTS

  8. VALIDATING REQUIREMENTS • A review of the requirements model addresses the following questions: • Is each requirement consistent with the overall objectives for the system/product? • Have all requirements been specified at the proper level of abstraction? That is, do some requirements provide a level of technical detail that is inappropriate at this stage? • Is the requirement really necessary or does it represent an add-on feature that maynot be essential to the objective of the system?

  9. VALIDATING REQUIREMENTS • Does each requirement have attribution? That is a source (generally, a specific individual) noted for each requirement? • Do any requirements conflict with other requirements? • Is each requirement achievable in the technical environment that will house the system or product? • Is each requirement testable, once implemented? • Does the requirements model properly reflect the information, function, and behavior of the system to be built?

  10. Is each requirement bounded and unambiguous? • Has the requirements model been “partitioned” in a way that exposes progressively more detailed information about the system? • Have requirements patterns been used to simplify the requirements model? Have all patterns been properly validated? Are all patterns consistent with customer requirements?

  11. REQUIREMENTS ANALYSISRequirements Modeling: Scenarios, Information, and Analysis Classes • Overall Objectives and Philosophy

  12. Requirements Analysis • Requirements analysis • specifies software’s operational characteristics • indicates software's interface with other system elements • establishes constraints that software must meet • Requirements analysis allows the software engineer (called an analyst or modeler in this role) to: • elaborate on basic requirements established during earlier requirement engineering tasks • build models that depict user scenarios, functional activities, problem classes and their relationships, system and class behavior, and the flow of data as it is transformed.

  13. REQUIREMENTS ANALYSIS 2. Analysis Rules of Thumb • The 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 requirements model should add to an overall understanding of software requirements and provide insight into the information domain, function, and behavior of the system. • Delay consideration of infrastructure and other nonfunctional models until design. • Minimize coupling throughout the system. • Be certain that the requirements model provides value to all stakeholders. • Keep the model as simple as it can be.

  14. REQUIREMENTS ANALYSIS 3. Domain Analysis

  15. 3. Domain Analysis • Define the domain to be investigated. • Collect a representative sample of applications in the domain. • Analyze each application in the sample. • Develop an analysis model for the objects.

  16. 4. Requirements Modeling Approaches

  17. SCENARIO-BASED MODELING • Creating a Preliminary Use Case • What to write about? • Refining a Preliminary Use Case • Can the actor take some other action at this point? • Is it possible that the actor will encounter some error condition at this point? • Is it possible that the actor will encounter some other behavior at this point (e.g., behavior that is invoked by some event outside the actor’s control)? • Writing a Formal Use Case

  18. REQUIREMENTS MODELING STRATEGIES

  19. Data Flow Diagram • DFD is a graphical representation of the “flow” of data through as information system. • DFD’s can also be used for the visualizing and data processing. • It views a system as a function that transform the input into desired output. • The DFD is one of the methods that system analysts use to collect information necessary to determine information system requirements.

  20. DFD Symbols and Definitions • Process - performs some action on data, such as creates, modifies, stores, delete, etc. Can be manual or supported by computer. • Data store - information that is kept and accessed. May be in paper file folder or a database. • External entity - is the origin or destination of data. Entities are external to the system. • Data flow - the flow of data into or out of a process, datastore or entity Process Data store External Entity Data flow

  21. DFD: Numbering Levels • In a DFD with many levels it’s easy to forget which level you are on. • That’s why each level has different numbering for the processes on the diagram. • The ‘level’ corresponds to the number of decimal places required to define a process in it. Here’s how it works: • Context Diagram Process labeled “0” • Level 0 Processes labeled 1.0, 2.0, 3.0, . • Level 1 Processes labeled 1.1, 1.2, 1.3, . • Level 2 Processes labeled 1.11, 1.12,...

  22. Level 0 DFD/ Context Level

  23. Level 1 DFD

  24. Level 2 DFD

  25. Top (0) Process Level

  26. Level 1: Membership

  27. Level 2: Membership

  28. FLOW-ORIENTED MODELING • Creating a Data Flow Model

  29. FLOW-ORIENTED MODELING

  30. FLOW-ORIENTED MODELING

  31. FLOW-ORIENTED MODELING • Creating a Control Flow Model • The Control Specification

  32. The Process Specification

  33. DATA MODELING CONCEPTS • Data Objects • Data Attributes • Relationships

  34. CLASS-BASED MODELING • Identifying Analysis Classes • Specifying Attributes • Defining Operations • Class-Responsibility-Collaborator (CRC) Modeling • Classes • Responsibilities • Collaborations • Associations and Dependencies

  35. Software Requirement Specification • The Software Requirements Specification is produced at the conclusion of the analysis task. • Other information pertinent to requirements • States the goals and objectives of the software • Detailed description of the problem that the software must solve • Solve the problem is presented in the Functional Description • Validation Criteria is probably the most important and ironically • The specification includes a Bibliography and Appendix

More Related