I'm sure you can find many learned articles on this topic, with varying opinions on just what is ideal and how it can be implemented.
However, I fear the question has no single answer, or there would not be the dozens and dozens of programming languages available today. Each one arose because someone felt that the existing products were lacking in some way, and that a new language (a total make-over) was needed.
There is such a variety of types of problems and data requirements that everything from assembly language to exotic beasts like APL and Prolog and LISP have been tried and found wanting.
So, I suggest reading a variety of essays, and using the ideas found therein to support whatever ideas you have on the subject. There will be many points of agreement as to what makes a good architecture, so maybe you should stick to those at first.
Software development is iterative task which aims to provide quality solution to end users according to their needs. This job is tedious and requires continuous brainstorming and adopting best practices of software engineering. The foundation for any software system is its architecture; there can be any number of architectures possible for a solution at a given time.
If you (as a software architect) have to deal with this, how will you ensure that the chosen architecture for the software solution is ideal one and will not create problems in later stages and will ensure a smooth development process and quality end product?
1 answer