The software requirements of the user are materialized and transformed into implementation by the software design process. The best possible solution for the user requirements is developed by the software design. In the process of materializing the requirements, the optimal implementation design is identified by drafting a plan.
Software design has different variants. Some of the variants are as follows -
The problems of the software are categorized into different elements of solution. The design of the solution is considered as the structured design. The way and the process of solving the problem is made easy to understand by structured design. Structured design enables to simplify the problem by the designer.
According to the principle of ‘divide and conquer’, a particular problem is divided into well-structured small problems and each of the small problems is solved.
By using solution modules, the divided problems are solved. The modules are designed in a well organized manner an aims in achieving the best solution for the problem.
The modules are enabled to interact among themselves. Some of the specific rules are followed by the modules for their interaction. They are -
Cohesion – All the elements of similar functions are grouped.
Coupling – Interaction among the modules.
A structured design that possesses high cohesion and low coupling is considered as a good structured design.
Functions constitute the sub-systems of a system and which are meant for executing the system tasks. System constitutes the top view for all the functions.
Some of the properties of structured design are followed by function oriented design. Even the Function Oriented Design follows the principle of divide and conquer.
The information and the operation of the transactions are hidden by splitting the system into smaller functions by the function oriented design mechanism. The global information is shared by these functional modules and the information of the modules is shared among themselves.
The state of the program is changed by the function, when that particular function is called by the program. Other modules hesitate the change. Function oriented design best suites where the state of program is not considered and where input is considered by the functions.
The main focus of object oriented design is on entities. The strategies developed by this object oriented design also focus on the characteristics of entities. There are different concepts used in Object Oriented Design. They are -
Objects – Objects are the entities of the system. Examples of objects are company, person, customer etc. Each of the entity has its own attributes which are performed by adopting some methods.
Different sources of methods or actions, the functions are described and variables constitute the stored attributes of the solution design.
The steps involved in the design process of object oriented design are as follows -
The following are considered as the approaches for software design.
Each system is divided into several sub-systems and components. Each of the sub-systems is further divided into set of sub-systems and components. This process of division facilitates in forming of a system hierarchy structure.
The complete software system is considered as a single entity and in relation to the characteristics; the system is split into sub-system and component. The same is done with each of the sub-systems. This process is continued until the lowest level of the system is reached.
The design is started initially by defining the system as a whole and then keeps on adding definitions of the sub-systems and components. When all the definitions are combined together, it turns out to be a complete system.
For the solutions of the software need be developed from the ground level, top-down design best suits the purpose.
The design starts with the lowest level components and sub-systems. Y using these components, the next immediate higher level components and sub-systems are created or composed. The process is continued till all the components and sub-systems are composed into a single component and which is considered as the complete system. The amount of abstraction grows high as the design moves to more high levels.
By using the basic information existing system, when a new system needs to be created, the bottom-up strategy best suits the purpose.
It is to be considered that neither of the strategies is practiced individually. They are always combined together and practiced.
Software Engineering Related Interview Questions
|Java Script Interview Questions||ASP.NET Interview Questions|
|MySQL Interview Questions||Manual Testing Interview Questions|
|Artificial Intelligence Interview Questions||Java Interview Questions|
|Software testing Interview Questions||Test Cases Interview Questions|
|Software Development Lifecycle (SDLC) Interview Questions||Software Process Engineer Interview Questions|
|Software Architecture and Design Interview Questions|
Software Engineering Tutorial
All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd
Wisdomjobs.com is one of the best job search sites in India.