Using Architecture Frameworks Outline n Software architecture frameworks

  • Slides: 51
Download presentation
Using Architecture Frameworks

Using Architecture Frameworks

Outline n Software architecture frameworks – These are sets of viewpoint specifications and their

Outline n Software architecture frameworks – These are sets of viewpoint specifications and their relationships. n The 4+1 View Model of architecture – This model was developed by Rational Corporation for describing systems using objectoriented notations. n Reference Model for Open Distributed Processing This is the ISO/IEC standard for describing open distributed processing systems.

Software Architecture Frameworks n These are frameworks for creating architecture specifications. n They are

Software Architecture Frameworks n These are frameworks for creating architecture specifications. n They are used as templates. n Frameworks include the following types of viewpoints: Processing (e. g. , functional or behavioial requirements and use cases) n Information (e. g. , object models, ERDs and DFDs) n Structure (e. g. , component diagrams depicting clients, servers, applications, and databases and their interconnections. ) n

Philosophies of Architecture Frameworks n The differences between the various frameworks revolve around: Terminology

Philosophies of Architecture Frameworks n The differences between the various frameworks revolve around: Terminology – affects knowledge transference and reuse (the IEEE 1471 helps by providing a set of terminology). n Representation completeness – should everything be modeled or just that which are considered part of the architectural description. n Selection of viewpoints – is there a prescribed set of viewpoints or is the set highly customizable. n

Architecture Framework Goals n Codify best practices for architectural description. n Ensure that the

Architecture Framework Goals n Codify best practices for architectural description. n Ensure that the framework sponsors receive architectural information in the format they want. n Facilitate architecture assessment. n Improve the productivity of software development teams by using standardized means for design representation. n Improve interoperability of information systems.

Methodologies and Architecture Frameworks n A methodology may incorporate an architecture framework, but a

Methodologies and Architecture Frameworks n A methodology may incorporate an architecture framework, but a framework is not a methodology. n A methodology is a collection of: Practices n Processes n Methods n Techniques n Diagram notations n

The 4 + 1 View Model of Architecture n It is a design methodology

The 4 + 1 View Model of Architecture n It is a design methodology developed by Rational Software Corporation and later subsumed by the Rational Unified Process (RUP) n Its goal is to provide a multiviewpoint framework for specifying object-oriented systems. n An architectural description consists of four logical views: logical, process, physical, and development. n A fifth redundant view provides scenarios that tie the other four views together.

The 4 + 1 View Model of Architecture (Cont’d) End Users Software Management addresses

The 4 + 1 View Model of Architecture (Cont’d) End Users Software Management addresses Logical View traces to Process View addresses System Integrators traces to Development View Scenarios traces to Physical View addresses System Engineers

Relationship to IEEE 1471 n The definition of a view in the 4 +

Relationship to IEEE 1471 n The definition of a view in the 4 + 1 View Model is loosely defined, sometimes corresponding to an IEEE 1471 view and sometimes to a viewpoint. n Each view addresses a specific set of stakeholder concerns and specifies a metalanguage for the models in that view.

Relationship to IEEE 1471 (Cont’d) n The 4 + 1 Model fails to address

Relationship to IEEE 1471 (Cont’d) n The 4 + 1 Model fails to address the following three concerns specified by IEEE 1471. The appropriateness of the application for use in fulfilling its purpose. n The feasibility of developing the application. n The risks of application development and operation to the stakeholders. n n For some systems it may be possible to address these concerns with textual descriptions and a project plan.

Logical Viewpoint n This is a viewpoint for expressing functional requirements. n Logical viewpoints

Logical Viewpoint n This is a viewpoint for expressing functional requirements. n Logical viewpoints are platform independent. n Logical views represent problem domain concepts, sometimes called the object model or business objects. n This view does not address threads of control. n Objects are considered discrete entities that interact by passing messages.

Stakeholders and Concerns Addressed n The logical view targets the acquirers, end users, developers,

