Software Architect and Software Architecture

What is Software Architecture?

Software Architecture is the structure of a software system, it's fundamental properties and the principles of its design and evolution.
  • Structure: It is about identifying the architecturally significant pieces of a system and defining the relationship between them.
  • Properties: It is about the functional properties of a system and its quality properties like performance, scalability, security, etc.
  • Principles: It is about understanding the principles behind its design. An understanding that allows the system to evolve in a consistent and logical way without introducing unnecessary complexity.

What is the importance of Software Architecture?

The need for Software Architecture is best summarized in the following statement:
"Software architecture represents a system's earliest set of design decisions. These early decisions are the most difficult to get correct and the hardest to change later in the development process, and they have the most far-reaching effects."
  • Early design decisions: Software architecture manifests the earliest design decisions about a system, that far outweighs any other decisions made later with respect to the system's remaining development, its deployment, and its maintenance life.
  • Transferable abstraction of a system: Software architecture constitutes a relatively small logical model of a system that is transferable across different software systems. It promotes re-use by applying it to other systems that are similar in functional and quality attributes.
  • Communication among stakeholders: Software architecture represents a common abstraction of a system that system's stakeholders can use as a basis for mutual understanding, negotiation, consensus, and communication.

What does a Software Architect need to learn?

A Software Architect creates an Architecture and plays a leading role in the realization of the architecture into a physical product or system. A Software Architect needs to have a good understanding of
  • System Viewpoint - The ability to see a software system as a whole
    • Identifying architecturally significant elements of a system.
    • Design principles for building and extending systems.
  • Technology - Tools, platforms and techniques available to reliably build functionality and meet system quality requirements.
  • Processes - Methods to construct, deploy, operate and maintain systems that are available 24X7 with very high uptimes.
  • System Requirements - Techniques to achieve system requirements such as:
    • Concurrency
    • Scalability
    • Performance
    • Availability
    • Reliability
    • Security
    • Interoperability

Comments

  1. Replies
    1. Big data is a term that describes the large volume of data – both structured and unstructured – that inundates a business on a day-to-day basis. big data projects for students But it’s not the amount of data that’s important. Project Center in Chennai It’s what organizations do with the data that matters. Big data can be analyzed for insights that lead to better decisions and strategic business moves.

      Spring Framework has already made serious inroads as an integrated technology stack for building user-facing applications. Corporate TRaining Spring Framework the authors explore the idea of using Java in Big Data platforms.
      Specifically, Spring Framework provides various tasks are geared around preparing data for further analysis and visualization. Spring Training in Chennai


      The Angular Training covers a wide range of topics including Components, Angular Directives, Angular Services, Pipes, security fundamentals, Routing, and Angular programmability. The new Angular TRaining will lay the foundation you need to specialise in Single Page Application developer. Angular Training

      Delete
  2. Thanks for sharing is so amazing and helpful to us.
    Buy Hydrocodone online

    ReplyDelete

  3. You write this post very carefully I think, which is easily understandable to me. Not only this, but another post is also good. As a newbie, this info is really helpful for me. Thanks to you.
    Tally ERP 9 Training
    tally classes
    Tally Training institute in Chennai
    Tally course in Chennai

    ReplyDelete
  4. Thanks for sharing your innovative ideas to our vision. I have read your blog and I gathered some new information through your blog. Your blog is really very informative and unique. Keep posting like this. Awaiting for your further update.If you are looking for any Data science related information, please visit our website Data science Certification Course in bangalore

    ReplyDelete

  5. Thanks for your extraordinary blog. Your idea for this was so brilliant. This would provide people with an excellent tally resource from someone who has experienced such issues. You would be coming at the subject from a different angle and people would appreciate your honesty and frankness. Good luck for your next blog!
    Tally ERP 9 Training
    tally classes
    Tally Training institute in Chennai
    Tally course in Chennai
    seo training classes
    seo training course
    seo training institute in chennai
    seo training institutes
    seo courses in chennai
    seo institutes in chennai
    seo classes in chennai
    seo training center in chennai

    ReplyDelete
  6. Good Blog, well descrided, Thanks for sharing this information.
    Big Data and Hadoop Online Training

    ReplyDelete

Post a comment

Popular posts from this blog

Apache Hadoop Ecosystem