Blogs >> Technology >>
Is Software architecture just a jargon....
Is Software architecture just a jargon....
World is not enough, the definition looks familiar to lot of people in this world. But once we go inside we really feel the fact of depth of this statement.
Now, do we find that deepness while we define Software Architecture? Similarly, in software development, Software Architecture typifies a complex design artifact. Do we really need to dive in to find the exact answer. Yes we should;
Now, do we find that deepness while we define Software Architecture? Similarly, in software development, Software Architecture typifies a complex design artifact. Do we really need to dive in to find the exact answer. Yes we should;
What I have experienced is, people used to struggle alot to get the exact meaning of software architecture though they are really good Developers, Project Managers and Business Analysts. People who are experienced understand the meaning but who don’t will struggle for sure. At this point the software architecture is important for :
- Increases prognostication.
- Supremacy over the complex structure.
- Yield equilibrium and uniformity.
- Implement best practices.
- Re-usability.
Now, if you go through all the definitions given on Internet I cannot reach any final conclusion which again gives me a road block. What we gain from our learning experience is the most important part of understanding and the clear meaning of software architecture. As an IT professional you need to envisage how, why, when and what you want the application to do considering the Business Acumen. Basically you need a silhouette or outline of the system in context to what you are willing to design.
At this point of time we have functional and non functional requirements/constraints. The software architecture defines non functional requirements/constraints. And from the environment which is surrounding our system context you need to figure out the functional behavior of the system as well. Before we find out the solution, we normally jump into the discussion about OOP concepts, start learning Programming Languages and the Database. These are the prerequisites, but after understanding the architecture. And normally we are lost behind lots of questions; that is what we call an unbalanced knowledge discriminated in a software development scenario. In accordance to my experience I find the following heuristics which define Software Architecture or you can say which govern Software Architecture:
- Follow the rule of software world, “Divide and Conquer” for instance segregating the system to be built into discrete nuggets.
- Mechanism considering the techniques to create interfaces between these nuggets.
- Managing structure and the flow of the system to be built.
- Construction of the system to be built from the irrelevant environment.
- Proper utilization of development and delivery slants, techniques and tools.
|