Stakeholders and Concerns Addressed n The logical view targets the acquirers, end users, developers, and maintainers of the system. n It shows how the functions are decomposed in terms of classes. This helps assure acquirers and end users that the design addresses the intended purpose of the system. n Developers use these models to write code. n Maintainers use these models to understand the system in order to make changes

View Construction n The models for a logical view may be class diagrams or

View Construction n The models for a logical view may be class diagrams or entity relationship diagrams. n An object-oriented architectural style is recommended for this view because of its extensiveness in representing functional capabilities and information requirements.

Process Viewpoint n The process viewpoint is a viewpoint for representing the processing model

Process Viewpoint n The process viewpoint is a viewpoint for representing the processing model of the system. n Process views capture the concurrency, synchronization and distribution aspects of the design.

Stakeholders and Concerns Addressed n The process viewpoint addresses acquirers, n n n developers,

Stakeholders and Concerns Addressed n The process viewpoint addresses acquirers, n n n developers, maintainers, and system integrators. This view represents the design solution to some nonfunctional requirements such as performance, availability, and fault tolerance. Acquirers need assurance that the design will satisfy these nonfunctional requirements. Developers use these models along with the logical model to write the application logic. Maintainers use these models to understand the system. System integrators use these models to understand how this system can interoperate with other systems.

View Construction n The process view is described at several levels of abstraction: As

View Construction n The process view is described at several levels of abstraction: As communicating processes n As tasks that form an executable unit. n As components that can be tactically controlled n n The process view addresses how logical objects interact.

View Construction (Cont’d) n The attributes of the classes represented in the process view

View Construction (Cont’d) n The attributes of the classes represented in the process view are: n Autonomy – the characteristic that identifies objects as active, passive, or protected. n n n An active object can invoke its own methods and the methods of other objects, and has full control over objects invoking its methods. A passive object never spontaneously invokes other object’s methods and has no control over an object invoking its methods. A protected object never spontaneously invokes other objects methods but does monitor the invocation of its own methods.

View Construction (Cont’d) Persistence – the characteristic that identifies objects as either transient or

View Construction (Cont’d) Persistence – the characteristic that identifies objects as either transient or permanent. n Subordination – the characteristic that identifies whether an object’s existence or persistence is dependent on another object. n Distribution – the characteristic that identifies if an object in the logical view is accessible on more than one node in the physical view or accessible from multiple processes from the process view. n

View Construction (Cont’d) n The process view can be comprised of class diagrams and

View Construction (Cont’d) n The process view can be comprised of class diagrams and collaboration diagrams that focus on the active objects that represent the threads and processes of the system. n The collaboration diagrams can be supplemented with activity and state diagrams.

Development Viewpoint n The development viewpoint is a viewpoint for representing the static organization

Development Viewpoint n The development viewpoint is a viewpoint for representing the static organization of the software with respect to the software development environment.

Stakeholders and Concerns Addressed n The development viewpoint addresses software configuration management and concerns

Stakeholders and Concerns Addressed n The development viewpoint addresses software configuration management and concerns such as buildability, maintainability, and reusability. n It also addresses the partitioning of functionality across subsystems in support of development.

View Construction n The components of a development view are modules or subsystems that

View Construction n The components of a development view are modules or subsystems that compose the system. n A layers architectural style can be used in a development view. n The purpose of using layers in the development view is to minimize dependencies on modules so that they can be implemented and compiled with minimal coupling and dependencies.

Physical Viewpoint n The physical viewpoint specifies a means for capturing the mapping of

Physical Viewpoint n The physical viewpoint specifies a means for capturing the mapping of the software onto hardware and specifying its distribution.

Stakeholders and Concerns Addressed n The physical viewpoint addresses acquirers and systems engineers. n

Stakeholders and Concerns Addressed n The physical viewpoint addresses acquirers and systems engineers. n This viewpoint addresses the concerns of availability, reliability, performance, and scalability.

View Construction n There can be several physical configurations of the system to support

View Construction n There can be several physical configurations of the system to support different operational situations. n All the components of the three prior views map onto this view. n The processes are mapped onto hardware nodes.

Scenario Viewpoint n The scenario view ties all the other views together. n Scenarios

