15
Towards a Model-based COTS-Aware Requirements Engineering Approach Lawrence Chung and Kendra Cooper MBRE ‘01

Towards a Model-based COTS-Aware Requirements Engineering Approach Lawrence Chung and Kendra Cooper MBRE ‘01

Embed Size (px)

Citation preview

Page 1: Towards a Model-based COTS-Aware Requirements Engineering Approach Lawrence Chung and Kendra Cooper MBRE ‘01

Towards a Model-based COTS-Aware Requirements Engineering Approach

Lawrence Chung and Kendra CooperMBRE ‘01

Page 2: Towards a Model-based COTS-Aware Requirements Engineering Approach Lawrence Chung and Kendra Cooper MBRE ‘01

Today...

Introduction (Why CARE?)Our Preliminary CARE ApproachCurrent State of the CARE ResearchConclusionsFuture Work

Page 3: Towards a Model-based COTS-Aware Requirements Engineering Approach Lawrence Chung and Kendra Cooper MBRE ‘01

Introduction - Why CARE?Standard COTS Approach (e.g. RUP)

Develop Requirements Develop Architecture Develop Detailed Design and Consider

COTSHere, COTS Components Must Meet Functional &

Non-functional Requirements AND Fit With the Architecture

Detailed Design Phase Is Too Late Difficult to Find COTS Components

Consider COTS in the Requirements Phase

Page 4: Towards a Model-based COTS-Aware Requirements Engineering Approach Lawrence Chung and Kendra Cooper MBRE ‘01

An Ideal CARE Approach

Customer “Satisficing” Flexibility of Customer Requirements Matching and Selecting COTS Components Goal-oriented

Method (or Process) BasedKnowledge-Based

Should Consider the Impact on Entire SDLC

Page 5: Towards a Model-based COTS-Aware Requirements Engineering Approach Lawrence Chung and Kendra Cooper MBRE ‘01

Our Preliminary CARE Approach

Baselined System Goals (with COTS)

RE

Initial Goals

Corrections to System Requirements

Corrections to Refined Requirements

Define System Agents

1

RE

Define HardwareRequirements

5

RE

Define InterfaceRequirements

6

Agents

Define System Goals

2

REDefine System Requirements

3

RE

Foreign Goals

Foreign Requirements

Initial System Concept

Define SoftwareRequirements

4

RE

Baselined System Req. (with COTS)

Updated ForeignGoals

UpdatedForeignReqs.

IDEF0

Page 6: Towards a Model-based COTS-Aware Requirements Engineering Approach Lawrence Chung and Kendra Cooper MBRE ‘01

Our Preliminary CARE Approach

Methodology Select Information System Example

Digital Library System Develop a System Level Specification Use a Middle Out Strategy

Start With Step “Define System Requirements” * Use Small Examples From the Library System

Define and Validate the Process Define the Knowledge-Base (repository)

Use i*, NFR, and IDEF0 notations

* Subsequent Steps: Define System Goals, Define System AgentsDefine Software, Interface, and Hardware Requirements

Page 7: Towards a Model-based COTS-Aware Requirements Engineering Approach Lawrence Chung and Kendra Cooper MBRE ‘01

Preliminary CARE Approach

WithinSchedule

WithinBudget

HighQuality

Validate System

CreateBaselined

System Reqswith COTS

Legend Decomposition Dependency

CreateSystem

Strategic Rational and Dependency Models for CARE

CreateBaselined

System Goalswith COTS

CreateBaselined

Software Reqs.with COTS

Create System Planning

Artifacts

Create System GoalsCreate System Requirements

Create Software Requirements

CustomerRequirements

Engineer

CreateSystem Product

Artifacts

i*

Page 8: Towards a Model-based COTS-Aware Requirements Engineering Approach Lawrence Chung and Kendra Cooper MBRE ‘01

Preliminary CARE Approach

i*

Create Baselined System Requirements (with COTS)

Legend Decomposition

CreateBaselined System

Reqs. (with COTS)

ElicitSystem Reqs.

AnalyzeSystem Reqs.

CorrectSystem Reqs.

DefineCOTS Reqs.

VerifySystem Reqs.

BaselineSystem Reqs.

