Towards a Model-based COTS-Aware Requirements Engineering Approach Lawrence Chung and Kendra Cooper...
-
Upload
cori-bennett -
Category
Documents
-
view
214 -
download
0
Transcript of Towards a Model-based COTS-Aware Requirements Engineering Approach Lawrence Chung and Kendra Cooper...
Towards a Model-based COTS-Aware Requirements Engineering Approach
Lawrence Chung and Kendra CooperMBRE ‘01
Today...
Introduction (Why CARE?)Our Preliminary CARE ApproachCurrent State of the CARE ResearchConclusionsFuture Work
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
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
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
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
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*
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.
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
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
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,...
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
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
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
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,...