• No results found

Requirement Analysis

N/A
N/A
Protected

Academic year: 2020

Share "Requirement Analysis"

Copied!
95
0
0

Loading.... (view fulltext now)

Full text

(1)

UNIT-II

(2)

Software requirement

The

software requirements are

description of

features and functionalities

of the

target

system

.

Requirements

convey the expectations of users

from the software product.

The requirements can be

obvious or hidden

,

known or unknown

,

expected or unexpected

(3)

Requirement Engineering

The process to gather the software requirements

from client, analyze and document them is known

as requirement engineering.

The goal of requirement engineering is to develop

(4)

Understanding

Requirement

Engineering

Or

(5)

Requirement engineering consists of

seven

different tasks as follows:

1. Inception (Beginning)

2. Elicitation

3. Elaboration (Explanation or Expansion)

4. Negotiation

5. Specification

6. Validation

(6)

1. Inception

At project inception, we establish a basic

understanding of the problem, the people who want a solution, the nature of the solution that is desired and the effectiveness of preliminary communication

(7)

2. Elicitation

In requirements engineering,

requirements elicitation is the practice of collecting the requirements of a system from users, customers and other stakeholders.

It asks the customer, the user, and others what the objectives

(8)

Problem of scope

:

The customer gives the

(9)

Problem

of

understanding:

Poor

understanding between the customer and the

developer regarding various aspect of the

project like capability, limitation of the

(10)

Problem of volatility:

In this problem, the

requirements change from time to time and it

(11)

3. Elaboration (Explanation or Expansion

)

In this task, the information taken from the customer

during inception and elicitation are expanded and refined during elaboration.

Its main task is developing a refined requirements

model that identifies various aspects of software functions, feature and constraints.

Elaboration is driven by the creation and refinement

(12)
(13)

4. Negotiation(Cooperation)

It is common for different customers or users to propose

conflicting requirements, arguing that their version is “essential for our special needs”.

We have to resolve these conflicts through a process of negotiation.

Customers, users and other stakeholders are asked to rank requirements and then discuss conflicts in priority.

(14)

5. Specification

In the context of computer based systems, the term

specification means different things to different

people.

A specification can be a written document, a set of

(15)
(16)

6. Validation

The work product is built as an output of the

requirement engineering and that is assessed for the quality through a validation step.

Requirement validation examines the specification

(17)

7. Requirement management

It is a set of activities that help the project team to

identify, control and track the requirements and changes can be made to the requirements at any time of the ongoing project.

These tasks start with the identification and assign a

unique identifier to each of the requirement.

After finalizing the requirement traceability table is

(18)
(19)

FEASIBILITY STUDY

The

objective of feasibility study

is

to establish

the reasons for developing software that is

acceptable to users, adaptable to change, and

conformable to established standards

.

Various other objectives of feasibility study are

(20)

1. Analyze whether the

software will meet

organizational requirements or not.

2. Determine whether the software can be

implemented

using current technology and

within the specified budget and schedule or

not.

3. Determine whether the software can be

(21)

Types of Feasibility

Various

types of feasibility

that are

commonly considered include

Technical Feasibility,

(22)
(23)

Technical Feasibility

Technical feasibility performs the tasks listed

below:

Analyzes the technical skills and capabilities of

software development team members.

Determines whether the relevant technology is

stable and established or not.

Determine that the technology chosen for software development has large number of users

(24)

Operational Feasibility

operational feasibility performs the tasks listed

below:

Determines whether the problems proposed in user

requirements are of high priority or not.

Determines whether the solution suggested by

software development team is acceptable or not.

Analyzes whether users will adapt to new software or

not.

Determines whether the organization is satisfied by

(25)

Economic Feasibility

Economic feasibility determines whether the required software is capable of generating financial gains for an organization or not.

Software is said to be economically feasible if it focuses on the issues listed below:

Cost incurred on software development produces

long-term gains for an organization.

Cost required conducting full software

investigation (such as requirements elicitation and requirements analysis).

(26)
(27)
(28)

Functional

and

(29)

The definition of a functional requirement is:

Any requirement which specifies what the system

should do.

In other words, a functional requirement will describe

a particular behavior of function of the system when certain conditions are met.

For example: “Send email when a new customer signs

(30)

A functional requirement for an everyday

object like a cup would be:

“ability to contain tea or coffee without

(31)
(32)

The definition of a non-functional requirement is :

“Any requirement which specifies how the system performs a certain function”

In other words, a non-functional requirement

will describe how a system should behave and what limits there are on its functionality.

Non-functional requirements generally specify the

(33)

for example: “Modified data in a database

should be updated for all users accessing it

within 2 seconds.”

A non-functional requirement for the cup

mentioned previously would be:

“contain hot liquid without heating up to

(34)

Typical non-functional requirements include:

• Performance – for example: response time, throughput, utilization • Scalability - the capacity to be changed in size or scale.

