1 selecting cots products using a requirements-based approach jaelson castro, carina alves centro de...

60
1 Selecting COTS Products Using a Requirements- Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

Upload: carol-may

Post on 23-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

1

Selecting COTS Products Using a Requirements-Based

Approach

Jaelson Castro, Carina Alves

Centro de Informática

Universidade Federal de Pernambuco

Page 2: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

2

Motivations

Development of large and complex systems

Reusable components or COTS

The potential benefits of using COTS are increased product reliability and stability, at shorter development time and reduced cost.

Page 3: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

3

What is COTS?

Commercial-Off-The-Shelf

There is no agreed definition

“ COTS are products: that are sold, leased or licensed to the general public; that is usually available without source code; that is supported and evolved by the vendor who returns

the intellectual property rights ”

Software Engineering Institute

Page 4: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

4

COTS-Based Development (CBD)

Large incentives from industry and academia

Improved productivity and quality of software development

Emphasizes the acquisition and integration of COTS components over in-house development

Page 5: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

5

Main Characteristics of CBD

The nature of COTS suggest new life cycle models

The success of COTS-based systems largely depends on the successful selection of software products

Page 6: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

6

COTS-based systems life cycle

Evaluation Selection Adaptation Integration Update

??

?

Page 7: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

7

The Evaluation Process

Consists of determining the quality of a product in the context of its intended use

Decision making

Must accommodate uncertainty

Evaluation activities can span the entire lifetime of systems

Page 8: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

8

The Selection Process

Critical activity for COTS-Based systems

Oriented by evaluation criteria

COTS candidates must satisfy user requirements

Includes an accurate understanding of the features of each product

Page 9: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

9

The Adaptation Process

COTS are Plug and Pray

Development of all necessary software adapters and enhancements to the selected COTS

Component Wrapping – includes a software barrier around the components; limiting what it can do

Page 10: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

10

The Integration Process

Includes all development efforts required to interconnect different COTS into a single integrated system

Consists of developing additional parts not supported by available products

Conventional development efforts

Page 11: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

11

The Update Process

Like other systems, COTS-based systems need successive updates

Repair an error

New required functionality

Acquisition of new releases

Page 12: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

12

Current Problems with COTS-Based Development

Products from different vendors have to be integrated and tailored to provide complete system functionality

Customers have limited access to product´s internals design

COTS lifecycle is determined by vendorWhen using COTS products, customers are placed

in a situation over which they have no control

Page 13: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

13

The impact of these problems can be minimized if adequate attention is paid to the

process of COTS evaluation and selection

Page 14: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

14

The importance of the Selection Process

Includes the understanding of user requirements

Careful analysis of the capabilities and limitations of each COTS candidate

Assessment of products´ quality

Page 15: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

15

Main Dimensions of the Selection Process

Page 16: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

16

Selection Process Challenges

Lack of well defined process Use of inappropriate evaluation criteria Back-box nature of COTS components Unclear system expectations Rapid rate of changes of COTS

This means that any evaluation will typically have some degree of error

Page 17: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

17

Related WorksProduct

IdentificationRequirements

AcquisitionNon-

functional requirements description

Product evaluation

Decision making analysis

OTSO(Off-The-Shelf Option)

- -

STACE(Social-Technical Approach to COTS Evaluation)

* - *

PORE(Procurement-Oriented Requirements Engineering)

*

Address fully * Deals with the issue but not fully – does not deal with the issue

Page 18: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

18

The lack of a careful consideration of non-functional requirements increases the

risks of COTS failure and costs of the final system

Page 19: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

19

Our Contribution

An approach that addresses the lack of requirements engineering methods during COTS evaluation/selection

Focus on non-functional requirements analysis to assist the evaluation of COTS products

Page 20: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

20

The CRE Method

A systematic, repeatable and requirements-driven approach

Iterative process of requirements acquisition/

modeling and product evaluation/selection

Page 21: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

21

CRE Iterative Process

Time

Number Increasing number and detail of requirements statements

Decreasing number of candidate products

The selection is made by rejection, products that do not meet user requirements are eliminated

Page 22: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

22

CRE Main Features

Goal oriented - each phase is oriented by predefined goals

CRE provides templates that include some guidelines

Interactive phases – The order is not rigid

Page 23: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

23

The CRE Templates

Template 1

Goals:

Final result:

Information and requirements to be acquired:

Steps / sequence:

Important considerations:

Page 24: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

24

The Phases

Identification – identify core requirements and candidates COTS products

Description – Describe each product and user requirements

Evaluation – Analyze products compliance with requirements

Acceptance – Verify legal issues

Page 25: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

25

Identification Define selection goals, include analysis

of influencing factors

User Requirements

User Requirements

