A METHOD FOR COMPATIBLE COTS COMPONENT SELECTION (BHUTA, J., BOEHM, B., 2005) Nikos Argyropoulos
Overview (1/2) Authors : Jesal Bhuta, Barry Boehm University of Southern California, Los Angeles Center for Software Engineering Topic : A Method for Compatible COTS Component Selection Published: COTS-Based Software Systems, 2005 Origins : Component Based Software Engineering (CBSE) Commercial off-the-Shelf Software (COTS) COTS Based Applications (CBA) 2 Nikos Argyropoulos - 10/04/2013
Overview (2/2) Purpose : A method for selecting and evaluating COTS software products that when combined can develop a functional COTS Based Application (CBA). “ A method […] that focuses on piecewise evaluation, as well as the interoperability between the candidate components ” [Bhuta, Boehm, 2005] Main Phases: Requirements Planning Component Selection Component Combination Selection Nikos Argyropoulos - 10/04/2013 3
Process Deliverable Diagram (1/3) Nikos Argyropoulos - 10/04/2013 4
Process Deliverable Diagram (2/3) Nikos Argyropoulos - 10/04/ Requirements Planning: Define project requirements and candidate COTS components. Component Selection: Categorize candidates per functionality, evaluate each candidate, filter out incompatible components. Component Combination Selection: Create combinations of components, prototype each combination, select the optimal and maintain alternative combinations.
Process Deliverable Diagram (3/3) Nikos Argyropoulos - 10/04/ PROJECT REQUIREMENT: Includes Objectives, Constraints and Priorities (OC&Ps) of the project. Defined by project development team and end users of the system. COMPONENT: The building block of component combinations, independently produced and functioning that interacts with others resulting in a functional system. COMPONENT COMBINATION: An aggregation of components, one from each functional group, that when put together they fully perform the required system functionality.
Case Study (1/2) Purpose : Develop e-shopping CBA for an online retailer. Process : Establish Project Requirements (Objectives, Constraints, Priorities) Identify relevant COTS Components. Categorize Components depending on functionality. (i.e. Database Engines, Application Servers, e-Cart Software) Develop Evaluation Criteria for Candidate Components. (i.e. “Response time of server under 3 seconds”, “Contents of e-Cart can be saved for future purchase”) Filter Out Components that do not meet the above criteria. Nikos Argyropoulos - 10/04/2013 7
Case Study (2/2) Create Combinations by pairing one component from each category with others. Pair with regards to: o Common Software Family (i.e. Microsoft Products) o Common Development Platform (i.e. Java) Create Prototypes to evaluate established Combinations. Select Component Combination best fitting the end-users needs. Maintain Alternative (sub-optimal) Combinations to reduce risk. Final Deliverable: Nikos Argyropoulos - 10/04/2013 8
Related Literature Nikos Argyropoulos - 10/04/ Presented Method established in : “Composable Process Elements for Developing COTS-Based Applications.” - Boehm, B., Port, D., Yang, Y., Bhuta, J., & Abts, C. (2003) Current work focuses in more efficient components matching and interoperability. Similar methods on this topic: EPIC (Albert & Brownsword,2002) BASIS (Ballurio, Scalzo & Rose, 2002) CRE (Alves & Castro, 2001) OTSO (Kontio et al.,1995) Applications of this method: “E-Learning Software Acquisition for Blended Learning” - Agaba, J., & Lubega, J. (2011)
Questions? Thank you for your attention! Nikos Argyropoulos Nikos Argyropoulos - 10/04/