Presentation is loading. Please wait.

Presentation is loading. Please wait.

Page 1 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Chapter 3 Architecting Component-Based Systems.

Similar presentations


Presentation on theme: "Page 1 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Chapter 3 Architecting Component-Based Systems."— Presentation transcript:

1 Page 1 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Chapter 3 Architecting Component-Based Systems

2 Page 2 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Overview qThe Role of Software Architecture qDesigning Software Architectures qArchitecture-driven Component Development qComponent-driven Architecture Development qSummary

3 Page 3 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems The Software Architecture “The software architecture of a program or computing system is the structure or structures of the system, which comprise software components [and connectors], the externally visible properties of those components [and connectors] and the relationships among them.”

4 Page 4 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems The Role of the Software Architecture q The main uses of a software architecture are: l Assessment and evaluation l Configuration management l Dynamic software architectures

5 Page 5 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Assessment and Evaluation q Stakeholder-based assessment l Is concerned with determining whether the trade-offs between requirements in the software architecture match the actual stakeholder priorities of these requirements. q Examples l SAAM l ATAM

6 Page 6 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Assessment Continued q Quality-attribute oriented assessment l Aims at providing a quantitative prediction of one quality attribute (e.g. maintainability, performance, reliability or security)

7 Page 7 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Configuration Management qThe software architecture is frequently used as a means to manage the configuration of the product.

8 Page 8 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Dynamic Software Architectures qThe software architecture should reorganize itself in response to the dynamic change of the systems quality requirements. q Maintained even during run-time.

9 Page 9 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Designing Software Architectures qArchitecture Design Process qArchitectural Styles

10 Page 10 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Architecture Design Process q Can be seen as a function that: l Takes a requirement specification as input. l Generates an architectural design as output. l Is not an automated process, necessitating great effort and creativity from the involved software architects. q Is comprised of three steps: l Functionality-based design. l Assessment of the quality attributes. l Architecture Transformation.

11 Page 11 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems General software architecture design process Application architecture Requirement specification Requirement selection Functionality-based architectural design (Partial) requirement specification Estimate quality attributes Architecture transformation QA-optimizing solutions More Requirements? OK Yes no not OK F.R.

12 Page 12 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Functionality-based Design q The design process starts with functionality-based design and consists of four steps: l Defining the boundaries and context of the system. l Identification of archetypes. l Decomposition of the system into its main components. l The first validation of the architecture by describing a number of system instances.

13 Page 13 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Assessment of the quality attributes q The second phase is the assessment of the quality attributes in which: l Each quality attribute is given an estimate. l If all estimated quality attributes are as good or better than required, the architectural design process is finished. l If not the third phase of software architecture design is entered: architecture transformation

14 Page 14 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Architecture Transformation qIs concerned with selecting design solutions to improve the quality attributes while preserving the domain functionality. l The design is again evaluated and the same process is repeated if necessary. l The transformations (i.e. quality attribute optimizing solutions) generally improve one or some quality attributes while they affect others negatively.

15 Page 15 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Architecture transformation categories Impose architectural pattern Convert QR to functionality Apply Design pattern Impose architectural style ComponentArchitecture Scope of impact Transformation type Restructuring Added functionality, rules and/or constraints

16 Page 16 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Architectural Styles qAre structures that recur and are used to solve specific types of problems. These include: l Pipes and Filters l Blackboard l Object-oriented qSystem-level quality attributes can often be predicted based on the observation of certain architectural styles in a system’s architecture.

17 Page 17 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Architectural Styles Continued q In some cases it is possible to moderate the degree to which a quality attribute is affected by using a variant of the style. qIt is also possible for a particular variant of a style to have both positive and negative affects on a given quality attribute

18 Page 18 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Architectural Styles Considered PerformanceMaintainabilityReliabilit y Safet y Securit y Pipes and Filters+ – ––+ Blackboard–++ –– Object-Oriented+ – +

19 Page 19 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Architecture-driven Component Development qThe goal for the embodiment phase of design is to either build or select components and connectors that possess the quality attributes identified during the architecting phase of development. q Three types of components: l Custom built components l Reusable components l Commercial components

20 Page 20 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Custom Components q Demands both time and money. q Are most likely to pay off in cases of software that are: l Very unusual l Safety critical l Highly secure q The component assembly will possess the quality attributes it was designed around.

21 Page 21 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Pre-existing Components q There are two main classes of pre-existing components: l Reusable components l Commercial components q Is a fundamentally different problem than custom design. l The requirements to use specific components and component frameworks drive the architecture.

22 Page 22 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Reusable Components qCan exist on a wide scale of reusableness within any organization. qThey must be adapted; l In most cases it will be necessary to create adaptors, often referred to as glue code. qAre developed with reuse in mind. q Product line development exemplifies the use of pre- planned reusable components.

23 Page 23 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Commercial Components q Introduce a large degree of uncertainty. q Tend to be l Complex l Idiosyncratic l Unstable

24 Page 24 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Component-driven Architecture Development qConstraints due to the use of pre-existing components: l Design freedom is limited to component selection. l Sufficient information about how a component will behave is not generally provieded. l Component properties must be verified. l The framework into which components are to be plugged influences the architecture and the process by which the system is designed. l Such components can not be optimized.

25 Page 25 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Component-driven Architecture Development qIt is expected that more reliable systems will be produced, with greater speed and at lower expense due to the restrictions on design freedom.

26 Page 26 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Summary q Components and Software Architectures form two sides of the same coin. q Software architecture has multiple roles: l May be used for stakeholder-, expert-, or quality attribute-oriented assessment. l May be used for configuration management. l May be used to dynamically reorganize the system at run time (i.e. dynamic software architectures).

27 Page 27 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Summary Continued q Design of software architectures consists of three main phases. l functionality-based architectural design l software architecture assessment l architecture transformation

28 Page 28 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Summary Concluded q Three types of software components: l Custom l Reusable l Commercial components.


Download ppt "Page 1 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Chapter 3 Architecting Component-Based Systems."

Similar presentations


Ads by Google