Application Architecture

Application Architecture

Products availability

Products availability

Organization infrastructure

Organization infrastructure

Project objectives and restrictions

Project objectives and restrictions

MetasMetasGoals

Evaluation Criteria

Functional Requirements Non-functional Requirements Architecture Issues Domain Issues Vendor Guaranties Market variables Products Features Legal Issues

Page 26: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

26

Identification Evaluation criteria definition

Elicitation of critical requirements Interviews and questionnaires techniques

COTS product searching Possible sources: in-house libraries, Internet,

magazines, conferences, vendors.

Final result - list with all COTS candidates

Page 27: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

27

Description Evaluation criteria must be elaborated in detail

Non-functional requirements play an important role to discriminate between similar functional products (ex. flexibility, reliability, portability)

It is usually difficult to check if a product satisfies non-functional requirements

Use NFR Framework to refine these requirements

Page 28: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

28

Description

Feedback mechanism – information exchange between requirements process and products description

<originates>

<allows>

<originates>

<allows>

Requirements Elicitation

Products Description

Products Search

Requirements Description

Page 29: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

29

Description Requirements document is elaborated

containing (all) relevant information about stakeholders needs

Requirements Document

Req_ID <unique identifier>

Type <functional, non-functional>

Description <information about requirement>

Priority <vary from 1 to 4>

Contributions <can interact in synergy and conflict>

Comments <additional observations>

Page 30: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

30

Description CRE method provides situation rules to

deal with requirements conflictIF <condition> THEN <action>

If Strong_Confl [Req1,Req2] and Req1_Prio > Req2_Prio

Then Deal with Req1

Else If Strong_Confl [Req1,Req2] and Req2_Prio > Req1_Prio

Then Deal with Req2

Page 31: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

31

Description Checklist to help the elicitation of product

information

Checklist

Products Aspects Vendor Aspects

Price Maturity

Conformance with quality standards

Time delivery

Capacities Stability

Benefits Training

Constraints Reputation

Version control Support quality

Page 32: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

32

Evaluation

Use of appropriate techniques to assist decision-making process

WSM (Weighted Scoring Method) Simple but results are not accurate

AHP (Analytic Hierarchy Process) Complex use, provides more confidence in

decisions

Page 33: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

33

WSM - Weighted Scoring Methodnj=1

( weight * scoreaj )Scorea =

Where a represents an alternative and n the number of criteria

Conformance Score Priority Weight

Does not meet the requirement

0 Low 1

Meets with restrictions

1 Medium 2

Partially meets 2 High 3

Meets 3 Very High 4

Page 34: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

34

AHP (Analytic Hierarchy Process)

Select Product

Product A Product B Product C

Goal

Criteria

Alternatives

Vendor GuarantiesCost UsabilityFunctionalities

Page 35: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

35

Evaluation

Perform product demonstration sessions to obtain detailed information about COTS features and limitations

Obtain products compliance score with evaluation criteria

Important step during decision-making process

Page 36: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

36

Evaluation

The cost of each COTS alternative extends the acquisition price

Apply cost estimation models

COCOTS proposed by B. Boehm Provides a model to estimate the

associated costs of COTS integration

Page 37: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

37

Acceptance

Negotiation of legal issues with COTS vendors

A license should minimally specify: License grant Payments to the supplier Who owns the licensed product The risks and liability each party assumes

Page 38: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

38

Main Contributions

An effective approach to guide the selection of COTS products

An iterative process of requirements acquisition and product evaluation

Including a detailed description of non-functional requirements

Support for decision-making analysis

Page 39: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

39

Future Work

Detailed treatment of requirements prioritization and negotiation

The interplay between software architecture and the selection of multiple COTS

Page 40: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

40

Non-Functional Requirements (NFR)

Address important issues of quality for software systems

Related to constraints on system services Play critical importance during system

development Have a global impact on systems Referred as “ilities”

Page 41: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

41

NFRs Main Features

Subjective interpreted and evaluated differently by different

people

Relative importance may vary depending on the particular

system

Interacting Attempts to achieve one NFR can hurt or help the

achievement of other

Page 42: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

42

Non-functional requirements can be difficult to deal with, yet dealing with NFRs can be vital for the success

of a software system

Page 43: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

43

Non-Functional Requirements

There is not a unique definition or complete list of non-functional requirements

Different researchers use different terminology

Previous works Bohem, 1976 Roman, 1985 Keller, 1990 Standards ISO, ANSI, IEEE

Page 44: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

44

Efficiency requirements

Performance requirements

Types of Non-Functional Requirements [sommerville 92]

Non-functional requirements

Usability requirements

Reliability requirements

Capacity requirements

Legal constraints

Economic constraints

