SE Overview Q & A #4


Question:Explain the design principle of software Engineering.

Answer: - A particular area provided by design principle for the judgments of particular aspects of design. We have three types of principles which are explained below:

  1. Division of problems - The base of these principles is to divide a big problem in to little parts. Every little part developed by different programs individually. Every little part can be individually altered.

    • This helps the system to become more sufficient.

    • This principle reduce the size of the problem and make simple and easy to service or maintenance.

    • Leads to hierarchy in the design.

    For the solution of big problem it is necessary to became proper coordination between these small pieces of problems.

  2. Abstraction - To get the information in concerned to software parts from the outside is called the abstraction.

  3. Top down and bottom up design planning - According to this principle a big problem divided in two little parts which is called modules and solved these modules one by one individually so that no one module can effected each other. We have two types of approaches. The top down approach goes from high level to the lower level. On the other side the bottom up approach goes the opposite that mean it goes lower level to top level.

    • Top down design planning - When planning of system starts from that target which system wants to get then that approach is called top down design planning.When we see the desired task is not easy for achieving then this task divided in parts and these parts is called sub task. These sub tasks have some quality which is:

      • Size of problem will be small

      • Reduce the level of difficulty

      • Easy to achieve

      If a task is difficult then we may divide it low difficulty and easily getable subtasks. Thus the process of division of various tasks in to sub tasks is to make simple and easy which can be used or solved easily. Many types of module based on this approach but this approach is useful only those that case where the target is mentioned clearly.


      • This method of program development is same to human approach of problem solving .In this approach first we decide the goal and after that we takes the steps to achieve the targets.

      • The programmer became aware about the goal at every level.

      • It reduces the level of confusion.

      • It gives a proper process with the help of this problem solved easily and quickly.

    • Bottom up design planning - To get the big goal for the system, this approach is used. It started from the lower level and at the end it reached the top level. In this approach individual modules are combined with each other so that a big module can be built which is the target of this system. A good idea is must require for the success of this approach. Until we have not good idea about the operation need at the higher level then we cannot decide what operation support at this time.