Criteria Based Software Product Integration Architecture F. Tsui Southern Polytechnic State...

14
Criteria Based Software Product Integration Architecture F. Tsui Southern Polytechnic State University

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.

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.

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.

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.

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.

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.

“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.

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.

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.

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.

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.

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.

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.

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.

“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