The process of solving problems and planning for a software solution is known as software design. In this process, first the purpose and specifications are determined, the software developers plan to develop the software or employ designers to develop a plan of the solution. The architectural view as well as the issue of algorithm implementation and low level component is also included. The Software Requirement Analysis (SRA) is used in software engineering as a step of a software development process.
The user experience design yielding a story board, in order to determine the specifications are involved if the software is ‘semi-automated’. If the software is completely automated, the software design may not be complicated at all, oftentimes as simple as a text or a flow chart. The possibility of using a semi-standard method like Unified Modeling Language and the Fundamental Modeling Concepts exist as well. The product of the design usually involves some documentation. Depending upon the technology used in the design, the design may be platform-specific or platform-independent.
The concepts of the design provide the designer the idea of choosing better and more refined methods to be tested. In today’s world certain fundamental concepts of software designing have evolved. They are as follows.
There are certain considerations when it comes to designing a piece of software like compatibility, maintenance, and fault-tolerance. Some other considerations that need to be given respect are modularity, packing, reusability, security, robustness and usability.
Liked it! Share this Tutorial