Download presentation
Presentation is loading. Please wait.
Published byAmberly McLaughlin Modified over 9 years ago
1
COTS-Aware Requirements Engineering and Software Architecting
Lawrence Chung and Kendra Cooper Department of Computer Science University of Texas at Dallas {chung,
2
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
3
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
4
Bridging the Gap: COTS Components Capabilities System Under Development (SUD) Requirements
SUD Goal Exact match G - j G - i Transformed SUG Goal Transformed Component G - j1’ G - i1’ Transformed SUG Goal Transformed Component G - i1’’ G - j1’’ G - i is an agent's goal Another exact match Transformed SUG Goal G - k G - j2’ How do we bridge the gap systematically?
5
Defining Goals; Matching, Ranking, and Selecting COTS Components in the CARE/SA Process
Define Goals create a System Goal Model using scenarios Select Components Based on ranking, select set of COTS components Match Goals search for COTS components with goals that match SUG soals (functional & non-functional) Negotiate Changes Rank Components Perform a gap analysis to rank COTS components using the NFR Framework What do we represent and where ?
6
Architecture Components
Capturing Requirements (FRs & NFRs) & Architecture Components Component Repository (Foreign Goals, Specifications, …) System Under Development (Native Goals, Requirements, …) in SUD Product Repository Customer Manager End User Development Manager Requirements Engineer Component Repository … External System ++ (NFR) Softgoal2 Softgoal3 HardGoal1 … Component 2 (whitebox) … System Requirement Architectural Subsystem System Requirement Architectural Subsystem Software Requirement … SUD Artifacts Software Requirement Component 1 (blackbox) Legend Agent Mapping System Goals to Component Goals Mapping System, Software Requirements to Component Specification Softgoal Hardgoal Requirement Architecture Subsystem
7
Matching, Ranking, and Selecting COTS Components.
With a non-functional candidate goal COTS Architecture to (other) COTS NFR SUD NFR to COTS NFR COTS NFRs to (other) SUD NFRs SUD Product COTS Component SUD Product COTS Component SUD Product Model Repository COTS Component Repository Model Repository Repository Model Repository Repo sitory C j … C … C … … … … R … R A R A … … … … NFR NFR j NFR k NFR i i i Legend Softgoal (non - functional) Candidate softgoal COTS Component Possib le Match Hardgoak Candidate Hardgoal And Decomposition C Component, A Architecture, R Requirement, FR Functional requirement, NFR Non-Functional Req.
8
Matching, Ranking, and Selecting COTS Components.
With a functional candidate goal COTS Architecture to COTS NFR SUD FR to COTS FR COTS NFRs to (other) SUD NFRs COTS Component SUD Product COTS Component SUD Product COTS Component SUD Product Repository Model Repository j Model Repository Repository Repository Model Repository i C C … C … … … … … … R R A R A … … … FR NFR FR i NFR FR i i i Legend Softgoal (non - functional) Candidate softgoal COTS Component Possib le Match Hardgoak Candidate Hardgoal And Decomposition C Component, A Architecture, R Requirement, FR Functional requirement, NFR Non-Functional Req.
9
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). COTS Component Repository SUD Product Model Repository Java Authentication & Authorization Service C … Secure Good Performance Easy to Use Interface … Search theCatalog - … Requirements R A Architecture … Configurable Interface Variety of Non - functional Requirements Functional Requirements Interface Options Encryption NFR FR PC platform Role Based Tivoli C PDA Protect C Touch Screen Interface Access Control Novice Configuration GUI C Authentication Audio/Video … Security, communication, multimedia, compressi on, etc. components Expert Configuration User Interface
10
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). COTS Component Repository SUD Product Model Repository Java Authentication & Authorization Service … Secure Good Performance Easy to Use Interface … C Search theCatalog - … R A Configurable Interface + Variety of Tivoli C + Encryption Interface Options PC platform C + PDA Protect R A + Role Based Access Control + Novice Configuration Touch Screen Interface R A GUI Authentication … + Audio/Video Expert Configuration Security, communication, multimedia, compression, etc. components - - User Interface + Inadequte: {PDA Protect} Potentially good-enough: {JAAS, Tivoli}
11
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.