SCEA_Common Architectures and Protocols

1.The role of an architect?

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.SCEA_Common Architectures and Protocols_第1张图片

Picture 1:Balancing architecture, design, and reality.

 

2. Architectural Design and Principle?

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.

 

SCEA_Common Architectures and Protocols_第2张图片

 

Picture 2: Basic 3-tier architecture.

 

3. Capabilities and System Quality.

System quality

Definition

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.

 

你可能感兴趣的:(System,performance,hierarchy,Components,protocols,Scalability)