Software architecture



Software architecture is about defining and creaiting the structures of a software. These structures manages the relations between the components of the program. Sofware architecture is important because it describes how these structures control the conections of the back-end part of the software.
The architecture is the carrier of the software qualities such as perfomance, modifiability and security.
https://farm3.static.flickr.com/2511/3770016707_bb5aca3a02.jpg
flickr photo by Will Scullin https://flickr.com/photos/wscullin/3770016707 shared under a Creative Commons (BY) license

The architecture must follow the software requirements established in the software design. Actually, software architecture and software design are very related, the desgin describes what to do and what not to do while the architecture describes how to do it with the implementation of the structures.

Characteristics:
  • Multitude of stakeholders
  • Separation of concerns
  • Quality-driven
  • Recurring styles
  • Conceptual integrity
In general, software architecture is the combination between data structures and algorithms that meets all of the technical and operational requirements.

source:
https://en.wikipedia.org/wiki/Software_architecture
http://www.sei.cmu.edu/architecture/
https://msdn.microsoft.com/en-us/library/ee658098.aspx

Software architecture



Software architecture is about defining and creaiting the structures of a software. These structures manages the relations between the components of the program. Sofware architecture is important because it describes how these structures control the conections of the back-end part of the software.
The architecture is the carrier of the software qualities such as perfomance, modifiability and security.
https://farm3.static.flickr.com/2511/3770016707_bb5aca3a02.jpg
flickr photo by Will Scullin https://flickr.com/photos/wscullin/3770016707 shared under a Creative Commons (BY) license

The architecture must follow the software requirements established in the software design. Actually, software architecture and software design are very related, the desgin describes what to do and what not to do while the architecture describes how to do it with the implementation of the structures.

Characteristics:
  • Multitude of stakeholders
  • Separation of concerns
  • Quality-driven
  • Recurring styles
  • Conceptual integrity
In general, software architecture is the combination between data structures and algorithms that meets all of the technical and operational requirements.

source:
https://en.wikipedia.org/wiki/Software_architecture
http://www.sei.cmu.edu/architecture/
https://msdn.microsoft.com/en-us/library/ee658098.aspx

Software architecture



Software architecture is about defining and creaiting the structures of a software. These structures manages the relations between the components of the program. Sofware architecture is important because it describes how these structures control the conections of the back-end part of the software.
The architecture is the carrier of the software qualities such as perfomance, modifiability and security.
https://farm3.static.flickr.com/2511/3770016707_bb5aca3a02.jpg
flickr photo by Will Scullin https://flickr.com/photos/wscullin/3770016707 shared under a Creative Commons (BY) license

The architecture must follow the software requirements established in the software design. Actually, software architecture and software design are very related, the desgin describes what to do and what not to do while the architecture describes how to do it with the implementation of the structures.

Characteristics:
  • Multitude of stakeholders
  • Separation of concerns
  • Quality-driven
  • Recurring styles
  • Conceptual integrity
In general, software architecture is the combination between data structures and algorithms that meets all of the technical and operational requirements.

source:
https://en.wikipedia.org/wiki/Software_architecture
http://www.sei.cmu.edu/architecture/
https://msdn.microsoft.com/en-us/library/ee658098.aspx

Software architecture



Software architecture is about defining and creaiting the structures of a software. These structures manages the relations between the components of the program. Sofware architecture is important because it describes how these structures control the conections of the back-end part of the software.
The architecture is the carrier of the software qualities such as perfomance, modifiability and security.
https://farm3.static.flickr.com/2511/3770016707_bb5aca3a02.jpg
flickr photo by Will Scullin https://flickr.com/photos/wscullin/3770016707 shared under a Creative Commons (BY) license

The architecture must follow the software requirements established in the software design. Actually, software architecture and software design are very related, the desgin describes what to do and what not to do while the architecture describes how to do it with the implementation of the structures.

Characteristics:
  • Multitude of stakeholders
  • Separation of concerns
  • Quality-driven
  • Recurring styles
  • Conceptual integrity
In general, software architecture is the combination between data structures and algorithms that meets all of the technical and operational requirements.

source:
https://en.wikipedia.org/wiki/Software_architecture
http://www.sei.cmu.edu/architecture/
https://msdn.microsoft.com/en-us/library/ee658098.aspx

What is software architecture?

The software architecture of a program or computing system is a depiction of the system that aids in the understanding of how the system will behave. The architecture is the primary carrier of system qualities such as performance, modifiability, and security, none of which can be achieved without a unifying architectural vision.

Is 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. It involves a series of decisions based on a wide range of factors, and each of these decisions can have considerable impact on the quality, performance, maintainability, and overall success of the application.

software-architecture

The Principles of Architecture Design

Your design will generally need to evolve during the implementation stages of the application as you learn more, and as you test the design against real world requirements. Create your architecture with this evolution in mind so that it will be able to adapt to requirements that are not fully known at the start of the design process.

Consider the following questions as you create an architectural design:

  • What are the foundational parts of the architecture that represent the greatest risk if you get them wrong?
  • What are the parts of the architecture that are most likely to change, or whose design you can delay until later with little impact?
  • What are your key assumptions, and how will you test them?
  • What conditions may require you to refactor the design?

Key Architecture Principles

  • Build to change instead of building to last. Consider how the application may need to change over time to address new requirements and challenges, and build in the flexibility to support this.
  • Model to analyze and reduce risk. Use design tools, modeling systems such as Unified Modeling Language (UML),
    Continue reading "What is software architecture?"

Understanding Software Architecture

Software Architecture is the representation of the program that helps to understand how the software will behave. It serves as a guide for the design and the implementation teams. And is the first line of the system’s quality, such as performance, modifiability, and security. None of these could be done without an architectural vision.

61391451

By building effective architecture, you can identify design risks and mitigate them early in the development process. It also gives an approach of the final design.

Like any other complex structure, software should be done on a solid foundation. Any failure in the future could result a risk for the application.

The most important part of it, is to always consider three things: The User, The System & The Business.

Finding a valance between the desire and specifications of each will result on a good architecture, and this will lead on a great application.

But unfortunately there are major problems that are hard to decode. That’s why we always need to think about this major concerns:diossimpson20120507053705

  • How will the users be using the application?
  • How will the application be deployed into production and managed?
  • What are the quality attribute requirements for the application, such as security, performance, concurrency, internationalization, and configuration?
  • How can the application be designed to be flexible and maintainable over time?
  • What are the architectural trends that might impact your application now or after it has been deployed?

The goal of architecture is to identify the things that affect the structure and functionality of the application. Good architecture reduces the business risks associated with building a technical solution.f63aea5b2c0ca768e0cb9d4c0af1a1c40f546b808664bd13da42b6d5899af4b8

The architecture is important in everything, and when talking about software, it’s the base for a good one; you don’t want the users to be mad at you.

 

Source:

http://www.sei.cmu.

Continue reading "Understanding Software Architecture"