150 likes | 167 Views
Criteria Based Software Product Integration Architecture (2007). F. Tsui Kennesaw State University (Southern Polytechnic State University). Software Product Integration. Product A. Product B. integration. Packaged together. Functionally integrated. Product A. Product A&B. Product B.
E N D
Criteria Based Software Product Integration Architecture(2007) F. Tsui Kennesaw State University (Southern Polytechnic State University)
Software Product Integration Product A Product B integration Packaged together Functionally integrated Product A Product A&B Product B How much?
Software Integration Levels external Product software users, customers, trainers and support personnel Components software designers and support personnel Internal Code software developers and support personnel internal
Some Software Integration Issues • at the code level • Inheritance (from OO) • code libraries • code patterns • etc • at the component level • design patterns • component libraries, if available • etc • at the product level • functionalities • platforms • database • user interface • user guides • etc
Why Do We Care? (A) Business is connected and needs to operate in an integrated fashion; thus the software it uses must also reflect that integrated world (B) Software industry continues to experience mergers and acquisitions ; thus the software product and services must also be integrated Financial distribution Human Resource inventory . . . . . . Sales procurement
Traditional Software Engineering Guidelines :Low Coupling and High Cohesion • Coupling is the degree of connectedness among modules: • Control passing • Data passing • Coupling should be kept to minimum – low coupling in design • Cohesion is the degree of relatedness of the parts within a module • Cohesion should be maximized --- high cohesion in design
Coupling Content Common Control Stamp Data Cohesion Functional Sequential Communicational Procedural Temporal Logical Coincidental Application of Traditional “modular” Coupling and Cohesion Concepts high low
Software Product Family • What are some of the issues that we should consider for software product family architecture?: • Terminology • Packaging & delivery • User interface • Product manuals and user guides • Application functionalities • Application flow and control • Data stored, processed, and shared • Systems, subsystems, and middleware platforms • Internationalization • Customer support and maintenance
A Software Product Integration Architecture Co-Existence Integration Low-Level Integration Intermediate Integration Strong Integration Increasing levels of product integration
A Software Product Integration Architecture Co-Existence Integration Low-Level Integration Intermediate Integration Strong Integration • Packaging & delivery • System, subsystem & middleware platform • internationalization
A Software Product Integration Architecture Co-Existence Integration Low-Level Integration Intermediate Integration Strong Integration • Terminology • Application UI • Product manuals • Product support& maintenance • Packaging & delivery • System, subsystem & middleware platform • Internationalization
A Software Product Integration Architecture Co-Existence Integration Low-Level Integration Intermediate Integration Strong Integration • Terminology • Application UI • Product manuals • Product support& maintenance • Data stored, processed & shared • Application flow & control • Packaging & delivery • System, subsystem & middleware platform • Internationalization
A Software Product Integration Architecture Co-Existence Integration Low-Level Integration Intermediate Integration Strong Integration • Terminology • Application UI • Product manuals • Product support& maintenance • Data stored, processed & shared • Application flow & control • Packaging & delivery • System, subsystem & middleware platform • Internationalization • Functionalities & features
Implications of Coupling & Cohesion forSoftware Product Family Architecture Co- Exist Low Inter- mediate Strong
“Coupling” and “Cohesion” in Product-Line Integration Co-Existence Integration Low-Level Integration Intermediate Integration Strong Integration Increase in coupling high-coupling among products low-coupling among products (low)-coupling (high)-coupling Increase in cohesion strong product family cohesion weak product family cohesion