Scenario Viewpoint n The scenario view ties all the other views together. n Scenarios are instances of use cases. n This view is considered to be redundant with respect to the other four views – it is the “+1” in the framework.

Stakeholders and Concerns Addressed n The scenario viewpoint addresses users, acquirers, developers, maintainers, and

Stakeholders and Concerns Addressed n The scenario viewpoint addresses users, acquirers, developers, maintainers, and testers. n The use cases represent key functional requirements. n The use cases act as a script that ties the elements of the different views together.

View Construction n Only an architecturally significant subset of scenarios is use. n They

View Construction n Only an architecturally significant subset of scenarios is use. n They are represented using object-scenario (UML sequence) diagrams and objectinteraction (UML collaboration) diagrams.

Model Overloading n The same types of models are used in different views. n

Model Overloading n The same types of models are used in different views. n For example, object collaboration diagrams in the logical model may represent key application objects passing general messages and in the process view may show explicit types of method invocations (synchronous, asynchronous, balking). n Also, the same model can have different interpretations depending on the view in which it is interpreted.

Model Overloading (Cont’d) n Because many viewpoints of the 4+1 View Model address both

Model Overloading (Cont’d) n Because many viewpoints of the 4+1 View Model address both developer and acquirer concerns simultaneously, there are some drawbacks: It forces the acquirer to understand low-level models. n It can all designers to prematurely commit to implementations. n

Architecting with the Unified Process n When the 4+1 View Model was first introduced,

Architecting with the Unified Process n When the 4+1 View Model was first introduced, UML had not yet been created. n The 4+1 View Model has changed and the viewpoints have been renamed as follows: Design view (originally the logical view) n Process view n Implementation view (was the development view) n Deployment view (was the physical view) n Use case view (was the scenario) n

Architecting with the Unified Process (Cont’d) n The static aspect of the design view

Architecting with the Unified Process (Cont’d) n The static aspect of the design view can be expressed using class diagrams and object diagrams and the dynamic aspect can use interaction diagrams, statechart diagrams, and activity diagrams. n The process view is the same as the logical view. n The implementation view is represented using component diagrams, interaction diagrams, statechart diagrams, and activity diagrams. n The deployment view is composed of interaction diagrams, statechart diagrams, and activity diagrams.

Reference Model for Open Distributed Processing n The main goal of RM-ODP is to

Reference Model for Open Distributed Processing n The main goal of RM-ODP is to provide mechanisms for architecting distributed processing. n RM-ODP has five viewpoints: Enterprise n Information n Computational n Engineering n Technology n

Enterprise Viewpoint n This viewpoint focuses on the purpose, scope, and policies of the

Enterprise Viewpoint n This viewpoint focuses on the purpose, scope, and policies of the system and captures system requirements.

Stakeholders and Concerns Addressed n The enterprise viewpoint addresses all stakeholders, but primarily users

Stakeholders and Concerns Addressed n The enterprise viewpoint addresses all stakeholders, but primarily users and acquirers. n It addresses the purpose, missions, and appropriateness of the system.

View Construction n The enterprise viewpoint represents a system in the context of the

View Construction n The enterprise viewpoint represents a system in the context of the enterprise in which it operates. n It consists of the following types of elements: n n Enterprise objects – external systems, people, artifacts, business processes, the system itself Communities – formed to meet specific objects of the enterprise Roles – users, owners, providers of information Contracts – a objective in terms of enterprise object collaborations and constraints

View Construction (Cont’d) n A community specification consists of the following: n The specification

View Construction (Cont’d) n A community specification consists of the following: n The specification of enterprise objects that comprise the community n The specification of the roles assumed by those objects n The policies governing interactions between enterprise objects in the assumed roles n The policies governing the life-cycle management of resources used by enterprise objects in the assumed roles n The policies governing the structuring of enterprise objects and their role assignments n The policies relating to the environment contracts governing the system n The enterprise view many be composed of use case models.

Information Viewpoint n The information viewpoint defines the universe of discourse of the system:

