Chapter 1: What is Software Architecture?

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

define the following key trend in the architectural landscape: Future Trends

Understanding future trends that might affect the applications design post-deployment

Define the following key Software Architecture Principal: Identifying Key Engineering Decisions

Understanding key engineering decisions and the areas where mistakes are most often made. Invest in getting these key decisions right the first time, so the design is more flexible and less likely to be broken by changes

The changes in the Architectural Landscape are driven by...

User demand, and the business demand for faster results, better support for varying work-styles and work-flows, and improved adaptability of software design

in hardware and software technology an architect must consider...

-The overall effect of design decisions. - The inherent trade-offs between quality attributes (such as performance and security) -The trade-offs required to address user, system and business requirements

What are the key Software Architecture Principles

1. Build to change instead of building to last 2. Model to analyze and reduce risk 3. Use models and visualizations as a communication and collaboration tool 4. Identifying key engineering decisions

Risks exposed by poor architecture include..

1. Software that is unstable 2. Software that is unable to support existing or future business requirements 3. Software that is difficult to deploy or Manage in a production environment

Systems should be designed with considerations for...

1. The User. 2. The System, or IT infrastructure. 3. The business goals. - Key scenarios, Areas of Satisfaction and Dissatisfaction, and important Quality Attributes should be outlined for each of these areas. -Tradeoffs are likely.

What are some key questions to consider when creating an architectural design

1. What are the foundational parts of the architecture that represent the greatest risk if you get them wrong 2. What are the parts of the architecture that are most likely to change / whose design can be delayed until later w/ little impact 3. What are your key assumptions and how will you test them 4. What conditions may require a refactoring of the design

What are some questions that should be considered when testing your architecture

1. What assumptions have I made in this architecture 2. What explicit or implied requirements is this structure meeting 3. What are the key risks w/ this architectural approach 4. What counter measures are in place to mitigate key risks 5. In what way is this architecture an improvement over the baseline or last candidate architecture

define the following key trend in the architectural landscape - User Empowerment

A flexible, and configurable design that is focused on the user experience. Designed with appropriate levels of user personalization and options in mind. Allowing the user to choose how they interact with your application, rather than dictating.

The Architecture of an application should

A. Expose the structure of the system but hide the implementation details.. B. Realize all of the use cases and scenarios.. C. Try to address the requirements of various stakeholders.. D. Handle both the functional and quality requirements

List a few high-level Software Architecture concerns

A. How will the users be using the application B. How will the application be deployed into production and managed C. what are the QA requirements for the application D. How can the application be designed to be flexible and maintainable over time E. What are the architectural trends that might impact your application now? After it is deployed?

Define the following key Software Architecture Principal: Building to change instead of Building to last

Considering how the application may need to change over time to address new requirements and challenges. Building in the flexibility to support this

Software Architecture vs. Software Design

Software Architecture focuses on how the major elements and componets within an application are used by, or interact with, other major elements and componets within the application. Software Design focuses on the selection of data structures, algorithms and implementation details of individual componenets -These two areas often overlap

define the following key trend in the architectural landscape: Flexible Design

Taking advantage of loose coupling to allow reuse and improve maintainability. Pluggable designs allow post-deployment extensibility. Taking advantage of service oriented architecture to provide compatibility with other systems.

define the following key trend in the architectural landscape: Market Maturity

Taking advantage of market maturity by leveraging existing software platform and technology options. Using high-level development where it makes sense so you can focus on your unique details. Using patterns that provide rich sources of proven solutions for common problems

Software Application Architecture

The process of defining a structured solution that meets all of the technical and operational requirements, while optimizing common Quality Attributes such as performance, security, and manageability

Define the following key Software Architecture Principal: Model to Analyze and Reduce Risk

Using design tools, modeling systems such as UML and visualizations where appropriate to help capture requirements and architectural design decisions - Do not formalize the model to the point where it inhibits the designs flexibility

Define the following key Software Architecture Principal: Using models and visualizations as a communications and collaboration tool.

Using models, views and other visualizations of the architecture to communicate and share your design with all of the stakeholders - Enables rapid communication of changes to the design

The Goal of Application Architecture is...

to Identify the requirements that affect the structure of the application. -Good architecture reduces the business risks associated with building a technical solution. -Good design is sufficiently flexible to be able to handle the natural drift that will occur over time.


Ensembles d'études connexes

Mood Disorders Online Content & Practice 100%

View Set

Lupus (systemic lupus erythematosus (SLE)) (LPN)

View Set

Citing Sources Using APA Style (7th ed.) ASSESSMENT

View Set

Amazon Leadership Principle Question

View Set

AP Euro Ch.13: Christian Humanism

View Set

Plate Tectonics Vocabulary Terms

View Set

Ch.2 Nursing Leadership and Management, Nursing Leadership and Management (Chapter 1)

View Set

Statistics: Mean, Median, and Mode

View Set

PUBL 211 Test 1 Revision Terms & Concepts

View Set