Blogs

Thursday, 29 September 2016 14:48

A Software Is Not Just About The Software Featured

Written by
Rate this item
(0 votes)

 

 

Most of us view a software just on a surface level. It may just be something that you install so you can perform an activity, but in the realms of software development, a software undergoes several stages prior to implementation, development or use. A software can just be an app running in your mobile device that does a specific purpose like navigation, social media or even games. But did it come into mind that that simple software undergoes extensive planning, business and systems analysis, coding and testing? Did it come into mind that probably that software is linked or interfaced to another software, database or infrastructure component? Probably not.

Software architecture (or software engineering) is designing a software or an application by planning what should go with it, how it could be linked to somewhere, what infrastructure components it requires and designs an application or software that is capable of future improvements or linkages to extend software shelflife or extend the actual software life. Software development requires extensive resources so that we enjoy the things that we have now, specially in the aspects of planning, analysis, design, development and testing. It is not just one hit and miss thing, for even the smallest of applications may take time to be rolled-out to what we can use. If such is a one-time thing, then we cannot enjoy it for quality and security can be questionable. There is also such thing called as software maintenance, where small improvements like logical and program bugs can be fixed while the software is being used. This is so as to improve the quality and runtime of the software itself and the interfaces like databases and linkages to other systems  can be fixed for small issues like security and outputs.

In the facet of both open source and commercial software, the same concept applies. Each software released via these markets both undergo with such processes. However, in commercial software, all of the processes are done by the software company’s internal software development team, while in open source software, software enthusiasts do it independenly as long as the concept of the software is directly linked to one another. To cite an example, the Linux Operating System can be composed of several software that are developed by thousands of Linux enthusiasts around the world, but we users, see it as Linux the operating system that has capabilities of doing browsing, office processing or even audio and video. For the Microsoft operating systems, it is composed of several programs or applications (also called as DLLs, or dynamic link libraries, that work hand in hand) so we can enjoy Microsoft Windows as a whole. Same goes for even the Microsoft Office suites.

The discipline of software architecture or software engineering is somewhat similar to building a house. Software architects build the foundation of the application, like what Civil Engineers do. And software architects put on the provisions for current and future use, just like what Civil Architects do. Each software relies on a robust and strong foundation that should be built with future plans in mind, not just for what is in store. If a building is constructed with the provision of additional floors in the future, then the building foundation should be prepared for it, with or without the expansion plans.

Software architecture or software engineering is making fundamental structural choices which are very expensive to change once implemented. Software architecture or enginerring choices include specific options from possibilities to what lies ahead in the design of the software.

 

This is the same concept applied to even small applications like mobile apps. What would be the future direction of these applications? Are they going to be interfaced with your social media accounts later on? Or the owners of the software are just contented of leaving the software it is and let it die a premature death causing expenses on the development cost? Or is the application supposed to be improved later on with the provisions of multiple online gamers that can play with each other or together?

So the next time we see a software, imagine the costs and activities that went through with its inception and development. A software is not just a software, a software is a piece of the puzzle that undergoes extensive planning, architecture so that it can be improved in the future and we users, could enjoy it more. The more we enjoy it, the longer we use it, and the longer we use it, the more justifiable the software’s life it is for us users.

 

 

Image Source: www.Freepik.com

http://www.freepik.com/free-photo/laptop-with-different-applications-installed_902746.htm#term=software&page=1&position=0 

 

 

Read 1149 times Last modified on Thursday, 20 October 2016 17:08

Leave a comment

Make sure you enter all the required information, indicated by an asterisk (*). HTML code is not allowed.

Message Us Now

Loading, please wait..