Interoperability requirementsSafety requirements

External requirementsProduct requirementsProcess requirements

Delivery requirements

Implementation requirements

Standards requirements

Page 45: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

45

The NFR Framework

Proposed by Chung, University of Toronto

Systematic and global representation of NFRs

Process-oriented approach

Qualitative approach

Represents NFRs explicitly as softgoals

Page 46: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

46

Main Characteristics

Softgoals - are the basic unit for representing non-functional requirements

Interdependencies - state interrelationships among softgoals

Methods - offer operationalization techniques

Correlations - provide catalogues for inferring possible interactions

Page 47: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

47

The notion of Softgoals

A goal that has no clear definition

Qualitative reasoning

Degrees of satisfaction

Interact in synergy or conflict

Decomposed through AND or OR relationship AND - the softgoal is satisfied if all of its sub-goals are OR - the softgoal is satisfied if any of its sub-goals are

Page 48: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

48

NFR Framework can be used to

Acquire knowledge about: the particular domain functional requirements particular kinds of NFRs

Identify particular NFRs for the domain

Decompose NFRs

Identify operationalizations (satisfice)

Page 49: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

49

Using the NFR Framework (cont.)

To deal with: ambiguities tradeoffs and priorities interdependencies among NFRs

Select operationalizations

Support decisions (design rationale)

Evaluate the impact of decisions

Page 50: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

50

Catalogues

Present knowledge about NFRs Sources of knowledge: specialists, developers,

textbooks, developer guides, etc. Provide a broad range of expertise Types of catalogues:

NFR types (organize NFRs into specialized hierarchies)

method (refine NFRs considering operationalizations) correlation (show implicit interdependencies)

Page 51: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

51

Catalogue of some NFR types

Performance

NFR Types

TimeSpace

Security

ConfidentialityIntegrityAvailability

Accuracy Completeness

Page 52: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

52

Softgoal Interdependency Graph (SIG)

Secure system

Integrity of system

Availability of system

Confidentiality of system

AND contribution

Identification ofUser

Authorization ofUser

Operationalization

OR contribution

Page 53: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

53

Implicit Interdependency SIG - Softgoal Interdependency Graph

Secure [system]

Integrity [system]

Availability [system]

Confidentiality [system]

Identification [user]

Authorization [user]

User-friendly [system]

Accessibility [capacities]

Learnability [user]

Simplicity [interface]

-

negative interdependency

Page 54: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

54

Dealing with Priorities

Priority softgoals can be identified as: Critical – vital for the success of the system Dominant – deal with a significant part of the

organization workload

Make appropriate tradeoffs among softgoals

Page 55: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

55

Identifying a Softgoal as a Priority SIG - Softgoal

Interdependency Graph

Secure [system]

Integrity [system]

Availability [system]

Confidentiality [system]

Identification [user]

Authorization [user]

User-friendly [system]

Accessibility [capacities]

Learnability [user]

Simplicity [interface]

-

Priority Softgoal

+

Simplicity [interface]

!

Page 56: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

56

Recording Design Rationale

Design decisions should be supported by well-justified arguments

Reasons can be stated for making refinements, for selecting an alternative, etc.

A Claim softgoal can rationalize tradeoffs

Page 57: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

57

Recording Design Rationale SIG - Softgoal Interdependency

Graph

Secure [system]

Integrity [system]

Availability [system]

Confidentiality [system]

Identification [user]

Authorization [user]

User-friendly [system]

Accessibility [capacities]

Learnability [user]

Simplicity [interface]

-

Claim Softgoal

+

Simplicity [interface]

!Claim [User authorization will not hurt system simplicity much]

++

Page 58: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

58

Selecting among alternatives

The refinement process continues until the possible solutions are sufficiently detailed

Evaluate the impact of decisions

Consider operationalizations and decide whether a chosen alternative meets a softgoal sufficiently

Page 59: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

59

Evaluating the Impact of Decisions

Bottom-up process

Evaluation of softgoals are represented by labels (such as and X)

Positive contribution A satisficed offspring results in a satisficed parent A denied offspring results in a denied parent

Negative contribution A satisficed offspring results in a denied parent A denied offspring results in a satisficed parent

Page 60: 1 Selecting COTS Products Using a Requirements-Based Approach Jaelson Castro, Carina Alves Centro de Informática Universidade Federal de Pernambuco

60

Identifying a Softgoal as a Priority - SIG

Secure [system]

Integrity [system]

Availability [system]

Confidentiality [system]

Identification [user]

Authorization [user]

User-friendly [system]

Accessibility [capacities]

Learnability [user]

Simplicity [interface]

-

+

Simplicity [interface]

!Claim [User authorization will not hurt system simplicity much]

++

X