cots-aware requirements engineering and software architecting lawrence chung and kendra cooper...

11
COTS-Aware Requirements Engineering and Software Architecting Lawrence Chung and Kendra Cooper Department of Computer Science University of Texas at Dallas {chung, kcooper}@utdallas.edu

Upload: amberly-mclaughlin

Post on 14-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: COTS-Aware Requirements Engineering and Software Architecting Lawrence Chung and Kendra Cooper Department of Computer Science University of Texas at Dallas

COTS-Aware Requirements Engineering and Software Architecting

Lawrence Chung and Kendra Cooper

Department of Computer ScienceUniversity of Texas at Dallas

{chung, kcooper}@utdallas.edu

Page 2: COTS-Aware Requirements Engineering and Software Architecting Lawrence Chung and Kendra Cooper Department of Computer Science University of Texas at Dallas

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

Page 3: COTS-Aware Requirements Engineering and Software Architecting Lawrence Chung and Kendra Cooper Department of Computer Science University of Texas at Dallas

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

Page 4: COTS-Aware Requirements Engineering and Software Architecting Lawrence Chung and Kendra Cooper Department of Computer Science University of Texas at Dallas

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?

Page 5: COTS-Aware Requirements Engineering and Software Architecting Lawrence Chung and Kendra Cooper Department of Computer Science University of Texas at Dallas

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 ?

Page 6: COTS-Aware Requirements Engineering and Software Architecting Lawrence Chung and Kendra Cooper Department of Computer Science University of Texas at Dallas

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

Page 7: COTS-Aware Requirements Engineering and Software Architecting Lawrence Chung and Kendra Cooper Department of Computer Science University of Texas at Dallas

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

Page 8: COTS-Aware Requirements Engineering and Software Architecting Lawrence Chung and Kendra Cooper Department of Computer Science University of Texas at Dallas

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

Page 9: COTS-Aware Requirements Engineering and Software Architecting Lawrence Chung and Kendra Cooper Department of Computer Science University of Texas at Dallas

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

Page 10: COTS-Aware Requirements Engineering and Software Architecting Lawrence Chung and Kendra Cooper Department of Computer Science University of Texas at Dallas

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}

Page 11: COTS-Aware Requirements Engineering and Software Architecting Lawrence Chung and Kendra Cooper Department of Computer Science University of Texas at Dallas

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