The architecture alone cannot decide the quality of a software system!
https://st.depositphotos.com/1004370/4455/i/950/depositphotos_44550483-stock-photo-software-development-life-cycle.jpg

The architecture alone cannot decide the quality of a software system!

Keep in mind the main objective of the system you are architecting/developing, and you can skew the system design to satisfy this requirement for a more extended period.

For example,?

If your system requires high performance, then you need to pay attention to how elements behave over time, how they use resources, and the frequency and volume of inter-element communication.

No alt text provided for this image


If modifiability is essential, you must carefully consider how elements are assigned responsibilities so that changes only affect a small number of those elements. (Ideally, each change would affect only one element.)

No alt text provided for this image

If your system must be highly secure, then you must manage and protect inter-element communication and control which elements are allowed to access which information; specialized features (such as an authorization mechanism) may also need to be introduced into the architecture.

No alt text provided for this image

If you believe that scalability will be important to the success of your application, you need to localize the use of resources to facilitate the introduction of?higher-capacity replacements, and you should avoid hardcoding resource limits.

No alt text provided for this image

If your projects need the ability to deliver incremental subsets of the system, you must carefully manage inter-component usage.

It is necessary to restrict inter-element coupling if you wish to reuse elements from your system in other systems so that when you extract an element, it does not come out with too many attachments to its current environment.

No alt text provided for this image

The software architecture plays an essential role in achieving the desired quality of a system but is not enough to guarantee it.?

Poor decisions in subsequent stages of development can erase the advantages of an excellent architectural design.?

It's often joked that the architecture brings potential success, and implementation undermines it.?

System quality is determined by choices made at every life cycle step, from architectural design to coding. Therefore, it isn't solely defined by an architectural blueprint.

Architecture is necessary, but it is not sufficient to ensure quality. Design, implementation, and deployment must be considered to achieve quality attributes. A quality attribute is not entirely dependent on design, nor is it entirely dependent on implementation or deployment. To achieve satisfactory results, both the big picture (architecture) and the details (implementation) need to be correct.

要查看或添加评论,请登录

Venky Karukuri的更多文章

  • Weak Random Numbers

    Weak Random Numbers

    Intro In cryptography, random numbers are often used to generate session identifiers and cryptographic keys. One of the…

  • Designing and Developing Applications to Handle Errors

    Designing and Developing Applications to Handle Errors

    Overview An error handling failure occurs when a program or system fails to handle errors properly. This can lead to a…

  • Weak Passwords

    Weak Passwords

    There is a constant trade-off between passwords' goodness and ease of use. Any software system that uses passwords…

  • Improper Use of PKI

    Improper Use of PKI

    Introduction Public-key cryptography is the field of cryptographic systems that use pairs of related keys. Each key…

    1 条评论
  • The Dangerous World of Arithmetic Overflows: How to Protect Your Code

    The Dangerous World of Arithmetic Overflows: How to Protect Your Code

    Have you ever experienced a program crashing unexpectedly or producing incorrect results? If so, you may have…

  • My Experience at the Launch Event of VANIX Customized FPGA Boards in IIT Ropar

    My Experience at the Launch Event of VANIX Customized FPGA Boards in IIT Ropar

    The excitement was palpable as I walked into the auditorium of IIT Ropar, Punjab for the launch event of Vanix…

  • Singleton Design Pattern - All that you wanted to know about

    Singleton Design Pattern - All that you wanted to know about

    Have you ever found yourself in a situation where you need to ensure that only one instance of a particular object is…

  • Security - Network Traffic Protection

    Security - Network Traffic Protection

    One of the most commonly attacked elements is network traffic, which can be caused by ineffective encryption, using…

  • Algorithms - A Perquisite

    Algorithms - A Perquisite

    Why should you learn? Engineering graduates Sandeep and Sravan attended the campus interviews. Sravan cracked an…

  • Eliminate Distractions, A Magic Unfolds

    Eliminate Distractions, A Magic Unfolds

    Who doesn't want to be focused? To achieve something significant, one has to be focused. In today’s instant…

    1 条评论

社区洞察

其他会员也浏览了