Requirements Analysis

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Requirements Analysis as PDF for free.

More details

  • Words: 2,090
  • Pages: 43
Requirements Analysis

Commonly cited root causes of failure one third of the software projects (Standish Group, 1994)

• Lack of user input • Incomplete requirements and specifications • Changing requirements and specifications

Relative cost to repair a requirements error

100 Cost of repairing a requirements 10 error

1

0.1 Analysis

Design

Coding

Testing

Implementation

User Needs, Software Features, and Software Requirements • Software requirements reflect specific features of user needs. Arise when business or technical problems are faced Problem Domain

Solution Domain

Needs

A service that the system provides to fulfill stakeholders’ need

Features

•A software capability needed by the user to solve a problem to achieve an objective.

Software Requirements

•A software capability that must be met or possessed by the system or system component to satisfy a contract, standard, specification or other formally imposed documentation.

Classes of User Requirements (Sommerville, 1999)

• Enduring Requirements: Core and stable • Volatile Requirements: Change during development or operation of the s/w – Mutable requirements: change due to changes in the environment – Emerging requirements: appear as users begin using the s/w – Consequential requirements: appear when a computer system replaces a manual one. – Compatible requirements: appear when business processes change

Classes of User Requirements (Robertson, 2000)

• Conscious (users are aware of them) • Unconscious (users assume everyone knows them) • Undreamt of (user asks them when he realizes it is possible)

Sub-phases of Requirements Phase • Requirement gathering • Systems analysis Requirement gathering Effort Systems analysis

Time

Endemic Syndromes in requirement elicitation process • The “Yes, But” syndrome – stems from human nature and the users' inability to experience the software as they might a physical device

• The “Undiscovered Ruins” syndrome – the more you find, the more you know remain

• The “User and Developer” syndrome – reflects the profound differences between the two, making communication difficult

Difficulty in Understanding User Information Requirements • Limited rationality of human mind • The variety and complexity of information requirements • Complex pattern of interaction among user and analyst • Unwillingness of some users to provide requirements for political and behavioral reason

Limited Rationality of Human Mind • Humans are not very good information processors. • Limits on human short-term memory • Bias in selecting and using data – Anchoring and adjustment – Concreteness – Recency – Intuitive statistical analysis – Placing value on unused data

Strategies for Determining Information Requirements • Asking – Interviewing each user separately – Group meetings – Questionnaire Survey (Delphi Techniques)

• Deriving from an Existing Information System – Existing information system – System that is in operation in another, similar organization – System that is standardized and it exists in a package that can be adopted and customized – Systems described in textbooks, handbooks and alike

Strategies for Determining Information Requirements • Synthesis from the characteristics of utilized system – Input-process-output analysis – Decision analysis

• Discovering from Experimentation with an existing Information System – Prototyping

Selecting an Appropriate Strategy • • • •

Characteristics of the utilized system Complexity of the Information System Ability of the user to specify requirements Ability of the analysts to elicit and evaluate requirements

Prototyping Synthesis

derived Asking High

Low Level of overall uncertainty

Requirement Gathering Sub-phases • • • • • • •

Set the project scope Search for requirement Write requirements Verify and validate requirements Review the requirement specifications Prototype the requirement Reuse requirements

Work Context

Requirements for Prototype

Set the project scope

Prototype the requirement

Potential Requirement

Search for requirements

Formalized Requirement

Write the requirements

Verify and validate Reqmt

Reuse Requirements

Activities in Requirements Gathering Sub-phases

Requirements Specification

Reviewed Specification

Set the project scope

Set the Project Scope • Recognize the stakeholders of the project – The Client : Who pays for the development of the product – The Customer : Who is going to buy the product – The User : Who is going to operate the product – Management – The functional manager, the project sponsor, the project leaders. – Domain Analyst – Business consultant and analyst who has some specialized knowledge about the domain – Developers – System analysts, product designer, programmer, testers, database designers, technical writers.

– – – – – –

Marketing Personnel: (If the product is for sale) Legal Personnel: Lawyers Oppositions – People who do not want the product Professional bodies - who sets guidelines and norms Public – In case the product is for the general public Government Agencies – In case some information passes to the government – Special Interest Groups – Environmental groups, affected groups like workers, Senior citizens, religious and ethnic groups. – Technical Experts – Hardware and software experts

Set the Project Scope • Brainstorm the appropriate stakeholder • Determine the work context and the product scope – Product Purpose • Statement of purpose, business advantage, reasonableness, feasibility

– Requirement constraints • Solution Constraints : Specific h/w, s/w, design, interfacing with some existing product • Project constraints : Time and Cost

– Names, aliases, and definitions – The product scope • The activity that the user needs • Adjacent external systems and events they generate • Response of the system under study to these events

– Preliminary estimates of time cost and risks involved – Go / no-go decision

Search for Requirement • • • • • • • • • • • • •

Understand how the work responses are generated Apprenticing Observe abstract repeating pattern Interviewing the users Getting essence of the system Business event workshops Requirements workshops Brainstorming Study of documents Making Videos Using electronic media Storyboards Scenario Models

Prototyping the Requirements • Need not be a s/w – Drawings on a paper – Clip-charts – Use-cases on paper, white board or clipcharts

• With reference to adjacent external system events • With reference to major tasks the product is suppose to do

Write the requirements • Requirement template – Product constraints – Functional requirements – Non-functional requirements – Project issues

Functional Requirements • Functional requirements specify what the product must do to satisfy the basic reason for its existence. They are – – – – – – –

Specification of the products functionality The actions the product must take Derived from the basic purpose of the product Normally business oriented rather than technical Derived mostly from use case scenarios Not measurable or testable at this stage To be free from ambiguity

