COTS-Aware Requirements Engineering: The CARE Process 2nd International Workshop on Requirements...
-
Upload
maria-peters -
Category
Documents
-
view
214 -
download
2
Transcript of COTS-Aware Requirements Engineering: The CARE Process 2nd International Workshop on Requirements...
COTS-Aware Requirements Engineering: The CARE Process
2nd International Workshop on Requirements Engineering for COTS Components
Lawrence Chung, The University of Texas at DallasKendra Cooper, The University of Texas at Dallas
Sam Courtney, Rational software, IBM Software Group
Today...
A brief look at The goals of the CARE research project The CARE process The CARE knowledge base
process model, artifacts for system under development, COTS components...
The knowledge base for a Home Appliance Control System example
Conclusions and future work
Goals of CARE Research Project
Provide a set of models, techniques and a tool set for the effective use of COTS components, including: a scheme for representing stakeholders as intentional agents
(i.e., agents that make decisions), the high-level functional and non-functional requirements of such agents as goals, and the software architecture
a scheme for matching, and detecting and resolving discrepancies between the capabilities of COTS components and the needs of the stakeholders associated with the system under development
qualitative and quantitative decision making approaches for evaluating and selecting COTS components
formal product and process models that are consistent, complete, and correct
knowledge-based tool support, the CARE Assistant, to assist the developers
Overview of the CARE Process
whereSUD is the system under development
Define Goalscreate a System Goal Model usingscenarios, NFR Framework, etc.
Match Goalssearch for COTScomponents thatmatch SUD goals(functional first,non-functionalsecond)
Rank Componentsperform a gap analysis to
rank the COTS componentsusing the NFR Framework
Select Componentsselect set of COTScomponents
NegotiateChangesto COTS, SUD
The CARE Knowledge base
Mapping System Goals to Component Goals
…
COTS ComponentVirtual Repositoryi
Component1
Component2Componentn
COTS ComponentVirtual Repositoryk
Component1
Component2Componentn
COTS ComponentVirtual Repositoryj
Component1
Component2
Componentn
…
NFR
SUD Product ModelRepository
Software
HardGoal
HardGoal
HardGoal
…
SUD Process ModelRepository
Repository
Inference EngineTell(KB, S) KB', KB’ SAsk(KB, S) set of some/all substitut ions , KB S
Mapping Software Requirements to Component Specification
Mapping Architecture to Component Specificat ion
COTS Component, includes product goals,specificat ions, and development processdescription
Softgoal Hardgoal
NFR Non-funct ional Requirement Framework
…
CARE Meta-metamodel MOF standard
CARE Metamodel Agents, Goals, Objects, COTS
CARE Model Agents, Goals, objects, COTS
CARE Process model forspecific project (e.g. HACS)
COTS Component Partition System Under Development (SUD) Partitions
Agent
RequirementsEngineer
SoftwareArchitect
ComponentEngineer
ProcessEngineer
QualityAssuranceEngineer
ProjectManager
use cases +non-functionalrequirements
Architecture
Subsystem
Subsystem
SoftwareRequirements
Mapping Artifact to combination of two (or more)Component Specificat ions(conjunction, all components needed)MOF Meta-object facility standard HACS Home Appliance Control System
Legend
M0
M1
M2
M3AgentAgent
Softgoal
Softgoal
Softgoal
An instantiated view: Home Appliance Control System example
Legend
Softgoal (non-functional)
COTS Component
Security
Variety ofInterfaces
And Decomposition
Usability
Access Control
NFR Contribution
…
Data Integrity…
Java Authentication andAuthorization Service
Display IndoorLight Sequence
COTS Component Repository
Hardgoal (functional)
…
SUD Product Model Repository
Stylus
…
PDASecure
PDAProtect
+
C
C
A
RA
RA
keypad
Data Confidentiality
Non-repudiation
Entity
Origin
Easy toAccess
WirelessAccess
Private KeyEncryption Public Key
Encryption
WireAccessBluefire
MobileFirewallPlus
C
A R
…
…
…
TivoliC
A R +--
C
+
C Component R Requirements A Architecture
R Authentication
Conclusions
CARE approach: Supports systematic matching, ranking, and selecting COTS
components in the CARE Framework using the functional and non-functional requirements and the architecture of the components
employs the NFR Framework to qualitatively evaluate the COTS components
a component engineer, affiliated with the acquirer's organization, uses empirical studies to obtain (additional) component data
COTS components are represented as an aggregate of functional and non-functional requirements and architecture - each with its own set of attributes
Future work
Future work includes: investigating additional search techniques
case based, rule based, neural nets, etc. defining a metamodel for CARE
goals, agents, COTS components developing web-based tool support
Project website is under construction at http://www.utdallas.edu/~weiminma/public