Information Viewpoint n The information viewpoint defines the universe of discourse of the system: The information content and the information about the processing of the system n A logical representation of the data in the system n The rules to be followed in the system, e. g. , policies specified by the stakeholders. n

Stakeholders and Concerns Addressed n The information viewpoint addresses the acquirers, endusers, developers, and

Stakeholders and Concerns Addressed n The information viewpoint addresses the acquirers, endusers, developers, and maintainers of the system. n Architects use this view to organize and communicate system semantics with stakeholders. n The information view can address qualities such as evolvability and adaptability.

View Construction n The information view contains the information object model and environmental contracts

View Construction n The information view contains the information object model and environmental contracts for the objects. n The information viewpoint specifies three schemata for representing the information objects: n n n Invariant – specifies what must always be true for a set of information objects within a given period of time Static – the state and structure of a set of information objects at a specific point in time Dynamic – all the actions that permit a change in state or structure of a set of information objects

Computational Viewpoint n This viewpoint specifies the system in terms of computational objects and

Computational Viewpoint n This viewpoint specifies the system in terms of computational objects and their interfaces. n It partitions the system into logical objects that perform the capabilities of the system and are capable of being distributed throughout the enterprise.

Stakeholders and Concerns Addressed n This viewpoint addresses the same stakeholders as the information

Stakeholders and Concerns Addressed n This viewpoint addresses the same stakeholders as the information viewpoint. n It addresses the structure of the application as distributed objects without specifying how they are distributed.

View Construction n The elements of the computational viewpoint language are computational objects, computational

View Construction n The elements of the computational viewpoint language are computational objects, computational interfaces, binding objects, interaction types, and interface types. n The three types of interactions are n n n Signal – a one-way interaction between an initiating object (client) and a responding object (server) Operation – an interrogation (a request and a response) or announcement (a one-way request) Flow – an ordered set of one or more one-way communications from a producer object to a consumer object.

Engineering Viewpoint n This view specifies the mechanisms for physical distribution to support the

Engineering Viewpoint n This view specifies the mechanisms for physical distribution to support the logical processing model of the computational view without specifying a particular technology or middleware platform.

Stakeholders and Concerns Addressed n The engineering viewpoint primarily aggressed the developers and maintainers

Stakeholders and Concerns Addressed n The engineering viewpoint primarily aggressed the developers and maintainers of the system. n It address the concerns of portability and extensibility.

View Construction n The engineering viewpoint language consists of: n Engineering objects – basic

View Construction n The engineering viewpoint language consists of: n Engineering objects – basic engineering objects correspond to computational objects that specifically provide application services and engineering objects support the distribution mechanisms, infrastructure, binging and transparency. n Nodes – a node is a computer n Clusters – configurations of basic engineering objects that act as a single entity n Capsules – units of processing and storage

Technology Viewpoint n The technology viewpoint specifies a language for representing the implementation of

Technology Viewpoint n The technology viewpoint specifies a language for representing the implementation of a system.

Stakeholders and Concerns Addressed n The technology view primarily addresses developers, maintainers, and testers.

Stakeholders and Concerns Addressed n The technology view primarily addresses developers, maintainers, and testers. n It addresses qualities such as evolvability, maintainability, testability, buildability, extensibility.

View Construction n The technology view maps the other views to implementations, technologies, and

View Construction n The technology view maps the other views to implementations, technologies, and standards. n This view specifies how the engineering view, in particular, maps to software, hardware, networks, operating systems, and middleware products.

View Construction n The technology view maps the other views to implementations, technologies, and

View Construction n The technology view maps the other views to implementations, technologies, and standards. n This view specifies how the engineering view, in particular, maps to software, hardware, networks, operating systems, and middleware products.

Summary n Frameworks differ with respect to methodology. n The 4+1 View Model is

Summary n Frameworks differ with respect to methodology. n The 4+1 View Model is tied to a use case driven methodology. n RM-ODP does not have a strong methodology, but it is much stricter in its modeling languages. n The 4+1 View Model focuses on describing object-oriented systems. n The RM-ODP is not tied to object-oriented systems and is useful for describing open distributed systems.