Non-functional requirements • The properties or the characteristics the software product must have to perform a task (functional requirements) – – – – – – – –

Look and feel requirement Usability requirement Performance requirements Operational requirements Maintainability requirements Security requirements Cultural and political requirements Legal requirements

Project Issues • • • • • •

Off-the-self solutions New problems Tasks Risks Costs User Documentation

Verify and Validate Requirements • Examining the requirements listed in requirement template to decide whether it should be included in the Requirement Specifications – Establish fit criteria (measurable scales) for each requirement – Test each requirement for completeness relevance and viability

Establish Fit Criteria • Fit criteria for – Functional Features Ex. The computed value shall agree with the specified scheme provided by the user

– Non-functional features Description: The product should not be offensive to Japanese Fit Criterion: The cartoons used should be certified by the Department of Japanese Studies

– Each use-case Description: Generate master production schedule Fit Criterion: The schedule will be made for a year and will be made for the refrigeration division and air conditioning division only.

– Each constraints Description: The product should be run on the windows operating system Fit Criterion: The product should be upward compatible from Windows 2000 onwards

Testing Requirements •

Completeness : Tests to find out missing requirements – Data Models: DFDs, ER diagrams, Class Diagrams – Object life history (or state) diagrams



Traceability : Tests for finding features to enhance traceability – – – – –



Unique Identifier for each requirement An indicator for the type of requirements References to all business events and use cases References to dependant requirements References to conflicting requirements

Consistent Requirements – Defining Terms – Using a term in a manner consistent with its specified meaning – Looking for inconsistencies



Relevance – To the purpose of the product

Testing Requirements • Viability – With specified constraints

• Solution boundedness – Should not be described in terms of a solution

• Gold Plating – Cost for providing a piece of information should not outweigh its value

• Creep – Searching for missed requirements – Review of the requirements process

• Conflicting – Requirements that are impossible or difficult to be implemented simultaneously

• Ambiguity – Making different interpretation of the same requirement

Reviewing the requirements specification • • • •

By the customer, the user, the analyst etc. Individually and jointly Doubts must be mitigated Resulting Document – User Requirements Specification (URS)

Reusing Requirements • Library of Generic Requirements

Traditional Tools for Requirements Gathering

Document flow charts • A document flow chart indicates the flow of documents from one department to the other. It brings light the following: – The number of copies of a document – The place (and/or the person) of origin of the document – The destination of the document (place and/or person) – The decisions and actions taken at various places (or by various persons) where the document is sent.

Why to use Document flow charts • Documenting the existing information system • Understanding the existing procedure of decision making • Convincing the client that the analyst has fully understood the system • Analyzing the good or bad points of the existing system – Identifying unnecessary movement of the documents – Identifying wasteful and time-consuming procedures – Suggesting new procedures

Symbols used in Document Flow Charts

Document

Flow of document

Document and its copies

Storage of Document

Related Documents

Annotation giving textual explanation

User Department Letter of Interest

Letter of Interest Sanction Letter

Deputy Director

DR F/A

Suppliers

Letter of Interest

Sanction for the purchased obtained

Letter of Interest Sanction Letter Funds Booking Done

Call for Quotation

Quotation

Comparative Statement

Sanction Letter

Mailed to suppliers

Quotation

Purchase Department

Tools for Representing Condition-Action Combination • • • • •

Logic Flow Charts Structured English Decision Table Decision trees …

Logic flow chart Start

No

Yes

Is it a textbook

Are funds available

Are funds available No Waitlist the book for next year

Yes

Yes

Buy the books

Buy the books

Finish

No Return the Reco to HOD

Structured English In the book is a textbook then if the funds are available then buy the book else waitlist the book for the next year endif else if the funds are available then buy the book else return the recommendation to the HOD endif endif

Decision tables • A compact way • Conditions defined in a binary way • Condition entries are yes/no type • The list of actions • Action entries are cross marked to indicate the appropriate action when a set of conditions are satisfied.

Conditions

Decision Rules

Text Books?

Y

Y

N

N

Funds Available?

Y

N

Y

N

Actions Buy Waitlist for next year Return to HOD

X

X X X

Removing Redundancies from the Decision tables • Identify two rules with same action. • If they differ in their condition entries in one row. They can be merged

Conditions

Decision Rules

Text Books?

-

Y

N

Funds Available?

Y

N

N

Actions Buy Waitlist for next year Return to HOD

X X X

Identifying Misspecification Using Decision Table • More than one cross mark for decision a rule (ambiguity) • No cross mark for a decision rule (missing action)

Conditions

Decision Rules

C1

Y Y N N

C2

Y N Y N

Actions A1

X

A2 A3 Ambiguity Missing Action

X X

X

Decision Table Hierarchy

Conditions

Decision Rules

Product is refrigerator?

Y

Actions Go to refrigerator Table Go to air conditioner Table

Conditions

Decision Rules

Order Quantity > 10

Y

Y

Delivery Time > 2 wks Y

N

Give 10 % discount Do not give discount

X X

Conditions

Decision Rules

N

Order Quantity > 5

Y

Y

N

-

Delivery Time > 4 wks

Y

N

-

Actions Give 20 % discount

N

Actions X

Give 10 % discount X

Give 5 % discount X

Do not give discount

X X X

Decision table vis-à-vis Logic Chart Start Y Math > 90%

N

Phy > 90%

Y Phy > 90%

N

Y

N

Y N Total > 80% Y

Admit on probation

Admit Stop

Do not Admit

Related Documents

Requirements Analysis
November 2019 10
Requirements
June 2020 18
Requirements
July 2019 25
Requirements
November 2019 34
Requirements
October 2019 41