Requirements Analysis

Slides:



Advertisements
Similar presentations
Software Requirements
Advertisements

Lecture 8 Systems Analysis: Concept and Principles
Software Requirements
Analysis Concepts, Principles, and Modeling
Introduction to Software Engineering Dr. Basem Alkazemi
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Introduction to Software Engineering
1 / 26 CS 425/625 Software Engineering Software Requirements Based on Chapter 5 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed.,
Software Requirements
Analysis Modeling Over view of today’s lesson T he analysis model is the first technical representation of a system. Analysis modeling uses a combination.
7M701 1 Software Engineering Software Requirements Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 5
CS 425/625 Software Engineering Software Requirements
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Requirements Analysis Concepts & Principles
Software Requirements
Analysis Concepts and Principles
Introduction to Software Engineering Dr. Basem Alkazemi
Overview of Software Requirements
Analysis Concepts and Principle.
1 Requirements Analysis and Specification Requirements analysis.
Purpose of Requirements Analysis Process of discover, refinement, modeling, and specification o Bridge gap between system level SW allocation and design.
Software engineering Olli Alm Lecture 2: requirements, modelling & representation.
1 Requirements Analysis and Specification Requirements analysis.
7M822 Software Requirements Introduction 7 September 2010.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements 2.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 5 Slide 1 Requirements engineering l The process of establishing the services that the.
The Software Development Life Cycle: An Overview
Chapter 4 Requirements Engineering
S/W Project Management
CS 4310: Software Engineering Lecture 3 Requirements and Design.
CSI315 Web Applications and Technology Overview of Systems Development (342)
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements.
Business Analysis and Essential Competencies
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
소프트웨어공학 강좌 1 Chap 4. Software Requirements - Descriptions and specifications of a system - Soo-Mi Choi
Requirement Engineering Tasks Inception Elicitation Problems of scope Problems of understanding Problems of Volatility Elaboration Scenarios Negotiation.
Software Requirements Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn Lecture 4 & 5.
Chapter 11 Analysis Concepts and Principles
Lecture 7: Requirements Engineering
Lecture-3.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
Requirements Engineering Overview Senior Design Don Evans.
1 Chapter 11 Analysis Concepts and Principles. 2 Requirements Analysis.
1 Chapter 5 Lecture 5: Understanding Requirements Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman Slides.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Chapter 4 Software Requirements
L To identify the services that the customer requires from a system and the constraints under which it operates and is developed.
Requirements Validation
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
Requirements Engineering Requirements Elicitation Overview of Requirements Analysis.
Software Engineering Lecture 11: System Analysis.
Requirement Engineering
Requirements Analysis
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Software Engineering, COMP201 Slide 1 Software Requirements BY M D ACHARYA Dept of Computer Science.
Chapter: Requirement Engineering. Requirements Engineering  Requirement: A function, constraint or other property that the system must provide to fill.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
1 Software Requirements Descriptions and specifications of a system.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 6 Slide 1 Software Requirements (utvalgte foiler fra Kap 6 og 7 i Sommerville)
 System Requirement Specification and System Planning.
Chapter 4 – Requirements Engineering
Software Requirements
Chapter 4 – Requirements Engineering
Chapter 5 – Requirements Engineering
Software Requirements
Requirements Analysis
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

Requirements Analysis Bridges system analysis and software design Requirements provide SW designer with representation of information and functions easily translated to data, architecture, interface, and procedural design Requirements provide means to assess quality

Requirements Analysis Tasks Problem recognition Analyst studies system specs, software plan, reviews scope, establishes communication paths Elicitation Evaluation and synthesis of information Study externally observable objects, behaviors Understand behavior in terms of events that affect system, interface and uncover design constraints Synthesize solutions Focus on what not how Analysis and Modeling Better understand data and control flow (DFDs, CFDs) Function processing and behavioral operation and info content Serves as basis for specification

Requirements Analysis Tasks Possibly prototyping Documentation and definition Specification Serves as criteria for testing activities Can serve as a preliminary user manual Review and Validation Requirement analysis documents (specification and user’s manual or prototype) Software project plan reassessed Negotiation and Agreement and Acceptance Requirements Management

Requirements Engineering Process

Requirements Engineering Effort on Requirements and Analysis 10-20% Who: Analyst w/mgmt and technical staff of customer and system developer

Types of Requirements User Requirements System Requirements Statements in natural language plus diagrams of the services the system provides as well as operational constraints. Written for customers. System Requirements More detailed specifications of user requirements A structured document setting out detailed descriptions of the system services. Written as a contract between client and contractor. Specification A detailed software description which can serve as a basis for a design or an implementation. Written for designers.

Requirements Elicitation Initial contact with customer Context-free questions People: Who requested? Who uses? Feasibility: Economic benefit of solution? Another source for solution? Characterize usage scenarios and “good” output What problems will this solution address? Describe environment the solution is used in Special performance issues or constraints Right person to answer questions and how Discussion on FAST and Prototyping to elicit requirements

FAST – Facilitated Application Specification Techniques (when memos, formal position papers, docs, QA sessions don’t work) Team-oriented approach Customer and developer Goal: id problem, propose elements of solution, negotiate different approaches, specify preliminary set of solution requirements Neutral site Rules for preparation and participation established Agenda suggested Facilitator appointed Definition mechanism (worksheets, flipcharts, boards)

FAST Review request days before meeting Meeting Make a list of objects part of environment Surrounding system, produced by system, used by system List of operations (processes and functions) that manipulate or interact with objects List constraints and performance criteria Meeting Each presents list for critique/discussion Create combined list (no deletions) Discussion (shorten, lengthen, reword)

FAST Subteams -> mini-specifications Develop, present Combine draft (one or more will be assigned task of pulling materials together and writing it up)

Prototyping Purpose: establish formal reqs or provide continuum resulting in evolutionary development of production software RAPID Prototyping requires tool 4GTs Reusable software components Formal spec/prototyping environments

Prototyping Forms of prototypes varies depending on forms of analysis Paper spec of SW from functional analysis or requirements gathering through FAST Coded prototype (not fully functional!) Preliminary user manual Story boards

Steps in Prototyping Determine if project is good candidate App area, complexity, customer and project characteristics If dynamic visual displays Evolutionary prototyping heavy human interaction or combinatorial processing development Throwaway prototyping Conceptual development Need abbreviated representation of requirements and Design spec Focus on top level issues Prototype created, tested, refined (could be paper, storyboard) Present prototype to customer Repeat 4 and 5

The Requirements Document The requirements document is the official statement of what is required of the system developers Should include both a definition and a specification of requirements It is NOT a design document. As far as possible, it should set of WHAT the system should do rather than HOW it should do it

Definitions and specifications

Functional and Non-functional requirements Statements of services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations. Non-functional requirements Constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards, etc. Domain requirements Requirements that come from the application domain of the system and that reflect characteristics of that domain

Requirements completeness and consistency In principle requirements should be both complete and consistent Complete They should include descriptions of all facilities required Consistent There should be no conflicts or contradictions in the descriptions of the system facilities In practice, it is impossible to produce a complete and consistent requirements document

Requirements document structure Introduction Glossary User requirements definition System architecture System requirements specification System models System evolution Appendices Index

Guidelines Specification outline (one in text and one in handout) Representation FORMAT and content relevant to problem Use a standard format for all requirements General OUTLINE developed Info within specification NESTED Use text highlighting to identify key parts Symbology, language DEFINED Use consistent language. Avoid the use of computer jargon RESTRICT number of diagrams and notational forms REVISABLE REVIEW