• Capacity • Availability • Reliability • Recoverability • Maintainability • Serviceability • Security • Regulatory • Manageability • Environmental • Data Integrity • Usability

(35)

Problems of requirements

Customers don't know what they want

Requirements change during the course

of the project

Customers have unreasonable timelines.

Communication gaps exist between

(36)

Problem 1:

Customers don't know what they

want

The

most

common

problem

in

the

(37)

Problem 2:

Requirements change during the

course of the project

The second most common problem with

software

projects

is

that

the

requirements defined in the first phase

(38)

Problem 3: Customers have unreasonable timelines

It's quite common to hear a customer say something like

"it's an emergency job and we need this project completed in X weeks".

(39)

In accepting an

unreasonable timeline

without discussion,

it leads

to

Doing your customer a disservice ( damage)

The project will either get delayed (because it wasn't possible to execute it in time).

(40)

Problem 4:

Communication gaps exist between

customers, engineers and project managers

Often, customers and engineers fail to communicate clearly with each other.

because they come from different worlds

do not understand technical terms in the same

way.

An important task of a project manager, especially during the requirements analysis phase is,

to ensure that both parties have a precise

(41)

Requirement Analysis

Requirements analysis is a software engineering task

that bridges the gap between system level software allocation and software design.

Requirement analysis allows the software engineer (i.e.

analyst)

to refine the software allocation

(42)

Finally, the requirement specification provides the

developer and the customer with the means to

(43)

Requirement analysis

divided into

five

areas:

1) Problem recognition

2) Evaluation and synthesis 3) Modeling

(44)

1. Problem Recognition

Initially the

system analyst

studies the system

specification of the software and project plan.

The analyst must establish contact with

management

,

technical staff,

customer

and

(45)

The

project manager

can serve as a

coordinator

for

establishment

of

communications paths.

The

goal of the analysis

is to reorganize the

basic problem elements which perceived by

(46)

2. Synthesis and evaluation

Problem evaluation and solution synthesis is the

next major area of effort for analysis.

The analyst

Must evaluate the flow and content of

information,

Define and expand all software function,

Understand software behavior in the context of

(47)

Throughout evaluation and solution synthesis the

analyst’s primary focus is on

“What must be

done”

but not on “How it will be done”.

For example,

What data does the

system produce and

consume

What functions must the

system perform

What

interfaces are define

and

(48)

3. Modeling

During the evaluation and solution synthesis

activities the analyst creates models of the system in an effort to better understand data and control flow, functions processing and behavior operation.

The model serves the foundation for software

(49)

4. Requirement Specification

1.

We need to develop rough prototype to check the basic functionality of the software.

2. If the major modules are not working properly

then the software might not satisfy the user.

(50)
(51)

Software Requirement

(52)

Requirement Gathering Techniques

Or

Requirements Elicitation for Software

Before

requirements can be analyzed,

modeled, or specified they must be

(53)

1.Initiating a Process of Requirement Gathering

The most commonly used

requirement gathering

technique

is to

conduct a meeting or interview

.

The

analyst start by asking context free questions

i.e. a set of questions that will lead to a basic

(54)

Analyst and customer arrange one meeting

,

in that meeting

customer gives the software

requirement

, based on that requirement

analyst asks some questions

to customer for

better understanding the requirement and

(55)

The

analyst can ask

following questions.

Who is behind the request for this system?

Who will use the solution?

What will be the economic benefit of a

successful solution?

Is there another source for the solution that

(56)

The next set of questions enables the analyst to gain

better understanding of the problem and the customer to voice about the solution.

The second set of questions can be how can you

characterize good output that would be generated by a successful solution of software.

What problems will this solution address?

(57)

The final set of questions focuses on the

effectiveness of the meeting, it is

called

Meta questions

.

Can anyone else provide additional

information?

Should I ask anything else about the

problem?

Are my questions relevant to the problem

that customer have?

(58)

2. Facilitated Application Specification

Techniques

(FAST)

Customers and software engineers have an

unconscious

“us and them”

mind-set.

With these problems in the mind that a

(59)

The basic guidelines for FAST approach are,

1) Meeting is conducted and attempted by both

software engineers and customers.

2) Rules for preparation and participation are established.

3) An agenda is suggested that is formal enough to cover all important points.

4) The goal is

to identify the problem,

proposed elements of the solution,

(60)

3. Quality Function Deployment (QFD)

Quality function deployment (

QFD) is a

quality management technique that

translates

the needs of the customer

(61)

QFD identifies

three types

of

requirements:

Normal requirements:

These represent the

objectives and goals

that

are stated for a product or system during

meeting with customer.

If these requirements are present, the

(62)

Expected requirements

These requirements are implicit to the product or

system and may be so fundamental that the

customer does not explicitly state them.

Their absence will be a cause for significant

dissatisfaction.

Exciting requirements

(63)

4. Use-Cases

As requirements are gathered as part of informal meetings, a software engineer can create a set of scenarios.

