cots-aware requirements engineering and software architecting lawrence chung and kendra cooper...
Post on 14-Dec-2015
213 Views
Preview:
TRANSCRIPT
COTS-Aware Requirements Engineering and Software Architecting
Lawrence Chung and Kendra Cooper
Department of Computer ScienceUniversity of Texas at Dallas
{chung, kcooper}@utdallas.edu
Why COTS (Commercial-Off-The-Shelf)?
Perceived benefits
– cheaper, faster, better software development
by orders of magnitude!
Issues Gaps between requirements and COTS components
- high degree of usage vs. high degree of satisficing
- COTS components must meet both functional and non-functional requirements, … and at the same time fit with the architecture
Many (more types of) stakeholders Many more sources of changes
- Customer needs, new technology – hw/sw/infrastructure, new/similar products, etc.
- Evolution of COTS components & Discontinued components
- Legal issues ((chain of) licensing, open-source,…) & Standards
Outline
Bridging the gap Defining, Matching, Ranking, and Selecting
COTS Components in the CARE/SA Process Capturing Requirements (FR & NFR) &
Architecture Components Matching, Ranking, and Selecting COTS
Components
Bridging the Gap: COTS Components Capabilities System Under Development
(SUD) Requirements Component
SUD Goal
G-i
G-k
G-i1’
G-i1’’
G-j1’
G-j1’’
G-j2’
G-j
G - i is an agent's goal
Exact match
Transformed SUG Goal
Transformed Component
Transformed SUG GoalTransformed
Component
Another exact match Transformed SUG Goal
How do we bridge the gap systematically?
Defining Goals; Matching, Ranking, and Selecting COTS Components in the CARE/SA Process
NegotiateChanges
Define Goalscreate a System Goal Model using scenarios
Rank ComponentsPerform a gap analysis to rank COTS components using the NFR Framework
Match Goalssearch for COTS components with goals that match SUG soals (functional & non-functional)
Select ComponentsBased on ranking, select set of COTS components
What do we represent and where ?
Capturing Requirements (FRs & NFRs) & Architecture Components
Mapping System Goals to Component Goals Mapping System, Software Requirements to Component Specification
Legend
Agent
Softgoal
Hardgoal
Requirement Architecture Subsystem
Component Repository(Foreign Goals, Specifications, …)
System Under Development (Native Goals, Requirements,
…)
Component Repository
SUDArtifacts
…
Softgoal3
Softgoal2
SystemRequirement
SystemRequirement
HardGoal1
SoftwareRequirement
SoftwareRequirement
End UserRequirements
Engineer
ExternalSystem
CustomerManager
Development Manager
…
……
++ (NFR)
Component 1(blackbox)
ArchitecturalSubsystem
ArchitecturalSubsystem
Component 2(whitebox)
in SUD Product Repository
Matching, Ranking, and Selecting COTS Components.
With a non-functional candidate goal
i i
j
Legend
Softgoal (non-functional) COTS Component
And Decomposition Hardgoak
C Component, A Architecture, R Requirement, FR Functional requirement, NFR Non-Functional Req.
Candidate softgoal Possible Match
Candidate Hardgoal
COTS Component Repository
SUD Product Model Repository
C
R …
…
SUD NFR to COTS NFR
… C
R A
…
…
COTS Architecture to (other) COTS NFR
… C
R A …
…
COTS NFRs to (other) SUD NFRs
…
… …
COTS Component Repository
SUD Product Model Repository COTS Component
Repository
SUD Product Model Repository
NFRj
NFRi NFRk NFR
Matching, Ranking, and Selecting COTS Components.
With a functional candidate goal
i i
i
C
R …
… …
C
R A …
… …
C
R A …
… …
COTS Component Repository
SUD Product Model Repository
COTS Component Repository
SUD Product Model Repository
COTS Component Repository
SUD Product Model Repository
…
NFR NFR FRi FRi
FR
j
Legend
Softgoal (non-functional) COTS Component
And Decomposition Hardgoak
C Component, A Architecture, R Requirement, FR Functional requirement, NFR Non-Functional Req.
Candidate softgoal Possible Match
Candidate Hardgoal
SUD FR to COTS FR
COTS Architecture to COTS NFR
COTS NFRs to (other) SUD NFRs
Preliminary Softgoal Interdependency Graph and COTS Component Repository
part of the CARE/SA knowledge base - populated for a DLS before the Goals of the SUD are matched, ranked and selected wrt the Goals of the components).
Secure Easy to Use Interface Good Performance
Role Based Access Control
Authentication
…
Configurable Interface
Variety of Interface Options
GUI Novice Configuration
Expert Configuration
PC platform Encryption
-
Audio/Video User Interface
…
Java Authentication & Authorization Service
Search theCatalog
COTS Component Repository
…
SUD Product Model Repository
Touch Screen Interface
…
Requirements Architecture
Security, communication, multimedia, compressi on, etc. components
Tivoli PDA Protect
Non-functional Requirements Functional Requirements
C
R A
FR NFR
C C
C
…
Results of Matching, Ranking, and Selecting COTS components
part of the CARE/SA knowledge base - populated for a DLS after the Goals of the SUD are matched, ranked and selected wrt the Goals of the components).
Secure Easy to Use Interface Good Performance
Role Based Access Control
Authentication +
…
Configurable Interface Variety of
Interface Options
GUI Novice Configuration
Expert Configuration
PC platform Encryption +
- -
-
Audio/Video User Interface
…
Java Authentication & Authorization Service
Search theCatalog
COTS Component Repository
…
SUD Product Model Repository
Touch Screen Interface
…
Security, communication, multimedia, compression, etc. components
Tivoli
PDA Protect
+
+
+
+
+
C
C
C
R A
A R
A R
Inadequte: {PDA Protect}Potentially good-enough: {JAAS, Tivoli}
Conclusions
Contributions Systematic methodology for using COTS components in
developing software architecture COTS components as aggregates of FRs, NFRs, and
architectures Requirements-driven matching, ranking and selection
Future Work More matching, ranking and selection heuristics Definition of meta-model (in relation to the UML) Web-based tool support
top related