Criteria Based Software Product Integration Architecture F. Tsui Southern Polytechnic State...
-
Upload
aubrey-grant -
Category
Documents
-
view
212 -
download
0
Transcript of Criteria Based Software Product Integration Architecture F. Tsui Southern Polytechnic State...
![Page 1: Criteria Based Software Product Integration Architecture F. Tsui Southern Polytechnic State University.](https://reader036.fdocuments.us/reader036/viewer/2022072016/56649ef25503460f94c03ee8/html5/thumbnails/1.jpg)
Criteria Based Software Product Integration Architecture
F. Tsui
Southern Polytechnic State University
![Page 2: Criteria Based Software Product Integration Architecture F. Tsui Southern Polytechnic State University.](https://reader036.fdocuments.us/reader036/viewer/2022072016/56649ef25503460f94c03ee8/html5/thumbnails/2.jpg)
Software Integration
• at the code level– Inheritance (from OO)– object code libraries– code patterns
• at the component level– design patterns– component libraries, if available
• at the product level– code– database– user interface– user guides
![Page 3: Criteria Based Software Product Integration Architecture F. Tsui Southern Polytechnic State University.](https://reader036.fdocuments.us/reader036/viewer/2022072016/56649ef25503460f94c03ee8/html5/thumbnails/3.jpg)
Software Product Integration
• Why do we care?– Business is connected and needs to operate in an
integrated fashion; thus software it uses must also reflect that • human resource• procurement• sales• financial• etc.
– Software industry itself experiences a large amount of partnerships or merger/acquisition activities; thus there is a need for two or more successful software products to operate as a product “family”
![Page 4: Criteria Based Software Product Integration Architecture F. Tsui Southern Polytechnic State University.](https://reader036.fdocuments.us/reader036/viewer/2022072016/56649ef25503460f94c03ee8/html5/thumbnails/4.jpg)
Software Product Family
• What are some of the issues that we should consider for software product family or for software product architecture?:
1. Terminology
2. Packaging & delivery
3. User interface
4. Product manuals and user guides
5. Application functionalities
6. Application flow and control
7. Data stored, processed, and shared
8. Systems, subsystems, and middleware platforms
9. Internationalization
10. Customer support and maintenance
![Page 5: Criteria Based Software Product Integration Architecture F. Tsui Southern Polytechnic State University.](https://reader036.fdocuments.us/reader036/viewer/2022072016/56649ef25503460f94c03ee8/html5/thumbnails/5.jpg)
A Software Product Integration Architecture
Co-ExistenceIntegration
StrongIntegration
IntermediateIntegration
Low-LevelIntegration
Increasing levels of product integration
![Page 6: Criteria Based Software Product Integration Architecture F. Tsui Southern Polytechnic State University.](https://reader036.fdocuments.us/reader036/viewer/2022072016/56649ef25503460f94c03ee8/html5/thumbnails/6.jpg)
“Coupling” and “Cohesion” in Product Integration
Co-ExistenceIntegration
StrongIntegration
IntermediateIntegration
Low-LevelIntegration
Increase in coupling
Increase in cohesion
low-coupling
weak productfamily cohesion
strong productfamily cohesion
high-coupling
![Page 7: Criteria Based Software Product Integration Architecture F. Tsui Southern Polytechnic State University.](https://reader036.fdocuments.us/reader036/viewer/2022072016/56649ef25503460f94c03ee8/html5/thumbnails/7.jpg)
A Software Product Integration Architecture
Co-ExistenceIntegration
StrongIntegration
IntermediateIntegration
Low-LevelIntegration
-Packaging & delivery-System, subsystem & middleware platform -internationalization
![Page 8: Criteria Based Software Product Integration Architecture F. Tsui Southern Polytechnic State University.](https://reader036.fdocuments.us/reader036/viewer/2022072016/56649ef25503460f94c03ee8/html5/thumbnails/8.jpg)
A Software Product Integration Architecture
Co-ExistenceIntegration
StrongIntegration
IntermediateIntegration
Low-LevelIntegration
-Packaging & delivery-System, subsystem & middleware platform -Internationalization
-Terminology-Application UI-Product manuals-Product support& maintenance
![Page 9: Criteria Based Software Product Integration Architecture F. Tsui Southern Polytechnic State University.](https://reader036.fdocuments.us/reader036/viewer/2022072016/56649ef25503460f94c03ee8/html5/thumbnails/9.jpg)
A Software Product Integration Architecture
Co-ExistenceIntegration
StrongIntegration
IntermediateIntegration
Low-LevelIntegration
-Packaging & delivery-System, subsystem & middleware platform -Internationalization
-Terminology-Application UI-Product manuals-Product support& maintenance
- Data stored, processed & shared-Application flow & control
![Page 10: Criteria Based Software Product Integration Architecture F. Tsui Southern Polytechnic State University.](https://reader036.fdocuments.us/reader036/viewer/2022072016/56649ef25503460f94c03ee8/html5/thumbnails/10.jpg)
A Software Product Integration Architecture
Co-ExistenceIntegration
StrongIntegration
IntermediateIntegration
Low-LevelIntegration
-Packaging & delivery-System, subsystem & middleware platform -Internationalization
-Terminology-Application UI-Product manuals-Product support& maintenance
- Data stored, processed & shared-Application flow & control
- Functionalities & features
![Page 11: Criteria Based Software Product Integration Architecture F. Tsui Southern Polytechnic State University.](https://reader036.fdocuments.us/reader036/viewer/2022072016/56649ef25503460f94c03ee8/html5/thumbnails/11.jpg)
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
![Page 12: Criteria Based Software Product Integration Architecture F. Tsui Southern Polytechnic State University.](https://reader036.fdocuments.us/reader036/viewer/2022072016/56649ef25503460f94c03ee8/html5/thumbnails/12.jpg)
Application of Traditional “modular” Coupling and Cohesion Notions
• Coupling
– Content– Common– Control– Stamp– Data
• Cohesion
– Coincidental– Logical– Temporal– Procedural– Communicational– Sequential– Functional
![Page 13: Criteria Based Software Product Integration Architecture F. Tsui Southern Polytechnic State University.](https://reader036.fdocuments.us/reader036/viewer/2022072016/56649ef25503460f94c03ee8/html5/thumbnails/13.jpg)
Implications of Coupling & Cohesion forSoftware Product Family Architecture
Architectural Issue Coupling Cohesion
Packaging & delivery Physically packaged together Product may be at “coincidental”
Cohesion level
System, subsystem,
middleware platform
Using the same platforms
Internationalization Same language across product family
Terminology Commonalities in icons, terms, etc. and in their respective semantics
Application’s UI Similar looks and navigational approach
Product manuals Same in content and mode of presentation
Product support & maintenance
Release and fix physically packaged together and delivered together
Same levels of support and same methodology of fix and release distribution
Application flow & control Application is “stamp” or “control” coupled via data store
Application is experiencing “procedural” or “communicational” cohesion
Data stored, processed & shared
Application is “ common” coupled via data store or global variable
Functionalities Application is at “sequential” cohesion and has no duplicative features
Co-Exist
Low
Inter-mediate
Strong
![Page 14: Criteria Based Software Product Integration Architecture F. Tsui Southern Polytechnic State University.](https://reader036.fdocuments.us/reader036/viewer/2022072016/56649ef25503460f94c03ee8/html5/thumbnails/14.jpg)
“Coupling” and “Cohesion” in Product Integration
Co-ExistenceIntegration
StrongIntegration
IntermediateIntegration
Low-LevelIntegration
Increase in coupling
Increase in cohesion
low-coupling
weak productfamily cohesion
strong productfamily cohesion
high-coupling