An actor represents a class of external entities that play just one role. Once actors have been identified, use-case can be developed. The use-case describes the manner in which an actor interacts with the

(64)

The use-case should be answer below

questions:

What main tasks or functions are

performed by an actor?

What system information will the actor

acquire, produce, or change?

Will the actor have to inform the system

about changes in the external

environment?

What information does the actor desire

from the system?

Does the actor wish to be informed

(65)

ANALYSIS PRINCIPLES

Investigators have identified analysis problems.

Each analysis method has a unique point of view.

All analysis methods are related by a set of

operational principles

– The information domain of a problem must be represented and understood

– The functions that the software is to perform must be defined

– The behavior of the software must be represented

– The models that depict information, function, and behavior must be partitioned in a manner that uncovers detail in a layered fashion

(66)

A set of

guiding principles

Understand the problem before you begin to

create the analysis model

Develop prototypes that enable a user to

understand how human/machine interaction

will occurs

Record the origin of an the reason for every

requirement

Use multiple view of requirements

Rank requirements

(67)

Analysis process:

• Based on the scope and nature of a particular software project,

requirement analysis is carried out by an independent business analyst or a team of analysts to capture requirements.

Requirements Scope

Stakeholder Identification

Requirements Elicitation / Requirements GatheringRequirement Analysis

Software Requirement Specification (SRS)

(68)

Requirements Scope

The scope and boundary of the proposed software solution is

(69)

Stakeholder Identification

Identifying stakeholders such as customers,

(70)

Requirements Elicitation / Requirements Gathering

Post identification of stakeholders, the tedious (boring)

process of eliciting requirements follows.

Based on the scope and nature of a particular software

solution there can be multiple stakeholders.

Interaction happens with stakeholder groups using various

(71)

Requirement Analysis

Once user data is gathered, structured analysis is carried out

(72)

Software Requirement Specification (SRS)

Once the captured data is analyzed these are put together in

the form of a software requirement specification document (SRS) or a system requirement specification (SYRS) document.

This document serves as a blueprint for the design or

(73)

Software Requirements Management

The final step of the requirements analysis process involves

validating all elements of the requirements specifications document.

Errors are corrected here and it can also accommodate minor

(74)

Analysis Model

Analysis model operates as a link between the 'system

description' and the 'design model'.

In the analysis model, information, functions and the

behaviour of the system is defined and these are translated into the architecture, interface and component level design in the 'design modeling'.

(75)
(76)

1. Scenario based element

This type of element represents the system user point of

view.

(77)
(78)
(79)
(80)

2. Class based elements

The object of this type of element manipulated by the system.It defines the object, attributes and relationship.

The collaboration is occurring between the classes.

Class based elements are the class diagram, collaboration

(81)
(82)
(83)

3. Behavioral elements

Behavioral elements represent state of the system and how it

is changed by the external events.

The behavioral elements are sequenced diagram, state

diagram.

(84)
(85)
(86)

4. Flow oriented elements

An information flows through a computer-based system it

gets transformed.

It shows how the data objects are transformed while they

flow between the various system functions.

The flow elements are data flow diagram, control flow

(87)
(88)

Analysis Rules of Thumb

The rules of thumb are must be followed while creating the

(89)

The rules are as follows:

The model focuses on the requirements in the business

domain. The level of abstraction (idea) must be high i.e. there is no need to give details.

Every element in the model helps in understanding the

(90)

The consideration of infrastructure and nonfunctional

(91)

For example, the database is required for a system, but the

classes, functions and behavior of the database are not

(92)

Throughout the system minimum coupling is required. The

(93)

The analysis model gives value to all the people related to

model.

The model should be simple as possible.

Because simple model always helps in easy understanding of

(94)
(95)

References

Related documents

Vitamin K metabolism in Coronavirus disease 2019 Extrahepatic vitamin K status is severely reduced in Covid-19 patients, reflected by elevated dp-ucMGP levels (34).. Reasons for

Analele Universit ăţ ii “Constantin Brâncu ş i” din Târgu Jiu, Seria Economie, Nr.. Necesitatea de a utiliza software- ul în modelarea

4 Electroquasistatic Fields from the Boundary Value Point of View Chapter 5 have surface charge distributions which adjust themselves so as to cause the net electric field on

individual’s PHI is held solely by BUSINESS ASSOCIATE or if BUSINESS ASSOCIATE is acting on behalf of UNIVERSITY to provide access to or a copy of an individual’s PHI, BUSINESS

Listed below are some questions you might want to ask about the long-term effects of breast cancer treatments that cause early menopause. What is known about the long-term effects

64 It is confusing because this is not clearly stated, and indeed both of the IA 1986 definitions (for unregistered companies, which is how partnerships are treated for the

The following diagram shows the standard keyboard key definitions when no NUM-LOCK or FUNC operation is active. The NUM-LOCK key toggles the keyboard in and out of