+ All Categories
Home > Documents > SOFTWARE ARCHITECTURE: BASIC CONCEPT

SOFTWARE ARCHITECTURE: BASIC CONCEPT

Date post: 24-Feb-2016
Category:
Upload: oakes
View: 35 times
Download: 0 times
Share this document with a friend
Description:
SOFTWARE ARCHITECTURE: BASIC CONCEPT. By Xiangzhe Li Thanh Nguyen. Configuration. Components and connectors are composed in a specific way in a given system’s architecture to accomplish that system’s objective. - PowerPoint PPT Presentation
Popular Tags:
17
SOFTWARE ARCHITECTURE: BASIC CONCEPT By Xiangzhe Li Thanh Nguyen
Transcript
Page 1: SOFTWARE ARCHITECTURE:  BASIC CONCEPT

SOFTWARE ARCHITECTURE:

BASIC CONCEPT

By Xiangzhe Li

Thanh Nguyen

Page 2: SOFTWARE ARCHITECTURE:  BASIC CONCEPT

Configuration Components and connectors are composed in a specific

way in a given system’s architecture to accomplish that system’s objective.

Definition – An architectural configuration is a set of specific associations between the components and connectors of a software system’s architecture

Page 3: SOFTWARE ARCHITECTURE:  BASIC CONCEPT

Configuration: Example

Page 4: SOFTWARE ARCHITECTURE:  BASIC CONCEPT

Architectural Style “A set of design rules that identify the kinds of

components and connectors that may be used to compose a system or subsystem, together with local or global constraints on the way the composition is done”

- Shaw & Clements, 1996

Page 5: SOFTWARE ARCHITECTURE:  BASIC CONCEPT

The Blackboard Style Components

Blackboard client programs Connector

Blackboard: shared data repository, possibly with finite capacity

Configurations Multiple clients sharing single blackboard

Underlying computational model Synchronized, shared data transactions, with control driven entirely

by blackboard state Stylistic invariants

All clients see all transactions in the same order

Page 6: SOFTWARE ARCHITECTURE:  BASIC CONCEPT

Architectural Pattern Definition- An architectural pattern is a named collection

of architectural design decisions that are applicable to a recurring design problem, parameterized to account for different software development contexts in which that problem appears

Page 7: SOFTWARE ARCHITECTURE:  BASIC CONCEPT

Patterns… Patterns help you build on the collective experience of

skilled software engineers. They capture existing, well-proven experience in software

development and help to promote good design practice Every pattern deals with a specific recurring problem in

the design or implementation of a software system Patterns can be used to construct software architectures

with specific properties…

Page 8: SOFTWARE ARCHITECTURE:  BASIC CONCEPT

Becoming a Chess Master First learn rules and physical requirements

e.g., names of pieces, legal movements, chess board geometry and orientation, etc. Then learn principles

e.g., relative value of certain pieces, strategic value of center squares, power of a threat, etc. However, to become a master of chess, one must study the games of

other masters These games contain patterns that must be understood memorized, and applied repeatedly

There are hundreds of these patterns

Page 9: SOFTWARE ARCHITECTURE:  BASIC CONCEPT

Becoming a Software Designer First learn the rules

e.g., the algorithms, data structures and languages of software Then learn the principles

e.g., structured programming, modular programming, object oriented programming, generic programming, etc.

However, to truly master software design, one must study the designs of other masters These designs contain patterns must be understood, memorized, and

applied repeatedly There are hundreds of these patterns

Page 10: SOFTWARE ARCHITECTURE:  BASIC CONCEPT

Difference between style and pattern

Style and pattern are similar and it is not always possible to identify. However, in general styles and patterns differ in at least three important ways: Scope

Style focus on development context while pattern focus on specific design problem

Abstraction Style helps to constrain the architectural design decisions one

makes about the system while patterns are parameterized architectural fragments

Relationship A single pattern could be applied to systems designed of multiple

styles. A single style may involve the use of multiple pattern

Page 11: SOFTWARE ARCHITECTURE:  BASIC CONCEPT

Models

Definition – An architectural model is an artifact that captures some or all of the design decisions that comprise a system’s architecture. Architectural modeling is the reification and documentation of those design decisions

The notations for modeling software architectures are frequently referred to as Architecture Description Languages( ADLs)

Used as the foundation for most other activities in architecture-based software development processes such as analysis, system implementation, deployment, and dynamic adaptation

Page 12: SOFTWARE ARCHITECTURE:  BASIC CONCEPT

Model: Example

Page 13: SOFTWARE ARCHITECTURE:  BASIC CONCEPT

Architectural processes Architectural design Architecture modeling and visualization Architecture driven system analysis Architecture-driven system implementation Architecture-driven system deployment, run-time

redeployment, and mobility Architecture-based design for nonfunctional properties,

including security and trust Architecture adaptation Architecture recovery

Page 14: SOFTWARE ARCHITECTURE:  BASIC CONCEPT

Architectural Recovery If architectural degradation is allowed to occur, one will be

forced to recover the system’s architecture sooner or later Definition – Architectural recovery is the process of

determining a software system’s architecture from its implementation level artifacts

-Implementation-level artifacts can be Source code Executable files Java .class files

Page 15: SOFTWARE ARCHITECTURE:  BASIC CONCEPT

Stakeholder Definition:- A person, group or organization that has interest or

concern in an organization- Stakeholders can affect or be affected by the

organization's actions, objectives and policies.

Page 16: SOFTWARE ARCHITECTURE:  BASIC CONCEPT

Stakeholders in a System’s Architecture

Architects Developers Testers Managers Customers Users Vendors

Page 17: SOFTWARE ARCHITECTURE:  BASIC CONCEPT

Sources http://www.nyu.edu/ http://www.ccs.neu.edu/ http://www.artechra.com/


Recommended