1 / 15

Software Requirements Analysis

Software Requirements Analysis. www.AssignmentPoint.com. Lecture7 Analysis Concepts and Principles. Overview.

duff
Download Presentation

Software Requirements 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. Software Requirements Analysis www.AssignmentPoint.com www.assignmentpoint.com

  2. Lecture7 Analysis Concepts and Principles Overview After system engineering is completed, software engineers need to look at the role of software in the proposed system. Software requirements analysis is necessary to avoid creating a software product that fails to meet the customer's needs. Data, functional, and behavioral requirements are elicited from the customer and refined to create a specification that can be used to design the system. Software requirements work products must be reviewed for clarity, completeness, and consistency. www.assignmentpoint.com

  3. Requirements Analysis • Software engineering task that bridges the gap between system level requirements engineering and software design. • Provides software designer with a representation of system information, function, and behavior that can be translated to data, architectural, and component-level designs. • Expect to do a little bit of design during analysis and a little bit of analysis during design. www.assignmentpoint.com

  4. Figure:-7.1:- Analysis as a bridge between system engineering and software design System engineering Software requirements analysis Software design www.assignmentpoint.com

  5. Software Requirements Analysis Phases • Problem recognition • Evaluation and synthesis (focus is on what not how) • Modeling • Specification • Review www.assignmentpoint.com

  6. Software Requirements Elicitation • Customer meetings are the most commonly used technique. • Use context free questions to find out customer's goals and benefits, identify stakeholders, gain understanding of problem, determine customer reactions to proposed solutions, and assess meeting effectiveness. • If many users are involved, be certain that a representative cross section of users is interviewed. www.assignmentpoint.com

  7. Facilitated Action Specification Techniques (FAST) • Meeting held at neutral site, attended by both software engineers and customers. • Rules established for preparation and participation. • Agenda suggested to cover important points and to allow for brainstorming. • Meeting controlled by facilitator (customer, developer, or outsider). • Definition mechanism (flip charts, stickers, electronic device, etc.) is used. • Goal is to identify problem, propose elements of solution, negotiate different approaches, and specify a preliminary set of solution requirements. www.assignmentpoint.com

  8. Quality Function Deployment (QFD) • Translates customer needs into technical software requirements. • Uses customer interviews, observation, surveys, and historical data for requirements gathering. • Customer voice table (contains summary of requirements) • Normal requirements (must be present in product for customer to be satisfied) • Expected requirements (things like ease of use or reliability of operation, that customer assumes will be present in a professionally developed product without having to request them explicitly) • Exciting requirements (features that go beyond the customer's expectations and prove to be very satisfying when they are present) • Function deployment (used during customer meetings to determine the value of each function required for system) • Information deployment (identifies data objects and events produced and consumed by the system) • Task deployment (examines the behavior of product within it environment) • Value analysis (used to determine the relative priority of requirements during function, information, and task deployment) www.assignmentpoint.com

  9. Use-Cases • Scenarios that describe how the product will be used in specific situations. • Written narratives that describe the role of an actor (user or device) as interaction with the system occurs. • Use-cases are designed from the actor's point of view. • Not all actors can be identified during the first iteration of requirements elicitation, but it is important to identify the primary actors before developing the use-cases. www.assignmentpoint.com

  10. www.assignmentpoint.com

  11. Analysis Principles • The information domain of the problem must be represented and understood. • The functions that the software is to perform must be defined. • Software behavior must be represented. • Models depicting information, function, and behavior must be partitioned in a hierarchical manner that uncovers detail. • The analysis process should move from the essential information toward implementation detail. www.assignmentpoint.com

  12. Information Domain • Encompasses all data objects that contain numbers, text, images, audio, or video. • Information content or data model (shows the relationships among the data and control objects that make up the system) • Information flow (represents the manner in which data and control objects change as each moves through the system) • Information structure (representations of the internal organizations of various data and control items) www.assignmentpoint.com

  13. Intermediate data and control Output object(s) Input object(s) Transform #1 Transform #2 Figure:7.2:-Information flow and transformation Data/control store www.assignmentpoint.com

  14. Modeling • Data model (shows relationships among system objects) • Functional model (description of the functions that enable the transformations of system objects) • Behavioral model (manner in which software responds to events from the outside world) www.assignmentpoint.com

  15. Partitioning • Process that results in the elaboration of data, function, or behavior. • Horizontal partitioning is a breadth-first decomposition of the system function, behavior, or information, one level at a time. • Vertical partitioning is a depth-first elaboration of the system function, behavior, or information, one subsytem at a time. www.assignmentpoint.com

More Related