Software Architecture Design

Source: Internet
Author: User

A software architecture is a structured element with a certain form, that is, a set of components, including processing components, data components, and connection components. Architecture issues include the overall organization and global control, communication protocols, synchronization, and data access, assigning specific functions to design elements, and the organization, scale, and performance of design elements, select among various design schemes.

I. Software Architecture Modeling:

1. Structure Model: The structure is characterized by the components, connectors, and other concepts of the architecture.

2. framework model: more focused on the whole than the Structure Model

3. Dynamic Model: supplement the structure model and framework model, and study the behavior properties of the system's "large particles"

4. Process Model: Study the steps and processes of constructing a system

5. Functional Model: This model assumes that the architecture is composed of a group of functional components in layers, and the lower layer provides services to the upper layer.

[Structural and dynamic models are the most common among the five models]

 

"4 + 1" view model:

Logic view [functional requirements]

Development View [software management]

Process view [performance scalability and throughput]

Physical view [system topology, installation and communication]

Scenario

 

Ii. Software Architecture Style

The general architecture style is classified as follows:

1. Data Stream style: batch processing sequence, pipeline/Filter

2. Call/return style: MasterProgram/Subroutine, object-oriented style, hierarchical structure

3. Independent Component style: Process Communication and Event System

4. Virtual Machine style: Interpreter, Rule-Based System

5. Warehouse style: Database System, hypertext system, and Blackboard System

 

Client/Server Style

Fat client under two-tier C/S and three-tier C/S [presentation layer, function layer, data layer]

The difference between B/S and C/S: B/S is almost zero, and it is easy to automatically upgrade at runtime. However, B/S lacks support for dynamic pages, there is no effective database processing function integrated, and the scalability is poor, and the security is difficult to control. application systems using the B/S architecture are much slower than the C/S in response to data queries, in addition, the data interaction is not strong. [B/S is actually one of the three layers of C/S, and its functional layer is placed in Web Services]

To address the emergence of rich Internet in B/S, the main Ria technology platforms are flash/flex, bindows, Java, Ajax, Laszlo, XUL, and aveon.

 

Orthogonal architecture: Orthogonal software architecture consists of components of the Organization layer and clues. [Hierarchical: the clues at the upper layer to call the lower layer. If the clues are independent of each other, that is, different components do not call each other, then the structure is completely orthogonal, the basic idea is to vertically divide the structure of an application system into several clues (subsystems) based on the orthogonal correlation of functions. The clues are divided into several levels, each clue consists of multiple components with different levels of functions and different abstract levels. The system has a public driver layer (the highest level) and a public data structure (the lowest layer )]

 

Hierarchical message bus-based architecture: based on hierarchical messaging bus, it supports component distribution and concurrency, communication between components through the message bus (similar to the bus structure in hardware, it is only connected to each component or composite component (subsystem [internal is also the overall message route architecture ]), each component is mounted to the Message bus and registers the Message Type of interest to the bus. The component sends a message as needed, the message route is responsible for distributing messages to all components that are interested in this message in the system]

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.