Building software nowadays is far more difficult
than it can be done several decadesago. At that time, software
engineers focused on how to manipulate the computer towork and then
solve problems correctly. The organization of data
andimplementation of algorithm were the crucial process of software
designing then.However, more and more tasks in low level, such as
memory management andnetwork communication,have been automatized or
at least can be reused with littleeffort and cost.Programmers and
designers,with the help of high level programminglanguages and
wieldy development tools,can pay more attention to problems,
ratherthan bury themselves into the machine code manuals.
However,the side effect ofthese utilities is that more complicated
problems are given according to therequirements from
military,enterprise and so on,in which the complexity growsrapidly
day by day. We believe that software architecture is a key to deal
with it.
目錄:
1 Introduction to Software Architecture
1.1A Brief History of Software Development
1.1.1 The Evolution of-Programming Language——-''Abstract
Level
1.1.2 The Evolution of Software Development- Concerns
1.1.3 The Origin and Growth of Software Architecture
1.2 Introduction to Software Architecture
1.2.1 Basic Terminologjes
1.2.2 Understanding IEEE 1471-2000
1.2.3 Views Used in Software Architecture
1.2.4 Why We Need Software Architecture
1.2.5 Where Is Software Architecture in Software Life Cycle
1.3 Summary
References
2 Architectural Styles and Patterns
2.1 Fundamentals of Architectural Styles and Patterns
2.2 Pipes Filters
2.2.1 Style Description
2.2.2 Study Case
2.3 Object-oriented
2.3.1 Style Description
2.3.2 Study Case
2.4 Event-driven
2.4.1 Style Description
2.4.2 Study Case
2.5 Hierarchical Layer
2.5.1 Style Description
2.5.2 Study Case
2.6 Data Sharing
2.6.1 Style Description
2.6.2 Study Case
2.7 Virtual Machine
2.7.1 Style Description
2.7.2 Study Case
2.8 Feedback Loop
2.8.1 Style Description
2.8.2 Study Case
2.9 Comparison among Styles
2.10 Integration of Heterogeneous Styles
2.11 Summary
References
3 Application and Analysis of Architectural Styles
3.1 Introduction to SMCSP
3.1.1 Program Background
3.1.2 Technical Routes
3.1.3 Function Design
3.2 System Realization
3.2.1 The Pattern Choice
3.2.2 Interaction Mechanism
3.2.3Realization of Mobile Collaboration
3.2.4 Knowledge-based Design
3.3 Summary
References
4 Software Architecture Description
4.1 Formal Description of Software Architecture
4.1.1 Problems in Informal Description
4.1.2 Why Are Formal Methods Necessary
4.2 Architectural Description Language
4.2.1 Introduction to ADL
4.2.2 Comparing among Typical ADLs
4.2.3 Describing Architectural Behaviors
4.3 Study Case: WRIGHT System
4.3.1 Description of Component and Connector
4.3.2 Description of Configuration
4.3.3 Description of Style
4.3.CSP-Semantic Basis of Formal Behavior Description
4.4FEAL:An Infrastructure to Construct ADLs
4.4.1 Design Purpose
4.4.2 F EC
4.4.3 FEAL Structure
4.4.4 FEAL Mapper
4.4.5 Examples of FEAL Application
4.5 Summary
……
5 Design Strategies in Architecture Level
6 Software Architecture IDE
7 Evaluating Software Architecture
8 Flexible Software Architecture
9 A Vision on Software Architecture
Index