ComponentRepository

System Requirementsss

ComponentRepository

SelectCandidate

Reqs.

Prelim.Search of

Repository

SelectComponent

DetailedSearch of

Repository

ComponentRepository

DetailedMatch of

Components

Prelim.Match of

Components

RequestChange to

Component

RequestChange to

Req.

MaintainComponents

ComponentRepository

TraceSystem Reqs.

Page 9: Towards a Model-based COTS-Aware Requirements Engineering Approach Lawrence Chung and Kendra Cooper MBRE ‘01

Preliminary CARE Approach

Example (Digital Library System)

Define System Goals Elicit Initial System Goal

Digital Library Should Comply With Current Standards

Refine System Goal Digital Library Should Comply With ANSI/NISO

Z39.50-1995 (version 3)

Baseline System Goals

Page 10: Towards a Model-based COTS-Aware Requirements Engineering Approach Lawrence Chung and Kendra Cooper MBRE ‘01

Preliminary CARE Approach

Define System Requirements (with COTS)

Elicit Initial System Requirements Select Candidate System Requirements Preliminary Search, Preliminary Match Detailed Search, Detailed Match

MatchBlue Angel, Metastar Gateway & Server Components Z39.50 version 3

Select Component Correct System Requirements Baseline System Requirements

Page 11: Towards a Model-based COTS-Aware Requirements Engineering Approach Lawrence Chung and Kendra Cooper MBRE ‘01

Current State of CARE

Addresses COTS at “Define System Goals” Step Validation Uses Another Example From

the Digital Library System The Example Is More complex:

Conflicting Set of Functional and Non-functional GoalsConfigurability of CHI, Performance, Cost,...

Page 12: Towards a Model-based COTS-Aware Requirements Engineering Approach Lawrence Chung and Kendra Cooper MBRE ‘01

Current State of CARE

GoalN

GoalN

System RequirementNSystem

RequirementNSystem RequirementN

InterfaceRequirementNHardware

RequirementNSoftwareRequirementN

SoftgoalN

GoalsF

SystemRequirementsF

Component 2GoalsF

SystemRequirementsF

Component n

GoalsF

SystemRequirementsF

Component 1

System Under Development(Native Goals, Native Requirements)

Component Repository(Foreign Goals, Foreign Requirements)

Mapping Native Goals and Requirements to Foreign Goals and Requirements

Mapping Native Goals to Foreign Goals Mapping Native System Requirements to Foreign System Requirements

Legend

Agent

Page 13: Towards a Model-based COTS-Aware Requirements Engineering Approach Lawrence Chung and Kendra Cooper MBRE ‘01

Current State of CARE

Relationships Among Native Goals and Softgoals

Librarians, Borrowers,System Administrators,Managers of Librarians and System Administrators

Procurement Office

System Administrators, Librarians, Borrowers(novice)

-2d

3a

4a

-5a

-

2a

-

2b 2c

+- -

-

- Librarians, Borrowers,

System Administrators,Managers of Librarians and

System Administrators

Librarians, Borrowers,

System Administrators,Managers of Librarians and System

Administrators

System Administrators, Librarians, Borrowers

(expert)

Legend

Goal

Softgoal Relationship between Goals/Softgoals

Relationship between Agents and Goals/Softgoals

- Negative Relationship

+ Positive RelationshipAgent

Librarians, Borrowers,System Administrators,Managers of Librarians and System Administrators

Page 14: Towards a Model-based COTS-Aware Requirements Engineering Approach Lawrence Chung and Kendra Cooper MBRE ‘01

Conclusions

Use of COTS Components is a Complex Problem Requires a Systematic Approach Our Methodology Seems to be Working

Preliminary CARE Approach is Serving as a Foundation CARE Approach is Being Elaborated,

Refined, and Validated

Page 15: Towards a Model-based COTS-Aware Requirements Engineering Approach Lawrence Chung and Kendra Cooper MBRE ‘01

Future Work

Continue the Definition and Validation of the CARE Approach Formal Representation and Reasoning of

Goal Conflicts Build Knowledge-Base (repository) Trade-off Analysis for Possible

Configurations Investigate the Impact of CARE on

System Architecture, Development Costs, Maintenance,...