SCEA_Common Architectures and Protocols
2008-12-26 15:51
323 查看
1.The role of an architect?[/b]
The architect is responsible for creating the blueprint for the system and must consider not only the functional requirement of the system but also the nonfunctional requirement as well. Is the system capable, scalable, secure, extensible? The architect must consider these issues. Architects are responsible for interacting with customers, beta testers, and end users to make sure that user requirements are satisfied.
Picture 1:Balancing architecture, design, and reality.
2. Architectural Design and Principle?[/b]
The software architecture is the high-level structure of a software system. At this level, all implementation details are hidden. The key difference between architecture and design is in the level of detail.
Architecture Terminology:
Abstraction is a term for something that is factored out of a design so
that it can be used repeatedly.
Boundaries are the area where two components interact.
Brittleness is the degree to which small changes will break large portions of the system.
Capabilities are the nonfunctional, observable system qualities, including scalability, manageability, performance, availability, reliability, and security, that are defined in terms of context.
Friction is how much interaction occurs between two components.Friction is measured by how a change in one component affects the other.
Layering is a hierarchy of separation. Surface area is a list of methods that are exposed to the
client.
Picture 2: Basic 3-tier architecture.
3. Capabilities and System Quality.[/b]
The architect is responsible for creating the blueprint for the system and must consider not only the functional requirement of the system but also the nonfunctional requirement as well. Is the system capable, scalable, secure, extensible? The architect must consider these issues. Architects are responsible for interacting with customers, beta testers, and end users to make sure that user requirements are satisfied.
Picture 1:Balancing architecture, design, and reality.
2. Architectural Design and Principle?[/b]
The software architecture is the high-level structure of a software system. At this level, all implementation details are hidden. The key difference between architecture and design is in the level of detail.
Architecture Terminology:
Abstraction is a term for something that is factored out of a design so
that it can be used repeatedly.
Boundaries are the area where two components interact.
Brittleness is the degree to which small changes will break large portions of the system.
Capabilities are the nonfunctional, observable system qualities, including scalability, manageability, performance, availability, reliability, and security, that are defined in terms of context.
Friction is how much interaction occurs between two components.Friction is measured by how a change in one component affects the other.
Layering is a hierarchy of separation. Surface area is a list of methods that are exposed to the
client.
Picture 2: Basic 3-tier architecture.
3. Capabilities and System Quality.[/b]
System quality[/b] | Definition[/b] |
Availability | The degree to which a system is accessible. The term 24*7(*multiply) describes total availability. |
Reliability | The ability to ensure the integrity and consistency of an application and its transactions. |
Manageability | The ability to manage the system resources to ensure the availability and performance of a system. |
Flexibility | The ability to address the architectural and hardware configuration changes without a great deal of impact to the underlying system. |
Performance | The ability to carry out functionality in a timeframe that meets specified goals. |
Capacity | The ability to run multiple tasks per unit of time. |
Scalability | The ability to support the required availability and performance as transactional load increases. |
Extensibility | The ability to extend functionality. |
Validity | The ability to predict and confirm results based on a specified input or users gesture. |
Reusability | The ability to use a component in more than one context without changing its internals. |
Security | The ability to ensure that information is not accessed and modified unless done so in accordance with the enterprise policy. |
相关文章推荐
- Scalable Web Architectures: Common Patterns and Approaches
- SCEA之路--1. Common Architectures(1)
- Protocols and Architectures for Wireless Sensor Networks
- Unlicensed Mobile Access Technology: Protocols, Architectures, Security, Standards and Applications
- Wireless Mesh Networks: Architectures and Protocols
- Wireless Mesh Networking: Architectures, Protocols and Standards
- Common Linux log files name and usage--reference
- 布局文件提示错误“No orientation specified, and the default is horizontal. This is a common so...”
- Common and private DC
- git: No refs in common and none specified; doing nothing
- Intel® 64 and IA-32 Architectures Software Developer's Manuals
- android ndk CPUs and Architectures
- Caffe编译的时候出现warning: The 'compute_20' and 'sm_20' architectures are deprecated怎么办
- Host aggregates and its common usage
- [LeetCode OJ]Count and Say && Valid Palindrome && Longest Common Prefix
- LESSON 3 PORTS AND PROTOCOLS part VI
- Log4J and Apache common logging
- struts and hibernate can use a common beans
- 解决nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated问题
- Range Minimum Query and Lowest Common Ancestor