Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Chapter 2: Architectural Design. 2 Introduction Structure or structures of the system, which comprise software components, the externally visible properties.

Similar presentations


Presentation on theme: "1 Chapter 2: Architectural Design. 2 Introduction Structure or structures of the system, which comprise software components, the externally visible properties."— Presentation transcript:

1 1 Chapter 2: Architectural Design

2 2 Introduction Structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships among them What is architecture design?

3 3 Introduction … Purpose of architecture design:- in meeting its stated requirements,  To analyze the effectiveness of the design in meeting its stated requirements, at a stage when making design changes is still relatively easy, and  To consider architectural alternatives at a stage when making design changes is still relatively easy, and associated with the construction of the software.  To reduce the risks associated with the construction of the software.

4 4 Importance of Architecture Design …  Representations of software architecture are enablers for communication  The architecture highlights early design decisions  Architecture “constitutes a relatively small, intellectually graspable model of how the system is structured and how its components work together”

5 5 Category of Architecture Design … Divided into 2 level Data design Architecture Design  Multi databases  Data mining  Data warehouse  Data centered  Data flow  Call and return  Object oriented  Layered

6 6 Architecture style … Data centered architecture Refers to systems in which the access and update of a widely accessed data store is an apt description Goal: achieving the quality of integration of data Fig. 1: Data centered style

7 7 Architecture style … Data flow architecture: batch sequential style The data-bow style is characterized by viewing the system as a series of transformations on successive pieces of input data Goal: achieving the qualities of reuse and modifiability Fig. 2: Data flow architecture (batch sequential)

8 8 Architecture style … Data flow architecture: pipe and filter style Fig. 4: Data flow architecture (pipe & filter style)

9 9 Architecture style … Call & return architecture Architectures is the classical programming paradigm. A program is decomposed hierarchically Goal: achieving the qualities of modifiability and solvability. Fig. 5: Call & return architecture

10 10 Architecture style … Object oriented architecture Emphasizes the bundling of data and methods to manipulate and access that data The object abstractions form components that provide black- box services and other components that request those services. The goal is to achieve the quality of modifiability. Fig. 6: Object oriented style

11 11 Architecture style … Layered architecture Components are assigned to layers to control inter-component interaction. In the pure version of this architecture, each level communicates only with its immediate neighbours. Goal: achieve the qualities of modifiability and, usually, portability Fig. 7: Layered style

12 12 Architecture patterns …  Concurrency—applications must handle multiple tasks in a manner that simulates parallelism  Persistence—Data persists if it survives past the execution of the process that created it. Two patterns are common: a database management system pattern that applies the storage and retrieval capability of a DBMS to the application architecture an application level persistence pattern that builds persistence features into the application architecture  Distribution— the manner in which systems or components within systems communicate with one another in a distributed environment A broker acts as a ‘middle-man’ between the client component and a server component.

13 13 Architecture design …  The software must be placed into context The design should define the external entities (other systems, devices, people) that the software interacts with and the nature of the interaction  A set of architectural archetypes should be identified An archetype is an abstraction (similar to a class) that represents one element of system behavior  The designer specifies the structure of the system by defining and refining software components that implement each archetype

14 14 Architecture context …

15 15 Archetype …

16 16 Components structure …

17 17 Refined components structure …

18 18 1. Collect scenarios. 2. Elicit requirements, constraints, and environment description. 3. Describe the architectural styles/patterns that have been chosen to address the scenarios and requirements: module view module view process view process view data flow view data flow view 4. Evaluate quality attributes by considered each attribute in isolation. 5. Identify the sensitivity of quality attributes to various architectural attributes for a specific architectural style. 6. Critique candidate architectures (developed in step 3) using the sensitivity analysis conducted in step 5. Analyzing architecture design …

19 19  The overall complexity of a proposed architecture is assessed by considering the dependencies between components within the architecture  Sharing dependencies represent dependence relationships among consumers who use the same resource or producers who produce for the same consumers.  Flow dependencies represent dependence relationships between producers and consumers of resources.  Constrained dependencies represent constraints on the relative flow of control among a set of activities. Architectural complexity …

20 20  Architectural description language (ADL) provides a semantics and syntax for describing a software architecture  Provide the designer with the ability to: decompose architectural components compose individual components into larger architectural blocks and represent interfaces (connection mechanisms) between components. ADL …

21 21 "four bedrooms, three baths, lots of glass..." customer requirements architectural design An Architecture design method …

22 22 ProgramArchitecture Deriving program architecture …

23 23  “horizontal” and “vertical” partitioning are required Partitioning the architecture …

24 24  Define separate branches of the module hierarchy for each major function  Use control modules to coordinate communication between functions function 1 function 3 function 2 Vertical partitioning …

25 25  Design so that decision making and work are stratified  Decision making modules should reside at the top of the architecture workers decision-makers Horizontal partitioning: factoring …

26 26  Results in software that is easier to test  Leads to software that is easier to maintain  Results in propagation of fewer side effects  Results in software that is easier to extend Why partitioning architecture? …

27 27 Case study 1 …  E-Learning architecture design (layered architecture)  Divided into four layers Application layer Provide reusable domain solution of e-learning Describe the functional and non-functional requirements Core layer and have their own goal Production line layer E-learning software systems Application framework layer Component library layer

28 28 Case study 1 …  Divided into four layers Application framework layer Collection of public frameworks and domain specific framework Series of related components, components associated relations and restrictions Component library layer Foundation of the platform software architecture Reusable collection of software units which is already validate by other projects

29 29 Case study 1 … Educational Resources Development System Educational Resources Management Distance learning system Special topic learning website clusters Education info. management system E-teaching SPL E-learning SPL Education Information Management SPL Education Resources Management SPL Education Management Management SPL UI Management Access Control Management User Management Work Flow Engineer System Management Plan Design Homework Content Presentation Examination Assessment Exercise Management Educational Administration Information Management Learning resources development Learning resources management Teaching & learning environment building Education information management Cooperation management Common components Component library layer Application framework layer Software product layer Application layer

30 30 Case study 1 …  Implementation User Interface 1

31 31 Case study 2 …  Audio transcription system (pipe & filter style) Diagram flow Acoustic analysis Filter out non-speech segments Interactive segmentation and labelling Word recognition Audio signal Partitioned data Word transcription Music, noise & speech acoustic models Male/Female models telephone/non-tel models Acoustic models Lexicon language model

32 32 Case study 3 …  Projection keyboard (call & return architecture) Consists of three main physical parts: A-optical system, B-infrared light source, C-sensor/camera

33 33 Case study 3 …  Projection keyboard (call & return architecture) The structure of keystroke interpretation algorithm SegmentationLocalizations Event Classification Triangulation Event Generation Key Identification Image Finger position in sensor coordinated Key down, up, held down Finger position in keyboard coordinated


Download ppt "1 Chapter 2: Architectural Design. 2 Introduction Structure or structures of the system, which comprise software components, the externally visible properties."

Similar presentations


Ads by Google