38

Domain specific Software Architecture

Embed Size (px)

Citation preview

Page 1: Domain specific Software Architecture
Page 2: Domain specific Software Architecture

INTRODUCTION TO DSSA DSSA is basically ‘Software Architecture focused on a

particular domain.’

Why is it focused to a particular domain? a) To constraint the problem space b) Facilitate focused development

DSSA is a collection of structures of the system which comprise of:

a) Software elements b) Externally visible properties of those elements c) Relationship among those components

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 3: Domain specific Software Architecture

Applications of DSSA

The process of developing and implementing

a DSSA is called domain engineering.

The process of developing an

application based on a

DSSA is called application

engineering.

D S S A

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 4: Domain specific Software Architecture

Problem Space & Solution Space

. .

. . .

Problem Space

General Solution Space

Problem Space divided as per the domain

. .

. .

?

General Solution Space divided as per the domain

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 5: Domain specific Software Architecture

DSSA Components

(Classification of requirements)

Domain Model

• Defines the behaviour of applications in the system. • Standardizes the domain terminologies & provides the system data flow. • Provides standardized descriptions of problems to be solved in the domain.

Reference

Requirements

• Supports the design of the reference architecture. • Divides the customers requirement into functional and non-functional

components. • The requirements may be mandatory, optional or variable.

Reference

Architecture

• Describes a general computational framework. • Represents a set of principal design decisions simultaneously applicable to

multiple related systems. • Includes explicitly defined points of variation.

(Collect info. about the domain)

(Develop a generalized framework) GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 6: Domain specific Software Architecture

DSSA Components(cont.)

Domain Model

Problem Space

The problem space is simplified through the creation of a domain model.

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 7: Domain specific Software Architecture

Reference Architecture

Reference Requirements

Solution Space

DSSA Components(cont.)

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 8: Domain specific Software Architecture

Main Advantages of DSSA

• The overall cost is minimized as the assets can be reused.

• The market share of the

organization can be increased by developing related applications for different users.

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 9: Domain specific Software Architecture

MODULE 1: DOMAIN MODEL

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 10: Domain specific Software Architecture

Domain Model Before the requirements can be determined, it is necessary to understand the characteristics of the system. Domain model: Defines the behaviour of applications in the

system Standardizes the domain terminologies &

provides the system data flow. Provides standardized descriptions of problems

to be solved in the domain. Provides the vocabulary to formulate the

reference requirements.

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 11: Domain specific Software Architecture

Components of the Domain Model

Scenarios Domain Dictionary Context/Block Diagram Entity-Relationship Diagram Object Model Data Flow Model State Transition Models

Information model

Operational model

Feature model

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 12: Domain specific Software Architecture

Scenario Scenarios are a list of events which are helpful in eliciting the requirements from the customer in an informal manner.

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 13: Domain specific Software Architecture

Domain Dictionary It consists of the explanation of the terms used in the scenarios and the customer needs statement. Example:

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 14: Domain specific Software Architecture

Context Information Diagram

It describes the high-level data flow between the major components in the system.

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 15: Domain specific Software Architecture

Entity/Relationship (ER) Diagram

Represents the aggregation and generalization relationships between entities.

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 16: Domain specific Software Architecture

Object diagram An object-oriented approach is followed to identify the objects which are mentioned along with their attributes and operations.

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 17: Domain specific Software Architecture

Data-Flow Diagram It focuses on the data exchanged within the system, with no notion of control.

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 18: Domain specific Software Architecture

State-Transition Diagram

It describes the events and states that take place in the domain.

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 19: Domain specific Software Architecture

MODULE 2: REFERENCE REQUIREMENTS

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 20: Domain specific Software Architecture

Reference Requirements

Reference requirements are responsible for identifying the portion of solution space that the domain model (problem space) will map into. Reference Requirements: Support the design of the reference architecture. Divides the customers requirement into functional

and non-functional components. The requirements may be mandatory, optional or

variable. Constrains the architecture and the implementation.

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 21: Domain specific Software Architecture

Components of Reference Requirements

Functional Requirements Non-functional Requirements Design Requirements Implementation Requirements

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 22: Domain specific Software Architecture

Functional Requirements Describes the functions to be performed as per the domain .

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 23: Domain specific Software Architecture

Non-Functional Requirements Example: Security, Performance, Reliability.

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 24: Domain specific Software Architecture

Design Requirements

Example: Architecture style, User interface style.

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 25: Domain specific Software Architecture

Implementation Requirements

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 26: Domain specific Software Architecture

MODULE 3: REFERENCE ARCHITECTURE

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 27: Domain specific Software Architecture

Reference Architecture Perquisites

There are no predefined standards for designing the reference architecture

• This is one of the reasons, that it is supported by an extensive documentation.

Architecture does not define implementation

• The architecture establishes constraints on downstream activities, and those activities must produce finer-grained designs and code that are compliant with the architecture.

Architecture is design but not all design is architecture

• There are many design decisions that are left unbound by the architecture, and are happily left to the discretion and good judgment of downstream designers and implementers.

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 28: Domain specific Software Architecture

Reference Architecture Perquisites

‘Design’ is a general term, don’t confuse it with ‘System Design’ , which refers to the in-depth view of the structure of the system.

An ‘architecture’ is a reusable design and a ‘reference architecture’ is a reusable design for a family of systems in a particular domain.

Reference Architecture Model can also be called as the architectural style of the system which may be layered, pipe and filter etc.

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 29: Domain specific Software Architecture

Reference Architecture It is a generic architecture focused on fundamental abstractions of the domain. • Describes a general computational

framework based on the chosen architectural style.

• Represents a set of principal design decisions simultaneously applicable to multiple related systems.

• Includes explicitly defined points of variation.

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 30: Domain specific Software Architecture

Architecture Hierarchy

Reference Architecture

• First, a generalized architecture is selected.

Application Specific

Architecture

• Using the reference architecture, an application specific architecture is created.

Implementation

• The implementation of the architecture is carried out.

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 31: Domain specific Software Architecture

Components of Reference Architecture

Reference Architecture Model Configuration Decision Tree Architecture Schema Dependency Diagram Component Interface Description Constraints Rationale

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 32: Domain specific Software Architecture

Reference Architecture Model

All designs start out with some simple abstraction based on the architecture style.

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 33: Domain specific Software Architecture

Configuration Decision Tree

A subset of reference requirements is chosen and a configuration decision tree is made accordingly. Configuration is done at reference architecture instantiation time.

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 34: Domain specific Software Architecture

Architecture Schema

Name/Type

Description

Reference requirements satisfied

Data flow and control flow diagrams

Design rationale Interface and architecture

specifications and dependencies

It is a collection point for knowledge about the components that make up a DSSA.

All such details are to be listed for every component involved. GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 35: Domain specific Software Architecture

Dependency Diagram The reference architecture dependency diagram reveals component connections at a level of granularity reflecting the architectural style chosen by the system architect.

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 36: Domain specific Software Architecture

Component Interface Description The focus is on, how elements interact with their environments, not on how elements are implemented. An Interface Description Language(IDL) is used to describe the interface as per the syntax of the language chosen.

Ex: LILENNA

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 37: Domain specific Software Architecture

Constraints

Constraints are the ranges of parameter values, relationships between parameter values or components etc. which have to be considered throughout the development of a system.

GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]

Page 38: Domain specific Software Architecture

Rationale

Rationales capture the motivation behind various decisions, such as the partitioning of the system into discrete elements and the formation of the architecture in terms of connecting elements. Rationales are inferences that can be structured as an argument with the design decision being the conclusion. GNDU, Amritsar [M.Tech. Software Systems 2012-2014 batch]